X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Foutput%2Fdriver-provider.h;h=1f3f726949575adf2905086f125bf44cac2f6d53;hb=8f7af0acaf8a9253242d89fcdb26e285841f7833;hp=c44a2e303bed8238a9fa89b1ff856503fd57b396;hpb=a1b7813a6993b8a8822914a83982a52e98c2afe5;p=pspp diff --git a/src/output/driver-provider.h b/src/output/driver-provider.h index c44a2e303b..1f3f726949 100644 --- a/src/output/driver-provider.h +++ b/src/output/driver-provider.h @@ -24,8 +24,10 @@ #include "output/driver.h" struct output_item; +struct output_iterator; struct string_map; struct file_handle; +struct page_setup; /* A configured output driver. */ struct output_driver @@ -65,6 +67,10 @@ struct output_driver_class void (*submit) (struct output_driver *driver, const struct output_item *item); + /* Changes DRIVER's output page setup to PS, if possible. This may be NUL + if the driver doesn't support page setup. */ + void (*setup) (struct output_driver *driver, const struct page_setup *ps); + /* Ensures that any output items passed to the 'submit' function for DRIVER have actually been displayed. @@ -73,8 +79,17 @@ struct output_driver_class it doesn't make sense for DRIVER to be used this way, then this function need not do anything. */ void (*flush) (struct output_driver *driver); - }; + /* Ordinarily, the core driver code will skip passing hidden output items + to 'submit'. If this member is true, the core driver hands them to the + driver to let it handle them itself. */ + bool handles_show; + + /* Ordinarily, the core driver code will flatten groups of output items + before passing them to 'submit'. If this member is true, the core + driver code leaves them in place for the driver to handle. */ + bool handles_groups; + }; /* An abstract way for the output subsystem to create an output driver. */ struct output_driver_factory @@ -105,6 +120,4 @@ struct output_driver_factory struct string_map *options); }; -char *output_get_text_from_markup (const char *markup); - #endif /* output/driver-provider.h */