| OLD | NEW |
| 1 // Copyright 2014 PDFium Authors. All rights reserved. | 1 // Copyright 2014 PDFium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com | 5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com |
| 6 | 6 |
| 7 #ifndef FPDFSDK_PDFWINDOW_PWL_UTILS_H_ | 7 #ifndef FPDFSDK_PDFWINDOW_PWL_UTILS_H_ |
| 8 #define FPDFSDK_PDFWINDOW_PWL_UTILS_H_ | 8 #define FPDFSDK_PDFWINDOW_PWL_UTILS_H_ |
| 9 | 9 |
| 10 #include "core/fpdfdoc/cpvt_wordrange.h" | 10 #include "core/fpdfdoc/cpvt_wordrange.h" |
| (...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 97 : point(pt), type(tp) {} | 97 : point(pt), type(tp) {} |
| 98 | 98 |
| 99 CPWL_Point point; | 99 CPWL_Point point; |
| 100 PWL_PATHDATA_TYPE type; | 100 PWL_PATHDATA_TYPE type; |
| 101 }; | 101 }; |
| 102 | 102 |
| 103 class CPWL_Utils { | 103 class CPWL_Utils { |
| 104 public: | 104 public: |
| 105 static CFX_FloatRect InflateRect(const CFX_FloatRect& rcRect, FX_FLOAT fSize); | 105 static CFX_FloatRect InflateRect(const CFX_FloatRect& rcRect, FX_FLOAT fSize); |
| 106 static CFX_FloatRect DeflateRect(const CFX_FloatRect& rcRect, FX_FLOAT fSize); | 106 static CFX_FloatRect DeflateRect(const CFX_FloatRect& rcRect, FX_FLOAT fSize); |
| 107 static FX_BOOL IntersectRect(const CFX_FloatRect& rect1, | 107 static bool IntersectRect(const CFX_FloatRect& rect1, |
| 108 const CFX_FloatRect& rect2); | 108 const CFX_FloatRect& rect2); |
| 109 static FX_BOOL ContainsRect(const CFX_FloatRect& rcParent, | 109 static bool ContainsRect(const CFX_FloatRect& rcParent, |
| 110 const CFX_FloatRect& rcChild); | 110 const CFX_FloatRect& rcChild); |
| 111 static CFX_FloatRect ScaleRect(const CFX_FloatRect& rcRect, FX_FLOAT fScale); | 111 static CFX_FloatRect ScaleRect(const CFX_FloatRect& rcRect, FX_FLOAT fScale); |
| 112 static CPVT_WordRange OverlapWordRange(const CPVT_WordRange& wr1, | 112 static CPVT_WordRange OverlapWordRange(const CPVT_WordRange& wr1, |
| 113 const CPVT_WordRange& wr2); | 113 const CPVT_WordRange& wr2); |
| 114 static CFX_FloatRect GetCenterSquare(const CFX_FloatRect& rect); | 114 static CFX_FloatRect GetCenterSquare(const CFX_FloatRect& rect); |
| 115 static CPWL_Color SubstractColor(const CPWL_Color& sColor, | 115 static CPWL_Color SubstractColor(const CPWL_Color& sColor, |
| 116 FX_FLOAT fColorSub); | 116 FX_FLOAT fColorSub); |
| 117 static CPWL_Color DevideColor(const CPWL_Color& sColor, | 117 static CPWL_Color DevideColor(const CPWL_Color& sColor, |
| 118 FX_FLOAT fColorDevide); | 118 FX_FLOAT fColorDevide); |
| 119 static CFX_FloatRect MaxRect(const CFX_FloatRect& rect1, | 119 static CFX_FloatRect MaxRect(const CFX_FloatRect& rect1, |
| 120 const CFX_FloatRect& rect2); | 120 const CFX_FloatRect& rect2); |
| 121 static CFX_FloatRect OffsetRect(const CFX_FloatRect& rect, | 121 static CFX_FloatRect OffsetRect(const CFX_FloatRect& rect, |
| 122 FX_FLOAT x, | 122 FX_FLOAT x, |
| 123 FX_FLOAT y); | 123 FX_FLOAT y); |
| 124 static CFX_FloatPoint OffsetPoint(const CFX_FloatPoint& point, | 124 static CFX_FloatPoint OffsetPoint(const CFX_FloatPoint& point, |
| 125 FX_FLOAT x, | 125 FX_FLOAT x, |
| 126 FX_FLOAT y); | 126 FX_FLOAT y); |
| 127 static FX_COLORREF PWLColorToFXColor(const CPWL_Color& color, | 127 static FX_COLORREF PWLColorToFXColor(const CPWL_Color& color, |
| 128 int32_t nTransparancy = 255); | 128 int32_t nTransparancy = 255); |
| 129 static FX_BOOL IsBlackOrWhite(const CPWL_Color& color); | 129 static bool IsBlackOrWhite(const CPWL_Color& color); |
| 130 static CPWL_Color GetReverseColor(const CPWL_Color& color); | 130 static CPWL_Color GetReverseColor(const CPWL_Color& color); |
| 131 | 131 |
| 132 static CFX_ByteString GetColorAppStream(const CPWL_Color& color, | 132 static CFX_ByteString GetColorAppStream(const CPWL_Color& color, |
| 133 const FX_BOOL& bFillOrStroke = TRUE); | 133 const bool& bFillOrStroke = true); |
| 134 static CFX_ByteString GetBorderAppStream(const CFX_FloatRect& rect, | 134 static CFX_ByteString GetBorderAppStream(const CFX_FloatRect& rect, |
| 135 FX_FLOAT fWidth, | 135 FX_FLOAT fWidth, |
| 136 const CPWL_Color& color, | 136 const CPWL_Color& color, |
| 137 const CPWL_Color& crLeftTop, | 137 const CPWL_Color& crLeftTop, |
| 138 const CPWL_Color& crRightBottom, | 138 const CPWL_Color& crRightBottom, |
| 139 BorderStyle nStyle, | 139 BorderStyle nStyle, |
| 140 const CPWL_Dash& dash); | 140 const CPWL_Dash& dash); |
| 141 static CFX_ByteString GetCircleBorderAppStream( | 141 static CFX_ByteString GetCircleBorderAppStream( |
| 142 const CFX_FloatRect& rect, | 142 const CFX_FloatRect& rect, |
| 143 FX_FLOAT fWidth, | 143 FX_FLOAT fWidth, |
| (...skipping 18 matching lines...) Expand all Loading... |
| 162 static CFX_ByteString GetCheckBoxAppStream(const CFX_FloatRect& rcBBox, | 162 static CFX_ByteString GetCheckBoxAppStream(const CFX_FloatRect& rcBBox, |
| 163 int32_t nStyle, | 163 int32_t nStyle, |
| 164 const CPWL_Color& crText); | 164 const CPWL_Color& crText); |
| 165 static CFX_ByteString GetRadioButtonAppStream(const CFX_FloatRect& rcBBox, | 165 static CFX_ByteString GetRadioButtonAppStream(const CFX_FloatRect& rcBBox, |
| 166 int32_t nStyle, | 166 int32_t nStyle, |
| 167 const CPWL_Color& crText); | 167 const CPWL_Color& crText); |
| 168 | 168 |
| 169 static CFX_ByteString GetEditAppStream(CFX_Edit* pEdit, | 169 static CFX_ByteString GetEditAppStream(CFX_Edit* pEdit, |
| 170 const CFX_FloatPoint& ptOffset, | 170 const CFX_FloatPoint& ptOffset, |
| 171 const CPVT_WordRange* pRange = nullptr, | 171 const CPVT_WordRange* pRange = nullptr, |
| 172 FX_BOOL bContinuous = TRUE, | 172 bool bContinuous = true, |
| 173 uint16_t SubWord = 0); | 173 uint16_t SubWord = 0); |
| 174 static CFX_ByteString GetEditSelAppStream( | 174 static CFX_ByteString GetEditSelAppStream( |
| 175 CFX_Edit* pEdit, | 175 CFX_Edit* pEdit, |
| 176 const CFX_FloatPoint& ptOffset, | 176 const CFX_FloatPoint& ptOffset, |
| 177 const CPVT_WordRange* pRange = nullptr); | 177 const CPVT_WordRange* pRange = nullptr); |
| 178 static CFX_ByteString GetTextAppStream(const CFX_FloatRect& rcBBox, | 178 static CFX_ByteString GetTextAppStream(const CFX_FloatRect& rcBBox, |
| 179 IPVT_FontMap* pFontMap, | 179 IPVT_FontMap* pFontMap, |
| 180 const CFX_WideString& sText, | 180 const CFX_WideString& sText, |
| 181 int32_t nAlignmentH, | 181 int32_t nAlignmentH, |
| 182 int32_t nAlignmentV, | 182 int32_t nAlignmentV, |
| 183 FX_FLOAT fFontSize, | 183 FX_FLOAT fFontSize, |
| 184 FX_BOOL bMultiLine, | 184 bool bMultiLine, |
| 185 FX_BOOL bAutoReturn, | 185 bool bAutoReturn, |
| 186 const CPWL_Color& crText); | 186 const CPWL_Color& crText); |
| 187 static CFX_ByteString GetDropButtonAppStream(const CFX_FloatRect& rcBBox); | 187 static CFX_ByteString GetDropButtonAppStream(const CFX_FloatRect& rcBBox); |
| 188 | 188 |
| 189 static void DrawFillRect(CFX_RenderDevice* pDevice, | 189 static void DrawFillRect(CFX_RenderDevice* pDevice, |
| 190 CFX_Matrix* pUser2Device, | 190 CFX_Matrix* pUser2Device, |
| 191 const CFX_FloatRect& rect, | 191 const CFX_FloatRect& rect, |
| 192 const CPWL_Color& color, | 192 const CPWL_Color& color, |
| 193 int32_t nTransparancy); | 193 int32_t nTransparancy); |
| 194 static void DrawFillRect(CFX_RenderDevice* pDevice, | 194 static void DrawFillRect(CFX_RenderDevice* pDevice, |
| 195 CFX_Matrix* pUser2Device, | 195 CFX_Matrix* pUser2Device, |
| (...skipping 19 matching lines...) Expand all Loading... |
| 215 const CPWL_Color& crRightBottom, | 215 const CPWL_Color& crRightBottom, |
| 216 BorderStyle nStyle, | 216 BorderStyle nStyle, |
| 217 int32_t nTransparancy); | 217 int32_t nTransparancy); |
| 218 static void DrawFillArea(CFX_RenderDevice* pDevice, | 218 static void DrawFillArea(CFX_RenderDevice* pDevice, |
| 219 CFX_Matrix* pUser2Device, | 219 CFX_Matrix* pUser2Device, |
| 220 const CFX_FloatPoint* pPts, | 220 const CFX_FloatPoint* pPts, |
| 221 int32_t nCount, | 221 int32_t nCount, |
| 222 const FX_COLORREF& color); | 222 const FX_COLORREF& color); |
| 223 static void DrawShadow(CFX_RenderDevice* pDevice, | 223 static void DrawShadow(CFX_RenderDevice* pDevice, |
| 224 CFX_Matrix* pUser2Device, | 224 CFX_Matrix* pUser2Device, |
| 225 FX_BOOL bVertical, | 225 bool bVertical, |
| 226 FX_BOOL bHorizontal, | 226 bool bHorizontal, |
| 227 CFX_FloatRect rect, | 227 CFX_FloatRect rect, |
| 228 int32_t nTransparancy, | 228 int32_t nTransparancy, |
| 229 int32_t nStartGray, | 229 int32_t nStartGray, |
| 230 int32_t nEndGray); | 230 int32_t nEndGray); |
| 231 | 231 |
| 232 public: | 232 public: |
| 233 static void ConvertCMYK2RGB(FX_FLOAT dC, | 233 static void ConvertCMYK2RGB(FX_FLOAT dC, |
| 234 FX_FLOAT dM, | 234 FX_FLOAT dM, |
| 235 FX_FLOAT dY, | 235 FX_FLOAT dY, |
| 236 FX_FLOAT dK, | 236 FX_FLOAT dK, |
| (...skipping 153 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 390 CFX_PathData& path, | 390 CFX_PathData& path, |
| 391 const CFX_FloatRect& crBBox, | 391 const CFX_FloatRect& crBBox, |
| 392 const PWL_PATH_TYPE type); | 392 const PWL_PATH_TYPE type); |
| 393 static void GetGraphics_Foxit(CFX_ByteString& sPathData, | 393 static void GetGraphics_Foxit(CFX_ByteString& sPathData, |
| 394 CFX_PathData& path, | 394 CFX_PathData& path, |
| 395 const CFX_FloatRect& crBBox, | 395 const CFX_FloatRect& crBBox, |
| 396 const PWL_PATH_TYPE type); | 396 const PWL_PATH_TYPE type); |
| 397 }; | 397 }; |
| 398 | 398 |
| 399 #endif // FPDFSDK_PDFWINDOW_PWL_UTILS_H_ | 399 #endif // FPDFSDK_PDFWINDOW_PWL_UTILS_H_ |
| OLD | NEW |