Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(177)

Side by Side Diff: xfa/fde/fde_object.h

Issue 1881803003: Remove IFDE_Pen and IFDE_Brush. (Closed) Base URL: https://pdfium.googlesource.com/pdfium.git@master
Patch Set: Created 4 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « xfa/fde/fde_gedevice.cpp ('k') | xfa/fde/fde_pen.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2014 PDFium Authors. All rights reserved. 1 // Copyright 2014 PDFium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com 5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
6 6
7 #ifndef XFA_FDE_FDE_OBJECT_H_ 7 #ifndef XFA_FDE_FDE_OBJECT_H_
8 #define XFA_FDE_FDE_OBJECT_H_ 8 #define XFA_FDE_FDE_OBJECT_H_
9 9
10 #include <cstdint> 10 #include <cstdint>
11 11
12 #include "core/fxge/include/fx_dib.h" 12 #include "core/fxge/include/fx_dib.h"
13 #include "xfa/fde/fde_brush.h"
14 #include "xfa/fde/fde_pen.h"
15 #include "xfa/fgas/crt/fgas_memory.h" 13 #include "xfa/fgas/crt/fgas_memory.h"
16 14
17 class CFDE_Pen : public IFDE_Pen, public CFX_Target { 15 class CFDE_Brush : public CFX_Target {
18 public: 16 public:
19 CFDE_Pen() 17 CFDE_Brush() : m_Color(0xFF000000) {}
20 : m_Color(0),
21 m_iLineCap(0),
22 m_iLineJoin(0),
23 m_iDashStyle(0),
24 m_fDashPhase(0),
25 m_fMiterLimit(10),
26 m_bAutoRelease(FALSE),
27 m_pBrush(NULL) {}
28 18
29 ~CFDE_Pen() { 19 FX_ARGB GetColor() const { return m_Color; }
30 if (m_pBrush && m_bAutoRelease) { 20 void SetColor(FX_ARGB color) { m_Color = color; }
31 m_pBrush->Release();
32 }
33 }
34 virtual void Release() { delete this; }
35 21
36 virtual int32_t GetType() const { 22 private:
37 return m_pBrush ? m_pBrush->GetType() : FDE_PENTYPE_SolidColor;
38 }
39
40 virtual FX_ARGB GetColor() const { return m_Color; }
41 virtual void SetColor(FX_ARGB color) { m_Color = color; }
42 virtual IFDE_Brush* GetBrush() const { return m_pBrush; }
43 virtual void SetBrush(IFDE_Brush* pBrush, FX_BOOL bAutoRelease) {
44 m_bAutoRelease = bAutoRelease;
45 m_pBrush = pBrush;
46 if (m_pBrush && m_pBrush->GetType() == FDE_BRUSHTYPE_Solid) {
47 m_Color = ((IFDE_SolidBrush*)m_pBrush)->GetColor();
48 }
49 }
50 virtual int32_t GetLineCap() const { return m_iLineCap; }
51 virtual void SetLineCap(int32_t iLineCap) { m_iLineCap = iLineCap; }
52 virtual int32_t GetDashStyle() const { return m_iDashStyle; }
53 virtual void SetDashStyle(int32_t iDashStyle) { m_iDashStyle = iDashStyle; }
54 virtual FX_FLOAT GetDashPhase() const { return m_fDashPhase; }
55 virtual void SetDashPhase(FX_FLOAT fPhase) { m_fDashPhase = fPhase; }
56 virtual int32_t CountDashArray() const { return m_DashArray.GetSize(); }
57 virtual int32_t GetDashArray(CFX_FloatArray& dashArray) const {
58 dashArray.Copy(m_DashArray);
59 return dashArray.GetSize();
60 }
61 virtual void SetDashArray(const CFX_FloatArray& dashArray) {
62 m_DashArray.Copy(dashArray);
63 }
64 virtual int32_t GetLineJoin() const { return m_iLineJoin; }
65 virtual void SetLineJoin(int32_t iLineJoin) { m_iLineJoin = iLineJoin; }
66 virtual FX_FLOAT GetMiterLimit() const { return m_fMiterLimit; }
67 virtual void SetMiterLimit(FX_FLOAT fMiterLimit) {
68 m_fMiterLimit = fMiterLimit;
69 }
70 virtual int32_t CountCompoundPatterns() const {
71 return m_CompoundPatterns.GetSize();
72 }
73 virtual FX_BOOL GetCompoundPatterns(
74 CFDE_CompoundPatterns& compoundPatterns) const {
75 return compoundPatterns.Copy(m_CompoundPatterns), TRUE;
76 }
77 virtual FX_BOOL SetCompoundPatterns(
78 const CFDE_CompoundPatterns& compoundPatterns) {
79 return m_CompoundPatterns.Copy(compoundPatterns), TRUE;
80 }
81
82 FX_ARGB m_Color; 23 FX_ARGB m_Color;
83 int32_t m_iLineCap;
84 int32_t m_iLineJoin;
85 int32_t m_iDashStyle;
86 FX_FLOAT m_fDashPhase;
87 FX_FLOAT m_fMiterLimit;
88 FX_BOOL m_bAutoRelease;
89 IFDE_Brush* m_pBrush;
90 CFX_FloatArray m_DashArray;
91 CFDE_CompoundPatterns m_CompoundPatterns;
92 }; 24 };
93 25
94 class CFDE_SolidBrush : public IFDE_SolidBrush, public CFX_Target { 26 class CFDE_Pen : public CFX_Target {
95 public: 27 public:
96 CFDE_SolidBrush() : m_Color(0xFF000000) { m_Matrix.SetIdentity(); } 28 CFDE_Pen() : m_Color(0) {}
29 ~CFDE_Pen() {}
97 30
98 virtual void Release() { delete this; } 31 FX_ARGB GetColor() const { return m_Color; }
99 virtual int32_t GetType() const { return FDE_BRUSHTYPE_Solid; } 32 void SetColor(FX_ARGB color) { m_Color = color; }
100 virtual const CFX_Matrix& GetMatrix() const { return m_Matrix; }
101 virtual void ResetMatrix() { m_Matrix.SetIdentity(); }
102 virtual void TranslateMatrix(FX_FLOAT dx, FX_FLOAT dy) {
103 m_Matrix.Translate(dx, dy);
104 }
105 virtual void RotateMatrix(FX_FLOAT fRadian) { m_Matrix.Rotate(fRadian); }
106 virtual void ScaleMatrix(FX_FLOAT sx, FX_FLOAT sy) { m_Matrix.Scale(sx, sy); }
107 virtual void ConcatMatrix(const CFX_Matrix& matrix) {
108 m_Matrix.Concat(matrix);
109 }
110 virtual void SetMatrix(const CFX_Matrix& matrix) { m_Matrix = matrix; }
111 virtual FX_ARGB GetColor() const { return m_Color; }
112 virtual void SetColor(FX_ARGB color) { m_Color = color; }
113 33
34 private:
114 FX_ARGB m_Color; 35 FX_ARGB m_Color;
115 CFX_Matrix m_Matrix;
116 }; 36 };
117 37
118 #endif // XFA_FDE_FDE_OBJECT_H_ 38 #endif // XFA_FDE_FDE_OBJECT_H_
OLDNEW
« no previous file with comments | « xfa/fde/fde_gedevice.cpp ('k') | xfa/fde/fde_pen.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698