- /* Grouping, for constructing the outline for PDFs.
-
- The 'group_ids' were returned by cairo_pdf_surface_add_outline() and
- represent the groups within which upcoming output is nested. The
- 'group_opens' will be passed to cairo_pdf_surface_add_outline() when the
- next item is rendered (we defer it so that the location associated with
- the outline item can be the first object actually output in it). */
- int *group_ids;
- size_t n_group_ids, allocated_group_ids;
- struct group_open_item **group_opens;
- size_t n_opens, allocated_opens;
+ /* Grouping, for constructing the outline for PDFs. */
+ struct outline_node
+ {
+ const struct output_item *item;
+ int group_id;
+ }
+ *nodes;
+ size_t n_nodes, allocated_nodes;