summaryrefslogtreecommitdiff
path: root/xfa/fde/cfde_renderdevice.h
diff options
context:
space:
mode:
authorDan Sinclair <dsinclair@chromium.org>2017-03-30 10:58:49 -0400
committerChromium commit bot <commit-bot@chromium.org>2017-03-30 17:40:25 +0000
commitd9828fd1653f0334c4e9b027d708dbc3df8c838a (patch)
tree24220e1e7cba8dd23898569f452de3191c7d66ab /xfa/fde/cfde_renderdevice.h
parentdd046dac0819b2db4c445f7cc4b8bab15d8409c1 (diff)
downloadpdfium-d9828fd1653f0334c4e9b027d708dbc3df8c838a.tar.xz
Rename FDE files to match contents.
This CL renames files in xfa/fde to match the contents. The fde_object.h file is split apart into cfde_pen and cfde_brush. Change-Id: I953f102182caa6d87c5ee9b99bbeb01c34a01aa9 Reviewed-on: https://pdfium-review.googlesource.com/3371 Reviewed-by: Nicolás Peña <npm@chromium.org> Commit-Queue: dsinclair <dsinclair@chromium.org>
Diffstat (limited to 'xfa/fde/cfde_renderdevice.h')
-rw-r--r--xfa/fde/cfde_renderdevice.h127
1 files changed, 127 insertions, 0 deletions
diff --git a/xfa/fde/cfde_renderdevice.h b/xfa/fde/cfde_renderdevice.h
new file mode 100644
index 0000000000..f429ac1703
--- /dev/null
+++ b/xfa/fde/cfde_renderdevice.h
@@ -0,0 +1,127 @@
+// 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_FDE_CFDE_RENDERDEVICE_H_
+#define XFA_FDE_CFDE_RENDERDEVICE_H_
+
+#include <vector>
+
+#include "core/fxge/cfx_renderdevice.h"
+#include "xfa/fgas/font/cfgas_gefont.h"
+
+class CFDE_Brush;
+class CFDE_Path;
+class CFDE_Pen;
+class CFX_GraphStateData;
+
+class CFDE_RenderDevice {
+ public:
+ CFDE_RenderDevice(CFX_RenderDevice* pDevice, bool bOwnerDevice);
+ ~CFDE_RenderDevice();
+
+ int32_t GetWidth() const;
+ int32_t GetHeight() const;
+ void SaveState();
+ void RestoreState();
+ bool SetClipPath(const CFDE_Path* pClip);
+ CFDE_Path* GetClipPath() const;
+ bool SetClipRect(const CFX_RectF& rtClip);
+ const CFX_RectF& GetClipRect();
+
+ float GetDpiX() const;
+ float GetDpiY() const;
+
+ bool DrawImage(const CFX_RetainPtr<CFX_DIBSource>& pDib,
+ const CFX_RectF* pSrcRect,
+ const CFX_RectF& dstRect,
+ const CFX_Matrix* pImgMatrix = nullptr,
+ const CFX_Matrix* pDevMatrix = nullptr);
+ bool DrawString(CFDE_Brush* pBrush,
+ const CFX_RetainPtr<CFGAS_GEFont>& pFont,
+ const FXTEXT_CHARPOS* pCharPos,
+ int32_t iCount,
+ float fFontSize,
+ const CFX_Matrix* pMatrix = nullptr);
+ bool DrawBezier(CFDE_Pen* pPen,
+ float fPenWidth,
+ const CFX_PointF& pt1,
+ const CFX_PointF& pt2,
+ const CFX_PointF& pt3,
+ const CFX_PointF& pt4,
+ const CFX_Matrix* pMatrix = nullptr);
+ bool DrawCurve(CFDE_Pen* pPen,
+ float fPenWidth,
+ const std::vector<CFX_PointF>& points,
+ bool bClosed,
+ float fTension = 0.5f,
+ const CFX_Matrix* pMatrix = nullptr);
+ bool DrawEllipse(CFDE_Pen* pPen,
+ float fPenWidth,
+ const CFX_RectF& rect,
+ const CFX_Matrix* pMatrix = nullptr);
+ bool DrawLines(CFDE_Pen* pPen,
+ float fPenWidth,
+ const std::vector<CFX_PointF>& points,
+ const CFX_Matrix* pMatrix = nullptr);
+ bool DrawLine(CFDE_Pen* pPen,
+ float fPenWidth,
+ const CFX_PointF& pt1,
+ const CFX_PointF& pt2,
+ const CFX_Matrix* pMatrix = nullptr);
+ bool DrawPath(CFDE_Pen* pPen,
+ float fPenWidth,
+ const CFDE_Path* pPath,
+ const CFX_Matrix* pMatrix = nullptr);
+ bool DrawPolygon(CFDE_Pen* pPen,
+ float fPenWidth,
+ const std::vector<CFX_PointF>& points,
+ const CFX_Matrix* pMatrix = nullptr);
+ bool DrawRectangle(CFDE_Pen* pPen,
+ float fPenWidth,
+ const CFX_RectF& rect,
+ const CFX_Matrix* pMatrix = nullptr);
+ bool FillClosedCurve(CFDE_Brush* pBrush,
+ const std::vector<CFX_PointF>& points,
+ float fTension = 0.5f,
+ const CFX_Matrix* pMatrix = nullptr);
+ bool FillEllipse(CFDE_Brush* pBrush,
+ const CFX_RectF& rect,
+ const CFX_Matrix* pMatrix = nullptr);
+ bool FillPath(CFDE_Brush* pBrush,
+ const CFDE_Path* pPath,
+ const CFX_Matrix* pMatrix = nullptr);
+ bool FillPolygon(CFDE_Brush* pBrush,
+ const std::vector<CFX_PointF>& points,
+ const CFX_Matrix* pMatrix = nullptr);
+ bool FillRectangle(CFDE_Brush* pBrush,
+ const CFX_RectF& rect,
+ const CFX_Matrix* pMatrix = nullptr);
+
+ bool DrawSolidString(CFDE_Brush* pBrush,
+ const CFX_RetainPtr<CFGAS_GEFont>& pFont,
+ const FXTEXT_CHARPOS* pCharPos,
+ int32_t iCount,
+ float fFontSize,
+ const CFX_Matrix* pMatrix);
+ bool DrawStringPath(CFDE_Brush* pBrush,
+ const CFX_RetainPtr<CFGAS_GEFont>& pFont,
+ const FXTEXT_CHARPOS* pCharPos,
+ int32_t iCount,
+ float fFontSize,
+ const CFX_Matrix* pMatrix);
+
+ protected:
+ bool CreatePen(CFDE_Pen* pPen,
+ float fPenWidth,
+ CFX_GraphStateData& graphState);
+
+ CFX_RenderDevice* const m_pDevice;
+ CFX_RectF m_rtClip;
+ bool m_bOwnerDevice;
+ int32_t m_iCharCount;
+};
+
+#endif // XFA_FDE_CFDE_RENDERDEVICE_H_