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_WND_H_ | 7 #ifndef FPDFSDK_PDFWINDOW_PWL_WND_H_ |
8 #define FPDFSDK_PDFWINDOW_PWL_WND_H_ | 8 #define FPDFSDK_PDFWINDOW_PWL_WND_H_ |
9 | 9 |
10 #include <vector> | 10 #include <vector> |
11 | 11 |
12 #include "core/fpdfdoc/include/fpdf_doc.h" | 12 #include "core/fpdfdoc/include/fpdf_doc.h" |
13 #include "core/fxcrt/include/fx_basic.h" | 13 #include "core/fxcrt/include/fx_basic.h" |
14 #include "fpdfsdk/include/fx_systemhandler.h" | 14 #include "fpdfsdk/include/fx_systemhandler.h" |
15 | 15 |
16 class CPWL_MsgControl; | 16 class CPWL_MsgControl; |
17 class CPWL_ScrollBar; | 17 class CPWL_ScrollBar; |
18 class CPWL_Timer; | 18 class CPWL_Timer; |
19 class CPWL_TimerHandler; | 19 class CPWL_TimerHandler; |
20 class CPWL_Wnd; | 20 class CPWL_Wnd; |
21 class IPVT_FontMap; | 21 class IPVT_FontMap; |
22 class IFX_SystemHandler; | 22 class IFX_SystemHandler; |
23 class IPWL_Provider; | 23 class IPWL_Provider; |
24 class IPWL_SpellCheck; | |
25 | 24 |
26 // window styles | 25 // window styles |
27 #define PWS_CHILD 0x80000000L | 26 #define PWS_CHILD 0x80000000L |
28 #define PWS_BORDER 0x40000000L | 27 #define PWS_BORDER 0x40000000L |
29 #define PWS_BACKGROUND 0x20000000L | 28 #define PWS_BACKGROUND 0x20000000L |
30 #define PWS_HSCROLL 0x10000000L | 29 #define PWS_HSCROLL 0x10000000L |
31 #define PWS_VSCROLL 0x08000000L | 30 #define PWS_VSCROLL 0x08000000L |
32 #define PWS_VISIBLE 0x04000000L | 31 #define PWS_VISIBLE 0x04000000L |
33 #define PWS_DISABLE 0x02000000L | 32 #define PWS_DISABLE 0x02000000L |
34 #define PWS_READONLY 0x01000000L | 33 #define PWS_READONLY 0x01000000L |
(...skipping 23 matching lines...) Expand all Loading... |
58 #define PLBS_MULTIPLESEL 0x0001L | 57 #define PLBS_MULTIPLESEL 0x0001L |
59 #define PLBS_HOVERSEL 0x0008L | 58 #define PLBS_HOVERSEL 0x0008L |
60 | 59 |
61 // combobox styles | 60 // combobox styles |
62 #define PCBS_ALLOWCUSTOMTEXT 0x0001L | 61 #define PCBS_ALLOWCUSTOMTEXT 0x0001L |
63 | 62 |
64 // richedit styles | 63 // richedit styles |
65 #define PRES_MULTILINE 0x0001L | 64 #define PRES_MULTILINE 0x0001L |
66 #define PRES_AUTORETURN 0x0002L | 65 #define PRES_AUTORETURN 0x0002L |
67 #define PRES_AUTOSCROLL 0x0004L | 66 #define PRES_AUTOSCROLL 0x0004L |
68 #define PRES_SPELLCHECK 0x0008L | |
69 #define PRES_UNDO 0x0100L | 67 #define PRES_UNDO 0x0100L |
70 #define PRES_MULTIPAGES 0x0200L | 68 #define PRES_MULTIPAGES 0x0200L |
71 #define PRES_TEXTOVERFLOW 0x0400L | 69 #define PRES_TEXTOVERFLOW 0x0400L |
72 | 70 |
73 // border style | 71 // border style |
74 #define PBS_SOLID 0 | 72 #define PBS_SOLID 0 |
75 #define PBS_DASH 1 | 73 #define PBS_DASH 1 |
76 #define PBS_BEVELED 2 | 74 #define PBS_BEVELED 2 |
77 #define PBS_INSET 3 | 75 #define PBS_INSET 3 |
78 #define PBS_UNDERLINED 4 | 76 #define PBS_UNDERLINED 4 |
(...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
161 #define PWL_DEFAULT_TEXTCOLOR CPWL_Color(COLORTYPE_RGB, 0, 0, 0) | 159 #define PWL_DEFAULT_TEXTCOLOR CPWL_Color(COLORTYPE_RGB, 0, 0, 0) |
162 #define PWL_DEFAULT_FONTSIZE 9.0f | 160 #define PWL_DEFAULT_FONTSIZE 9.0f |
163 #define PWL_DEFAULT_BLACKCOLOR CPWL_Color(COLORTYPE_GRAY, 0) | 161 #define PWL_DEFAULT_BLACKCOLOR CPWL_Color(COLORTYPE_GRAY, 0) |
164 #define PWL_DEFAULT_WHITECOLOR CPWL_Color(COLORTYPE_GRAY, 1) | 162 #define PWL_DEFAULT_WHITECOLOR CPWL_Color(COLORTYPE_GRAY, 1) |
165 #define PWL_DEFAULT_HEAVYGRAYCOLOR CPWL_Color(COLORTYPE_GRAY, 0.50) | 163 #define PWL_DEFAULT_HEAVYGRAYCOLOR CPWL_Color(COLORTYPE_GRAY, 0.50) |
166 #define PWL_DEFAULT_LIGHTGRAYCOLOR CPWL_Color(COLORTYPE_GRAY, 0.75) | 164 #define PWL_DEFAULT_LIGHTGRAYCOLOR CPWL_Color(COLORTYPE_GRAY, 0.75) |
167 #define PWL_TRIANGLE_HALFLEN 2.0f | 165 #define PWL_TRIANGLE_HALFLEN 2.0f |
168 #define PWL_CBBUTTON_TRIANGLE_HALFLEN 3.0f | 166 #define PWL_CBBUTTON_TRIANGLE_HALFLEN 3.0f |
169 #define PWL_INVALIDATE_INFLATE 2 | 167 #define PWL_INVALIDATE_INFLATE 2 |
170 | 168 |
171 class IPWL_SpellCheck { | |
172 public: | |
173 virtual ~IPWL_SpellCheck() {} | |
174 virtual FX_BOOL CheckWord(const FX_CHAR* sWord) = 0; | |
175 virtual void SuggestWords(const FX_CHAR* sWord, | |
176 std::vector<CFX_ByteString>& sSuggest) = 0; | |
177 }; | |
178 | |
179 class IPWL_Provider { | 169 class IPWL_Provider { |
180 public: | 170 public: |
181 virtual ~IPWL_Provider() {} | 171 virtual ~IPWL_Provider() {} |
182 | 172 |
183 // get a matrix which map user space to CWnd client space | 173 // get a matrix which map user space to CWnd client space |
184 virtual CFX_Matrix GetWindowMatrix(void* pAttachedData) = 0; | 174 virtual CFX_Matrix GetWindowMatrix(void* pAttachedData) = 0; |
185 | 175 |
186 /* | 176 /* |
187 0 L"&Undo\tCtrl+Z" | 177 0 L"&Undo\tCtrl+Z" |
188 1 L"&Redo\tCtrl+Shift+Z" | 178 1 L"&Redo\tCtrl+Shift+Z" |
(...skipping 17 matching lines...) Expand all Loading... |
206 public: | 196 public: |
207 PWL_CREATEPARAM() | 197 PWL_CREATEPARAM() |
208 : rcRectWnd(0, 0, 0, 0), | 198 : rcRectWnd(0, 0, 0, 0), |
209 pSystemHandler(NULL), | 199 pSystemHandler(NULL), |
210 pFontMap(NULL), | 200 pFontMap(NULL), |
211 pProvider(NULL), | 201 pProvider(NULL), |
212 pFocusHandler(NULL), | 202 pFocusHandler(NULL), |
213 dwFlags(0), | 203 dwFlags(0), |
214 sBackgroundColor(), | 204 sBackgroundColor(), |
215 hAttachedWnd(NULL), | 205 hAttachedWnd(NULL), |
216 pSpellCheck(NULL), | |
217 nBorderStyle(PBS_SOLID), | 206 nBorderStyle(PBS_SOLID), |
218 dwBorderWidth(1), | 207 dwBorderWidth(1), |
219 sBorderColor(), | 208 sBorderColor(), |
220 sTextColor(), | 209 sTextColor(), |
221 sTextStrokeColor(), | 210 sTextStrokeColor(), |
222 nTransparency(255), | 211 nTransparency(255), |
223 fFontSize(PWL_DEFAULT_FONTSIZE), | 212 fFontSize(PWL_DEFAULT_FONTSIZE), |
224 sDash(3, 0, 0), | 213 sDash(3, 0, 0), |
225 pAttachedData(NULL), | 214 pAttachedData(NULL), |
226 pParentWnd(NULL), | 215 pParentWnd(NULL), |
227 pMsgControl(NULL), | 216 pMsgControl(NULL), |
228 eCursorType(FXCT_ARROW), | 217 eCursorType(FXCT_ARROW), |
229 mtChild(1, 0, 0, 1, 0, 0) {} | 218 mtChild(1, 0, 0, 1, 0, 0) {} |
230 | 219 |
231 CFX_FloatRect rcRectWnd; // required | 220 CFX_FloatRect rcRectWnd; // required |
232 IFX_SystemHandler* pSystemHandler; // required | 221 IFX_SystemHandler* pSystemHandler; // required |
233 IPVT_FontMap* pFontMap; // required for text window | 222 IPVT_FontMap* pFontMap; // required for text window |
234 IPWL_Provider* pProvider; // required for self coordinate | 223 IPWL_Provider* pProvider; // required for self coordinate |
235 IPWL_FocusHandler* pFocusHandler; // optional | 224 IPWL_FocusHandler* pFocusHandler; // optional |
236 uint32_t dwFlags; // optional | 225 uint32_t dwFlags; // optional |
237 CPWL_Color sBackgroundColor; // optional | 226 CPWL_Color sBackgroundColor; // optional |
238 FX_HWND hAttachedWnd; // required for no-reader framework | 227 FX_HWND hAttachedWnd; // required for no-reader framework |
239 IPWL_SpellCheck* pSpellCheck; // required for spellchecking | |
240 int32_t nBorderStyle; // optional | 228 int32_t nBorderStyle; // optional |
241 int32_t dwBorderWidth; // optional | 229 int32_t dwBorderWidth; // optional |
242 CPWL_Color sBorderColor; // optional | 230 CPWL_Color sBorderColor; // optional |
243 CPWL_Color sTextColor; // optional | 231 CPWL_Color sTextColor; // optional |
244 CPWL_Color sTextStrokeColor; // optional | 232 CPWL_Color sTextStrokeColor; // optional |
245 int32_t nTransparency; // optional | 233 int32_t nTransparency; // optional |
246 FX_FLOAT fFontSize; // optional | 234 FX_FLOAT fFontSize; // optional |
247 CPWL_Dash sDash; // optional | 235 CPWL_Dash sDash; // optional |
248 void* pAttachedData; // optional | 236 void* pAttachedData; // optional |
249 CPWL_Wnd* pParentWnd; // ignore | 237 CPWL_Wnd* pParentWnd; // ignore |
(...skipping 213 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
463 CFX_FloatRect m_rcWindow; | 451 CFX_FloatRect m_rcWindow; |
464 CFX_FloatRect m_rcClip; | 452 CFX_FloatRect m_rcClip; |
465 | 453 |
466 FX_BOOL m_bCreated; | 454 FX_BOOL m_bCreated; |
467 FX_BOOL m_bVisible; | 455 FX_BOOL m_bVisible; |
468 FX_BOOL m_bNotifying; | 456 FX_BOOL m_bNotifying; |
469 FX_BOOL m_bEnabled; | 457 FX_BOOL m_bEnabled; |
470 }; | 458 }; |
471 | 459 |
472 #endif // FPDFSDK_PDFWINDOW_PWL_WND_H_ | 460 #endif // FPDFSDK_PDFWINDOW_PWL_WND_H_ |
OLD | NEW |