diff options
author | Dan Sinclair <dsinclair@chromium.org> | 2017-08-14 15:49:46 -0400 |
---|---|---|
committer | Chromium commit bot <commit-bot@chromium.org> | 2017-08-14 20:05:09 +0000 |
commit | 2d883813f969dcb88e240b6bd7bcd5af9e782331 (patch) | |
tree | d93ec2713e34712ed137804f1eccc252b592f347 /xfa/fde/cfde_rendercontext.cpp | |
parent | 2d03e604b3979db45f6f2ea8c00c8d7fe0790790 (diff) | |
download | pdfium-2d883813f969dcb88e240b6bd7bcd5af9e782331.tar.xz |
Merge CFDE_RenderContext into CFWL_Edit
This CL removes CFDE_RenderContext and moves the ::Render method to be
::RenderText on the CFWL_Edit class which was the only caller.
Change-Id: Ic940a3f0d10cfce169f5e491de90803fc8a7940d
Reviewed-on: https://pdfium-review.googlesource.com/10950
Reviewed-by: Henrique Nakashima <hnakashima@chromium.org>
Commit-Queue: dsinclair <dsinclair@chromium.org>
Diffstat (limited to 'xfa/fde/cfde_rendercontext.cpp')
-rw-r--r-- | xfa/fde/cfde_rendercontext.cpp | 61 |
1 files changed, 0 insertions, 61 deletions
diff --git a/xfa/fde/cfde_rendercontext.cpp b/xfa/fde/cfde_rendercontext.cpp deleted file mode 100644 index 0b44cb4a27..0000000000 --- a/xfa/fde/cfde_rendercontext.cpp +++ /dev/null @@ -1,61 +0,0 @@ -// Copyright 2014 PDFium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com - -#include "xfa/fde/cfde_rendercontext.h" - -#include <vector> - -#include "third_party/base/logging.h" -#include "third_party/base/ptr_util.h" -#include "xfa/fde/cfde_renderdevice.h" -#include "xfa/fde/cfde_txtedtpage.h" -#include "xfa/fde/cfde_txtedttextset.h" - -CFDE_RenderContext::CFDE_RenderContext(CFDE_RenderDevice* pRenderDevice) - : m_pRenderDevice(pRenderDevice) {} - -CFDE_RenderContext::~CFDE_RenderContext() {} - -void CFDE_RenderContext::Render(CFDE_TxtEdtPage* pCanvasSet, - const CFX_Matrix& tmDoc2Device) { - if (!m_pRenderDevice || !pCanvasSet) - return; - - CFDE_TxtEdtTextSet* pVisualSet = pCanvasSet->GetTextSet(); - if (!pVisualSet) - return; - - CFX_RetainPtr<CFGAS_GEFont> pFont = pVisualSet->GetFont(); - if (!pFont) - return; - - CFX_RectF rtDocClip = m_pRenderDevice->GetClipRect(); - if (rtDocClip.IsEmpty()) { - rtDocClip.left = rtDocClip.top = 0; - rtDocClip.width = static_cast<float>(m_pRenderDevice->GetWidth()); - rtDocClip.height = static_cast<float>(m_pRenderDevice->GetHeight()); - } - tmDoc2Device.GetInverse().TransformRect(rtDocClip); - - std::vector<FXTEXT_CHARPOS> char_pos; - - for (size_t i = 0; i < pCanvasSet->GetTextPieceCount(); ++i) { - const FDE_TEXTEDITPIECE& pText = pCanvasSet->GetTextPiece(i); - if (!rtDocClip.IntersectWith(pVisualSet->GetRect(pText))) - continue; - - int32_t iCount = pVisualSet->GetDisplayPos(pText, nullptr, false); - if (iCount < 1) - continue; - if (char_pos.size() < static_cast<size_t>(iCount)) - char_pos.resize(iCount, FXTEXT_CHARPOS()); - - iCount = pVisualSet->GetDisplayPos(pText, char_pos.data(), false); - m_pRenderDevice->DrawString(pVisualSet->GetFontColor(), pFont, - char_pos.data(), iCount, - pVisualSet->GetFontSize(), &tmDoc2Device); - } -} |