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_formimp.h" | 7 #include "xfa/fwl/core/fwl_formimp.h" |
8 | 8 |
9 #include "xfa/fde/tto/fde_textout.h" | 9 #include "xfa/fde/tto/fde_textout.h" |
10 #include "xfa/fwl/basewidget/fwl_formproxyimp.h" | 10 #include "xfa/fwl/basewidget/fwl_formproxyimp.h" |
(...skipping 375 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
386 m_pNoteLoop = new CFWL_NoteLoop(this); | 386 m_pNoteLoop = new CFWL_NoteLoop(this); |
387 pDriver->PushNoteLoop(m_pNoteLoop); | 387 pDriver->PushNoteLoop(m_pNoteLoop); |
388 m_bDoModalFlag = TRUE; | 388 m_bDoModalFlag = TRUE; |
389 SetStates(FWL_WGTSTATE_Invisible, FALSE); | 389 SetStates(FWL_WGTSTATE_Invisible, FALSE); |
390 pDriver->Run(); | 390 pDriver->Run(); |
391 #if (_FX_OS_ == _FX_MACOSX_) | 391 #if (_FX_OS_ == _FX_MACOSX_) |
392 #else | 392 #else |
393 pDriver->PopNoteLoop(); | 393 pDriver->PopNoteLoop(); |
394 #endif | 394 #endif |
395 delete m_pNoteLoop; | 395 delete m_pNoteLoop; |
396 m_pNoteLoop = NULL; | 396 m_pNoteLoop = nullptr; |
397 return NULL; | 397 return nullptr; |
398 } | 398 } |
399 IFWL_Widget* CFWL_FormImp::DoModal(uint32_t& dwCommandID) { | 399 IFWL_Widget* CFWL_FormImp::DoModal(uint32_t& dwCommandID) { |
400 return DoModal(); | 400 return DoModal(); |
401 } | 401 } |
402 FWL_Error CFWL_FormImp::EndDoModal() { | 402 FWL_Error CFWL_FormImp::EndDoModal() { |
403 if (!m_pNoteLoop) | 403 if (!m_pNoteLoop) |
404 return FWL_Error::Indefinite; | 404 return FWL_Error::Indefinite; |
405 m_bDoModalFlag = FALSE; | 405 m_bDoModalFlag = FALSE; |
406 #if (_FX_OS_ == _FX_MACOSX_) | 406 #if (_FX_OS_ == _FX_MACOSX_) |
407 m_pNoteLoop->EndModalLoop(); | 407 m_pNoteLoop->EndModalLoop(); |
(...skipping 80 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
488 } | 488 } |
489 if (m_pMaxBox && m_pMaxBox->m_rtBtn.Contains(fx, fy)) { | 489 if (m_pMaxBox && m_pMaxBox->m_rtBtn.Contains(fx, fy)) { |
490 return m_pMaxBox; | 490 return m_pMaxBox; |
491 } | 491 } |
492 if (m_pMinBox && m_pMinBox->m_rtBtn.Contains(fx, fy)) { | 492 if (m_pMinBox && m_pMinBox->m_rtBtn.Contains(fx, fy)) { |
493 return m_pMinBox; | 493 return m_pMinBox; |
494 } | 494 } |
495 if (m_pCaptionBox && m_pCaptionBox->m_rtBtn.Contains(fx, fy)) { | 495 if (m_pCaptionBox && m_pCaptionBox->m_rtBtn.Contains(fx, fy)) { |
496 return m_pCaptionBox; | 496 return m_pCaptionBox; |
497 } | 497 } |
498 return NULL; | 498 return nullptr; |
499 } | 499 } |
500 CFWL_SysBtn* CFWL_FormImp::GetSysBtnByState(uint32_t dwState) { | 500 CFWL_SysBtn* CFWL_FormImp::GetSysBtnByState(uint32_t dwState) { |
501 if (m_pCloseBox && (m_pCloseBox->m_dwState & dwState)) { | 501 if (m_pCloseBox && (m_pCloseBox->m_dwState & dwState)) { |
502 return m_pCloseBox; | 502 return m_pCloseBox; |
503 } | 503 } |
504 if (m_pMaxBox && (m_pMaxBox->m_dwState & dwState)) { | 504 if (m_pMaxBox && (m_pMaxBox->m_dwState & dwState)) { |
505 return m_pMaxBox; | 505 return m_pMaxBox; |
506 } | 506 } |
507 if (m_pMinBox && (m_pMinBox->m_dwState & dwState)) { | 507 if (m_pMinBox && (m_pMinBox->m_dwState & dwState)) { |
508 return m_pMinBox; | 508 return m_pMinBox; |
509 } | 509 } |
510 if (m_pCaptionBox && (m_pCaptionBox->m_dwState & dwState)) { | 510 if (m_pCaptionBox && (m_pCaptionBox->m_dwState & dwState)) { |
511 return m_pCaptionBox; | 511 return m_pCaptionBox; |
512 } | 512 } |
513 return NULL; | 513 return nullptr; |
514 } | 514 } |
515 CFWL_SysBtn* CFWL_FormImp::GetSysBtnByIndex(int32_t nIndex) { | 515 CFWL_SysBtn* CFWL_FormImp::GetSysBtnByIndex(int32_t nIndex) { |
516 if (nIndex < 0) | 516 if (nIndex < 0) |
517 return nullptr; | 517 return nullptr; |
518 | 518 |
519 CFX_ArrayTemplate<CFWL_SysBtn*> arrBtn; | 519 CFX_ArrayTemplate<CFWL_SysBtn*> arrBtn; |
520 if (m_pMinBox) | 520 if (m_pMinBox) |
521 arrBtn.Add(m_pMinBox); | 521 arrBtn.Add(m_pMinBox); |
522 | 522 |
523 if (m_pMaxBox) | 523 if (m_pMaxBox) |
(...skipping 266 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
790 } | 790 } |
791 void CFWL_FormImp::DoWidthLimit(FX_FLOAT& fLeft, | 791 void CFWL_FormImp::DoWidthLimit(FX_FLOAT& fLeft, |
792 FX_FLOAT& fWidth, | 792 FX_FLOAT& fWidth, |
793 FX_FLOAT fCurX, | 793 FX_FLOAT fCurX, |
794 FX_FLOAT fSpace, | 794 FX_FLOAT fSpace, |
795 FX_FLOAT fLimitMin, | 795 FX_FLOAT fLimitMin, |
796 FX_FLOAT fLimitMax, | 796 FX_FLOAT fLimitMax, |
797 FX_BOOL bLeft) { | 797 FX_BOOL bLeft) { |
798 FX_FLOAT fx = fCurX; | 798 FX_FLOAT fx = fCurX; |
799 FX_FLOAT fy = 0; | 799 FX_FLOAT fy = 0; |
800 TransformTo(NULL, fx, fy); | 800 TransformTo(nullptr, fx, fy); |
801 FX_FLOAT fTemp = | 801 FX_FLOAT fTemp = |
802 bLeft ? (fWidth - fx + fLeft + fSpace) : (fx - fLeft + fSpace); | 802 bLeft ? (fWidth - fx + fLeft + fSpace) : (fx - fLeft + fSpace); |
803 if (fTemp >= fLimitMin && fTemp <= fLimitMax) { | 803 if (fTemp >= fLimitMin && fTemp <= fLimitMax) { |
804 fWidth = fTemp; | 804 fWidth = fTemp; |
805 fLeft += bLeft ? (fx - fLeft - fSpace) : 0; | 805 fLeft += bLeft ? (fx - fLeft - fSpace) : 0; |
806 } else { | 806 } else { |
807 if (fTemp < fLimitMin && fWidth > fLimitMin) { | 807 if (fTemp < fLimitMin && fWidth > fLimitMin) { |
808 fLeft += bLeft ? (fWidth - fLimitMin) : 0; | 808 fLeft += bLeft ? (fWidth - fLimitMin) : 0; |
809 fWidth = fLimitMin; | 809 fWidth = fLimitMin; |
810 } else if (fTemp > fLimitMax && fWidth < fLimitMax) { | 810 } else if (fTemp > fLimitMax && fWidth < fLimitMax) { |
811 fLeft -= bLeft ? (fLimitMax - fWidth) : 0; | 811 fLeft -= bLeft ? (fLimitMax - fWidth) : 0; |
812 fWidth = fLimitMax; | 812 fWidth = fLimitMax; |
813 } | 813 } |
814 } | 814 } |
815 } | 815 } |
816 void CFWL_FormImp::DoHeightLimit(FX_FLOAT& fTop, | 816 void CFWL_FormImp::DoHeightLimit(FX_FLOAT& fTop, |
817 FX_FLOAT& fHeight, | 817 FX_FLOAT& fHeight, |
818 FX_FLOAT fCurY, | 818 FX_FLOAT fCurY, |
819 FX_FLOAT fSpace, | 819 FX_FLOAT fSpace, |
820 FX_FLOAT fLimitMin, | 820 FX_FLOAT fLimitMin, |
821 FX_FLOAT fLimitMax, | 821 FX_FLOAT fLimitMax, |
822 FX_BOOL bTop) { | 822 FX_BOOL bTop) { |
823 FX_FLOAT fx = 0; | 823 FX_FLOAT fx = 0; |
824 FX_FLOAT fy = fCurY; | 824 FX_FLOAT fy = fCurY; |
825 TransformTo(NULL, fx, fy); | 825 TransformTo(nullptr, fx, fy); |
826 FX_FLOAT fTemp = bTop ? (fHeight - fy + fTop + fSpace) : (fy - fTop + fSpace); | 826 FX_FLOAT fTemp = bTop ? (fHeight - fy + fTop + fSpace) : (fy - fTop + fSpace); |
827 if (fTemp >= fLimitMin && fTemp <= fLimitMax) { | 827 if (fTemp >= fLimitMin && fTemp <= fLimitMax) { |
828 fHeight = fTemp; | 828 fHeight = fTemp; |
829 fTop += bTop ? (fy - fTop - fSpace) : 0; | 829 fTop += bTop ? (fy - fTop - fSpace) : 0; |
830 } else { | 830 } else { |
831 if (fTemp < fLimitMin && fHeight > fLimitMin) { | 831 if (fTemp < fLimitMin && fHeight > fLimitMin) { |
832 fTop += bTop ? (fHeight - fLimitMin) : 0; | 832 fTop += bTop ? (fHeight - fLimitMin) : 0; |
833 fHeight = fLimitMin; | 833 fHeight = fLimitMin; |
834 } else if (fTemp > fLimitMax && fHeight < fLimitMax) { | 834 } else if (fTemp > fLimitMax && fHeight < fLimitMax) { |
835 fTop -= bTop ? (fLimitMax - fHeight) : 0; | 835 fTop -= bTop ? (fLimitMax - fHeight) : 0; |
(...skipping 285 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1121 } | 1121 } |
1122 void CFWL_FormImpDelegate::OnWindowMove(CFWL_MsgWindowMove* pMsg) { | 1122 void CFWL_FormImpDelegate::OnWindowMove(CFWL_MsgWindowMove* pMsg) { |
1123 m_pOwner->m_pProperties->m_rtWidget.left = pMsg->m_fx; | 1123 m_pOwner->m_pProperties->m_rtWidget.left = pMsg->m_fx; |
1124 m_pOwner->m_pProperties->m_rtWidget.top = pMsg->m_fy; | 1124 m_pOwner->m_pProperties->m_rtWidget.top = pMsg->m_fy; |
1125 } | 1125 } |
1126 void CFWL_FormImpDelegate::OnClose(CFWL_MsgClose* pMsg) { | 1126 void CFWL_FormImpDelegate::OnClose(CFWL_MsgClose* pMsg) { |
1127 CFWL_EvtClose eClose; | 1127 CFWL_EvtClose eClose; |
1128 eClose.m_pSrcTarget = m_pOwner->m_pInterface; | 1128 eClose.m_pSrcTarget = m_pOwner->m_pInterface; |
1129 m_pOwner->DispatchEvent(&eClose); | 1129 m_pOwner->DispatchEvent(&eClose); |
1130 } | 1130 } |
OLD | NEW |