8 #ifndef SkDocument_DEFINED
9 #define SkDocument_DEFINED
12 #include "SkPicture.h"
13 #include "SkPixelSerializer.h"
22 #ifdef SK_BUILD_FOR_WIN
23 struct IXpsOMObjectFactory;
28 #define SK_ScalarDefaultRasterDPI 72.0f
137 SkScalar dpi = SK_ScalarDefaultRasterDPI) {
146 SkScalar dpi = SK_ScalarDefaultRasterDPI);
148 #ifdef SK_BUILD_FOR_WIN
171 IXpsOMObjectFactory* xpsFactory,
172 SkScalar dpi = SK_ScalarDefaultRasterDPI);
180 SkCanvas* beginPage(SkScalar width, SkScalar height,
181 const SkRect* content = NULL);
211 virtual SkCanvas* onBeginPage(SkScalar width, SkScalar height,
212 const SkRect& content) = 0;
213 virtual void onEndPage() = 0;
215 virtual void onAbort() = 0;
218 SkWStream* getStream() {
return fStream; }
225 State getState()
const {
return fState; }
229 void (*fDoneProc)(
SkWStream*,
bool aborted);
A Canvas encapsulates all of the state about drawing into a device (bitmap).
Definition: SkCanvas.h:59
Definition: SkRefCnt.h:125
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:42
Shared pointer class to wrap classes that support a ref()/unref() interface.
Definition: SkRefCnt.h:246
Definition: SkStream.h:182
High-level API for creating a document-based canvas.
Definition: SkDocument.h:40
Light weight class for managing strings.
Definition: SkString.h:121