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 #include "xfa/fwl/core/fwl_widgetmgrimp.h" | 7 #include "xfa/fwl/core/fwl_widgetmgrimp.h" |
8 | 8 |
9 #include "xfa/fwl/core/cfwl_message.h" | 9 #include "xfa/fwl/core/cfwl_message.h" |
10 #include "xfa/fwl/core/fwl_appimp.h" | 10 #include "xfa/fwl/core/fwl_appimp.h" |
(...skipping 25 matching lines...) Expand all Loading... |
36 #endif | 36 #endif |
37 } | 37 } |
38 | 38 |
39 IFWL_WidgetMgr* FWL_GetWidgetMgr() { | 39 IFWL_WidgetMgr* FWL_GetWidgetMgr() { |
40 IFWL_App* pApp = FWL_GetApp(); | 40 IFWL_App* pApp = FWL_GetApp(); |
41 if (!pApp) | 41 if (!pApp) |
42 return NULL; | 42 return NULL; |
43 return pApp->GetWidgetMgr(); | 43 return pApp->GetWidgetMgr(); |
44 } | 44 } |
45 | 45 |
46 CFWL_WidgetMgr::CFWL_WidgetMgr(CXFA_FFApp* pAdapterNative) : m_dwCapability(0) { | 46 CFWL_WidgetMgr::CFWL_WidgetMgr(CXFA_FFApp* pAdapterNative) |
47 m_pDelegate = new CFWL_WidgetMgrDelegate(this); | 47 : m_dwCapability(0), |
48 m_pAdapter = pAdapterNative->GetWidgetMgr(m_pDelegate); | 48 m_pDelegate(new CFWL_WidgetMgrDelegate(this)), |
| 49 m_pAdapter(pAdapterNative->GetWidgetMgr(m_pDelegate.get())) { |
49 ASSERT(m_pAdapter); | 50 ASSERT(m_pAdapter); |
50 CFWL_WidgetMgrItem* pRoot = new CFWL_WidgetMgrItem; | 51 m_mapWidgetItem[nullptr].reset(new CFWL_WidgetMgrItem); |
51 m_mapWidgetItem.SetAt(NULL, pRoot); | |
52 | |
53 #if (_FX_OS_ == _FX_WIN32_DESKTOP_) || (_FX_OS_ == _FX_WIN64_) | 52 #if (_FX_OS_ == _FX_WIN32_DESKTOP_) || (_FX_OS_ == _FX_WIN64_) |
54 m_rtScreen.Reset(); | 53 m_rtScreen.Reset(); |
55 #endif | 54 #endif |
56 } | 55 } |
57 | 56 |
58 CFWL_WidgetMgr::~CFWL_WidgetMgr() { | 57 CFWL_WidgetMgr::~CFWL_WidgetMgr() {} |
59 FX_POSITION ps = m_mapWidgetItem.GetStartPosition(); | |
60 while (ps) { | |
61 void* pWidget; | |
62 CFWL_WidgetMgrItem* pItem; | |
63 m_mapWidgetItem.GetNextAssoc(ps, pWidget, (void*&)pItem); | |
64 delete pItem; | |
65 } | |
66 m_mapWidgetItem.RemoveAll(); | |
67 delete m_pDelegate; | |
68 } | |
69 | 58 |
70 int32_t CFWL_WidgetMgr::CountWidgets(IFWL_Widget* pParent) { | 59 int32_t CFWL_WidgetMgr::CountWidgets(IFWL_Widget* pParent) { |
71 CFWL_WidgetMgrItem* pParentItem = GetWidgetMgrItem(pParent); | 60 CFWL_WidgetMgrItem* pParentItem = GetWidgetMgrItem(pParent); |
72 return TravelWidgetMgr(pParentItem, NULL, NULL); | 61 return TravelWidgetMgr(pParentItem, NULL, NULL); |
73 } | 62 } |
74 IFWL_Widget* CFWL_WidgetMgr::GetWidget(int32_t nIndex, IFWL_Widget* pParent) { | 63 IFWL_Widget* CFWL_WidgetMgr::GetWidget(int32_t nIndex, IFWL_Widget* pParent) { |
75 CFWL_WidgetMgrItem* pParentItem = GetWidgetMgrItem(pParent); | 64 CFWL_WidgetMgrItem* pParentItem = GetWidgetMgrItem(pParent); |
76 IFWL_Widget* pWidget = NULL; | 65 IFWL_Widget* pWidget = NULL; |
77 TravelWidgetMgr(pParentItem, &nIndex, NULL, &pWidget); | 66 TravelWidgetMgr(pParentItem, &nIndex, NULL, &pWidget); |
78 return pWidget; | 67 return pWidget; |
(...skipping 162 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
241 return FWL_Error::Indefinite; | 230 return FWL_Error::Indefinite; |
242 pWidget->TransformTo(pNative, rect.left, rect.top); | 231 pWidget->TransformTo(pNative, rect.left, rect.top); |
243 } | 232 } |
244 AddRedrawCounts(pNative); | 233 AddRedrawCounts(pNative); |
245 return m_pAdapter->RepaintWidget(pNative, &rect); | 234 return m_pAdapter->RepaintWidget(pNative, &rect); |
246 } | 235 } |
247 void CFWL_WidgetMgr::AddWidget(IFWL_Widget* pWidget) { | 236 void CFWL_WidgetMgr::AddWidget(IFWL_Widget* pWidget) { |
248 CFWL_WidgetMgrItem* pParentItem = GetWidgetMgrItem(NULL); | 237 CFWL_WidgetMgrItem* pParentItem = GetWidgetMgrItem(NULL); |
249 CFWL_WidgetMgrItem* pItem = GetWidgetMgrItem(pWidget); | 238 CFWL_WidgetMgrItem* pItem = GetWidgetMgrItem(pWidget); |
250 if (!pItem) { | 239 if (!pItem) { |
251 pItem = new CFWL_WidgetMgrItem; | 240 pItem = new CFWL_WidgetMgrItem(pWidget); |
252 pItem->pWidget = pWidget; | 241 m_mapWidgetItem[pWidget].reset(pItem); |
253 m_mapWidgetItem.SetAt(pWidget, pItem); | |
254 } | 242 } |
255 if (pItem->pParent && pItem->pParent != pParentItem) { | 243 if (pItem->pParent && pItem->pParent != pParentItem) { |
256 if (pItem->pPrevious) { | 244 if (pItem->pPrevious) { |
257 pItem->pPrevious->pNext = pItem->pNext; | 245 pItem->pPrevious->pNext = pItem->pNext; |
258 } | 246 } |
259 if (pItem->pNext) { | 247 if (pItem->pNext) { |
260 pItem->pNext->pPrevious = pItem->pPrevious; | 248 pItem->pNext->pPrevious = pItem->pPrevious; |
261 } | 249 } |
262 if (pItem->pParent->pChild == pItem) { | 250 if (pItem->pParent->pChild == pItem) { |
263 pItem->pParent->pChild = pItem->pNext; | 251 pItem->pParent->pChild = pItem->pNext; |
264 } | 252 } |
265 } | 253 } |
266 pItem->pParent = pParentItem; | 254 pItem->pParent = pParentItem; |
267 SetWidgetIndex(pWidget, -1); | 255 SetWidgetIndex(pWidget, -1); |
268 } | 256 } |
269 void CFWL_WidgetMgr::InsertWidget(IFWL_Widget* pParent, | 257 void CFWL_WidgetMgr::InsertWidget(IFWL_Widget* pParent, |
270 IFWL_Widget* pChild, | 258 IFWL_Widget* pChild, |
271 int32_t nIndex) { | 259 int32_t nIndex) { |
272 CFWL_WidgetMgrItem* pParentItem = GetWidgetMgrItem(pParent); | 260 CFWL_WidgetMgrItem* pParentItem = GetWidgetMgrItem(pParent); |
273 if (!pParentItem) { | 261 if (!pParentItem) { |
274 pParentItem = new CFWL_WidgetMgrItem; | 262 pParentItem = new CFWL_WidgetMgrItem(pParent); |
275 pParentItem->pWidget = pParent; | 263 m_mapWidgetItem[pParent].reset(pParentItem); |
276 m_mapWidgetItem.SetAt(pParent, pParentItem); | 264 pParentItem->pParent = GetWidgetMgrItem(nullptr); |
277 CFWL_WidgetMgrItem* pRoot = GetWidgetMgrItem(NULL); | |
278 pParentItem->pParent = pRoot; | |
279 SetWidgetIndex(pParent, -1); | 265 SetWidgetIndex(pParent, -1); |
280 } | 266 } |
281 CFWL_WidgetMgrItem* pItem = GetWidgetMgrItem(pChild); | 267 CFWL_WidgetMgrItem* pItem = GetWidgetMgrItem(pChild); |
282 if (!pItem) { | 268 if (!pItem) { |
283 pItem = new CFWL_WidgetMgrItem; | 269 pItem = new CFWL_WidgetMgrItem(pChild); |
284 pItem->pWidget = pChild; | 270 m_mapWidgetItem[pChild].reset(pItem); |
285 m_mapWidgetItem.SetAt(pChild, pItem); | |
286 } | 271 } |
287 if (pItem->pParent && pItem->pParent != pParentItem) { | 272 if (pItem->pParent && pItem->pParent != pParentItem) { |
288 if (pItem->pPrevious) { | 273 if (pItem->pPrevious) { |
289 pItem->pPrevious->pNext = pItem->pNext; | 274 pItem->pPrevious->pNext = pItem->pNext; |
290 } | 275 } |
291 if (pItem->pNext) { | 276 if (pItem->pNext) { |
292 pItem->pNext->pPrevious = pItem->pPrevious; | 277 pItem->pNext->pPrevious = pItem->pPrevious; |
293 } | 278 } |
294 if (pItem->pParent->pChild == pItem) { | 279 if (pItem->pParent->pChild == pItem) { |
295 pItem->pParent->pChild = pItem->pNext; | 280 pItem->pParent->pChild = pItem->pNext; |
(...skipping 15 matching lines...) Expand all Loading... |
311 } | 296 } |
312 if (pItem->pParent && pItem->pParent->pChild == pItem) { | 297 if (pItem->pParent && pItem->pParent->pChild == pItem) { |
313 pItem->pParent->pChild = pItem->pNext; | 298 pItem->pParent->pChild = pItem->pNext; |
314 } | 299 } |
315 CFWL_WidgetMgrItem* pChild = pItem->pChild; | 300 CFWL_WidgetMgrItem* pChild = pItem->pChild; |
316 while (pChild) { | 301 while (pChild) { |
317 CFWL_WidgetMgrItem* pNext = pChild->pNext; | 302 CFWL_WidgetMgrItem* pNext = pChild->pNext; |
318 RemoveWidget(pChild->pWidget); | 303 RemoveWidget(pChild->pWidget); |
319 pChild = pNext; | 304 pChild = pNext; |
320 } | 305 } |
321 m_mapWidgetItem.RemoveKey(pWidget); | 306 m_mapWidgetItem.erase(pWidget); |
322 delete pItem; | |
323 } | 307 } |
324 void CFWL_WidgetMgr::SetOwner(IFWL_Widget* pOwner, IFWL_Widget* pOwned) { | 308 void CFWL_WidgetMgr::SetOwner(IFWL_Widget* pOwner, IFWL_Widget* pOwned) { |
325 CFWL_WidgetMgrItem* pParentItem = GetWidgetMgrItem(pOwner); | 309 CFWL_WidgetMgrItem* pParentItem = GetWidgetMgrItem(pOwner); |
326 if (!pParentItem) { | 310 if (!pParentItem) { |
327 pParentItem = new CFWL_WidgetMgrItem; | 311 pParentItem = new CFWL_WidgetMgrItem(pOwner); |
328 pParentItem->pWidget = pOwner; | 312 m_mapWidgetItem[pOwner].reset(pParentItem); |
329 m_mapWidgetItem.SetAt(pOwner, pParentItem); | 313 pParentItem->pParent = GetWidgetMgrItem(nullptr); |
330 CFWL_WidgetMgrItem* pRoot = GetWidgetMgrItem(NULL); | |
331 pParentItem->pParent = pRoot; | |
332 SetWidgetIndex(pOwner, -1); | 314 SetWidgetIndex(pOwner, -1); |
333 } | 315 } |
334 CFWL_WidgetMgrItem* pItem = GetWidgetMgrItem(pOwned); | 316 CFWL_WidgetMgrItem* pItem = GetWidgetMgrItem(pOwned); |
335 if (!pItem) { | 317 if (!pItem) { |
336 pItem = new CFWL_WidgetMgrItem; | 318 pItem = new CFWL_WidgetMgrItem(pOwned); |
337 pItem->pWidget = pOwned; | 319 m_mapWidgetItem[pOwned].reset(pItem); |
338 m_mapWidgetItem.SetAt(pOwned, pItem); | |
339 } | 320 } |
340 pItem->pOwner = pParentItem; | 321 pItem->pOwner = pParentItem; |
341 } | 322 } |
342 void CFWL_WidgetMgr::SetParent(IFWL_Widget* pParent, IFWL_Widget* pChild) { | 323 void CFWL_WidgetMgr::SetParent(IFWL_Widget* pParent, IFWL_Widget* pChild) { |
343 CFWL_WidgetMgrItem* pParentItem = GetWidgetMgrItem(pParent); | 324 CFWL_WidgetMgrItem* pParentItem = GetWidgetMgrItem(pParent); |
344 CFWL_WidgetMgrItem* pItem = GetWidgetMgrItem(pChild); | 325 CFWL_WidgetMgrItem* pItem = GetWidgetMgrItem(pChild); |
345 if (!pItem) | 326 if (!pItem) |
346 return; | 327 return; |
347 if (pItem->pParent && pItem->pParent != pParentItem) { | 328 if (pItem->pParent && pItem->pParent != pParentItem) { |
348 if (pItem->pPrevious) { | 329 if (pItem->pPrevious) { |
(...skipping 27 matching lines...) Expand all Loading... |
376 const CFX_RectF& rect) { | 357 const CFX_RectF& rect) { |
377 if (FWL_UseOffscreen(pWidget)) { | 358 if (FWL_UseOffscreen(pWidget)) { |
378 CFWL_WidgetMgrItem* pItem = GetWidgetMgrItem(pWidget); | 359 CFWL_WidgetMgrItem* pItem = GetWidgetMgrItem(pWidget); |
379 pItem->iRedrawCounter++; | 360 pItem->iRedrawCounter++; |
380 if (pItem->pOffscreen) { | 361 if (pItem->pOffscreen) { |
381 CFX_RenderDevice* pDevice = pItem->pOffscreen->GetRenderDevice(); | 362 CFX_RenderDevice* pDevice = pItem->pOffscreen->GetRenderDevice(); |
382 if (pDevice && pDevice->GetBitmap()) { | 363 if (pDevice && pDevice->GetBitmap()) { |
383 CFX_DIBitmap* pBitmap = pDevice->GetBitmap(); | 364 CFX_DIBitmap* pBitmap = pDevice->GetBitmap(); |
384 if (pBitmap->GetWidth() - rect.width > 1 || | 365 if (pBitmap->GetWidth() - rect.width > 1 || |
385 pBitmap->GetHeight() - rect.height > 1) { | 366 pBitmap->GetHeight() - rect.height > 1) { |
386 delete pItem->pOffscreen; | 367 pItem->pOffscreen.reset(); |
387 pItem->pOffscreen = NULL; | |
388 } | 368 } |
389 } | 369 } |
390 } | 370 } |
391 #if (_FX_OS_ == _FX_WIN32_DESKTOP_) || (_FX_OS_ == _FX_WIN64_) | 371 #if (_FX_OS_ == _FX_WIN32_DESKTOP_) || (_FX_OS_ == _FX_WIN64_) |
392 pItem->bOutsideChanged = !m_rtScreen.Contains(rect); | 372 pItem->bOutsideChanged = !m_rtScreen.Contains(rect); |
393 #endif | 373 #endif |
394 } | 374 } |
395 return FWL_Error::Succeeded; | 375 return FWL_Error::Succeeded; |
396 } | 376 } |
397 | 377 |
(...skipping 24 matching lines...) Expand all Loading... |
422 } | 402 } |
423 } | 403 } |
424 child = GetWidget(child, FWL_WGTRELATION_PriorSibling); | 404 child = GetWidget(child, FWL_WGTRELATION_PriorSibling); |
425 } | 405 } |
426 return parent; | 406 return parent; |
427 } | 407 } |
428 | 408 |
429 void CFWL_WidgetMgr::NotifySizeChanged(IFWL_Widget* pForm, | 409 void CFWL_WidgetMgr::NotifySizeChanged(IFWL_Widget* pForm, |
430 FX_FLOAT fx, | 410 FX_FLOAT fx, |
431 FX_FLOAT fy) { | 411 FX_FLOAT fy) { |
432 if (!FWL_UseOffscreen(pForm)) | 412 if (FWL_UseOffscreen(pForm)) |
433 return; | 413 GetWidgetMgrItem(pForm)->pOffscreen.reset(); |
434 | |
435 CFWL_WidgetMgrItem* pItem = GetWidgetMgrItem(pForm); | |
436 delete pItem->pOffscreen; | |
437 pItem->pOffscreen = nullptr; | |
438 } | 414 } |
439 | 415 |
440 IFWL_Widget* CFWL_WidgetMgr::nextTab(IFWL_Widget* parent, | 416 IFWL_Widget* CFWL_WidgetMgr::nextTab(IFWL_Widget* parent, |
441 IFWL_Widget* focus, | 417 IFWL_Widget* focus, |
442 FX_BOOL& bFind) { | 418 FX_BOOL& bFind) { |
443 IFWL_Widget* child = | 419 IFWL_Widget* child = |
444 FWL_GetWidgetMgr()->GetWidget(parent, FWL_WGTRELATION_FirstChild); | 420 FWL_GetWidgetMgr()->GetWidget(parent, FWL_WGTRELATION_FirstChild); |
445 while (child) { | 421 while (child) { |
446 if (focus == child) { | 422 if (focus == child) { |
447 bFind = TRUE; | 423 bFind = TRUE; |
(...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
534 return NULL; | 510 return NULL; |
535 } | 511 } |
536 void CFWL_WidgetMgr::AddRedrawCounts(IFWL_Widget* pWidget) { | 512 void CFWL_WidgetMgr::AddRedrawCounts(IFWL_Widget* pWidget) { |
537 CFWL_WidgetMgrItem* pItem = GetWidgetMgrItem(pWidget); | 513 CFWL_WidgetMgrItem* pItem = GetWidgetMgrItem(pWidget); |
538 (pItem->iRedrawCounter)++; | 514 (pItem->iRedrawCounter)++; |
539 } | 515 } |
540 void CFWL_WidgetMgr::ResetRedrawCounts(IFWL_Widget* pWidget) { | 516 void CFWL_WidgetMgr::ResetRedrawCounts(IFWL_Widget* pWidget) { |
541 CFWL_WidgetMgrItem* pItem = GetWidgetMgrItem(pWidget); | 517 CFWL_WidgetMgrItem* pItem = GetWidgetMgrItem(pWidget); |
542 pItem->iRedrawCounter = 0; | 518 pItem->iRedrawCounter = 0; |
543 } | 519 } |
544 CFWL_WidgetMgrItem* CFWL_WidgetMgr::GetWidgetMgrItem(IFWL_Widget* pWidget) { | 520 CFWL_WidgetMgrItem* CFWL_WidgetMgr::GetWidgetMgrItem( |
545 return static_cast<CFWL_WidgetMgrItem*>(m_mapWidgetItem.GetValueAt(pWidget)); | 521 IFWL_Widget* pWidget) const { |
| 522 auto it = m_mapWidgetItem.find(pWidget); |
| 523 return it != m_mapWidgetItem.end() |
| 524 ? static_cast<CFWL_WidgetMgrItem*>(it->second.get()) |
| 525 : nullptr; |
546 } | 526 } |
547 int32_t CFWL_WidgetMgr::TravelWidgetMgr(CFWL_WidgetMgrItem* pParent, | 527 int32_t CFWL_WidgetMgr::TravelWidgetMgr(CFWL_WidgetMgrItem* pParent, |
548 int32_t* pIndex, | 528 int32_t* pIndex, |
549 CFWL_WidgetMgrItem* pItem, | 529 CFWL_WidgetMgrItem* pItem, |
550 IFWL_Widget** pWidget) { | 530 IFWL_Widget** pWidget) { |
551 if (!pParent) { | 531 if (!pParent) { |
552 return 0; | 532 return 0; |
553 } | 533 } |
554 int32_t iCount = 0; | 534 int32_t iCount = 0; |
555 CFWL_WidgetMgrItem* pChild = pParent->pChild; | 535 CFWL_WidgetMgrItem* pChild = pParent->pChild; |
(...skipping 193 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
749 | 729 |
750 CFX_Graphics* CFWL_WidgetMgrDelegate::DrawWidgetBefore( | 730 CFX_Graphics* CFWL_WidgetMgrDelegate::DrawWidgetBefore( |
751 IFWL_Widget* pWidget, | 731 IFWL_Widget* pWidget, |
752 CFX_Graphics* pGraphics, | 732 CFX_Graphics* pGraphics, |
753 const CFX_Matrix* pMatrix) { | 733 const CFX_Matrix* pMatrix) { |
754 if (!FWL_UseOffscreen(pWidget)) | 734 if (!FWL_UseOffscreen(pWidget)) |
755 return pGraphics; | 735 return pGraphics; |
756 | 736 |
757 CFWL_WidgetMgrItem* pItem = m_pWidgetMgr->GetWidgetMgrItem(pWidget); | 737 CFWL_WidgetMgrItem* pItem = m_pWidgetMgr->GetWidgetMgrItem(pWidget); |
758 if (!pItem->pOffscreen) { | 738 if (!pItem->pOffscreen) { |
759 pItem->pOffscreen = new CFX_Graphics; | 739 pItem->pOffscreen.reset(new CFX_Graphics); |
760 CFX_RectF rect; | 740 CFX_RectF rect; |
761 pWidget->GetWidgetRect(rect); | 741 pWidget->GetWidgetRect(rect); |
762 pItem->pOffscreen->Create((int32_t)rect.width, (int32_t)rect.height, | 742 pItem->pOffscreen->Create((int32_t)rect.width, (int32_t)rect.height, |
763 FXDIB_Argb); | 743 FXDIB_Argb); |
764 } | 744 } |
765 CFX_RectF rect; | 745 CFX_RectF rect; |
766 pGraphics->GetClipRect(rect); | 746 pGraphics->GetClipRect(rect); |
767 pItem->pOffscreen->SetClipRect(rect); | 747 pItem->pOffscreen->SetClipRect(rect); |
768 return pItem->pOffscreen; | 748 return pItem->pOffscreen.get(); |
769 } | 749 } |
770 | 750 |
771 void CFWL_WidgetMgrDelegate::DrawWidgetAfter(IFWL_Widget* pWidget, | 751 void CFWL_WidgetMgrDelegate::DrawWidgetAfter(IFWL_Widget* pWidget, |
772 CFX_Graphics* pGraphics, | 752 CFX_Graphics* pGraphics, |
773 CFX_RectF& rtClip, | 753 CFX_RectF& rtClip, |
774 const CFX_Matrix* pMatrix) { | 754 const CFX_Matrix* pMatrix) { |
775 if (FWL_UseOffscreen(pWidget)) { | 755 if (FWL_UseOffscreen(pWidget)) { |
776 CFWL_WidgetMgrItem* pItem = m_pWidgetMgr->GetWidgetMgrItem(pWidget); | 756 CFWL_WidgetMgrItem* pItem = m_pWidgetMgr->GetWidgetMgrItem(pWidget); |
777 pGraphics->Transfer(pItem->pOffscreen, rtClip.left, rtClip.top, rtClip, | 757 pGraphics->Transfer(pItem->pOffscreen.get(), rtClip.left, rtClip.top, |
778 pMatrix); | 758 rtClip, pMatrix); |
779 #ifdef _WIN32 | 759 #ifdef _WIN32 |
780 pItem->pOffscreen->ClearClip(); | 760 pItem->pOffscreen->ClearClip(); |
781 #endif | 761 #endif |
782 } | 762 } |
783 CFWL_WidgetMgrItem* pItem = m_pWidgetMgr->GetWidgetMgrItem(pWidget); | 763 CFWL_WidgetMgrItem* pItem = m_pWidgetMgr->GetWidgetMgrItem(pWidget); |
784 pItem->iRedrawCounter = 0; | 764 pItem->iRedrawCounter = 0; |
785 } | 765 } |
786 | 766 |
787 FX_BOOL CFWL_WidgetMgrDelegate::IsNeedRepaint(IFWL_Widget* pWidget, | 767 FX_BOOL CFWL_WidgetMgrDelegate::IsNeedRepaint(IFWL_Widget* pWidget, |
788 CFX_Matrix* pMatrix, | 768 CFX_Matrix* pMatrix, |
(...skipping 107 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
896 temp.Deflate(50, 50); | 876 temp.Deflate(50, 50); |
897 if (!temp.Contains(r)) | 877 if (!temp.Contains(r)) |
898 return FALSE; | 878 return FALSE; |
899 | 879 |
900 pItem->bOutsideChanged = FALSE; | 880 pItem->bOutsideChanged = FALSE; |
901 } | 881 } |
902 #endif | 882 #endif |
903 | 883 |
904 return pItem->iRedrawCounter == 0; | 884 return pItem->iRedrawCounter == 0; |
905 } | 885 } |
OLD | NEW |