Flutter Engine
The Flutter Engine
Loading...
Searching...
No Matches
Classes | Enumerations | Functions
SkPDFTypes.h File Reference
#include "include/core/SkRefCnt.h"
#include "include/core/SkScalar.h"
#include "include/core/SkTypes.h"
#include "include/private/base/SkTo.h"
#include "src/core/SkTHash.h"
#include <memory>
#include <new>
#include <type_traits>
#include <utility>
#include <vector>

Go to the source code of this file.

Classes

struct  SkPDFIndirectReference
 
class  SkPDFObject
 
class  SkPDFArray
 
class  SkPDFDict
 

Enumerations

enum class  SkPDFSteamCompressionEnabled : bool { No = false , Yes = true , Default }
 

Functions

static void SkPDFArray_Append (SkPDFArray *a, int v)
 
static void SkPDFArray_Append (SkPDFArray *a, SkScalar v)
 
template<typename T , typename... Args>
static void SkPDFArray_Append (SkPDFArray *a, T v, Args... args)
 
static void SkPDFArray_Append (SkPDFArray *a)
 
template<typename... Args>
static std::unique_ptr< SkPDFArraySkPDFMakeArray (Args... args)
 
static std::unique_ptr< SkPDFDictSkPDFMakeDict (const char *type=nullptr)
 
void SkPDFWriteTextString (SkWStream *wStream, const char *cin, size_t len)
 
void SkPDFWriteByteString (SkWStream *wStream, const char *cin, size_t len)
 
SkPDFIndirectReference SkPDFStreamOut (std::unique_ptr< SkPDFDict > dict, std::unique_ptr< SkStreamAsset > stream, SkPDFDocument *doc, SkPDFSteamCompressionEnabled compress=SkPDFSteamCompressionEnabled::Default)
 

Enumeration Type Documentation

◆ SkPDFSteamCompressionEnabled

enum class SkPDFSteamCompressionEnabled : bool
strong
Enumerator
No 
Yes 
Default 

Definition at line 199 of file SkPDFTypes.h.

199 : bool {
200 No = false,
201 Yes = true,
202 Default =
203#ifdef SK_PDF_LESS_COMPRESSION
204 No,
205#else
206 Yes,
207#endif
208};

Function Documentation

◆ SkPDFArray_Append() [1/4]

static void SkPDFArray_Append ( SkPDFArray a)
inlinestatic

Definition at line 132 of file SkPDFTypes.h.

132{}

◆ SkPDFArray_Append() [2/4]

static void SkPDFArray_Append ( SkPDFArray a,
int  v 
)
inlinestatic

Definition at line 122 of file SkPDFTypes.h.

122{ a->appendInt(v); }
struct MyStruct a[10]

◆ SkPDFArray_Append() [3/4]

static void SkPDFArray_Append ( SkPDFArray a,
SkScalar  v 
)
inlinestatic

Definition at line 124 of file SkPDFTypes.h.

124{ a->appendScalar(v); }

◆ SkPDFArray_Append() [4/4]

template<typename T , typename... Args>
static void SkPDFArray_Append ( SkPDFArray a,
T  v,
Args...  args 
)
inlinestatic

Definition at line 127 of file SkPDFTypes.h.

127 {
130}
static void SkPDFArray_Append(SkPDFArray *a, int v)
Definition SkPDFTypes.h:122
G_BEGIN_DECLS G_MODULE_EXPORT FlValue * args

◆ SkPDFMakeArray()

template<typename... Args>
static std::unique_ptr< SkPDFArray > SkPDFMakeArray ( Args...  args)
inlinestatic

Definition at line 135 of file SkPDFTypes.h.

135 {
136 std::unique_ptr<SkPDFArray> ret(new SkPDFArray());
137 ret->reserve(sizeof...(Args));
138 SkPDFArray_Append(ret.get(), args...);
139 return ret;
140}

◆ SkPDFMakeDict()

static std::unique_ptr< SkPDFDict > SkPDFMakeDict ( const char *  type = nullptr)
inlinestatic

Definition at line 195 of file SkPDFTypes.h.

195 {
196 return std::make_unique<SkPDFDict>(type);
197}

◆ SkPDFStreamOut()

SkPDFIndirectReference SkPDFStreamOut ( std::unique_ptr< SkPDFDict dict,
std::unique_ptr< SkStreamAsset stream,
SkPDFDocument doc,
SkPDFSteamCompressionEnabled  compress = SkPDFSteamCompressionEnabled::Default 
)

Definition at line 585 of file SkPDFTypes.cpp.

588 {
590 if (SkExecutor* executor = doc->executor()) {
591 SkPDFDict* dictPtr = dict.release();
592 SkStreamAsset* contentPtr = content.release();
593 // Pass ownership of both pointers into a std::function, which should
594 // only be executed once.
595 doc->incrementJobCount();
596 executor->add([dictPtr, contentPtr, compress, doc, ref]() {
597 serialize_stream(dictPtr, contentPtr, compress, doc, ref);
598 delete dictPtr;
599 delete contentPtr;
600 doc->signalJobComplete();
601 });
602 return ref;
603 }
604 serialize_stream(dict.get(), content.get(), compress, doc, ref);
605 return ref;
606}
static void serialize_stream(SkPDFDict *origDict, SkStreamAsset *stream, SkPDFSteamCompressionEnabled compress, SkPDFDocument *doc, SkPDFIndirectReference ref)
SkExecutor * executor() const
SkPDFIndirectReference reserveRef()
union flutter::testing::@2838::KeyboardChange::@76 content

◆ SkPDFWriteByteString()

void SkPDFWriteByteString ( SkWStream wStream,
const char *  cin,
size_t  len 
)

Definition at line 242 of file SkPDFTypes.cpp.

242 {
243 write_byte_string(wStream, cin, len);
244}
static void write_byte_string(SkWStream *wStream, const char *cin, size_t len)

◆ SkPDFWriteTextString()

void SkPDFWriteTextString ( SkWStream wStream,
const char *  cin,
size_t  len 
)

Definition at line 239 of file SkPDFTypes.cpp.

239 {
240 write_text_string(wStream, cin, len);
241}
static void write_text_string(SkWStream *wStream, const char *cin, size_t len)