| #ifndef __POPPLER_PRIVATE_H__ |
| #define __POPPLER_PRIVATE_H__ |
| |
| #include <config.h> |
| |
| #ifndef __GI_SCANNER__ |
| #include <PDFDoc.h> |
| #include <PSOutputDev.h> |
| #include <Link.h> |
| #include <Movie.h> |
| #include <Rendition.h> |
| #include <Form.h> |
| #include <Gfx.h> |
| #include <FontInfo.h> |
| #include <TextOutputDev.h> |
| #include <Catalog.h> |
| #include <OptionalContent.h> |
| #include <CairoOutputDev.h> |
| #include <FileSpec.h> |
| #include <StructElement.h> |
| #endif |
| |
| struct _PopplerDocument |
| { |
| /*< private >*/ |
| GObject parent_instance; |
| PDFDoc *doc; |
| |
| GList *layers; |
| GList *layers_rbgroups; |
| CairoOutputDev *output_dev; |
| }; |
| |
| struct _PopplerPSFile |
| { |
| /*< private >*/ |
| GObject parent_instance; |
| |
| PopplerDocument *document; |
| PSOutputDev *out; |
| char *filename; |
| int first_page; |
| int last_page; |
| double paper_width; |
| double paper_height; |
| gboolean duplex; |
| }; |
| |
| struct _PopplerFontInfo |
| { |
| /*< private >*/ |
| GObject parent_instance; |
| PopplerDocument *document; |
| FontInfoScanner *scanner; |
| }; |
| |
| struct _PopplerPage |
| { |
| /*< private >*/ |
| GObject parent_instance; |
| PopplerDocument *document; |
| Page *page; |
| int index; |
| TextPage *text; |
| }; |
| |
| struct _PopplerFormField |
| { |
| /*< private >*/ |
| GObject parent_instance; |
| PopplerDocument *document; |
| FormWidget *widget; |
| PopplerAction *action; |
| PopplerAction *field_modified_action; |
| PopplerAction *format_field_action; |
| PopplerAction *validate_field_action; |
| PopplerAction *calculate_field_action; |
| }; |
| |
| struct _PopplerAnnot |
| { |
| GObject parent_instance; |
| Annot *annot; |
| }; |
| |
| typedef struct _Layer { |
| /*< private >*/ |
| GList *kids; |
| gchar *label; |
| OptionalContentGroup *oc; |
| } Layer; |
| |
| struct _PopplerLayer |
| { |
| /*< private >*/ |
| GObject parent_instance; |
| PopplerDocument *document; |
| Layer *layer; |
| GList *rbgroup; |
| gchar *title; |
| }; |
| |
| |
| struct _PopplerStructureElement |
| { |
| /*< private >*/ |
| GObject parent_instance; |
| PopplerDocument *document; |
| const StructElement *elem; |
| }; |
| |
| GList *_poppler_document_get_layers (PopplerDocument *document); |
| GList *_poppler_document_get_layer_rbgroup (PopplerDocument *document, |
| Layer *layer); |
| PopplerPage *_poppler_page_new (PopplerDocument *document, |
| Page *page, |
| int index); |
| PopplerAction *_poppler_action_new (PopplerDocument *document, |
| const LinkAction *link, |
| const gchar *title); |
| PopplerLayer *_poppler_layer_new (PopplerDocument *document, |
| Layer *layer, |
| GList *rbgroup); |
| PopplerDest *_poppler_dest_new_goto (PopplerDocument *document, |
| LinkDest *link_dest); |
| PopplerFormField *_poppler_form_field_new (PopplerDocument *document, |
| FormWidget *field); |
| PopplerAttachment *_poppler_attachment_new (FileSpec *file); |
| PopplerMovie *_poppler_movie_new (const Movie *movie); |
| PopplerMedia *_poppler_media_new (const MediaRendition *media); |
| PopplerAnnot *_poppler_annot_new (Annot *annot); |
| PopplerAnnot *_poppler_annot_text_new (Annot *annot); |
| PopplerAnnot *_poppler_annot_free_text_new (Annot *annot); |
| PopplerAnnot *_poppler_annot_text_markup_new (Annot *annot); |
| PopplerAnnot *_poppler_annot_file_attachment_new (Annot *annot); |
| PopplerAnnot *_poppler_annot_movie_new (Annot *annot); |
| PopplerAnnot *_poppler_annot_screen_new (PopplerDocument *doc, Annot *annot); |
| PopplerAnnot *_poppler_annot_line_new (Annot *annot); |
| PopplerAnnot *_poppler_annot_circle_new (Annot *annot); |
| PopplerAnnot *_poppler_annot_square_new (Annot *annot); |
| |
| char *_poppler_goo_string_to_utf8(const GooString *s); |
| gboolean _poppler_convert_pdf_date_to_gtime (const GooString *date, |
| time_t *gdate); |
| |
| /* |
| * A convenience macro for boxed type implementations, which defines a |
| * type_name_get_type() function registering the boxed type. |
| */ |
| #define POPPLER_DEFINE_BOXED_TYPE(TypeName, type_name, copy_func, free_func) \ |
| GType \ |
| type_name##_get_type (void) \ |
| { \ |
| static volatile gsize g_define_type_id__volatile = 0; \ |
| if (g_once_init_enter (&g_define_type_id__volatile)) { \ |
| GType g_define_type_id = \ |
| g_boxed_type_register_static (g_intern_static_string (#TypeName), \ |
| (GBoxedCopyFunc) copy_func, \ |
| (GBoxedFreeFunc) free_func); \ |
| g_once_init_leave (&g_define_type_id__volatile, g_define_type_id); \ |
| } \ |
| return g_define_type_id__volatile; \ |
| } |
| |
| #endif |