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 #ifndef FPDFSDK_INCLUDE_PDFWINDOW_PWL_CARET_H_ | 7 #ifndef FPDFSDK_INCLUDE_PDFWINDOW_PWL_CARET_H_ |
8 #define FPDFSDK_INCLUDE_PDFWINDOW_PWL_CARET_H_ | 8 #define FPDFSDK_INCLUDE_PDFWINDOW_PWL_CARET_H_ |
9 | 9 |
10 #include "PWL_Wnd.h" | 10 #include "PWL_Wnd.h" |
11 | 11 |
12 struct PWL_CARET_INFO { | 12 struct PWL_CARET_INFO { |
13 public: | 13 public: |
14 PWL_CARET_INFO() : bVisible(FALSE), ptHead(0, 0), ptFoot(0, 0) {} | 14 PWL_CARET_INFO() : bVisible(FALSE), ptHead(0, 0), ptFoot(0, 0) {} |
15 | 15 |
16 FX_BOOL bVisible; | 16 FX_BOOL bVisible; |
17 CPDF_Point ptHead; | 17 CPDF_Point ptHead; |
18 CPDF_Point ptFoot; | 18 CPDF_Point ptFoot; |
19 }; | 19 }; |
20 | 20 |
21 class CPWL_Caret : public CPWL_Wnd { | 21 class CPWL_Caret : public CPWL_Wnd { |
22 public: | 22 public: |
23 CPWL_Caret(); | 23 CPWL_Caret(); |
24 ~CPWL_Caret() override; | 24 ~CPWL_Caret() override; |
25 | 25 |
26 // CPWL_Wnd | 26 // CPWL_Wnd |
27 CFX_ByteString GetClassName() const override; | 27 CFX_ByteString GetClassName() const override; |
28 void GetThisAppearanceStream(CFX_ByteTextBuf& sAppStream) override; | 28 void GetThisAppearanceStream(CFX_ByteTextBuf& sAppStream) override; |
29 void DrawThisAppearance(CFX_RenderDevice* pDevice, | 29 void DrawThisAppearance(CFX_RenderDevice* pDevice, |
30 CPDF_Matrix* pUser2Device) override; | 30 CFX_Matrix* pUser2Device) override; |
31 void InvalidateRect(CPDF_Rect* pRect = NULL) override; | 31 void InvalidateRect(CPDF_Rect* pRect = NULL) override; |
32 void SetVisible(FX_BOOL bVisible) override {} | 32 void SetVisible(FX_BOOL bVisible) override {} |
33 void TimerProc() override; | 33 void TimerProc() override; |
34 | 34 |
35 void SetCaret(FX_BOOL bVisible, | 35 void SetCaret(FX_BOOL bVisible, |
36 const CPDF_Point& ptHead, | 36 const CPDF_Point& ptHead, |
37 const CPDF_Point& ptFoot); | 37 const CPDF_Point& ptFoot); |
38 CFX_ByteString GetCaretAppearanceStream(const CPDF_Point& ptOffset); | 38 CFX_ByteString GetCaretAppearanceStream(const CPDF_Point& ptOffset); |
39 void SetInvalidRect(CPDF_Rect rc) { m_rcInvalid = rc; } | 39 void SetInvalidRect(CPDF_Rect rc) { m_rcInvalid = rc; } |
40 | 40 |
41 private: | 41 private: |
42 void GetCaretApp(CFX_ByteTextBuf& sAppStream, const CPDF_Point& ptOffset); | 42 void GetCaretApp(CFX_ByteTextBuf& sAppStream, const CPDF_Point& ptOffset); |
43 CPDF_Rect GetCaretRect() const; | 43 CPDF_Rect GetCaretRect() const; |
44 | 44 |
45 FX_BOOL m_bFlash; | 45 FX_BOOL m_bFlash; |
46 CPDF_Point m_ptHead; | 46 CPDF_Point m_ptHead; |
47 CPDF_Point m_ptFoot; | 47 CPDF_Point m_ptFoot; |
48 FX_FLOAT m_fWidth; | 48 FX_FLOAT m_fWidth; |
49 int32_t m_nDelay; | 49 int32_t m_nDelay; |
50 CPDF_Rect m_rcInvalid; | 50 CPDF_Rect m_rcInvalid; |
51 }; | 51 }; |
52 | 52 |
53 #endif // FPDFSDK_INCLUDE_PDFWINDOW_PWL_CARET_H_ | 53 #endif // FPDFSDK_INCLUDE_PDFWINDOW_PWL_CARET_H_ |
OLD | NEW |