summaryrefslogtreecommitdiff
path: root/fpdfsdk/include/pdfwindow/PWL_Utils.h
diff options
context:
space:
mode:
Diffstat (limited to 'fpdfsdk/include/pdfwindow/PWL_Utils.h')
-rw-r--r--fpdfsdk/include/pdfwindow/PWL_Utils.h412
1 files changed, 0 insertions, 412 deletions
diff --git a/fpdfsdk/include/pdfwindow/PWL_Utils.h b/fpdfsdk/include/pdfwindow/PWL_Utils.h
deleted file mode 100644
index be51f18627..0000000000
--- a/fpdfsdk/include/pdfwindow/PWL_Utils.h
+++ /dev/null
@@ -1,412 +0,0 @@
-// 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 FPDFSDK_INCLUDE_PDFWINDOW_PWL_UTILS_H_
-#define FPDFSDK_INCLUDE_PDFWINDOW_PWL_UTILS_H_
-
-#include "core/include/fpdfdoc/fpdf_vt.h" // For CPVT_WordRange.
-#include "fpdfsdk/include/fxedit/fx_edit.h"
-#include "fpdfsdk/include/pdfwindow/PWL_Wnd.h"
-
-class CFX_PathData;
-struct CPWL_Color;
-
-template <class T>
-T PWL_MIN(const T& i, const T& j) {
- return ((i < j) ? i : j);
-}
-template <class T>
-T PWL_MAX(const T& i, const T& j) {
- return ((i > j) ? i : j);
-}
-
-#define PWL_PDF2WIN(color) (uint8_t(color * 255))
-#define PWL_WIN2PDF(color) ((FX_FLOAT)((FX_FLOAT)color / 255.0f))
-
-#define PWL_MAKEDWORD(low, high) \
- ((FX_DWORD)((uint16_t)(low) | (FX_DWORD)(((uint16_t)(high)) << 16)))
-#define PWL_GETLOWWORD(dword) ((uint16_t)(dword))
-#define PWL_GETHIGHWORD(dword) ((uint16_t)(dword >> 16))
-
-#define PWL_ICONTYPE_CHECKMARK 0
-#define PWL_ICONTYPE_CIRCLE 1
-#define PWL_ICONTYPE_COMMENT 2
-#define PWL_ICONTYPE_CROSS 3
-#define PWL_ICONTYPE_HELP 4
-#define PWL_ICONTYPE_INSERTTEXT 5
-#define PWL_ICONTYPE_KEY 6
-#define PWL_ICONTYPE_NEWPARAGRAPH 7
-#define PWL_ICONTYPE_TEXTNOTE 8
-#define PWL_ICONTYPE_PARAGRAPH 9
-#define PWL_ICONTYPE_RIGHTARROW 10
-#define PWL_ICONTYPE_RIGHTPOINTER 11
-#define PWL_ICONTYPE_STAR 12
-#define PWL_ICONTYPE_UPARROW 13
-#define PWL_ICONTYPE_UPLEFTARROW 14
-
-#define PWL_ICONTYPE_GRAPH 15
-#define PWL_ICONTYPE_PAPERCLIP 16
-#define PWL_ICONTYPE_ATTACHMENT 17
-#define PWL_ICONTYPE_TAG 18
-
-#define PWL_ICONTYPE_FOXIT 19
-
-#define PWL_ICONTYPE_UNKNOWN -1
-
-// checkbox & radiobutton style
-#define PCS_CHECK 0
-#define PCS_CIRCLE 1
-#define PCS_CROSS 2
-#define PCS_DIAMOND 3
-#define PCS_SQUARE 4
-#define PCS_STAR 5
-
-// pushbutton layout style
-#define PPBL_LABEL 0
-#define PPBL_ICON 1
-#define PPBL_ICONTOPLABELBOTTOM 2
-#define PPBL_LABELTOPICONBOTTOM 3
-#define PPBL_ICONLEFTLABELRIGHT 4
-#define PPBL_LABELLEFTICONRIGHT 5
-#define PPBL_LABELOVERICON 6
-
-class CPWL_Point : public CFX_FloatPoint {
- public:
- CPWL_Point() : CFX_FloatPoint(0.0f, 0.0f) {}
- CPWL_Point(FX_FLOAT fx, FX_FLOAT fy) : CFX_FloatPoint(fx, fy) {}
- CPWL_Point(const CPWL_Point& point) : CFX_FloatPoint(point.x, point.y) {}
-};
-
-enum PWL_PATHDATA_TYPE {
- PWLPT_MOVETO,
- PWLPT_LINETO,
- PWLPT_BEZIERTO,
- PWLPT_UNKNOWN
-};
-
-enum PWL_PATH_TYPE { PWLPT_PATHDATA, PWLPT_STREAM };
-
-class CPWL_PathData {
- public:
- CPWL_PathData() : point(), type(PWLPT_UNKNOWN) {}
- CPWL_PathData(const CPWL_Point& pt, PWL_PATHDATA_TYPE tp)
- : point(pt), type(tp) {}
-
- CPWL_Point point;
- PWL_PATHDATA_TYPE type;
-};
-
-class IPWL_SpellCheck;
-
-class CPWL_Utils {
- public:
- static CFX_FloatRect InflateRect(const CFX_FloatRect& rcRect, FX_FLOAT fSize);
- static CFX_FloatRect DeflateRect(const CFX_FloatRect& rcRect, FX_FLOAT fSize);
- static FX_BOOL IntersectRect(const CFX_FloatRect& rect1,
- const CFX_FloatRect& rect2);
- static FX_BOOL ContainsRect(const CFX_FloatRect& rcParent,
- const CFX_FloatRect& rcChild);
- static CFX_FloatRect ScaleRect(const CFX_FloatRect& rcRect, FX_FLOAT fScale);
- static CPVT_WordRange OverlapWordRange(const CPVT_WordRange& wr1,
- const CPVT_WordRange& wr2);
- static CFX_FloatRect GetCenterSquare(const CFX_FloatRect& rect);
- static CPWL_Color SubstractColor(const CPWL_Color& sColor,
- FX_FLOAT fColorSub);
- static CPWL_Color DevideColor(const CPWL_Color& sColor,
- FX_FLOAT fColorDevide);
- static CFX_FloatRect MaxRect(const CFX_FloatRect& rect1,
- const CFX_FloatRect& rect2);
- static CFX_FloatRect OffsetRect(const CFX_FloatRect& rect,
- FX_FLOAT x,
- FX_FLOAT y);
- static CFX_FloatPoint OffsetPoint(const CFX_FloatPoint& point,
- FX_FLOAT x,
- FX_FLOAT y);
- static FX_COLORREF PWLColorToFXColor(const CPWL_Color& color,
- int32_t nTransparancy = 255);
- static FX_BOOL IsBlackOrWhite(const CPWL_Color& color);
- static CPWL_Color GetReverseColor(const CPWL_Color& color);
-
- static CFX_ByteString GetColorAppStream(const CPWL_Color& color,
- const FX_BOOL& bFillOrStroke = TRUE);
- static CFX_ByteString GetBorderAppStream(const CFX_FloatRect& rect,
- FX_FLOAT fWidth,
- const CPWL_Color& color,
- const CPWL_Color& crLeftTop,
- const CPWL_Color& crRightBottom,
- int32_t nStyle,
- const CPWL_Dash& dash);
- static CFX_ByteString GetCircleBorderAppStream(
- const CFX_FloatRect& rect,
- FX_FLOAT fWidth,
- const CPWL_Color& color,
- const CPWL_Color& crLeftTop,
- const CPWL_Color& crRightBottom,
- int32_t nStyle,
- const CPWL_Dash& dash);
- static CFX_ByteString GetRectFillAppStream(const CFX_FloatRect& rect,
- const CPWL_Color& color);
- static CFX_ByteString GetCircleFillAppStream(const CFX_FloatRect& rect,
- const CPWL_Color& color);
-
- static CFX_ByteString GetPushButtonAppStream(const CFX_FloatRect& rcBBox,
- IFX_Edit_FontMap* pFontMap,
- CPDF_Stream* pIconStream,
- CPDF_IconFit& IconFit,
- const CFX_WideString& sLabel,
- const CPWL_Color& crText,
- FX_FLOAT fFontSize,
- int32_t nLayOut);
- static CFX_ByteString GetCheckBoxAppStream(const CFX_FloatRect& rcBBox,
- int32_t nStyle,
- const CPWL_Color& crText);
- static CFX_ByteString GetRadioButtonAppStream(const CFX_FloatRect& rcBBox,
- int32_t nStyle,
- const CPWL_Color& crText);
-
- static CFX_ByteString GetEditAppStream(IFX_Edit* pEdit,
- const CFX_FloatPoint& ptOffset,
- const CPVT_WordRange* pRange = NULL,
- FX_BOOL bContinuous = TRUE,
- uint16_t SubWord = 0);
- static CFX_ByteString GetEditSelAppStream(
- IFX_Edit* pEdit,
- const CFX_FloatPoint& ptOffset,
- const CPVT_WordRange* pRange = NULL);
- static CFX_ByteString GetSpellCheckAppStream(
- IFX_Edit* pEdit,
- IPWL_SpellCheck* pSpellCheck,
- const CFX_FloatPoint& ptOffset,
- const CPVT_WordRange* pRange = NULL);
- static CFX_ByteString GetTextAppStream(const CFX_FloatRect& rcBBox,
- IFX_Edit_FontMap* pFontMap,
- const CFX_WideString& sText,
- int32_t nAlignmentH,
- int32_t nAlignmentV,
- FX_FLOAT fFontSize,
- FX_BOOL bMultiLine,
- FX_BOOL bAutoReturn,
- const CPWL_Color& crText);
- static CFX_ByteString GetDropButtonAppStream(const CFX_FloatRect& rcBBox);
-
- static void DrawFillRect(CFX_RenderDevice* pDevice,
- CFX_Matrix* pUser2Device,
- const CFX_FloatRect& rect,
- const CPWL_Color& color,
- int32_t nTransparancy);
- static void DrawFillRect(CFX_RenderDevice* pDevice,
- CFX_Matrix* pUser2Device,
- const CFX_FloatRect& rect,
- const FX_COLORREF& color);
- static void DrawStrokeRect(CFX_RenderDevice* pDevice,
- CFX_Matrix* pUser2Device,
- const CFX_FloatRect& rect,
- const FX_COLORREF& color,
- FX_FLOAT fWidth);
- static void DrawStrokeLine(CFX_RenderDevice* pDevice,
- CFX_Matrix* pUser2Device,
- const CFX_FloatPoint& ptMoveTo,
- const CFX_FloatPoint& ptLineTo,
- const FX_COLORREF& color,
- FX_FLOAT fWidth);
- static void DrawBorder(CFX_RenderDevice* pDevice,
- CFX_Matrix* pUser2Device,
- const CFX_FloatRect& rect,
- FX_FLOAT fWidth,
- const CPWL_Color& color,
- const CPWL_Color& crLeftTop,
- const CPWL_Color& crRightBottom,
- int32_t nStyle,
- int32_t nTransparancy);
- static void DrawFillArea(CFX_RenderDevice* pDevice,
- CFX_Matrix* pUser2Device,
- const CFX_FloatPoint* pPts,
- int32_t nCount,
- const FX_COLORREF& color);
- static void DrawShadow(CFX_RenderDevice* pDevice,
- CFX_Matrix* pUser2Device,
- FX_BOOL bVertical,
- FX_BOOL bHorizontal,
- CFX_FloatRect rect,
- int32_t nTransparancy,
- int32_t nStartGray,
- int32_t nEndGray);
- static void DrawEditSpellCheck(CFX_RenderDevice* pDevice,
- CFX_Matrix* pUser2Device,
- IFX_Edit* pEdit,
- const CFX_FloatRect& rcClip,
- const CFX_FloatPoint& ptOffset,
- const CPVT_WordRange* pRange,
- IPWL_SpellCheck* pSpellCheck);
-
- public:
- static void ConvertCMYK2RGB(FX_FLOAT dC,
- FX_FLOAT dM,
- FX_FLOAT dY,
- FX_FLOAT dK,
- FX_FLOAT& dR,
- FX_FLOAT& dG,
- FX_FLOAT& dB);
- static void ConvertRGB2CMYK(FX_FLOAT dR,
- FX_FLOAT dG,
- FX_FLOAT dB,
- FX_FLOAT& dC,
- FX_FLOAT& dM,
- FX_FLOAT& dY,
- FX_FLOAT& dK);
-
- static void ConvertRGB2GRAY(FX_FLOAT dR,
- FX_FLOAT dG,
- FX_FLOAT dB,
- FX_FLOAT& dGray);
- static void ConvertGRAY2RGB(FX_FLOAT dGray,
- FX_FLOAT& dR,
- FX_FLOAT& dG,
- FX_FLOAT& dB);
-
- static void ConvertCMYK2GRAY(FX_FLOAT dC,
- FX_FLOAT dM,
- FX_FLOAT dY,
- FX_FLOAT dK,
- FX_FLOAT& dGray);
- static void ConvertGRAY2CMYK(FX_FLOAT dGray,
- FX_FLOAT& dC,
- FX_FLOAT& dM,
- FX_FLOAT& dY,
- FX_FLOAT& dK);
-
- static void PWLColorToARGB(const CPWL_Color& color,
- int32_t& alpha,
- FX_FLOAT& red,
- FX_FLOAT& green,
- FX_FLOAT& blue);
-
- public:
- static CFX_ByteString GetIconAppStream(
- int32_t nType,
- const CFX_FloatRect& rect,
- const CPWL_Color& crFill,
- const CPWL_Color& crStroke = PWL_DEFAULT_BLACKCOLOR);
- static void DrawIconAppStream(CFX_RenderDevice* pDevice,
- CFX_Matrix* pUser2Device,
- int32_t nType,
- const CFX_FloatRect& rect,
- const CPWL_Color& crFill,
- const CPWL_Color& crStroke,
- const int32_t nTransparancy);
-
- private:
- static CFX_ByteString GetAppStreamFromArray(const CPWL_PathData* pPathData,
- int32_t nCount);
- static void GetPathDataFromArray(CFX_PathData& path,
- const CPWL_PathData* pPathData,
- int32_t nCount);
-
- static CFX_ByteString GetAppStream_Check(const CFX_FloatRect& rcBBox,
- const CPWL_Color& crText);
- static CFX_ByteString GetAppStream_Circle(const CFX_FloatRect& rcBBox,
- const CPWL_Color& crText);
- static CFX_ByteString GetAppStream_Cross(const CFX_FloatRect& rcBBox,
- const CPWL_Color& crText);
- static CFX_ByteString GetAppStream_Diamond(const CFX_FloatRect& rcBBox,
- const CPWL_Color& crText);
- static CFX_ByteString GetAppStream_Square(const CFX_FloatRect& rcBBox,
- const CPWL_Color& crText);
- static CFX_ByteString GetAppStream_Star(const CFX_FloatRect& rcBBox,
- const CPWL_Color& crText);
-
- static CFX_ByteString GetAP_Check(const CFX_FloatRect& crBBox);
- static CFX_ByteString GetAP_Circle(const CFX_FloatRect& crBBox);
- static CFX_ByteString GetAP_Cross(const CFX_FloatRect& crBBox);
- static CFX_ByteString GetAP_Diamond(const CFX_FloatRect& crBBox);
- static CFX_ByteString GetAP_Square(const CFX_FloatRect& crBBox);
- static CFX_ByteString GetAP_Star(const CFX_FloatRect& crBBox);
- static CFX_ByteString GetAP_HalfCircle(const CFX_FloatRect& crBBox,
- FX_FLOAT fRotate);
-
- static void GetGraphics_Checkmark(CFX_ByteString& sPathData,
- CFX_PathData& path,
- const CFX_FloatRect& crBBox,
- const PWL_PATH_TYPE type);
- static void GetGraphics_Circle(CFX_ByteString& sPathData,
- CFX_PathData& path,
- const CFX_FloatRect& crBBox,
- const PWL_PATH_TYPE type);
- static void GetGraphics_Comment(CFX_ByteString& sPathData,
- CFX_PathData& path,
- const CFX_FloatRect& crBBox,
- const PWL_PATH_TYPE type);
- static void GetGraphics_Cross(CFX_ByteString& sPathData,
- CFX_PathData& path,
- const CFX_FloatRect& crBBox,
- const PWL_PATH_TYPE type);
- static void GetGraphics_Help(CFX_ByteString& sPathData,
- CFX_PathData& path,
- const CFX_FloatRect& crBBox,
- const PWL_PATH_TYPE type);
- static void GetGraphics_InsertText(CFX_ByteString& sPathData,
- CFX_PathData& path,
- const CFX_FloatRect& crBBox,
- const PWL_PATH_TYPE type);
- static void GetGraphics_Key(CFX_ByteString& sPathData,
- CFX_PathData& path,
- const CFX_FloatRect& crBBox,
- const PWL_PATH_TYPE type);
- static void GetGraphics_NewParagraph(CFX_ByteString& sPathData,
- CFX_PathData& path,
- const CFX_FloatRect& crBBox,
- const PWL_PATH_TYPE type);
- static void GetGraphics_TextNote(CFX_ByteString& sPathData,
- CFX_PathData& path,
- const CFX_FloatRect& crBBox,
- const PWL_PATH_TYPE type);
- static void GetGraphics_Paragraph(CFX_ByteString& sPathData,
- CFX_PathData& path,
- const CFX_FloatRect& crBBox,
- const PWL_PATH_TYPE type);
- static void GetGraphics_RightArrow(CFX_ByteString& sPathData,
- CFX_PathData& path,
- const CFX_FloatRect& crBBox,
- const PWL_PATH_TYPE type);
- static void GetGraphics_RightPointer(CFX_ByteString& sPathData,
- CFX_PathData& path,
- const CFX_FloatRect& crBBox,
- const PWL_PATH_TYPE type);
- static void GetGraphics_Star(CFX_ByteString& sPathData,
- CFX_PathData& path,
- const CFX_FloatRect& crBBox,
- const PWL_PATH_TYPE type);
- static void GetGraphics_UpArrow(CFX_ByteString& sPathData,
- CFX_PathData& path,
- const CFX_FloatRect& crBBox,
- const PWL_PATH_TYPE type);
- static void GetGraphics_UpLeftArrow(CFX_ByteString& sPathData,
- CFX_PathData& path,
- const CFX_FloatRect& crBBox,
- const PWL_PATH_TYPE type);
- static void GetGraphics_Graph(CFX_ByteString& sPathData,
- CFX_PathData& path,
- const CFX_FloatRect& crBBox,
- const PWL_PATH_TYPE type);
- static void GetGraphics_Paperclip(CFX_ByteString& sPathData,
- CFX_PathData& path,
- const CFX_FloatRect& crBBox,
- const PWL_PATH_TYPE type);
- static void GetGraphics_Attachment(CFX_ByteString& sPathData,
- CFX_PathData& path,
- const CFX_FloatRect& crBBox,
- const PWL_PATH_TYPE type);
- static void GetGraphics_Tag(CFX_ByteString& sPathData,
- CFX_PathData& path,
- const CFX_FloatRect& crBBox,
- const PWL_PATH_TYPE type);
- static void GetGraphics_Foxit(CFX_ByteString& sPathData,
- CFX_PathData& path,
- const CFX_FloatRect& crBBox,
- const PWL_PATH_TYPE type);
-};
-
-#endif // FPDFSDK_INCLUDE_PDFWINDOW_PWL_UTILS_H_