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 202 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
213 if (pItem->pParent->pChild == pChild) { | 213 if (pItem->pParent->pChild == pChild) { |
214 pItem->pParent->pChild = pItem; | 214 pItem->pParent->pChild = pItem; |
215 } | 215 } |
216 } else { | 216 } else { |
217 pItem->pParent->pChild = pItem; | 217 pItem->pParent->pChild = pItem; |
218 pItem->pPrevious = NULL; | 218 pItem->pPrevious = NULL; |
219 pItem->pNext = NULL; | 219 pItem->pNext = NULL; |
220 } | 220 } |
221 return TRUE; | 221 return TRUE; |
222 } | 222 } |
223 FWL_ERR CFWL_WidgetMgr::RepaintWidget(IFWL_Widget* pWidget, | 223 FWL_Error CFWL_WidgetMgr::RepaintWidget(IFWL_Widget* pWidget, |
224 const CFX_RectF* pRect) { | 224 const CFX_RectF* pRect) { |
225 if (!m_pAdapter) | 225 if (!m_pAdapter) |
226 return FWL_ERR_Indefinite; | 226 return FWL_Error::Indefinite; |
227 IFWL_Widget* pNative = pWidget; | 227 IFWL_Widget* pNative = pWidget; |
228 CFX_RectF rect(*pRect); | 228 CFX_RectF rect(*pRect); |
229 if (IsFormDisabled()) { | 229 if (IsFormDisabled()) { |
230 IFWL_Widget* pOuter = pWidget->GetOuter(); | 230 IFWL_Widget* pOuter = pWidget->GetOuter(); |
231 while (pOuter) { | 231 while (pOuter) { |
232 CFX_RectF rtTemp; | 232 CFX_RectF rtTemp; |
233 pNative->GetWidgetRect(rtTemp); | 233 pNative->GetWidgetRect(rtTemp); |
234 rect.left += rtTemp.left; | 234 rect.left += rtTemp.left; |
235 rect.top += rtTemp.top; | 235 rect.top += rtTemp.top; |
236 pNative = pOuter; | 236 pNative = pOuter; |
237 pOuter = pOuter->GetOuter(); | 237 pOuter = pOuter->GetOuter(); |
238 } | 238 } |
239 } else if (!IsAbleNative(pWidget)) { | 239 } else if (!IsAbleNative(pWidget)) { |
240 pNative = GetWidget(pWidget, FWL_WGTRELATION_SystemForm); | 240 pNative = GetWidget(pWidget, FWL_WGTRELATION_SystemForm); |
241 if (!pNative) | 241 if (!pNative) |
242 return FWL_ERR_Indefinite; | 242 return FWL_Error::Indefinite; |
243 pWidget->TransformTo(pNative, rect.left, rect.top); | 243 pWidget->TransformTo(pNative, rect.left, rect.top); |
244 } | 244 } |
245 AddRedrawCounts(pNative); | 245 AddRedrawCounts(pNative); |
246 return m_pAdapter->RepaintWidget(pNative, &rect); | 246 return m_pAdapter->RepaintWidget(pNative, &rect); |
247 } | 247 } |
248 void CFWL_WidgetMgr::AddWidget(IFWL_Widget* pWidget) { | 248 void CFWL_WidgetMgr::AddWidget(IFWL_Widget* pWidget) { |
249 CFWL_WidgetMgrItem* pParentItem = GetWidgetMgrItem(NULL); | 249 CFWL_WidgetMgrItem* pParentItem = GetWidgetMgrItem(NULL); |
250 CFWL_WidgetMgrItem* pItem = GetWidgetMgrItem(pWidget); | 250 CFWL_WidgetMgrItem* pItem = GetWidgetMgrItem(pWidget); |
251 if (!pItem) { | 251 if (!pItem) { |
252 pItem = new CFWL_WidgetMgrItem; | 252 pItem = new CFWL_WidgetMgrItem; |
(...skipping 114 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
367 FX_BOOL CFWL_WidgetMgr::IsChild(IFWL_Widget* pChild, IFWL_Widget* pParent) { | 367 FX_BOOL CFWL_WidgetMgr::IsChild(IFWL_Widget* pChild, IFWL_Widget* pParent) { |
368 IFWL_Widget* pTemp = pChild; | 368 IFWL_Widget* pTemp = pChild; |
369 do { | 369 do { |
370 if (pTemp == pParent) { | 370 if (pTemp == pParent) { |
371 return TRUE; | 371 return TRUE; |
372 } | 372 } |
373 pTemp = GetWidget(pTemp, FWL_WGTRELATION_Parent); | 373 pTemp = GetWidget(pTemp, FWL_WGTRELATION_Parent); |
374 } while (pTemp); | 374 } while (pTemp); |
375 return FALSE; | 375 return FALSE; |
376 } | 376 } |
377 FWL_ERR CFWL_WidgetMgr::CreateWidget_Native(IFWL_Widget* pWidget) { | 377 FWL_Error CFWL_WidgetMgr::CreateWidget_Native(IFWL_Widget* pWidget) { |
378 if (!IsAbleNative(pWidget)) { | 378 if (!IsAbleNative(pWidget)) { |
379 return FWL_ERR_Succeeded; | 379 return FWL_Error::Succeeded; |
380 } | 380 } |
381 return m_pAdapter->CreateWidget(pWidget, pWidget->GetOwner()); | 381 return m_pAdapter->CreateWidget(pWidget, pWidget->GetOwner()); |
382 } | 382 } |
383 FWL_ERR CFWL_WidgetMgr::DestroyWidget_Native(IFWL_Widget* pWidget) { | 383 FWL_Error CFWL_WidgetMgr::DestroyWidget_Native(IFWL_Widget* pWidget) { |
384 if (!IsAbleNative(pWidget)) { | 384 if (!IsAbleNative(pWidget)) { |
385 return FWL_ERR_Succeeded; | 385 return FWL_Error::Succeeded; |
386 } | 386 } |
387 return m_pAdapter->DestroyWidget(pWidget); | 387 return m_pAdapter->DestroyWidget(pWidget); |
388 } | 388 } |
389 FWL_ERR CFWL_WidgetMgr::GetWidgetRect_Native(IFWL_Widget* pWidget, | 389 FWL_Error CFWL_WidgetMgr::GetWidgetRect_Native(IFWL_Widget* pWidget, |
390 CFX_RectF& rect) { | 390 CFX_RectF& rect) { |
391 if (!IsAbleNative(pWidget)) { | 391 if (!IsAbleNative(pWidget)) { |
392 return FWL_ERR_Succeeded; | 392 return FWL_Error::Succeeded; |
393 } | 393 } |
394 return m_pAdapter->GetWidgetRect(pWidget, rect); | 394 return m_pAdapter->GetWidgetRect(pWidget, rect); |
395 } | 395 } |
396 FWL_ERR CFWL_WidgetMgr::SetWidgetRect_Native(IFWL_Widget* pWidget, | 396 FWL_Error CFWL_WidgetMgr::SetWidgetRect_Native(IFWL_Widget* pWidget, |
397 const CFX_RectF& rect) { | 397 const CFX_RectF& rect) { |
398 if (FWL_UseOffscreen(pWidget)) { | 398 if (FWL_UseOffscreen(pWidget)) { |
399 CFWL_WidgetMgrItem* pItem = GetWidgetMgrItem(pWidget); | 399 CFWL_WidgetMgrItem* pItem = GetWidgetMgrItem(pWidget); |
400 pItem->iRedrawCounter++; | 400 pItem->iRedrawCounter++; |
401 if (pItem->pOffscreen) { | 401 if (pItem->pOffscreen) { |
402 CFX_RenderDevice* pDevice = pItem->pOffscreen->GetRenderDevice(); | 402 CFX_RenderDevice* pDevice = pItem->pOffscreen->GetRenderDevice(); |
403 if (pDevice && pDevice->GetBitmap()) { | 403 if (pDevice && pDevice->GetBitmap()) { |
404 CFX_DIBitmap* pBitmap = pDevice->GetBitmap(); | 404 CFX_DIBitmap* pBitmap = pDevice->GetBitmap(); |
405 if (pBitmap->GetWidth() - rect.width > 1 || | 405 if (pBitmap->GetWidth() - rect.width > 1 || |
406 pBitmap->GetHeight() - rect.height > 1) { | 406 pBitmap->GetHeight() - rect.height > 1) { |
407 delete pItem->pOffscreen; | 407 delete pItem->pOffscreen; |
408 pItem->pOffscreen = NULL; | 408 pItem->pOffscreen = NULL; |
409 } | 409 } |
410 } | 410 } |
411 } | 411 } |
412 #if (_FX_OS_ == _FX_WIN32_DESKTOP_) || (_FX_OS_ == _FX_WIN64_) | 412 #if (_FX_OS_ == _FX_WIN32_DESKTOP_) || (_FX_OS_ == _FX_WIN64_) |
413 pItem->bOutsideChanged = !m_rtScreen.Contains(rect); | 413 pItem->bOutsideChanged = !m_rtScreen.Contains(rect); |
414 #endif | 414 #endif |
415 } | 415 } |
416 return m_pAdapter->SetWidgetRect(pWidget, rect); | 416 return m_pAdapter->SetWidgetRect(pWidget, rect); |
417 } | 417 } |
418 FWL_ERR CFWL_WidgetMgr::SetWidgetPosition_Native(IFWL_Widget* pWidget, | 418 FWL_Error CFWL_WidgetMgr::SetWidgetPosition_Native(IFWL_Widget* pWidget, |
419 FX_FLOAT fx, | 419 FX_FLOAT fx, |
420 FX_FLOAT fy) { | 420 FX_FLOAT fy) { |
421 return m_pAdapter->SetWidgetPosition(pWidget, fx, fy); | 421 return m_pAdapter->SetWidgetPosition(pWidget, fx, fy); |
422 } | 422 } |
423 FWL_ERR CFWL_WidgetMgr::SetWidgetIcon_Native(IFWL_Widget* pWidget, | 423 FWL_Error CFWL_WidgetMgr::SetWidgetIcon_Native(IFWL_Widget* pWidget, |
424 const CFX_DIBitmap* pIcon, | 424 const CFX_DIBitmap* pIcon, |
425 FX_BOOL bBig) { | 425 FX_BOOL bBig) { |
426 return m_pAdapter->SetWidgetIcon(pWidget, pIcon, bBig); | 426 return m_pAdapter->SetWidgetIcon(pWidget, pIcon, bBig); |
427 } | 427 } |
428 FWL_ERR CFWL_WidgetMgr::SetWidgetCaption_Native( | 428 FWL_Error CFWL_WidgetMgr::SetWidgetCaption_Native( |
429 IFWL_Widget* pWidget, | 429 IFWL_Widget* pWidget, |
430 const CFX_WideStringC& wsCaption) { | 430 const CFX_WideStringC& wsCaption) { |
431 return m_pAdapter->SetWidgetCaption(pWidget, wsCaption); | 431 return m_pAdapter->SetWidgetCaption(pWidget, wsCaption); |
432 } | 432 } |
433 FWL_ERR CFWL_WidgetMgr::SetBorderRegion_Native(IFWL_Widget* pWidget, | 433 FWL_Error CFWL_WidgetMgr::SetBorderRegion_Native(IFWL_Widget* pWidget, |
434 CFX_Path* pPath) { | 434 CFX_Path* pPath) { |
435 return m_pAdapter->SetBorderRegion(pWidget, pPath); | 435 return m_pAdapter->SetBorderRegion(pWidget, pPath); |
436 } | 436 } |
437 FWL_ERR CFWL_WidgetMgr::ShowWidget_Native(IFWL_Widget* pWidget) { | 437 FWL_Error CFWL_WidgetMgr::ShowWidget_Native(IFWL_Widget* pWidget) { |
438 return m_pAdapter->ShowWidget(pWidget); | 438 return m_pAdapter->ShowWidget(pWidget); |
439 } | 439 } |
440 FWL_ERR CFWL_WidgetMgr::HideWidget_Native(IFWL_Widget* pWidget) { | 440 FWL_Error CFWL_WidgetMgr::HideWidget_Native(IFWL_Widget* pWidget) { |
441 return m_pAdapter->HideWidget(pWidget); | 441 return m_pAdapter->HideWidget(pWidget); |
442 } | 442 } |
443 FWL_ERR CFWL_WidgetMgr::SetNormal_Native(IFWL_Widget* pWidget) { | 443 FWL_Error CFWL_WidgetMgr::SetNormal_Native(IFWL_Widget* pWidget) { |
444 return m_pAdapter->SetNormal(pWidget); | 444 return m_pAdapter->SetNormal(pWidget); |
445 } | 445 } |
446 FWL_ERR CFWL_WidgetMgr::SetMaximize_Native(IFWL_Widget* pWidget) { | 446 FWL_Error CFWL_WidgetMgr::SetMaximize_Native(IFWL_Widget* pWidget) { |
447 return m_pAdapter->SetMaximize(pWidget); | 447 return m_pAdapter->SetMaximize(pWidget); |
448 } | 448 } |
449 FWL_ERR CFWL_WidgetMgr::SetMinimize_Native(IFWL_Widget* pWidget) { | 449 FWL_Error CFWL_WidgetMgr::SetMinimize_Native(IFWL_Widget* pWidget) { |
450 return m_pAdapter->SetMinimize(pWidget); | 450 return m_pAdapter->SetMinimize(pWidget); |
451 } | 451 } |
452 FX_BOOL CFWL_WidgetMgr::CheckMessage_Native() { | 452 FX_BOOL CFWL_WidgetMgr::CheckMessage_Native() { |
453 return m_pAdapter->CheckMessage(); | 453 return m_pAdapter->CheckMessage(); |
454 } | 454 } |
455 FWL_ERR CFWL_WidgetMgr::DispatchMessage_Native() { | 455 FWL_Error CFWL_WidgetMgr::DispatchMessage_Native() { |
456 return m_pAdapter->DispatchMessage(); | 456 return m_pAdapter->DispatchMessage(); |
457 } | 457 } |
458 FX_BOOL CFWL_WidgetMgr::IsIdleMessage_Native() { | 458 FX_BOOL CFWL_WidgetMgr::IsIdleMessage_Native() { |
459 return m_pAdapter->IsIdleMessage(); | 459 return m_pAdapter->IsIdleMessage(); |
460 } | 460 } |
461 FWL_ERR CFWL_WidgetMgr::Exit_Native(int32_t iExitCode) { | 461 FWL_Error CFWL_WidgetMgr::Exit_Native(int32_t iExitCode) { |
462 return m_pAdapter->Exit(iExitCode); | 462 return m_pAdapter->Exit(iExitCode); |
463 } | 463 } |
464 FWL_ERR CFWL_WidgetMgr::CreateWidgetWithNativeId_Native(IFWL_Widget* pWidget, | 464 FWL_Error CFWL_WidgetMgr::CreateWidgetWithNativeId_Native(IFWL_Widget* pWidget, |
465 void* vp) { | 465 void* vp) { |
466 return m_pAdapter->CreateWidgetWithNativeId(pWidget, vp); | 466 return m_pAdapter->CreateWidgetWithNativeId(pWidget, vp); |
467 } | 467 } |
468 IFWL_Widget* CFWL_WidgetMgr::GetWidgetAtPoint(IFWL_Widget* parent, | 468 IFWL_Widget* CFWL_WidgetMgr::GetWidgetAtPoint(IFWL_Widget* parent, |
469 FX_FLOAT x, | 469 FX_FLOAT x, |
470 FX_FLOAT y) { | 470 FX_FLOAT y) { |
471 if (!parent) | 471 if (!parent) |
472 return NULL; | 472 return NULL; |
473 FX_FLOAT x1; | 473 FX_FLOAT x1; |
474 FX_FLOAT y1; | 474 FX_FLOAT y1; |
475 IFWL_Widget* child = GetWidget(parent, FWL_WGTRELATION_LastChild); | 475 IFWL_Widget* child = GetWidget(parent, FWL_WGTRELATION_LastChild); |
(...skipping 220 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
696 FX_FLOAT fMinHeight, | 696 FX_FLOAT fMinHeight, |
697 FX_FLOAT fMaxHeight, | 697 FX_FLOAT fMaxHeight, |
698 const CFX_RectF& rtAnchor, | 698 const CFX_RectF& rtAnchor, |
699 CFX_RectF& rtPopup) { | 699 CFX_RectF& rtPopup) { |
700 IFWL_AdapterWidgetMgr* pSDApapter = GetAdapterWidgetMgr(); | 700 IFWL_AdapterWidgetMgr* pSDApapter = GetAdapterWidgetMgr(); |
701 return pSDApapter->GetPopupPos(pWidget, fMinHeight, fMaxHeight, rtAnchor, | 701 return pSDApapter->GetPopupPos(pWidget, fMinHeight, fMaxHeight, rtAnchor, |
702 rtPopup); | 702 rtPopup); |
703 } | 703 } |
704 CFWL_WidgetMgrDelegate::CFWL_WidgetMgrDelegate(CFWL_WidgetMgr* pWidgetMgr) | 704 CFWL_WidgetMgrDelegate::CFWL_WidgetMgrDelegate(CFWL_WidgetMgr* pWidgetMgr) |
705 : m_pWidgetMgr(pWidgetMgr) {} | 705 : m_pWidgetMgr(pWidgetMgr) {} |
706 FWL_ERR CFWL_WidgetMgrDelegate::OnSetCapability(uint32_t dwCapability) { | 706 FWL_Error CFWL_WidgetMgrDelegate::OnSetCapability(uint32_t dwCapability) { |
707 m_pWidgetMgr->m_dwCapability = dwCapability; | 707 m_pWidgetMgr->m_dwCapability = dwCapability; |
708 return FWL_ERR_Succeeded; | 708 return FWL_Error::Succeeded; |
709 } | 709 } |
710 int32_t CFWL_WidgetMgrDelegate::OnProcessMessageToForm(CFWL_Message* pMessage) { | 710 |
| 711 void CFWL_WidgetMgrDelegate::OnProcessMessageToForm(CFWL_Message* pMessage) { |
711 if (!pMessage) | 712 if (!pMessage) |
712 return 0; | 713 return; |
713 if (!pMessage->m_pDstTarget) | 714 if (!pMessage->m_pDstTarget) |
714 return 0; | 715 return; |
715 | 716 |
716 IFWL_Widget* pDstWidget = pMessage->m_pDstTarget; | 717 IFWL_Widget* pDstWidget = pMessage->m_pDstTarget; |
717 IFWL_App* pApp = pDstWidget->GetOwnerApp(); | 718 IFWL_App* pApp = pDstWidget->GetOwnerApp(); |
718 if (!pApp) | 719 if (!pApp) |
719 return 0; | 720 return; |
720 | 721 |
721 CFWL_NoteDriver* pNoteDriver = | 722 CFWL_NoteDriver* pNoteDriver = |
722 static_cast<CFWL_NoteDriver*>(pApp->GetNoteDriver()); | 723 static_cast<CFWL_NoteDriver*>(pApp->GetNoteDriver()); |
723 if (!pNoteDriver) | 724 if (!pNoteDriver) |
724 return 0; | 725 return; |
725 | 726 |
726 if (m_pWidgetMgr->IsThreadEnabled()) | 727 if (m_pWidgetMgr->IsThreadEnabled()) |
727 pMessage = static_cast<CFWL_Message*>(pMessage->Clone()); | 728 pMessage = static_cast<CFWL_Message*>(pMessage->Clone()); |
728 if (m_pWidgetMgr->IsFormDisabled()) | 729 if (m_pWidgetMgr->IsFormDisabled()) |
729 pNoteDriver->ProcessMessage(pMessage); | 730 pNoteDriver->ProcessMessage(pMessage); |
730 else | 731 else |
731 pNoteDriver->QueueMessage(pMessage); | 732 pNoteDriver->QueueMessage(pMessage); |
732 | 733 |
733 #if (_FX_OS_ == _FX_MACOSX_) | 734 #if (_FX_OS_ == _FX_MACOSX_) |
734 CFWL_NoteLoop* pTopLoop = pNoteDriver->GetTopLoop(); | 735 CFWL_NoteLoop* pTopLoop = pNoteDriver->GetTopLoop(); |
735 if (pTopLoop) { | 736 if (pTopLoop) |
736 pNoteDriver->UnqueueMessage(pTopLoop); | 737 pNoteDriver->UnqueueMessage(pTopLoop); |
737 } | |
738 #endif | 738 #endif |
739 if (m_pWidgetMgr->IsThreadEnabled()) { | 739 |
| 740 if (m_pWidgetMgr->IsThreadEnabled()) |
740 pMessage->Release(); | 741 pMessage->Release(); |
741 } | 742 |
742 return FWL_ERR_Succeeded; | 743 return; |
743 } | 744 } |
744 | 745 |
745 FWL_ERR CFWL_WidgetMgrDelegate::OnDrawWidget(IFWL_Widget* pWidget, | 746 void CFWL_WidgetMgrDelegate::OnDrawWidget(IFWL_Widget* pWidget, |
746 CFX_Graphics* pGraphics, | 747 CFX_Graphics* pGraphics, |
747 const CFX_Matrix* pMatrix) { | 748 const CFX_Matrix* pMatrix) { |
748 if (!pWidget) | 749 if (!pWidget || !pGraphics) |
749 return FWL_ERR_Indefinite; | 750 return; |
750 if (!pGraphics) | |
751 return FWL_ERR_Indefinite; | |
752 | 751 |
753 CFX_Graphics* pTemp = DrawWidgetBefore(pWidget, pGraphics, pMatrix); | 752 CFX_Graphics* pTemp = DrawWidgetBefore(pWidget, pGraphics, pMatrix); |
754 CFX_RectF clipCopy; | 753 CFX_RectF clipCopy; |
755 pWidget->GetWidgetRect(clipCopy); | 754 pWidget->GetWidgetRect(clipCopy); |
756 clipCopy.left = clipCopy.top = 0; | 755 clipCopy.left = clipCopy.top = 0; |
757 if (bUseOffscreenDirect(pWidget)) { | 756 if (bUseOffscreenDirect(pWidget)) { |
758 DrawWidgetAfter(pWidget, pGraphics, clipCopy, pMatrix); | 757 DrawWidgetAfter(pWidget, pGraphics, clipCopy, pMatrix); |
759 return FWL_ERR_Succeeded; | 758 return; |
760 } | 759 } |
761 CFX_RectF clipBounds; | 760 CFX_RectF clipBounds; |
762 | 761 |
763 #if (_FX_OS_ == _FX_WIN32_DESKTOP_) || (_FX_OS_ == _FX_WIN64_) || \ | 762 #if (_FX_OS_ == _FX_WIN32_DESKTOP_) || (_FX_OS_ == _FX_WIN64_) || \ |
764 (_FX_OS_ == _FX_LINUX_DESKTOP_) || (_FX_OS_ == _FX_ANDROID_) | 763 (_FX_OS_ == _FX_LINUX_DESKTOP_) || (_FX_OS_ == _FX_ANDROID_) |
765 IFWL_WidgetDelegate* pDelegate = pWidget->SetDelegate(NULL); | 764 IFWL_WidgetDelegate* pDelegate = pWidget->SetDelegate(NULL); |
766 pDelegate->OnDrawWidget(pTemp, pMatrix); | 765 pDelegate->OnDrawWidget(pTemp, pMatrix); |
767 pGraphics->GetClipRect(clipBounds); | 766 pGraphics->GetClipRect(clipBounds); |
768 clipCopy = clipBounds; | 767 clipCopy = clipBounds; |
769 #elif(_FX_OS_ == _FX_MACOSX_) | 768 #elif(_FX_OS_ == _FX_MACOSX_) |
(...skipping 13 matching lines...) Expand all Loading... |
783 if (!m_pWidgetMgr->IsFormDisabled()) { | 782 if (!m_pWidgetMgr->IsFormDisabled()) { |
784 CFX_RectF rtClient; | 783 CFX_RectF rtClient; |
785 pWidget->GetClientRect(rtClient); | 784 pWidget->GetClientRect(rtClient); |
786 clipBounds.Intersect(rtClient); | 785 clipBounds.Intersect(rtClient); |
787 } | 786 } |
788 if (!clipBounds.IsEmpty()) | 787 if (!clipBounds.IsEmpty()) |
789 DrawChild(pWidget, clipBounds, pTemp, pMatrix); | 788 DrawChild(pWidget, clipBounds, pTemp, pMatrix); |
790 | 789 |
791 DrawWidgetAfter(pWidget, pGraphics, clipCopy, pMatrix); | 790 DrawWidgetAfter(pWidget, pGraphics, clipCopy, pMatrix); |
792 m_pWidgetMgr->ResetRedrawCounts(pWidget); | 791 m_pWidgetMgr->ResetRedrawCounts(pWidget); |
793 return FWL_ERR_Succeeded; | |
794 } | 792 } |
795 | 793 |
796 void CFWL_WidgetMgrDelegate::DrawChild(IFWL_Widget* parent, | 794 void CFWL_WidgetMgrDelegate::DrawChild(IFWL_Widget* parent, |
797 const CFX_RectF& rtClip, | 795 const CFX_RectF& rtClip, |
798 CFX_Graphics* pGraphics, | 796 CFX_Graphics* pGraphics, |
799 const CFX_Matrix* pMatrix) { | 797 const CFX_Matrix* pMatrix) { |
800 if (!parent) | 798 if (!parent) |
801 return; | 799 return; |
802 | 800 |
803 FX_BOOL bFormDisable = m_pWidgetMgr->IsFormDisabled(); | 801 FX_BOOL bFormDisable = m_pWidgetMgr->IsFormDisabled(); |
(...skipping 201 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1005 temp.Deflate(50, 50); | 1003 temp.Deflate(50, 50); |
1006 if (!temp.Contains(r)) | 1004 if (!temp.Contains(r)) |
1007 return FALSE; | 1005 return FALSE; |
1008 | 1006 |
1009 pItem->bOutsideChanged = FALSE; | 1007 pItem->bOutsideChanged = FALSE; |
1010 } | 1008 } |
1011 #endif | 1009 #endif |
1012 | 1010 |
1013 return pItem->iRedrawCounter == 0; | 1011 return pItem->iRedrawCounter == 0; |
1014 } | 1012 } |
OLD | NEW |