Home | History | Annotate | Download | only in fxge
      1 // Copyright 2016 PDFium Authors. All rights reserved.
      2 // Use of this source code is governed by a BSD-style license that can be
      3 // found in the LICENSE file.
      4 
      5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
      6 
      7 #ifndef CORE_FXGE_CFX_GRAPHSTATEDATA_H_
      8 #define CORE_FXGE_CFX_GRAPHSTATEDATA_H_
      9 
     10 #include "core/fxcrt/fx_system.h"
     11 #include "core/fxcrt/retain_ptr.h"
     12 
     13 class CFX_GraphStateData : public Retainable {
     14  public:
     15   enum LineCap { LineCapButt = 0, LineCapRound = 1, LineCapSquare = 2 };
     16 
     17   CFX_GraphStateData();
     18   CFX_GraphStateData(const CFX_GraphStateData& src);
     19   ~CFX_GraphStateData() override;
     20 
     21   void Copy(const CFX_GraphStateData& src);
     22   void SetDashCount(int count);
     23 
     24   LineCap m_LineCap;
     25   int m_DashCount;
     26   float* m_DashArray;
     27   float m_DashPhase;
     28 
     29   enum LineJoin {
     30     LineJoinMiter = 0,
     31     LineJoinRound = 1,
     32     LineJoinBevel = 2,
     33   };
     34   LineJoin m_LineJoin;
     35   float m_MiterLimit;
     36   float m_LineWidth;
     37 };
     38 
     39 #endif  // CORE_FXGE_CFX_GRAPHSTATEDATA_H_
     40