7a14b310d6
drawImage calls now properly embeds the original jpeg. NOTE: drawBitmap*() calls no longer embed JPEG files when possible (this is in advance of eliminating bitmaps backed by encoded data). Chromium has already moved from drawBitmap to drawImage. Comparisons: control: total PDF drawImage/drawBitmap calls: 8010 total PDF jpeg images: 0 total PDF regular images: 3581 experiament: total PDF drawImage/drawBitmap calls: 8014 total PDF jpeg images: 271 total PDF regular images: 3311 total PDF regular images: 3582 (271 + 3311) When comparing rendered output there were perceptual differences in the following four GMs: colorcube, emboss, colormatrix, and tablecolorfilter. All of these differences were improvements (that is, closer to the 8888 rendering) due fixing a bug with colorfilters and forgetting to call notifyPixelsChanged. No SKPs had perceptual differences. Total PDF size dropped from 133964 kB to 126276 kB, a 5.7% improvement (mostly due to restoring use of JPG images in SKPs). BUG=skia:4370 Review URL: https://codereview.chromium.org/1372783003
65 lines
1.8 KiB
Python
65 lines
1.8 KiB
Python
# Copyright 2015 Google Inc.
|
|
#
|
|
# Use of this source code is governed by a BSD-style license that can be
|
|
# found in the LICENSE file.
|
|
# This file builds the PDF backend.
|
|
{
|
|
'targets': [
|
|
{
|
|
'target_name': 'nopdf',
|
|
'type': 'static_library',
|
|
'dependencies': [ 'skia_lib.gyp:skia_lib', ],
|
|
'sources': [ '<(skia_src_path)/doc/SkDocument_PDF_None.cpp', ],
|
|
'defines': [ 'SK_SUPPORT_PDF=0', ],
|
|
},
|
|
{
|
|
'target_name': 'pdf',
|
|
'product_name': 'skia_pdf',
|
|
'type': 'static_library',
|
|
'standalone_static_library': 1,
|
|
'variables': { 'skia_pdf_use_sfntly%': 1, },
|
|
'dependencies': [
|
|
'skia_lib.gyp:skia_lib',
|
|
'zlib.gyp:zlib',
|
|
],
|
|
'includes': [
|
|
'pdf.gypi',
|
|
],
|
|
'include_dirs': [
|
|
'../include/private',
|
|
'../src/core', # needed to get SkGlyphCache.h and SkTextFormatParams.h
|
|
'../src/pdf',
|
|
'../src/image',
|
|
'../src/utils', # needed to get SkBitSet.h
|
|
],
|
|
'sources': [
|
|
'pdf.gypi', # Makes the gypi appear in IDEs (but does not modify the build).
|
|
],
|
|
'conditions': [
|
|
[ 'skia_pdf_use_sfntly and not skia_android_framework and \
|
|
skia_os in ["win", "android", "linux", "chromeos", "mac"]',
|
|
{ 'dependencies': [ 'sfntly.gyp:sfntly' ] }
|
|
],
|
|
[ 'skia_android_framework', {
|
|
# Add SFTNLY support for PDF (which in turns depends on ICU)
|
|
'include_dirs': [
|
|
'external/sfntly/cpp/src',
|
|
],
|
|
'libraries': [
|
|
'libsfntly.a',
|
|
'-licuuc',
|
|
'-licui18n',
|
|
],
|
|
}
|
|
],
|
|
],
|
|
'direct_dependent_settings': {
|
|
'defines': [ 'SK_SUPPORT_PDF=1', ],
|
|
'include_dirs': [
|
|
'../include/core', # SkDocument.h
|
|
],
|
|
},
|
|
},
|
|
],
|
|
}
|