pdfGetLayerOrderChild
Get a child of a layer display order node.
PDFLayerOrderHandle pdfGetLayerOrderChild(PDFHandle pdf, PDFLayerOrderHandle order, int idx)
PDF files with layers contain a tree structure that specifies the way
layers are intended to be displayed to the user. Each node in the tree
has either a name or a layer. Named nodes are used to provide a
hierarchical structure for the layers, with labels to help the
user. Each node also optionally has a list of child nodes.
This function returns the idx
th child of the
specified layer order tree node. Children are numbered 0 through n-1,
where n is the value returned by pdfGetLayerOrderNumChildren
.
C:
scanLayerOrder(pdfGetLayerOrderRoot(pdf));
...
void scanLayerOrder(PDFLayerOrderHandle order) {
char *name;
int length;
PDFLayerHandle layer;
int nChildren, i;
if (pdfGetLayerOrderIsName(pdf, order)) {
/* this node has a name */
name = pdfGetLayerOrderName(pdf, order, &length);
...
pdfFreeMemory(name);
} else {
/* this node has a layer */
layer = pdfGetLayerOrderLayer(pdf, order);
...
}
nChildren = pdfGetLayerOrderNumChildren(pdf, order);
for (i = 0; i < nChildren; ++i) {
scanLayerOrder(pdfGetLayerOrderChild(pdf, order, i);
}
}