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

Side by Side Diff: xfa/fxfa/app/xfa_fftext.cpp

Issue 1948583002: Remove FWL_WGTHITTEST_* defines in favour of enum class. (Closed) Base URL: https://pdfium.googlesource.com/pdfium.git@master
Patch Set: Created 4 years, 7 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 | « xfa/fxfa/app/xfa_fftext.h ('k') | xfa/fxfa/app/xfa_ffwidget.cpp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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/fxfa/app/xfa_fftext.h" 7 #include "xfa/fxfa/app/xfa_fftext.h"
8 8
9 #include "xfa/fwl/core/fwl_widgetdef.h" 9 #include "xfa/fwl/core/fwl_widgetdef.h"
10 #include "xfa/fxfa/app/xfa_ffdraw.h" 10 #include "xfa/fxfa/app/xfa_ffdraw.h"
(...skipping 121 matching lines...) Expand 10 before | Expand all | Expand 10 after
132 } 132 }
133 SetButtonDown(FALSE); 133 SetButtonDown(FALSE);
134 const FX_WCHAR* wsURLContent = GetLinkURLAtPoint(fx, fy); 134 const FX_WCHAR* wsURLContent = GetLinkURLAtPoint(fx, fy);
135 if (NULL == wsURLContent) { 135 if (NULL == wsURLContent) {
136 return FALSE; 136 return FALSE;
137 } 137 }
138 CXFA_FFDoc* pDoc = GetDoc(); 138 CXFA_FFDoc* pDoc = GetDoc();
139 pDoc->GetDocProvider()->GotoURL(pDoc, CFX_WideStringC(wsURLContent), FALSE); 139 pDoc->GetDocProvider()->GotoURL(pDoc, CFX_WideStringC(wsURLContent), FALSE);
140 return TRUE; 140 return TRUE;
141 } 141 }
142 uint32_t CXFA_FFText::OnHitTest(FX_FLOAT fx, FX_FLOAT fy) { 142 FWL_WidgetHit CXFA_FFText::OnHitTest(FX_FLOAT fx, FX_FLOAT fy) {
143 CFX_RectF rtBox; 143 CFX_RectF rtBox;
144 GetRectWithoutRotate(rtBox); 144 GetRectWithoutRotate(rtBox);
145 if (!rtBox.Contains(fx, fy)) { 145 if (!rtBox.Contains(fx, fy))
146 return FWL_WGTHITTEST_Unknown; 146 return FWL_WidgetHit::Unknown;
147 } 147 if (!GetLinkURLAtPoint(fx, fy))
148 if (!GetLinkURLAtPoint(fx, fy)) { 148 return FWL_WidgetHit::Unknown;
149 return FWL_WGTHITTEST_Unknown; 149 return FWL_WidgetHit::HyperLink;
150 }
151 return FWL_WGTHITTEST_HyperLink;
152 } 150 }
153 const FX_WCHAR* CXFA_FFText::GetLinkURLAtPoint(FX_FLOAT fx, FX_FLOAT fy) { 151 const FX_WCHAR* CXFA_FFText::GetLinkURLAtPoint(FX_FLOAT fx, FX_FLOAT fy) {
154 CXFA_TextLayout* pTextLayout = m_pDataAcc->GetTextLayout(); 152 CXFA_TextLayout* pTextLayout = m_pDataAcc->GetTextLayout();
155 if (NULL == pTextLayout) { 153 if (NULL == pTextLayout) {
156 return NULL; 154 return NULL;
157 } 155 }
158 FX_FLOAT x(fx), y(fy); 156 FX_FLOAT x(fx), y(fy);
159 FWLToClient(x, y); 157 FWLToClient(x, y);
160 const CXFA_PieceLineArray* pPieceLines = pTextLayout->GetPieceLines(); 158 const CXFA_PieceLineArray* pPieceLines = pTextLayout->GetPieceLines();
161 int32_t iCount = pPieceLines->GetSize(); 159 int32_t iCount = pPieceLines->GetSize();
162 for (int32_t i = 0; i < iCount; i++) { 160 for (int32_t i = 0; i < iCount; i++) {
163 CXFA_PieceLine* pPieceLine = pPieceLines->GetAt(i); 161 CXFA_PieceLine* pPieceLine = pPieceLines->GetAt(i);
164 int32_t iPieces = pPieceLine->m_textPieces.GetSize(); 162 int32_t iPieces = pPieceLine->m_textPieces.GetSize();
165 for (int32_t j = 0; j < iPieces; j++) { 163 for (int32_t j = 0; j < iPieces; j++) {
166 XFA_TextPiece* pPiece = pPieceLine->m_textPieces.GetAt(j); 164 XFA_TextPiece* pPiece = pPieceLine->m_textPieces.GetAt(j);
167 if (pPiece->pLinkData && pPiece->rtPiece.Contains(x, y)) { 165 if (pPiece->pLinkData && pPiece->rtPiece.Contains(x, y)) {
168 return pPiece->pLinkData->GetLinkURL(); 166 return pPiece->pLinkData->GetLinkURL();
169 } 167 }
170 } 168 }
171 } 169 }
172 return NULL; 170 return NULL;
173 } 171 }
174 void CXFA_FFText::FWLToClient(FX_FLOAT& fx, FX_FLOAT& fy) { 172 void CXFA_FFText::FWLToClient(FX_FLOAT& fx, FX_FLOAT& fy) {
175 CFX_RectF rtWidget; 173 CFX_RectF rtWidget;
176 GetRectWithoutRotate(rtWidget); 174 GetRectWithoutRotate(rtWidget);
177 fx -= rtWidget.left; 175 fx -= rtWidget.left;
178 fy -= rtWidget.top; 176 fy -= rtWidget.top;
179 } 177 }
OLDNEW
« no previous file with comments | « xfa/fxfa/app/xfa_fftext.h ('k') | xfa/fxfa/app/xfa_ffwidget.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698