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

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

Issue 1896893003: Cleanup FDE interfaces. (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/cfde_path.cpp ('k') | xfa/fde/fde_gedevice.cpp » ('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_GEDEVICE_H_ 7 #ifndef XFA_FDE_FDE_GEDEVICE_H_
8 #define XFA_FDE_FDE_GEDEVICE_H_ 8 #define XFA_FDE_FDE_GEDEVICE_H_
9 9
10 #include "xfa/fde/fde_renderdevice.h" 10 #include "core/fxge/include/fx_ge.h"
11 #include "xfa/fgas/crt/fgas_memory.h" 11 #include "xfa/fgas/crt/fgas_memory.h"
12 12
13 class CFDE_FxgeDevice : public IFDE_RenderDevice, public CFX_Target { 13 typedef struct FDE_HDEVICESTATE_ { void* pData; } * FDE_HDEVICESTATE;
14
15 class CFDE_Brush;
16 class CFDE_Path;
17 class CFDE_Pen;
18 class CFX_RenderDevice;
19 class IFX_Font;
20
21 class CFDE_RenderDevice : public CFX_Target {
14 public: 22 public:
15 CFDE_FxgeDevice(CFX_RenderDevice* pDevice, FX_BOOL bOwnerDevice); 23 CFDE_RenderDevice(CFX_RenderDevice* pDevice, FX_BOOL bOwnerDevice);
16 ~CFDE_FxgeDevice(); 24 ~CFDE_RenderDevice();
17 virtual void Release() { delete this; }
18 25
19 virtual int32_t GetWidth() const; 26 void Release() { delete this; }
20 virtual int32_t GetHeight() const;
21 virtual FDE_HDEVICESTATE SaveState();
22 virtual void RestoreState(FDE_HDEVICESTATE hState);
23 virtual FX_BOOL SetClipPath(const IFDE_Path* pClip);
24 virtual IFDE_Path* GetClipPath() const;
25 virtual FX_BOOL SetClipRect(const CFX_RectF& rtClip);
26 virtual const CFX_RectF& GetClipRect();
27 27
28 virtual FX_FLOAT GetDpiX() const; 28 int32_t GetWidth() const;
29 virtual FX_FLOAT GetDpiY() const; 29 int32_t GetHeight() const;
30 FDE_HDEVICESTATE SaveState();
31 void RestoreState(FDE_HDEVICESTATE hState);
32 FX_BOOL SetClipPath(const CFDE_Path* pClip);
33 CFDE_Path* GetClipPath() const;
34 FX_BOOL SetClipRect(const CFX_RectF& rtClip);
35 const CFX_RectF& GetClipRect();
30 36
31 virtual FX_BOOL DrawImage(CFX_DIBSource* pDib, 37 FX_FLOAT GetDpiX() const;
32 const CFX_RectF* pSrcRect, 38 FX_FLOAT GetDpiY() const;
33 const CFX_RectF& dstRect, 39
34 const CFX_Matrix* pImgMatrix = NULL, 40 FX_BOOL DrawImage(CFX_DIBSource* pDib,
35 const CFX_Matrix* pDevMatrix = NULL); 41 const CFX_RectF* pSrcRect,
36 virtual FX_BOOL DrawString(CFDE_Brush* pBrush, 42 const CFX_RectF& dstRect,
37 IFX_Font* pFont, 43 const CFX_Matrix* pImgMatrix = NULL,
38 const FXTEXT_CHARPOS* pCharPos, 44 const CFX_Matrix* pDevMatrix = NULL);
39 int32_t iCount, 45 FX_BOOL DrawString(CFDE_Brush* pBrush,
40 FX_FLOAT fFontSize, 46 IFX_Font* pFont,
41 const CFX_Matrix* pMatrix = NULL); 47 const FXTEXT_CHARPOS* pCharPos,
42 virtual FX_BOOL DrawBezier(CFDE_Pen* pPen, 48 int32_t iCount,
43 FX_FLOAT fPenWidth, 49 FX_FLOAT fFontSize,
44 const CFX_PointF& pt1, 50 const CFX_Matrix* pMatrix = NULL);
45 const CFX_PointF& pt2, 51 FX_BOOL DrawBezier(CFDE_Pen* pPen,
46 const CFX_PointF& pt3, 52 FX_FLOAT fPenWidth,
47 const CFX_PointF& pt4, 53 const CFX_PointF& pt1,
48 const CFX_Matrix* pMatrix = NULL); 54 const CFX_PointF& pt2,
49 virtual FX_BOOL DrawCurve(CFDE_Pen* pPen, 55 const CFX_PointF& pt3,
50 FX_FLOAT fPenWidth, 56 const CFX_PointF& pt4,
51 const CFX_PointsF& points, 57 const CFX_Matrix* pMatrix = NULL);
52 FX_BOOL bClosed, 58 FX_BOOL DrawCurve(CFDE_Pen* pPen,
53 FX_FLOAT fTension = 0.5f, 59 FX_FLOAT fPenWidth,
54 const CFX_Matrix* pMatrix = NULL); 60 const CFX_PointsF& points,
55 virtual FX_BOOL DrawEllipse(CFDE_Pen* pPen, 61 FX_BOOL bClosed,
56 FX_FLOAT fPenWidth, 62 FX_FLOAT fTension = 0.5f,
57 const CFX_RectF& rect, 63 const CFX_Matrix* pMatrix = NULL);
58 const CFX_Matrix* pMatrix = NULL); 64 FX_BOOL DrawEllipse(CFDE_Pen* pPen,
59 virtual FX_BOOL DrawLines(CFDE_Pen* pPen, 65 FX_FLOAT fPenWidth,
60 FX_FLOAT fPenWidth, 66 const CFX_RectF& rect,
61 const CFX_PointsF& points, 67 const CFX_Matrix* pMatrix = NULL);
62 const CFX_Matrix* pMatrix = NULL); 68 FX_BOOL DrawLines(CFDE_Pen* pPen,
63 virtual FX_BOOL DrawLine(CFDE_Pen* pPen, 69 FX_FLOAT fPenWidth,
64 FX_FLOAT fPenWidth, 70 const CFX_PointsF& points,
65 const CFX_PointF& pt1, 71 const CFX_Matrix* pMatrix = NULL);
66 const CFX_PointF& pt2, 72 FX_BOOL DrawLine(CFDE_Pen* pPen,
67 const CFX_Matrix* pMatrix = NULL); 73 FX_FLOAT fPenWidth,
68 virtual FX_BOOL DrawPath(CFDE_Pen* pPen, 74 const CFX_PointF& pt1,
69 FX_FLOAT fPenWidth, 75 const CFX_PointF& pt2,
70 const IFDE_Path* pPath, 76 const CFX_Matrix* pMatrix = NULL);
71 const CFX_Matrix* pMatrix = NULL); 77 FX_BOOL DrawPath(CFDE_Pen* pPen,
72 virtual FX_BOOL DrawPolygon(CFDE_Pen* pPen, 78 FX_FLOAT fPenWidth,
73 FX_FLOAT fPenWidth, 79 const CFDE_Path* pPath,
74 const CFX_PointsF& points, 80 const CFX_Matrix* pMatrix = NULL);
75 const CFX_Matrix* pMatrix = NULL); 81 FX_BOOL DrawPolygon(CFDE_Pen* pPen,
76 virtual FX_BOOL DrawRectangle(CFDE_Pen* pPen, 82 FX_FLOAT fPenWidth,
77 FX_FLOAT fPenWidth, 83 const CFX_PointsF& points,
78 const CFX_RectF& rect, 84 const CFX_Matrix* pMatrix = NULL);
79 const CFX_Matrix* pMatrix = NULL); 85 FX_BOOL DrawRectangle(CFDE_Pen* pPen,
80 virtual FX_BOOL FillClosedCurve(CFDE_Brush* pBrush, 86 FX_FLOAT fPenWidth,
81 const CFX_PointsF& points, 87 const CFX_RectF& rect,
82 FX_FLOAT fTension = 0.5f, 88 const CFX_Matrix* pMatrix = NULL);
83 const CFX_Matrix* pMatrix = NULL); 89 FX_BOOL FillClosedCurve(CFDE_Brush* pBrush,
84 virtual FX_BOOL FillEllipse(CFDE_Brush* pBrush, 90 const CFX_PointsF& points,
85 const CFX_RectF& rect, 91 FX_FLOAT fTension = 0.5f,
86 const CFX_Matrix* pMatrix = NULL); 92 const CFX_Matrix* pMatrix = NULL);
87 virtual FX_BOOL FillPath(CFDE_Brush* pBrush, 93 FX_BOOL FillEllipse(CFDE_Brush* pBrush,
88 const IFDE_Path* pPath, 94 const CFX_RectF& rect,
89 const CFX_Matrix* pMatrix = NULL); 95 const CFX_Matrix* pMatrix = NULL);
90 virtual FX_BOOL FillPolygon(CFDE_Brush* pBrush, 96 FX_BOOL FillPath(CFDE_Brush* pBrush,
91 const CFX_PointsF& points, 97 const CFDE_Path* pPath,
92 const CFX_Matrix* pMatrix = NULL); 98 const CFX_Matrix* pMatrix = NULL);
93 virtual FX_BOOL FillRectangle(CFDE_Brush* pBrush, 99 FX_BOOL FillPolygon(CFDE_Brush* pBrush,
94 const CFX_RectF& rect, 100 const CFX_PointsF& points,
95 const CFX_Matrix* pMatrix = NULL); 101 const CFX_Matrix* pMatrix = NULL);
102 FX_BOOL FillRectangle(CFDE_Brush* pBrush,
103 const CFX_RectF& rect,
104 const CFX_Matrix* pMatrix = NULL);
96 105
97 FX_BOOL DrawSolidString(CFDE_Brush* pBrush, 106 FX_BOOL DrawSolidString(CFDE_Brush* pBrush,
98 IFX_Font* pFont, 107 IFX_Font* pFont,
99 const FXTEXT_CHARPOS* pCharPos, 108 const FXTEXT_CHARPOS* pCharPos,
100 int32_t iCount, 109 int32_t iCount,
101 FX_FLOAT fFontSize, 110 FX_FLOAT fFontSize,
102 const CFX_Matrix* pMatrix); 111 const CFX_Matrix* pMatrix);
103 FX_BOOL DrawStringPath(CFDE_Brush* pBrush, 112 FX_BOOL DrawStringPath(CFDE_Brush* pBrush,
104 IFX_Font* pFont, 113 IFX_Font* pFont,
105 const FXTEXT_CHARPOS* pCharPos, 114 const FXTEXT_CHARPOS* pCharPos,
106 int32_t iCount, 115 int32_t iCount,
107 FX_FLOAT fFontSize, 116 FX_FLOAT fFontSize,
108 const CFX_Matrix* pMatrix); 117 const CFX_Matrix* pMatrix);
109 118
110 protected: 119 protected:
111 FX_BOOL CreatePen(CFDE_Pen* pPen, 120 FX_BOOL CreatePen(CFDE_Pen* pPen,
112 FX_FLOAT fPenWidth, 121 FX_FLOAT fPenWidth,
113 CFX_GraphStateData& graphState); 122 CFX_GraphStateData& graphState);
114 123
115 CFX_RenderDevice* m_pDevice; 124 CFX_RenderDevice* m_pDevice;
116 CFX_RectF m_rtClip; 125 CFX_RectF m_rtClip;
117 FX_BOOL m_bOwnerDevice; 126 FX_BOOL m_bOwnerDevice;
118 FXTEXT_CHARPOS* m_pCharPos; 127 FXTEXT_CHARPOS* m_pCharPos;
119 int32_t m_iCharCount; 128 int32_t m_iCharCount;
120 }; 129 };
121 130
122 #endif // XFA_FDE_FDE_GEDEVICE_H_ 131 #endif // XFA_FDE_FDE_GEDEVICE_H_
OLDNEW
« no previous file with comments | « xfa/fde/cfde_path.cpp ('k') | xfa/fde/fde_gedevice.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698