summaryrefslogtreecommitdiff
path: root/core/fxge/include/fx_ge.h
diff options
context:
space:
mode:
Diffstat (limited to 'core/fxge/include/fx_ge.h')
-rw-r--r--core/fxge/include/fx_ge.h85
1 files changed, 29 insertions, 56 deletions
diff --git a/core/fxge/include/fx_ge.h b/core/fxge/include/fx_ge.h
index b2e2b455e4..9114b47008 100644
--- a/core/fxge/include/fx_ge.h
+++ b/core/fxge/include/fx_ge.h
@@ -36,9 +36,10 @@ class CFX_GEModule {
m_pCodecModule = pCodecModule;
}
CCodec_ModuleMgr* GetCodecModule() { return m_pCodecModule; }
- FXFT_Library m_FTLibrary;
void* GetPlatformData() { return m_pPlatformData; }
+ FXFT_Library m_FTLibrary;
+
protected:
explicit CFX_GEModule(const char** pUserFontPaths);
~CFX_GEModule();
@@ -71,16 +72,18 @@ struct FX_PATHPOINT {
class CFX_ClipRgn {
public:
+ enum ClipType { RectI, MaskF };
+
CFX_ClipRgn(int device_width, int device_height);
explicit CFX_ClipRgn(const FX_RECT& rect);
CFX_ClipRgn(const CFX_ClipRgn& src);
~CFX_ClipRgn();
- enum ClipType { RectI, MaskF };
- void Reset(const FX_RECT& rect);
ClipType GetType() const { return m_Type; }
const FX_RECT& GetBox() const { return m_Box; }
CFX_DIBitmapRef GetMask() const { return m_Mask; }
+
+ void Reset(const FX_RECT& rect);
void IntersectRect(const FX_RECT& rect);
void IntersectMaskF(int left, int top, CFX_DIBitmapRef Mask);
@@ -103,6 +106,7 @@ class CFX_PathData {
FX_FLOAT GetPointX(int index) const { return m_pPoints[index].m_PointX; }
FX_FLOAT GetPointY(int index) const { return m_pPoints[index].m_PointY; }
FX_PATHPOINT* GetPoints() const { return m_pPoints; }
+
void SetPointCount(int nPoints);
void AllocPointCount(int nPoints);
void AddPointCount(int addPoints);
@@ -131,6 +135,8 @@ class CFX_PathData {
class CFX_GraphStateData {
public:
+ enum LineCap { LineCapButt = 0, LineCapRound = 1, LineCapSquare = 2 };
+
CFX_GraphStateData();
CFX_GraphStateData(const CFX_GraphStateData& src);
~CFX_GraphStateData();
@@ -138,7 +144,6 @@ class CFX_GraphStateData {
void Copy(const CFX_GraphStateData& src);
void SetDashCount(int count);
- enum LineCap { LineCapButt = 0, LineCapRound = 1, LineCapSquare = 2 };
LineCap m_LineCap;
int m_DashCount;
FX_FLOAT* m_DashArray;
@@ -216,6 +221,7 @@ class CFX_RenderDevice {
void EndRendering();
void SaveState();
void RestoreState(bool bKeepSaved);
+
int GetWidth() const { return m_Width; }
int GetHeight() const { return m_Height; }
int GetDeviceClass() const { return m_DeviceClass; }
@@ -308,10 +314,7 @@ class CFX_RenderDevice {
int top,
int dest_width,
int dest_height,
- uint32_t color) {
- return StretchBitMaskWithFlags(pBitmap, left, top, dest_width, dest_height,
- color, 0);
- }
+ uint32_t color);
FX_BOOL StretchBitMaskWithFlags(const CFX_DIBSource* pBitmap,
int left,
int top,
@@ -421,35 +424,29 @@ class CFX_FxgeDevice : public CFX_RenderDevice {
class IFX_RenderDeviceDriver {
public:
+ virtual ~IFX_RenderDeviceDriver();
+
static IFX_RenderDeviceDriver* CreateFxgeDriver(CFX_DIBitmap* pBitmap,
FX_BOOL bRgbByteOrder,
CFX_DIBitmap* pOriDevice,
FX_BOOL bGroupKnockout);
- virtual ~IFX_RenderDeviceDriver() {}
virtual int GetDeviceCaps(int caps_id) = 0;
- virtual CFX_Matrix GetCTM() const { return CFX_Matrix(); }
-
- virtual FX_BOOL StartRendering() { return TRUE; }
-
- virtual void EndRendering() {}
+ virtual CFX_Matrix GetCTM() const;
+ virtual FX_BOOL StartRendering();
+ virtual void EndRendering();
virtual void SaveState() = 0;
-
virtual void RestoreState(bool bKeepSaved) = 0;
virtual FX_BOOL SetClip_PathFill(const CFX_PathData* pPathData,
const CFX_Matrix* pObject2Device,
int fill_mode) = 0;
-
virtual FX_BOOL SetClip_PathStroke(const CFX_PathData* pPathData,
const CFX_Matrix* pObject2Device,
- const CFX_GraphStateData* pGraphState) {
- return FALSE;
- }
-
+ const CFX_GraphStateData* pGraphState);
virtual FX_BOOL DrawPath(const CFX_PathData* pPathData,
const CFX_Matrix* pObject2Device,
const CFX_GraphStateData* pGraphState,
@@ -457,38 +454,26 @@ class IFX_RenderDeviceDriver {
uint32_t stroke_color,
int fill_mode,
int blend_type) = 0;
-
- virtual FX_BOOL SetPixel(int x, int y, uint32_t color) { return FALSE; }
-
+ virtual FX_BOOL SetPixel(int x, int y, uint32_t color);
virtual FX_BOOL FillRectWithBlend(const FX_RECT* pRect,
uint32_t fill_color,
- int blend_type) {
- return FALSE;
- }
-
+ int blend_type);
virtual FX_BOOL DrawCosmeticLine(FX_FLOAT x1,
FX_FLOAT y1,
FX_FLOAT x2,
FX_FLOAT y2,
uint32_t color,
- int blend_type) {
- return FALSE;
- }
+ int blend_type);
virtual FX_BOOL GetClipBox(FX_RECT* pRect) = 0;
-
- virtual FX_BOOL GetDIBits(CFX_DIBitmap* pBitmap, int left, int top) {
- return FALSE;
- }
- virtual CFX_DIBitmap* GetBackDrop() { return nullptr; }
-
+ virtual FX_BOOL GetDIBits(CFX_DIBitmap* pBitmap, int left, int top);
+ virtual CFX_DIBitmap* GetBackDrop();
virtual FX_BOOL SetDIBits(const CFX_DIBSource* pBitmap,
uint32_t color,
const FX_RECT* pSrcRect,
int dest_left,
int dest_top,
int blend_type) = 0;
-
virtual FX_BOOL StretchDIBits(const CFX_DIBSource* pBitmap,
uint32_t color,
int dest_left,
@@ -498,7 +483,6 @@ class IFX_RenderDeviceDriver {
const FX_RECT* pClipRect,
uint32_t flags,
int blend_type) = 0;
-
virtual FX_BOOL StartDIBits(const CFX_DIBSource* pBitmap,
int bitmap_alpha,
uint32_t color,
@@ -506,34 +490,23 @@ class IFX_RenderDeviceDriver {
uint32_t flags,
void*& handle,
int blend_type) = 0;
-
- virtual FX_BOOL ContinueDIBits(void* handle, IFX_Pause* pPause) {
- return FALSE;
- }
-
- virtual void CancelDIBits(void* handle) {}
-
+ virtual FX_BOOL ContinueDIBits(void* handle, IFX_Pause* pPause);
+ virtual void CancelDIBits(void* handle);
virtual FX_BOOL DrawDeviceText(int nChars,
const FXTEXT_CHARPOS* pCharPos,
CFX_Font* pFont,
CFX_FontCache* pCache,
const CFX_Matrix* pObject2Device,
FX_FLOAT font_size,
- uint32_t color) {
- return FALSE;
- }
-
- virtual void* GetPlatformSurface() const { return nullptr; }
- virtual int GetDriverType() const { return 0; }
- virtual void ClearDriver() {}
-
+ uint32_t color);
+ virtual void* GetPlatformSurface() const;
+ virtual int GetDriverType() const;
+ virtual void ClearDriver();
virtual FX_BOOL DrawShading(const CPDF_ShadingPattern* pPattern,
const CFX_Matrix* pMatrix,
const FX_RECT& clip_rect,
int alpha,
- FX_BOOL bAlphaMode) {
- return false;
- }
+ FX_BOOL bAlphaMode);
};
#endif // CORE_FXGE_INCLUDE_FX_GE_H_