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

Side by Side Diff: core/src/fxge/apple/apple_int.h

Issue 453133004: clang-format all code (Closed) Base URL: https://pdfium.googlesource.com/pdfium.git@master
Patch Set: Created 6 years, 4 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
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 _APPLE_INT_H_ 7 #ifndef _APPLE_INT_H_
8 #define _APPLE_INT_H_ 8 #define _APPLE_INT_H_
9 #if _FXM_PLATFORM_ == _FXM_PLATFORM_APPLE_ 9 #if _FXM_PLATFORM_ == _FXM_PLATFORM_APPLE_
10 #if _FX_OS_ == _FX_MACOSX_ 10 #if _FX_OS_ == _FX_MACOSX_
11 #include <Carbon/Carbon.h> 11 #include <Carbon/Carbon.h>
12 #endif 12 #endif
13 typedef enum eFXIOSFONTCHARSET { 13 typedef enum eFXIOSFONTCHARSET {
14 eFXFontCharsetDEFAULT = 0, 14 eFXFontCharsetDEFAULT = 0,
15 eFXFontCharsetANSI = 1, 15 eFXFontCharsetANSI = 1,
16 eFXFontCharsetSYMBOL = 1 << 1, 16 eFXFontCharsetSYMBOL = 1 << 1,
17 eFXFontCharsetSHIFTJIS = 1 << 2, 17 eFXFontCharsetSHIFTJIS = 1 << 2,
18 eFXFontCharsetHANGEUL = 1 << 3, 18 eFXFontCharsetHANGEUL = 1 << 3,
19 eFXFontCharsetGB2312 = 1 << 4, 19 eFXFontCharsetGB2312 = 1 << 4,
20 eFXFontCharsetCHINESEBIG5 = 1 << 5, 20 eFXFontCharsetCHINESEBIG5 = 1 << 5,
21 eFXFontCharsetTHAI = 1 << 6, 21 eFXFontCharsetTHAI = 1 << 6,
22 eFXFontCharsetEASTEUROPE = 1 << 7, 22 eFXFontCharsetEASTEUROPE = 1 << 7,
23 eFXFontCharsetRUSSIAN = 1 << 8, 23 eFXFontCharsetRUSSIAN = 1 << 8,
24 eFXFontCharsetGREEK = 1 << 9, 24 eFXFontCharsetGREEK = 1 << 9,
25 eFXFontCharsetTURKISH = 1 << 10, 25 eFXFontCharsetTURKISH = 1 << 10,
26 eFXFontCharsetHEBREW = 1 << 11, 26 eFXFontCharsetHEBREW = 1 << 11,
27 eFXFontCharsetARABIC = 1 << 12, 27 eFXFontCharsetARABIC = 1 << 12,
28 eFXFontCharsetBALTIC = 1 << 13, 28 eFXFontCharsetBALTIC = 1 << 13,
29 } FX_IOSCHARSET; 29 } FX_IOSCHARSET;
30 FX_IOSCHARSET FX_GetiOSCharset(int charset); 30 FX_IOSCHARSET FX_GetiOSCharset(int charset);
31 typedef enum eFXIOSFONTFLAG { 31 typedef enum eFXIOSFONTFLAG {
32 eFXFontFlagBold = 1, 32 eFXFontFlagBold = 1,
33 eFXFontFlagItalic = 1 << 1, 33 eFXFontFlagItalic = 1 << 1,
34 eFXFontFlagFixedPitch = 1 << 2, 34 eFXFontFlagFixedPitch = 1 << 2,
35 eFXFontFlagSerif = 1 << 3, 35 eFXFontFlagSerif = 1 << 3,
36 eFXFontFlagScript = 1 << 4, 36 eFXFontFlagScript = 1 << 4,
37 } FX_IOSFONTFLAG; 37 } FX_IOSFONTFLAG;
38 typedef struct _IOS_FONTDATA { 38 typedef struct _IOS_FONTDATA {
39 FX_DWORD nHashCode; 39 FX_DWORD nHashCode;
40 const char* psName; 40 const char* psName;
41 FX_DWORD charsets; 41 FX_DWORD charsets;
42 FX_DWORD styles; 42 FX_DWORD styles;
43 } IOS_FONTDATA; 43 } IOS_FONTDATA;
44 class CQuartz2D 44 class CQuartz2D {
45 { 45 public:
46 public: 46 void* createGraphics(CFX_DIBitmap* bitmap);
47 void*» createGraphics(CFX_DIBitmap* bitmap); 47 void destroyGraphics(void* graphics);
48 void» destroyGraphics(void* graphics); 48
49 49 void* CreateFont(FX_LPCBYTE pFontData, FX_DWORD dwFontSize);
50 void*» CreateFont(FX_LPCBYTE pFontData, FX_DWORD dwFontSize); 50 void DestroyFont(void* pFont);
51 void» DestroyFont(void* pFont); 51 void setGraphicsTextMatrix(void* graphics, CFX_AffineMatrix* matrix);
52 void» setGraphicsTextMatrix(void* graphics, CFX_AffineMatrix* matrix); 52 FX_BOOL drawGraphicsString(void* graphics,
53 FX_BOOL» drawGraphicsString(void* graphics, 53 void* font,
54 void* font, 54 FX_FLOAT fontSize,
55 FX_FLOAT fontSize, 55 FX_WORD* glyphIndices,
56 FX_WORD* glyphIndices, 56 CGPoint* glyphPositions,
57 CGPoint* glyphPositions, 57 FX_INT32 chars,
58 FX_INT32 chars, 58 FX_ARGB argb,
59 FX_ARGB argb, 59 CFX_AffineMatrix* matrix = NULL);
60 CFX_AffineMatrix* matrix = NULL); 60 void saveGraphicsState(void* graphics);
61 void saveGraphicsState(void* graphics); 61 void restoreGraphicsState(void* graphics);
62 void restoreGraphicsState(void* graphics); 62 };
63 }; 63 class CApplePlatform : public CFX_Object {
64 class CApplePlatform : public CFX_Object 64 public:
65 { 65 CApplePlatform() { m_pFontMapper = NULL; }
66 public: 66 ~CApplePlatform() {
67 CApplePlatform() 67 if (m_pFontMapper) {
68 { 68 delete m_pFontMapper;
69 m_pFontMapper = NULL;
70 } 69 }
71 ~CApplePlatform() 70 }
72 { 71 CQuartz2D _quartz2d;
73 if (m_pFontMapper) { 72 IFX_FontMapper* m_pFontMapper;
74 delete m_pFontMapper; 73 };
75 } 74 class CFX_QuartzDeviceDriver : public IFX_RenderDeviceDriver {
76 } 75 public:
77 CQuartz2D» _quartz2d; 76 CFX_QuartzDeviceDriver(CGContextRef context, FX_INT32 deviceClass);
78 IFX_FontMapper* m_pFontMapper; 77 virtual ~CFX_QuartzDeviceDriver();
79 }; 78
80 class CFX_QuartzDeviceDriver : public IFX_RenderDeviceDriver 79 virtual int GetDeviceCaps(int caps_id);
81 { 80 virtual CFX_Matrix GetCTM() const;
82 public: 81 virtual CFX_DIBitmap* GetBackDrop() { return NULL; }
83 CFX_QuartzDeviceDriver(CGContextRef context, FX_INT32 deviceClass); 82 virtual void* GetPlatformSurface() { return NULL; }
84 virtual ~CFX_QuartzDeviceDriver(); 83 virtual FX_BOOL IsPSPrintDriver() { return FALSE; }
85 84 virtual FX_BOOL StartRendering() { return TRUE; }
86 virtual int»» GetDeviceCaps(int caps_id); 85 virtual void EndRendering() {}
87 virtual CFX_Matrix» GetCTM() const; 86 virtual void SaveState();
88 virtual CFX_DIBitmap* GetBackDrop() 87 virtual void RestoreState(FX_BOOL bKeepSaved);
89 { 88 virtual FX_BOOL SetClip_PathFill(const CFX_PathData* pPathData,
90 return NULL; 89 const CFX_AffineMatrix* pObject2Device,
91 } 90 int fill_mode);
92 virtual void*» GetPlatformSurface() 91 virtual FX_BOOL SetClip_PathStroke(const CFX_PathData* pPathData,
93 {
94 return NULL;
95 }
96 virtual FX_BOOL IsPSPrintDriver()
97 {
98 return FALSE;
99 }
100 virtual FX_BOOL» StartRendering()
101 {
102 return TRUE;
103 }
104 virtual void» EndRendering() {}
105 virtual void» SaveState();
106 virtual void» RestoreState(FX_BOOL bKeepSaved);
107 virtual FX_BOOL» SetClip_PathFill(const CFX_PathData* pPathData,
108 const CFX_AffineMatrix* pObject2Device, 92 const CFX_AffineMatrix* pObject2Device,
109 int fill_mode 93 const CFX_GraphStateData* pGraphState);
110 ); 94 virtual FX_BOOL DrawPath(const CFX_PathData* pPathData,
111 virtual FX_BOOL SetClip_PathStroke(const CFX_PathData* pPathData, 95 const CFX_AffineMatrix* pObject2Device,
112 const CFX_AffineMatrix* pObject2Device, 96 const CFX_GraphStateData* pGraphState,
113 const CFX_GraphStateData* pGraphState 97 FX_DWORD fill_color,
114 ); 98 FX_DWORD stroke_color,
115 virtual FX_BOOL DrawPath(const CFX_PathData* pPathData, 99 int fill_mode,
116 const CFX_AffineMatrix* pObject2Device, 100 int alpha_flag = 0,
117 const CFX_GraphStateData* pGraphState, 101 void* pIccTransform = NULL,
118 FX_DWORD fill_color, 102 int blend_type = FXDIB_BLEND_NORMAL);
119 FX_DWORD stroke_color, 103 virtual FX_BOOL SetPixel(int x,
120 int fill_mode, 104 int y,
121 int alpha_flag = 0, 105 FX_DWORD color,
122 void* pIccTransform = NULL, 106 int alpha_flag = 0,
123 int blend_type = FXDIB_BLEND_NORMAL 107 void* pIccTransform = NULL) {
124 ); 108 return FALSE;
125 virtual FX_BOOL SetPixel(int x, int y, FX_DWORD color, 109 }
126 int alpha_flag = 0, void* pIccTransform = NULL) 110 virtual FX_BOOL FillRect(const FX_RECT* pRect,
127 { 111 FX_DWORD fill_color,
128 return FALSE; 112 int alpha_flag = 0,
129 } 113 void* pIccTransform = NULL,
130 virtual FX_BOOL FillRect(const FX_RECT* pRect, FX_DWORD fill_color, 114 int blend_type = FXDIB_BLEND_NORMAL);
131 int alpha_flag = 0, void* pIccTransform = NULL, int blend_type = FXDIB_BLEND_NORMAL); 115 virtual FX_BOOL DrawCosmeticLine(FX_FLOAT x1,
132 virtual FX_BOOL DrawCosmeticLine(FX_FLOAT x1, FX_FLOAT y1, FX_FLOAT x2, FX_FLOAT y2, FX_DWORD color, 116 FX_FLOAT y1,
133 int alpha_flag = 0, void* pIccTransform = N ULL, int blend_type = FXDIB_BLEND_NORMAL); 117 FX_FLOAT x2,
134 virtual FX_BOOL GetClipBox(FX_RECT* pRect); 118 FX_FLOAT y2,
135 virtual FX_BOOL GetDIBits(CFX_DIBitmap* pBitmap, int left, int top, void * pIccTransform = NULL, FX_BOOL bDEdge = FALSE); 119 FX_DWORD color,
136 virtual FX_BOOL SetDIBits(const CFX_DIBSource* pBitmap, FX_DWORD color, const FX_RECT* pSrcRect, 120 int alpha_flag = 0,
137 int dest_left, int dest_top, int blend_type, 121 void* pIccTransform = NULL,
138 int alpha_flag = 0, void* pIccTransform = NULL); 122 int blend_type = FXDIB_BLEND_NORMAL);
139 virtual FX_BOOL StretchDIBits(const CFX_DIBSource* pBitmap, FX_DWORD col or, int dest_left, int dest_top, 123 virtual FX_BOOL GetClipBox(FX_RECT* pRect);
140 int dest_width, int dest_height, const FX_RECT * pClipRect, FX_DWORD flags, 124 virtual FX_BOOL GetDIBits(CFX_DIBitmap* pBitmap,
141 int alpha_flag = 0, void* pIccTransform = NULL , int blend_type = FXDIB_BLEND_NORMAL); 125 int left,
142 virtual FX_BOOL StartDIBits(const CFX_DIBSource* pBitmap, int bitmap_alp ha, FX_DWORD color, 126 int top,
143 const CFX_AffineMatrix* pMatrix, FX_DWORD flags, FX_LPVOID& handle, 127 void* pIccTransform = NULL,
144 int alpha_flag = 0, void* pIccTransform = NULL, 128 FX_BOOL bDEdge = FALSE);
145 int blend_type = FXDIB_BLEND_NORMAL) 129 virtual FX_BOOL SetDIBits(const CFX_DIBSource* pBitmap,
146 { 130 FX_DWORD color,
147 return FALSE; 131 const FX_RECT* pSrcRect,
148 } 132 int dest_left,
149 virtual FX_BOOL ContinueDIBits(FX_LPVOID handle, IFX_Pause* pPause) 133 int dest_top,
150 { 134 int blend_type,
151 return FALSE; 135 int alpha_flag = 0,
152 } 136 void* pIccTransform = NULL);
153 virtual void CancelDIBits(FX_LPVOID handle) {} 137 virtual FX_BOOL StretchDIBits(const CFX_DIBSource* pBitmap,
154 virtual FX_BOOL DrawDeviceText(int nChars, const FXTEXT_CHARPOS* pCharPos, C FX_Font* pFont, 138 FX_DWORD color,
155 CFX_FontCache* pCache, const CFX_AffineMatrix * pObject2Device, FX_FLOAT font_size, FX_DWORD color, 139 int dest_left,
156 int alpha_flag = 0, void* pIccTransform = NUL L); 140 int dest_top,
157 virtual void ClearDriver(); 141 int dest_width,
158 protected: 142 int dest_height,
159 void setStrokeInfo(const CFX_GraphStateData * graphState, FX_ARGB argb, FX_F LOAT lineWidth); 143 const FX_RECT* pClipRect,
160 void setFillInfo(FX_ARGB argb); 144 FX_DWORD flags,
161 void setPathToContext(const CFX_PathData * pathData); 145 int alpha_flag = 0,
162 FX_FLOAT getLineWidth(const CFX_GraphStateData * graphState, CGAffineTransfo rm ctm); 146 void* pIccTransform = NULL,
163 FX_BOOL CG_DrawGlypRun(int nChars, 147 int blend_type = FXDIB_BLEND_NORMAL);
164 const FXTEXT_CHARPOS* pCharPos, 148 virtual FX_BOOL StartDIBits(const CFX_DIBSource* pBitmap,
165 CFX_Font* pFont, 149 int bitmap_alpha,
166 CFX_FontCache* pCache, 150 FX_DWORD color,
167 const CFX_AffineMatrix* pGlyphMatrix, 151 const CFX_AffineMatrix* pMatrix,
168 const CFX_AffineMatrix* pObject2Device, 152 FX_DWORD flags,
169 FX_FLOAT font_size, 153 FX_LPVOID& handle,
170 FX_DWORD argb, 154 int alpha_flag = 0,
171 int alpha_flag, 155 void* pIccTransform = NULL,
172 void* pIccTransform); 156 int blend_type = FXDIB_BLEND_NORMAL) {
173 void CG_SetImageTransform(int dest_left, int dest_top, int dest_width, in t dest_height, CGRect* rect = NULL); 157 return FALSE;
174 protected: 158 }
175 CGContextRef _context; 159 virtual FX_BOOL ContinueDIBits(FX_LPVOID handle, IFX_Pause* pPause) {
176 CGAffineTransform _foxitDevice2User; 160 return FALSE;
177 CGAffineTransform _user2FoxitDevice; 161 }
178 FX_INT32 m_saveCount; 162 virtual void CancelDIBits(FX_LPVOID handle) {}
179 163 virtual FX_BOOL DrawDeviceText(int nChars,
180 FX_INT32 _width; 164 const FXTEXT_CHARPOS* pCharPos,
181 FX_INT32 _height; 165 CFX_Font* pFont,
182 FX_INT32 _bitsPerPixel; 166 CFX_FontCache* pCache,
183 FX_INT32 _deviceClass; 167 const CFX_AffineMatrix* pObject2Device,
184 FX_INT32 _renderCaps; 168 FX_FLOAT font_size,
185 FX_INT32 _horzSize; 169 FX_DWORD color,
186 FX_INT32 _vertSize; 170 int alpha_flag = 0,
187 }; 171 void* pIccTransform = NULL);
188 class CFX_FontProvider FX_FINAL : public IFX_FileRead 172 virtual void ClearDriver();
189 { 173
190 public: 174 protected:
191 virtual void Release() 175 void setStrokeInfo(const CFX_GraphStateData* graphState,
192 { 176 FX_ARGB argb,
193 delete this; 177 FX_FLOAT lineWidth);
194 } 178 void setFillInfo(FX_ARGB argb);
195 virtual FX_FILESIZE GetSize() 179 void setPathToContext(const CFX_PathData* pathData);
196 { 180 FX_FLOAT getLineWidth(const CFX_GraphStateData* graphState,
197 return (FX_FILESIZE)_totalSize; 181 CGAffineTransform ctm);
198 } 182 FX_BOOL CG_DrawGlypRun(int nChars,
199 virtual FX_BOOL ReadBlock(void* buffer, FX_FILESIZE offs et, size_t size); 183 const FXTEXT_CHARPOS* pCharPos,
200 184 CFX_Font* pFont,
201 virtual FX_BOOL IsEOF() 185 CFX_FontCache* pCache,
202 { 186 const CFX_AffineMatrix* pGlyphMatrix,
203 return _offSet == _totalSize; 187 const CFX_AffineMatrix* pObject2Device,
204 } 188 FX_FLOAT font_size,
205 virtual FX_FILESIZE GetPosition() 189 FX_DWORD argb,
206 { 190 int alpha_flag,
207 return (FX_FILESIZE)_offSet; 191 void* pIccTransform);
208 } 192 void CG_SetImageTransform(int dest_left,
209 virtual size_t ReadBlock(void* buffer, size_t size); 193 int dest_top,
210 public: 194 int dest_width,
211 CFX_FontProvider(CGFontRef cgFont); 195 int dest_height,
212 ~CFX_FontProvider(); 196 CGRect* rect = NULL);
213 void InitTableOffset(); 197
214 unsigned long Read(unsigned long offset, unsigned char *buffer, unsigned l ong count); 198 protected:
215 protected: 199 CGContextRef _context;
216 uint32_t CalcTableCheckSum(const uint32_t *table, uint32_t numberOfBytesInTa ble); 200 CGAffineTransform _foxitDevice2User;
217 uint32_t CalcTableDataRefCheckSum(CFDataRef dataRef); 201 CGAffineTransform _user2FoxitDevice;
218 private: 202 FX_INT32 m_saveCount;
219 CGFontRef m_cgFont; 203
220 UInt32 m_iTableSize; 204 FX_INT32 _width;
221 size_t _offSet; 205 FX_INT32 _height;
222 typedef struct FontHeader { 206 FX_INT32 _bitsPerPixel;
223 int32_t fVersion; 207 FX_INT32 _deviceClass;
224 uint16_t fNumTables; 208 FX_INT32 _renderCaps;
225 uint16_t fSearchRange; 209 FX_INT32 _horzSize;
226 uint16_t fEntrySelector; 210 FX_INT32 _vertSize;
227 uint16_t fRangeShift; 211 };
228 } FontHeader; 212 class CFX_FontProvider FX_FINAL : public IFX_FileRead {
229 typedef struct TableEntry { 213 public:
230 uint32_t fTag; 214 virtual void Release() { delete this; }
231 uint32_t fCheckSum; 215 virtual FX_FILESIZE GetSize() { return (FX_FILESIZE)_totalSize; }
232 uint32_t fOffset; 216 virtual FX_BOOL ReadBlock(void* buffer, FX_FILESIZE offset, size_t size);
233 uint32_t fLength; 217
234 } TableEntry; 218 virtual FX_BOOL IsEOF() { return _offSet == _totalSize; }
235 FontHeader _fontHeader; 219 virtual FX_FILESIZE GetPosition() { return (FX_FILESIZE)_offSet; }
236 unsigned char * _tableEntries; 220 virtual size_t ReadBlock(void* buffer, size_t size);
237 size_t * _tableOffsets; 221
238 int _tableCount; 222 public:
239 int _totalSize; 223 CFX_FontProvider(CGFontRef cgFont);
240 }; 224 ~CFX_FontProvider();
241 FX_UINT32 FX_GetHashCode( FX_LPCSTR pStr); 225 void InitTableOffset();
242 FX_DWORD FX_IOSGetMatchFamilyNameHashcode(FX_LPCSTR pFontName); 226 unsigned long Read(unsigned long offset,
227 unsigned char* buffer,
228 unsigned long count);
229
230 protected:
231 uint32_t CalcTableCheckSum(const uint32_t* table,
232 uint32_t numberOfBytesInTable);
233 uint32_t CalcTableDataRefCheckSum(CFDataRef dataRef);
234
235 private:
236 CGFontRef m_cgFont;
237 UInt32 m_iTableSize;
238 size_t _offSet;
239 typedef struct FontHeader {
240 int32_t fVersion;
241 uint16_t fNumTables;
242 uint16_t fSearchRange;
243 uint16_t fEntrySelector;
244 uint16_t fRangeShift;
245 } FontHeader;
246 typedef struct TableEntry {
247 uint32_t fTag;
248 uint32_t fCheckSum;
249 uint32_t fOffset;
250 uint32_t fLength;
251 } TableEntry;
252 FontHeader _fontHeader;
253 unsigned char* _tableEntries;
254 size_t* _tableOffsets;
255 int _tableCount;
256 int _totalSize;
257 };
258 FX_UINT32 FX_GetHashCode(FX_LPCSTR pStr);
259 FX_DWORD FX_IOSGetMatchFamilyNameHashcode(FX_LPCSTR pFontName);
243 FX_UINT32 FX_IOSGetFamilyNamesCount(); 260 FX_UINT32 FX_IOSGetFamilyNamesCount();
244 FX_LPCSTR FX_IOSGetFamilyName( FX_UINT32 uIndex); 261 FX_LPCSTR FX_IOSGetFamilyName(FX_UINT32 uIndex);
245 #endif 262 #endif
246 #endif 263 #endif
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698