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

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

Issue 1737593006: Re-land "Replace CPDF_Rect and CPDF_Point with CFX types." (Closed) Base URL: https://pdfium.googlesource.com/pdfium.git@master
Patch Set: Ooops. Created 4 years, 9 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_Caret.cpp ('k') | fpdfsdk/src/pdfwindow/PWL_Edit.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 "fpdfsdk/include/pdfwindow/PWL_ComboBox.h" 7 #include "fpdfsdk/include/pdfwindow/PWL_ComboBox.h"
8 8
9 #include "fpdfsdk/include/pdfwindow/PWL_Edit.h" 9 #include "fpdfsdk/include/pdfwindow/PWL_Edit.h"
10 #include "fpdfsdk/include/pdfwindow/PWL_EditCtrl.h" 10 #include "fpdfsdk/include/pdfwindow/PWL_EditCtrl.h"
11 #include "fpdfsdk/include/pdfwindow/PWL_ListBox.h" 11 #include "fpdfsdk/include/pdfwindow/PWL_ListBox.h"
12 #include "fpdfsdk/include/pdfwindow/PWL_Utils.h" 12 #include "fpdfsdk/include/pdfwindow/PWL_Utils.h"
13 #include "fpdfsdk/include/pdfwindow/PWL_Wnd.h" 13 #include "fpdfsdk/include/pdfwindow/PWL_Wnd.h"
14 #include "public/fpdf_fwlevent.h" 14 #include "public/fpdf_fwlevent.h"
15 15
16 #define PWLCB_DEFAULTFONTSIZE 12.0f 16 #define PWLCB_DEFAULTFONTSIZE 12.0f
17 17
18 #define IsFloatZero(f) ((f) < 0.0001 && (f) > -0.0001) 18 #define IsFloatZero(f) ((f) < 0.0001 && (f) > -0.0001)
19 #define IsFloatBigger(fa, fb) ((fa) > (fb) && !IsFloatZero((fa) - (fb))) 19 #define IsFloatBigger(fa, fb) ((fa) > (fb) && !IsFloatZero((fa) - (fb)))
20 #define IsFloatSmaller(fa, fb) ((fa) < (fb) && !IsFloatZero((fa) - (fb))) 20 #define IsFloatSmaller(fa, fb) ((fa) < (fb) && !IsFloatZero((fa) - (fb)))
21 #define IsFloatEqual(fa, fb) IsFloatZero((fa) - (fb)) 21 #define IsFloatEqual(fa, fb) IsFloatZero((fa) - (fb))
22 22
23 FX_BOOL CPWL_CBListBox::OnLButtonUp(const CPDF_Point& point, FX_DWORD nFlag) { 23 FX_BOOL CPWL_CBListBox::OnLButtonUp(const CFX_FloatPoint& point,
24 FX_DWORD nFlag) {
24 CPWL_Wnd::OnLButtonUp(point, nFlag); 25 CPWL_Wnd::OnLButtonUp(point, nFlag);
25 26
26 if (m_bMouseDown) { 27 if (m_bMouseDown) {
27 ReleaseCapture(); 28 ReleaseCapture();
28 m_bMouseDown = FALSE; 29 m_bMouseDown = FALSE;
29 30
30 if (ClientHitTest(point)) { 31 if (ClientHitTest(point)) {
31 if (CPWL_Wnd* pParent = GetParentWindow()) { 32 if (CPWL_Wnd* pParent = GetParentWindow()) {
32 pParent->OnNotify(this, PNM_LBUTTONUP, 0, 33 pParent->OnNotify(this, PNM_LBUTTONUP, 0,
33 PWL_MAKEDWORD(point.x, point.y)); 34 PWL_MAKEDWORD(point.x, point.y));
(...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after
103 } 104 }
104 105
105 OnNotifySelChanged(TRUE, bExit, nFlag); 106 OnNotifySelChanged(TRUE, bExit, nFlag);
106 107
107 return TRUE; 108 return TRUE;
108 } 109 }
109 110
110 void CPWL_CBButton::GetThisAppearanceStream(CFX_ByteTextBuf& sAppStream) { 111 void CPWL_CBButton::GetThisAppearanceStream(CFX_ByteTextBuf& sAppStream) {
111 CPWL_Wnd::GetThisAppearanceStream(sAppStream); 112 CPWL_Wnd::GetThisAppearanceStream(sAppStream);
112 113
113 CPDF_Rect rectWnd = CPWL_Wnd::GetWindowRect(); 114 CFX_FloatRect rectWnd = CPWL_Wnd::GetWindowRect();
114 115
115 if (IsVisible() && !rectWnd.IsEmpty()) { 116 if (IsVisible() && !rectWnd.IsEmpty()) {
116 CFX_ByteTextBuf sButton; 117 CFX_ByteTextBuf sButton;
117 118
118 CPDF_Point ptCenter = GetCenterPoint(); 119 CFX_FloatPoint ptCenter = GetCenterPoint();
119 120
120 CPDF_Point pt1(ptCenter.x - PWL_CBBUTTON_TRIANGLE_HALFLEN, 121 CFX_FloatPoint pt1(ptCenter.x - PWL_CBBUTTON_TRIANGLE_HALFLEN,
121 ptCenter.y + PWL_CBBUTTON_TRIANGLE_HALFLEN * 0.5f); 122 ptCenter.y + PWL_CBBUTTON_TRIANGLE_HALFLEN * 0.5f);
122 CPDF_Point pt2(ptCenter.x + PWL_CBBUTTON_TRIANGLE_HALFLEN, 123 CFX_FloatPoint pt2(ptCenter.x + PWL_CBBUTTON_TRIANGLE_HALFLEN,
123 ptCenter.y + PWL_CBBUTTON_TRIANGLE_HALFLEN * 0.5f); 124 ptCenter.y + PWL_CBBUTTON_TRIANGLE_HALFLEN * 0.5f);
124 CPDF_Point pt3(ptCenter.x, 125 CFX_FloatPoint pt3(ptCenter.x,
125 ptCenter.y - PWL_CBBUTTON_TRIANGLE_HALFLEN * 0.5f); 126 ptCenter.y - PWL_CBBUTTON_TRIANGLE_HALFLEN * 0.5f);
126 127
127 if (IsFloatBigger(rectWnd.right - rectWnd.left, 128 if (IsFloatBigger(rectWnd.right - rectWnd.left,
128 PWL_CBBUTTON_TRIANGLE_HALFLEN * 2) && 129 PWL_CBBUTTON_TRIANGLE_HALFLEN * 2) &&
129 IsFloatBigger(rectWnd.top - rectWnd.bottom, 130 IsFloatBigger(rectWnd.top - rectWnd.bottom,
130 PWL_CBBUTTON_TRIANGLE_HALFLEN)) { 131 PWL_CBBUTTON_TRIANGLE_HALFLEN)) {
131 sButton << "0 g\n"; 132 sButton << "0 g\n";
132 sButton << pt1.x << " " << pt1.y << " m\n"; 133 sButton << pt1.x << " " << pt1.y << " m\n";
133 sButton << pt2.x << " " << pt2.y << " l\n"; 134 sButton << pt2.x << " " << pt2.y << " l\n";
134 sButton << pt3.x << " " << pt3.y << " l\n"; 135 sButton << pt3.x << " " << pt3.y << " l\n";
135 sButton << pt1.x << " " << pt1.y << " l f\n"; 136 sButton << pt1.x << " " << pt1.y << " l f\n";
136 137
137 sAppStream << "q\n" << sButton << "Q\n"; 138 sAppStream << "q\n" << sButton << "Q\n";
138 } 139 }
139 } 140 }
140 } 141 }
141 142
142 void CPWL_CBButton::DrawThisAppearance(CFX_RenderDevice* pDevice, 143 void CPWL_CBButton::DrawThisAppearance(CFX_RenderDevice* pDevice,
143 CFX_Matrix* pUser2Device) { 144 CFX_Matrix* pUser2Device) {
144 CPWL_Wnd::DrawThisAppearance(pDevice, pUser2Device); 145 CPWL_Wnd::DrawThisAppearance(pDevice, pUser2Device);
145 146
146 CPDF_Rect rectWnd = CPWL_Wnd::GetWindowRect(); 147 CFX_FloatRect rectWnd = CPWL_Wnd::GetWindowRect();
147 148
148 if (IsVisible() && !rectWnd.IsEmpty()) { 149 if (IsVisible() && !rectWnd.IsEmpty()) {
149 CPDF_Point ptCenter = GetCenterPoint(); 150 CFX_FloatPoint ptCenter = GetCenterPoint();
150 151
151 CPDF_Point pt1(ptCenter.x - PWL_CBBUTTON_TRIANGLE_HALFLEN, 152 CFX_FloatPoint pt1(ptCenter.x - PWL_CBBUTTON_TRIANGLE_HALFLEN,
152 ptCenter.y + PWL_CBBUTTON_TRIANGLE_HALFLEN * 0.5f); 153 ptCenter.y + PWL_CBBUTTON_TRIANGLE_HALFLEN * 0.5f);
153 CPDF_Point pt2(ptCenter.x + PWL_CBBUTTON_TRIANGLE_HALFLEN, 154 CFX_FloatPoint pt2(ptCenter.x + PWL_CBBUTTON_TRIANGLE_HALFLEN,
154 ptCenter.y + PWL_CBBUTTON_TRIANGLE_HALFLEN * 0.5f); 155 ptCenter.y + PWL_CBBUTTON_TRIANGLE_HALFLEN * 0.5f);
155 CPDF_Point pt3(ptCenter.x, 156 CFX_FloatPoint pt3(ptCenter.x,
156 ptCenter.y - PWL_CBBUTTON_TRIANGLE_HALFLEN * 0.5f); 157 ptCenter.y - PWL_CBBUTTON_TRIANGLE_HALFLEN * 0.5f);
157 158
158 if (IsFloatBigger(rectWnd.right - rectWnd.left, 159 if (IsFloatBigger(rectWnd.right - rectWnd.left,
159 PWL_CBBUTTON_TRIANGLE_HALFLEN * 2) && 160 PWL_CBBUTTON_TRIANGLE_HALFLEN * 2) &&
160 IsFloatBigger(rectWnd.top - rectWnd.bottom, 161 IsFloatBigger(rectWnd.top - rectWnd.bottom,
161 PWL_CBBUTTON_TRIANGLE_HALFLEN)) { 162 PWL_CBBUTTON_TRIANGLE_HALFLEN)) {
162 CFX_PathData path; 163 CFX_PathData path;
163 164
164 path.SetPointCount(4); 165 path.SetPointCount(4);
165 path.SetPoint(0, pt1.x, pt1.y, FXPT_MOVETO); 166 path.SetPoint(0, pt1.x, pt1.y, FXPT_MOVETO);
166 path.SetPoint(1, pt2.x, pt2.y, FXPT_LINETO); 167 path.SetPoint(1, pt2.x, pt2.y, FXPT_LINETO);
167 path.SetPoint(2, pt3.x, pt3.y, FXPT_LINETO); 168 path.SetPoint(2, pt3.x, pt3.y, FXPT_LINETO);
168 path.SetPoint(3, pt1.x, pt1.y, FXPT_LINETO); 169 path.SetPoint(3, pt1.x, pt1.y, FXPT_LINETO);
169 170
170 pDevice->DrawPath(&path, pUser2Device, NULL, 171 pDevice->DrawPath(&path, pUser2Device, NULL,
171 CPWL_Utils::PWLColorToFXColor(PWL_DEFAULT_BLACKCOLOR, 172 CPWL_Utils::PWLColorToFXColor(PWL_DEFAULT_BLACKCOLOR,
172 GetTransparency()), 173 GetTransparency()),
173 0, FXFILL_ALTERNATE); 174 0, FXFILL_ALTERNATE);
174 } 175 }
175 } 176 }
176 } 177 }
177 178
178 FX_BOOL CPWL_CBButton::OnLButtonDown(const CPDF_Point& point, FX_DWORD nFlag) { 179 FX_BOOL CPWL_CBButton::OnLButtonDown(const CFX_FloatPoint& point,
180 FX_DWORD nFlag) {
179 CPWL_Wnd::OnLButtonDown(point, nFlag); 181 CPWL_Wnd::OnLButtonDown(point, nFlag);
180 182
181 SetCapture(); 183 SetCapture();
182 184
183 if (CPWL_Wnd* pParent = GetParentWindow()) { 185 if (CPWL_Wnd* pParent = GetParentWindow()) {
184 pParent->OnNotify(this, PNM_LBUTTONDOWN, 0, 186 pParent->OnNotify(this, PNM_LBUTTONDOWN, 0,
185 PWL_MAKEDWORD(point.x, point.y)); 187 PWL_MAKEDWORD(point.x, point.y));
186 } 188 }
187 189
188 return TRUE; 190 return TRUE;
189 } 191 }
190 192
191 FX_BOOL CPWL_CBButton::OnLButtonUp(const CPDF_Point& point, FX_DWORD nFlag) { 193 FX_BOOL CPWL_CBButton::OnLButtonUp(const CFX_FloatPoint& point,
194 FX_DWORD nFlag) {
192 CPWL_Wnd::OnLButtonUp(point, nFlag); 195 CPWL_Wnd::OnLButtonUp(point, nFlag);
193 196
194 ReleaseCapture(); 197 ReleaseCapture();
195 198
196 return TRUE; 199 return TRUE;
197 } 200 }
198 201
199 CPWL_ComboBox::CPWL_ComboBox() 202 CPWL_ComboBox::CPWL_ComboBox()
200 : m_pEdit(NULL), 203 : m_pEdit(NULL),
201 m_pButton(NULL), 204 m_pButton(NULL),
(...skipping 88 matching lines...) Expand 10 before | Expand all | Expand 10 after
290 ecp.pParentWnd = this; 293 ecp.pParentWnd = this;
291 ecp.dwFlags = PWS_VISIBLE | PWS_CHILD | PWS_BORDER | PES_CENTER | 294 ecp.dwFlags = PWS_VISIBLE | PWS_CHILD | PWS_BORDER | PES_CENTER |
292 PES_AUTOSCROLL | PES_UNDO; 295 PES_AUTOSCROLL | PES_UNDO;
293 296
294 if (HasFlag(PWS_AUTOFONTSIZE)) 297 if (HasFlag(PWS_AUTOFONTSIZE))
295 ecp.dwFlags |= PWS_AUTOFONTSIZE; 298 ecp.dwFlags |= PWS_AUTOFONTSIZE;
296 299
297 if (!HasFlag(PCBS_ALLOWCUSTOMTEXT)) 300 if (!HasFlag(PCBS_ALLOWCUSTOMTEXT))
298 ecp.dwFlags |= PWS_READONLY; 301 ecp.dwFlags |= PWS_READONLY;
299 302
300 ecp.rcRectWnd = CPDF_Rect(0, 0, 0, 0); 303 ecp.rcRectWnd = CFX_FloatRect(0, 0, 0, 0);
301 ecp.dwBorderWidth = 0; 304 ecp.dwBorderWidth = 0;
302 ecp.nBorderStyle = PBS_SOLID; 305 ecp.nBorderStyle = PBS_SOLID;
303 306
304 m_pEdit->Create(ecp); 307 m_pEdit->Create(ecp);
305 } 308 }
306 } 309 }
307 310
308 void CPWL_ComboBox::CreateButton(const PWL_CREATEPARAM& cp) { 311 void CPWL_ComboBox::CreateButton(const PWL_CREATEPARAM& cp) {
309 if (!m_pButton) { 312 if (!m_pButton) {
310 m_pButton = new CPWL_CBButton; 313 m_pButton = new CPWL_CBButton;
(...skipping 15 matching lines...) Expand all
326 if (!m_pList) { 329 if (!m_pList) {
327 m_pList = new CPWL_CBListBox; 330 m_pList = new CPWL_CBListBox;
328 m_pList->AttachFFLData(m_pFormFiller); 331 m_pList->AttachFFLData(m_pFormFiller);
329 PWL_CREATEPARAM lcp = cp; 332 PWL_CREATEPARAM lcp = cp;
330 lcp.pParentWnd = this; 333 lcp.pParentWnd = this;
331 lcp.dwFlags = 334 lcp.dwFlags =
332 PWS_CHILD | PWS_BORDER | PWS_BACKGROUND | PLBS_HOVERSEL | PWS_VSCROLL; 335 PWS_CHILD | PWS_BORDER | PWS_BACKGROUND | PLBS_HOVERSEL | PWS_VSCROLL;
333 lcp.nBorderStyle = PBS_SOLID; 336 lcp.nBorderStyle = PBS_SOLID;
334 lcp.dwBorderWidth = 1; 337 lcp.dwBorderWidth = 1;
335 lcp.eCursorType = FXCT_ARROW; 338 lcp.eCursorType = FXCT_ARROW;
336 lcp.rcRectWnd = CPDF_Rect(0, 0, 0, 0); 339 lcp.rcRectWnd = CFX_FloatRect(0, 0, 0, 0);
337 340
338 if (cp.dwFlags & PWS_AUTOFONTSIZE) 341 if (cp.dwFlags & PWS_AUTOFONTSIZE)
339 lcp.fFontSize = PWLCB_DEFAULTFONTSIZE; 342 lcp.fFontSize = PWLCB_DEFAULTFONTSIZE;
340 else 343 else
341 lcp.fFontSize = cp.fFontSize; 344 lcp.fFontSize = cp.fFontSize;
342 345
343 if (cp.sBorderColor.nColorType == COLORTYPE_TRANSPARENT) 346 if (cp.sBorderColor.nColorType == COLORTYPE_TRANSPARENT)
344 lcp.sBorderColor = PWL_DEFAULT_BLACKCOLOR; 347 lcp.sBorderColor = PWL_DEFAULT_BLACKCOLOR;
345 348
346 if (cp.sBackgroundColor.nColorType == COLORTYPE_TRANSPARENT) 349 if (cp.sBackgroundColor.nColorType == COLORTYPE_TRANSPARENT)
347 lcp.sBackgroundColor = PWL_DEFAULT_WHITECOLOR; 350 lcp.sBackgroundColor = PWL_DEFAULT_WHITECOLOR;
348 351
349 m_pList->Create(lcp); 352 m_pList->Create(lcp);
350 } 353 }
351 } 354 }
352 355
353 void CPWL_ComboBox::RePosChildWnd() { 356 void CPWL_ComboBox::RePosChildWnd() {
354 CPDF_Rect rcClient = GetClientRect(); 357 CFX_FloatRect rcClient = GetClientRect();
355 358
356 if (m_bPopup) { 359 if (m_bPopup) {
357 CPDF_Rect rclient = GetClientRect(); 360 CFX_FloatRect rclient = GetClientRect();
358 CPDF_Rect rcButton = rclient; 361 CFX_FloatRect rcButton = rclient;
359 CPDF_Rect rcEdit = rcClient; 362 CFX_FloatRect rcEdit = rcClient;
360 CPDF_Rect rcList = CPWL_Wnd::GetWindowRect(); 363 CFX_FloatRect rcList = CPWL_Wnd::GetWindowRect();
361 364
362 FX_FLOAT fOldWindowHeight = m_rcOldWindow.Height(); 365 FX_FLOAT fOldWindowHeight = m_rcOldWindow.Height();
363 FX_FLOAT fOldClientHeight = fOldWindowHeight - GetBorderWidth() * 2; 366 FX_FLOAT fOldClientHeight = fOldWindowHeight - GetBorderWidth() * 2;
364 367
365 switch (m_nPopupWhere) { 368 switch (m_nPopupWhere) {
366 case 0: 369 case 0:
367 rcButton.left = rcButton.right - PWL_COMBOBOX_BUTTON_WIDTH; 370 rcButton.left = rcButton.right - PWL_COMBOBOX_BUTTON_WIDTH;
368 371
369 if (rcButton.left < rclient.left) 372 if (rcButton.left < rclient.left)
370 rcButton.left = rclient.left; 373 rcButton.left = rclient.left;
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
412 415
413 if (m_pEdit) 416 if (m_pEdit)
414 m_pEdit->Move(rcEdit, TRUE, FALSE); 417 m_pEdit->Move(rcEdit, TRUE, FALSE);
415 418
416 if (m_pList) { 419 if (m_pList) {
417 m_pList->SetVisible(TRUE); 420 m_pList->SetVisible(TRUE);
418 m_pList->Move(rcList, TRUE, FALSE); 421 m_pList->Move(rcList, TRUE, FALSE);
419 m_pList->ScrollToListItem(m_nSelectItem); 422 m_pList->ScrollToListItem(m_nSelectItem);
420 } 423 }
421 } else { 424 } else {
422 CPDF_Rect rcButton = rcClient; 425 CFX_FloatRect rcButton = rcClient;
423 426
424 rcButton.left = rcButton.right - PWL_COMBOBOX_BUTTON_WIDTH; 427 rcButton.left = rcButton.right - PWL_COMBOBOX_BUTTON_WIDTH;
425 428
426 if (rcButton.left < rcClient.left) 429 if (rcButton.left < rcClient.left)
427 rcButton.left = rcClient.left; 430 rcButton.left = rcClient.left;
428 431
429 if (m_pButton) 432 if (m_pButton)
430 m_pButton->Move(rcButton, TRUE, FALSE); 433 m_pButton->Move(rcButton, TRUE, FALSE);
431 434
432 CPDF_Rect rcEdit = rcClient; 435 CFX_FloatRect rcEdit = rcClient;
433 rcEdit.right = rcButton.left - 1.0f; 436 rcEdit.right = rcButton.left - 1.0f;
434 437
435 if (rcEdit.left < rcClient.left) 438 if (rcEdit.left < rcClient.left)
436 rcEdit.left = rcClient.left; 439 rcEdit.left = rcClient.left;
437 440
438 if (rcEdit.right < rcEdit.left) 441 if (rcEdit.right < rcEdit.left)
439 rcEdit.right = rcEdit.left; 442 rcEdit.right = rcEdit.left;
440 443
441 if (m_pEdit) 444 if (m_pEdit)
442 m_pEdit->Move(rcEdit, TRUE, FALSE); 445 m_pEdit->Move(rcEdit, TRUE, FALSE);
443 446
444 if (m_pList) 447 if (m_pList)
445 m_pList->SetVisible(FALSE); 448 m_pList->SetVisible(FALSE);
446 } 449 }
447 } 450 }
448 451
449 void CPWL_ComboBox::SelectAll() { 452 void CPWL_ComboBox::SelectAll() {
450 if (m_pEdit && HasFlag(PCBS_ALLOWCUSTOMTEXT)) 453 if (m_pEdit && HasFlag(PCBS_ALLOWCUSTOMTEXT))
451 m_pEdit->SelectAll(); 454 m_pEdit->SelectAll();
452 } 455 }
453 456
454 CPDF_Rect CPWL_ComboBox::GetFocusRect() const { 457 CFX_FloatRect CPWL_ComboBox::GetFocusRect() const {
455 return CPDF_Rect(); 458 return CFX_FloatRect();
456 } 459 }
457 460
458 void CPWL_ComboBox::SetPopup(FX_BOOL bPopup) { 461 void CPWL_ComboBox::SetPopup(FX_BOOL bPopup) {
459 if (!m_pList) 462 if (!m_pList)
460 return; 463 return;
461 if (bPopup == m_bPopup) 464 if (bPopup == m_bPopup)
462 return; 465 return;
463 FX_FLOAT fListHeight = m_pList->GetContentRect().Height(); 466 FX_FLOAT fListHeight = m_pList->GetContentRect().Height();
464 if (!IsFloatBigger(fListHeight, 0.0f)) 467 if (!IsFloatBigger(fListHeight, 0.0f))
465 return; 468 return;
(...skipping 12 matching lines...) Expand all
478 if (m_pList->GetCount() > 3) 481 if (m_pList->GetCount() > 3)
479 fPopupMin = 482 fPopupMin =
480 m_pList->GetFirstHeight() * 3 + m_pList->GetBorderWidth() * 2; 483 m_pList->GetFirstHeight() * 3 + m_pList->GetBorderWidth() * 2;
481 FX_FLOAT fPopupMax = fListHeight + m_pList->GetBorderWidth() * 2; 484 FX_FLOAT fPopupMax = fListHeight + m_pList->GetBorderWidth() * 2;
482 m_pFillerNotify->QueryWherePopup(GetAttachedData(), fPopupMin, fPopupMax, 485 m_pFillerNotify->QueryWherePopup(GetAttachedData(), fPopupMin, fPopupMax,
483 nWhere, fPopupRet); 486 nWhere, fPopupRet);
484 487
485 if (IsFloatBigger(fPopupRet, 0.0f)) { 488 if (IsFloatBigger(fPopupRet, 0.0f)) {
486 m_bPopup = bPopup; 489 m_bPopup = bPopup;
487 490
488 CPDF_Rect rcWindow = CPWL_Wnd::GetWindowRect(); 491 CFX_FloatRect rcWindow = CPWL_Wnd::GetWindowRect();
489 m_rcOldWindow = rcWindow; 492 m_rcOldWindow = rcWindow;
490 switch (nWhere) { 493 switch (nWhere) {
491 default: 494 default:
492 case 0: 495 case 0:
493 rcWindow.bottom -= fPopupRet; 496 rcWindow.bottom -= fPopupRet;
494 break; 497 break;
495 case 1: 498 case 1:
496 rcWindow.top += fPopupRet; 499 rcWindow.top += fPopupRet;
497 break; 500 break;
498 } 501 }
(...skipping 140 matching lines...) Expand 10 before | Expand all | Expand 10 after
639 642
640 void CPWL_ComboBox::SetFillerNotify(IPWL_Filler_Notify* pNotify) { 643 void CPWL_ComboBox::SetFillerNotify(IPWL_Filler_Notify* pNotify) {
641 m_pFillerNotify = pNotify; 644 m_pFillerNotify = pNotify;
642 645
643 if (m_pEdit) 646 if (m_pEdit)
644 m_pEdit->SetFillerNotify(pNotify); 647 m_pEdit->SetFillerNotify(pNotify);
645 648
646 if (m_pList) 649 if (m_pList)
647 m_pList->SetFillerNotify(pNotify); 650 m_pList->SetFillerNotify(pNotify);
648 } 651 }
OLDNEW
« no previous file with comments | « fpdfsdk/src/pdfwindow/PWL_Caret.cpp ('k') | fpdfsdk/src/pdfwindow/PWL_Edit.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698