diff options
Diffstat (limited to 'core/fxge/include')
-rw-r--r-- | core/fxge/include/fx_ge.h | 87 | ||||
-rw-r--r-- | core/fxge/include/fx_ge_win32.h | 3 | ||||
-rw-r--r-- | core/fxge/include/ifx_renderdevicedriver.h | 104 |
3 files changed, 107 insertions, 87 deletions
diff --git a/core/fxge/include/fx_ge.h b/core/fxge/include/fx_ge.h index 538afdb581..5599a75f59 100644 --- a/core/fxge/include/fx_ge.h +++ b/core/fxge/include/fx_ge.h @@ -423,91 +423,4 @@ class CFX_FxgeDevice : public CFX_RenderDevice { bool m_bOwnedBitmap; }; -class IFX_RenderDeviceDriver { - public: - virtual ~IFX_RenderDeviceDriver(); - - static IFX_RenderDeviceDriver* CreateFxgeDriver(CFX_DIBitmap* pBitmap, - FX_BOOL bRgbByteOrder, - CFX_DIBitmap* pOriDevice, - FX_BOOL bGroupKnockout); - - - virtual int GetDeviceCaps(int caps_id) = 0; - - 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); - virtual FX_BOOL DrawPath(const CFX_PathData* pPathData, - const CFX_Matrix* pObject2Device, - const CFX_GraphStateData* pGraphState, - uint32_t fill_color, - uint32_t stroke_color, - int fill_mode, - int blend_type) = 0; - 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); - virtual FX_BOOL DrawCosmeticLine(FX_FLOAT x1, - FX_FLOAT y1, - FX_FLOAT x2, - FX_FLOAT y2, - uint32_t color, - int blend_type); - - virtual FX_BOOL GetClipBox(FX_RECT* pRect) = 0; - 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, - int dest_top, - int dest_width, - int dest_height, - 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, - const CFX_Matrix* pMatrix, - uint32_t flags, - void*& handle, - int blend_type) = 0; - 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); - 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); -}; - #endif // CORE_FXGE_INCLUDE_FX_GE_H_ diff --git a/core/fxge/include/fx_ge_win32.h b/core/fxge/include/fx_ge_win32.h index 703093d92f..c0889c1852 100644 --- a/core/fxge/include/fx_ge_win32.h +++ b/core/fxge/include/fx_ge_win32.h @@ -13,6 +13,9 @@ #endif #define WINDIB_OPEN_MEMORY 0x1 #define WINDIB_OPEN_PATHNAME 0x2 + +class IFX_RenderDeviceDriver; + typedef struct WINDIB_Open_Args_ { int flags; diff --git a/core/fxge/include/ifx_renderdevicedriver.h b/core/fxge/include/ifx_renderdevicedriver.h new file mode 100644 index 0000000000..572469b8c0 --- /dev/null +++ b/core/fxge/include/ifx_renderdevicedriver.h @@ -0,0 +1,104 @@ +// Copyright 2016 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#ifndef CORE_FXGE_INCLUDE_IFX_RENDERDEVICEDRIVER_H_ +#define CORE_FXGE_INCLUDE_IFX_RENDERDEVICEDRIVER_H_ + +#include "core/fxcrt/include/fx_system.h" + +class CFX_DIBitmap; +class CFX_DIBSource; +class CFX_Font; +class CFX_FontCache; +class CFX_GraphStateData; +class CFX_Matrix; +class CFX_PathData; +class CPDF_ShadingPattern; +class IFX_Pause; +struct FXTEXT_CHARPOS; +struct FX_RECT; + +class IFX_RenderDeviceDriver { + public: + virtual ~IFX_RenderDeviceDriver(); + + virtual int GetDeviceCaps(int caps_id) const = 0; + 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); + virtual FX_BOOL DrawPath(const CFX_PathData* pPathData, + const CFX_Matrix* pObject2Device, + const CFX_GraphStateData* pGraphState, + uint32_t fill_color, + uint32_t stroke_color, + int fill_mode, + int blend_type) = 0; + 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); + virtual FX_BOOL DrawCosmeticLine(FX_FLOAT x1, + FX_FLOAT y1, + FX_FLOAT x2, + FX_FLOAT y2, + uint32_t color, + int blend_type); + + virtual FX_BOOL GetClipBox(FX_RECT* pRect) = 0; + 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, + int dest_top, + int dest_width, + int dest_height, + 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, + const CFX_Matrix* pMatrix, + uint32_t flags, + void*& handle, + int blend_type) = 0; + 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); + 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); +}; + +#endif // CORE_FXGE_INCLUDE_IFX_RENDERDEVICEDRIVER_H_ |