diff options
author | Henrique Nakashima <hnakashima@chromium.org> | 2018-03-06 22:25:03 +0000 |
---|---|---|
committer | Chromium commit bot <commit-bot@chromium.org> | 2018-03-06 22:25:03 +0000 |
commit | 3f4befb2622487f3fe915ead4f78c7e3b940dec3 (patch) | |
tree | 769ece6b9acbc45b48c69a32e6e91e75621ea6d3 /xfa/fwl/theme/cfwl_widgettp.cpp | |
parent | f8af565a78ee1910b8c98a5bdfb9ab6b88442317 (diff) | |
download | pdfium-3f4befb2622487f3fe915ead4f78c7e3b940dec3.tar.xz |
Remove axial gradients from XFA widgets.
Most of the CPU time when moving around XFA forms is spent rendering
these gradients.
Bug: chromium:592748
Change-Id: I08c68c60996755a2be25243dfd2143b6cbb13af9
Reviewed-on: https://pdfium-review.googlesource.com/28090
Commit-Queue: Henrique Nakashima <hnakashima@chromium.org>
Reviewed-by: dsinclair <dsinclair@chromium.org>
Diffstat (limited to 'xfa/fwl/theme/cfwl_widgettp.cpp')
-rw-r--r-- | xfa/fwl/theme/cfwl_widgettp.cpp | 32 |
1 files changed, 2 insertions, 30 deletions
diff --git a/xfa/fwl/theme/cfwl_widgettp.cpp b/xfa/fwl/theme/cfwl_widgettp.cpp index 9cbed0cfc7..0f67b89715 100644 --- a/xfa/fwl/theme/cfwl_widgettp.cpp +++ b/xfa/fwl/theme/cfwl_widgettp.cpp @@ -137,29 +137,6 @@ void CFWL_WidgetTP::FillSolidRect(CXFA_Graphics* pGraphics, pGraphics->RestoreGraphState(); } -void CFWL_WidgetTP::DrawAxialShading(CXFA_Graphics* pGraphics, - float fx1, - float fy1, - float fx2, - float fy2, - FX_ARGB beginColor, - FX_ARGB endColor, - CXFA_GEPath* path, - int32_t fillMode, - CFX_Matrix* pMatrix) { - if (!pGraphics || !path) - return; - - CFX_PointF begPoint(fx1, fy1); - CFX_PointF endPoint(fx2, fy2); - CXFA_GEShading shading(begPoint, endPoint, false, false, beginColor, - endColor); - pGraphics->SaveGraphState(); - pGraphics->SetFillColor(CXFA_GEColor(&shading)); - pGraphics->FillPath(path, fillMode, pMatrix); - pGraphics->RestoreGraphState(); -} - void CFWL_WidgetTP::DrawFocus(CXFA_Graphics* pGraphics, const CFX_RectF* pRect, CFX_Matrix* pMatrix) { @@ -236,15 +213,10 @@ void CFWL_WidgetTP::DrawBtn(CXFA_Graphics* pGraphics, CFX_Matrix* pMatrix) { InitializeArrowColorData(); + FillSolidRect(pGraphics, m_pColorData->clrEnd[eState - 1], pRect, pMatrix); + CXFA_GEPath path; - float fRight = pRect->right(); - float fBottom = pRect->bottom(); path.AddRectangle(pRect->left, pRect->top, pRect->width, pRect->height); - DrawAxialShading(pGraphics, pRect->left, pRect->top, fRight, fBottom, - m_pColorData->clrStart[eState - 1], - m_pColorData->clrEnd[eState - 1], &path, FXFILL_WINDING, - pMatrix); - pGraphics->SetStrokeColor(CXFA_GEColor(m_pColorData->clrBorder[eState - 1])); pGraphics->StrokePath(&path, pMatrix); } |