aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorGravatar halcanary <halcanary@google.com>2016-03-31 07:33:57 -0700
committerGravatar Commit bot <commit-bot@chromium.org>2016-03-31 07:33:57 -0700
commitdda239e25b54f4265734c62e2fdc76c872406f28 (patch)
tree987683b415c32774d78a6c174e1b2ceb1a28c68f
parentad5dcd17cd9996a99068601d11df1c27b3652b9a (diff)
SkPDF: Use Pathops clipping
Turn this on all the time. Remove the SK_PDF_USE_PATHOPS_CLIPPING define that used to hide this functionality. All rendering tests are the same or improved by this. Also, remove non-functional SK_ALLOW_LARGE_PDF_SCALARS. TBR=reed@google.com removing dead #defines from SkUserConfig.h BUG=591805 GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1845623002 Review URL: https://codereview.chromium.org/1845623002
-rw-r--r--include/config/SkUserConfig.h15
-rw-r--r--src/pdf/SkPDFDevice.cpp5
2 files changed, 1 insertions, 19 deletions
diff --git a/include/config/SkUserConfig.h b/include/config/SkUserConfig.h
index a3e40ec5db..3022b1fef6 100644
--- a/include/config/SkUserConfig.h
+++ b/include/config/SkUserConfig.h
@@ -93,11 +93,6 @@
*/
//#define SK_DEFAULT_IMAGE_CACHE_LIMIT (1024 * 1024)
-/* Define this to allow PDF scalars above 32k. The PDF/A spec doesn't allow
- them, but modern PDF interpreters should handle them just fine.
- */
-//#define SK_ALLOW_LARGE_PDF_SCALARS
-
/* Define this to provide font subsetter in PDF generation.
*/
//#define SK_SFNTLY_SUBSETTER "sfntly/subsetter/font_subsetter.h"
@@ -136,16 +131,6 @@
*/
//#define SK_SUPPORT_GPU 1
-
-/* The PDF generation code uses Path Ops to handle complex clipping paths,
- * but at this time, Path Ops is not release ready yet. So, the code is
- * hidden behind this #define guard. If you are feeling adventurous and
- * want the latest and greatest PDF generation code, uncomment the #define.
- * When Path Ops is release ready, the define guards and this user config
- * define should be removed entirely.
- */
-//#define SK_PDF_USE_PATHOPS_CLIPPING
-
/* Skia makes use of histogram logging macros to trace the frequency of
* events. By default, Skia provides no-op versions of these macros.
* Skia consumers can provide their own definitions of these macros to
diff --git a/src/pdf/SkPDFDevice.cpp b/src/pdf/SkPDFDevice.cpp
index df6a8f8fe2..38e6d1f021 100644
--- a/src/pdf/SkPDFDevice.cpp
+++ b/src/pdf/SkPDFDevice.cpp
@@ -320,7 +320,6 @@ static bool calculate_inverse_path(const SkRect& bounds, const SkPath& invPath,
return Op(clipPath, invPath, kIntersect_SkPathOp, outPath);
}
-#ifdef SK_PDF_USE_PATHOPS_CLIPPING
// Sanity check the numerical values of the SkRegion ops and PathOps ops
// enums so region_op_to_pathops_op can do a straight passthrough cast.
// If these are failing, it may be necessary to make region_op_to_pathops_op
@@ -387,7 +386,6 @@ static bool get_clip_stack_path(const SkMatrix& transform,
}
return true;
}
-#endif
// TODO(vandebo): Take advantage of SkClipStack::getSaveCount(), the PDF
// graphic state stack, and the fact that we can know all the clips used
@@ -413,13 +411,12 @@ void GraphicStackState::updateClip(const SkClipStack& clipStack,
SkMatrix transform;
transform.setTranslate(translation.fX, translation.fY);
-#ifdef SK_PDF_USE_PATHOPS_CLIPPING
SkPath clipPath;
if (get_clip_stack_path(transform, clipStack, clipRegion, &clipPath)) {
emit_clip(&clipPath, nullptr, fContentStream);
return;
}
-#endif
+
// gsState->initialEntry()->fClipStack/Region specifies the clip that has
// already been applied. (If this is a top level device, then it specifies
// a clip to the content area. If this is a layer, then it specifies