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 "fpdfsdk/pdfwindow/PWL_Caret.h" | 7 #include "fpdfsdk/pdfwindow/PWL_Caret.h" |
8 | 8 |
9 #include "core/fxge/cfx_graphstatedata.h" | 9 #include "core/fxge/cfx_graphstatedata.h" |
10 #include "core/fxge/cfx_pathdata.h" | 10 #include "core/fxge/cfx_pathdata.h" |
11 #include "core/fxge/cfx_renderdevice.h" | 11 #include "core/fxge/cfx_renderdevice.h" |
12 #include "fpdfsdk/pdfwindow/PWL_Utils.h" | 12 #include "fpdfsdk/pdfwindow/PWL_Utils.h" |
13 #include "fpdfsdk/pdfwindow/PWL_Wnd.h" | 13 #include "fpdfsdk/pdfwindow/PWL_Wnd.h" |
14 | 14 |
15 #define PWL_CARET_FLASHINTERVAL 500 | 15 #define PWL_CARET_FLASHINTERVAL 500 |
16 | 16 |
17 CPWL_Caret::CPWL_Caret() : m_bFlash(FALSE), m_fWidth(0.4f), m_nDelay(0) {} | 17 CPWL_Caret::CPWL_Caret() : m_bFlash(false), m_fWidth(0.4f), m_nDelay(0) {} |
18 | 18 |
19 CPWL_Caret::~CPWL_Caret() {} | 19 CPWL_Caret::~CPWL_Caret() {} |
20 | 20 |
21 CFX_ByteString CPWL_Caret::GetClassName() const { | 21 CFX_ByteString CPWL_Caret::GetClassName() const { |
22 return "CPWL_Caret"; | 22 return "CPWL_Caret"; |
23 } | 23 } |
24 | 24 |
25 void CPWL_Caret::GetThisAppearanceStream(CFX_ByteTextBuf& sAppStream) { | 25 void CPWL_Caret::GetThisAppearanceStream(CFX_ByteTextBuf& sAppStream) { |
26 GetCaretApp(sAppStream, CFX_FloatPoint(0.0f, 0.0f)); | 26 GetCaretApp(sAppStream, CFX_FloatPoint(0.0f, 0.0f)); |
27 } | 27 } |
(...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
98 m_bFlash = !m_bFlash; | 98 m_bFlash = !m_bFlash; |
99 InvalidateRect(); | 99 InvalidateRect(); |
100 } | 100 } |
101 } | 101 } |
102 | 102 |
103 CFX_FloatRect CPWL_Caret::GetCaretRect() const { | 103 CFX_FloatRect CPWL_Caret::GetCaretRect() const { |
104 return CFX_FloatRect(m_ptFoot.x, m_ptFoot.y, m_ptHead.x + m_fWidth, | 104 return CFX_FloatRect(m_ptFoot.x, m_ptFoot.y, m_ptHead.x + m_fWidth, |
105 m_ptHead.y); | 105 m_ptHead.y); |
106 } | 106 } |
107 | 107 |
108 void CPWL_Caret::SetCaret(FX_BOOL bVisible, | 108 void CPWL_Caret::SetCaret(bool bVisible, |
109 const CFX_FloatPoint& ptHead, | 109 const CFX_FloatPoint& ptHead, |
110 const CFX_FloatPoint& ptFoot) { | 110 const CFX_FloatPoint& ptFoot) { |
111 if (bVisible) { | 111 if (bVisible) { |
112 if (IsVisible()) { | 112 if (IsVisible()) { |
113 if (m_ptHead != ptHead || m_ptFoot != ptFoot) { | 113 if (m_ptHead != ptHead || m_ptFoot != ptFoot) { |
114 m_ptHead = ptHead; | 114 m_ptHead = ptHead; |
115 m_ptFoot = ptFoot; | 115 m_ptFoot = ptFoot; |
116 m_bFlash = TRUE; | 116 m_bFlash = true; |
117 Move(m_rcInvalid, FALSE, TRUE); | 117 Move(m_rcInvalid, false, true); |
118 } | 118 } |
119 } else { | 119 } else { |
120 m_ptHead = ptHead; | 120 m_ptHead = ptHead; |
121 m_ptFoot = ptFoot; | 121 m_ptFoot = ptFoot; |
122 EndTimer(); | 122 EndTimer(); |
123 BeginTimer(PWL_CARET_FLASHINTERVAL); | 123 BeginTimer(PWL_CARET_FLASHINTERVAL); |
124 CPWL_Wnd::SetVisible(TRUE); | 124 CPWL_Wnd::SetVisible(true); |
125 m_bFlash = TRUE; | 125 m_bFlash = true; |
126 Move(m_rcInvalid, FALSE, TRUE); | 126 Move(m_rcInvalid, false, true); |
127 } | 127 } |
128 } else { | 128 } else { |
129 m_ptHead = CFX_FloatPoint(); | 129 m_ptHead = CFX_FloatPoint(); |
130 m_ptFoot = CFX_FloatPoint(); | 130 m_ptFoot = CFX_FloatPoint(); |
131 m_bFlash = FALSE; | 131 m_bFlash = false; |
132 if (IsVisible()) { | 132 if (IsVisible()) { |
133 EndTimer(); | 133 EndTimer(); |
134 CPWL_Wnd::SetVisible(FALSE); | 134 CPWL_Wnd::SetVisible(false); |
135 } | 135 } |
136 } | 136 } |
137 } | 137 } |
138 | 138 |
139 void CPWL_Caret::InvalidateRect(CFX_FloatRect* pRect) { | 139 void CPWL_Caret::InvalidateRect(CFX_FloatRect* pRect) { |
140 if (pRect) { | 140 if (pRect) { |
141 CFX_FloatRect rcRefresh = CPWL_Utils::InflateRect(*pRect, 0.5f); | 141 CFX_FloatRect rcRefresh = CPWL_Utils::InflateRect(*pRect, 0.5f); |
142 rcRefresh.top += 1; | 142 rcRefresh.top += 1; |
143 rcRefresh.bottom -= 1; | 143 rcRefresh.bottom -= 1; |
144 CPWL_Wnd::InvalidateRect(&rcRefresh); | 144 CPWL_Wnd::InvalidateRect(&rcRefresh); |
145 } else { | 145 } else { |
146 CPWL_Wnd::InvalidateRect(pRect); | 146 CPWL_Wnd::InvalidateRect(pRect); |
147 } | 147 } |
148 } | 148 } |
OLD | NEW |