From: halcanary Date: Thu, 29 Sep 2016 15:43:41 +0000 (-0700) Subject: SkPDF/Documentation: backend limitations X-Git-Tag: accepted/tizen/5.0/unified/20181102.025319~106^2~129 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=919f21f877a42b8c50531bcf813d7a1bc212f13c;p=platform%2Fupstream%2FlibSkiaSharp.git SkPDF/Documentation: backend limitations NOTRY=true Review-Url: https://codereview.chromium.org/2377473002 --- diff --git a/site/user/sample/pdf.md b/site/user/sample/pdf.md index 1668f39..d54172b 100644 --- a/site/user/sample/pdf.md +++ b/site/user/sample/pdf.md @@ -1,8 +1,8 @@ Using Skia's PDF Backend ======================== -Here is an example of using Skia's PDF backend in the recommended way: -via the SkDocument and SkCanvas APIs. +Here is an example of using Skia's PDF backend (SkPDF) via the +SkDocument and SkCanvas APIs. @@ -39,3 +39,59 @@ via the SkDocument and SkCanvas APIs. } return pdfDocument->close(); } + +* * * + +SkPDF Limitations +------------------------------------------ + +There are several corners of Skia's public API that SkPDF currently +does not handle because either no known client uses the feature or +there is no simple PDF-ish way to handle it. + +In this document: + + + **drop** means to draw nothing. + + + **ignore** mean to draw without the effect + + + **expand** means to implement something in a non-PDF-ish way. + This may mean to rasterize vector graphics, to expand paths with + path effects into many individual paths, or to convert text to + paths. + + + + + + + + + + +
Effect text images everything + else
SkMaskFilter drop ignore ignore
SkPathEffect ignore n/a expand
SkColorFilter ignore expand ignore
SkImageFilter expand expand expand
unsupported SkXferModes ignore ignore ignore
non-gradient SkShader expand n/a expand
+ +Notes: + + - *SkImageFilter*: When SkImageFilter is expanded, text-as-text is lost. + + - *SkXferMode*: The following transfer modes are not natively + supported by PDF: DstOver, SrcIn, DstIn, SrcOut, DstOut, SrcATop, + DstATop, and Modulate. + +Other limitations: + + - *drawText with VerticalText* — drop. No known clients seem to make use + of the VerticalText flag. + + - *drawTextOnPath* — expand. (Text-as-text is lost.) + + - *drawVertices* — drop. + + - *drawPatch* — drop. + +* * *