[poppler] 2 commits - glib/CMakeLists.txt glib/poppler-action.h glib/poppler-annot.h glib/poppler-attachment.h glib/poppler-date.h glib/poppler-document.h glib/poppler-enums.h.template glib/poppler-form-field.h glib/poppler.h glib/poppler-layer.h glib/poppler-macros.h glib/poppler-media.h glib/poppler-movie.h glib/poppler-page.h glib/poppler-structure-element.h test/CMakeLists.txt
GitLab Mirror
gitlab-mirror at kemper.freedesktop.org
Fri Oct 19 22:04:57 UTC 2018
glib/CMakeLists.txt | 3 +
glib/poppler-action.h | 6 ++
glib/poppler-annot.h | 68 +++++++++++++++++++++++++++++++++
glib/poppler-attachment.h | 3 +
glib/poppler-date.h | 3 +
glib/poppler-document.h | 80 +++++++++++++++++++++++++++++++++++++++
glib/poppler-enums.h.template | 3 +
glib/poppler-form-field.h | 33 ++++++++++++++++
glib/poppler-layer.h | 7 +++
glib/poppler-macros.h | 33 ++++++++++++++++
glib/poppler-media.h | 6 ++
glib/poppler-movie.h | 5 ++
glib/poppler-page.h | 78 ++++++++++++++++++++++++++++++++++++++
glib/poppler-structure-element.h | 72 +++++++++++++++++++++++++++++++++++
glib/poppler.h | 5 ++
test/CMakeLists.txt | 8 +++
16 files changed, 412 insertions(+), 1 deletion(-)
New commits:
commit 4ef2020d036c5b6b11040be2e2685746434778e5
Author: Christian Persch <chpe at src.gnome.org>
Date: Fri Oct 19 22:46:15 2018 +0200
glib: Only export symbols in the public API
poppler-glib exported lots of internal C++ symbols
that are not in the public API, nor have any ABI
guarantees.
Mark all public functions with POPPLER_PUBLIC, and
use symbol visibility to hide everything else.
diff --git a/glib/CMakeLists.txt b/glib/CMakeLists.txt
index 33c66082..3fd2a751 100644
--- a/glib/CMakeLists.txt
+++ b/glib/CMakeLists.txt
@@ -86,6 +86,9 @@ set(poppler_glib_generated_SRCS
)
add_library(poppler-glib ${poppler_glib_SRCS} ${poppler_glib_generated_SRCS})
set_target_properties(poppler-glib PROPERTIES VERSION 8.9.0 SOVERSION 8)
+set_target_properties(poppler-glib PROPERTIES C_VISIBILITY_PRESET hidden)
+set_target_properties(poppler-glib PROPERTIES CXX_VISIBILITY_PRESET hidden)
+set_target_properties(poppler-glib PROPERTIES VISIBILITY_INLINES_HIDDEN 1)
if(MINGW)
get_target_property(POPPLER_GLIB_SOVERSION poppler-glib SOVERSION)
set_target_properties(poppler-glib PROPERTIES SUFFIX "-${POPPLER_GLIB_SOVERSION}${CMAKE_SHARED_LIBRARY_SUFFIX}")
diff --git a/glib/poppler-action.h b/glib/poppler-action.h
index 2a5d7f83..13468f79 100644
--- a/glib/poppler-action.h
+++ b/glib/poppler-action.h
@@ -299,16 +299,22 @@ union _PopplerAction
#define POPPLER_TYPE_ACTION (poppler_action_get_type ())
#define POPPLER_ACTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), POPPLER_TYPE_ACTION, PopplerAction))
+POPPLER_PUBLIC
GType poppler_action_get_type (void) G_GNUC_CONST;
+POPPLER_PUBLIC
void poppler_action_free (PopplerAction *action);
+POPPLER_PUBLIC
PopplerAction *poppler_action_copy (PopplerAction *action);
#define POPPLER_TYPE_DEST (poppler_dest_get_type ())
+POPPLER_PUBLIC
GType poppler_dest_get_type (void) G_GNUC_CONST;
+POPPLER_PUBLIC
void poppler_dest_free (PopplerDest *dest);
+POPPLER_PUBLIC
PopplerDest *poppler_dest_copy (PopplerDest *dest);
G_END_DECLS
diff --git a/glib/poppler-annot.h b/glib/poppler-annot.h
index 44ab5e3d..336f9977 100644
--- a/glib/poppler-annot.h
+++ b/glib/poppler-annot.h
@@ -170,127 +170,195 @@ struct _PopplerAnnotCalloutLine
gdouble y3;
};
+POPPLER_PUBLIC
GType poppler_annot_get_type (void) G_GNUC_CONST;
+POPPLER_PUBLIC
PopplerAnnotType poppler_annot_get_annot_type (PopplerAnnot *poppler_annot);
+POPPLER_PUBLIC
gchar *poppler_annot_get_contents (PopplerAnnot *poppler_annot);
+POPPLER_PUBLIC
void poppler_annot_set_contents (PopplerAnnot *poppler_annot,
const gchar *contents);
+POPPLER_PUBLIC
gchar *poppler_annot_get_name (PopplerAnnot *poppler_annot);
+POPPLER_PUBLIC
gchar *poppler_annot_get_modified (PopplerAnnot *poppler_annot);
+POPPLER_PUBLIC
PopplerAnnotFlag poppler_annot_get_flags (PopplerAnnot *poppler_annot);
+POPPLER_PUBLIC
void poppler_annot_set_flags (PopplerAnnot *poppler_annot,
PopplerAnnotFlag flags);
+POPPLER_PUBLIC
PopplerColor *poppler_annot_get_color (PopplerAnnot *poppler_annot);
+POPPLER_PUBLIC
void poppler_annot_set_color (PopplerAnnot *poppler_annot,
PopplerColor *poppler_color);
+POPPLER_PUBLIC
gint poppler_annot_get_page_index (PopplerAnnot *poppler_annot);
+POPPLER_PUBLIC
void poppler_annot_get_rectangle (PopplerAnnot *poppler_annot,
PopplerRectangle *poppler_rect);
+POPPLER_PUBLIC
void poppler_annot_set_rectangle (PopplerAnnot *poppler_annot,
PopplerRectangle *poppler_rect);
/* PopplerAnnotMarkup */
+POPPLER_PUBLIC
GType poppler_annot_markup_get_type (void) G_GNUC_CONST;
+POPPLER_PUBLIC
gchar *poppler_annot_markup_get_label (PopplerAnnotMarkup *poppler_annot);
+POPPLER_PUBLIC
void poppler_annot_markup_set_label (PopplerAnnotMarkup *poppler_annot,
const gchar *label);
+POPPLER_PUBLIC
gboolean poppler_annot_markup_has_popup (PopplerAnnotMarkup *poppler_annot);
+POPPLER_PUBLIC
void poppler_annot_markup_set_popup (PopplerAnnotMarkup *poppler_annot,
PopplerRectangle *popup_rect);
+POPPLER_PUBLIC
gboolean poppler_annot_markup_get_popup_is_open (PopplerAnnotMarkup *poppler_annot);
+POPPLER_PUBLIC
void poppler_annot_markup_set_popup_is_open (PopplerAnnotMarkup *poppler_annot,
gboolean is_open);
+POPPLER_PUBLIC
gboolean poppler_annot_markup_get_popup_rectangle (PopplerAnnotMarkup *poppler_annot,
PopplerRectangle *poppler_rect);
+POPPLER_PUBLIC
void poppler_annot_markup_set_popup_rectangle (PopplerAnnotMarkup *poppler_annot,
PopplerRectangle *poppler_rect);
+POPPLER_PUBLIC
gdouble poppler_annot_markup_get_opacity (PopplerAnnotMarkup *poppler_annot);
+POPPLER_PUBLIC
void poppler_annot_markup_set_opacity (PopplerAnnotMarkup *poppler_annot,
gdouble opacity);
+POPPLER_PUBLIC
GDate *poppler_annot_markup_get_date (PopplerAnnotMarkup *poppler_annot);
+POPPLER_PUBLIC
gchar *poppler_annot_markup_get_subject (PopplerAnnotMarkup *poppler_annot);
+POPPLER_PUBLIC
PopplerAnnotMarkupReplyType poppler_annot_markup_get_reply_to (PopplerAnnotMarkup *poppler_annot);
+POPPLER_PUBLIC
PopplerAnnotExternalDataType poppler_annot_markup_get_external_data (PopplerAnnotMarkup *poppler_annot);
/* PopplerAnnotText */
+POPPLER_PUBLIC
GType poppler_annot_text_get_type (void) G_GNUC_CONST;
+POPPLER_PUBLIC
PopplerAnnot *poppler_annot_text_new (PopplerDocument *doc,
PopplerRectangle *rect);
+POPPLER_PUBLIC
gboolean poppler_annot_text_get_is_open (PopplerAnnotText *poppler_annot);
+POPPLER_PUBLIC
void poppler_annot_text_set_is_open (PopplerAnnotText *poppler_annot,
gboolean is_open);
+POPPLER_PUBLIC
gchar *poppler_annot_text_get_icon (PopplerAnnotText *poppler_annot);
+POPPLER_PUBLIC
void poppler_annot_text_set_icon (PopplerAnnotText *poppler_annot,
const gchar *icon);
+POPPLER_PUBLIC
PopplerAnnotTextState poppler_annot_text_get_state (PopplerAnnotText *poppler_annot);
/* PopplerAnnotTextMarkup */
+POPPLER_PUBLIC
GType poppler_annot_text_markup_get_type (void) G_GNUC_CONST;
+POPPLER_PUBLIC
PopplerAnnot *poppler_annot_text_markup_new_highlight (PopplerDocument *doc,
PopplerRectangle *rect,
GArray *quadrilaterals);
+POPPLER_PUBLIC
PopplerAnnot *poppler_annot_text_markup_new_squiggly (PopplerDocument *doc,
PopplerRectangle *rect,
GArray *quadrilaterals);
+POPPLER_PUBLIC
PopplerAnnot *poppler_annot_text_markup_new_strikeout (PopplerDocument *doc,
PopplerRectangle *rect,
GArray *quadrilaterals);
+POPPLER_PUBLIC
PopplerAnnot *poppler_annot_text_markup_new_underline (PopplerDocument *doc,
PopplerRectangle *rect,
GArray *quadrilaterals);
+POPPLER_PUBLIC
void poppler_annot_text_markup_set_quadrilaterals (PopplerAnnotTextMarkup *poppler_annot,
GArray *quadrilaterals);
+POPPLER_PUBLIC
GArray *poppler_annot_text_markup_get_quadrilaterals (PopplerAnnotTextMarkup *poppler_annot);
/* PopplerAnnotFreeText */
+POPPLER_PUBLIC
GType poppler_annot_free_text_get_type (void) G_GNUC_CONST;
+POPPLER_PUBLIC
PopplerAnnotFreeTextQuadding poppler_annot_free_text_get_quadding (PopplerAnnotFreeText *poppler_annot);
+POPPLER_PUBLIC
PopplerAnnotCalloutLine *poppler_annot_free_text_get_callout_line (PopplerAnnotFreeText *poppler_annot);
/* PopplerAnnotFileAttachment */
+POPPLER_PUBLIC
GType poppler_annot_file_attachment_get_type (void) G_GNUC_CONST;
+POPPLER_PUBLIC
PopplerAttachment *poppler_annot_file_attachment_get_attachment (PopplerAnnotFileAttachment *poppler_annot);
+POPPLER_PUBLIC
gchar *poppler_annot_file_attachment_get_name (PopplerAnnotFileAttachment *poppler_annot);
/* PopplerAnnotMovie */
+POPPLER_PUBLIC
GType poppler_annot_movie_get_type (void) G_GNUC_CONST;
+POPPLER_PUBLIC
gchar *poppler_annot_movie_get_title (PopplerAnnotMovie *poppler_annot);
+POPPLER_PUBLIC
PopplerMovie *poppler_annot_movie_get_movie (PopplerAnnotMovie *poppler_annot);
/* PopplerAnnotScreen */
+POPPLER_PUBLIC
GType poppler_annot_screen_get_type (void) G_GNUC_CONST;
+POPPLER_PUBLIC
PopplerAction *poppler_annot_screen_get_action (PopplerAnnotScreen *poppler_annot);
/* PopplerAnnotLine */
+POPPLER_PUBLIC
GType poppler_annot_line_get_type (void) G_GNUC_CONST;
+POPPLER_PUBLIC
PopplerAnnot *poppler_annot_line_new (PopplerDocument *doc,
PopplerRectangle *rect,
PopplerPoint *start,
PopplerPoint *end);
+POPPLER_PUBLIC
void poppler_annot_line_set_vertices (PopplerAnnotLine *poppler_annot,
PopplerPoint *start,
PopplerPoint *end);
/* PopplerAnnotCalloutLine */
+POPPLER_PUBLIC
GType poppler_annot_callout_line_get_type (void) G_GNUC_CONST;
+POPPLER_PUBLIC
PopplerAnnotCalloutLine *poppler_annot_callout_line_new (void);
+POPPLER_PUBLIC
PopplerAnnotCalloutLine *poppler_annot_callout_line_copy (PopplerAnnotCalloutLine *callout);
+POPPLER_PUBLIC
void poppler_annot_callout_line_free (PopplerAnnotCalloutLine *callout);
/* PopplerAnnotCircle */
+POPPLER_PUBLIC
GType poppler_annot_circle_get_type (void) G_GNUC_CONST;
+POPPLER_PUBLIC
PopplerAnnot *poppler_annot_circle_new (PopplerDocument *doc,
PopplerRectangle *rect);
+POPPLER_PUBLIC
void poppler_annot_circle_set_interior_color (PopplerAnnotCircle *poppler_annot,
PopplerColor *poppler_color);
+POPPLER_PUBLIC
PopplerColor *poppler_annot_circle_get_interior_color (PopplerAnnotCircle *poppler_annot);
/* PopplerAnnotGeometry */
+POPPLER_PUBLIC
GType poppler_annot_square_get_type (void) G_GNUC_CONST;
+POPPLER_PUBLIC
PopplerAnnot *poppler_annot_square_new (PopplerDocument *doc,
PopplerRectangle *rect);
+POPPLER_PUBLIC
void poppler_annot_square_set_interior_color (PopplerAnnotSquare *poppler_annot,
PopplerColor *poppler_color);
+POPPLER_PUBLIC
PopplerColor *poppler_annot_square_get_interior_color (PopplerAnnotSquare *poppler_annot);
G_END_DECLS
diff --git a/glib/poppler-attachment.h b/glib/poppler-attachment.h
index ff8c849b..5a8a7e08 100644
--- a/glib/poppler-attachment.h
+++ b/glib/poppler-attachment.h
@@ -72,10 +72,13 @@ typedef struct _PopplerAttachmentClass
} PopplerAttachmentClass;
+POPPLER_PUBLIC
GType poppler_attachment_get_type (void) G_GNUC_CONST;
+POPPLER_PUBLIC
gboolean poppler_attachment_save (PopplerAttachment *attachment,
const char *filename,
GError **error);
+POPPLER_PUBLIC
gboolean poppler_attachment_save_to_callback (PopplerAttachment *attachment,
PopplerAttachmentSaveFunc save_func,
gpointer user_data,
diff --git a/glib/poppler-date.h b/glib/poppler-date.h
index 2bb52b27..49c3f1f6 100644
--- a/glib/poppler-date.h
+++ b/glib/poppler-date.h
@@ -23,8 +23,11 @@
#include "poppler.h"
G_BEGIN_DECLS
+
+POPPLER_PUBLIC
gboolean poppler_date_parse (const gchar *date,
time_t *timet);
+
G_END_DECLS
#endif /* __POPPLER_DATE_H__ */
diff --git a/glib/poppler-document.h b/glib/poppler-document.h
index e943cd84..e1887975 100644
--- a/glib/poppler-document.h
+++ b/glib/poppler-document.h
@@ -250,151 +250,231 @@ typedef enum
POPPLER_PDF_SUBTYPE_CONF_NONE
} PopplerPDFConformance;
+POPPLER_PUBLIC
GType poppler_document_get_type (void) G_GNUC_CONST;
+POPPLER_PUBLIC
PopplerDocument *poppler_document_new_from_file (const char *uri,
const char *password,
GError **error);
+POPPLER_PUBLIC
PopplerDocument *poppler_document_new_from_data (char *data,
int length,
const char *password,
GError **error);
+POPPLER_PUBLIC
PopplerDocument *poppler_document_new_from_stream (GInputStream *stream,
goffset length,
const char *password,
GCancellable *cancellable,
GError **error);
+POPPLER_PUBLIC
PopplerDocument *poppler_document_new_from_gfile (GFile *file,
const char *password,
GCancellable *cancellable,
GError **error);
+POPPLER_PUBLIC
gboolean poppler_document_save (PopplerDocument *document,
const char *uri,
GError **error);
+POPPLER_PUBLIC
gboolean poppler_document_save_a_copy (PopplerDocument *document,
const char *uri,
GError **error);
+POPPLER_PUBLIC
gboolean poppler_document_get_id (PopplerDocument *document,
gchar **permanent_id,
gchar **update_id);
+POPPLER_PUBLIC
int poppler_document_get_n_pages (PopplerDocument *document);
+POPPLER_PUBLIC
PopplerPage *poppler_document_get_page (PopplerDocument *document,
int index);
+POPPLER_PUBLIC
PopplerPage *poppler_document_get_page_by_label (PopplerDocument *document,
const char *label);
+POPPLER_PUBLIC
gchar *poppler_document_get_pdf_version_string (PopplerDocument *document);
+POPPLER_PUBLIC
void poppler_document_get_pdf_version (PopplerDocument *document,
guint *major_version,
guint *minor_version);
+POPPLER_PUBLIC
gchar *poppler_document_get_title (PopplerDocument *document);
+POPPLER_PUBLIC
void poppler_document_set_title (PopplerDocument *document,
const gchar *title);
+POPPLER_PUBLIC
gchar *poppler_document_get_author (PopplerDocument *document);
+POPPLER_PUBLIC
void poppler_document_set_author (PopplerDocument *document,
const gchar *author);
+POPPLER_PUBLIC
gchar *poppler_document_get_subject (PopplerDocument *document);
+POPPLER_PUBLIC
void poppler_document_set_subject (PopplerDocument *document,
const gchar *subject);
+POPPLER_PUBLIC
gchar *poppler_document_get_keywords (PopplerDocument *document);
+POPPLER_PUBLIC
void poppler_document_set_keywords (PopplerDocument *document,
const gchar *keywords);
+POPPLER_PUBLIC
gchar *poppler_document_get_creator (PopplerDocument *document);
+POPPLER_PUBLIC
void poppler_document_set_creator (PopplerDocument *document,
const gchar *creator);
+POPPLER_PUBLIC
gchar *poppler_document_get_producer (PopplerDocument *document);
+POPPLER_PUBLIC
void poppler_document_set_producer (PopplerDocument *document,
const gchar *producer);
+POPPLER_PUBLIC
time_t poppler_document_get_creation_date (PopplerDocument *document);
+POPPLER_PUBLIC
void poppler_document_set_creation_date (PopplerDocument *document,
time_t creation_date);
+POPPLER_PUBLIC
time_t poppler_document_get_modification_date (PopplerDocument *document);
+POPPLER_PUBLIC
void poppler_document_set_modification_date (PopplerDocument *document,
time_t modification_date);
+POPPLER_PUBLIC
gboolean poppler_document_is_linearized (PopplerDocument *document);
+POPPLER_PUBLIC
PopplerPageLayout poppler_document_get_page_layout (PopplerDocument *document);
+POPPLER_PUBLIC
PopplerPageMode poppler_document_get_page_mode (PopplerDocument *document);
+POPPLER_PUBLIC
PopplerPermissions poppler_document_get_permissions (PopplerDocument *document);
+POPPLER_PUBLIC
gchar *poppler_document_get_pdf_subtype_string (PopplerDocument *document);
+POPPLER_PUBLIC
PopplerPDFSubtype poppler_document_get_pdf_subtype (PopplerDocument *document);
+POPPLER_PUBLIC
PopplerPDFPart poppler_document_get_pdf_part (PopplerDocument *document);
+POPPLER_PUBLIC
PopplerPDFConformance poppler_document_get_pdf_conformance (PopplerDocument *document);
+POPPLER_PUBLIC
gchar *poppler_document_get_metadata (PopplerDocument *document);
/* Attachments */
+POPPLER_PUBLIC
guint poppler_document_get_n_attachments (PopplerDocument *document);
+POPPLER_PUBLIC
gboolean poppler_document_has_attachments (PopplerDocument *document);
+POPPLER_PUBLIC
GList *poppler_document_get_attachments (PopplerDocument *document);
/* Links */
+POPPLER_PUBLIC
PopplerDest *poppler_document_find_dest (PopplerDocument *document,
const gchar *link_name);
/* Form */
+POPPLER_PUBLIC
PopplerFormField *poppler_document_get_form_field (PopplerDocument *document,
gint id);
/* Interface for getting the Index of a poppler_document */
#define POPPLER_TYPE_INDEX_ITER (poppler_index_iter_get_type ())
+POPPLER_PUBLIC
GType poppler_index_iter_get_type (void) G_GNUC_CONST;
+POPPLER_PUBLIC
PopplerIndexIter *poppler_index_iter_new (PopplerDocument *document);
+POPPLER_PUBLIC
PopplerIndexIter *poppler_index_iter_copy (PopplerIndexIter *iter);
+POPPLER_PUBLIC
void poppler_index_iter_free (PopplerIndexIter *iter);
+POPPLER_PUBLIC
PopplerIndexIter *poppler_index_iter_get_child (PopplerIndexIter *parent);
+POPPLER_PUBLIC
gboolean poppler_index_iter_is_open (PopplerIndexIter *iter);
+POPPLER_PUBLIC
PopplerAction *poppler_index_iter_get_action (PopplerIndexIter *iter);
+POPPLER_PUBLIC
gboolean poppler_index_iter_next (PopplerIndexIter *iter);
/* Interface for getting the Fonts of a poppler_document */
#define POPPLER_TYPE_FONT_INFO (poppler_font_info_get_type ())
#define POPPLER_FONT_INFO(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), POPPLER_TYPE_FONT_INFO, PopplerFontInfo))
#define POPPLER_IS_FONT_INFO(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), POPPLER_TYPE_FONT_INFO))
+POPPLER_PUBLIC
GType poppler_font_info_get_type (void) G_GNUC_CONST;
+POPPLER_PUBLIC
PopplerFontInfo *poppler_font_info_new (PopplerDocument *document);
+POPPLER_PUBLIC
gboolean poppler_font_info_scan (PopplerFontInfo *font_info,
int n_pages,
PopplerFontsIter **iter);
+POPPLER_PUBLIC
void poppler_font_info_free (PopplerFontInfo *font_info);
#define POPPLER_TYPE_FONTS_ITER (poppler_fonts_iter_get_type ())
+POPPLER_PUBLIC
GType poppler_fonts_iter_get_type (void) G_GNUC_CONST;
+POPPLER_PUBLIC
PopplerFontsIter *poppler_fonts_iter_copy (PopplerFontsIter *iter);
+POPPLER_PUBLIC
void poppler_fonts_iter_free (PopplerFontsIter *iter);
+POPPLER_PUBLIC
const char *poppler_fonts_iter_get_name (PopplerFontsIter *iter);
+POPPLER_PUBLIC
const char *poppler_fonts_iter_get_full_name (PopplerFontsIter *iter);
+POPPLER_PUBLIC
const char *poppler_fonts_iter_get_substitute_name (PopplerFontsIter *iter);
+POPPLER_PUBLIC
const char *poppler_fonts_iter_get_file_name (PopplerFontsIter *iter);
+POPPLER_PUBLIC
PopplerFontType poppler_fonts_iter_get_font_type (PopplerFontsIter *iter);
+POPPLER_PUBLIC
const char *poppler_fonts_iter_get_encoding (PopplerFontsIter *iter);
+POPPLER_PUBLIC
gboolean poppler_fonts_iter_is_embedded (PopplerFontsIter *iter);
+POPPLER_PUBLIC
gboolean poppler_fonts_iter_is_subset (PopplerFontsIter *iter);
+POPPLER_PUBLIC
gboolean poppler_fonts_iter_next (PopplerFontsIter *iter);
/* Interface for getting the Layers of a poppler_document */
#define POPPLER_TYPE_LAYERS_ITER (poppler_layers_iter_get_type ())
+POPPLER_PUBLIC
GType poppler_layers_iter_get_type (void) G_GNUC_CONST;
+POPPLER_PUBLIC
PopplerLayersIter *poppler_layers_iter_new (PopplerDocument *document);
+POPPLER_PUBLIC
PopplerLayersIter *poppler_layers_iter_copy (PopplerLayersIter *iter);
+POPPLER_PUBLIC
void poppler_layers_iter_free (PopplerLayersIter *iter);
+POPPLER_PUBLIC
PopplerLayersIter *poppler_layers_iter_get_child (PopplerLayersIter *parent);
+POPPLER_PUBLIC
gchar *poppler_layers_iter_get_title (PopplerLayersIter *iter);
+POPPLER_PUBLIC
PopplerLayer *poppler_layers_iter_get_layer (PopplerLayersIter *iter);
+POPPLER_PUBLIC
gboolean poppler_layers_iter_next (PopplerLayersIter *iter);
/* Export to ps */
#define POPPLER_TYPE_PS_FILE (poppler_ps_file_get_type ())
#define POPPLER_PS_FILE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), POPPLER_TYPE_PS_FILE, PopplerPSFile))
#define POPPLER_IS_PS_FILE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), POPPLER_TYPE_PS_FILE))
+POPPLER_PUBLIC
GType poppler_ps_file_get_type (void) G_GNUC_CONST;
+POPPLER_PUBLIC
PopplerPSFile *poppler_ps_file_new (PopplerDocument *document,
const char *filename,
int first_page,
int n_pages);
+POPPLER_PUBLIC
void poppler_ps_file_set_paper_size (PopplerPSFile *ps_file,
double width,
double height);
+POPPLER_PUBLIC
void poppler_ps_file_set_duplex (PopplerPSFile *ps_file,
gboolean duplex);
+POPPLER_PUBLIC
void poppler_ps_file_free (PopplerPSFile *ps_file);
diff --git a/glib/poppler-enums.h.template b/glib/poppler-enums.h.template
index 5d056dd5..84c5b7d0 100644
--- a/glib/poppler-enums.h.template
+++ b/glib/poppler-enums.h.template
@@ -5,6 +5,8 @@
#include <glib-object.h>
+#include "poppler.h"
+
G_BEGIN_DECLS
/*** END file-header ***/
@@ -14,6 +16,7 @@ G_BEGIN_DECLS
/*** END file-production ***/
/*** BEGIN value-header ***/
+POPPLER_PUBLIC
GType @enum_name at _get_type (void) G_GNUC_CONST;
#define POPPLER_TYPE_ at ENUMSHORT@ (@enum_name at _get_type ())
/*** END value-header ***/
diff --git a/glib/poppler-form-field.h b/glib/poppler-form-field.h
index 898e0f6c..94774860 100644
--- a/glib/poppler-form-field.h
+++ b/glib/poppler-form-field.h
@@ -58,52 +58,85 @@ typedef enum
POPPLER_FORM_CHOICE_LIST
} PopplerFormChoiceType;
+POPPLER_PUBLIC
GType poppler_form_field_get_type (void) G_GNUC_CONST;
+POPPLER_PUBLIC
PopplerFormFieldType poppler_form_field_get_field_type (PopplerFormField *field);
+POPPLER_PUBLIC
gint poppler_form_field_get_id (PopplerFormField *field);
+POPPLER_PUBLIC
gdouble poppler_form_field_get_font_size (PopplerFormField *field);
+POPPLER_PUBLIC
gboolean poppler_form_field_is_read_only (PopplerFormField *field);
+POPPLER_PUBLIC
gchar *poppler_form_field_get_partial_name (PopplerFormField *field);
+POPPLER_PUBLIC
gchar *poppler_form_field_get_mapping_name (PopplerFormField *field);
+POPPLER_PUBLIC
gchar *poppler_form_field_get_name (PopplerFormField *field);
+POPPLER_PUBLIC
PopplerAction *poppler_form_field_get_action (PopplerFormField *field);
/* Button Field */
+POPPLER_PUBLIC
PopplerFormButtonType poppler_form_field_button_get_button_type (PopplerFormField *field);
+POPPLER_PUBLIC
gboolean poppler_form_field_button_get_state (PopplerFormField *field);
+POPPLER_PUBLIC
void poppler_form_field_button_set_state (PopplerFormField *field,
gboolean state);
/* Text Field */
+POPPLER_PUBLIC
PopplerFormTextType poppler_form_field_text_get_text_type (PopplerFormField *field);
+POPPLER_PUBLIC
gchar *poppler_form_field_text_get_text (PopplerFormField *field);
+POPPLER_PUBLIC
void poppler_form_field_text_set_text (PopplerFormField *field,
const gchar *text);
+POPPLER_PUBLIC
gint poppler_form_field_text_get_max_len (PopplerFormField *field);
+POPPLER_PUBLIC
gboolean poppler_form_field_text_do_spell_check (PopplerFormField *field);
+POPPLER_PUBLIC
gboolean poppler_form_field_text_do_scroll (PopplerFormField *field);
+POPPLER_PUBLIC
gboolean poppler_form_field_text_is_rich_text (PopplerFormField *field);
+POPPLER_PUBLIC
gboolean poppler_form_field_text_is_password (PopplerFormField *field);
/* Choice Field */
+POPPLER_PUBLIC
PopplerFormChoiceType poppler_form_field_choice_get_choice_type (PopplerFormField *field);
+POPPLER_PUBLIC
gboolean poppler_form_field_choice_is_editable (PopplerFormField *field);
+POPPLER_PUBLIC
gboolean poppler_form_field_choice_can_select_multiple (PopplerFormField *field);
+POPPLER_PUBLIC
gboolean poppler_form_field_choice_do_spell_check (PopplerFormField *field);
+POPPLER_PUBLIC
gboolean poppler_form_field_choice_commit_on_change (PopplerFormField *field);
+POPPLER_PUBLIC
gint poppler_form_field_choice_get_n_items (PopplerFormField *field);
+POPPLER_PUBLIC
gchar *poppler_form_field_choice_get_item (PopplerFormField *field,
gint index);
+POPPLER_PUBLIC
gboolean poppler_form_field_choice_is_item_selected (PopplerFormField *field,
gint index);
+POPPLER_PUBLIC
void poppler_form_field_choice_select_item (PopplerFormField *field,
gint index);
+POPPLER_PUBLIC
void poppler_form_field_choice_unselect_all (PopplerFormField *field);
+POPPLER_PUBLIC
void poppler_form_field_choice_toggle_item (PopplerFormField *field,
gint index);
+POPPLER_PUBLIC
void poppler_form_field_choice_set_text (PopplerFormField *field,
const gchar *text);
+POPPLER_PUBLIC
gchar *poppler_form_field_choice_get_text (PopplerFormField *field);
G_END_DECLS
diff --git a/glib/poppler-layer.h b/glib/poppler-layer.h
index 2434e275..69637232 100644
--- a/glib/poppler-layer.h
+++ b/glib/poppler-layer.h
@@ -29,13 +29,20 @@ G_BEGIN_DECLS
#define POPPLER_LAYER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), POPPLER_TYPE_LAYER, PopplerLayer))
#define POPPLER_IS_LAYER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), POPPLER_TYPE_LAYER))
+POPPLER_PUBLIC
GType poppler_layer_get_type (void) G_GNUC_CONST;
+POPPLER_PUBLIC
const gchar *poppler_layer_get_title (PopplerLayer *layer);
+POPPLER_PUBLIC
gboolean poppler_layer_is_visible (PopplerLayer *layer);
+POPPLER_PUBLIC
void poppler_layer_show (PopplerLayer *layer);
+POPPLER_PUBLIC
void poppler_layer_hide (PopplerLayer *layer);
+POPPLER_PUBLIC
gboolean poppler_layer_is_parent (PopplerLayer *layer);
+POPPLER_PUBLIC
gint poppler_layer_get_radio_button_group_id (PopplerLayer *layer);
G_END_DECLS
diff --git a/glib/poppler-macros.h b/glib/poppler-macros.h
new file mode 100644
index 00000000..58ced396
--- /dev/null
+++ b/glib/poppler-macros.h
@@ -0,0 +1,33 @@
+/*
+ * Copyright © 2018 Christian Persch
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2, or (at your option)
+ * any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+
+#ifndef __POPPLER_MACROS_H__
+#define __POPPLER_MACROS_H__
+
+/**
+ * POPPLER_PUBLIC:
+ */
+#if defined(_WIN32)
+# define POPPLER_PUBLIC __declspec(dllexport)
+#elif defined(__GNUC__)
+# define POPPLER_PUBLIC __attribute__((visibility("default"))) extern
+#else
+# define POPPLER_PUBLIC
+#endif
+
+#endif /* __POPPLER_MACROS_H__ */
diff --git a/glib/poppler-media.h b/glib/poppler-media.h
index 292d3866..6af8d59c 100644
--- a/glib/poppler-media.h
+++ b/glib/poppler-media.h
@@ -55,13 +55,19 @@ typedef gboolean (*PopplerMediaSaveFunc) (const gchar *buf,
gpointer data,
GError **error);
+POPPLER_PUBLIC
GType poppler_media_get_type (void) G_GNUC_CONST;
+POPPLER_PUBLIC
gboolean poppler_media_is_embedded (PopplerMedia *poppler_media);
+POPPLER_PUBLIC
const gchar *poppler_media_get_filename (PopplerMedia *poppler_media);
+POPPLER_PUBLIC
const gchar *poppler_media_get_mime_type (PopplerMedia *poppler_media);
+POPPLER_PUBLIC
gboolean poppler_media_save (PopplerMedia *poppler_media,
const char *filename,
GError **error);
+POPPLER_PUBLIC
gboolean poppler_media_save_to_callback (PopplerMedia *poppler_media,
PopplerMediaSaveFunc save_func,
gpointer user_data,
diff --git a/glib/poppler-movie.h b/glib/poppler-movie.h
index d76522a3..02c07650 100644
--- a/glib/poppler-movie.h
+++ b/glib/poppler-movie.h
@@ -51,10 +51,15 @@ typedef enum
POPPLER_MOVIE_PLAY_MODE_PALINDROME
} PopplerMoviePlayMode;
+POPPLER_PUBLIC
GType poppler_movie_get_type (void) G_GNUC_CONST;
+POPPLER_PUBLIC
const gchar *poppler_movie_get_filename (PopplerMovie *poppler_movie);
+POPPLER_PUBLIC
gboolean poppler_movie_need_poster (PopplerMovie *poppler_movie);
+POPPLER_PUBLIC
gboolean poppler_movie_show_controls (PopplerMovie *poppler_movie);
+POPPLER_PUBLIC
PopplerMoviePlayMode poppler_movie_get_play_mode (PopplerMovie *poppler_movie);
G_END_DECLS
diff --git a/glib/poppler-page.h b/glib/poppler-page.h
index fdbfd38e..487b3656 100644
--- a/glib/poppler-page.h
+++ b/glib/poppler-page.h
@@ -32,16 +32,22 @@ G_BEGIN_DECLS
#define POPPLER_IS_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), POPPLER_TYPE_PAGE))
+POPPLER_PUBLIC
GType poppler_page_get_type (void) G_GNUC_CONST;
+POPPLER_PUBLIC
void poppler_page_render (PopplerPage *page,
cairo_t *cairo);
+POPPLER_PUBLIC
void poppler_page_render_for_printing (PopplerPage *page,
cairo_t *cairo);
+POPPLER_PUBLIC
void poppler_page_render_for_printing_with_options (PopplerPage *page,
cairo_t *cairo,
PopplerPrintFlags options);
+POPPLER_PUBLIC
cairo_surface_t *poppler_page_get_thumbnail (PopplerPage *page);
+POPPLER_PUBLIC
void poppler_page_render_selection (PopplerPage *page,
cairo_t *cairo,
PopplerRectangle *selection,
@@ -50,63 +56,95 @@ void poppler_page_render_selection (PopplerPage *pa
PopplerColor *glyph_color,
PopplerColor *background_color);
+POPPLER_PUBLIC
void poppler_page_get_size (PopplerPage *page,
double *width,
double *height);
+POPPLER_PUBLIC
int poppler_page_get_index (PopplerPage *page);
+POPPLER_PUBLIC
gchar *poppler_page_get_label (PopplerPage *page);
+POPPLER_PUBLIC
double poppler_page_get_duration (PopplerPage *page);
+POPPLER_PUBLIC
PopplerPageTransition *poppler_page_get_transition (PopplerPage *page);
+POPPLER_PUBLIC
gboolean poppler_page_get_thumbnail_size (PopplerPage *page,
int *width,
int *height);
+POPPLER_PUBLIC
GList *poppler_page_find_text_with_options (PopplerPage *page,
const char *text,
PopplerFindFlags options);
+POPPLER_PUBLIC
GList *poppler_page_find_text (PopplerPage *page,
const char *text);
+POPPLER_PUBLIC
void poppler_page_render_to_ps (PopplerPage *page,
PopplerPSFile *ps_file);
+POPPLER_PUBLIC
char *poppler_page_get_text (PopplerPage *page);
+POPPLER_PUBLIC
char *poppler_page_get_text_for_area (PopplerPage *page,
PopplerRectangle *area);
+POPPLER_PUBLIC
char *poppler_page_get_selected_text (PopplerPage *page,
PopplerSelectionStyle style,
PopplerRectangle *selection);
+POPPLER_PUBLIC
cairo_region_t *poppler_page_get_selected_region (PopplerPage *page,
gdouble scale,
PopplerSelectionStyle style,
PopplerRectangle *selection);
+POPPLER_PUBLIC
GList *poppler_page_get_selection_region (PopplerPage *page,
gdouble scale,
PopplerSelectionStyle style,
PopplerRectangle *selection);
+POPPLER_PUBLIC
void poppler_page_selection_region_free(GList *region);
+POPPLER_PUBLIC
GList *poppler_page_get_link_mapping (PopplerPage *page);
+POPPLER_PUBLIC
void poppler_page_free_link_mapping (GList *list);
+POPPLER_PUBLIC
GList *poppler_page_get_image_mapping (PopplerPage *page);
+POPPLER_PUBLIC
void poppler_page_free_image_mapping (GList *list);
+POPPLER_PUBLIC
cairo_surface_t *poppler_page_get_image (PopplerPage *page,
gint image_id);
+POPPLER_PUBLIC
GList *poppler_page_get_form_field_mapping (PopplerPage *page);
+POPPLER_PUBLIC
void poppler_page_free_form_field_mapping (GList *list);
+POPPLER_PUBLIC
GList *poppler_page_get_annot_mapping (PopplerPage *page);
+POPPLER_PUBLIC
void poppler_page_free_annot_mapping (GList *list);
+POPPLER_PUBLIC
void poppler_page_add_annot (PopplerPage *page,
PopplerAnnot *annot);
+POPPLER_PUBLIC
void poppler_page_remove_annot (PopplerPage *page,
PopplerAnnot *annot);
+POPPLER_PUBLIC
void poppler_page_get_crop_box (PopplerPage *page,
PopplerRectangle *rect);
+POPPLER_PUBLIC
gboolean poppler_page_get_text_layout (PopplerPage *page,
PopplerRectangle **rectangles,
guint *n_rectangles);
+POPPLER_PUBLIC
gboolean poppler_page_get_text_layout_for_area (PopplerPage *page,
PopplerRectangle *area,
PopplerRectangle **rectangles,
guint *n_rectangles);
+POPPLER_PUBLIC
GList *poppler_page_get_text_attributes (PopplerPage *page);
+POPPLER_PUBLIC
void poppler_page_free_text_attributes (GList *list);
+POPPLER_PUBLIC
GList * poppler_page_get_text_attributes_for_area (PopplerPage *page,
PopplerRectangle *area);
@@ -130,9 +168,13 @@ struct _PopplerRectangle
gdouble y2;
};
+POPPLER_PUBLIC
GType poppler_rectangle_get_type (void) G_GNUC_CONST;
+POPPLER_PUBLIC
PopplerRectangle *poppler_rectangle_new (void);
+POPPLER_PUBLIC
PopplerRectangle *poppler_rectangle_copy (PopplerRectangle *rectangle);
+POPPLER_PUBLIC
void poppler_rectangle_free (PopplerRectangle *rectangle);
/* A point on a page, with coordinates in PDF points. */
@@ -150,9 +192,13 @@ struct _PopplerPoint
gdouble y;
};
+POPPLER_PUBLIC
GType poppler_point_get_type (void) G_GNUC_CONST;
+POPPLER_PUBLIC
PopplerPoint *poppler_point_new (void);
+POPPLER_PUBLIC
PopplerPoint *poppler_point_copy (PopplerPoint *point);
+POPPLER_PUBLIC
void poppler_point_free (PopplerPoint *point);
/* PopplerQuadrilateral */
@@ -183,9 +229,13 @@ struct _PopplerQuadrilateral
PopplerPoint p4;
};
+POPPLER_PUBLIC
GType poppler_quadrilateral_get_type (void) G_GNUC_CONST;
+POPPLER_PUBLIC
PopplerQuadrilateral *poppler_quadrilateral_new (void);
+POPPLER_PUBLIC
PopplerQuadrilateral *poppler_quadrilateral_copy (PopplerQuadrilateral *quad);
+POPPLER_PUBLIC
void poppler_quadrilateral_free (PopplerQuadrilateral *quad);
/* A color in RGB */
@@ -207,9 +257,13 @@ struct _PopplerColor
guint16 blue;
};
+POPPLER_PUBLIC
GType poppler_color_get_type (void) G_GNUC_CONST;
+POPPLER_PUBLIC
PopplerColor *poppler_color_new (void);
+POPPLER_PUBLIC
PopplerColor *poppler_color_copy (PopplerColor *color);
+POPPLER_PUBLIC
void poppler_color_free (PopplerColor *color);
/* Text attributes. */
@@ -238,9 +292,13 @@ struct _PopplerTextAttributes
gint end_index;
};
+POPPLER_PUBLIC
GType poppler_text_attributes_get_type (void) G_GNUC_CONST;
+POPPLER_PUBLIC
PopplerTextAttributes *poppler_text_attributes_new (void);
+POPPLER_PUBLIC
PopplerTextAttributes *poppler_text_attributes_copy (PopplerTextAttributes *text_attrs);
+POPPLER_PUBLIC
void poppler_text_attributes_free (PopplerTextAttributes *text_attrs);
/* Mapping between areas on the current page and PopplerActions */
@@ -260,9 +318,13 @@ struct _PopplerLinkMapping
PopplerAction *action;
};
+POPPLER_PUBLIC
GType poppler_link_mapping_get_type (void) G_GNUC_CONST;
+POPPLER_PUBLIC
PopplerLinkMapping *poppler_link_mapping_new (void);
+POPPLER_PUBLIC
PopplerLinkMapping *poppler_link_mapping_copy (PopplerLinkMapping *mapping);
+POPPLER_PUBLIC
void poppler_link_mapping_free (PopplerLinkMapping *mapping);
/* Page Transition */
@@ -302,9 +364,13 @@ struct _PopplerPageTransition
gdouble duration_real;
};
+POPPLER_PUBLIC
GType poppler_page_transition_get_type (void) G_GNUC_CONST;
+POPPLER_PUBLIC
PopplerPageTransition *poppler_page_transition_new (void);
+POPPLER_PUBLIC
PopplerPageTransition *poppler_page_transition_copy (PopplerPageTransition *transition);
+POPPLER_PUBLIC
void poppler_page_transition_free (PopplerPageTransition *transition);
/* Mapping between areas on the current page and images */
@@ -324,9 +390,13 @@ struct _PopplerImageMapping
gint image_id;
};
+POPPLER_PUBLIC
GType poppler_image_mapping_get_type (void) G_GNUC_CONST;
+POPPLER_PUBLIC
PopplerImageMapping *poppler_image_mapping_new (void);
+POPPLER_PUBLIC
PopplerImageMapping *poppler_image_mapping_copy (PopplerImageMapping *mapping);
+POPPLER_PUBLIC
void poppler_image_mapping_free (PopplerImageMapping *mapping);
/* Mapping between areas on the current page and form fields */
@@ -346,9 +416,13 @@ struct _PopplerFormFieldMapping
PopplerFormField *field;
};
+POPPLER_PUBLIC
GType poppler_form_field_mapping_get_type (void) G_GNUC_CONST;
+POPPLER_PUBLIC
PopplerFormFieldMapping *poppler_form_field_mapping_new (void);
+POPPLER_PUBLIC
PopplerFormFieldMapping *poppler_form_field_mapping_copy (PopplerFormFieldMapping *mapping);
+POPPLER_PUBLIC
void poppler_form_field_mapping_free (PopplerFormFieldMapping *mapping);
/* Mapping between areas on the current page and annots */
@@ -368,9 +442,13 @@ struct _PopplerAnnotMapping
PopplerAnnot *annot;
};
+POPPLER_PUBLIC
GType poppler_annot_mapping_get_type (void) G_GNUC_CONST;
+POPPLER_PUBLIC
PopplerAnnotMapping *poppler_annot_mapping_new (void);
+POPPLER_PUBLIC
PopplerAnnotMapping *poppler_annot_mapping_copy (PopplerAnnotMapping *mapping);
+POPPLER_PUBLIC
void poppler_annot_mapping_free (PopplerAnnotMapping *mapping);
G_END_DECLS
diff --git a/glib/poppler-structure-element.h b/glib/poppler-structure-element.h
index 3848c210..271f28a0 100644
--- a/glib/poppler-structure-element.h
+++ b/glib/poppler-structure-element.h
@@ -250,106 +250,178 @@ typedef enum {
} PopplerStructureTableScope;
+POPPLER_PUBLIC
GType poppler_structure_element_get_type (void) G_GNUC_CONST;
+POPPLER_PUBLIC
PopplerStructureElementKind poppler_structure_element_get_kind (PopplerStructureElement *poppler_structure_element);
+POPPLER_PUBLIC
gint poppler_structure_element_get_page (PopplerStructureElement *poppler_structure_element);
+POPPLER_PUBLIC
gboolean poppler_structure_element_is_content (PopplerStructureElement *poppler_structure_element);
+POPPLER_PUBLIC
gboolean poppler_structure_element_is_inline (PopplerStructureElement *poppler_structure_element);
+POPPLER_PUBLIC
gboolean poppler_structure_element_is_block (PopplerStructureElement *poppler_structure_element);
+POPPLER_PUBLIC
gboolean poppler_structure_element_is_grouping (PopplerStructureElement *poppler_structure_element);
+POPPLER_PUBLIC
gchar *poppler_structure_element_get_id (PopplerStructureElement *poppler_structure_element);
+POPPLER_PUBLIC
gchar *poppler_structure_element_get_title (PopplerStructureElement *poppler_structure_element);
+POPPLER_PUBLIC
gchar *poppler_structure_element_get_abbreviation (PopplerStructureElement *poppler_structure_element);
+POPPLER_PUBLIC
gchar *poppler_structure_element_get_language (PopplerStructureElement *poppler_structure_element);
+POPPLER_PUBLIC
gchar *poppler_structure_element_get_text (PopplerStructureElement *poppler_structure_element,
PopplerStructureGetTextFlags flags);
+POPPLER_PUBLIC
gchar *poppler_structure_element_get_alt_text (PopplerStructureElement *poppler_structure_element);
+POPPLER_PUBLIC
gchar *poppler_structure_element_get_actual_text (PopplerStructureElement *poppler_structure_element);
+POPPLER_PUBLIC
PopplerTextSpan **poppler_structure_element_get_text_spans (PopplerStructureElement *poppler_structure_element,
guint *n_text_spans);
+POPPLER_PUBLIC
PopplerStructurePlacement poppler_structure_element_get_placement (PopplerStructureElement *poppler_structure_element);
+POPPLER_PUBLIC
PopplerStructureWritingMode poppler_structure_element_get_writing_mode (PopplerStructureElement *poppler_structure_element);
+POPPLER_PUBLIC
gboolean poppler_structure_element_get_background_color (PopplerStructureElement *poppler_structure_element,
PopplerColor *color);
+POPPLER_PUBLIC
gboolean poppler_structure_element_get_border_color (PopplerStructureElement *poppler_structure_element,
PopplerColor *colors);
+POPPLER_PUBLIC
void poppler_structure_element_get_border_style (PopplerStructureElement *poppler_structure_element,
PopplerStructureBorderStyle *border_styles);
+POPPLER_PUBLIC
gboolean poppler_structure_element_get_border_thickness (PopplerStructureElement *poppler_structure_element,
gdouble *border_thicknesses);
+POPPLER_PUBLIC
void poppler_structure_element_get_padding (PopplerStructureElement *poppler_structure_element,
gdouble *paddings);
+POPPLER_PUBLIC
gboolean poppler_structure_element_get_color (PopplerStructureElement *poppler_structure_element,
PopplerColor *color);
+POPPLER_PUBLIC
gdouble poppler_structure_element_get_space_before (PopplerStructureElement *poppler_structure_element);
+POPPLER_PUBLIC
gdouble poppler_structure_element_get_space_after (PopplerStructureElement *poppler_structure_element);
+POPPLER_PUBLIC
gdouble poppler_structure_element_get_start_indent (PopplerStructureElement *poppler_structure_element);
+POPPLER_PUBLIC
gdouble poppler_structure_element_get_end_indent (PopplerStructureElement *poppler_structure_element);
+POPPLER_PUBLIC
gdouble poppler_structure_element_get_text_indent (PopplerStructureElement *poppler_structure_element);
+POPPLER_PUBLIC
PopplerStructureTextAlign poppler_structure_element_get_text_align (PopplerStructureElement *poppler_structure_element);
+POPPLER_PUBLIC
gboolean poppler_structure_element_get_bounding_box (PopplerStructureElement *poppler_structure_element,
PopplerRectangle *bounding_box);
+POPPLER_PUBLIC
gdouble poppler_structure_element_get_width (PopplerStructureElement *poppler_structure_element);
+POPPLER_PUBLIC
gdouble poppler_structure_element_get_height (PopplerStructureElement *poppler_structure_element);
+POPPLER_PUBLIC
PopplerStructureBlockAlign poppler_structure_element_get_block_align (PopplerStructureElement *poppler_structure_element);
+POPPLER_PUBLIC
PopplerStructureInlineAlign poppler_structure_element_get_inline_align (PopplerStructureElement *poppler_structure_element);
+POPPLER_PUBLIC
void poppler_structure_element_get_table_border_style (PopplerStructureElement *poppler_structure_element,
PopplerStructureBorderStyle *border_styles);
+POPPLER_PUBLIC
void poppler_structure_element_get_table_padding (PopplerStructureElement *poppler_structure_element,
gdouble *paddings);
+POPPLER_PUBLIC
gdouble poppler_structure_element_get_baseline_shift (PopplerStructureElement *poppler_structure_element);
+POPPLER_PUBLIC
gdouble poppler_structure_element_get_line_height (PopplerStructureElement *poppler_structure_element);
+POPPLER_PUBLIC
gboolean poppler_structure_element_get_text_decoration_color
(PopplerStructureElement *poppler_structure_element,
PopplerColor *color);
+POPPLER_PUBLIC
gdouble poppler_structure_element_get_text_decoration_thickness
(PopplerStructureElement *poppler_structure_element);
+POPPLER_PUBLIC
PopplerStructureTextDecoration poppler_structure_element_get_text_decoration_type
(PopplerStructureElement *poppler_structure_element);
+POPPLER_PUBLIC
PopplerStructureRubyAlign poppler_structure_element_get_ruby_align (PopplerStructureElement *poppler_structure_element);
+POPPLER_PUBLIC
PopplerStructureRubyPosition poppler_structure_element_get_ruby_position (PopplerStructureElement *poppler_structure_element);
+POPPLER_PUBLIC
PopplerStructureGlyphOrientation poppler_structure_element_get_glyph_orientation (PopplerStructureElement *poppler_structure_element);
+POPPLER_PUBLIC
guint poppler_structure_element_get_column_count (PopplerStructureElement *poppler_structure_element);
+POPPLER_PUBLIC
gdouble *poppler_structure_element_get_column_gaps (PopplerStructureElement *poppler_structure_element,
guint *n_values);
+POPPLER_PUBLIC
gdouble *poppler_structure_element_get_column_widths (PopplerStructureElement *poppler_structure_element,
guint *n_values);
+POPPLER_PUBLIC
PopplerStructureListNumbering poppler_structure_element_get_list_numbering (PopplerStructureElement *poppler_structure_element);
+POPPLER_PUBLIC
PopplerStructureFormRole poppler_structure_element_get_form_role (PopplerStructureElement *poppler_structure_element);
+POPPLER_PUBLIC
PopplerStructureFormState poppler_structure_element_get_form_state (PopplerStructureElement *poppler_structure_element);
+POPPLER_PUBLIC
gchar *poppler_structure_element_get_form_description (PopplerStructureElement *poppler_structure_element);
+POPPLER_PUBLIC
guint poppler_structure_element_get_table_row_span (PopplerStructureElement *poppler_structure_element);
+POPPLER_PUBLIC
guint poppler_structure_element_get_table_column_span (PopplerStructureElement *poppler_structure_element);
+POPPLER_PUBLIC
gchar **poppler_structure_element_get_table_headers (PopplerStructureElement *poppler_structure_element);
+POPPLER_PUBLIC
PopplerStructureTableScope poppler_structure_element_get_table_scope (PopplerStructureElement *poppler_structure_element);
+POPPLER_PUBLIC
gchar *poppler_structure_element_get_table_summary (PopplerStructureElement *poppler_structure_element);
#define POPPLER_TYPE_STRUCTURE_ELEMENT_ITER (poppler_structure_element_iter_get_type ())
+POPPLER_PUBLIC
GType poppler_structure_element_iter_get_type (void) G_GNUC_CONST;
+POPPLER_PUBLIC
PopplerStructureElementIter *poppler_structure_element_iter_new (PopplerDocument *poppler_document);
+POPPLER_PUBLIC
PopplerStructureElementIter *poppler_structure_element_iter_get_child (PopplerStructureElementIter *parent);
+POPPLER_PUBLIC
PopplerStructureElementIter *poppler_structure_element_iter_copy (PopplerStructureElementIter *iter);
+POPPLER_PUBLIC
PopplerStructureElement *poppler_structure_element_iter_get_element (PopplerStructureElementIter *iter);
+POPPLER_PUBLIC
gboolean poppler_structure_element_iter_next (PopplerStructureElementIter *iter);
+POPPLER_PUBLIC
void poppler_structure_element_iter_free (PopplerStructureElementIter *iter);
#define POPPLER_TYPE_TEXT_SPAN (poppler_text_span_get_type ())
+POPPLER_PUBLIC
GType poppler_text_span_get_type (void) G_GNUC_CONST;
+POPPLER_PUBLIC
PopplerTextSpan *poppler_text_span_copy (PopplerTextSpan *poppler_text_span);
+POPPLER_PUBLIC
void poppler_text_span_free (PopplerTextSpan *poppler_text_span);
+POPPLER_PUBLIC
gboolean poppler_text_span_is_fixed_width_font (PopplerTextSpan *poppler_text_span);
+POPPLER_PUBLIC
gboolean poppler_text_span_is_serif_font (PopplerTextSpan *poppler_text_span);
+POPPLER_PUBLIC
gboolean poppler_text_span_is_bold_font (PopplerTextSpan *poppler_text_span);
+POPPLER_PUBLIC
void poppler_text_span_get_color (PopplerTextSpan *poppler_text_span,
PopplerColor *color);
+POPPLER_PUBLIC
const gchar *poppler_text_span_get_text (PopplerTextSpan *poppler_text_span);
+POPPLER_PUBLIC
const gchar *poppler_text_span_get_font_name (PopplerTextSpan *poppler_text_span);
G_END_DECLS
diff --git a/glib/poppler.h b/glib/poppler.h
index 1e78050e..c0a6cd34 100644
--- a/glib/poppler.h
+++ b/glib/poppler.h
@@ -21,8 +21,11 @@
#include <glib-object.h>
+#include "poppler-macros.h"
+
G_BEGIN_DECLS
+POPPLER_PUBLIC
GQuark poppler_error_quark (void);
#define POPPLER_ERROR poppler_error_quark ()
@@ -220,7 +223,9 @@ typedef enum
POPPLER_BACKEND_CAIRO
} PopplerBackend;
+POPPLER_PUBLIC
PopplerBackend poppler_get_backend (void);
+POPPLER_PUBLIC
const char * poppler_get_version (void);
G_END_DECLS
commit 1d8df8e36b5627a4dffbfe76e384022daf6e4eb1
Author: Christian Persch <chpe at src.gnome.org>
Date: Fri Oct 19 23:48:49 2018 +0200
pdf-inspector: Link to the right libraries
pdf-inspector doesn't use libpoppler-glib, but linked to it.
Changing it to link only to libpoppler revealed that it
used lots of symbols from poppler-glib that poppler-glib
should not export. Fix that by adding the necessary sources
to the pdf-inspector sources and linking to the libraries
needed by these sources (freetype, pthreads).
diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt
index b6c1df29..875da791 100644
--- a/test/CMakeLists.txt
+++ b/test/CMakeLists.txt
@@ -37,9 +37,15 @@ if (GTK_FOUND)
set (pdf_inspector_SRCS
pdf-inspector.cc
+ ${CMAKE_SOURCE_DIR}/poppler/CairoFontEngine.cc
+ ${CMAKE_SOURCE_DIR}/poppler/CairoOutputDev.cc
+ ${CMAKE_SOURCE_DIR}/poppler/CairoRescaleBox.cc
)
poppler_add_test(pdf-inspector BUILD_GTK_TESTS ${pdf_inspector_SRCS})
- target_link_libraries(pdf-inspector ${CAIRO_LIBRARIES} poppler-glib ${GTK3_LIBRARIES})
+ target_link_libraries(pdf-inspector ${CAIRO_LIBRARIES} ${FREETYPE_LIBRARIES} ${common_libs} ${GTK3_LIBRARIES} poppler)
+ if(CMAKE_USE_PTHREADS_INIT)
+ target_link_libraries(pdf-inspector Threads::Threads)
+ endif()
endif ()
More information about the poppler
mailing list