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

Side by Side Diff: xfa/fwl/basewidget/fwl_editimp.cpp

Issue 1938613003: Subtract instead of adding the negation. (Closed) Base URL: https://pdfium.googlesource.com/pdfium@master
Patch Set: nit 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 | « fpdfsdk/fxedit/fxet_edit.cpp ('k') | no next file » | 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/fwl/basewidget/fwl_editimp.h" 7 #include "xfa/fwl/basewidget/fwl_editimp.h"
8 8
9 #include <algorithm> 9 #include <algorithm>
10 #include <vector> 10 #include <vector>
(...skipping 11 matching lines...) Expand all
22 #include "xfa/fwl/core/cfwl_themepart.h" 22 #include "xfa/fwl/core/cfwl_themepart.h"
23 #include "xfa/fwl/core/fwl_appimp.h" 23 #include "xfa/fwl/core/fwl_appimp.h"
24 #include "xfa/fwl/core/fwl_noteimp.h" 24 #include "xfa/fwl/core/fwl_noteimp.h"
25 #include "xfa/fwl/core/fwl_widgetimp.h" 25 #include "xfa/fwl/core/fwl_widgetimp.h"
26 #include "xfa/fwl/core/fwl_widgetmgrimp.h" 26 #include "xfa/fwl/core/fwl_widgetmgrimp.h"
27 #include "xfa/fwl/core/ifwl_themeprovider.h" 27 #include "xfa/fwl/core/ifwl_themeprovider.h"
28 #include "xfa/fxfa/include/xfa_ffdoc.h" 28 #include "xfa/fxfa/include/xfa_ffdoc.h"
29 #include "xfa/fxfa/include/xfa_ffwidget.h" 29 #include "xfa/fxfa/include/xfa_ffwidget.h"
30 #include "xfa/fxgraphics/cfx_path.h" 30 #include "xfa/fxgraphics/cfx_path.h"
31 31
32 namespace {
33
34 bool FX_EDIT_ISLATINWORD(FX_WCHAR c) {
35 return c == 0x2D || (c <= 0x005A && c >= 0x0041) ||
36 (c <= 0x007A && c >= 0x0061) || (c <= 0x02AF && c >= 0x00C0) ||
37 c == 0x0027;
38 }
39
40 void AddSquigglyPath(CFX_Path* pPathData,
41 FX_FLOAT fStartX,
42 FX_FLOAT fEndX,
43 FX_FLOAT fY,
44 FX_FLOAT fStep) {
45 pPathData->MoveTo(fStartX, fY);
46 int i = 1;
47 for (FX_FLOAT fx = fStartX + fStep; fx < fEndX; fx += fStep, ++i) {
48 pPathData->LineTo(fx, fY + (i & 1) * fStep);
49 }
50 }
51
52 } // namespace
53
32 // static 54 // static
33 IFWL_Edit* IFWL_Edit::Create(const CFWL_WidgetImpProperties& properties, 55 IFWL_Edit* IFWL_Edit::Create(const CFWL_WidgetImpProperties& properties,
34 IFWL_Widget* pOuter) { 56 IFWL_Widget* pOuter) {
35 IFWL_Edit* pEdit = new IFWL_Edit; 57 IFWL_Edit* pEdit = new IFWL_Edit;
36 CFWL_EditImp* pEditImpl = new CFWL_EditImp(properties, pOuter); 58 CFWL_EditImp* pEditImpl = new CFWL_EditImp(properties, pOuter);
37 pEdit->SetImpl(pEditImpl); 59 pEdit->SetImpl(pEditImpl);
38 pEditImpl->SetInterface(pEdit); 60 pEditImpl->SetInterface(pEdit);
39 return pEdit; 61 return pEdit;
40 } 62 }
41 // static 63 // static
(...skipping 249 matching lines...) Expand 10 before | Expand all | Expand 10 after
291 Layout(); 313 Layout();
292 if (m_rtClient.IsEmpty()) { 314 if (m_rtClient.IsEmpty()) {
293 return FWL_ERR_Indefinite; 315 return FWL_ERR_Indefinite;
294 } 316 }
295 UpdateEditEngine(); 317 UpdateEditEngine();
296 UpdateVAlignment(); 318 UpdateVAlignment();
297 UpdateScroll(); 319 UpdateScroll();
298 InitCaret(); 320 InitCaret();
299 return FWL_ERR_Succeeded; 321 return FWL_ERR_Succeeded;
300 } 322 }
323
301 uint32_t CFWL_EditImp::HitTest(FX_FLOAT fx, FX_FLOAT fy) { 324 uint32_t CFWL_EditImp::HitTest(FX_FLOAT fx, FX_FLOAT fy) {
302 if (m_pProperties->m_dwStyleExes & FWL_STYLEEXT_EDT_OuterScrollbar) { 325 if (m_pProperties->m_dwStyleExes & FWL_STYLEEXT_EDT_OuterScrollbar) {
303 if (IsShowScrollBar(TRUE)) { 326 if (IsShowScrollBar(TRUE)) {
304 CFX_RectF rect; 327 CFX_RectF rect;
305 m_pVertScrollBar->GetWidgetRect(rect); 328 m_pVertScrollBar->GetWidgetRect(rect);
306 if (rect.Contains(fx, fy)) { 329 if (rect.Contains(fx, fy))
307 return FWL_WGTHITTEST_VScrollBar; 330 return FWL_WGTHITTEST_VScrollBar;
308 }
309 } 331 }
310 if (IsShowScrollBar(FALSE)) { 332 if (IsShowScrollBar(FALSE)) {
311 CFX_RectF rect; 333 CFX_RectF rect;
312 m_pHorzScrollBar->GetWidgetRect(rect); 334 m_pHorzScrollBar->GetWidgetRect(rect);
313 if (rect.Contains(fx, fy)) { 335 if (rect.Contains(fx, fy))
314 return FWL_WGTHITTEST_HScrollBar; 336 return FWL_WGTHITTEST_HScrollBar;
315 }
316 } 337 }
317 } 338 }
318 if (m_rtClient.Contains(fx, fy)) { 339 if (m_rtClient.Contains(fx, fy))
319 return FWL_WGTHITTEST_Edit; 340 return FWL_WGTHITTEST_Edit;
320 }
321 return FWL_WGTHITTEST_Unknown; 341 return FWL_WGTHITTEST_Unknown;
322 } 342 }
323 #define FX_EDIT_ISLATINWORD(u) \ 343
324 (u == 0x2D || (u <= 0x005A && u >= 0x0041) || \
325 (u <= 0x007A && u >= 0x0061) || (u <= 0x02AF && u >= 0x00C0) || \
326 u == 0x0027)
327 static void AddSquigglyPath(CFX_Path& PathData,
328 FX_FLOAT fStartX,
329 FX_FLOAT fEndX,
330 FX_FLOAT fY,
331 FX_FLOAT fStep) {
332 PathData.MoveTo(fStartX, fY);
333 FX_FLOAT fx;
334 int32_t i;
335 for (i = 1, fx = fStartX + fStep; fx < fEndX; fx += fStep, i++) {
336 PathData.LineTo(fx, fY + (i & 1) * fStep);
337 }
338 }
339 void CFWL_EditImp::AddSpellCheckObj(CFX_Path& PathData, 344 void CFWL_EditImp::AddSpellCheckObj(CFX_Path& PathData,
340 int32_t nStart, 345 int32_t nStart,
341 int32_t nCount, 346 int32_t nCount,
342 FX_FLOAT fOffSetX, 347 FX_FLOAT fOffSetX,
343 FX_FLOAT fOffSetY) { 348 FX_FLOAT fOffSetY) {
344 FX_FLOAT fStartX = 0.0f; 349 FX_FLOAT fStartX = 0.0f;
345 FX_FLOAT fEndX = 0.0f; 350 FX_FLOAT fEndX = 0.0f;
346 FX_FLOAT fY = 0.0f; 351 FX_FLOAT fY = 0.0f;
347 FX_FLOAT fStep = 0.0f; 352 FX_FLOAT fStep = 0.0f;
348 IFDE_TxtEdtPage* pPage = m_pEdtEngine->GetPage(0); 353 IFDE_TxtEdtPage* pPage = m_pEdtEngine->GetPage(0);
349 CFX_RectFArray rectArray; 354 CFX_RectFArray rectArray;
350 CFX_RectF rectText; 355 CFX_RectF rectText;
351 const FDE_TXTEDTPARAMS* txtEdtParams = m_pEdtEngine->GetEditParams(); 356 const FDE_TXTEDTPARAMS* txtEdtParams = m_pEdtEngine->GetEditParams();
352 FX_FLOAT fAsent = (FX_FLOAT)txtEdtParams->pFont->GetAscent() * 357 FX_FLOAT fAsent = (FX_FLOAT)txtEdtParams->pFont->GetAscent() *
353 txtEdtParams->fFontSize / 1000; 358 txtEdtParams->fFontSize / 1000;
354 pPage->CalcRangeRectArray(nStart, nCount, rectArray); 359 pPage->CalcRangeRectArray(nStart, nCount, rectArray);
355 for (int i = 0; i < rectArray.GetSize(); i++) { 360 for (int i = 0; i < rectArray.GetSize(); i++) {
356 rectText = rectArray.GetAt(i); 361 rectText = rectArray.GetAt(i);
357 fY = rectText.top + fAsent + fOffSetY; 362 fY = rectText.top + fAsent + fOffSetY;
358 fStep = txtEdtParams->fFontSize / 16.0f; 363 fStep = txtEdtParams->fFontSize / 16.0f;
359 fStartX = rectText.left + fOffSetX; 364 fStartX = rectText.left + fOffSetX;
360 fEndX = fStartX + rectText.Width(); 365 fEndX = fStartX + rectText.Width();
361 AddSquigglyPath(PathData, fStartX, fEndX, fY, fStep); 366 AddSquigglyPath(&PathData, fStartX, fEndX, fY, fStep);
362 } 367 }
363 } 368 }
364 int32_t CFWL_EditImp::GetWordAtPoint(CFX_PointF pointf, int32_t& nCount) { 369 int32_t CFWL_EditImp::GetWordAtPoint(CFX_PointF pointf, int32_t& nCount) {
365 return 0; 370 return 0;
366 } 371 }
367 FX_BOOL CFWL_EditImp::GetSuggestWords(CFX_PointF pointf, 372 FX_BOOL CFWL_EditImp::GetSuggestWords(CFX_PointF pointf,
368 std::vector<CFX_ByteString>& sSuggest) { 373 std::vector<CFX_ByteString>& sSuggest) {
369 int32_t nWordCount = 0; 374 int32_t nWordCount = 0;
370 int32_t nWordStart = GetWordAtPoint(pointf, nWordCount); 375 int32_t nWordStart = GetWordAtPoint(pointf, nWordCount);
371 if (nWordCount < 1) { 376 if (nWordCount < 1) {
(...skipping 836 matching lines...) Expand 10 before | Expand all | Expand 10 after
1208 CFX_RectF rtCaret; 1213 CFX_RectF rtCaret;
1209 m_pEdtEngine->GetCaretRect(rtCaret); 1214 m_pEdtEngine->GetCaretRect(rtCaret);
1210 FX_FLOAT fOffSetX = m_rtEngine.left - m_fScrollOffsetX; 1215 FX_FLOAT fOffSetX = m_rtEngine.left - m_fScrollOffsetX;
1211 FX_FLOAT fOffSetY = m_rtEngine.top - m_fScrollOffsetY + m_fVAlignOffset; 1216 FX_FLOAT fOffSetY = m_rtEngine.top - m_fScrollOffsetY + m_fVAlignOffset;
1212 rtCaret.Offset(fOffSetX, fOffSetY); 1217 rtCaret.Offset(fOffSetX, fOffSetY);
1213 const CFX_RectF& rtEidt = m_rtEngine; 1218 const CFX_RectF& rtEidt = m_rtEngine;
1214 if (rtEidt.Contains(rtCaret)) { 1219 if (rtEidt.Contains(rtCaret)) {
1215 IFDE_TxtEdtPage* pPage = m_pEdtEngine->GetPage(0); 1220 IFDE_TxtEdtPage* pPage = m_pEdtEngine->GetPage(0);
1216 if (!pPage) 1221 if (!pPage)
1217 return FALSE; 1222 return FALSE;
1223
1218 CFX_RectF rtFDE = pPage->GetContentsBox(); 1224 CFX_RectF rtFDE = pPage->GetContentsBox();
1219 rtFDE.Offset(fOffSetX, fOffSetY); 1225 rtFDE.Offset(fOffSetX, fOffSetY);
1220 if (rtFDE.right() < rtEidt.right() && m_fScrollOffsetX > 0) { 1226 if (rtFDE.right() < rtEidt.right() && m_fScrollOffsetX > 0) {
1221 m_fScrollOffsetX += rtFDE.right() - rtEidt.right(); 1227 m_fScrollOffsetX += rtFDE.right() - rtEidt.right();
1222 if (m_fScrollOffsetX < 0) { 1228 m_fScrollOffsetX = std::max(m_fScrollOffsetX, 0.0f);
1223 m_fScrollOffsetX = 0;
1224 }
1225 } 1229 }
1226 if (rtFDE.bottom() < rtEidt.bottom() && m_fScrollOffsetY > 0) { 1230 if (rtFDE.bottom() < rtEidt.bottom() && m_fScrollOffsetY > 0) {
1227 m_fScrollOffsetY += rtFDE.bottom() - rtEidt.bottom(); 1231 m_fScrollOffsetY += rtFDE.bottom() - rtEidt.bottom();
1228 if (m_fScrollOffsetY < 0) { 1232 m_fScrollOffsetY = std::max(m_fScrollOffsetY, 0.0f);
1229 m_fScrollOffsetY = 0;
1230 }
1231 } 1233 }
1232 return FALSE; 1234 return FALSE;
1233 } else {
1234 FX_FLOAT offsetX = 0.0;
1235 FX_FLOAT offsetY = 0.0;
1236 if (rtCaret.left < rtEidt.left) {
1237 offsetX = rtCaret.left - rtEidt.left;
1238 }
1239 if (rtCaret.right() > rtEidt.right()) {
1240 offsetX = rtCaret.right() - rtEidt.right();
1241 }
1242 if (rtCaret.top < rtEidt.top) {
1243 offsetY = rtCaret.top - rtEidt.top;
1244 }
1245 if (rtCaret.bottom() > rtEidt.bottom()) {
1246 offsetY = rtCaret.bottom() - rtEidt.bottom();
1247 }
1248 if (!(m_pProperties->m_dwStyleExes & FWL_STYLEEXT_EDT_HSelfAdaption)) {
1249 m_fScrollOffsetX += offsetX;
1250 }
1251 if (!(m_pProperties->m_dwStyleExes & FWL_STYLEEXT_EDT_VSelfAdaption)) {
1252 m_fScrollOffsetY += offsetY;
1253 }
1254 if (m_fFontSize > m_rtEngine.height) {
1255 m_fScrollOffsetY = 0;
1256 }
1257 return TRUE;
1258 } 1235 }
1236
1237 FX_FLOAT offsetX = 0.0;
1238 FX_FLOAT offsetY = 0.0;
1239 if (rtCaret.left < rtEidt.left)
1240 offsetX = rtCaret.left - rtEidt.left;
1241 if (rtCaret.right() > rtEidt.right())
1242 offsetX = rtCaret.right() - rtEidt.right();
1243 if (rtCaret.top < rtEidt.top)
1244 offsetY = rtCaret.top - rtEidt.top;
1245 if (rtCaret.bottom() > rtEidt.bottom())
1246 offsetY = rtCaret.bottom() - rtEidt.bottom();
1247 if (!(m_pProperties->m_dwStyleExes & FWL_STYLEEXT_EDT_HSelfAdaption))
1248 m_fScrollOffsetX += offsetX;
1249 if (!(m_pProperties->m_dwStyleExes & FWL_STYLEEXT_EDT_VSelfAdaption))
1250 m_fScrollOffsetY += offsetY;
1251 if (m_fFontSize > m_rtEngine.height)
1252 m_fScrollOffsetY = 0;
1253 return TRUE;
1259 } 1254 }
1255
1260 FX_BOOL CFWL_EditImp::UpdateOffset(IFWL_ScrollBar* pScrollBar, 1256 FX_BOOL CFWL_EditImp::UpdateOffset(IFWL_ScrollBar* pScrollBar,
1261 FX_FLOAT fPosChanged) { 1257 FX_FLOAT fPosChanged) {
1262 if (pScrollBar == m_pHorzScrollBar.get()) { 1258 if (pScrollBar == m_pHorzScrollBar.get())
1263 m_fScrollOffsetX += fPosChanged; 1259 m_fScrollOffsetX += fPosChanged;
1264 } else { 1260 else
1265 m_fScrollOffsetY += fPosChanged; 1261 m_fScrollOffsetY += fPosChanged;
1266 }
1267 return TRUE; 1262 return TRUE;
1268 } 1263 }
1264
1269 void CFWL_EditImp::UpdateVAlignment() { 1265 void CFWL_EditImp::UpdateVAlignment() {
1270 IFDE_TxtEdtPage* pPage = m_pEdtEngine->GetPage(0); 1266 IFDE_TxtEdtPage* pPage = m_pEdtEngine->GetPage(0);
1271 if (!pPage) 1267 if (!pPage)
1272 return; 1268 return;
1273 const CFX_RectF& rtFDE = pPage->GetContentsBox(); 1269 const CFX_RectF& rtFDE = pPage->GetContentsBox();
1274 FX_FLOAT fOffsetY = 0.0f; 1270 FX_FLOAT fOffsetY = 0.0f;
1275 FX_FLOAT fSpaceAbove = 0.0f; 1271 FX_FLOAT fSpaceAbove = 0.0f;
1276 FX_FLOAT fSpaceBelow = 0.0f; 1272 FX_FLOAT fSpaceBelow = 0.0f;
1277 CFX_SizeF* pSpace = static_cast<CFX_SizeF*>( 1273 CFX_SizeF* pSpace = static_cast<CFX_SizeF*>(
1278 GetThemeCapacity(CFWL_WidgetCapacity::SpaceAboveBelow)); 1274 GetThemeCapacity(CFWL_WidgetCapacity::SpaceAboveBelow));
(...skipping 306 matching lines...) Expand 10 before | Expand all | Expand 10 after
1585 m_pHorzScrollBar->Update(); 1581 m_pHorzScrollBar->Update();
1586 } 1582 }
1587 m_pHorzScrollBar->SetStates(FWL_WGTSTATE_Invisible, FALSE); 1583 m_pHorzScrollBar->SetStates(FWL_WGTSTATE_Invisible, FALSE);
1588 } else if (m_pHorzScrollBar) { 1584 } else if (m_pHorzScrollBar) {
1589 m_pHorzScrollBar->SetStates(FWL_WGTSTATE_Invisible, TRUE); 1585 m_pHorzScrollBar->SetStates(FWL_WGTSTATE_Invisible, TRUE);
1590 } 1586 }
1591 if (bShowVertScrollbar || bShowHorzScrollbar) { 1587 if (bShowVertScrollbar || bShowHorzScrollbar) {
1592 UpdateScroll(); 1588 UpdateScroll();
1593 } 1589 }
1594 } 1590 }
1591
1595 void CFWL_EditImp::DeviceToEngine(CFX_PointF& pt) { 1592 void CFWL_EditImp::DeviceToEngine(CFX_PointF& pt) {
1596 pt.x += -m_rtEngine.left + m_fScrollOffsetX; 1593 pt.x += m_fScrollOffsetX - m_rtEngine.left;
1597 pt.y += -m_rtEngine.top - m_fVAlignOffset + m_fScrollOffsetY; 1594 pt.y += m_fScrollOffsetY - m_rtEngine.top - m_fVAlignOffset;
1598 } 1595 }
1596
1599 void CFWL_EditImp::InitScrollBar(FX_BOOL bVert) { 1597 void CFWL_EditImp::InitScrollBar(FX_BOOL bVert) {
1600 if ((bVert && m_pVertScrollBar) || (!bVert && m_pHorzScrollBar)) { 1598 if ((bVert && m_pVertScrollBar) || (!bVert && m_pHorzScrollBar)) {
1601 return; 1599 return;
1602 } 1600 }
1603 CFWL_WidgetImpProperties prop; 1601 CFWL_WidgetImpProperties prop;
1604 prop.m_dwStyleExes = bVert ? FWL_STYLEEXT_SCB_Vert : FWL_STYLEEXT_SCB_Horz; 1602 prop.m_dwStyleExes = bVert ? FWL_STYLEEXT_SCB_Vert : FWL_STYLEEXT_SCB_Horz;
1605 prop.m_dwStates = FWL_WGTSTATE_Disabled | FWL_WGTSTATE_Invisible; 1603 prop.m_dwStates = FWL_WGTSTATE_Disabled | FWL_WGTSTATE_Invisible;
1606 prop.m_pParent = m_pInterface; 1604 prop.m_pParent = m_pInterface;
1607 prop.m_pThemeProvider = m_pProperties->m_pThemeProvider; 1605 prop.m_pThemeProvider = m_pProperties->m_pThemeProvider;
1608 IFWL_ScrollBar* pScrollBar = IFWL_ScrollBar::Create(prop, m_pInterface); 1606 IFWL_ScrollBar* pScrollBar = IFWL_ScrollBar::Create(prop, m_pInterface);
1609 pScrollBar->Initialize(); 1607 pScrollBar->Initialize();
1610 (bVert ? &m_pVertScrollBar : &m_pHorzScrollBar)->reset(pScrollBar); 1608 (bVert ? &m_pVertScrollBar : &m_pHorzScrollBar)->reset(pScrollBar);
1611 } 1609 }
1612 void CFWL_EditImp::InitEngine() { 1610 void CFWL_EditImp::InitEngine() {
1613 if (m_pEdtEngine) { 1611 if (m_pEdtEngine) {
1614 return; 1612 return;
1615 } 1613 }
1616 m_pEdtEngine = IFDE_TxtEdtEngine::Create(); 1614 m_pEdtEngine = IFDE_TxtEdtEngine::Create();
1617 } 1615 }
1618 1616
1619 FX_BOOL FWL_ShowCaret(IFWL_Widget* pWidget, 1617 FX_BOOL FWL_ShowCaret(IFWL_Widget* pWidget,
1620 FX_BOOL bVisible, 1618 FX_BOOL bVisible,
1621 const CFX_RectF* pRtAnchor) { 1619 const CFX_RectF* pRtAnchor) {
1622 CXFA_FFWidget* pXFAWidget = (CXFA_FFWidget*)pWidget->GetPrivateData(pWidget); 1620 CXFA_FFWidget* pXFAWidget =
1623 if (!pXFAWidget) { 1621 static_cast<CXFA_FFWidget*>(pWidget->GetPrivateData(pWidget));
1622 if (!pXFAWidget)
1624 return FALSE; 1623 return FALSE;
1625 } 1624
1626 IXFA_DocProvider* pDocProvider = pXFAWidget->GetDoc()->GetDocProvider(); 1625 IXFA_DocProvider* pDocProvider = pXFAWidget->GetDoc()->GetDocProvider();
1627 if (!pDocProvider) { 1626 if (!pDocProvider)
1628 return FALSE; 1627 return FALSE;
1629 } 1628
1630 if (bVisible) { 1629 if (bVisible) {
1631 CFX_Matrix mt; 1630 CFX_Matrix mt;
1632 pXFAWidget->GetRotateMatrix(mt); 1631 pXFAWidget->GetRotateMatrix(mt);
1633 CFX_RectF rt(*pRtAnchor); 1632 CFX_RectF rt(*pRtAnchor);
1634 mt.TransformRect(rt); 1633 mt.TransformRect(rt);
1635 pDocProvider->DisplayCaret(pXFAWidget, bVisible, &rt); 1634 pDocProvider->DisplayCaret(pXFAWidget, bVisible, &rt);
1636 return TRUE; 1635 return TRUE;
1637 } 1636 }
1638 pDocProvider->DisplayCaret(pXFAWidget, bVisible, pRtAnchor); 1637 pDocProvider->DisplayCaret(pXFAWidget, bVisible, pRtAnchor);
1639 return TRUE; 1638 return TRUE;
(...skipping 531 matching lines...) Expand 10 before | Expand all | Expand 10 after
2171 } 2170 }
2172 CFX_RectF rect; 2171 CFX_RectF rect;
2173 m_pOwner->GetWidgetRect(rect); 2172 m_pOwner->GetWidgetRect(rect);
2174 CFX_RectF rtInvalidate; 2173 CFX_RectF rtInvalidate;
2175 rtInvalidate.Set(0, 0, rect.width + 2, rect.height + 2); 2174 rtInvalidate.Set(0, 0, rect.width + 2, rect.height + 2);
2176 m_pOwner->Repaint(&rtInvalidate); 2175 m_pOwner->Repaint(&rtInvalidate);
2177 } 2176 }
2178 return TRUE; 2177 return TRUE;
2179 } 2178 }
2180 void CFWL_EditImpDelegate::DoCursor(CFWL_MsgMouse* pMsg) {} 2179 void CFWL_EditImpDelegate::DoCursor(CFWL_MsgMouse* pMsg) {}
OLDNEW
« no previous file with comments | « fpdfsdk/fxedit/fxet_edit.cpp ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698