XPS, DM: add SkDocument::CreateXPS
- SkDocument::CreateXPS() function added, returns NULL on non-Windows OS.
- DM: (Windows only) an XPSSink is added, fails on non-Windows OS
- DM: Common code for PDFSink::draw and XPSSink::draw are factored into
draw_skdocument static function.
- SkDocument_XPS (Windows only) implementation of SkDocument via
SkXPSDevice.
- SkDocument_XPS_None (non-Windows) returns NULL for
SkDocument::CreateXPS().
- gyp/xps.gyp refactored.
- SkXPSDevice::drawTextOnPath removed (see http://crrev.com/925343003 )
- SkXPSDevice::drawPath supports conics via SkAutoConicToQuads.
Review URL: https://codereview.chromium.org/963953002
diff --git a/dm/DMSrcSink.h b/dm/DMSrcSink.h
index 8cd92a6..faa3333 100644
--- a/dm/DMSrcSink.h
+++ b/dm/DMSrcSink.h
@@ -119,6 +119,15 @@
const char* fileExtension() const SK_OVERRIDE { return "pdf"; }
};
+class XPSSink : public Sink {
+public:
+ XPSSink();
+
+ Error draw(const Src&, SkBitmap*, SkWStream*, SkString*) const SK_OVERRIDE;
+ int enclave() const SK_OVERRIDE { return kAnyThread_Enclave; }
+ const char* fileExtension() const SK_OVERRIDE { return "xps"; }
+};
+
class RasterSink : public Sink {
public:
explicit RasterSink(SkColorType);