8 #ifndef SkDocument_DEFINED
9 #define SkDocument_DEFINED
12 #include "SkPicture.h"
13 #include "SkPixelSerializer.h"
22 #define SK_SUPPORT_LEGACY_DOCUMENT_API
26 #define SK_ScalarDefaultRasterDPI 72.0f
135 SkScalar dpi = SK_ScalarDefaultRasterDPI) {
144 SkScalar dpi = SK_ScalarDefaultRasterDPI);
151 SkScalar dpi = SK_ScalarDefaultRasterDPI);
158 SkScalar dpi = SK_ScalarDefaultRasterDPI);
160 #ifdef SK_SUPPORT_LEGACY_DOCUMENT_API
183 SkScalar dpi = SK_ScalarDefaultRasterDPI) {
185 nullptr,
false).release();
206 sk_ref_sp(jpegEncoder),
false).release();
213 SkScalar dpi = SK_ScalarDefaultRasterDPI) {
217 #endif // SK_SUPPORT_LEGACY_DOCUMENT_API
224 SkCanvas* beginPage(SkScalar width, SkScalar height,
225 const SkRect* content = NULL);
249 #ifdef SK_SUPPORT_LEGACY_DOCUMENT_API
277 #endif // SK_SUPPORT_LEGACY_DOCUMENT_API
286 virtual SkCanvas* onBeginPage(SkScalar width, SkScalar height,
287 const SkRect& content) = 0;
288 virtual void onEndPage() = 0;
290 virtual void onAbort() = 0;
293 SkWStream* getStream() {
return fStream; }
300 State getState()
const {
return fState; }
304 void (*fDoneProc)(
SkWStream*,
bool aborted);
A Canvas encapsulates all of the state about drawing into a device (bitmap).
Definition: SkCanvas.h:58
Set the document's metadata, if supported by the document type.
Definition: SkDocument.h:269
Definition: SkRefCnt.h:135
static sk_sp< SkDocument > MakePDF(SkWStream *stream, SkScalar dpi, const SkDocument::PDFMetadata &metadata, sk_sp< SkPixelSerializer > jpegEncoder, bool pdfa)
Create a PDF-backed document, writing the results into a SkWStream.
Definition: SkDocument.h:40
Shared pointer class to wrap classes that support a ref()/unref() interface.
Definition: SkRefCnt.h:258
static SkDocument * CreatePDF(SkWStream *stream, SkScalar dpi=SK_ScalarDefaultRasterDPI)
Create a PDF-backed document, writing the results into a SkWStream.
Definition: SkDocument.h:182
Interface for serializing pixels, e.g.
Definition: SkPixelSerializer.h:19
Definition: SkStream.h:182
static SkDocument * CreatePDF(SkWStream *stream, SkScalar dpi, SkPixelSerializer *jpegEncoder)
Definition: SkDocument.h:202
High-level API for creating a document-based canvas.
Definition: SkDocument.h:38
Light weight class for managing strings.
Definition: SkString.h:121
static SkDocument * CreatePDF(const char outputFilePath[], SkScalar dpi=SK_ScalarDefaultRasterDPI)
Create a PDF-backed document, writing the results into a file.
Definition: SkDocument.h:212