8#ifndef SkPDFTypes_DEFINED
9#define SkPDFTypes_DEFINED
28 explicit operator bool()
const {
return fValue != -1; }
108 std::vector<SkPDFUnion> fValues;
116template <
typename T,
typename... Args>
124template <
typename... Args>
126 std::unique_ptr<SkPDFArray> ret(
new SkPDFArray());
127 ret->reserve(
sizeof...(Args));
182 std::vector<std::pair<SkPDFUnion, SkPDFUnion>> fRecords;
186 return std::make_unique<SkPDFDict>(
type);
193#ifdef SK_PDF_LESS_COMPRESSION
205 std::unique_ptr<SkPDFDict> dict,
206 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)
SkPDFDict(const char type[]=nullptr)
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