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_INCLUDE_PDFWINDOW_PWL_UTILS_H_ | 7 #ifndef FPDFSDK_INCLUDE_PDFWINDOW_PWL_UTILS_H_ |
8 #define FPDFSDK_INCLUDE_PDFWINDOW_PWL_UTILS_H_ | 8 #define FPDFSDK_INCLUDE_PDFWINDOW_PWL_UTILS_H_ |
9 | 9 |
10 #include "../../../core/include/fpdfapi/fpdf_parser.h" // For CPDF_Point. | 10 #include "../../../core/include/fpdfapi/fpdf_parser.h" // For CPDF_Point. |
(...skipping 91 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
102 PWL_PATHDATA_TYPE type; | 102 PWL_PATHDATA_TYPE type; |
103 }; | 103 }; |
104 | 104 |
105 class IPWL_SpellCheck; | 105 class IPWL_SpellCheck; |
106 | 106 |
107 class PWL_CLASS CPWL_Utils | 107 class PWL_CLASS CPWL_Utils |
108 { | 108 { |
109 public: | 109 public: |
110 static CPDF_Rect InflateR
ect(const CPDF_Rect& rcRect, FX_FLOAT fSize); | 110 static CPDF_Rect InflateR
ect(const CPDF_Rect& rcRect, FX_FLOAT fSize); |
111 static CPDF_Rect DeflateR
ect(const CPDF_Rect& rcRect, FX_FLOAT fSize); | 111 static CPDF_Rect DeflateR
ect(const CPDF_Rect& rcRect, FX_FLOAT fSize); |
112 » static bool» » » » » » » Intersec
tRect(const CPDF_Rect& rect1, const CPDF_Rect& rect2); | 112 » static FX_BOOL» » » » » » » Intersec
tRect(const CPDF_Rect& rect1, const CPDF_Rect& rect2); |
113 » static bool» » » » » » » Contains
Rect(const CPDF_Rect& rcParent, const CPDF_Rect& rcChild); | 113 » static FX_BOOL» » » » » » » Contains
Rect(const CPDF_Rect& rcParent, const CPDF_Rect& rcChild); |
114 static CPDF_Rect ScaleRec
t(const CPDF_Rect& rcRect,FX_FLOAT fScale); | 114 static CPDF_Rect ScaleRec
t(const CPDF_Rect& rcRect,FX_FLOAT fScale); |
115 static CPVT_WordRange OverlapWordRange
(const CPVT_WordRange& wr1, const CPVT_WordRange& wr2); | 115 static CPVT_WordRange OverlapWordRange
(const CPVT_WordRange& wr1, const CPVT_WordRange& wr2); |
116 static CPDF_Rect GetCente
rSquare(const CPDF_Rect & rect); | 116 static CPDF_Rect GetCente
rSquare(const CPDF_Rect & rect); |
117 static CPWL_Color Substrac
tColor(const CPWL_Color & sColor,FX_FLOAT fColorSub); | 117 static CPWL_Color Substrac
tColor(const CPWL_Color & sColor,FX_FLOAT fColorSub); |
118 static CPWL_Color DevideCo
lor(const CPWL_Color & sColor,FX_FLOAT fColorDevide); | 118 static CPWL_Color DevideCo
lor(const CPWL_Color & sColor,FX_FLOAT fColorDevide); |
119 static CPDF_Rect MaxRect(
const CPDF_Rect & rect1,const CPDF_Rect & rect2); | 119 static CPDF_Rect MaxRect(
const CPDF_Rect & rect1,const CPDF_Rect & rect2); |
120 static CPDF_Rect OffsetRe
ct(const CPDF_Rect & rect,FX_FLOAT x,FX_FLOAT y); | 120 static CPDF_Rect OffsetRe
ct(const CPDF_Rect & rect,FX_FLOAT x,FX_FLOAT y); |
121 static CPDF_Point OffsetPo
int(const CPDF_Point & point,FX_FLOAT x,FX_FLOAT y); | 121 static CPDF_Point OffsetPo
int(const CPDF_Point & point,FX_FLOAT x,FX_FLOAT y); |
122 static FX_COLORREF PWLColor
ToFXColor(const CPWL_Color& color, int32_t nTransparancy = 255); | 122 static FX_COLORREF PWLColor
ToFXColor(const CPWL_Color& color, int32_t nTransparancy = 255); |
123 » static bool» » » » » » » IsBlackO
rWhite(const CPWL_Color& color); | 123 » static FX_BOOL» » » » » » » IsBlackO
rWhite(const CPWL_Color& color); |
124 static CPWL_Color GetRever
seColor(const CPWL_Color& color); | 124 static CPWL_Color GetRever
seColor(const CPWL_Color& color); |
125 | 125 |
126 » static CFX_ByteString» » » » » GetColorAppStrea
m(const CPWL_Color & color,const bool & bFillOrStroke = true); | 126 » static CFX_ByteString» » » » » GetColorAppStrea
m(const CPWL_Color & color,const FX_BOOL & bFillOrStroke = TRUE); |
127 static CFX_ByteString GetBorderAppStre
am(const CPDF_Rect & rect, FX_FLOAT fWidth, | 127 static CFX_ByteString GetBorderAppStre
am(const CPDF_Rect & rect, FX_FLOAT fWidth, |
128
const CPWL_Color & color, const CPWL_Color & crLeftTop, const CP
WL_Color & crRightBottom, | 128
const CPWL_Color & color, const CPWL_Color & crLeftTop, const CP
WL_Color & crRightBottom, |
129
int32_t nStyle, const CPWL_Dash & dash); | 129
int32_t nStyle, const CPWL_Dash & dash); |
130 static CFX_ByteString GetCircleBorderA
ppStream(const CPDF_Rect & rect, FX_FLOAT fWidth, | 130 static CFX_ByteString GetCircleBorderA
ppStream(const CPDF_Rect & rect, FX_FLOAT fWidth, |
131
const CPWL_Color & color, const CPWL_Color & crLeftTop, const CP
WL_Color & crRightBottom, | 131
const CPWL_Color & color, const CPWL_Color & crLeftTop, const CP
WL_Color & crRightBottom, |
132
int32_t nStyle, const CPWL_Dash & dash); | 132
int32_t nStyle, const CPWL_Dash & dash); |
133 static CFX_ByteString GetRectFillAppSt
ream(const CPDF_Rect & rect,const CPWL_Color & color); | 133 static CFX_ByteString GetRectFillAppSt
ream(const CPDF_Rect & rect,const CPWL_Color & color); |
134 static CFX_ByteString GetCircleFillApp
Stream(const CPDF_Rect & rect,const CPWL_Color & color); | 134 static CFX_ByteString GetCircleFillApp
Stream(const CPDF_Rect & rect,const CPWL_Color & color); |
135 | 135 |
136 static CFX_ByteString GetPushButtonApp
Stream(const CPDF_Rect & rcBBox, | 136 static CFX_ByteString GetPushButtonApp
Stream(const CPDF_Rect & rcBBox, |
137
IFX_Edit_FontMap * pFontMap, | 137
IFX_Edit_FontMap * pFontMap, |
138
CPDF_Stream * pIconStream, | 138
CPDF_Stream * pIconStream, |
139
CPDF_IconFit & IconFit, | 139
CPDF_IconFit & IconFit, |
140
const CFX_WideString & sLabel, | 140
const CFX_WideString & sLabel, |
141
const CPWL_Color & crText, | 141
const CPWL_Color & crText, |
142
FX_FLOAT fFontSize, | 142
FX_FLOAT fFontSize, |
143
int32_t nLayOut); | 143
int32_t nLayOut); |
144 static CFX_ByteString GetCheckBoxAppSt
ream(const CPDF_Rect & rcBBox, | 144 static CFX_ByteString GetCheckBoxAppSt
ream(const CPDF_Rect & rcBBox, |
145
int32_t nStyle, | 145
int32_t nStyle, |
146
const CPWL_Color & crText); | 146
const CPWL_Color & crText); |
147 static CFX_ByteString GetRadioButtonAp
pStream(const CPDF_Rect & rcBBox, | 147 static CFX_ByteString GetRadioButtonAp
pStream(const CPDF_Rect & rcBBox, |
148
int32_t nStyle, | 148
int32_t nStyle, |
149
const CPWL_Color & crText); | 149
const CPWL_Color & crText); |
150 | 150 |
151 static CFX_ByteString GetEditAppStream
(IFX_Edit* pEdit, const CPDF_Point & ptOffset, const CPVT_WordRange * pRange = N
ULL, | 151 static CFX_ByteString GetEditAppStream
(IFX_Edit* pEdit, const CPDF_Point & ptOffset, const CPVT_WordRange * pRange = N
ULL, |
152 » » » » » » » » » »
» » » » bool bContinuous = true, FX_WORD SubWord = 0); | 152 » » » » » » » » » »
» » » » FX_BOOL bContinuous = TRUE, FX_WORD SubWord = 0)
; |
153 static CFX_ByteString GetEditSelAppStr
eam(IFX_Edit* pEdit, const CPDF_Point & ptOffset, | 153 static CFX_ByteString GetEditSelAppStr
eam(IFX_Edit* pEdit, const CPDF_Point & ptOffset, |
154
const CPVT_WordRange * pRange = NULL); | 154
const CPVT_WordRange * pRange = NULL); |
155 static CFX_ByteString GetSpellCheckApp
Stream(IFX_Edit* pEdit, IPWL_SpellCheck* pSpellCheck, | 155 static CFX_ByteString GetSpellCheckApp
Stream(IFX_Edit* pEdit, IPWL_SpellCheck* pSpellCheck, |
156
const CPDF_Point & ptOffset, | 156
const CPDF_Point & ptOffset, |
157
const CPVT_WordRange * pRange = NULL); | 157
const CPVT_WordRange * pRange = NULL); |
158 static CFX_ByteString GetTextAppStream
(const CPDF_Rect & rcBBox,IFX_Edit_FontMap * pFontMap, | 158 static CFX_ByteString GetTextAppStream
(const CPDF_Rect & rcBBox,IFX_Edit_FontMap * pFontMap, |
159
const CFX_WideString & sText, int32_t nAlignment
H, int32_t nAlignmentV, | 159
const CFX_WideString & sText, int32_t nAlignment
H, int32_t nAlignmentV, |
160 » » » » » » » » » »
» » » » FX_FLOAT fFontSize, bool bMultiLine, bool bAutoR
eturn, const CPWL_Color & crText); | 160 » » » » » » » » » »
» » » » FX_FLOAT fFontSize, FX_BOOL bMultiLine, FX_BOOL
bAutoReturn, const CPWL_Color & crText); |
161 static CFX_ByteString GetDropButtonApp
Stream(const CPDF_Rect & rcBBox); | 161 static CFX_ByteString GetDropButtonApp
Stream(const CPDF_Rect & rcBBox); |
162 | 162 |
163 static void
DrawFillRect(CFX_RenderDevice* pDevice, CPDF_Matrix* pUser2Device,const CPDF_Rec
t & rect, | 163 static void
DrawFillRect(CFX_RenderDevice* pDevice, CPDF_Matrix* pUser2Device,const CPDF_Rec
t & rect, |
164
const CPWL_Color & color, int32_t nTransparancy)
; | 164
const CPWL_Color & color, int32_t nTransparancy)
; |
165 static void
DrawFillRect(CFX_RenderDevice* pDevice, CPDF_Matrix* pUser2Device, | 165 static void
DrawFillRect(CFX_RenderDevice* pDevice, CPDF_Matrix* pUser2Device, |
166
const CPDF_Rect & rect,const FX_COLORREF & color
); | 166
const CPDF_Rect & rect,const FX_COLORREF & color
); |
167 static void
DrawStrokeRect(CFX_RenderDevice* pDevice, CPDF_Matrix* pUser2Device,const CPDF_R
ect & rect, | 167 static void
DrawStrokeRect(CFX_RenderDevice* pDevice, CPDF_Matrix* pUser2Device,const CPDF_R
ect & rect, |
168
const FX_COLORREF & color, FX_FLOAT fWidth); | 168
const FX_COLORREF & color, FX_FLOAT fWidth); |
169 static void
DrawStrokeLine(CFX_RenderDevice* pDevice, CPDF_Matrix* pUser2Device, | 169 static void
DrawStrokeLine(CFX_RenderDevice* pDevice, CPDF_Matrix* pUser2Device, |
170
const CPDF_Point & ptMoveTo, const CPDF_Point &
ptLineTo, const FX_COLORREF & color, FX_FLOAT fWidth); | 170
const CPDF_Point & ptMoveTo, const CPDF_Point &
ptLineTo, const FX_COLORREF & color, FX_FLOAT fWidth); |
171 static void
DrawBorder(CFX_RenderDevice* pDevice, CPDF_Matrix* pUser2Device, | 171 static void
DrawBorder(CFX_RenderDevice* pDevice, CPDF_Matrix* pUser2Device, |
172
const CPDF_Rect & rect, FX_FLOAT fWidth, | 172
const CPDF_Rect & rect, FX_FLOAT fWidth, |
173
const CPWL_Color & color, const CPWL_Color & crLeftTop, const CP
WL_Color & crRightBottom, | 173
const CPWL_Color & color, const CPWL_Color & crLeftTop, const CP
WL_Color & crRightBottom, |
174
int32_t nStyle, const CPWL_Dash & dash, int32_t nTransparancy); | 174
int32_t nStyle, const CPWL_Dash & dash, int32_t nTransparancy); |
175 static void
DrawFillArea(CFX_RenderDevice* pDevice, CPDF_Matrix* pUser2Device, | 175 static void
DrawFillArea(CFX_RenderDevice* pDevice, CPDF_Matrix* pUser2Device, |
176
const CPDF_Point* pPts, int32_t nCount, const FX
_COLORREF& color); | 176
const CPDF_Point* pPts, int32_t nCount, const FX
_COLORREF& color); |
177 static void
DrawShadow(CFX_RenderDevice* pDevice, CPDF_Matrix* pUser2Device, | 177 static void
DrawShadow(CFX_RenderDevice* pDevice, CPDF_Matrix* pUser2Device, |
178 » » » » » » » » » »
» » » » bool bVertical, bool bHorizontal, CPDF_Rect rect
, | 178 » » » » » » » » » »
» » » » FX_BOOL bVertical, FX_BOOL bHorizontal, CPDF_Rec
t rect, |
179
int32_t nTransparancy, int32_t nStartGray, int32
_t nEndGray); | 179
int32_t nTransparancy, int32_t nStartGray, int32
_t nEndGray); |
180 static void
DrawEditSpellCheck(CFX_RenderDevice* pDevice, CPDF_Matrix* pUser2Device, IFX_Edi
t* pEdit, | 180 static void
DrawEditSpellCheck(CFX_RenderDevice* pDevice, CPDF_Matrix* pUser2Device, IFX_Edi
t* pEdit, |
181
const CPDF_Rect& rcClip, const CPDF_Point& ptOff
set, const CPVT_WordRange* pRange, | 181
const CPDF_Rect& rcClip, const CPDF_Point& ptOff
set, const CPVT_WordRange* pRange, |
182
IPWL_SpellCheck* pSpellCheck); | 182
IPWL_SpellCheck* pSpellCheck); |
183 public: | 183 public: |
184 static void
ConvertCMYK2RGB(FX_FLOAT dC,FX_FLOAT dM,FX_FLOAT dY,FX_FLOAT dK,FX_FLOAT &dR,FX_
FLOAT &dG,FX_FLOAT &dB); | 184 static void
ConvertCMYK2RGB(FX_FLOAT dC,FX_FLOAT dM,FX_FLOAT dY,FX_FLOAT dK,FX_FLOAT &dR,FX_
FLOAT &dG,FX_FLOAT &dB); |
185 static void
ConvertRGB2CMYK(FX_FLOAT dR,FX_FLOAT dG,FX_FLOAT dB,FX_FLOAT &dC,FX_FLOAT &dM,FX
_FLOAT &dY,FX_FLOAT &dK); | 185 static void
ConvertRGB2CMYK(FX_FLOAT dR,FX_FLOAT dG,FX_FLOAT dB,FX_FLOAT &dC,FX_FLOAT &dM,FX
_FLOAT &dY,FX_FLOAT &dK); |
186 | 186 |
187 static void
ConvertRGB2GRAY(FX_FLOAT dR,FX_FLOAT dG,FX_FLOAT dB,FX_FLOAT &dGray); | 187 static void
ConvertRGB2GRAY(FX_FLOAT dR,FX_FLOAT dG,FX_FLOAT dB,FX_FLOAT &dGray); |
188 static void
ConvertGRAY2RGB(FX_FLOAT dGray,FX_FLOAT &dR,FX_FLOAT &dG,FX_FLOAT &dB); | 188 static void
ConvertGRAY2RGB(FX_FLOAT dGray,FX_FLOAT &dR,FX_FLOAT &dG,FX_FLOAT &dB); |
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
234 static void
GetGraphics_UpArrow(CFX_ByteString& sPathData, CFX_PathData& path, const CPDF_Re
ct& crBBox, const PWL_PATH_TYPE type); | 234 static void
GetGraphics_UpArrow(CFX_ByteString& sPathData, CFX_PathData& path, const CPDF_Re
ct& crBBox, const PWL_PATH_TYPE type); |
235 static void
GetGraphics_UpLeftArrow(CFX_ByteString& sPathData, CFX_PathData& path, const CPD
F_Rect& crBBox, const PWL_PATH_TYPE type); | 235 static void
GetGraphics_UpLeftArrow(CFX_ByteString& sPathData, CFX_PathData& path, const CPD
F_Rect& crBBox, const PWL_PATH_TYPE type); |
236 static void
GetGraphics_Graph(CFX_ByteString& sPathData, CFX_PathData& path, const CPDF_Rect
& crBBox, const PWL_PATH_TYPE type); | 236 static void
GetGraphics_Graph(CFX_ByteString& sPathData, CFX_PathData& path, const CPDF_Rect
& crBBox, const PWL_PATH_TYPE type); |
237 static void
GetGraphics_Paperclip(CFX_ByteString& sPathData, CFX_PathData& path, const CPDF_
Rect& crBBox, const PWL_PATH_TYPE type); | 237 static void
GetGraphics_Paperclip(CFX_ByteString& sPathData, CFX_PathData& path, const CPDF_
Rect& crBBox, const PWL_PATH_TYPE type); |
238 static void
GetGraphics_Attachment(CFX_ByteString& sPathData, CFX_PathData& path, const CPDF
_Rect& crBBox, const PWL_PATH_TYPE type); | 238 static void
GetGraphics_Attachment(CFX_ByteString& sPathData, CFX_PathData& path, const CPDF
_Rect& crBBox, const PWL_PATH_TYPE type); |
239 static void
GetGraphics_Tag(CFX_ByteString& sPathData, CFX_PathData& path, const CPDF_Rect&
crBBox, const PWL_PATH_TYPE type); | 239 static void
GetGraphics_Tag(CFX_ByteString& sPathData, CFX_PathData& path, const CPDF_Rect&
crBBox, const PWL_PATH_TYPE type); |
240 static void
GetGraphics_Foxit(CFX_ByteString& sPathData, CFX_PathData& path, const CPDF_Rect
& crBBox, const PWL_PATH_TYPE type); | 240 static void
GetGraphics_Foxit(CFX_ByteString& sPathData, CFX_PathData& path, const CPDF_Rect
& crBBox, const PWL_PATH_TYPE type); |
241 }; | 241 }; |
242 | 242 |
243 #endif // FPDFSDK_INCLUDE_PDFWINDOW_PWL_UTILS_H_ | 243 #endif // FPDFSDK_INCLUDE_PDFWINDOW_PWL_UTILS_H_ |
OLD | NEW |