panda_traverseobjects
3

# panda_traverseobjects

traverse the PDF object tree and perform an operation

     #include&lt;panda/constants.h&gt;
     #include&lt;panda/functions.h&gt;
     void panda_traverseobjects (panda_pdf * output, panda_object * startObject, int direction, traverseFunct function);

## DESCRIPTION

<command>PANDA INTERNAL</command>. This function traverses the object tree created by <command>panda_addchild</command>() and repeatedly calls the function defined as a callback. The traversal has a direction as defined by: panda_up (bottom up) or panda_down (top down). This call is commonly used by <command>panda_close</command> to call <command>panda_writeobject</command>() and <command>panda_freeobject</command>(). API users might also find it useful, although I wouldn't know why.

## RETURNS

None

## EXAMPLE

     #include&lt;panda/constants.h&gt;
     #include&lt;panda/functions.h&gt;
     panda_pdf *document;
     panda_init();
     document = panda_open("filename.pdf", "w");
     ... create a whole bunch of objects and add them to the tree ...
     panda_traverseobjects(document, document->catalog, panda_down, panda_writeobject);

## SEE ALSO

panda_newobject, panda_freeobject, panda_writeobject, panda_addchild

## VERSION

This documentation was generated for `Panda` 0.5.2 by `autodocbook` (http://www.stillhq.com).

## AUTHOR

`Panda` is under development by Michael Still (mikal@stillhq.com). All code is Copyright Michael Still 2000 - 2003, and is released under the GNU GPL. Code submissions are welcomed. Contact Michael at the address above if you have something you would like to contribute.

## BUGS

There are no known bugs in `Panda`. If you find one, please contact mikal@stillhq.com and let me know.