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/basewidget/fwl_editimp.h" | 7 #include "xfa/fwl/basewidget/fwl_editimp.h" |
8 | 8 |
9 #include <algorithm> | 9 #include <algorithm> |
10 #include <memory> | 10 #include <memory> |
(...skipping 185 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
196 return static_cast<CFWL_EditImp*>(GetImpl()) | 196 return static_cast<CFWL_EditImp*>(GetImpl()) |
197 ->ReplaceSpellCheckWord(pointf, bsReplace); | 197 ->ReplaceSpellCheckWord(pointf, bsReplace); |
198 } | 198 } |
199 | 199 |
200 CFWL_EditImp::CFWL_EditImp(const CFWL_WidgetImpProperties& properties, | 200 CFWL_EditImp::CFWL_EditImp(const CFWL_WidgetImpProperties& properties, |
201 IFWL_Widget* pOuter) | 201 IFWL_Widget* pOuter) |
202 : CFWL_WidgetImp(properties, pOuter), | 202 : CFWL_WidgetImp(properties, pOuter), |
203 m_fVAlignOffset(0.0f), | 203 m_fVAlignOffset(0.0f), |
204 m_fScrollOffsetX(0.0f), | 204 m_fScrollOffsetX(0.0f), |
205 m_fScrollOffsetY(0.0f), | 205 m_fScrollOffsetY(0.0f), |
206 m_pEdtEngine(NULL), | 206 m_pEdtEngine(nullptr), |
207 m_bLButtonDown(FALSE), | 207 m_bLButtonDown(FALSE), |
208 m_nSelStart(0), | 208 m_nSelStart(0), |
209 m_nLimit(-1), | 209 m_nLimit(-1), |
210 m_fSpaceAbove(0), | 210 m_fSpaceAbove(0), |
211 m_fSpaceBelow(0), | 211 m_fSpaceBelow(0), |
212 m_fFontSize(0), | 212 m_fFontSize(0), |
213 m_bSetRange(FALSE), | 213 m_bSetRange(FALSE), |
214 m_iMin(-1), | 214 m_iMin(-1), |
215 m_iMax(0xFFFFFFF), | 215 m_iMax(0xFFFFFFF), |
216 m_backColor(0), | 216 m_backColor(0), |
(...skipping 265 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
482 CFX_RectF rtClip = m_rtEngine; | 482 CFX_RectF rtClip = m_rtEngine; |
483 CFX_Matrix mt; | 483 CFX_Matrix mt; |
484 mt.Set(1, 0, 0, 1, fOffSetX, fOffSetY); | 484 mt.Set(1, 0, 0, 1, fOffSetX, fOffSetY); |
485 if (pMatrix) { | 485 if (pMatrix) { |
486 pMatrix->TransformRect(rtClip); | 486 pMatrix->TransformRect(rtClip); |
487 mt.Concat(*pMatrix); | 487 mt.Concat(*pMatrix); |
488 } | 488 } |
489 pGraphics->SetClipRect(rtClip); | 489 pGraphics->SetClipRect(rtClip); |
490 pGraphics->SetStrokeColor(&crLine); | 490 pGraphics->SetStrokeColor(&crLine); |
491 pGraphics->SetLineWidth(0); | 491 pGraphics->SetLineWidth(0); |
492 pGraphics->StrokePath(&pathSpell, NULL); | 492 pGraphics->StrokePath(&pathSpell, nullptr); |
493 } | 493 } |
494 pGraphics->RestoreGraphState(); | 494 pGraphics->RestoreGraphState(); |
495 } | 495 } |
496 FWL_Error CFWL_EditImp::DrawWidget(CFX_Graphics* pGraphics, | 496 FWL_Error CFWL_EditImp::DrawWidget(CFX_Graphics* pGraphics, |
497 const CFX_Matrix* pMatrix) { | 497 const CFX_Matrix* pMatrix) { |
498 if (!pGraphics) | 498 if (!pGraphics) |
499 return FWL_Error::Indefinite; | 499 return FWL_Error::Indefinite; |
500 if (!m_pProperties->m_pThemeProvider) | 500 if (!m_pProperties->m_pThemeProvider) |
501 return FWL_Error::Indefinite; | 501 return FWL_Error::Indefinite; |
502 if (m_rtClient.IsEmpty()) { | 502 if (m_rtClient.IsEmpty()) { |
(...skipping 854 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1357 ShowCaret(bShow, &rtCaret); | 1357 ShowCaret(bShow, &rtCaret); |
1358 } | 1358 } |
1359 IFWL_ScrollBar* CFWL_EditImp::UpdateScroll() { | 1359 IFWL_ScrollBar* CFWL_EditImp::UpdateScroll() { |
1360 FX_BOOL bShowHorz = | 1360 FX_BOOL bShowHorz = |
1361 m_pHorzScrollBar && | 1361 m_pHorzScrollBar && |
1362 ((m_pHorzScrollBar->GetStates() & FWL_WGTSTATE_Invisible) == 0); | 1362 ((m_pHorzScrollBar->GetStates() & FWL_WGTSTATE_Invisible) == 0); |
1363 FX_BOOL bShowVert = | 1363 FX_BOOL bShowVert = |
1364 m_pVertScrollBar && | 1364 m_pVertScrollBar && |
1365 ((m_pVertScrollBar->GetStates() & FWL_WGTSTATE_Invisible) == 0); | 1365 ((m_pVertScrollBar->GetStates() & FWL_WGTSTATE_Invisible) == 0); |
1366 if (!bShowHorz && !bShowVert) { | 1366 if (!bShowHorz && !bShowVert) { |
1367 return NULL; | 1367 return nullptr; |
1368 } | 1368 } |
1369 IFDE_TxtEdtPage* pPage = m_pEdtEngine->GetPage(0); | 1369 IFDE_TxtEdtPage* pPage = m_pEdtEngine->GetPage(0); |
1370 if (!pPage) | 1370 if (!pPage) |
1371 return NULL; | 1371 return nullptr; |
1372 const CFX_RectF& rtFDE = pPage->GetContentsBox(); | 1372 const CFX_RectF& rtFDE = pPage->GetContentsBox(); |
1373 IFWL_ScrollBar* pRepaint = NULL; | 1373 IFWL_ScrollBar* pRepaint = nullptr; |
1374 if (bShowHorz) { | 1374 if (bShowHorz) { |
1375 CFX_RectF rtScroll; | 1375 CFX_RectF rtScroll; |
1376 m_pHorzScrollBar->GetWidgetRect(rtScroll); | 1376 m_pHorzScrollBar->GetWidgetRect(rtScroll); |
1377 if (rtScroll.width < rtFDE.width) { | 1377 if (rtScroll.width < rtFDE.width) { |
1378 m_pHorzScrollBar->LockUpdate(); | 1378 m_pHorzScrollBar->LockUpdate(); |
1379 FX_FLOAT fRange = rtFDE.width - rtScroll.width; | 1379 FX_FLOAT fRange = rtFDE.width - rtScroll.width; |
1380 m_pHorzScrollBar->SetRange(0.0f, fRange); | 1380 m_pHorzScrollBar->SetRange(0.0f, fRange); |
1381 FX_FLOAT fPos = m_fScrollOffsetX; | 1381 FX_FLOAT fPos = m_fScrollOffsetX; |
1382 if (fPos < 0.0f) { | 1382 if (fPos < 0.0f) { |
1383 fPos = 0.0f; | 1383 fPos = 0.0f; |
(...skipping 160 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1544 m_pHorzScrollBar->Update(); | 1544 m_pHorzScrollBar->Update(); |
1545 } else if (m_pHorzScrollBar) { | 1545 } else if (m_pHorzScrollBar) { |
1546 m_pHorzScrollBar->SetStates(FWL_WGTSTATE_Invisible, TRUE); | 1546 m_pHorzScrollBar->SetStates(FWL_WGTSTATE_Invisible, TRUE); |
1547 } | 1547 } |
1548 } | 1548 } |
1549 void CFWL_EditImp::LayoutScrollBar() { | 1549 void CFWL_EditImp::LayoutScrollBar() { |
1550 if ((m_pProperties->m_dwStyleExes & FWL_STYLEEXT_EDT_ShowScrollbarFocus) == | 1550 if ((m_pProperties->m_dwStyleExes & FWL_STYLEEXT_EDT_ShowScrollbarFocus) == |
1551 0) { | 1551 0) { |
1552 return; | 1552 return; |
1553 } | 1553 } |
1554 FX_FLOAT* pfWidth = NULL; | 1554 FX_FLOAT* pfWidth = nullptr; |
1555 FX_BOOL bShowVertScrollbar = IsShowScrollBar(TRUE); | 1555 FX_BOOL bShowVertScrollbar = IsShowScrollBar(TRUE); |
1556 FX_BOOL bShowHorzScrollbar = IsShowScrollBar(FALSE); | 1556 FX_BOOL bShowHorzScrollbar = IsShowScrollBar(FALSE); |
1557 if (bShowVertScrollbar) { | 1557 if (bShowVertScrollbar) { |
1558 if (!m_pVertScrollBar) { | 1558 if (!m_pVertScrollBar) { |
1559 pfWidth = static_cast<FX_FLOAT*>( | 1559 pfWidth = static_cast<FX_FLOAT*>( |
1560 GetThemeCapacity(CFWL_WidgetCapacity::ScrollBarWidth)); | 1560 GetThemeCapacity(CFWL_WidgetCapacity::ScrollBarWidth)); |
1561 FX_FLOAT fWidth = pfWidth ? *pfWidth : 0; | 1561 FX_FLOAT fWidth = pfWidth ? *pfWidth : 0; |
1562 InitScrollBar(); | 1562 InitScrollBar(); |
1563 CFX_RectF rtVertScr; | 1563 CFX_RectF rtVertScr; |
1564 if (m_pProperties->m_dwStyleExes & FWL_STYLEEXT_EDT_OuterScrollbar) { | 1564 if (m_pProperties->m_dwStyleExes & FWL_STYLEEXT_EDT_OuterScrollbar) { |
(...skipping 621 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2186 } | 2186 } |
2187 CFX_RectF rect; | 2187 CFX_RectF rect; |
2188 m_pOwner->GetWidgetRect(rect); | 2188 m_pOwner->GetWidgetRect(rect); |
2189 CFX_RectF rtInvalidate; | 2189 CFX_RectF rtInvalidate; |
2190 rtInvalidate.Set(0, 0, rect.width + 2, rect.height + 2); | 2190 rtInvalidate.Set(0, 0, rect.width + 2, rect.height + 2); |
2191 m_pOwner->Repaint(&rtInvalidate); | 2191 m_pOwner->Repaint(&rtInvalidate); |
2192 } | 2192 } |
2193 return TRUE; | 2193 return TRUE; |
2194 } | 2194 } |
2195 void CFWL_EditImpDelegate::DoCursor(CFWL_MsgMouse* pMsg) {} | 2195 void CFWL_EditImpDelegate::DoCursor(CFWL_MsgMouse* pMsg) {} |
OLD | NEW |