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

Unified Diff: site/user/sample/pdf.md

Issue 2377473002: SkPDF/Documentation: backend limitations (Closed)
Patch Set: more tweeks Created 4 years, 3 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: site/user/sample/pdf.md
diff --git a/site/user/sample/pdf.md b/site/user/sample/pdf.md
index 1668f3939a05358d724ad2983cdf586b1cde569d..d54172bc526341cde406379fa963db48ded0755f 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.
<!--?prettify lang=cc?-->
@@ -39,3 +39,59 @@ via the SkDocument and SkCanvas APIs.
}
return pdfDocument->close();
}
+
+* * *
+
+<span id="limits">SkPDF Limitations</span>
+------------------------------------------
+
+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.
+
+<style scoped><!--
+#pdftable {border-collapse:collapse;}
+#pdftable tr th, #pdftable tr td {border:#888888 2px solid;padding: 5px;}
+--></style>
+<table id="pdftable">
+<tr><th>Effect</th> <th>text</th> <th>images</th> <th>everything
+ else</th></tr>
+<tr><th>SkMaskFilter</th> <td>drop</td> <td>ignore</td> <td>ignore</td></tr>
+<tr><th>SkPathEffect</th> <td>ignore</td> <td>n/a</td> <td>expand</td></tr>
+<tr><th>SkColorFilter</th> <td>ignore</td> <td>expand</td> <td>ignore</td></tr>
+<tr><th>SkImageFilter</th> <td>expand</td> <td>expand</td> <td>expand</td></tr>
+<tr><th>unsupported SkXferModes</th> <td>ignore</td> <td>ignore</td> <td>ignore</td></tr>
+<tr><th>non-gradient SkShader</th> <td>expand</td> <td>n/a</td> <td>expand</td></tr>
+</table>
+
+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.
+
+* * *
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698