Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1320)

Side by Side Diff: fpdfsdk/src/pdfwindow/PWL_Label.cpp

Issue 1799773002: Move fpdfsdk/src up to fpdfsdk/. (Closed) Base URL: https://pdfium.googlesource.com/pdfium.git@master
Patch Set: Rebase to master Created 4 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « fpdfsdk/src/pdfwindow/PWL_IconList.cpp ('k') | fpdfsdk/src/pdfwindow/PWL_ListBox.cpp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
1 // Copyright 2014 PDFium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
6
7 #include "fpdfsdk/include/pdfwindow/PWL_Label.h"
8 #include "fpdfsdk/include/pdfwindow/PWL_Utils.h"
9 #include "fpdfsdk/include/pdfwindow/PWL_Wnd.h"
10
11 CPWL_Label::CPWL_Label() : m_pEdit(NULL) {
12 m_pEdit = IFX_Edit::NewEdit();
13 ASSERT(m_pEdit);
14 }
15
16 CPWL_Label::~CPWL_Label() {
17 IFX_Edit::DelEdit(m_pEdit);
18 }
19
20 CFX_ByteString CPWL_Label::GetClassName() const {
21 return "CPWL_Label";
22 }
23
24 void CPWL_Label::OnCreated() {
25 SetParamByFlag();
26 SetFontSize(GetCreationParam().fFontSize);
27
28 m_pEdit->SetFontMap(GetFontMap());
29 m_pEdit->Initialize();
30
31 if (HasFlag(PES_TEXTOVERFLOW)) {
32 SetClipRect(CFX_FloatRect(0.0f, 0.0f, 0.0f, 0.0f));
33 m_pEdit->SetTextOverflow(TRUE);
34 }
35 }
36
37 void CPWL_Label::SetText(const FX_WCHAR* csText) {
38 m_pEdit->SetText(csText);
39 }
40
41 void CPWL_Label::RePosChildWnd() {
42 m_pEdit->SetPlateRect(GetClientRect());
43 }
44
45 void CPWL_Label::SetFontSize(FX_FLOAT fFontSize) {
46 m_pEdit->SetFontSize(fFontSize);
47 }
48
49 FX_FLOAT CPWL_Label::GetFontSize() const {
50 return m_pEdit->GetFontSize();
51 }
52
53 void CPWL_Label::SetParamByFlag() {
54 if (HasFlag(PES_LEFT)) {
55 m_pEdit->SetAlignmentH(0);
56 } else if (HasFlag(PES_MIDDLE)) {
57 m_pEdit->SetAlignmentH(1);
58 } else if (HasFlag(PES_RIGHT)) {
59 m_pEdit->SetAlignmentH(2);
60 } else {
61 m_pEdit->SetAlignmentH(0);
62 }
63
64 if (HasFlag(PES_TOP)) {
65 m_pEdit->SetAlignmentV(0);
66 } else if (HasFlag(PES_CENTER)) {
67 m_pEdit->SetAlignmentV(1);
68 } else if (HasFlag(PES_BOTTOM)) {
69 m_pEdit->SetAlignmentV(2);
70 } else {
71 m_pEdit->SetAlignmentV(0);
72 }
73
74 if (HasFlag(PES_PASSWORD)) {
75 m_pEdit->SetPasswordChar('*');
76 }
77
78 m_pEdit->SetMultiLine(HasFlag(PES_MULTILINE));
79 m_pEdit->SetAutoReturn(HasFlag(PES_AUTORETURN));
80 m_pEdit->SetAutoFontSize(HasFlag(PWS_AUTOFONTSIZE));
81 m_pEdit->SetAutoScroll(HasFlag(PES_AUTOSCROLL));
82 }
83
84 void CPWL_Label::DrawThisAppearance(CFX_RenderDevice* pDevice,
85 CFX_Matrix* pUser2Device) {
86 CPWL_Wnd::DrawThisAppearance(pDevice, pUser2Device);
87
88 GetClientRect();
89
90 CFX_FloatRect rcClip;
91 CPVT_WordRange wrRange = m_pEdit->GetVisibleWordRange();
92 CPVT_WordRange* pRange = NULL;
93
94 if (!HasFlag(PES_TEXTOVERFLOW)) {
95 rcClip = GetClientRect();
96 pRange = &wrRange;
97 }
98 IFX_SystemHandler* pSysHandler = GetSystemHandler();
99 IFX_Edit::DrawEdit(
100 pDevice, pUser2Device, m_pEdit,
101 CPWL_Utils::PWLColorToFXColor(GetTextColor(), GetTransparency()),
102 CPWL_Utils::PWLColorToFXColor(GetTextStrokeColor(), GetTransparency()),
103 rcClip, CFX_FloatPoint(0.0f, 0.0f), pRange, pSysHandler, NULL);
104 }
105
106 void CPWL_Label::SetHorzScale(int32_t nHorzScale) {
107 m_pEdit->SetHorzScale(nHorzScale);
108 }
109
110 void CPWL_Label::SetCharSpace(FX_FLOAT fCharSpace) {
111 m_pEdit->SetCharSpace(fCharSpace);
112 }
113
114 CFX_FloatRect CPWL_Label::GetContentRect() const {
115 return m_pEdit->GetContentRect();
116 }
117
118 void CPWL_Label::GetThisAppearanceStream(CFX_ByteTextBuf& sAppStream) {
119 CPWL_Wnd::GetThisAppearanceStream(sAppStream);
120
121 sAppStream << GetTextAppearanceStream(CFX_FloatPoint(0.0f, 0.0f));
122 }
123
124 CFX_ByteString CPWL_Label::GetTextAppearanceStream(
125 const CFX_FloatPoint& ptOffset) const {
126 CFX_ByteTextBuf sRet;
127 CFX_ByteString sEdit = CPWL_Utils::GetEditAppStream(m_pEdit, ptOffset);
128
129 if (sEdit.GetLength() > 0) {
130 sRet << "BT\n" << CPWL_Utils::GetColorAppStream(GetTextColor()) << sEdit
131 << "ET\n";
132 }
133
134 return sRet.GetByteString();
135 }
136
137 CFX_WideString CPWL_Label::GetText() const {
138 return m_pEdit->GetText();
139 }
140
141 void CPWL_Label::SetLimitChar(int32_t nLimitChar) {
142 m_pEdit->SetLimitChar(nLimitChar);
143 }
144
145 int32_t CPWL_Label::GetTotalWords() {
146 if (m_pEdit)
147 return m_pEdit->GetTotalWords();
148
149 return 0;
150 }
OLDNEW
« no previous file with comments | « fpdfsdk/src/pdfwindow/PWL_IconList.cpp ('k') | fpdfsdk/src/pdfwindow/PWL_ListBox.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698