Index: core/src/fxge/apple/apple_int.h |
diff --git a/core/src/fxge/apple/apple_int.h b/core/src/fxge/apple/apple_int.h |
index 090ac0924a289c021124ac43b368a1b64687ef2a..ba3d0a83e865098c1385099843d1eba025ab7886 100644 |
--- a/core/src/fxge/apple/apple_int.h |
+++ b/core/src/fxge/apple/apple_int.h |
@@ -7,234 +7,257 @@ |
#ifndef CORE_SRC_FXGE_APPLE_APPLE_INT_H_ |
#define CORE_SRC_FXGE_APPLE_APPLE_INT_H_ |
-#if _FXM_PLATFORM_ == _FXM_PLATFORM_APPLE_ |
+#if _FXM_PLATFORM_ == _FXM_PLATFORM_APPLE_ |
#if _FX_OS_ == _FX_MACOSX_ |
#include <Carbon/Carbon.h> |
#endif |
typedef enum eFXIOSFONTCHARSET { |
- eFXFontCharsetDEFAULT = 0, |
- eFXFontCharsetANSI = 1, |
- eFXFontCharsetSYMBOL = 1 << 1, |
- eFXFontCharsetSHIFTJIS = 1 << 2, |
- eFXFontCharsetHANGEUL = 1 << 3, |
- eFXFontCharsetGB2312 = 1 << 4, |
- eFXFontCharsetCHINESEBIG5 = 1 << 5, |
- eFXFontCharsetTHAI = 1 << 6, |
- eFXFontCharsetEASTEUROPE = 1 << 7, |
- eFXFontCharsetRUSSIAN = 1 << 8, |
- eFXFontCharsetGREEK = 1 << 9, |
- eFXFontCharsetTURKISH = 1 << 10, |
- eFXFontCharsetHEBREW = 1 << 11, |
- eFXFontCharsetARABIC = 1 << 12, |
- eFXFontCharsetBALTIC = 1 << 13, |
+ eFXFontCharsetDEFAULT = 0, |
+ eFXFontCharsetANSI = 1, |
+ eFXFontCharsetSYMBOL = 1 << 1, |
+ eFXFontCharsetSHIFTJIS = 1 << 2, |
+ eFXFontCharsetHANGEUL = 1 << 3, |
+ eFXFontCharsetGB2312 = 1 << 4, |
+ eFXFontCharsetCHINESEBIG5 = 1 << 5, |
+ eFXFontCharsetTHAI = 1 << 6, |
+ eFXFontCharsetEASTEUROPE = 1 << 7, |
+ eFXFontCharsetRUSSIAN = 1 << 8, |
+ eFXFontCharsetGREEK = 1 << 9, |
+ eFXFontCharsetTURKISH = 1 << 10, |
+ eFXFontCharsetHEBREW = 1 << 11, |
+ eFXFontCharsetARABIC = 1 << 12, |
+ eFXFontCharsetBALTIC = 1 << 13, |
} FX_IOSCHARSET; |
FX_IOSCHARSET FX_GetiOSCharset(int charset); |
typedef enum eFXIOSFONTFLAG { |
- eFXFontFlagBold = 1, |
- eFXFontFlagItalic = 1 << 1, |
- eFXFontFlagFixedPitch = 1 << 2, |
- eFXFontFlagSerif = 1 << 3, |
- eFXFontFlagScript = 1 << 4, |
+ eFXFontFlagBold = 1, |
+ eFXFontFlagItalic = 1 << 1, |
+ eFXFontFlagFixedPitch = 1 << 2, |
+ eFXFontFlagSerif = 1 << 3, |
+ eFXFontFlagScript = 1 << 4, |
} FX_IOSFONTFLAG; |
typedef struct _IOS_FONTDATA { |
- FX_DWORD nHashCode; |
- const char* psName; |
- FX_DWORD charsets; |
- FX_DWORD styles; |
+ FX_DWORD nHashCode; |
+ const char* psName; |
+ FX_DWORD charsets; |
+ FX_DWORD styles; |
} IOS_FONTDATA; |
-class CQuartz2D |
-{ |
-public: |
- void* createGraphics(CFX_DIBitmap* bitmap); |
- void destroyGraphics(void* graphics); |
+class CQuartz2D { |
+ public: |
+ void* createGraphics(CFX_DIBitmap* bitmap); |
+ void destroyGraphics(void* graphics); |
- void* CreateFont(const uint8_t* pFontData, FX_DWORD dwFontSize); |
- void DestroyFont(void* pFont); |
- void setGraphicsTextMatrix(void* graphics, CFX_AffineMatrix* matrix); |
- FX_BOOL drawGraphicsString(void* graphics, |
- void* font, |
- FX_FLOAT fontSize, |
- FX_WORD* glyphIndices, |
- CGPoint* glyphPositions, |
- int32_t chars, |
- FX_ARGB argb, |
- CFX_AffineMatrix* matrix = NULL); |
- void saveGraphicsState(void* graphics); |
- void restoreGraphicsState(void* graphics); |
+ void* CreateFont(const uint8_t* pFontData, FX_DWORD dwFontSize); |
+ void DestroyFont(void* pFont); |
+ void setGraphicsTextMatrix(void* graphics, CFX_AffineMatrix* matrix); |
+ FX_BOOL drawGraphicsString(void* graphics, |
+ void* font, |
+ FX_FLOAT fontSize, |
+ FX_WORD* glyphIndices, |
+ CGPoint* glyphPositions, |
+ int32_t chars, |
+ FX_ARGB argb, |
+ CFX_AffineMatrix* matrix = NULL); |
+ void saveGraphicsState(void* graphics); |
+ void restoreGraphicsState(void* graphics); |
}; |
-class CApplePlatform |
-{ |
-public: |
- CApplePlatform() {} |
- ~CApplePlatform() {} |
+class CApplePlatform { |
+ public: |
+ CApplePlatform() {} |
+ ~CApplePlatform() {} |
- CQuartz2D _quartz2d; |
+ CQuartz2D _quartz2d; |
}; |
-class CFX_QuartzDeviceDriver : public IFX_RenderDeviceDriver |
-{ |
-public: |
- CFX_QuartzDeviceDriver(CGContextRef context, int32_t deviceClass); |
- virtual ~CFX_QuartzDeviceDriver(); |
+class CFX_QuartzDeviceDriver : public IFX_RenderDeviceDriver { |
+ public: |
+ CFX_QuartzDeviceDriver(CGContextRef context, int32_t deviceClass); |
+ virtual ~CFX_QuartzDeviceDriver(); |
- virtual int GetDeviceCaps(int caps_id); |
- virtual CFX_Matrix GetCTM() const; |
- virtual CFX_DIBitmap* GetBackDrop() |
- { |
- return NULL; |
- } |
- virtual void* GetPlatformSurface() |
- { |
- return NULL; |
- } |
- virtual FX_BOOL IsPSPrintDriver() |
- { |
- return FALSE; |
- } |
- virtual FX_BOOL StartRendering() |
- { |
- return TRUE; |
- } |
- virtual void EndRendering() {} |
- virtual void SaveState(); |
- virtual void RestoreState(FX_BOOL bKeepSaved); |
- virtual FX_BOOL SetClip_PathFill(const CFX_PathData* pPathData, |
+ virtual int GetDeviceCaps(int caps_id); |
+ virtual CFX_Matrix GetCTM() const; |
+ virtual CFX_DIBitmap* GetBackDrop() { return NULL; } |
+ virtual void* GetPlatformSurface() { return NULL; } |
+ virtual FX_BOOL IsPSPrintDriver() { return FALSE; } |
+ virtual FX_BOOL StartRendering() { return TRUE; } |
+ virtual void EndRendering() {} |
+ virtual void SaveState(); |
+ virtual void RestoreState(FX_BOOL bKeepSaved); |
+ virtual FX_BOOL SetClip_PathFill(const CFX_PathData* pPathData, |
+ const CFX_AffineMatrix* pObject2Device, |
+ int fill_mode); |
+ virtual FX_BOOL SetClip_PathStroke(const CFX_PathData* pPathData, |
const CFX_AffineMatrix* pObject2Device, |
- int fill_mode |
- ); |
- virtual FX_BOOL SetClip_PathStroke(const CFX_PathData* pPathData, |
- const CFX_AffineMatrix* pObject2Device, |
- const CFX_GraphStateData* pGraphState |
- ); |
- virtual FX_BOOL DrawPath(const CFX_PathData* pPathData, |
- const CFX_AffineMatrix* pObject2Device, |
- const CFX_GraphStateData* pGraphState, |
- FX_DWORD fill_color, |
- FX_DWORD stroke_color, |
- int fill_mode, |
- int alpha_flag = 0, |
- void* pIccTransform = NULL, |
- int blend_type = FXDIB_BLEND_NORMAL |
- ); |
- virtual FX_BOOL SetPixel(int x, int y, FX_DWORD color, |
- int alpha_flag = 0, void* pIccTransform = NULL) |
- { |
- return FALSE; |
- } |
- virtual FX_BOOL FillRect(const FX_RECT* pRect, FX_DWORD fill_color, |
- int alpha_flag = 0, void* pIccTransform = NULL, int blend_type = FXDIB_BLEND_NORMAL); |
- virtual FX_BOOL DrawCosmeticLine(FX_FLOAT x1, FX_FLOAT y1, FX_FLOAT x2, FX_FLOAT y2, FX_DWORD color, |
- int alpha_flag = 0, void* pIccTransform = NULL, int blend_type = FXDIB_BLEND_NORMAL); |
- virtual FX_BOOL GetClipBox(FX_RECT* pRect); |
- virtual FX_BOOL GetDIBits(CFX_DIBitmap* pBitmap, int left, int top, void* pIccTransform = NULL, FX_BOOL bDEdge = FALSE); |
- virtual FX_BOOL SetDIBits(const CFX_DIBSource* pBitmap, FX_DWORD color, const FX_RECT* pSrcRect, |
- int dest_left, int dest_top, int blend_type, |
- int alpha_flag = 0, void* pIccTransform = NULL); |
- virtual FX_BOOL StretchDIBits(const CFX_DIBSource* pBitmap, FX_DWORD color, int dest_left, int dest_top, |
- int dest_width, int dest_height, const FX_RECT* pClipRect, FX_DWORD flags, |
- int alpha_flag = 0, void* pIccTransform = NULL, int blend_type = FXDIB_BLEND_NORMAL); |
- virtual FX_BOOL StartDIBits(const CFX_DIBSource* pBitmap, int bitmap_alpha, FX_DWORD color, |
- const CFX_AffineMatrix* pMatrix, FX_DWORD flags, void*& handle, |
- int alpha_flag = 0, void* pIccTransform = NULL, |
- int blend_type = FXDIB_BLEND_NORMAL) |
- { |
- return FALSE; |
- } |
- virtual FX_BOOL ContinueDIBits(void* handle, IFX_Pause* pPause) |
- { |
- return FALSE; |
- } |
- virtual void CancelDIBits(void* handle) {} |
- virtual FX_BOOL DrawDeviceText(int nChars, const FXTEXT_CHARPOS* pCharPos, CFX_Font* pFont, |
- CFX_FontCache* pCache, const CFX_AffineMatrix* pObject2Device, FX_FLOAT font_size, FX_DWORD color, |
- int alpha_flag = 0, void* pIccTransform = NULL); |
- virtual void ClearDriver(); |
-protected: |
- void setStrokeInfo(const CFX_GraphStateData * graphState, FX_ARGB argb, FX_FLOAT lineWidth); |
- void setFillInfo(FX_ARGB argb); |
- void setPathToContext(const CFX_PathData * pathData); |
- FX_FLOAT getLineWidth(const CFX_GraphStateData * graphState, CGAffineTransform ctm); |
- FX_BOOL CG_DrawGlypRun(int nChars, |
- const FXTEXT_CHARPOS* pCharPos, |
- CFX_Font* pFont, |
- CFX_FontCache* pCache, |
- const CFX_AffineMatrix* pGlyphMatrix, |
- const CFX_AffineMatrix* pObject2Device, |
- FX_FLOAT font_size, |
- FX_DWORD argb, |
- int alpha_flag, |
- void* pIccTransform); |
- void CG_SetImageTransform(int dest_left, int dest_top, int dest_width, int dest_height, CGRect* rect = NULL); |
-protected: |
- CGContextRef _context; |
- CGAffineTransform _foxitDevice2User; |
- CGAffineTransform _user2FoxitDevice; |
- int32_t m_saveCount; |
+ const CFX_GraphStateData* pGraphState); |
+ virtual FX_BOOL DrawPath(const CFX_PathData* pPathData, |
+ const CFX_AffineMatrix* pObject2Device, |
+ const CFX_GraphStateData* pGraphState, |
+ FX_DWORD fill_color, |
+ FX_DWORD stroke_color, |
+ int fill_mode, |
+ int alpha_flag = 0, |
+ void* pIccTransform = NULL, |
+ int blend_type = FXDIB_BLEND_NORMAL); |
+ virtual FX_BOOL SetPixel(int x, |
+ int y, |
+ FX_DWORD color, |
+ int alpha_flag = 0, |
+ void* pIccTransform = NULL) { |
+ return FALSE; |
+ } |
+ virtual FX_BOOL FillRect(const FX_RECT* pRect, |
+ FX_DWORD fill_color, |
+ int alpha_flag = 0, |
+ void* pIccTransform = NULL, |
+ int blend_type = FXDIB_BLEND_NORMAL); |
+ virtual FX_BOOL DrawCosmeticLine(FX_FLOAT x1, |
+ FX_FLOAT y1, |
+ FX_FLOAT x2, |
+ FX_FLOAT y2, |
+ FX_DWORD color, |
+ int alpha_flag = 0, |
+ void* pIccTransform = NULL, |
+ int blend_type = FXDIB_BLEND_NORMAL); |
+ virtual FX_BOOL GetClipBox(FX_RECT* pRect); |
+ virtual FX_BOOL GetDIBits(CFX_DIBitmap* pBitmap, |
+ int left, |
+ int top, |
+ void* pIccTransform = NULL, |
+ FX_BOOL bDEdge = FALSE); |
+ virtual FX_BOOL SetDIBits(const CFX_DIBSource* pBitmap, |
+ FX_DWORD color, |
+ const FX_RECT* pSrcRect, |
+ int dest_left, |
+ int dest_top, |
+ int blend_type, |
+ int alpha_flag = 0, |
+ void* pIccTransform = NULL); |
+ virtual FX_BOOL StretchDIBits(const CFX_DIBSource* pBitmap, |
+ FX_DWORD color, |
+ int dest_left, |
+ int dest_top, |
+ int dest_width, |
+ int dest_height, |
+ const FX_RECT* pClipRect, |
+ FX_DWORD flags, |
+ int alpha_flag = 0, |
+ void* pIccTransform = NULL, |
+ int blend_type = FXDIB_BLEND_NORMAL); |
+ virtual FX_BOOL StartDIBits(const CFX_DIBSource* pBitmap, |
+ int bitmap_alpha, |
+ FX_DWORD color, |
+ const CFX_AffineMatrix* pMatrix, |
+ FX_DWORD flags, |
+ void*& handle, |
+ int alpha_flag = 0, |
+ void* pIccTransform = NULL, |
+ int blend_type = FXDIB_BLEND_NORMAL) { |
+ return FALSE; |
+ } |
+ virtual FX_BOOL ContinueDIBits(void* handle, IFX_Pause* pPause) { |
+ return FALSE; |
+ } |
+ virtual void CancelDIBits(void* handle) {} |
+ virtual FX_BOOL DrawDeviceText(int nChars, |
+ const FXTEXT_CHARPOS* pCharPos, |
+ CFX_Font* pFont, |
+ CFX_FontCache* pCache, |
+ const CFX_AffineMatrix* pObject2Device, |
+ FX_FLOAT font_size, |
+ FX_DWORD color, |
+ int alpha_flag = 0, |
+ void* pIccTransform = NULL); |
+ virtual void ClearDriver(); |
- int32_t _width; |
- int32_t _height; |
- int32_t _bitsPerPixel; |
- int32_t _deviceClass; |
- int32_t _renderCaps; |
- int32_t _horzSize; |
- int32_t _vertSize; |
+ protected: |
+ void setStrokeInfo(const CFX_GraphStateData* graphState, |
+ FX_ARGB argb, |
+ FX_FLOAT lineWidth); |
+ void setFillInfo(FX_ARGB argb); |
+ void setPathToContext(const CFX_PathData* pathData); |
+ FX_FLOAT getLineWidth(const CFX_GraphStateData* graphState, |
+ CGAffineTransform ctm); |
+ FX_BOOL CG_DrawGlypRun(int nChars, |
+ const FXTEXT_CHARPOS* pCharPos, |
+ CFX_Font* pFont, |
+ CFX_FontCache* pCache, |
+ const CFX_AffineMatrix* pGlyphMatrix, |
+ const CFX_AffineMatrix* pObject2Device, |
+ FX_FLOAT font_size, |
+ FX_DWORD argb, |
+ int alpha_flag, |
+ void* pIccTransform); |
+ void CG_SetImageTransform(int dest_left, |
+ int dest_top, |
+ int dest_width, |
+ int dest_height, |
+ CGRect* rect = NULL); |
+ |
+ protected: |
+ CGContextRef _context; |
+ CGAffineTransform _foxitDevice2User; |
+ CGAffineTransform _user2FoxitDevice; |
+ int32_t m_saveCount; |
+ |
+ int32_t _width; |
+ int32_t _height; |
+ int32_t _bitsPerPixel; |
+ int32_t _deviceClass; |
+ int32_t _renderCaps; |
+ int32_t _horzSize; |
+ int32_t _vertSize; |
}; |
-class CFX_FontProvider final : public IFX_FileRead |
-{ |
-public: |
- virtual void Release() override |
- { |
- delete this; |
- } |
- virtual FX_FILESIZE GetSize() override |
- { |
- return (FX_FILESIZE)_totalSize; |
- } |
- virtual FX_BOOL ReadBlock(void* buffer, FX_FILESIZE offset, size_t size) override; |
+class CFX_FontProvider final : public IFX_FileRead { |
+ public: |
+ virtual void Release() override { delete this; } |
+ virtual FX_FILESIZE GetSize() override { return (FX_FILESIZE)_totalSize; } |
+ virtual FX_BOOL ReadBlock(void* buffer, |
+ FX_FILESIZE offset, |
+ size_t size) override; |
+ |
+ virtual FX_BOOL IsEOF() override { return _offSet == _totalSize; } |
+ virtual FX_FILESIZE GetPosition() override { return (FX_FILESIZE)_offSet; } |
+ virtual size_t ReadBlock(void* buffer, size_t size) override; |
+ |
+ public: |
+ CFX_FontProvider(CGFontRef cgFont); |
+ ~CFX_FontProvider(); |
+ void InitTableOffset(); |
+ unsigned long Read(unsigned long offset, |
+ unsigned char* buffer, |
+ unsigned long count); |
+ |
+ protected: |
+ uint32_t CalcTableCheckSum(const uint32_t* table, |
+ uint32_t numberOfBytesInTable); |
+ uint32_t CalcTableDataRefCheckSum(CFDataRef dataRef); |
- virtual FX_BOOL IsEOF() override |
- { |
- return _offSet == _totalSize; |
- } |
- virtual FX_FILESIZE GetPosition() override |
- { |
- return (FX_FILESIZE)_offSet; |
- } |
- virtual size_t ReadBlock(void* buffer, size_t size) override; |
-public: |
- CFX_FontProvider(CGFontRef cgFont); |
- ~CFX_FontProvider(); |
- void InitTableOffset(); |
- unsigned long Read(unsigned long offset, unsigned char *buffer, unsigned long count); |
-protected: |
- uint32_t CalcTableCheckSum(const uint32_t *table, uint32_t numberOfBytesInTable); |
- uint32_t CalcTableDataRefCheckSum(CFDataRef dataRef); |
-private: |
- CGFontRef m_cgFont; |
- UInt32 m_iTableSize; |
- size_t _offSet; |
- typedef struct FontHeader { |
- int32_t fVersion; |
- uint16_t fNumTables; |
- uint16_t fSearchRange; |
- uint16_t fEntrySelector; |
- uint16_t fRangeShift; |
- } FontHeader; |
- typedef struct TableEntry { |
- uint32_t fTag; |
- uint32_t fCheckSum; |
- uint32_t fOffset; |
- uint32_t fLength; |
- } TableEntry; |
- FontHeader _fontHeader; |
- unsigned char * _tableEntries; |
- size_t * _tableOffsets; |
- int _tableCount; |
- int _totalSize; |
+ private: |
+ CGFontRef m_cgFont; |
+ UInt32 m_iTableSize; |
+ size_t _offSet; |
+ typedef struct FontHeader { |
+ int32_t fVersion; |
+ uint16_t fNumTables; |
+ uint16_t fSearchRange; |
+ uint16_t fEntrySelector; |
+ uint16_t fRangeShift; |
+ } FontHeader; |
+ typedef struct TableEntry { |
+ uint32_t fTag; |
+ uint32_t fCheckSum; |
+ uint32_t fOffset; |
+ uint32_t fLength; |
+ } TableEntry; |
+ FontHeader _fontHeader; |
+ unsigned char* _tableEntries; |
+ size_t* _tableOffsets; |
+ int _tableCount; |
+ int _totalSize; |
}; |
-uint32_t FX_GetHashCode( const FX_CHAR* pStr); |
-FX_DWORD FX_IOSGetMatchFamilyNameHashcode(const FX_CHAR* pFontName); |
+uint32_t FX_GetHashCode(const FX_CHAR* pStr); |
+FX_DWORD FX_IOSGetMatchFamilyNameHashcode(const FX_CHAR* pFontName); |
uint32_t FX_IOSGetFamilyNamesCount(); |
-const FX_CHAR* FX_IOSGetFamilyName( uint32_t uIndex); |
+const FX_CHAR* FX_IOSGetFamilyName(uint32_t uIndex); |
#endif |
#endif // CORE_SRC_FXGE_APPLE_APPLE_INT_H_ |