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/ifwl_edit.h" | 7 #include "xfa/fwl/core/ifwl_edit.h" |
8 | 8 |
9 #include <algorithm> | 9 #include <algorithm> |
10 #include <memory> | 10 #include <memory> |
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
46 pPathData->MoveTo(fStartX, fY); | 46 pPathData->MoveTo(fStartX, fY); |
47 int i = 1; | 47 int i = 1; |
48 for (FX_FLOAT fx = fStartX + fStep; fx < fEndX; fx += fStep, ++i) { | 48 for (FX_FLOAT fx = fStartX + fStep; fx < fEndX; fx += fStep, ++i) { |
49 pPathData->LineTo(fx, fY + (i & 1) * fStep); | 49 pPathData->LineTo(fx, fY + (i & 1) * fStep); |
50 } | 50 } |
51 } | 51 } |
52 | 52 |
53 } // namespace | 53 } // namespace |
54 | 54 |
55 IFWL_Edit::IFWL_Edit(const IFWL_App* app, | 55 IFWL_Edit::IFWL_Edit(const IFWL_App* app, |
56 const CFWL_WidgetImpProperties& properties, | 56 std::unique_ptr<CFWL_WidgetProperties> properties, |
57 IFWL_Widget* pOuter) | 57 IFWL_Widget* pOuter) |
58 : IFWL_Widget(app, properties, pOuter), | 58 : IFWL_Widget(app, std::move(properties), pOuter), |
59 m_fVAlignOffset(0.0f), | 59 m_fVAlignOffset(0.0f), |
60 m_fScrollOffsetX(0.0f), | 60 m_fScrollOffsetX(0.0f), |
61 m_fScrollOffsetY(0.0f), | 61 m_fScrollOffsetY(0.0f), |
62 m_bLButtonDown(false), | 62 m_bLButtonDown(false), |
63 m_nSelStart(0), | 63 m_nSelStart(0), |
64 m_nLimit(-1), | 64 m_nLimit(-1), |
65 m_fSpaceAbove(0), | 65 m_fSpaceAbove(0), |
66 m_fSpaceBelow(0), | 66 m_fSpaceBelow(0), |
67 m_fFontSize(0), | 67 m_fFontSize(0), |
68 m_bSetRange(false), | 68 m_bSetRange(false), |
(...skipping 1373 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1442 | 1442 |
1443 void IFWL_Edit::DeviceToEngine(CFX_PointF& pt) { | 1443 void IFWL_Edit::DeviceToEngine(CFX_PointF& pt) { |
1444 pt.x += m_fScrollOffsetX - m_rtEngine.left; | 1444 pt.x += m_fScrollOffsetX - m_rtEngine.left; |
1445 pt.y += m_fScrollOffsetY - m_rtEngine.top - m_fVAlignOffset; | 1445 pt.y += m_fScrollOffsetY - m_rtEngine.top - m_fVAlignOffset; |
1446 } | 1446 } |
1447 | 1447 |
1448 void IFWL_Edit::InitScrollBar(bool bVert) { | 1448 void IFWL_Edit::InitScrollBar(bool bVert) { |
1449 if ((bVert && m_pVertScrollBar) || (!bVert && m_pHorzScrollBar)) { | 1449 if ((bVert && m_pVertScrollBar) || (!bVert && m_pHorzScrollBar)) { |
1450 return; | 1450 return; |
1451 } | 1451 } |
1452 CFWL_WidgetImpProperties prop; | |
1453 prop.m_dwStyleExes = bVert ? FWL_STYLEEXT_SCB_Vert : FWL_STYLEEXT_SCB_Horz; | |
1454 prop.m_dwStates = FWL_WGTSTATE_Disabled | FWL_WGTSTATE_Invisible; | |
1455 prop.m_pParent = this; | |
1456 prop.m_pThemeProvider = m_pProperties->m_pThemeProvider; | |
1457 | 1452 |
1458 IFWL_ScrollBar* sb = new IFWL_ScrollBar(m_pOwnerApp, prop, this); | 1453 auto prop = pdfium::MakeUnique<CFWL_WidgetProperties>(); |
| 1454 prop->m_dwStyleExes = bVert ? FWL_STYLEEXT_SCB_Vert : FWL_STYLEEXT_SCB_Horz; |
| 1455 prop->m_dwStates = FWL_WGTSTATE_Disabled | FWL_WGTSTATE_Invisible; |
| 1456 prop->m_pParent = this; |
| 1457 prop->m_pThemeProvider = m_pProperties->m_pThemeProvider; |
| 1458 |
| 1459 IFWL_ScrollBar* sb = new IFWL_ScrollBar(m_pOwnerApp, std::move(prop), this); |
1459 if (bVert) | 1460 if (bVert) |
1460 m_pVertScrollBar.reset(sb); | 1461 m_pVertScrollBar.reset(sb); |
1461 else | 1462 else |
1462 m_pHorzScrollBar.reset(sb); | 1463 m_pHorzScrollBar.reset(sb); |
1463 } | 1464 } |
1464 | 1465 |
1465 void IFWL_Edit::InitEngine() { | 1466 void IFWL_Edit::InitEngine() { |
1466 if (!m_pEdtEngine) | 1467 if (!m_pEdtEngine) |
1467 m_pEdtEngine.reset(new CFDE_TxtEdtEngine); | 1468 m_pEdtEngine.reset(new CFDE_TxtEdtEngine); |
1468 } | 1469 } |
(...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1547 } else { | 1548 } else { |
1548 if (wsText.GetInteger() <= m_iMax) { | 1549 if (wsText.GetInteger() <= m_iMax) { |
1549 return true; | 1550 return true; |
1550 } | 1551 } |
1551 } | 1552 } |
1552 return false; | 1553 return false; |
1553 } | 1554 } |
1554 void IFWL_Edit::InitCaret() { | 1555 void IFWL_Edit::InitCaret() { |
1555 if (!m_pCaret) { | 1556 if (!m_pCaret) { |
1556 if ((m_pProperties->m_dwStyleExes & FWL_STYLEEXT_EDT_InnerCaret)) { | 1557 if ((m_pProperties->m_dwStyleExes & FWL_STYLEEXT_EDT_InnerCaret)) { |
1557 CFWL_WidgetImpProperties prop; | 1558 m_pCaret.reset(new IFWL_Caret( |
1558 m_pCaret.reset(new IFWL_Caret(m_pOwnerApp, prop, this)); | 1559 m_pOwnerApp, pdfium::MakeUnique<CFWL_WidgetProperties>(), this)); |
1559 m_pCaret->SetParent(this); | 1560 m_pCaret->SetParent(this); |
1560 m_pCaret->SetStates(m_pProperties->m_dwStates); | 1561 m_pCaret->SetStates(m_pProperties->m_dwStates); |
1561 } | 1562 } |
1562 } else if ((m_pProperties->m_dwStyleExes & FWL_STYLEEXT_EDT_InnerCaret) == | 1563 } else if ((m_pProperties->m_dwStyleExes & FWL_STYLEEXT_EDT_InnerCaret) == |
1563 0) { | 1564 0) { |
1564 m_pCaret.reset(); | 1565 m_pCaret.reset(); |
1565 } | 1566 } |
1566 } | 1567 } |
1567 | 1568 |
1568 void IFWL_Edit::ClearRecord() { | 1569 void IFWL_Edit::ClearRecord() { |
(...skipping 425 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1994 UpdateCaret(); | 1995 UpdateCaret(); |
1995 } | 1996 } |
1996 CFX_RectF rect; | 1997 CFX_RectF rect; |
1997 GetWidgetRect(rect); | 1998 GetWidgetRect(rect); |
1998 CFX_RectF rtInvalidate; | 1999 CFX_RectF rtInvalidate; |
1999 rtInvalidate.Set(0, 0, rect.width + 2, rect.height + 2); | 2000 rtInvalidate.Set(0, 0, rect.width + 2, rect.height + 2); |
2000 Repaint(&rtInvalidate); | 2001 Repaint(&rtInvalidate); |
2001 } | 2002 } |
2002 return true; | 2003 return true; |
2003 } | 2004 } |
OLD | NEW |