summaryrefslogtreecommitdiff
path: root/core/fxge/skia
diff options
context:
space:
mode:
authorcaryclark <caryclark@google.com>2016-04-04 12:27:16 -0700
committerCommit bot <commit-bot@chromium.org>2016-04-04 12:27:17 -0700
commitf8a5ef3056619c1a8e7d1108ac3720c97ca8e67d (patch)
tree8cdf3d66a50aa8a363631d62762b64f42d4258d7 /core/fxge/skia
parent221caf6f6f9810cbc0e0c4c50af9b036a052ae13 (diff)
downloadpdfium-f8a5ef3056619c1a8e7d1108ac3720c97ca8e67d.tar.xz
Support the device font cache
Reuse the Skia typeface on sucessive text draw calls. This reduces the SKP size by 100x for some documents. Note that this does not use a smart pointer for the Skia typeface object. The downside of doing so is that it requires all clients that include fx_font.h to also have access to Skia. In this specific case, it is preferable to have a forward declared class to isolate Skia from the rest of PDFium. R=dsinclair,tsepez@chromium.org Review URL: https://codereview.chromium.org/1837113004
Diffstat (limited to 'core/fxge/skia')
-rw-r--r--core/fxge/skia/fx_skia_device.cpp3
1 files changed, 1 insertions, 2 deletions
diff --git a/core/fxge/skia/fx_skia_device.cpp b/core/fxge/skia/fx_skia_device.cpp
index 745c9b50fd..e61dda68d4 100644
--- a/core/fxge/skia/fx_skia_device.cpp
+++ b/core/fxge/skia/fx_skia_device.cpp
@@ -320,8 +320,7 @@ FX_BOOL CFX_SkiaDeviceDriver::DrawDeviceText(int nChars,
uint32_t color,
int alpha_flag,
void* pIccTransform) {
- SkAutoTUnref<SkTypeface> typeface(SkTypeface::CreateFromStream(
- new SkMemoryStream(pFont->GetFontData(), pFont->GetSize())));
+ CFX_TypeFace* typeface = pCache->GetDeviceCache(pFont);
SkPaint paint;
paint.setAntiAlias(true);
paint.setColor(color);