Flutter Engine
The Flutter Engine
Loading...
Searching...
No Matches
Public Member Functions | Public Attributes | List of all members
DM::PDFSink Class Reference

#include <DMSrcSink.h>

Inheritance diagram for DM::PDFSink:
DM::Sink

Public Member Functions

 PDFSink (bool pdfa, SkScalar rasterDpi)
 
Result draw (const Src &, SkBitmap *, SkWStream *, SkString *) const override
 
const char * fileExtension () const override
 
SinkFlags flags () const override
 
- Public Member Functions inherited from DM::Sink
virtual ~Sink ()
 
virtual void setColorSpace (sk_sp< SkColorSpace >)
 
virtual bool serial () const
 
virtual SkColorInfo colorInfo () const
 

Public Attributes

bool fPDFA
 
SkScalar fRasterDpi
 

Detailed Description

Definition at line 495 of file DMSrcSink.h.

Constructor & Destructor Documentation

◆ PDFSink()

DM::PDFSink::PDFSink ( bool  pdfa,
SkScalar  rasterDpi 
)
inline

Definition at line 497 of file DMSrcSink.h.

497: fPDFA(pdfa), fRasterDpi(rasterDpi) {}
SkScalar fRasterDpi
Definition DMSrcSink.h:503

Member Function Documentation

◆ draw()

Result DM::PDFSink::draw ( const Src src,
SkBitmap ,
SkWStream dst,
SkString  
) const
overridevirtual

Implements DM::Sink.

Definition at line 1996 of file DMSrcSink.cpp.

1996 {
1997 SkPDF::Metadata metadata;
1998 metadata.fTitle = src.name();
1999 metadata.fSubject = "rendering correctness test";
2000 metadata.fCreator = "Skia/DM";
2001 metadata.fRasterDPI = fRasterDpi;
2002 metadata.fPDFA = fPDFA;
2003#if SK_PDF_TEST_EXECUTOR
2004 std::unique_ptr<SkExecutor> executor = SkExecutor::MakeFIFOThreadPool();
2005 metadata.fExecutor = executor.get();
2006#endif
2007 auto doc = SkPDF::MakeDocument(dst, metadata);
2008 if (!doc) {
2009 return Result::Fatal("SkPDF::MakeDocument() returned nullptr");
2010 }
2011 return draw_skdocument(src, doc.get(), dst);
2012}
static std::unique_ptr< SkExecutor > MakeFIFOThreadPool(int threads=0, bool allowBorrowing=true)
static Result draw_skdocument(const Src &src, SkDocument *doc, SkWStream *dst)
SK_API sk_sp< SkDocument > MakeDocument(SkWStream *stream, const Metadata &metadata)
SkExecutor * fExecutor

◆ fileExtension()

const char * DM::PDFSink::fileExtension ( ) const
inlineoverridevirtual

Implements DM::Sink.

Definition at line 499 of file DMSrcSink.h.

499{ return "pdf"; }

◆ flags()

SinkFlags DM::PDFSink::flags ( ) const
inlineoverridevirtual

Implements DM::Sink.

Definition at line 500 of file DMSrcSink.h.

500{ return SinkFlags{ SinkFlags::kVector, SinkFlags::kDirect }; }

Member Data Documentation

◆ fPDFA

bool DM::PDFSink::fPDFA

Definition at line 502 of file DMSrcSink.h.

◆ fRasterDpi

SkScalar DM::PDFSink::fRasterDpi

Definition at line 503 of file DMSrcSink.h.


The documentation for this class was generated from the following files: