| 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 "xfa/fwl/basewidget/fwl_editimp.h" | 7 #include "xfa/fwl/basewidget/fwl_editimp.h" |
| 8 | 8 |
| 9 #include <algorithm> | 9 #include <algorithm> |
| 10 #include <memory> |
| 10 #include <vector> | 11 #include <vector> |
| 11 | 12 |
| 12 #include "xfa/fde/fde_gedevice.h" | 13 #include "xfa/fde/fde_gedevice.h" |
| 13 #include "xfa/fde/fde_render.h" | 14 #include "xfa/fde/fde_render.h" |
| 14 #include "xfa/fee/fde_txtedtengine.h" | 15 #include "xfa/fee/fde_txtedtengine.h" |
| 15 #include "xfa/fee/ifde_txtedtpage.h" | 16 #include "xfa/fee/ifde_txtedtpage.h" |
| 16 #include "xfa/fwl/basewidget/fwl_caretimp.h" | 17 #include "xfa/fwl/basewidget/fwl_caretimp.h" |
| 17 #include "xfa/fwl/basewidget/fwl_comboboximp.h" | 18 #include "xfa/fwl/basewidget/fwl_comboboximp.h" |
| 18 #include "xfa/fwl/basewidget/fwl_scrollbarimp.h" | 19 #include "xfa/fwl/basewidget/fwl_scrollbarimp.h" |
| 19 #include "xfa/fwl/basewidget/ifwl_caret.h" | 20 #include "xfa/fwl/basewidget/ifwl_caret.h" |
| (...skipping 1055 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1075 param.m_pGraphics = pGraphics; | 1076 param.m_pGraphics = pGraphics; |
| 1076 param.m_matrix = *pMatrix; | 1077 param.m_matrix = *pMatrix; |
| 1077 param.m_pWidget = m_pInterface; | 1078 param.m_pWidget = m_pInterface; |
| 1078 param.m_iPart = CFWL_Part::Background; | 1079 param.m_iPart = CFWL_Part::Background; |
| 1079 param.m_pPath = &path; | 1080 param.m_pPath = &path; |
| 1080 pTheme->DrawBackground(¶m); | 1081 pTheme->DrawBackground(¶m); |
| 1081 } | 1082 } |
| 1082 CFX_RenderDevice* pRenderDev = pGraphics->GetRenderDevice(); | 1083 CFX_RenderDevice* pRenderDev = pGraphics->GetRenderDevice(); |
| 1083 if (!pRenderDev) | 1084 if (!pRenderDev) |
| 1084 return; | 1085 return; |
| 1085 CFDE_RenderDevice* pRenderDevice = new CFDE_RenderDevice(pRenderDev, FALSE); | 1086 |
| 1086 CFDE_RenderContext* pRenderContext = new CFDE_RenderContext; | 1087 std::unique_ptr<CFDE_RenderDevice> pRenderDevice( |
| 1088 new CFDE_RenderDevice(pRenderDev, FALSE)); |
| 1089 std::unique_ptr<CFDE_RenderContext> pRenderContext(new CFDE_RenderContext); |
| 1087 pRenderDevice->SetClipRect(rtClip); | 1090 pRenderDevice->SetClipRect(rtClip); |
| 1088 pRenderContext->StartRender(pRenderDevice, pPage, mt); | 1091 pRenderContext->StartRender(pRenderDevice.get(), pPage, mt); |
| 1089 pRenderContext->DoRender(NULL); | 1092 pRenderContext->DoRender(nullptr); |
| 1090 pRenderContext->Release(); | |
| 1091 pRenderDevice->Release(); | |
| 1092 if (m_pProperties->m_dwStyleExes & FWL_STYLEEXT_EDT_CombText) { | 1093 if (m_pProperties->m_dwStyleExes & FWL_STYLEEXT_EDT_CombText) { |
| 1093 pGraphics->RestoreGraphState(); | 1094 pGraphics->RestoreGraphState(); |
| 1094 CFX_Path path; | 1095 CFX_Path path; |
| 1095 path.Create(); | 1096 path.Create(); |
| 1096 int32_t iLimit = m_nLimit > 0 ? m_nLimit : 1; | 1097 int32_t iLimit = m_nLimit > 0 ? m_nLimit : 1; |
| 1097 FX_FLOAT fStep = m_rtEngine.width / iLimit; | 1098 FX_FLOAT fStep = m_rtEngine.width / iLimit; |
| 1098 FX_FLOAT fLeft = m_rtEngine.left + 1; | 1099 FX_FLOAT fLeft = m_rtEngine.left + 1; |
| 1099 for (int32_t i = 1; i < iLimit; i++) { | 1100 for (int32_t i = 1; i < iLimit; i++) { |
| 1100 fLeft += fStep; | 1101 fLeft += fStep; |
| 1101 path.AddLine(fLeft, m_rtClient.top, fLeft, m_rtClient.bottom()); | 1102 path.AddLine(fLeft, m_rtClient.top, fLeft, m_rtClient.bottom()); |
| 1102 } | 1103 } |
| 1103 CFWL_ThemeBackground param; | 1104 CFWL_ThemeBackground param; |
| 1104 param.m_pGraphics = pGraphics; | 1105 param.m_pGraphics = pGraphics; |
| 1105 param.m_matrix = *pMatrix; | 1106 param.m_matrix = *pMatrix; |
| 1106 param.m_pWidget = m_pInterface; | 1107 param.m_pWidget = m_pInterface; |
| 1107 param.m_iPart = CFWL_Part::CombTextLine; | 1108 param.m_iPart = CFWL_Part::CombTextLine; |
| 1108 param.m_pPath = &path; | 1109 param.m_pPath = &path; |
| 1109 pTheme->DrawBackground(¶m); | 1110 pTheme->DrawBackground(¶m); |
| 1110 } | 1111 } |
| 1111 pGraphics->RestoreGraphState(); | 1112 pGraphics->RestoreGraphState(); |
| 1112 } | 1113 } |
| 1114 |
| 1113 void CFWL_EditImp::UpdateEditEngine() { | 1115 void CFWL_EditImp::UpdateEditEngine() { |
| 1114 UpdateEditParams(); | 1116 UpdateEditParams(); |
| 1115 UpdateEditLayout(); | 1117 UpdateEditLayout(); |
| 1116 if (m_nLimit > -1) { | 1118 if (m_nLimit > -1) { |
| 1117 m_pEdtEngine->SetLimit(m_nLimit); | 1119 m_pEdtEngine->SetLimit(m_nLimit); |
| 1118 } | 1120 } |
| 1119 } | 1121 } |
| 1120 void CFWL_EditImp::UpdateEditParams() { | 1122 void CFWL_EditImp::UpdateEditParams() { |
| 1121 FDE_TXTEDTPARAMS params; | 1123 FDE_TXTEDTPARAMS params; |
| 1122 params.nHorzScale = 100; | 1124 params.nHorzScale = 100; |
| (...skipping 1081 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2204 } | 2206 } |
| 2205 CFX_RectF rect; | 2207 CFX_RectF rect; |
| 2206 m_pOwner->GetWidgetRect(rect); | 2208 m_pOwner->GetWidgetRect(rect); |
| 2207 CFX_RectF rtInvalidate; | 2209 CFX_RectF rtInvalidate; |
| 2208 rtInvalidate.Set(0, 0, rect.width + 2, rect.height + 2); | 2210 rtInvalidate.Set(0, 0, rect.width + 2, rect.height + 2); |
| 2209 m_pOwner->Repaint(&rtInvalidate); | 2211 m_pOwner->Repaint(&rtInvalidate); |
| 2210 } | 2212 } |
| 2211 return TRUE; | 2213 return TRUE; |
| 2212 } | 2214 } |
| 2213 void CFWL_EditImpDelegate::DoCursor(CFWL_MsgMouse* pMsg) {} | 2215 void CFWL_EditImpDelegate::DoCursor(CFWL_MsgMouse* pMsg) {} |
| OLD | NEW |