Flutter Engine
The Flutter Engine
Loading...
Searching...
No Matches
Public Member Functions | Friends | List of all members
SkPDF::AttributeList Class Reference

#include <SkPDFDocument.h>

Inheritance diagram for SkPDF::AttributeList:
SkNoncopyable

Public Member Functions

 AttributeList ()
 
 ~AttributeList ()
 
void appendInt (const char *owner, const char *name, int value)
 
void appendFloat (const char *owner, const char *name, float value)
 
void appendName (const char *owner, const char *attrName, const char *value)
 
void appendFloatArray (const char *owner, const char *name, const std::vector< float > &value)
 
void appendNodeIdArray (const char *owner, const char *attrName, const std::vector< int > &nodeIds)
 

Friends

class ::SkPDFTagTree
 

Detailed Description

Attributes for nodes in the PDF tree.

Definition at line 27 of file SkPDFDocument.h.

Constructor & Destructor Documentation

◆ AttributeList()

SkPDF::AttributeList::AttributeList ( )
default

◆ ~AttributeList()

SkPDF::AttributeList::~AttributeList ( )
default

Member Function Documentation

◆ appendFloat()

void SkPDF::AttributeList::appendFloat ( const char *  owner,
const char *  name,
float  value 
)

Definition at line 104 of file SkPDFTag.cpp.

105 {
106 if (!fAttrs)
107 fAttrs = SkPDFMakeArray();
108 std::unique_ptr<SkPDFDict> attrDict = SkPDFMakeDict();
109 attrDict->insertName("O", owner);
110 attrDict->insertScalar(name, value);
111 fAttrs->appendObject(std::move(attrDict));
112}
static std::unique_ptr< SkPDFDict > SkPDFMakeDict(const char *type=nullptr)
Definition SkPDFTypes.h:195
static std::unique_ptr< SkPDFArray > SkPDFMakeArray(Args... args)
Definition SkPDFTypes.h:135
const char * name
Definition fuchsia.cc:50

◆ appendFloatArray()

void SkPDF::AttributeList::appendFloatArray ( const char *  owner,
const char *  name,
const std::vector< float > &  value 
)

Definition at line 124 of file SkPDFTag.cpp.

125 {
126 if (!fAttrs)
127 fAttrs = SkPDFMakeArray();
128 std::unique_ptr<SkPDFDict> attrDict = SkPDFMakeDict();
129 attrDict->insertName("O", owner);
130 std::unique_ptr<SkPDFArray> pdfArray = SkPDFMakeArray();
131 for (float element : value) {
132 pdfArray->appendScalar(element);
133 }
134 attrDict->insertObject(name, std::move(pdfArray));
135 fAttrs->appendObject(std::move(attrDict));
136}
uint8_t value

◆ appendInt()

void SkPDF::AttributeList::appendInt ( const char *  owner,
const char *  name,
int  value 
)

Definition at line 94 of file SkPDFTag.cpp.

95 {
96 if (!fAttrs)
97 fAttrs = SkPDFMakeArray();
98 std::unique_ptr<SkPDFDict> attrDict = SkPDFMakeDict();
99 attrDict->insertName("O", owner);
100 attrDict->insertInt(name, value);
101 fAttrs->appendObject(std::move(attrDict));
102}

◆ appendName()

void SkPDF::AttributeList::appendName ( const char *  owner,
const char *  attrName,
const char *  value 
)

Definition at line 114 of file SkPDFTag.cpp.

115 {
116 if (!fAttrs)
117 fAttrs = SkPDFMakeArray();
118 std::unique_ptr<SkPDFDict> attrDict = SkPDFMakeDict();
119 attrDict->insertName("O", owner);
120 attrDict->insertName(name, value);
121 fAttrs->appendObject(std::move(attrDict));
122}

◆ appendNodeIdArray()

void SkPDF::AttributeList::appendNodeIdArray ( const char *  owner,
const char *  attrName,
const std::vector< int > &  nodeIds 
)

Definition at line 138 of file SkPDFTag.cpp.

141 {
142 if (!fAttrs)
143 fAttrs = SkPDFMakeArray();
144 std::unique_ptr<SkPDFDict> attrDict = SkPDFMakeDict();
145 attrDict->insertName("O", owner);
146 std::unique_ptr<SkPDFArray> pdfArray = SkPDFMakeArray();
147 for (int nodeId : nodeIds) {
148 SkString idString = SkPDFTagNode::nodeIdToString(nodeId);
149 pdfArray->appendByteString(idString);
150 }
151 attrDict->insertObject(name, std::move(pdfArray));
152 fAttrs->appendObject(std::move(attrDict));
153}
static SkString nodeIdToString(int nodeId)
Definition SkPDFTag.cpp:57

Friends And Related Symbol Documentation

◆ ::SkPDFTagTree

friend class ::SkPDFTagTree
friend

Definition at line 46 of file SkPDFDocument.h.


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