8#ifndef SkPDFTypes_DEFINED
9#define SkPDFTypes_DEFINED
34struct SkPDFObjectSerializer;
38 explicit operator bool()
const {
return fValue != -1; }
118 std::vector<SkPDFUnion> fValues;
126template <
typename T,
typename... Args>
134template <
typename... Args>
136 std::unique_ptr<SkPDFArray> ret(
new SkPDFArray());
137 ret->reserve(
sizeof...(Args));
192 std::vector<std::pair<SkPDFUnion, SkPDFUnion>> fRecords;
196 return std::make_unique<SkPDFDict>(
type);
203#ifdef SK_PDF_LESS_COMPRESSION
215 std::unique_ptr<SkPDFDict> dict,
216 std::unique_ptr<SkStreamAsset> stream,
SkPDFIndirectReference SkPDFStreamOut(std::unique_ptr< SkPDFDict > dict, std::unique_ptr< SkStreamAsset > stream, SkPDFDocument *doc, SkPDFSteamCompressionEnabled compress=SkPDFSteamCompressionEnabled::Default)
static std::unique_ptr< SkPDFDict > SkPDFMakeDict(const char *type=nullptr)
static void SkPDFArray_Append(SkPDFArray *a, int v)
void SkPDFWriteByteString(SkWStream *wStream, const char *cin, size_t len)
static std::unique_ptr< SkPDFArray > SkPDFMakeArray(Args... args)
SkPDFSteamCompressionEnabled
void SkPDFWriteTextString(SkWStream *wStream, const char *cin, size_t len)
void appendRef(SkPDFIndirectReference)
void appendTextString(const char[])
void appendByteString(const char[])
void appendObject(std::unique_ptr< SkPDFObject > &&)
void appendColorComponent(uint8_t)
void appendName(const char[])
void appendScalar(SkScalar)
void emitObject(SkWStream *stream) const override
void insertName(const char key[], const char nameValue[])
void insertObject(const char key[], std::unique_ptr< SkPDFObject > &&)
void insertColorComponentF(const char key[], SkScalar value)
void insertUnion(const char key[], SkPDFUnion &&)
void insertInt(const char key[], int32_t value)
void insertTextString(const char key[], const char value[])
void insertRef(const char key[], SkPDFIndirectReference)
void insertScalar(const char key[], SkScalar value)
void insertByteString(const char key[], const char value[])
void emitObject(SkWStream *stream) const override
void insertBool(const char key[], bool value)
virtual ~SkPDFObject()=default
virtual void emitObject(SkWStream *stream) const =0
G_BEGIN_DECLS G_MODULE_EXPORT FlValue * args
bool operator!=(SkPDFIndirectReference v) const
bool operator==(SkPDFIndirectReference v) const