summaryrefslogtreecommitdiff
path: root/xfa/src/fde/fde_renderdevice.h
diff options
context:
space:
mode:
authorDan Sinclair <dsinclair@chromium.org>2016-03-09 15:33:14 -0500
committerDan Sinclair <dsinclair@chromium.org>2016-03-09 15:33:14 -0500
commit2e95951e06bd4d11459fb257c7c2b8fc881854e8 (patch)
tree742484ab5d944d9c2c930133cc5968d6c6a5678d /xfa/src/fde/fde_renderdevice.h
parentea2a252c40f95616eb0f03318222f0c32ef90eff (diff)
downloadpdfium-2e95951e06bd4d11459fb257c7c2b8fc881854e8.tar.xz
Cleanup the xfa/src/fdp directory.
This CL renames xfa/src/fdp to xfa/src/fde to better match all of the content (nothing mentions fdp other then the directory name). The inner src/ and include/ folders are collapsed up a level and xfa/src/fdp/src/fde is moved up to xfa/src/fde. Some of the header moves conflicted with existing headers. In that case, the existing header had the content moved into the .cpp file and we replaced the existing header with the one from include/. R=tsepez@chromium.org Review URL: https://codereview.chromium.org/1784543002 .
Diffstat (limited to 'xfa/src/fde/fde_renderdevice.h')
-rw-r--r--xfa/src/fde/fde_renderdevice.h110
1 files changed, 110 insertions, 0 deletions
diff --git a/xfa/src/fde/fde_renderdevice.h b/xfa/src/fde/fde_renderdevice.h
new file mode 100644
index 0000000000..63a36642d9
--- /dev/null
+++ b/xfa/src/fde/fde_renderdevice.h
@@ -0,0 +1,110 @@
+// Copyright 2014 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 XFA_SRC_FDE_FDE_RENDERDEVICE_H_
+#define XFA_SRC_FDE_FDE_RENDERDEVICE_H_
+
+#include "core/include/fxcrt/fx_coordinates.h"
+#include "core/include/fxge/fx_font.h"
+#include "core/include/fxge/fx_ge.h"
+#include "xfa/src/fde/fde_path.h"
+#include "xfa/src/fgas/font/fgas_font.h"
+
+class IFDE_Pen;
+class IFDE_Brush;
+class CFX_DIBitmap;
+class CFX_DIBSource;
+
+typedef struct FDE_HDEVICESTATE_ { void* pData; } * FDE_HDEVICESTATE;
+
+class IFDE_RenderDevice {
+ public:
+ static IFDE_RenderDevice* Create(CFX_DIBitmap* pBitmap,
+ FX_BOOL bRgbByteOrder = FALSE);
+ static IFDE_RenderDevice* Create(CFX_RenderDevice* pDevice);
+ virtual ~IFDE_RenderDevice() {}
+ virtual void Release() = 0;
+
+ virtual int32_t GetWidth() const = 0;
+ virtual int32_t GetHeight() const = 0;
+ virtual FDE_HDEVICESTATE SaveState() = 0;
+ virtual void RestoreState(FDE_HDEVICESTATE hState) = 0;
+ virtual FX_BOOL SetClipPath(const IFDE_Path* pClip) = 0;
+ virtual IFDE_Path* GetClipPath() const = 0;
+ virtual FX_BOOL SetClipRect(const CFX_RectF& rtClip) = 0;
+ virtual const CFX_RectF& GetClipRect() = 0;
+
+ virtual FX_FLOAT GetDpiX() const = 0;
+ virtual FX_FLOAT GetDpiY() const = 0;
+
+ virtual FX_BOOL DrawImage(CFX_DIBSource* pDib,
+ const CFX_RectF* pSrcRect,
+ const CFX_RectF& dstRect,
+ const CFX_Matrix* pImgMatrix = NULL,
+ const CFX_Matrix* pDevMatrix = NULL) = 0;
+ virtual FX_BOOL DrawString(IFDE_Brush* pBrush,
+ IFX_Font* pFont,
+ const FXTEXT_CHARPOS* pCharPos,
+ int32_t iCount,
+ FX_FLOAT fFontSize,
+ const CFX_Matrix* pMatrix = NULL) = 0;
+ virtual FX_BOOL DrawBezier(IFDE_Pen* pPen,
+ FX_FLOAT fPenWidth,
+ const CFX_PointF& pt1,
+ const CFX_PointF& pt2,
+ const CFX_PointF& pt3,
+ const CFX_PointF& pt4,
+ const CFX_Matrix* pMatrix = NULL) = 0;
+ virtual FX_BOOL DrawCurve(IFDE_Pen* pPen,
+ FX_FLOAT fPenWidth,
+ const CFX_PointsF& points,
+ FX_BOOL bClosed,
+ FX_FLOAT fTension = 0.5f,
+ const CFX_Matrix* pMatrix = NULL) = 0;
+ virtual FX_BOOL DrawEllipse(IFDE_Pen* pPen,
+ FX_FLOAT fPenWidth,
+ const CFX_RectF& rect,
+ const CFX_Matrix* pMatrix = NULL) = 0;
+ virtual FX_BOOL DrawLines(IFDE_Pen* pPen,
+ FX_FLOAT fPenWidth,
+ const CFX_PointsF& points,
+ const CFX_Matrix* pMatrix = NULL) = 0;
+ virtual FX_BOOL DrawLine(IFDE_Pen* pPen,
+ FX_FLOAT fPenWidth,
+ const CFX_PointF& pt1,
+ const CFX_PointF& pt2,
+ const CFX_Matrix* pMatrix = NULL) = 0;
+ virtual FX_BOOL DrawPath(IFDE_Pen* pPen,
+ FX_FLOAT fPenWidth,
+ const IFDE_Path* pPath,
+ const CFX_Matrix* pMatrix = NULL) = 0;
+ virtual FX_BOOL DrawPolygon(IFDE_Pen* pPen,
+ FX_FLOAT fPenWidth,
+ const CFX_PointsF& points,
+ const CFX_Matrix* pMatrix = NULL) = 0;
+ virtual FX_BOOL DrawRectangle(IFDE_Pen* pPen,
+ FX_FLOAT fPenWidth,
+ const CFX_RectF& rect,
+ const CFX_Matrix* pMatrix = NULL) = 0;
+ virtual FX_BOOL FillClosedCurve(IFDE_Brush* pBrush,
+ const CFX_PointsF& points,
+ FX_FLOAT fTension = 0.5f,
+ const CFX_Matrix* pMatrix = NULL) = 0;
+ virtual FX_BOOL FillEllipse(IFDE_Brush* pBrush,
+ const CFX_RectF& rect,
+ const CFX_Matrix* pMatrix = NULL) = 0;
+ virtual FX_BOOL FillPath(IFDE_Brush* pBrush,
+ const IFDE_Path* pPath,
+ const CFX_Matrix* pMatrix = NULL) = 0;
+ virtual FX_BOOL FillPolygon(IFDE_Brush* pBrush,
+ const CFX_PointsF& points,
+ const CFX_Matrix* pMatrix = NULL) = 0;
+ virtual FX_BOOL FillRectangle(IFDE_Brush* pBrush,
+ const CFX_RectF& rect,
+ const CFX_Matrix* pMatrix = NULL) = 0;
+};
+
+#endif // XFA_SRC_FDE_FDE_RENDERDEVICE_H_