Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(256)

Side by Side Diff: fpdfsdk/src/pdfwindow/PWL_EditCtrl.cpp

Issue 1243953004: Re-land else-after-returns (Closed) Base URL: https://pdfium.googlesource.com/pdfium.git@master
Patch Set: Created 5 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « fpdfsdk/src/pdfwindow/PWL_ComboBox.cpp ('k') | fpdfsdk/src/pdfwindow/PWL_FontMap.cpp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 #include "../../include/pdfwindow/PDFWindow.h" 7 #include "../../include/pdfwindow/PDFWindow.h"
8 #include "../../include/pdfwindow/PWL_Wnd.h" 8 #include "../../include/pdfwindow/PWL_Wnd.h"
9 #include "../../include/pdfwindow/PWL_EditCtrl.h" 9 #include "../../include/pdfwindow/PWL_EditCtrl.h"
10 #include "../../include/pdfwindow/PWL_ScrollBar.h" 10 #include "../../include/pdfwindow/PWL_ScrollBar.h"
11 #include "../../include/pdfwindow/PWL_Utils.h" 11 #include "../../include/pdfwindow/PWL_Utils.h"
12 #include "../../include/pdfwindow/PWL_Caret.h" 12 #include "../../include/pdfwindow/PWL_Caret.h"
13 #include "../../include/pdfwindow/PWL_FontMap.h" 13 #include "../../include/pdfwindow/PWL_FontMap.h"
14 14
15 #define IsFloatZero(f)» » » » » » ((f) < 0.0001 && (f) > -0.0001) 15 #define IsFloatZero(f) ((f) < 0.0001 && (f) > -0.0001)
16 #define IsFloatBigger(fa,fb)» » » » ((fa) > (fb) && !IsFloat Zero((fa) - (fb))) 16 #define IsFloatBigger(fa,fb) ((fa) > (fb) && !IsFloatZero((fa) - (fb)))
17 #define IsFloatSmaller(fa,fb)» » » » ((fa) < (fb) && !IsFloat Zero((fa) - (fb))) 17 #define IsFloatSmaller(fa,fb) ((fa) < (fb) && !IsFloatZero((fa) - (fb)))
18 #define IsFloatEqual(fa,fb)» » » » » IsFloatZero((fa) -(fb)) 18 #define IsFloatEqual(fa,fb) IsFloatZero((fa)-(fb))
19 19
20 /* ---------------------------- CPWL_EditCtrl ------------------------------ */ 20 /* ---------------------------- CPWL_EditCtrl ------------------------------ */
21 21
22 CPWL_EditCtrl::CPWL_EditCtrl() : 22 CPWL_EditCtrl::CPWL_EditCtrl() :
23 » m_pEdit(NULL), 23 m_pEdit(NULL),
24 » m_pEditCaret(NULL), 24 m_pEditCaret(NULL),
25 » m_bMouseDown(FALSE), 25 m_bMouseDown(FALSE),
26 » m_pEditNotify(NULL), 26 m_pEditNotify(NULL),
27 » m_nCharSet(DEFAULT_CHARSET), 27 m_nCharSet(DEFAULT_CHARSET),
28 » m_nCodePage(0) 28 m_nCodePage(0)
29 { 29 {
30 » m_pEdit = IFX_Edit::NewEdit(); 30 m_pEdit = IFX_Edit::NewEdit();
31 » ASSERT(m_pEdit != NULL); 31 ASSERT(m_pEdit != NULL);
32 } 32 }
33 33
34 CPWL_EditCtrl::~CPWL_EditCtrl() 34 CPWL_EditCtrl::~CPWL_EditCtrl()
35 { 35 {
36 » IFX_Edit::DelEdit(m_pEdit); 36 IFX_Edit::DelEdit(m_pEdit);
37 } 37 }
38 38
39 void CPWL_EditCtrl::OnCreate(PWL_CREATEPARAM & cp) 39 void CPWL_EditCtrl::OnCreate(PWL_CREATEPARAM& cp)
40 { 40 {
41 » cp.eCursorType = FXCT_VBEAM; 41 cp.eCursorType = FXCT_VBEAM;
42 } 42 }
43 43
44 void CPWL_EditCtrl::OnCreated() 44 void CPWL_EditCtrl::OnCreated()
45 { 45 {
46 » SetFontSize(GetCreationParam().fFontSize); 46 SetFontSize(GetCreationParam().fFontSize);
47 47
48 » m_pEdit->SetFontMap(GetFontMap()); 48 m_pEdit->SetFontMap(GetFontMap());
49 » m_pEdit->SetNotify(this); 49 m_pEdit->SetNotify(this);
50 » m_pEdit->Initialize(); 50 m_pEdit->Initialize();
51 } 51 }
52 52
53 FX_BOOL CPWL_EditCtrl::IsWndHorV() 53 FX_BOOL CPWL_EditCtrl::IsWndHorV()
54 { 54 {
55 » CPDF_Matrix mt = GetWindowMatrix(); 55 CPDF_Matrix mt = GetWindowMatrix();
56 » CPDF_Point point1(0,1); 56 CPDF_Point point1(0,1);
57 » CPDF_Point point2(1,1); 57 CPDF_Point point2(1,1);
58 58
59 » mt.Transform(point1.x, point1.y); 59 mt.Transform(point1.x, point1.y);
60 » mt.Transform(point2.x, point2.y); 60 mt.Transform(point2.x, point2.y);
61 61
62 » return point2.y == point1.y; 62 return point2.y == point1.y;
63 } 63 }
64 64
65 void CPWL_EditCtrl::SetCursor() 65 void CPWL_EditCtrl::SetCursor()
66 { 66 {
67 » if (IsValid()) 67 if (IsValid())
68 » { 68 {
69 » » if (IFX_SystemHandler* pSH = GetSystemHandler()) 69 if (IFX_SystemHandler* pSH = GetSystemHandler())
70 » » { 70 {
71 » » » if (IsWndHorV()) 71 if (IsWndHorV())
72 » » » » pSH->SetCursor(FXCT_VBEAM); 72 pSH->SetCursor(FXCT_VBEAM);
73 » » » else 73 else
74 » » » » pSH->SetCursor(FXCT_HBEAM); 74 pSH->SetCursor(FXCT_HBEAM);
75 » » } 75 }
76 » } 76 }
77 } 77 }
78 78
79 void CPWL_EditCtrl::RePosChildWnd() 79 void CPWL_EditCtrl::RePosChildWnd()
80 { 80 {
81 » m_pEdit->SetPlateRect(GetClientRect()); 81 m_pEdit->SetPlateRect(GetClientRect());
82 } 82 }
83 83
84 void CPWL_EditCtrl::OnNotify(CPWL_Wnd* pWnd, FX_DWORD msg, intptr_t wParam, intp tr_t lParam) 84 void CPWL_EditCtrl::OnNotify(CPWL_Wnd* pWnd, FX_DWORD msg, intptr_t wParam, intp tr_t lParam)
85 { 85 {
86 » CPWL_Wnd::OnNotify(pWnd,msg,wParam,lParam); 86 CPWL_Wnd::OnNotify(pWnd,msg,wParam,lParam);
87 87
88 » switch (msg) 88 switch (msg)
89 » { 89 {
90 » » case PNM_SETSCROLLINFO: 90 case PNM_SETSCROLLINFO:
91 » » » switch (wParam) 91 switch (wParam)
92 » » » { 92 {
93 » » » » case SBT_VSCROLL: 93 case SBT_VSCROLL:
94 » » » » » if (CPWL_Wnd * pChild = GetVScrollBar()) 94 if (CPWL_Wnd * pChild = GetVScrollBar())
95 » » » » » { 95 {
96 » » » » » » pChild->OnNotify(pWnd,PNM_SETSCR OLLINFO,wParam,lParam); 96 pChild->OnNotify(pWnd,PNM_SETSCROLLINFO,wParam,lParam);
97 » » » » » } 97 }
98 » » » » » break; 98 break;
99 » » » } 99 }
100 » » » break; 100 break;
101 » » case PNM_SETSCROLLPOS: 101 case PNM_SETSCROLLPOS:
102 » » » switch (wParam) 102 switch (wParam)
103 » » » { 103 {
104 » » » » case SBT_VSCROLL: 104 case SBT_VSCROLL:
105 » » » » » if (CPWL_Wnd * pChild = GetVScrollBar()) 105 if (CPWL_Wnd * pChild = GetVScrollBar())
106 » » » » » { 106 {
107 » » » » » » pChild->OnNotify(pWnd,PNM_SETSCR OLLPOS,wParam,lParam); 107 pChild->OnNotify(pWnd,PNM_SETSCROLLPOS,wParam,lParam);
108 » » » » » } 108 }
109 » » » » » break; 109 break;
110 » » » } 110 }
111 » » » break; 111 break;
112 » » case PNM_SCROLLWINDOW: 112 case PNM_SCROLLWINDOW:
113 » » » { 113 {
114 » » » » FX_FLOAT fPos = *(FX_FLOAT*)lParam; 114 FX_FLOAT fPos = *(FX_FLOAT*)lParam;
115 » » » » switch (wParam) 115 switch (wParam)
116 » » » » { 116 {
117 » » » » » case SBT_VSCROLL: 117 case SBT_VSCROLL:
118 » » » » » » m_pEdit->SetScrollPos(CPDF_Point (m_pEdit->GetScrollPos().x,fPos)); 118 m_pEdit->SetScrollPos(CPDF_Point(m_pEdit->GetScrollPos() .x,fPos));
119 » » » » » » break; 119 break;
120 » » » » } 120 }
121 » » » } 121 }
122 » » » break; 122 break;
123 » » case PNM_SETCARETINFO: 123 case PNM_SETCARETINFO:
124 » » » { 124 {
125 » » » » if (PWL_CARET_INFO * pCaretInfo = (PWL_CARET_INF O *)wParam) 125 if (PWL_CARET_INFO * pCaretInfo = (PWL_CARET_INFO *)wParam)
126 » » » » { 126 {
127 » » » » » SetCaret(pCaretInfo->bVisible, 127 SetCaret(pCaretInfo->bVisible,
128 » » » » » » pCaretInfo->ptHead, 128 pCaretInfo->ptHead,
129 » » » » » » pCaretInfo->ptFoot); 129 pCaretInfo->ptFoot);
130 » » » » } 130 }
131 » » » } 131 }
132 » » » break; 132 break;
133 » } 133 }
134 } 134 }
135 135
136 void CPWL_EditCtrl::CreateChildWnd(const PWL_CREATEPARAM & cp) 136 void CPWL_EditCtrl::CreateChildWnd(const PWL_CREATEPARAM & cp)
137 { 137 {
138 » if (!IsReadOnly()) 138 if (!IsReadOnly())
139 » » CreateEditCaret(cp); 139 CreateEditCaret(cp);
140 } 140 }
141 141
142 void CPWL_EditCtrl::CreateEditCaret(const PWL_CREATEPARAM & cp) 142 void CPWL_EditCtrl::CreateEditCaret(const PWL_CREATEPARAM & cp)
143 { 143 {
144 » if (!m_pEditCaret) 144 if (!m_pEditCaret)
145 » { 145 {
146 » » m_pEditCaret = new CPWL_Caret; 146 m_pEditCaret = new CPWL_Caret;
147 » » m_pEditCaret->SetInvalidRect(GetClientRect()); 147 m_pEditCaret->SetInvalidRect(GetClientRect());
148 148
149 » » PWL_CREATEPARAM»ecp = cp; 149 PWL_CREATEPARAM ecp = cp;
150 » » ecp.pParentWnd = this; 150 ecp.pParentWnd = this;
151 » » ecp.dwFlags = PWS_CHILD | PWS_NOREFRESHCLIP; 151 ecp.dwFlags = PWS_CHILD | PWS_NOREFRESHCLIP;
152 » » ecp.dwBorderWidth = 0; 152 ecp.dwBorderWidth = 0;
153 » » ecp.nBorderStyle = PBS_SOLID; 153 ecp.nBorderStyle = PBS_SOLID;
154 » » ecp.rcRectWnd = CPDF_Rect(0,0,0,0); 154 ecp.rcRectWnd = CPDF_Rect(0,0,0,0);
155 155
156 » » m_pEditCaret->Create(ecp); 156 m_pEditCaret->Create(ecp);
157 » } 157 }
158 } 158 }
159 159
160 void CPWL_EditCtrl::SetFontSize(FX_FLOAT fFontSize) 160 void CPWL_EditCtrl::SetFontSize(FX_FLOAT fFontSize)
161 { 161 {
162 » m_pEdit->SetFontSize(fFontSize); 162 m_pEdit->SetFontSize(fFontSize);
163 } 163 }
164 164
165 FX_FLOAT CPWL_EditCtrl::GetFontSize() const 165 FX_FLOAT CPWL_EditCtrl::GetFontSize() const
166 { 166 {
167 » return m_pEdit->GetFontSize(); 167 return m_pEdit->GetFontSize();
168 } 168 }
169 169
170 FX_BOOL CPWL_EditCtrl::OnKeyDown(FX_WORD nChar, FX_DWORD nFlag) 170 FX_BOOL CPWL_EditCtrl::OnKeyDown(FX_WORD nChar, FX_DWORD nFlag)
171 { 171 {
172 » if (m_bMouseDown) return TRUE; 172 if (m_bMouseDown) return TRUE;
173 173
174 » FX_BOOL bRet = CPWL_Wnd::OnKeyDown(nChar,nFlag); 174 FX_BOOL bRet = CPWL_Wnd::OnKeyDown(nChar,nFlag);
175 175
176 » //FILTER 176 //FILTER
177 » switch (nChar) 177 switch (nChar)
178 » { 178 {
179 » default: 179 default:
180 » » return FALSE; 180 return FALSE;
181 » case FWL_VKEY_Delete: 181 case FWL_VKEY_Delete:
182 » case FWL_VKEY_Up: 182 case FWL_VKEY_Up:
183 » case FWL_VKEY_Down: 183 case FWL_VKEY_Down:
184 » case FWL_VKEY_Left: 184 case FWL_VKEY_Left:
185 » case FWL_VKEY_Right: 185 case FWL_VKEY_Right:
186 » case FWL_VKEY_Home: 186 case FWL_VKEY_Home:
187 » case FWL_VKEY_End: 187 case FWL_VKEY_End:
188 » case FWL_VKEY_Insert: 188 case FWL_VKEY_Insert:
189 » case 'C': 189 case 'C':
190 » case 'V': 190 case 'V':
191 » case 'X': 191 case 'X':
192 » case 'A': 192 case 'A':
193 » case 'Z': 193 case 'Z':
194 » case 'c': 194 case 'c':
195 » case 'v': 195 case 'v':
196 » case 'x': 196 case 'x':
197 » case 'a': 197 case 'a':
198 » case 'z': 198 case 'z':
199 » » break; 199 break;
200 » } 200 }
201 201
202 » if (nChar == FWL_VKEY_Delete) 202 if (nChar == FWL_VKEY_Delete)
203 » { 203 {
204 » » if (m_pEdit->IsSelected()) 204 if (m_pEdit->IsSelected())
205 » » » nChar = FWL_VKEY_Unknown; 205 nChar = FWL_VKEY_Unknown;
206 » } 206 }
207 207
208 » switch (nChar) 208 switch (nChar)
209 » { 209 {
210 » » case FWL_VKEY_Delete: 210 case FWL_VKEY_Delete:
211 » » » Delete(); 211 Delete();
212 » » » return TRUE; 212 return TRUE;
213 » » case FWL_VKEY_Insert: 213 case FWL_VKEY_Insert:
214 » » » if (IsSHIFTpressed(nFlag)) 214 if (IsSHIFTpressed(nFlag))
215 » » » » PasteText(); 215 PasteText();
216 » » » return TRUE; 216 return TRUE;
217 » » case FWL_VKEY_Up: 217 case FWL_VKEY_Up:
218 » » » m_pEdit->OnVK_UP(IsSHIFTpressed(nFlag),FALSE); 218 m_pEdit->OnVK_UP(IsSHIFTpressed(nFlag),FALSE);
219 » » » return TRUE; 219 return TRUE;
220 » » case FWL_VKEY_Down: 220 case FWL_VKEY_Down:
221 » » » m_pEdit->OnVK_DOWN(IsSHIFTpressed(nFlag),FALSE); 221 m_pEdit->OnVK_DOWN(IsSHIFTpressed(nFlag),FALSE);
222 » » » return TRUE; 222 return TRUE;
223 » » case FWL_VKEY_Left: 223 case FWL_VKEY_Left:
224 » » » m_pEdit->OnVK_LEFT(IsSHIFTpressed(nFlag),FALSE); 224 m_pEdit->OnVK_LEFT(IsSHIFTpressed(nFlag),FALSE);
225 » » » return TRUE; 225 return TRUE;
226 » » case FWL_VKEY_Right: 226 case FWL_VKEY_Right:
227 » » » m_pEdit->OnVK_RIGHT(IsSHIFTpressed(nFlag),FALSE); 227 m_pEdit->OnVK_RIGHT(IsSHIFTpressed(nFlag),FALSE);
228 » » » return TRUE; 228 return TRUE;
229 » » case FWL_VKEY_Home: 229 case FWL_VKEY_Home:
230 » » » m_pEdit->OnVK_HOME(IsSHIFTpressed(nFlag),IsCTRLpressed(n Flag)); 230 m_pEdit->OnVK_HOME(IsSHIFTpressed(nFlag),IsCTRLpressed(nFlag));
231 » » » return TRUE; 231 return TRUE;
232 » » case FWL_VKEY_End: 232 case FWL_VKEY_End:
233 » » » m_pEdit->OnVK_END(IsSHIFTpressed(nFlag),IsCTRLpressed(nF lag)); 233 m_pEdit->OnVK_END(IsSHIFTpressed(nFlag),IsCTRLpressed(nFlag));
234 » » » return TRUE; 234 return TRUE;
235 » » case FWL_VKEY_Unknown: 235 case FWL_VKEY_Unknown:
236 » » » if (!IsSHIFTpressed(nFlag)) 236 if (!IsSHIFTpressed(nFlag))
237 » » » » Clear(); 237 Clear();
238 » » » else 238 else
239 » » » » CutText(); 239 CutText();
240 » » » return TRUE; 240 return TRUE;
241 » » default: 241 default:
242 » » » break; 242 break;
243 » } 243 }
244 244
245 » return bRet; 245 return bRet;
246 } 246 }
247 247
248 FX_BOOL CPWL_EditCtrl::OnChar(FX_WORD nChar, FX_DWORD nFlag) 248 FX_BOOL CPWL_EditCtrl::OnChar(FX_WORD nChar, FX_DWORD nFlag)
249 { 249 {
250 » if (m_bMouseDown) return TRUE; 250 if (m_bMouseDown) return TRUE;
251 251
252 » CPWL_Wnd::OnChar(nChar,nFlag); 252 CPWL_Wnd::OnChar(nChar,nFlag);
253 253
254 » //FILTER 254 //FILTER
255 » switch (nChar) 255 switch (nChar)
256 » { 256 {
257 » » case 0x0A: 257 case 0x0A:
258 » » case 0x1B: 258 case 0x1B:
259 » » » return FALSE; 259 return FALSE;
260 » » default: 260 default:
261 » » » break; 261 break;
262 » } 262 }
263 263
264 » FX_BOOL bCtrl = IsCTRLpressed(nFlag); 264 FX_BOOL bCtrl = IsCTRLpressed(nFlag);
265 » FX_BOOL bAlt = IsALTpressed(nFlag); 265 FX_BOOL bAlt = IsALTpressed(nFlag);
266 » FX_BOOL bShift = IsSHIFTpressed(nFlag); 266 FX_BOOL bShift = IsSHIFTpressed(nFlag);
267 267
268 » FX_WORD word = nChar; 268 FX_WORD word = nChar;
269 269
270 » if (bCtrl && !bAlt) 270 if (bCtrl && !bAlt)
271 » { 271 {
272 » » switch (nChar) 272 switch (nChar)
273 » » { 273 {
274 » » » case 'C' - 'A' + 1: 274 case 'C' - 'A' + 1:
275 » » » » CopyText(); 275 CopyText();
276 » » » » return TRUE; 276 return TRUE;
277 » » » case 'V' - 'A' + 1: 277 case 'V' - 'A' + 1:
278 » » » » PasteText(); 278 PasteText();
279 » » » » return TRUE; 279 return TRUE;
280 » » » case 'X' - 'A' + 1: 280 case 'X' - 'A' + 1:
281 » » » » CutText(); 281 CutText();
282 » » » » return TRUE; 282 return TRUE;
283 » » » case 'A' - 'A' + 1: 283 case 'A' - 'A' + 1:
284 » » » » SelectAll(); 284 SelectAll();
285 » » » » return TRUE; 285 return TRUE;
286 » » » case 'Z' - 'A' + 1: 286 case 'Z' - 'A' + 1:
287 » » » » if (bShift) 287 if (bShift)
288 » » » » » Redo(); 288 Redo();
289 » » » » else 289 else
290 » » » » » Undo(); 290 Undo();
291 » » » » return TRUE; 291 return TRUE;
292 » » » default: 292 default:
293 » » » » if (nChar < 32) 293 if (nChar < 32)
294 » » » » » return FALSE; 294 return FALSE;
295 » » } 295 }
296 » } 296 }
297 297
298 » if (IsReadOnly()) return TRUE; 298 if (IsReadOnly()) return TRUE;
299 299
300 » if (m_pEdit->IsSelected() && word == FWL_VKEY_Back) 300 if (m_pEdit->IsSelected() && word == FWL_VKEY_Back)
301 » » word = FWL_VKEY_Unknown; 301 word = FWL_VKEY_Unknown;
302 302
303 » Clear(); 303 Clear();
304 304
305 » switch (word) 305 switch (word)
306 » { 306 {
307 » case FWL_VKEY_Back: 307 case FWL_VKEY_Back:
308 » » Backspace(); 308 Backspace();
309 » » break; 309 break;
310 » case FWL_VKEY_Return: 310 case FWL_VKEY_Return:
311 » » InsertReturn(); 311 InsertReturn();
312 » » break; 312 break;
313 » case FWL_VKEY_Unknown: 313 case FWL_VKEY_Unknown:
314 » » break; 314 break;
315 » default: 315 default:
316 » » if (IsINSERTpressed(nFlag)) 316 if (IsINSERTpressed(nFlag))
317 » » » Delete(); 317 Delete();
318 » » InsertWord(word, GetCharSet()); 318 InsertWord(word, GetCharSet());
319 » » break; 319 break;
320 » } 320 }
321 321
322 » return TRUE; 322 return TRUE;
323 } 323 }
324 324
325 FX_BOOL CPWL_EditCtrl::OnLButtonDown(const CPDF_Point & point, FX_DWORD nFlag) 325 FX_BOOL CPWL_EditCtrl::OnLButtonDown(const CPDF_Point & point, FX_DWORD nFlag)
326 { 326 {
327 » CPWL_Wnd::OnLButtonDown(point,nFlag); 327 CPWL_Wnd::OnLButtonDown(point,nFlag);
328 328
329 » if (ClientHitTest(point)) 329 if (ClientHitTest(point))
330 » { 330 {
331 » » if (m_bMouseDown) 331 if (m_bMouseDown)
332 » » » InvalidateRect(); 332 InvalidateRect();
333 333
334 » » m_bMouseDown = TRUE; 334 m_bMouseDown = TRUE;
335 » » SetCapture(); 335 SetCapture();
336 336
337 » » m_pEdit->OnMouseDown(point,IsSHIFTpressed(nFlag),IsCTRLpressed(n Flag)); 337 m_pEdit->OnMouseDown(point,IsSHIFTpressed(nFlag),IsCTRLpressed(nFlag));
338 » } 338 }
339 339
340 » return TRUE; 340 return TRUE;
341 } 341 }
342 342
343 FX_BOOL CPWL_EditCtrl::OnLButtonUp(const CPDF_Point & point, FX_DWORD nFlag) 343 FX_BOOL CPWL_EditCtrl::OnLButtonUp(const CPDF_Point & point, FX_DWORD nFlag)
344 { 344 {
345 » CPWL_Wnd::OnLButtonUp(point,nFlag); 345 CPWL_Wnd::OnLButtonUp(point,nFlag);
346 346
347 » if (m_bMouseDown) 347 if (m_bMouseDown)
348 » { 348 {
349 » » //can receive keybord message 349 //can receive keybord message
350 » » if (ClientHitTest(point) && !IsFocused()) 350 if (ClientHitTest(point) && !IsFocused())
351 » » » SetFocus(); 351 SetFocus();
352 352
353 » » ReleaseCapture(); 353 ReleaseCapture();
354 » » m_bMouseDown = FALSE; 354 m_bMouseDown = FALSE;
355 » } 355 }
356 356
357 » return TRUE; 357 return TRUE;
358 } 358 }
359 359
360 FX_BOOL CPWL_EditCtrl::OnMouseMove(const CPDF_Point & point, FX_DWORD nFlag) 360 FX_BOOL CPWL_EditCtrl::OnMouseMove(const CPDF_Point & point, FX_DWORD nFlag)
361 { 361 {
362 » CPWL_Wnd::OnMouseMove(point,nFlag); 362 CPWL_Wnd::OnMouseMove(point,nFlag);
363 363
364 » if (m_bMouseDown) 364 if (m_bMouseDown)
365 » » m_pEdit->OnMouseMove(point,FALSE,FALSE); 365 m_pEdit->OnMouseMove(point,FALSE,FALSE);
366 366
367 » return TRUE; 367 return TRUE;
368 } 368 }
369 369
370 CPDF_Rect CPWL_EditCtrl::GetContentRect() const 370 CPDF_Rect CPWL_EditCtrl::GetContentRect() const
371 { 371 {
372 » return m_pEdit->GetContentRect(); 372 return m_pEdit->GetContentRect();
373 } 373 }
374 374
375 void CPWL_EditCtrl::SetEditCaret(FX_BOOL bVisible) 375 void CPWL_EditCtrl::SetEditCaret(FX_BOOL bVisible)
376 { 376 {
377 » CPDF_Point ptHead(0,0),ptFoot(0,0); 377 CPDF_Point ptHead(0,0),ptFoot(0,0);
378 378
379 » if (bVisible) 379 if (bVisible)
380 » { 380 {
381 » » GetCaretInfo(ptHead,ptFoot); 381 GetCaretInfo(ptHead,ptFoot);
382 » } 382 }
383 383
384 » CPVT_WordPlace wpTemp = m_pEdit->GetCaretWordPlace(); 384 CPVT_WordPlace wpTemp = m_pEdit->GetCaretWordPlace();
385 » IOnSetCaret(bVisible,ptHead,ptFoot,wpTemp); 385 IOnSetCaret(bVisible,ptHead,ptFoot,wpTemp);
386 } 386 }
387 387
388 void CPWL_EditCtrl::GetCaretInfo(CPDF_Point & ptHead, CPDF_Point & ptFoot) const 388 void CPWL_EditCtrl::GetCaretInfo(CPDF_Point & ptHead, CPDF_Point & ptFoot) const
389 { 389 {
390 » if (IFX_Edit_Iterator * pIterator = m_pEdit->GetIterator()) 390 if (IFX_Edit_Iterator * pIterator = m_pEdit->GetIterator())
391 » { 391 {
392 » » pIterator->SetAt(m_pEdit->GetCaret()); 392 pIterator->SetAt(m_pEdit->GetCaret());
393 » » CPVT_Word word; 393 CPVT_Word word;
394 » » CPVT_Line line; 394 CPVT_Line line;
395 » » if (pIterator->GetWord(word)) 395 if (pIterator->GetWord(word))
396 » » { 396 {
397 » » » ptHead.x = word.ptWord.x + word.fWidth; 397 ptHead.x = word.ptWord.x + word.fWidth;
398 » » » ptHead.y = word.ptWord.y + word.fAscent; 398 ptHead.y = word.ptWord.y + word.fAscent;
399 » » » ptFoot.x = word.ptWord.x + word.fWidth; 399 ptFoot.x = word.ptWord.x + word.fWidth;
400 » » » ptFoot.y = word.ptWord.y + word.fDescent; 400 ptFoot.y = word.ptWord.y + word.fDescent;
401 » » } 401 }
402 » » else if (pIterator->GetLine(line)) 402 else if (pIterator->GetLine(line))
403 » » { 403 {
404 » » » ptHead.x = line.ptLine.x; 404 ptHead.x = line.ptLine.x;
405 » » » ptHead.y = line.ptLine.y + line.fLineAscent; 405 ptHead.y = line.ptLine.y + line.fLineAscent;
406 » » » ptFoot.x = line.ptLine.x; 406 ptFoot.x = line.ptLine.x;
407 » » » ptFoot.y = line.ptLine.y + line.fLineDescent; 407 ptFoot.y = line.ptLine.y + line.fLineDescent;
408 » » } 408 }
409 » } 409 }
410 } 410 }
411 411
412 void CPWL_EditCtrl::GetCaretPos(int32_t& x, int32_t& y) const 412 void CPWL_EditCtrl::GetCaretPos(int32_t& x, int32_t& y) const
413 { 413 {
414 » CPDF_Point ptHead(0,0), ptFoot(0,0); 414 CPDF_Point ptHead(0,0), ptFoot(0,0);
415 415
416 » GetCaretInfo(ptHead,ptFoot); 416 GetCaretInfo(ptHead,ptFoot);
417 417
418 » PWLtoWnd(ptHead, x, y); 418 PWLtoWnd(ptHead, x, y);
419 } 419 }
420 420
421 void CPWL_EditCtrl::SetCaret(FX_BOOL bVisible, const CPDF_Point & ptHead, const CPDF_Point & ptFoot) 421 void CPWL_EditCtrl::SetCaret(FX_BOOL bVisible, const CPDF_Point & ptHead, const CPDF_Point & ptFoot)
422 { 422 {
423 » if (m_pEditCaret) 423 if (m_pEditCaret)
424 » { 424 {
425 » » if (!IsFocused() || m_pEdit->IsSelected()) 425 if (!IsFocused() || m_pEdit->IsSelected())
426 » » » bVisible = FALSE; 426 bVisible = FALSE;
427 427
428 » » m_pEditCaret->SetCaret(bVisible, ptHead, ptFoot); 428 m_pEditCaret->SetCaret(bVisible, ptHead, ptFoot);
429 » } 429 }
430 } 430 }
431 431
432 FX_BOOL»CPWL_EditCtrl::IsModified() const 432 FX_BOOL CPWL_EditCtrl::IsModified() const
433 { 433 {
434 » return m_pEdit->IsModified(); 434 return m_pEdit->IsModified();
435 } 435 }
436 436
437 CFX_WideString CPWL_EditCtrl::GetText() const 437 CFX_WideString CPWL_EditCtrl::GetText() const
438 { 438 {
439 » return m_pEdit->GetText(); 439 return m_pEdit->GetText();
440 } 440 }
441 441
442 void CPWL_EditCtrl::SetSel(int32_t nStartChar,int32_t nEndChar) 442 void CPWL_EditCtrl::SetSel(int32_t nStartChar,int32_t nEndChar)
443 { 443 {
444 » m_pEdit->SetSel(nStartChar, nEndChar); 444 m_pEdit->SetSel(nStartChar, nEndChar);
445 } 445 }
446 446
447 void CPWL_EditCtrl::GetSel(int32_t & nStartChar, int32_t & nEndChar ) const 447 void CPWL_EditCtrl::GetSel(int32_t & nStartChar, int32_t & nEndChar ) const
448 { 448 {
449 » m_pEdit->GetSel(nStartChar, nEndChar); 449 m_pEdit->GetSel(nStartChar, nEndChar);
450 } 450 }
451 451
452 void CPWL_EditCtrl::Clear() 452 void CPWL_EditCtrl::Clear()
453 { 453 {
454 » if (!IsReadOnly()) 454 if (!IsReadOnly())
455 » » m_pEdit->Clear(); 455 m_pEdit->Clear();
456 } 456 }
457 457
458 void CPWL_EditCtrl::SelectAll() 458 void CPWL_EditCtrl::SelectAll()
459 { 459 {
460 » m_pEdit->SelectAll(); 460 m_pEdit->SelectAll();
461 } 461 }
462 462
463 void CPWL_EditCtrl::Paint() 463 void CPWL_EditCtrl::Paint()
464 { 464 {
465 » if (m_pEdit) 465 if (m_pEdit)
466 » » m_pEdit->Paint(); 466 m_pEdit->Paint();
467 } 467 }
468 468
469 void CPWL_EditCtrl::EnableRefresh(FX_BOOL bRefresh) 469 void CPWL_EditCtrl::EnableRefresh(FX_BOOL bRefresh)
470 { 470 {
471 » if (m_pEdit) 471 if (m_pEdit)
472 » » m_pEdit->EnableRefresh(bRefresh); 472 m_pEdit->EnableRefresh(bRefresh);
473 } 473 }
474 474
475 int32_t CPWL_EditCtrl::GetCaret() const 475 int32_t CPWL_EditCtrl::GetCaret() const
476 { 476 {
477 » if (m_pEdit) 477 if (m_pEdit)
478 » » return m_pEdit->GetCaret(); 478 return m_pEdit->GetCaret();
479 479
480 » return -1; 480 return -1;
481 } 481 }
482 482
483 void CPWL_EditCtrl::SetCaret(int32_t nPos) 483 void CPWL_EditCtrl::SetCaret(int32_t nPos)
484 { 484 {
485 » if (m_pEdit) 485 if (m_pEdit)
486 » » m_pEdit->SetCaret(nPos); 486 m_pEdit->SetCaret(nPos);
487 } 487 }
488 488
489 int32_t CPWL_EditCtrl::GetTotalWords() const 489 int32_t CPWL_EditCtrl::GetTotalWords() const
490 { 490 {
491 » if (m_pEdit) 491 if (m_pEdit)
492 » » return m_pEdit->GetTotalWords(); 492 return m_pEdit->GetTotalWords();
493 493
494 » return 0; 494 return 0;
495 } 495 }
496 496
497 void CPWL_EditCtrl::SetScrollPos(const CPDF_Point& point) 497 void CPWL_EditCtrl::SetScrollPos(const CPDF_Point& point)
498 { 498 {
499 » if (m_pEdit) 499 if (m_pEdit)
500 » » m_pEdit->SetScrollPos(point); 500 m_pEdit->SetScrollPos(point);
501 } 501 }
502 502
503 CPDF_Point CPWL_EditCtrl::GetScrollPos() const 503 CPDF_Point CPWL_EditCtrl::GetScrollPos() const
504 { 504 {
505 » if (m_pEdit) 505 if (m_pEdit)
506 » » return m_pEdit->GetScrollPos(); 506 return m_pEdit->GetScrollPos();
507 507
508 » return CPDF_Point(0.0f, 0.0f); 508 return CPDF_Point(0.0f, 0.0f);
509 } 509 }
510 510
511 CPDF_Font * CPWL_EditCtrl::GetCaretFont() const 511 CPDF_Font * CPWL_EditCtrl::GetCaretFont() const
512 { 512 {
513 » int32_t nFontIndex = 0; 513 int32_t nFontIndex = 0;
514 514
515 » if (IFX_Edit_Iterator * pIterator = m_pEdit->GetIterator()) 515 if (IFX_Edit_Iterator * pIterator = m_pEdit->GetIterator())
516 » { 516 {
517 » » pIterator->SetAt(m_pEdit->GetCaret()); 517 pIterator->SetAt(m_pEdit->GetCaret());
518 » » CPVT_Word word; 518 CPVT_Word word;
519 » » CPVT_Section section; 519 CPVT_Section section;
520 » » if (pIterator->GetWord(word)) 520 if (pIterator->GetWord(word))
521 » » { 521 {
522 » » » nFontIndex = word.nFontIndex; 522 nFontIndex = word.nFontIndex;
523 » » } 523 }
524 » » else if (HasFlag(PES_RICH)) 524 else if (HasFlag(PES_RICH))
525 » » { 525 {
526 » » » if (pIterator->GetSection(section)) 526 if (pIterator->GetSection(section))
527 » » » { 527 {
528 » » » » nFontIndex = section.WordProps.nFontIndex; 528 nFontIndex = section.WordProps.nFontIndex;
529 » » » } 529 }
530 » » } 530 }
531 » } 531 }
532 532
533 » if (IFX_Edit_FontMap * pFontMap = GetFontMap()) 533 if (IFX_Edit_FontMap* pFontMap = GetFontMap())
534 » » return pFontMap->GetPDFFont(nFontIndex); 534 return pFontMap->GetPDFFont(nFontIndex);
535 » else 535
536 » » return NULL; 536 return NULL;
537 } 537 }
538 538
539 FX_FLOAT CPWL_EditCtrl::GetCaretFontSize() const 539 FX_FLOAT CPWL_EditCtrl::GetCaretFontSize() const
540 { 540 {
541 » FX_FLOAT fFontSize = GetFontSize(); 541 FX_FLOAT fFontSize = GetFontSize();
542 542
543 » if (IFX_Edit_Iterator * pIterator = m_pEdit->GetIterator()) 543 if (IFX_Edit_Iterator * pIterator = m_pEdit->GetIterator())
544 » { 544 {
545 » » pIterator->SetAt(m_pEdit->GetCaret()); 545 pIterator->SetAt(m_pEdit->GetCaret());
546 » » CPVT_Word word; 546 CPVT_Word word;
547 » » CPVT_Section section; 547 CPVT_Section section;
548 » » if (pIterator->GetWord(word)) 548 if (pIterator->GetWord(word))
549 » » { 549 {
550 » » » fFontSize = word.fFontSize; 550 fFontSize = word.fFontSize;
551 » » } 551 }
552 » » else if (HasFlag(PES_RICH)) 552 else if (HasFlag(PES_RICH))
553 » » { 553 {
554 » » » if (pIterator->GetSection(section)) 554 if (pIterator->GetSection(section))
555 » » » { 555 {
556 » » » » fFontSize = section.WordProps.fFontSize; 556 fFontSize = section.WordProps.fFontSize;
557 » » » } 557 }
558 » » } 558 }
559 » } 559 }
560 560
561 » return fFontSize; 561 return fFontSize;
562 } 562 }
563 563
564 void CPWL_EditCtrl::SetText(const FX_WCHAR* csText) 564 void CPWL_EditCtrl::SetText(const FX_WCHAR* csText)
565 { 565 {
566 » m_pEdit->SetText(csText); 566 m_pEdit->SetText(csText);
567 } 567 }
568 568
569 void CPWL_EditCtrl::CopyText() 569 void CPWL_EditCtrl::CopyText()
570 { 570 {
571 } 571 }
572 572
573 void CPWL_EditCtrl::PasteText() 573 void CPWL_EditCtrl::PasteText()
574 { 574 {
575 } 575 }
576 576
577 void CPWL_EditCtrl::CutText() 577 void CPWL_EditCtrl::CutText()
578 { 578 {
579 } 579 }
580 580
581 void CPWL_EditCtrl::ShowVScrollBar(FX_BOOL bShow) 581 void CPWL_EditCtrl::ShowVScrollBar(FX_BOOL bShow)
582 { 582 {
583 } 583 }
584 584
585 void CPWL_EditCtrl::InsertText(const FX_WCHAR* csText) 585 void CPWL_EditCtrl::InsertText(const FX_WCHAR* csText)
586 { 586 {
587 » if (!IsReadOnly()) 587 if (!IsReadOnly())
588 » » m_pEdit->InsertText(csText); 588 m_pEdit->InsertText(csText);
589 } 589 }
590 590
591 void CPWL_EditCtrl::InsertWord(FX_WORD word, int32_t nCharset) 591 void CPWL_EditCtrl::InsertWord(FX_WORD word, int32_t nCharset)
592 { 592 {
593 » if (!IsReadOnly()) 593 if (!IsReadOnly())
594 » » m_pEdit->InsertWord(word, nCharset); 594 m_pEdit->InsertWord(word, nCharset);
595 } 595 }
596 596
597 void CPWL_EditCtrl::InsertReturn() 597 void CPWL_EditCtrl::InsertReturn()
598 { 598 {
599 » if (!IsReadOnly()) 599 if (!IsReadOnly())
600 » » m_pEdit->InsertReturn(); 600 m_pEdit->InsertReturn();
601 } 601 }
602 602
603 void CPWL_EditCtrl::Delete() 603 void CPWL_EditCtrl::Delete()
604 { 604 {
605 » if (!IsReadOnly()) 605 if (!IsReadOnly())
606 » » m_pEdit->Delete(); 606 m_pEdit->Delete();
607 } 607 }
608 608
609 void CPWL_EditCtrl::Backspace() 609 void CPWL_EditCtrl::Backspace()
610 { 610 {
611 » if (!IsReadOnly()) 611 if (!IsReadOnly())
612 » » m_pEdit->Backspace(); 612 m_pEdit->Backspace();
613 } 613 }
614 614
615 FX_BOOL»CPWL_EditCtrl::CanUndo() const 615 FX_BOOL CPWL_EditCtrl::CanUndo() const
616 { 616 {
617 » return !IsReadOnly() && m_pEdit->CanUndo(); 617 return !IsReadOnly() && m_pEdit->CanUndo();
618 } 618 }
619 619
620 FX_BOOL»CPWL_EditCtrl::CanRedo() const 620 FX_BOOL CPWL_EditCtrl::CanRedo() const
621 { 621 {
622 » return !IsReadOnly() && m_pEdit->CanRedo(); 622 return !IsReadOnly() && m_pEdit->CanRedo();
623 } 623 }
624 624
625 void CPWL_EditCtrl::Redo() 625 void CPWL_EditCtrl::Redo()
626 { 626 {
627 » if (CanRedo()) 627 if (CanRedo())
628 » » m_pEdit->Redo(); 628 m_pEdit->Redo();
629 } 629 }
630 630
631 void CPWL_EditCtrl::Undo() 631 void CPWL_EditCtrl::Undo()
632 { 632 {
633 » if (CanUndo()) 633 if (CanUndo())
634 » » m_pEdit->Undo(); 634 m_pEdit->Undo();
635 } 635 }
636 636
637 void CPWL_EditCtrl::IOnSetScrollInfoY(FX_FLOAT fPlateMin, FX_FLOAT fPlateMax, 637 void CPWL_EditCtrl::IOnSetScrollInfoY(FX_FLOAT fPlateMin, FX_FLOAT fPlateMax,
638 » » » » » » » » » » » » FX_FLOAT fContentMin, FX_FLOAT fContentMax, 638 FX_FLOAT fContentMin, FX_FLOAT f ContentMax,
639 » » » » » » » » » » » » FX_FLOAT fSmallStep, FX_FLOAT fBigStep) 639 FX_FLOAT fSmallStep, FX_FLOAT fB igStep)
640 { 640 {
641 » PWL_SCROLL_INFO Info; 641 PWL_SCROLL_INFO Info;
642 642
643 » Info.fPlateWidth = fPlateMax - fPlateMin; 643 Info.fPlateWidth = fPlateMax - fPlateMin;
644 » Info.fContentMin = fContentMin; 644 Info.fContentMin = fContentMin;
645 » Info.fContentMax = fContentMax; 645 Info.fContentMax = fContentMax;
646 » Info.fSmallStep = fSmallStep; 646 Info.fSmallStep = fSmallStep;
647 » Info.fBigStep = fBigStep; 647 Info.fBigStep = fBigStep;
648 648
649 » OnNotify(this,PNM_SETSCROLLINFO,SBT_VSCROLL,(intptr_t)&Info); 649 OnNotify(this,PNM_SETSCROLLINFO,SBT_VSCROLL,(intptr_t)&Info);
650 650
651 » if (IsFloatBigger(Info.fPlateWidth,Info.fContentMax-Info.fContentMin) 651 if (IsFloatBigger(Info.fPlateWidth,Info.fContentMax-Info.fContentMin)
652 » » || IsFloatEqual(Info.fPlateWidth,Info.fContentMax-Info.fContentM in)) 652 || IsFloatEqual(Info.fPlateWidth,Info.fContentMax-Info.fContentMin))
653 » { 653 {
654 » » ShowVScrollBar(FALSE); 654 ShowVScrollBar(FALSE);
655 » } 655 }
656 » else 656 else
657 » { 657 {
658 » » ShowVScrollBar(TRUE); 658 ShowVScrollBar(TRUE);
659 » } 659 }
660 } 660 }
661 661
662 void CPWL_EditCtrl::IOnSetScrollPosY(FX_FLOAT fy) 662 void CPWL_EditCtrl::IOnSetScrollPosY(FX_FLOAT fy)
663 { 663 {
664 OnNotify(this, PNM_SETSCROLLPOS,SBT_VSCROLL, (intptr_t)&fy); 664 OnNotify(this, PNM_SETSCROLLPOS,SBT_VSCROLL, (intptr_t)&fy);
665 } 665 }
666 666
667 void CPWL_EditCtrl::IOnSetCaret(FX_BOOL bVisible, const CPDF_Point & ptHead, con st CPDF_Point & ptFoot, const CPVT_WordPlace& place) 667 void CPWL_EditCtrl::IOnSetCaret(FX_BOOL bVisible, const CPDF_Point & ptHead, con st CPDF_Point & ptFoot, const CPVT_WordPlace& place)
668 { 668 {
669 » PWL_CARET_INFO cInfo; 669 PWL_CARET_INFO cInfo;
670 » cInfo.bVisible = bVisible; 670 cInfo.bVisible = bVisible;
671 » cInfo.ptHead = ptHead; 671 cInfo.ptHead = ptHead;
672 » cInfo.ptFoot = ptFoot; 672 cInfo.ptFoot = ptFoot;
673 673
674 » OnNotify(this, PNM_SETCARETINFO, (intptr_t)&cInfo, (intptr_t)NULL); 674 OnNotify(this, PNM_SETCARETINFO, (intptr_t)&cInfo, (intptr_t)NULL);
675 } 675 }
676 676
677 void CPWL_EditCtrl::IOnCaretChange(const CPVT_SecProps & secProps, const CPVT_Wo rdProps & wordProps) 677 void CPWL_EditCtrl::IOnCaretChange(const CPVT_SecProps & secProps, const CPVT_Wo rdProps & wordProps)
678 { 678 {
679 } 679 }
680 680
681 void CPWL_EditCtrl::IOnContentChange(const CPDF_Rect& rcContent) 681 void CPWL_EditCtrl::IOnContentChange(const CPDF_Rect& rcContent)
682 { 682 {
683 » if (IsValid()) 683 if (IsValid())
684 » { 684 {
685 » » if (m_pEditNotify) 685 if (m_pEditNotify)
686 » » { 686 {
687 » » » m_pEditNotify->OnContentChange(rcContent); 687 m_pEditNotify->OnContentChange(rcContent);
688 » » } 688 }
689 » } 689 }
690 } 690 }
691 691
692 void CPWL_EditCtrl::IOnInvalidateRect(CPDF_Rect * pRect) 692 void CPWL_EditCtrl::IOnInvalidateRect(CPDF_Rect * pRect)
693 { 693 {
694 InvalidateRect(pRect); 694 InvalidateRect(pRect);
695 } 695 }
696 696
697 int32_t CPWL_EditCtrl::GetCharSet() const 697 int32_t CPWL_EditCtrl::GetCharSet() const
698 { 698 {
699 return m_nCharSet < 0 ? DEFAULT_CHARSET : m_nCharSet; 699 return m_nCharSet < 0 ? DEFAULT_CHARSET : m_nCharSet;
700 } 700 }
701 701
702 void CPWL_EditCtrl::GetTextRange(const CPDF_Rect& rect, int32_t & nStartChar, in t32_t & nEndChar) const 702 void CPWL_EditCtrl::GetTextRange(const CPDF_Rect& rect, int32_t & nStartChar, in t32_t & nEndChar) const
703 { 703 {
704 » nStartChar = m_pEdit->WordPlaceToWordIndex(m_pEdit->SearchWordPlace(CPDF _Point(rect.left, rect.top))); 704 nStartChar = m_pEdit->WordPlaceToWordIndex(m_pEdit->SearchWordPlace(CPDF_Poi nt(rect.left, rect.top)));
705 » nEndChar = m_pEdit->WordPlaceToWordIndex(m_pEdit->SearchWordPlace(CPDF_P oint(rect.right, rect.bottom))); 705 nEndChar = m_pEdit->WordPlaceToWordIndex(m_pEdit->SearchWordPlace(CPDF_Point (rect.right, rect.bottom)));
706 } 706 }
707 707
708 CFX_WideString CPWL_EditCtrl::GetText(int32_t & nStartChar, int32_t & nEndChar) const 708 CFX_WideString CPWL_EditCtrl::GetText(int32_t & nStartChar, int32_t & nEndChar) const
709 { 709 {
710 » CPVT_WordPlace wpStart = m_pEdit->WordIndexToWordPlace(nStartChar); 710 CPVT_WordPlace wpStart = m_pEdit->WordIndexToWordPlace(nStartChar);
711 » CPVT_WordPlace wpEnd = m_pEdit->WordIndexToWordPlace(nEndChar); 711 CPVT_WordPlace wpEnd = m_pEdit->WordIndexToWordPlace(nEndChar);
712 » return m_pEdit->GetRangeText(CPVT_WordRange(wpStart, wpEnd)); 712 return m_pEdit->GetRangeText(CPVT_WordRange(wpStart, wpEnd));
713 } 713 }
714 714
715 void» CPWL_EditCtrl::SetReadyToInput() 715 void CPWL_EditCtrl::SetReadyToInput()
716 { 716 {
717 » if (m_bMouseDown) 717 if (m_bMouseDown)
718 » { 718 {
719 » » ReleaseCapture(); 719 ReleaseCapture();
720 » » m_bMouseDown = FALSE; 720 m_bMouseDown = FALSE;
721 » } 721 }
722 } 722 }
OLDNEW
« no previous file with comments | « fpdfsdk/src/pdfwindow/PWL_ComboBox.cpp ('k') | fpdfsdk/src/pdfwindow/PWL_FontMap.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698