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

Side by Side Diff: core/fpdfapi/fpdf_render/fpdf_render_text.cpp

Issue 2179953002: Remove FX_FONTCACHE_DEFINE (Closed) Base URL: https://pdfium.googlesource.com/pdfium.git@master
Patch Set: Created 4 years, 4 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 | « no previous file | core/fxge/ge/fx_ge_text.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 "core/fpdfapi/fpdf_render/render_int.h" 7 #include "core/fpdfapi/fpdf_render/render_int.h"
8 8
9 #include <vector> 9 #include <vector>
10 10
(...skipping 746 matching lines...) Expand 10 before | Expand all | Expand 10 after
757 RenderSingleObject(&path, pObj2Device); 757 RenderSingleObject(&path, pObj2Device);
758 return; 758 return;
759 } 759 }
760 CFX_FontCache* pCache; 760 CFX_FontCache* pCache;
761 if (pFont->m_pDocument) { 761 if (pFont->m_pDocument) {
762 pCache = pFont->m_pDocument->GetRenderData()->GetFontCache(); 762 pCache = pFont->m_pDocument->GetRenderData()->GetFontCache();
763 } else { 763 } else {
764 pCache = CFX_GEModule::Get()->GetFontCache(); 764 pCache = CFX_GEModule::Get()->GetFontCache();
765 } 765 }
766 CFX_FaceCache* pFaceCache = pCache->GetCachedFace(&pFont->m_Font); 766 CFX_FaceCache* pFaceCache = pCache->GetCachedFace(&pFont->m_Font);
767 FX_FONTCACHE_DEFINE(pCache, &pFont->m_Font); 767 CFX_AutoFontCache autoFontCache(pCache, &pFont->m_Font);
768 CPDF_CharPosList CharPosList; 768 CPDF_CharPosList CharPosList;
769 CharPosList.Load(textobj->m_nChars, textobj->m_pCharCodes, 769 CharPosList.Load(textobj->m_nChars, textobj->m_pCharCodes,
770 textobj->m_pCharPos, pFont, font_size); 770 textobj->m_pCharPos, pFont, font_size);
771 for (uint32_t i = 0; i < CharPosList.m_nChars; i++) { 771 for (uint32_t i = 0; i < CharPosList.m_nChars; i++) {
772 FXTEXT_CHARPOS& charpos = CharPosList.m_pCharPos[i]; 772 FXTEXT_CHARPOS& charpos = CharPosList.m_pCharPos[i];
773 const CFX_PathData* pPath = pFaceCache->LoadGlyphPath( 773 const CFX_PathData* pPath = pFaceCache->LoadGlyphPath(
774 &pFont->m_Font, charpos.m_GlyphIndex, charpos.m_FontCharWidth); 774 &pFont->m_Font, charpos.m_GlyphIndex, charpos.m_FontCharWidth);
775 if (!pPath) { 775 if (!pPath) {
776 continue; 776 continue;
777 } 777 }
778 CPDF_PathObject path; 778 CPDF_PathObject path;
779 path.m_GraphState = textobj->m_GraphState; 779 path.m_GraphState = textobj->m_GraphState;
780 path.m_ColorState = textobj->m_ColorState; 780 path.m_ColorState = textobj->m_ColorState;
781 CFX_Matrix matrix; 781 CFX_Matrix matrix;
782 if (charpos.m_bGlyphAdjust) 782 if (charpos.m_bGlyphAdjust)
783 matrix.Set(charpos.m_AdjustMatrix[0], charpos.m_AdjustMatrix[1], 783 matrix.Set(charpos.m_AdjustMatrix[0], charpos.m_AdjustMatrix[1],
784 charpos.m_AdjustMatrix[2], charpos.m_AdjustMatrix[3], 0, 0); 784 charpos.m_AdjustMatrix[2], charpos.m_AdjustMatrix[3], 0, 0);
785 matrix.Concat(font_size, 0, 0, font_size, charpos.m_OriginX, 785 matrix.Concat(font_size, 0, 0, font_size, charpos.m_OriginX,
786 charpos.m_OriginY); 786 charpos.m_OriginY);
787 path.m_Path.New()->Append(pPath, &matrix); 787 path.m_Path.New()->Append(pPath, &matrix);
788 path.m_Matrix = *pTextMatrix; 788 path.m_Matrix = *pTextMatrix;
789 path.m_bStroke = bStroke; 789 path.m_bStroke = bStroke;
790 path.m_FillType = bFill ? FXFILL_WINDING : 0; 790 path.m_FillType = bFill ? FXFILL_WINDING : 0;
791 path.CalcBoundingBox(); 791 path.CalcBoundingBox();
792 ProcessPath(&path, pObj2Device); 792 ProcessPath(&path, pObj2Device);
793 } 793 }
794 } 794 }
OLDNEW
« no previous file with comments | « no previous file | core/fxge/ge/fx_ge_text.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698