OLD | NEW |
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 #ifndef CORE_SRC_FXGE_WIN32_WIN32_INT_H_ | 6 #ifndef CORE_SRC_FXGE_WIN32_WIN32_INT_H_ |
7 #define CORE_SRC_FXGE_WIN32_WIN32_INT_H_ | 7 #define CORE_SRC_FXGE_WIN32_WIN32_INT_H_ |
8 | 8 |
9 struct WINDIB_Open_Args_; | 9 struct WINDIB_Open_Args_; |
10 class CGdiplusExt | 10 class CGdiplusExt { |
11 { | 11 public: |
12 public: | 12 CGdiplusExt(); |
13 CGdiplusExt(); | 13 ~CGdiplusExt(); |
14 ~CGdiplusExt(); | 14 void Load(); |
15 void» » » Load(); | 15 FX_BOOL IsAvailable() { return m_hModule != NULL; } |
16 FX_BOOL» » » IsAvailable() | 16 FX_BOOL StretchBitMask(HDC hDC, |
17 { | 17 BOOL bMonoDevice, |
18 return m_hModule != NULL; | 18 const CFX_DIBitmap* pBitmap, |
| 19 int dest_left, |
| 20 int dest_top, |
| 21 int dest_width, |
| 22 int dest_height, |
| 23 FX_DWORD argb, |
| 24 const FX_RECT* pClipRect, |
| 25 int flags); |
| 26 FX_BOOL StretchDIBits(HDC hDC, |
| 27 const CFX_DIBitmap* pBitmap, |
| 28 int dest_left, |
| 29 int dest_top, |
| 30 int dest_width, |
| 31 int dest_height, |
| 32 const FX_RECT* pClipRect, |
| 33 int flags); |
| 34 FX_BOOL DrawPath(HDC hDC, |
| 35 const CFX_PathData* pPathData, |
| 36 const CFX_AffineMatrix* pObject2Device, |
| 37 const CFX_GraphStateData* pGraphState, |
| 38 FX_DWORD fill_argb, |
| 39 FX_DWORD stroke_argb, |
| 40 int fill_mode); |
| 41 |
| 42 void* LoadMemFont(uint8_t* pData, FX_DWORD size); |
| 43 void DeleteMemFont(void* pFontCollection); |
| 44 FX_BOOL GdipCreateFromImage(void* bitmap, void** graphics); |
| 45 void GdipDeleteGraphics(void* graphics); |
| 46 void GdipSetTextRenderingHint(void* graphics, int mode); |
| 47 void GdipSetPageUnit(void* graphics, FX_DWORD unit); |
| 48 void GdipSetWorldTransform(void* graphics, void* pMatrix); |
| 49 FX_BOOL GdipDrawDriverString(void* graphics, |
| 50 unsigned short* text, |
| 51 int length, |
| 52 void* font, |
| 53 void* brush, |
| 54 void* positions, |
| 55 int flags, |
| 56 const void* matrix); |
| 57 void GdipCreateBrush(FX_DWORD fill_argb, void** pBrush); |
| 58 void GdipDeleteBrush(void* pBrush); |
| 59 void GdipCreateMatrix(FX_FLOAT a, |
| 60 FX_FLOAT b, |
| 61 FX_FLOAT c, |
| 62 FX_FLOAT d, |
| 63 FX_FLOAT e, |
| 64 FX_FLOAT f, |
| 65 void** matrix); |
| 66 void GdipDeleteMatrix(void* matrix); |
| 67 FX_BOOL GdipCreateFontFamilyFromName(const FX_WCHAR* name, |
| 68 void* pFontCollection, |
| 69 void** pFamily); |
| 70 void GdipDeleteFontFamily(void* pFamily); |
| 71 FX_BOOL GdipCreateFontFromFamily(void* pFamily, |
| 72 FX_FLOAT font_size, |
| 73 int fontstyle, |
| 74 int flag, |
| 75 void** pFont); |
| 76 void* GdipCreateFontFromCollection(void* pFontCollection, |
| 77 FX_FLOAT font_size, |
| 78 int fontstyle); |
| 79 void GdipDeleteFont(void* pFont); |
| 80 FX_BOOL GdipCreateBitmap(CFX_DIBitmap* pBitmap, void** bitmap); |
| 81 void GdipDisposeImage(void* bitmap); |
| 82 void GdipGetFontSize(void* pFont, FX_FLOAT* size); |
| 83 void* GdiAddFontMemResourceEx(void* pFontdata, |
| 84 FX_DWORD size, |
| 85 void* pdv, |
| 86 FX_DWORD* num_face); |
| 87 FX_BOOL GdiRemoveFontMemResourceEx(void* handle); |
| 88 void* m_Functions[100]; |
| 89 void* m_pGdiAddFontMemResourceEx; |
| 90 void* m_pGdiRemoveFontMemResourseEx; |
| 91 CFX_DIBitmap* LoadDIBitmap(WINDIB_Open_Args_ args); |
| 92 |
| 93 protected: |
| 94 HMODULE m_hModule; |
| 95 HMODULE m_GdiModule; |
| 96 }; |
| 97 #include "dwrite_int.h" |
| 98 class CWin32Platform { |
| 99 public: |
| 100 FX_BOOL m_bHalfTone; |
| 101 CGdiplusExt m_GdiplusExt; |
| 102 CDWriteExt m_DWriteExt; |
| 103 }; |
| 104 class CGdiDeviceDriver : public IFX_RenderDeviceDriver { |
| 105 protected: |
| 106 virtual int GetDeviceCaps(int caps_id); |
| 107 virtual void SaveState() { SaveDC(m_hDC); } |
| 108 virtual void RestoreState(FX_BOOL bKeepSaved = FALSE) { |
| 109 RestoreDC(m_hDC, -1); |
| 110 if (bKeepSaved) { |
| 111 SaveDC(m_hDC); |
19 } | 112 } |
20 FX_BOOL» » » StretchBitMask(HDC hDC, BOOL bMonoDevice, const
CFX_DIBitmap* pBitmap, int dest_left, int dest_top, | 113 } |
21 int dest_width, int dest_height, FX_DWORD arg
b, const FX_RECT* pClipRect, int flags); | 114 virtual FX_BOOL SetClip_PathFill(const CFX_PathData* pPathData, |
22 FX_BOOL» » » StretchDIBits(HDC hDC, const CFX_DIBitmap* pBitm
ap, int dest_left, int dest_top, | 115 const CFX_AffineMatrix* pObject2Device, |
23 int dest_width, int dest_height, const FX_RECT
* pClipRect, int flags); | 116 int fill_mode); |
24 FX_BOOL» » » DrawPath(HDC hDC, const CFX_PathData* pPathData, | 117 virtual FX_BOOL SetClip_PathStroke(const CFX_PathData* pPathData, |
25 const CFX_AffineMatrix* pObject2Device, | |
26 const CFX_GraphStateData* pGraphState, | |
27 FX_DWORD fill_argb, | |
28 FX_DWORD stroke_argb, | |
29 int fill_mode | |
30 ); | |
31 | |
32 void*» » » LoadMemFont(uint8_t* pData, FX_DWORD size); | |
33 void» » » DeleteMemFont(void* pFontCollection); | |
34 FX_BOOL GdipCreateFromImage(void* bitmap, void** graphics); | |
35 void GdipDeleteGraphics(void* graphics); | |
36 void GdipSetTextRenderingHint(void* graphics, int mode); | |
37 void GdipSetPageUnit(void* graphics, FX_DWORD unit); | |
38 void GdipSetWorldTransform(void* graphics, void* pMatrix); | |
39 FX_BOOL GdipDrawDriverString(void *graphics, unsigned short *text,
int length, void *font, void* brush, void *positions, int flags, const void *mat
rix); | |
40 void GdipCreateBrush(FX_DWORD fill_argb, void** pBrush); | |
41 void GdipDeleteBrush(void* pBrush); | |
42 void GdipCreateMatrix(FX_FLOAT a, FX_FLOAT b, FX_FLOAT c, FX_FLOA
T d, FX_FLOAT e, FX_FLOAT f, void** matrix); | |
43 void GdipDeleteMatrix(void* matrix); | |
44 FX_BOOL GdipCreateFontFamilyFromName(const FX_WCHAR* name, void* pFo
ntCollection, void**pFamily); | |
45 void GdipDeleteFontFamily(void* pFamily); | |
46 FX_BOOL GdipCreateFontFromFamily(void* pFamily, FX_FLOAT font_size,
int fontstyle, int flag, void** pFont); | |
47 void* GdipCreateFontFromCollection(void* pFontCollection, FX_FLOAT
font_size, int fontstyle); | |
48 void GdipDeleteFont(void* pFont); | |
49 FX_BOOL GdipCreateBitmap(CFX_DIBitmap* pBitmap, void**bitmap); | |
50 void GdipDisposeImage(void* bitmap); | |
51 void GdipGetFontSize(void *pFont, FX_FLOAT *size); | |
52 void* GdiAddFontMemResourceEx(void *pFontdata, FX_DWORD size, void
* pdv, FX_DWORD* num_face); | |
53 FX_BOOL GdiRemoveFontMemResourceEx(void* handle); | |
54 void*» » » m_Functions[100]; | |
55 void* m_pGdiAddFontMemResourceEx; | |
56 void* m_pGdiRemoveFontMemResourseEx; | |
57 CFX_DIBitmap*» LoadDIBitmap(WINDIB_Open_Args_ args); | |
58 protected: | |
59 HMODULE» » » m_hModule; | |
60 HMODULE m_GdiModule; | |
61 }; | |
62 #include "dwrite_int.h" | |
63 class CWin32Platform | |
64 { | |
65 public: | |
66 FX_BOOL» » » m_bHalfTone; | |
67 CGdiplusExt»» m_GdiplusExt; | |
68 CDWriteExt m_DWriteExt; | |
69 }; | |
70 class CGdiDeviceDriver : public IFX_RenderDeviceDriver | |
71 { | |
72 protected: | |
73 virtual int»» GetDeviceCaps(int caps_id); | |
74 virtual void» SaveState() | |
75 { | |
76 SaveDC(m_hDC); | |
77 } | |
78 virtual void» RestoreState(FX_BOOL bKeepSaved = FALSE) | |
79 { | |
80 RestoreDC(m_hDC, -1); | |
81 if (bKeepSaved) { | |
82 SaveDC(m_hDC); | |
83 } | |
84 } | |
85 virtual FX_BOOL» SetClip_PathFill(const CFX_PathData* pPathData, | |
86 const CFX_AffineMatrix* pObject2Device, | 118 const CFX_AffineMatrix* pObject2Device, |
87 int fill_mode | 119 const CFX_GraphStateData* pGraphState); |
88 ); | 120 virtual FX_BOOL DrawPath(const CFX_PathData* pPathData, |
89 virtual FX_BOOL» SetClip_PathStroke(const CFX_PathData* pPathData, | 121 const CFX_AffineMatrix* pObject2Device, |
90 const CFX_AffineMatrix* pObject2Device, | 122 const CFX_GraphStateData* pGraphState, |
91 const CFX_GraphStateData* pGraphState | 123 FX_DWORD fill_color, |
92 ); | 124 FX_DWORD stroke_color, |
93 virtual FX_BOOL» DrawPath(const CFX_PathData* pPathData, | 125 int fill_mode, |
94 const CFX_AffineMatrix* pObject2Device, | 126 int alpha_flag, |
95 const CFX_GraphStateData* pGraphState, | 127 void* pIccTransform, |
96 FX_DWORD fill_color, | 128 int blend_type); |
97 FX_DWORD stroke_color, | 129 virtual FX_BOOL FillRect(const FX_RECT* pRect, |
98 int fill_mode, | 130 FX_DWORD fill_color, |
| 131 int alpha_flag, |
| 132 void* pIccTransform, |
| 133 int blend_type); |
| 134 virtual FX_BOOL DrawCosmeticLine(FX_FLOAT x1, |
| 135 FX_FLOAT y1, |
| 136 FX_FLOAT x2, |
| 137 FX_FLOAT y2, |
| 138 FX_DWORD color, |
| 139 int alpha_flag, |
| 140 void* pIccTransform, |
| 141 int blend_type); |
| 142 virtual void* GetClipRgn(); |
| 143 virtual FX_BOOL SetClipRgn(void* pRgn); |
| 144 virtual FX_BOOL GetClipBox(FX_RECT* pRect); |
| 145 virtual FX_BOOL DeleteDeviceRgn(void* pRgn); |
| 146 virtual void DrawLine(FX_FLOAT x1, FX_FLOAT y1, FX_FLOAT x2, FX_FLOAT y2); |
| 147 virtual void* GetPlatformSurface() { return (void*)m_hDC; } |
| 148 FX_BOOL GDI_SetDIBits(const CFX_DIBitmap* pBitmap, |
| 149 const FX_RECT* pSrcRect, |
| 150 int left, |
| 151 int top, |
| 152 void* pIccTransform); |
| 153 FX_BOOL GDI_StretchDIBits(const CFX_DIBitmap* pBitmap, |
| 154 int dest_left, |
| 155 int dest_top, |
| 156 int dest_width, |
| 157 int dest_height, |
| 158 FX_DWORD flags, |
| 159 void* pIccTransform); |
| 160 FX_BOOL GDI_StretchBitMask(const CFX_DIBitmap* pBitmap, |
| 161 int dest_left, |
| 162 int dest_top, |
| 163 int dest_width, |
| 164 int dest_height, |
| 165 FX_DWORD bitmap_color, |
| 166 FX_DWORD flags, |
99 int alpha_flag, | 167 int alpha_flag, |
100 void* pIccTransform, | 168 void* pIccTransform); |
101 int blend_type | 169 HDC m_hDC; |
102 ); | 170 int m_Width, m_Height, m_nBitsPerPixel; |
103 virtual FX_BOOL FillRect(const FX_RECT* pRect, | 171 int m_DeviceClass, m_RenderCaps; |
104 FX_DWORD fill_color, | 172 CGdiDeviceDriver(HDC hDC, int device_class); |
105 int alpha_flag, void* pIccTransform, int blend_type
); | 173 ~CGdiDeviceDriver() {} |
106 virtual FX_BOOL DrawCosmeticLine(FX_FLOAT x1, FX_FLOAT y1, FX_FLOAT x2,
FX_FLOAT y2, FX_DWORD color, | 174 }; |
107 int alpha_flag, void* pIccTransform, int bl
end_type); | 175 class CGdiDisplayDriver : public CGdiDeviceDriver { |
108 virtual void* GetClipRgn() ; | 176 public: |
109 virtual FX_BOOL SetClipRgn(void* pRgn) ; | 177 CGdiDisplayDriver(HDC hDC); |
110 virtual FX_BOOL GetClipBox(FX_RECT* pRect); | 178 |
111 virtual FX_BOOL DeleteDeviceRgn(void* pRgn); | 179 protected: |
112 virtual void DrawLine(FX_FLOAT x1, FX_FLOAT y1, FX_FLOAT x2, FX_FLOAT
y2); | 180 virtual FX_BOOL GetDIBits(CFX_DIBitmap* pBitmap, |
113 virtual void* GetPlatformSurface() | 181 int left, |
114 { | 182 int top, |
115 return (void*)m_hDC; | 183 void* pIccTransform = NULL, |
116 } | 184 FX_BOOL bDEdge = FALSE); |
117 FX_BOOL GDI_SetDIBits(const CFX_DIBitmap* pBitmap, const
FX_RECT* pSrcRect, int left, int top, | 185 virtual FX_BOOL SetDIBits(const CFX_DIBSource* pBitmap, |
118 void* pIccTransform); | 186 FX_DWORD color, |
119 FX_BOOL GDI_StretchDIBits(const CFX_DIBitmap* pBitmap, i
nt dest_left, int dest_top, | 187 const FX_RECT* pSrcRect, |
120 int dest_width, int dest_height, FX_DWORD
flags, | 188 int left, |
121 void* pIccTransform); | 189 int top, |
122 FX_BOOL GDI_StretchBitMask(const CFX_DIBitmap* pBitmap,
int dest_left, int dest_top, | 190 int blend_type, |
123 int dest_width, int dest_height, FX_DWORD
bitmap_color, FX_DWORD flags, | 191 int alpha_flag, |
124 int alpha_flag, void* pIccTransform); | 192 void* pIccTransform); |
125 HDC m_hDC; | 193 virtual FX_BOOL StretchDIBits(const CFX_DIBSource* pBitmap, |
126 int m_Width, m_Height, m_nBitsPerPixel; | 194 FX_DWORD color, |
127 int m_DeviceClass, m_RenderCaps; | 195 int dest_left, |
128 CGdiDeviceDriver(HDC hDC, int device_class); | 196 int dest_top, |
129 ~CGdiDeviceDriver() {} | 197 int dest_width, |
130 }; | 198 int dest_height, |
131 class CGdiDisplayDriver : public CGdiDeviceDriver | 199 const FX_RECT* pClipRect, |
132 { | 200 FX_DWORD flags, |
133 public: | 201 int alpha_flag, |
134 CGdiDisplayDriver(HDC hDC); | 202 void* pIccTransform, |
135 protected: | 203 int blend_type); |
136 virtual FX_BOOL GetDIBits(CFX_DIBitmap* pBitmap, int left, int top, void* pI
ccTransform = NULL, FX_BOOL bDEdge = FALSE); | 204 virtual FX_BOOL StartDIBits(const CFX_DIBSource* pBitmap, |
137 virtual FX_BOOL SetDIBits(const CFX_DIBSource* pBitmap, FX_DWORD color, cons
t FX_RECT* pSrcRect, int left, int top, int blend_type, | 205 int bitmap_alpha, |
138 int alpha_flag, void* pIccTransform); | 206 FX_DWORD color, |
139 virtual FX_BOOL StretchDIBits(const CFX_DIBSource* pBitmap, FX_DWORD color,
int dest_left, int dest_top, | 207 const CFX_AffineMatrix* pMatrix, |
140 int dest_width, int dest_height, const FX_RECT
* pClipRect, FX_DWORD flags, | 208 FX_DWORD render_flags, |
141 int alpha_flag, void* pIccTransform, int blend
_type); | 209 void*& handle, |
142 virtual FX_BOOL StartDIBits(const CFX_DIBSource* pBitmap, int bitmap_alp
ha, FX_DWORD color, | 210 int alpha_flag, |
143 const CFX_AffineMatrix* pMatrix, FX_DWORD render
_flags, void*& handle, | 211 void* pIccTransform, |
144 int alpha_flag, void* pIccTransform, int blend_t
ype) | 212 int blend_type) { |
145 { | 213 return FALSE; |
146 return FALSE; | 214 } |
147 } | 215 FX_BOOL UseFoxitStretchEngine(const CFX_DIBSource* pSource, |
148 FX_BOOL UseFoxitStretchEngine(const CFX_DIBSource* pSour
ce, FX_DWORD color, int dest_left, int dest_top, | 216 FX_DWORD color, |
149 int dest_width, int dest_height, const
FX_RECT* pClipRect, int render_flags, | 217 int dest_left, |
150 int alpha_flag = 0, void* pIccTransfor
m = NULL, int blend_type = FXDIB_BLEND_NORMAL); | 218 int dest_top, |
151 }; | 219 int dest_width, |
152 class CGdiPrinterDriver : public CGdiDeviceDriver | 220 int dest_height, |
153 { | 221 const FX_RECT* pClipRect, |
154 public: | 222 int render_flags, |
155 CGdiPrinterDriver(HDC hDC); | 223 int alpha_flag = 0, |
156 protected: | 224 void* pIccTransform = NULL, |
157 virtual int GetDeviceCaps(int caps_id); | 225 int blend_type = FXDIB_BLEND_NORMAL); |
158 virtual FX_BOOL SetDIBits(const CFX_DIBSource* pBitmap, FX_DWORD color, cons
t FX_RECT* pSrcRect, int left, int top, int blend_type, | 226 }; |
159 int alpha_flag, void* pIccTransform); | 227 class CGdiPrinterDriver : public CGdiDeviceDriver { |
160 virtual FX_BOOL StretchDIBits(const CFX_DIBSource* pBitmap, FX_DWORD color,
int dest_left, int dest_top, | 228 public: |
161 int dest_width, int dest_height, const FX_RECT
* pClipRect, FX_DWORD flags, | 229 CGdiPrinterDriver(HDC hDC); |
162 int alpha_flag, void* pIccTransform, int blend
_type); | 230 |
163 virtual FX_BOOL StartDIBits(const CFX_DIBSource* pBitmap, int bitmap_alp
ha, FX_DWORD color, | 231 protected: |
164 const CFX_AffineMatrix* pMatrix, FX_DWORD render
_flags, void*& handle, | 232 virtual int GetDeviceCaps(int caps_id); |
165 int alpha_flag, void* pIccTransform, int blend_t
ype); | 233 virtual FX_BOOL SetDIBits(const CFX_DIBSource* pBitmap, |
166 int m_HorzSize, m_VertSize; | 234 FX_DWORD color, |
167 FX_BOOL m_bSupportROP; | 235 const FX_RECT* pSrcRect, |
168 }; | 236 int left, |
169 class CPSOutput : public IFX_PSOutput | 237 int top, |
170 { | 238 int blend_type, |
171 public: | 239 int alpha_flag, |
172 CPSOutput(HDC hDC); | 240 void* pIccTransform); |
173 virtual ~CPSOutput(); | 241 virtual FX_BOOL StretchDIBits(const CFX_DIBSource* pBitmap, |
174 virtual void Release() | 242 FX_DWORD color, |
175 { | 243 int dest_left, |
176 delete this; | 244 int dest_top, |
177 } | 245 int dest_width, |
178 void Init(); | 246 int dest_height, |
179 virtual void OutputPS(const FX_CHAR* string, int len); | 247 const FX_RECT* pClipRect, |
180 HDC m_hDC; | 248 FX_DWORD flags, |
181 FX_CHAR* m_pBuf; | 249 int alpha_flag, |
182 }; | 250 void* pIccTransform, |
183 class CPSPrinterDriver : public IFX_RenderDeviceDriver | 251 int blend_type); |
184 { | 252 virtual FX_BOOL StartDIBits(const CFX_DIBSource* pBitmap, |
185 public: | 253 int bitmap_alpha, |
186 CPSPrinterDriver(); | 254 FX_DWORD color, |
187 FX_BOOL Init(HDC hDC, int ps_level, FX_BOOL bCmykOutput)
; | 255 const CFX_AffineMatrix* pMatrix, |
188 ~CPSPrinterDriver(); | 256 FX_DWORD render_flags, |
189 protected: | 257 void*& handle, |
190 virtual FX_BOOL IsPSPrintDriver() | 258 int alpha_flag, |
191 { | 259 void* pIccTransform, |
192 return TRUE; | 260 int blend_type); |
193 } | 261 int m_HorzSize, m_VertSize; |
194 virtual int GetDeviceCaps(int caps_id); | 262 FX_BOOL m_bSupportROP; |
195 virtual FX_BOOL StartRendering(); | 263 }; |
196 virtual void EndRendering(); | 264 class CPSOutput : public IFX_PSOutput { |
197 virtual void SaveState(); | 265 public: |
198 virtual void RestoreState(FX_BOOL bKeepSaved = FALSE); | 266 CPSOutput(HDC hDC); |
199 virtual FX_BOOL SetClip_PathFill(const CFX_PathData* pPathData, | 267 virtual ~CPSOutput(); |
| 268 virtual void Release() { delete this; } |
| 269 void Init(); |
| 270 virtual void OutputPS(const FX_CHAR* string, int len); |
| 271 HDC m_hDC; |
| 272 FX_CHAR* m_pBuf; |
| 273 }; |
| 274 class CPSPrinterDriver : public IFX_RenderDeviceDriver { |
| 275 public: |
| 276 CPSPrinterDriver(); |
| 277 FX_BOOL Init(HDC hDC, int ps_level, FX_BOOL bCmykOutput); |
| 278 ~CPSPrinterDriver(); |
| 279 |
| 280 protected: |
| 281 virtual FX_BOOL IsPSPrintDriver() { return TRUE; } |
| 282 virtual int GetDeviceCaps(int caps_id); |
| 283 virtual FX_BOOL StartRendering(); |
| 284 virtual void EndRendering(); |
| 285 virtual void SaveState(); |
| 286 virtual void RestoreState(FX_BOOL bKeepSaved = FALSE); |
| 287 virtual FX_BOOL SetClip_PathFill(const CFX_PathData* pPathData, |
| 288 const CFX_AffineMatrix* pObject2Device, |
| 289 int fill_mode); |
| 290 virtual FX_BOOL SetClip_PathStroke(const CFX_PathData* pPathData, |
200 const CFX_AffineMatrix* pObject2Device, | 291 const CFX_AffineMatrix* pObject2Device, |
201 int fill_mode | 292 const CFX_GraphStateData* pGraphState); |
202 ); | 293 virtual FX_BOOL DrawPath(const CFX_PathData* pPathData, |
203 virtual FX_BOOL» SetClip_PathStroke(const CFX_PathData* pPathData, | 294 const CFX_AffineMatrix* pObject2Device, |
204 const CFX_AffineMatrix* pObject2Device, | 295 const CFX_GraphStateData* pGraphState, |
205 const CFX_GraphStateData* pGraphState | 296 FX_DWORD fill_color, |
206 ); | 297 FX_DWORD stroke_color, |
207 virtual FX_BOOL» DrawPath(const CFX_PathData* pPathData, | 298 int fill_mode, |
208 const CFX_AffineMatrix* pObject2Device, | 299 int alpha_flag, |
209 const CFX_GraphStateData* pGraphState, | 300 void* pIccTransform, |
210 FX_DWORD fill_color, | 301 int blend_type); |
211 FX_DWORD stroke_color, | 302 virtual FX_BOOL GetClipBox(FX_RECT* pRect); |
212 int fill_mode, | 303 virtual FX_BOOL SetDIBits(const CFX_DIBSource* pBitmap, |
213 int alpha_flag, | 304 FX_DWORD color, |
214 void* pIccTransform, | 305 const FX_RECT* pSrcRect, |
215 int blend_type | 306 int left, |
216 ); | 307 int top, |
217 virtual FX_BOOL GetClipBox(FX_RECT* pRect); | 308 int blend_type, |
218 virtual FX_BOOL SetDIBits(const CFX_DIBSource* pBitmap, FX_DWORD color, cons
t FX_RECT* pSrcRect, int left, int top, int blend_type, | 309 int alpha_flag, |
219 int alpha_flag, void* pIccTransform); | 310 void* pIccTransform); |
220 virtual FX_BOOL StretchDIBits(const CFX_DIBSource* pBitmap, FX_DWORD color,
int dest_left, int dest_top, | 311 virtual FX_BOOL StretchDIBits(const CFX_DIBSource* pBitmap, |
221 int dest_width, int dest_height, const FX_RECT
* pClipRect, FX_DWORD flags, | 312 FX_DWORD color, |
222 int alpha_flag, void* pIccTransform, int blend
_type); | 313 int dest_left, |
223 virtual FX_BOOL» StartDIBits(const CFX_DIBSource* pBitmap, int bitmap_alp
ha, FX_DWORD color, | 314 int dest_top, |
224 const CFX_AffineMatrix* pMatrix, FX_DWORD render
_flags, void*& handle, | 315 int dest_width, |
225 int alpha_flag, void* pIccTransform, int blend_t
ype); | 316 int dest_height, |
226 virtual FX_BOOL DrawDeviceText(int nChars, const FXTEXT_CHARPOS* pCharPos, C
FX_Font* pFont, | 317 const FX_RECT* pClipRect, |
227 CFX_FontCache* pCache, const CFX_AffineMatrix
* pObject2Device, FX_FLOAT font_size, FX_DWORD color, | 318 FX_DWORD flags, |
228 int alpha_flag, void* pIccTransform); | 319 int alpha_flag, |
229 virtual void*» GetPlatformSurface() | 320 void* pIccTransform, |
230 { | 321 int blend_type); |
231 return (void*)m_hDC; | 322 virtual FX_BOOL StartDIBits(const CFX_DIBSource* pBitmap, |
232 } | 323 int bitmap_alpha, |
233 HDC»» » » m_hDC; | 324 FX_DWORD color, |
234 FX_BOOL» » » m_bCmykOutput; | 325 const CFX_AffineMatrix* pMatrix, |
235 int»» » » m_Width, m_Height, m_nBitsPerPixel; | 326 FX_DWORD render_flags, |
236 int»» » » m_HorzSize, m_VertSize; | 327 void*& handle, |
237 CPSOutput*» » m_pPSOutput; | 328 int alpha_flag, |
238 CFX_PSRenderer» m_PSRenderer; | 329 void* pIccTransform, |
239 }; | 330 int blend_type); |
240 void _Color2Argb(FX_ARGB& argb, FX_DWORD color, int alpha_flag, void* pIccTransf
orm); | 331 virtual FX_BOOL DrawDeviceText(int nChars, |
| 332 const FXTEXT_CHARPOS* pCharPos, |
| 333 CFX_Font* pFont, |
| 334 CFX_FontCache* pCache, |
| 335 const CFX_AffineMatrix* pObject2Device, |
| 336 FX_FLOAT font_size, |
| 337 FX_DWORD color, |
| 338 int alpha_flag, |
| 339 void* pIccTransform); |
| 340 virtual void* GetPlatformSurface() { return (void*)m_hDC; } |
| 341 HDC m_hDC; |
| 342 FX_BOOL m_bCmykOutput; |
| 343 int m_Width, m_Height, m_nBitsPerPixel; |
| 344 int m_HorzSize, m_VertSize; |
| 345 CPSOutput* m_pPSOutput; |
| 346 CFX_PSRenderer m_PSRenderer; |
| 347 }; |
| 348 void _Color2Argb(FX_ARGB& argb, |
| 349 FX_DWORD color, |
| 350 int alpha_flag, |
| 351 void* pIccTransform); |
241 | 352 |
242 #endif // CORE_SRC_FXGE_WIN32_WIN32_INT_H_ | 353 #endif // CORE_SRC_FXGE_WIN32_WIN32_INT_H_ |
OLD | NEW |