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

Side by Side Diff: core/fxge/ge/cfx_font.cpp

Issue 2386273004: Add ptr_util.h from base until std::make_unique<> available (Closed)
Patch Set: 2016 Created 4 years, 2 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 | « core/fxge/dib/fx_dib_transform.cpp ('k') | core/fxge/ge/cfx_fontmgr.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/fxge/fx_font.h" 7 #include "core/fxge/fx_font.h"
8 8
9 #include "core/fpdfapi/fpdf_font/cpdf_font.h" 9 #include "core/fpdfapi/fpdf_font/cpdf_font.h"
10 #include "core/fxge/cfx_facecache.h" 10 #include "core/fxge/cfx_facecache.h"
11 #include "core/fxge/cfx_fontcache.h" 11 #include "core/fxge/cfx_fontcache.h"
12 #include "core/fxge/cfx_fontmgr.h" 12 #include "core/fxge/cfx_fontmgr.h"
13 #include "core/fxge/cfx_gemodule.h" 13 #include "core/fxge/cfx_gemodule.h"
14 #include "core/fxge/cfx_pathdata.h" 14 #include "core/fxge/cfx_pathdata.h"
15 #include "core/fxge/cfx_substfont.h" 15 #include "core/fxge/cfx_substfont.h"
16 #include "core/fxge/fx_freetype.h" 16 #include "core/fxge/fx_freetype.h"
17 #include "core/fxge/ge/fx_text_int.h" 17 #include "core/fxge/ge/fx_text_int.h"
18 #include "third_party/base/ptr_util.h"
18 19
19 #define EM_ADJUST(em, a) (em == 0 ? (a) : (a)*1000 / em) 20 #define EM_ADJUST(em, a) (em == 0 ? (a) : (a)*1000 / em)
20 21
21 namespace { 22 namespace {
22 23
23 typedef struct { 24 typedef struct {
24 FX_BOOL m_bCount; 25 FX_BOOL m_bCount;
25 int m_PointCount; 26 int m_PointCount;
26 FX_PATHPOINT* m_pPoints; 27 FX_PATHPOINT* m_pPoints;
27 int m_CurX; 28 int m_CurX;
(...skipping 209 matching lines...) Expand 10 before | Expand all | Expand 10 after
237 m_bVertical(false) { 238 m_bVertical(false) {
238 } 239 }
239 240
240 #ifdef PDF_ENABLE_XFA 241 #ifdef PDF_ENABLE_XFA
241 FX_BOOL CFX_Font::LoadClone(const CFX_Font* pFont) { 242 FX_BOOL CFX_Font::LoadClone(const CFX_Font* pFont) {
242 if (!pFont) 243 if (!pFont)
243 return FALSE; 244 return FALSE;
244 245
245 m_bShallowCopy = true; 246 m_bShallowCopy = true;
246 if (pFont->m_pSubstFont) { 247 if (pFont->m_pSubstFont) {
247 m_pSubstFont = WrapUnique(new CFX_SubstFont); 248 m_pSubstFont = pdfium::MakeUnique<CFX_SubstFont>();
248 m_pSubstFont->m_Charset = pFont->m_pSubstFont->m_Charset; 249 m_pSubstFont->m_Charset = pFont->m_pSubstFont->m_Charset;
249 m_pSubstFont->m_SubstFlags = pFont->m_pSubstFont->m_SubstFlags; 250 m_pSubstFont->m_SubstFlags = pFont->m_pSubstFont->m_SubstFlags;
250 m_pSubstFont->m_Weight = pFont->m_pSubstFont->m_Weight; 251 m_pSubstFont->m_Weight = pFont->m_pSubstFont->m_Weight;
251 m_pSubstFont->m_Family = pFont->m_pSubstFont->m_Family; 252 m_pSubstFont->m_Family = pFont->m_pSubstFont->m_Family;
252 m_pSubstFont->m_ItalicAngle = pFont->m_pSubstFont->m_ItalicAngle; 253 m_pSubstFont->m_ItalicAngle = pFont->m_pSubstFont->m_ItalicAngle;
253 } 254 }
254 if (pFont->m_OtfFontData.GetSize()) { 255 if (pFont->m_OtfFontData.GetSize()) {
255 m_OtfFontData.AttachData(pFont->m_OtfFontData.GetBuffer(), 256 m_OtfFontData.AttachData(pFont->m_OtfFontData.GetBuffer(),
256 pFont->m_OtfFontData.GetSize()); 257 pFont->m_OtfFontData.GetSize());
257 } 258 }
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after
312 313
313 void CFX_Font::LoadSubst(const CFX_ByteString& face_name, 314 void CFX_Font::LoadSubst(const CFX_ByteString& face_name,
314 FX_BOOL bTrueType, 315 FX_BOOL bTrueType,
315 uint32_t flags, 316 uint32_t flags,
316 int weight, 317 int weight,
317 int italic_angle, 318 int italic_angle,
318 int CharsetCP, 319 int CharsetCP,
319 bool bVertical) { 320 bool bVertical) {
320 m_bEmbedded = false; 321 m_bEmbedded = false;
321 m_bVertical = bVertical; 322 m_bVertical = bVertical;
322 m_pSubstFont = WrapUnique(new CFX_SubstFont); 323 m_pSubstFont = pdfium::MakeUnique<CFX_SubstFont>();
323 m_Face = CFX_GEModule::Get()->GetFontMgr()->FindSubstFont( 324 m_Face = CFX_GEModule::Get()->GetFontMgr()->FindSubstFont(
324 face_name, bTrueType, flags, weight, italic_angle, CharsetCP, 325 face_name, bTrueType, flags, weight, italic_angle, CharsetCP,
325 m_pSubstFont.get()); 326 m_pSubstFont.get());
326 if (m_Face) { 327 if (m_Face) {
327 m_pFontData = FXFT_Get_Face_Stream_Base(m_Face); 328 m_pFontData = FXFT_Get_Face_Stream_Base(m_Face);
328 m_dwSize = FXFT_Get_Face_Stream_Size(m_Face); 329 m_dwSize = FXFT_Get_Face_Stream_Size(m_Face);
329 } 330 }
330 } 331 }
331 332
332 #ifdef PDF_ENABLE_XFA 333 #ifdef PDF_ENABLE_XFA
(...skipping 372 matching lines...) Expand 10 before | Expand all | Expand 10 after
705 const CFX_PathData* CFX_Font::LoadGlyphPath(uint32_t glyph_index, 706 const CFX_PathData* CFX_Font::LoadGlyphPath(uint32_t glyph_index,
706 int dest_width) const { 707 int dest_width) const {
707 return GetFaceCache()->LoadGlyphPath(this, glyph_index, dest_width); 708 return GetFaceCache()->LoadGlyphPath(this, glyph_index, dest_width);
708 } 709 }
709 710
710 #ifdef _SKIA_SUPPORT_ 711 #ifdef _SKIA_SUPPORT_
711 CFX_TypeFace* CFX_Font::GetDeviceCache() const { 712 CFX_TypeFace* CFX_Font::GetDeviceCache() const {
712 return GetFaceCache()->GetDeviceCache(this); 713 return GetFaceCache()->GetDeviceCache(this);
713 } 714 }
714 #endif 715 #endif
OLDNEW
« no previous file with comments | « core/fxge/dib/fx_dib_transform.cpp ('k') | core/fxge/ge/cfx_fontmgr.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698