| Index: core/include/fxge/fx_ge.h
|
| diff --git a/core/include/fxge/fx_ge.h b/core/include/fxge/fx_ge.h
|
| index e2a400e83d06a708ea9dbc40d5f77577ae318230..01a1c72a8f72859f3e153ef4d8ac44c4db0fd4cc 100644
|
| --- a/core/include/fxge/fx_ge.h
|
| +++ b/core/include/fxge/fx_ge.h
|
| @@ -608,4 +608,123 @@ class IFX_RenderDeviceDriver {
|
| virtual void ClearDriver() {}
|
| };
|
|
|
| +class IFX_PSOutput {
|
| + public:
|
| + virtual void Release() = 0;
|
| + virtual void OutputPS(const FX_CHAR* string, int len) = 0;
|
| +
|
| + protected:
|
| + virtual ~IFX_PSOutput() {}
|
| +};
|
| +
|
| +class CPSFont;
|
| +class CFX_PSRenderer {
|
| + public:
|
| + CFX_PSRenderer();
|
| +
|
| + ~CFX_PSRenderer();
|
| +
|
| + void Init(IFX_PSOutput* pOutput,
|
| + int ps_level,
|
| + int width,
|
| + int height,
|
| + FX_BOOL bCmykOutput);
|
| + FX_BOOL StartRendering();
|
| + void EndRendering();
|
| +
|
| + void SaveState();
|
| +
|
| + void RestoreState(FX_BOOL bKeepSaved = FALSE);
|
| +
|
| + void SetClip_PathFill(const CFX_PathData* pPathData,
|
| + const CFX_Matrix* pObject2Device,
|
| + int fill_mode);
|
| +
|
| + void SetClip_PathStroke(const CFX_PathData* pPathData,
|
| + const CFX_Matrix* pObject2Device,
|
| + const CFX_GraphStateData* pGraphState);
|
| +
|
| + FX_RECT GetClipBox() { return m_ClipBox; }
|
| +
|
| + FX_BOOL DrawPath(const CFX_PathData* pPathData,
|
| + const CFX_Matrix* pObject2Device,
|
| + const CFX_GraphStateData* pGraphState,
|
| + FX_DWORD fill_color,
|
| + FX_DWORD stroke_color,
|
| + int fill_mode,
|
| + int alpha_flag = 0,
|
| + void* pIccTransform = NULL);
|
| +
|
| + FX_BOOL SetDIBits(const CFX_DIBSource* pBitmap,
|
| + FX_DWORD color,
|
| + int dest_left,
|
| + int dest_top,
|
| + int alpha_flag = 0,
|
| + void* pIccTransform = NULL);
|
| +
|
| + FX_BOOL StretchDIBits(const CFX_DIBSource* pBitmap,
|
| + FX_DWORD color,
|
| + int dest_left,
|
| + int dest_top,
|
| + int dest_width,
|
| + int dest_height,
|
| + FX_DWORD flags,
|
| + int alpha_flag = 0,
|
| + void* pIccTransform = NULL);
|
| +
|
| + FX_BOOL DrawDIBits(const CFX_DIBSource* pBitmap,
|
| + FX_DWORD color,
|
| + const CFX_Matrix* pMatrix,
|
| + FX_DWORD flags,
|
| + int alpha_flag = 0,
|
| + void* pIccTransform = NULL);
|
| +
|
| + FX_BOOL DrawText(int nChars,
|
| + const FXTEXT_CHARPOS* pCharPos,
|
| + CFX_Font* pFont,
|
| + CFX_FontCache* pCache,
|
| + const CFX_Matrix* pObject2Device,
|
| + FX_FLOAT font_size,
|
| + FX_DWORD color,
|
| + int alpha_flag = 0,
|
| + void* pIccTransform = NULL);
|
| +
|
| + private:
|
| + IFX_PSOutput* m_pOutput;
|
| +
|
| + int m_PSLevel;
|
| +
|
| + CFX_GraphStateData m_CurGraphState;
|
| +
|
| + FX_BOOL m_bGraphStateSet;
|
| +
|
| + FX_BOOL m_bCmykOutput;
|
| +
|
| + FX_BOOL m_bColorSet;
|
| +
|
| + FX_DWORD m_LastColor;
|
| +
|
| + FX_RECT m_ClipBox;
|
| +
|
| + CFX_ArrayTemplate<CPSFont*> m_PSFontList;
|
| +
|
| + CFX_ArrayTemplate<FX_RECT> m_ClipBoxStack;
|
| + FX_BOOL m_bInited;
|
| +
|
| + void OutputPath(const CFX_PathData* pPathData,
|
| + const CFX_Matrix* pObject2Device);
|
| +
|
| + void SetGraphState(const CFX_GraphStateData* pGraphState);
|
| +
|
| + void SetColor(FX_DWORD color, int alpha_flag, void* pIccTransform);
|
| +
|
| + void FindPSFontGlyph(CFX_FaceCache* pFaceCache,
|
| + CFX_Font* pFont,
|
| + const FXTEXT_CHARPOS& charpos,
|
| + int& ps_fontnum,
|
| + int& ps_glyphindex);
|
| +
|
| + void WritePSBinary(const uint8_t* data, int len);
|
| +};
|
| +
|
| #endif // CORE_INCLUDE_FXGE_FX_GE_H_
|
|
|