From 8650255944ac4e9364396dcb7662d7bd76b54561 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Germ=C3=A1n=20Poo-Caama=C3=B1o?= Date: Mon, 18 Nov 2013 16:42:08 -0800 Subject: [PATCH] glib: Add PopplerAnnotTextMarkup class and subtypes The subtypes are: Highlihght, Squiggly, StrikeOut and Underline. It adds convenient methods to set/get/free quadrilaterals necessaries for TextMarkup annotations. https://bugs.freedesktop.org/show_bug.cgi?id=51487 --- glib/poppler-annot.cc | 374 +++++++++++++++++++++++++++++++++++ glib/poppler-annot.h | 31 +++ glib/poppler-page.cc | 6 + glib/poppler-private.h | 1 + glib/poppler.h | 1 + glib/reference/poppler-sections.txt | 15 ++ 6 files changed, 428 insertions(+) diff --git a/glib/poppler-annot.cc b/glib/poppler-annot.cc index 07c4ed0..970b9f6 100644 --- a/glib/poppler-annot.cc +++ b/glib/poppler-annot.cc @@ -33,6 +33,7 @@ typedef struct _PopplerAnnotClass PopplerAnnotClass; typedef struct _PopplerAnnotMarkupClass PopplerAnnotMarkupClass; typedef struct _PopplerAnnotFreeTextClass PopplerAnnotFreeTextClass; typedef struct _PopplerAnnotTextClass PopplerAnnotTextClass; +typedef struct _PopplerAnnotTextMarkupClass PopplerAnnotTextMarkupClass; typedef struct _PopplerAnnotFileAttachmentClass PopplerAnnotFileAttachmentClass; typedef struct _PopplerAnnotMovieClass PopplerAnnotMovieClass; typedef struct _PopplerAnnotScreenClass PopplerAnnotScreenClass; @@ -65,6 +66,16 @@ struct _PopplerAnnotTextClass PopplerAnnotMarkupClass parent_class; }; +struct _PopplerAnnotTextMarkup +{ + PopplerAnnotMarkup parent_instance; +}; + +struct _PopplerAnnotTextMarkupClass +{ + PopplerAnnotMarkupClass parent_class; +}; + struct _PopplerAnnotFreeText { PopplerAnnotMarkup parent_instance; @@ -141,6 +152,7 @@ struct _PopplerAnnotSquareClass G_DEFINE_TYPE (PopplerAnnot, poppler_annot, G_TYPE_OBJECT) G_DEFINE_TYPE (PopplerAnnotMarkup, poppler_annot_markup, POPPLER_TYPE_ANNOT) +G_DEFINE_TYPE (PopplerAnnotTextMarkup, poppler_annot_text_markup, POPPLER_TYPE_ANNOT_MARKUP) G_DEFINE_TYPE (PopplerAnnotText, poppler_annot_text, POPPLER_TYPE_ANNOT_MARKUP) G_DEFINE_TYPE (PopplerAnnotFreeText, poppler_annot_free_text, POPPLER_TYPE_ANNOT_MARKUP) G_DEFINE_TYPE (PopplerAnnotFileAttachment, poppler_annot_file_attachment, POPPLER_TYPE_ANNOT_MARKUP) @@ -246,6 +258,276 @@ poppler_annot_text_new (PopplerDocument *doc, return _poppler_annot_text_new (annot); } +PopplerAnnot * +_poppler_annot_text_markup_new (Annot *annot) +{ + return _poppler_create_annot (POPPLER_TYPE_ANNOT_TEXT_MARKUP, annot); +} + +PopplerAnnot * +_poppler_annot_text_markup_new_with_quadrilaterals (AnnotTextMarkup *annot, GArray *quadrilaterals) +{ + AnnotQuadrilaterals *back_quads; + AnnotQuadrilaterals::AnnotQuadrilateral **quads_array; + PopplerQuadrilateral quadrilateral; + guint i; + + quads_array = (AnnotQuadrilaterals::AnnotQuadrilateral **) g_malloc0_n ( + sizeof (AnnotQuadrilaterals::AnnotQuadrilateral *), + quadrilaterals->len); + + for (i = 0; i < quadrilaterals->len; i++) { + quadrilateral = g_array_index (quadrilaterals, PopplerQuadrilateral, i); + + quads_array[i] = new AnnotQuadrilaterals::AnnotQuadrilateral ( + quadrilateral.p1.x, quadrilateral.p1.y, + quadrilateral.p2.x, quadrilateral.p2.y, + quadrilateral.p3.x, quadrilateral.p3.y, + quadrilateral.p4.x, quadrilateral.p4.y); + } + + back_quads = new AnnotQuadrilaterals (quads_array, i); + annot->setQuadrilaterals (back_quads); + + return _poppler_create_annot (POPPLER_TYPE_ANNOT_TEXT_MARKUP, annot); +} + +static void +poppler_annot_text_markup_init (PopplerAnnotTextMarkup *poppler_annot) +{ +} + +static void +poppler_annot_text_markup_class_init (PopplerAnnotTextMarkupClass *klass) +{ +} + +/** + * poppler_annot_text_markup_new_highlight: + * @doc: a #PopplerDocument + * @rect: a #PopplerRectangle + * + * Creates a new Highlight Text annotation that will be + * located on @rect when added to a page. See poppler_page_add_annot(). + * + * The newly created #PopplerAnnotTextMarkup will set a dummy + * Quadrilateral. + * + * Return value: A newly created #PopplerAnnotTextMarkup annotation + * + * Since: 0.26 + */ +PopplerAnnot * +poppler_annot_text_markup_new_highlight (PopplerDocument *doc, + PopplerRectangle *rect) +{ + Annot *annot; + PDFRectangle pdf_rect(rect->x1, rect->y1, + rect->x2, rect->y2); + + annot = new AnnotTextMarkup (doc->doc, &pdf_rect, Annot::typeHighlight); + + return _poppler_annot_text_markup_new (annot); +} + +/** + * poppler_annot_text_markup_new_highlight_with_quadrilaterals: + * @doc: a #PopplerDocument + * @rect: a #PopplerRectangle + * @quadrilaterals: (element-type PopplerQuadrilateral): A #GArray of + * #PopplerQuadrilaterals + * + * Creates a new Highlight Text annotation that will be + * located on @rect when added to a page. See poppler_page_add_annot() + * + * Return value: A newly created #PopplerAnnotTextMarkup annotation + * + * Since: 0.26 + */ +PopplerAnnot * +poppler_annot_text_markup_new_highlight_with_quadrilaterals (PopplerDocument *doc, + PopplerRectangle *rect, + GArray *quadrilaterals) +{ + AnnotTextMarkup *annot; + PDFRectangle pdf_rect(rect->x1, rect->y1, + rect->x2, rect->y2); + + g_return_val_if_fail (quadrilaterals != NULL, NULL); + + annot = new AnnotTextMarkup (doc->doc, &pdf_rect, Annot::typeHighlight); + + return _poppler_annot_text_markup_new_with_quadrilaterals (annot, quadrilaterals); +} + +/** + * poppler_annot_text_markup_new_squiggly: + * @doc: a #PopplerDocument + * @rect: a #PopplerRectangle + * + * Creates a new Squiggly Text annotation that will be + * located on @rect when added to a page. See poppler_page_add_annot() + * + * The newly created #PopplerAnnotTextMarkup will set a dummy + * Quadrilateral. + * + * Return value: A newly created #PopplerAnnotTextMarkup annotation + * + * Since: 0.26 + */ +PopplerAnnot * +poppler_annot_text_markup_new_squiggly (PopplerDocument *doc, + PopplerRectangle *rect) +{ + Annot *annot; + PDFRectangle pdf_rect(rect->x1, rect->y1, + rect->x2, rect->y2); + + annot = new AnnotTextMarkup (doc->doc, &pdf_rect, Annot::typeSquiggly); + + return _poppler_annot_text_markup_new (annot); +} + +/** + * poppler_annot_text_markup_new_squiggly_with_quadrilaterals: + * @doc: a #PopplerDocument + * @rect: a #PopplerRectangle + * @quadrilaterals: (element-type PopplerQuadrilateral): A #GArray of + * #PopplerQuadrilaterals + * + * Creates a new Squiggly Text annotation that will be + * located on @rect when added to a page. See poppler_page_add_annot() + * + * Return value: A newly created #PopplerAnnotTextMarkup annotation + * + * Since: 0.26 + */ +PopplerAnnot * +poppler_annot_text_markup_new_squiggly_with_quadrilaterals (PopplerDocument *doc, + PopplerRectangle *rect, + GArray *quadrilaterals) +{ + AnnotTextMarkup *annot; + PDFRectangle pdf_rect(rect->x1, rect->y1, + rect->x2, rect->y2); + + annot = new AnnotTextMarkup (doc->doc, &pdf_rect, Annot::typeSquiggly); + + return _poppler_annot_text_markup_new_with_quadrilaterals (annot, quadrilaterals); +} + +/** + * poppler_annot_text_markup_new_strikeout: + * @doc: a #PopplerDocument + * @rect: a #PopplerRectangle + * + * Creates a new Strike Out Text annotation that will be + * located on @rect when added to a page. See poppler_page_add_annot() + * + * The newly created #PopplerAnnotTextMarkup will set a dummy + * Quadrilateral. + * + * Return value: A newly created #PopplerAnnotTextMarkup annotation + * + * Since: 0.26 + */ +PopplerAnnot * +poppler_annot_text_markup_new_strikeout (PopplerDocument *doc, + PopplerRectangle *rect) +{ + Annot *annot; + PDFRectangle pdf_rect(rect->x1, rect->y1, + rect->x2, rect->y2); + + annot = new AnnotTextMarkup (doc->doc, &pdf_rect, Annot::typeStrikeOut); + + return _poppler_annot_text_markup_new (annot); +} + +/** + * poppler_annot_text_markup_new_strikeout_with_quadrilaterals: + * @doc: a #PopplerDocument + * @rect: a #PopplerRectangle + * @quadrilaterals: (element-type PopplerQuadrilateral): A #GArray of + * #PopplerQuadrilaterals + * + * Creates a new Strike Out Text annotation that will be + * located on @rect when added to a page. See poppler_page_add_annot() + * + * Return value: A newly created #PopplerAnnotTextMarkup annotation + * + * Since: 0.26 + */ +PopplerAnnot * +poppler_annot_text_markup_new_strikeout_with_quadrilaterals (PopplerDocument *doc, + PopplerRectangle *rect, + GArray *quadrilaterals) +{ + AnnotTextMarkup *annot; + PDFRectangle pdf_rect(rect->x1, rect->y1, + rect->x2, rect->y2); + + annot = new AnnotTextMarkup (doc->doc, &pdf_rect, Annot::typeStrikeOut); + + return _poppler_annot_text_markup_new_with_quadrilaterals (annot, quadrilaterals); +} + +/** + * poppler_annot_text_markup_new_underline: + * @doc: a #PopplerDocument + * @rect: a #PopplerRectangle + * + * Creates a new Underline Text annotation that will be + * located on @rect when added to a page. See poppler_page_add_annot() + * + * The newly created #PopplerAnnotTextMarkup will set a dummy + * Quadrilateral. + * + * Return value: A newly created #PopplerAnnotTextMarkup annotation + * + * Since: 0.26 + */ +PopplerAnnot * +poppler_annot_text_markup_new_underline (PopplerDocument *doc, + PopplerRectangle *rect) +{ + Annot *annot; + PDFRectangle pdf_rect(rect->x1, rect->y1, + rect->x2, rect->y2); + + annot = new AnnotTextMarkup (doc->doc, &pdf_rect, Annot::typeUnderline); + + return _poppler_annot_text_markup_new (annot); +} + +/** + * poppler_annot_text_markup_new_underline_with_quadrilaterals: + * @doc: a #PopplerDocument + * @rect: a #PopplerRectangle + * @quadrilaterals: (element-type PopplerQuadrilateral): A #GArray of + * #PopplerQuadrilaterals + * + * Creates a new Underline Text annotation that will be + * located on @rect when added to a page. See poppler_page_add_annot() + * + * Return value: A newly created #PopplerAnnotTextMarkup annotation + * + * Since: 0.26 + */ +PopplerAnnot * +poppler_annot_text_markup_new_underline_with_quadrilaterals (PopplerDocument *doc, + PopplerRectangle *rect, + GArray *quadrilaterals) +{ + AnnotTextMarkup *annot; + PDFRectangle pdf_rect(rect->x1, rect->y1, + rect->x2, rect->y2); + + annot = new AnnotTextMarkup (doc->doc, &pdf_rect, Annot::typeUnderline); + + return _poppler_annot_text_markup_new_with_quadrilaterals (annot, quadrilaterals); +} + static void poppler_annot_free_text_init (PopplerAnnotFreeText *poppler_annot) { @@ -1381,6 +1663,98 @@ poppler_annot_text_get_state (PopplerAnnotText *poppler_annot) return POPPLER_ANNOT_TEXT_STATE_UNKNOWN; } +/* PopplerAnnotTextMarkup */ +/** + * poppler_annot_text_markup_set_quadrilaterals: + * @poppler_annot: A #PopplerAnnotTextMarkup + * @quadrilaterals: (element-type PopplerQuadrilateral): A #GArray of + * #PopplerQuadrilaterals + * + * Set the regions (Quadrilaterals) to apply the text markup in @poppler_annot. + * + * Since: 0.26 + **/ +void +poppler_annot_text_markup_set_quadrilaterals (PopplerAnnotTextMarkup *poppler_annot, + GArray *quadrilaterals) +{ + AnnotTextMarkup *annot; + AnnotQuadrilaterals *back_quads; + AnnotQuadrilaterals::AnnotQuadrilateral **quads_array; + PopplerQuadrilateral quadrilateral; + guint i; + + g_return_if_fail (POPPLER_IS_ANNOT_TEXT_MARKUP (poppler_annot)); + g_return_if_fail (quadrilaterals != NULL); + + annot = static_cast(POPPLER_ANNOT (poppler_annot)->annot); + + quads_array = (AnnotQuadrilaterals::AnnotQuadrilateral **) g_malloc0_n ( + sizeof (AnnotQuadrilaterals::AnnotQuadrilateral *), + quadrilaterals->len); + + for (i = 0; i < quadrilaterals->len; i++) { + quadrilateral = g_array_index (quadrilaterals, PopplerQuadrilateral, i); + + quads_array[i] = new AnnotQuadrilaterals::AnnotQuadrilateral ( + quadrilateral.p1.x, quadrilateral.p1.y, + quadrilateral.p2.x, quadrilateral.p2.y, + quadrilateral.p3.x, quadrilateral.p3.y, + quadrilateral.p4.x, quadrilateral.p4.y); + } + + back_quads = new AnnotQuadrilaterals (quads_array, i); + annot->setQuadrilaterals (back_quads); +} + +/** + * poppler_annot_text_markup_get_quadrilaterals: + * @poppler_annot: A #PopplerAnnotTextMarkup + * + * Returns a #GArray of #PopplerQuadrilateral items that map from a + * location on @page to a #PopplerAnnotTextMarkup. This array must be freed + * when done. + * + * Return value: (element-type PopplerQuadrilateral) (transfer full): A #GArray of #PopplerQuadrilateral + * + * Since: 0.26 + **/ +GArray * +poppler_annot_text_markup_get_quadrilaterals (PopplerAnnotTextMarkup *poppler_annot) +{ + AnnotTextMarkup *annot; + AnnotQuadrilaterals *back_quads; + PopplerQuadrilateral quadrilateral; + GArray *quads_array = NULL; + guint length_quads, i; + + g_return_val_if_fail (POPPLER_IS_ANNOT_TEXT_MARKUP (poppler_annot), NULL); + + annot = static_cast(POPPLER_ANNOT (poppler_annot)->annot); + + back_quads = annot->getQuadrilaterals(); + length_quads = back_quads->getQuadrilateralsLength(); + + quads_array = g_array_sized_new (FALSE, FALSE, + sizeof (PopplerQuadrilateral), + length_quads); + + for (i = 0; i < length_quads; ++i) { + quadrilateral.p1.x = back_quads->getX1(i); + quadrilateral.p1.y = back_quads->getX1(i); + quadrilateral.p2.x = back_quads->getX2(i); + quadrilateral.p2.y = back_quads->getY2(i); + quadrilateral.p3.x = back_quads->getX3(i); + quadrilateral.p3.y = back_quads->getY3(i); + quadrilateral.p4.x = back_quads->getX4(i); + quadrilateral.p4.y = back_quads->getY4(i); + + g_array_append_val (quads_array, quadrilateral); + } + + return quads_array; +} + /* PopplerAnnotFreeText */ /** * poppler_annot_free_text_get_quadding: diff --git a/glib/poppler-annot.h b/glib/poppler-annot.h index 6bb9995..c02211d 100644 --- a/glib/poppler-annot.h +++ b/glib/poppler-annot.h @@ -38,6 +38,11 @@ G_BEGIN_DECLS #define POPPLER_ANNOT_TEXT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), POPPLER_TYPE_ANNOT_TEXT, PopplerAnnotText)) #define POPPLER_IS_ANNOT_TEXT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), POPPLER_TYPE_ANNOT_TEXT)) +#define POPPLER_TYPE_ANNOT_TEXT_MARKUP (poppler_annot_text_markup_get_type ()) +#define POPPLER_ANNOT_TEXT_MARKUP(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), POPPLER_TYPE_ANNOT_TEXT_MARKUP, PopplerAnnotTextMarkup)) +#define POPPLER_IS_ANNOT_TEXT_MARKUP(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), POPPLER_TYPE_ANNOT_TEXT_MARKUP)) + + #define POPPLER_TYPE_ANNOT_FREE_TEXT (poppler_annot_free_text_get_type ()) #define POPPLER_ANNOT_FREE_TEXT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), POPPLER_TYPE_ANNOT_FREE_TEXT, PopplerAnnotFreeText)) #define POPPLER_IS_ANNOT_FREE_TEXT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), POPPLER_TYPE_ANNOT_FREE_TEXT)) @@ -219,6 +224,32 @@ void poppler_annot_text_set_icon ( const gchar *icon); PopplerAnnotTextState poppler_annot_text_get_state (PopplerAnnotText *poppler_annot); +/* PopplerAnnotTextMarkup */ +GType poppler_annot_text_markup_get_type (void) G_GNUC_CONST; +PopplerAnnot *poppler_annot_text_markup_new_highlight (PopplerDocument *doc, + PopplerRectangle *rect); +PopplerAnnot *poppler_annot_text_markup_new_highlight_with_quadrilaterals (PopplerDocument *doc, + PopplerRectangle *rect, + GArray *quadrilaterals); +PopplerAnnot *poppler_annot_text_markup_new_squiggly (PopplerDocument *doc, + PopplerRectangle *rect); +PopplerAnnot *poppler_annot_text_markup_new_squiggly_with_quadrilaterals (PopplerDocument *doc, + PopplerRectangle *rect, + GArray *quadrilaterals); +PopplerAnnot *poppler_annot_text_markup_new_strikeout (PopplerDocument *doc, + PopplerRectangle *rect); +PopplerAnnot *poppler_annot_text_markup_new_strikeout_with_quadrilaterals (PopplerDocument *doc, + PopplerRectangle *rect, + GArray *quadrilaterals); +PopplerAnnot *poppler_annot_text_markup_new_underline (PopplerDocument *doc, + PopplerRectangle *rect); +PopplerAnnot *poppler_annot_text_markup_new_underline_with_quadrilaterals (PopplerDocument *doc, + PopplerRectangle *rect, + GArray *quadrilaterals); +void poppler_annot_text_markup_set_quadrilaterals (PopplerAnnotTextMarkup *poppler_annot, + GArray *quadrilaterals); +GArray *poppler_annot_text_markup_get_quadrilaterals (PopplerAnnotTextMarkup *poppler_annot); + /* PopplerAnnotFreeText */ GType poppler_annot_free_text_get_type (void) G_GNUC_CONST; PopplerAnnotFreeTextQuadding poppler_annot_free_text_get_quadding (PopplerAnnotFreeText *poppler_annot); diff --git a/glib/poppler-page.cc b/glib/poppler-page.cc index 991d546..781caab 100644 --- a/glib/poppler-page.cc +++ b/glib/poppler-page.cc @@ -1384,6 +1384,12 @@ poppler_page_get_annot_mapping (PopplerPage *page) case Annot::typeCircle: mapping->annot = _poppler_annot_circle_new (annot); break; + case Annot::typeHighlight: + case Annot::typeUnderline: + case Annot::typeSquiggly: + case Annot::typeStrikeOut: + mapping->annot = _poppler_annot_text_markup_new (annot); + break; default: mapping->annot = _poppler_annot_new (annot); break; diff --git a/glib/poppler-private.h b/glib/poppler-private.h index 1a1dab9..93d0f23 100644 --- a/glib/poppler-private.h +++ b/glib/poppler-private.h @@ -117,6 +117,7 @@ PopplerMedia *_poppler_media_new (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 (Annot *annot); diff --git a/glib/poppler.h b/glib/poppler.h index 4313e5e..0db97d0 100644 --- a/glib/poppler.h +++ b/glib/poppler.h @@ -198,6 +198,7 @@ typedef struct _PopplerMedia PopplerMedia; typedef struct _PopplerAnnot PopplerAnnot; typedef struct _PopplerAnnotMarkup PopplerAnnotMarkup; typedef struct _PopplerAnnotText PopplerAnnotText; +typedef struct _PopplerAnnotTextMarkup PopplerAnnotTextMarkup; typedef struct _PopplerAnnotFreeText PopplerAnnotFreeText; typedef struct _PopplerAnnotFileAttachment PopplerAnnotFileAttachment; typedef struct _PopplerAnnotMovie PopplerAnnotMovie; diff --git a/glib/reference/poppler-sections.txt b/glib/reference/poppler-sections.txt index 5a9139d..5624dba 100644 --- a/glib/reference/poppler-sections.txt +++ b/glib/reference/poppler-sections.txt @@ -371,6 +371,7 @@ PopplerAnnot PopplerAnnotMarkup PopplerAnnotCircle PopplerAnnotText +PopplerAnnotTextMarkup PopplerAnnotFreeText PopplerAnnotFileAttachment PopplerAnnotLine @@ -425,6 +426,16 @@ poppler_annot_text_set_icon poppler_annot_text_get_is_open poppler_annot_text_set_is_open poppler_annot_text_get_state +poppler_annot_text_markup_new_highlight +poppler_annot_text_markup_new_highlight_with_quadrilaterals +poppler_annot_text_markup_new_squiggly +poppler_annot_text_markup_new_squiggly_with_quadrilaterals +poppler_annot_text_markup_new_strikeout +poppler_annot_text_markup_new_strikeout_with_quadrilaterals +poppler_annot_text_markup_new_underline +poppler_annot_text_markup_new_underline_with_quadrilaterals +poppler_annot_text_markup_set_quadrilaterals +poppler_annot_text_markup_get_quadrilaterals poppler_annot_free_text_get_callout_line poppler_annot_free_text_get_quadding poppler_annot_file_attachment_get_attachment @@ -482,12 +493,15 @@ POPPLER_IS_ANNOT_SQUARE POPPLER_TYPE_ANNOT_SQUARE POPPLER_ANNOT_TEXT POPPLER_IS_ANNOT_TEXT +POPPLER_ANNOT_TEXT_MARKUP +POPPLER_IS_ANNOT_TEXT_MARKUP POPPLER_TYPE_ANNOT_TEXT POPPLER_TYPE_ANNOT_CALLOUT_LINE POPPLER_TYPE_ANNOT_EXTERNAL_DATA_TYPE POPPLER_TYPE_ANNOT_FLAG POPPLER_TYPE_ANNOT_MARKUP_REPLY_TYPE POPPLER_TYPE_ANNOT_TEXT_STATE +POPPLER_TYPE_ANNOT_TEXT_MARKUP POPPLER_TYPE_ANNOT_FREE_TEXT_QUADDING POPPLER_TYPE_ANNOT_TYPE POPPLER_TYPE_QUADRILATERAL @@ -497,6 +511,7 @@ poppler_annot_get_type poppler_annot_type_get_type poppler_annot_markup_get_type poppler_annot_text_get_type +poppler_annot_text_markup_get_type poppler_annot_free_text_get_type poppler_annot_file_attachment_get_type poppler_annot_screen_get_type -- 1.7.9.5