summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRonan Le Martret <ronan@fridu.net>2014-11-13 14:12:46 +0100
committerRonan Le Martret <ronan@fridu.net>2014-11-13 14:12:46 +0100
commit32f80ea27c15f30b4f4b1c7deca79091f5a365bf (patch)
tree6125918204bff08e7dd1d32d86ac91ce5da86319
parent2bbd8688529fcdbe661a1eee9c99b8c08c766ca4 (diff)
downloadpoppler-upstream/0.26.5.tar.gz
poppler-upstream/0.26.5.tar.bz2
poppler-upstream/0.26.5.zip
Imported Upstream version 0.26.5upstream/0.26.5upstream
-rw-r--r--CMakeLists.txt23
-rw-r--r--ChangeLog4666
-rw-r--r--Makefile.in21
-rw-r--r--NEWS228
-rw-r--r--aclocal.m4221
-rw-r--r--cmake/modules/FindGTK.cmake2
-rw-r--r--cmake/modules/PopplerMacros.cmake6
-rwxr-xr-xcompile347
-rwxr-xr-xconfig.guess192
-rwxr-xr-xconfig.sub23
-rwxr-xr-xconfigure476
-rw-r--r--configure.ac44
-rw-r--r--cpp/CMakeLists.txt1
-rw-r--r--cpp/Makefile.am2
-rw-r--r--cpp/Makefile.in46
-rw-r--r--cpp/PNMWriter.cc119
-rw-r--r--cpp/PNMWriter.h43
-rw-r--r--cpp/poppler-font.cpp2
-rw-r--r--cpp/poppler-image.cpp15
-rw-r--r--cpp/poppler-version.h6
-rw-r--r--cpp/tests/Makefile.in4
-rw-r--r--fofi/FoFiTrueType.cc22
-rw-r--r--fofi/Makefile.in4
-rw-r--r--glib/CMakeLists.txt2
-rw-r--r--glib/Makefile.am2
-rw-r--r--glib/Makefile.in13
-rw-r--r--glib/Poppler-0.18.gir2978
-rw-r--r--glib/demo/CMakeLists.txt1
-rw-r--r--glib/demo/Makefile.am2
-rw-r--r--glib/demo/Makefile.in15
-rw-r--r--glib/demo/annots.c841
-rw-r--r--glib/demo/main.c28
-rw-r--r--glib/demo/render.c6
-rw-r--r--glib/demo/taggedstruct.c232
-rw-r--r--glib/demo/taggedstruct.h31
-rw-r--r--glib/demo/text.c118
-rw-r--r--glib/poppler-annot.cc664
-rw-r--r--glib/poppler-annot.h64
-rw-r--r--glib/poppler-enums.c409
-rw-r--r--glib/poppler-enums.h34
-rw-r--r--glib/poppler-input-stream.cc5
-rw-r--r--glib/poppler-media.h2
-rw-r--r--glib/poppler-page.cc259
-rw-r--r--glib/poppler-page.h61
-rw-r--r--glib/poppler-private.h14
-rw-r--r--glib/poppler-structure-element.cc2246
-rw-r--r--glib/poppler-structure-element.h357
-rw-r--r--glib/poppler.cc47
-rw-r--r--glib/poppler.h12
-rw-r--r--glib/reference/Makefile.in49
-rw-r--r--glib/reference/html/PopplerAnnot.html3679
-rw-r--r--glib/reference/html/PopplerAttachment.html313
-rw-r--r--glib/reference/html/PopplerDocument.html4203
-rw-r--r--glib/reference/html/PopplerFormField.html1809
-rw-r--r--glib/reference/html/PopplerLayer.html371
-rw-r--r--glib/reference/html/PopplerMedia.html469
-rw-r--r--glib/reference/html/PopplerMovie.html243
-rw-r--r--glib/reference/html/PopplerPage.html3592
-rw-r--r--glib/reference/html/PopplerStructureElement.html3781
-rw-r--r--glib/reference/html/annotation-glossary.html73
-rw-r--r--glib/reference/html/api-index-0-12.html73
-rw-r--r--glib/reference/html/api-index-0-14.html59
-rw-r--r--glib/reference/html/api-index-0-16.html105
-rw-r--r--glib/reference/html/api-index-0-18.html51
-rw-r--r--glib/reference/html/api-index-0-20.html27
-rw-r--r--glib/reference/html/api-index-0-22.html41
-rw-r--r--glib/reference/html/api-index-deprecated.html27
-rw-r--r--glib/reference/html/api-index-full.html1042
-rw-r--r--glib/reference/html/ch01.html21
-rw-r--r--glib/reference/html/home.pngbin573 -> 169 bytes
-rw-r--r--glib/reference/html/index.html11
-rw-r--r--glib/reference/html/index.sgml527
-rw-r--r--glib/reference/html/left-insensitive.pngbin0 -> 329 bytes
-rw-r--r--glib/reference/html/left.pngbin366 -> 187 bytes
-rw-r--r--glib/reference/html/poppler-PopplerAction.html774
-rw-r--r--glib/reference/html/poppler-Version-and-Features-Information.html180
-rw-r--r--glib/reference/html/poppler-poppler.html645
-rw-r--r--glib/reference/html/poppler.devhelp2765
-rw-r--r--glib/reference/html/right-insensitive.pngbin0 -> 233 bytes
-rw-r--r--glib/reference/html/right.pngbin380 -> 186 bytes
-rw-r--r--glib/reference/html/style.css418
-rw-r--r--glib/reference/html/up-insensitive.pngbin0 -> 293 bytes
-rw-r--r--glib/reference/html/up.pngbin290 -> 187 bytes
-rw-r--r--glib/reference/poppler-docs.sgml1
-rw-r--r--glib/reference/poppler-sections.txt188
-rw-r--r--glib/reference/poppler.types2
-rw-r--r--glib/reference/version.xml2
-rw-r--r--goo/GooMutex.h6
-rw-r--r--goo/GooString.cc29
-rw-r--r--goo/GooString.h24
-rw-r--r--goo/GooTimer.h5
-rw-r--r--goo/Makefile.am2
-rw-r--r--goo/Makefile.in16
-rw-r--r--goo/NetPBMWriter.cc84
-rw-r--r--goo/NetPBMWriter.h52
-rw-r--r--goo/PNGWriter.cc6
-rw-r--r--goo/PNGWriter.h8
-rw-r--r--goo/TiffWriter.cc11
-rw-r--r--goo/gfile.cc15
-rw-r--r--goo/gfile.h5
-rw-r--r--gtk-doc.make33
-rw-r--r--ltmain.sh4
-rw-r--r--m4/gtk-doc.m447
-rw-r--r--m4/libtool.m412
-rwxr-xr-xmissing4
-rw-r--r--poppler/Annot.cc414
-rw-r--r--poppler/Annot.h32
-rw-r--r--poppler/CMap.cc3
-rw-r--r--poppler/CairoOutputDev.cc81
-rw-r--r--poppler/CairoOutputDev.h6
-rw-r--r--poppler/Catalog.cc122
-rw-r--r--poppler/Catalog.h32
-rw-r--r--poppler/CharCodeToUnicode.cc3
-rw-r--r--poppler/Error.h4
-rw-r--r--poppler/Form.cc6
-rw-r--r--poppler/Form.h3
-rw-r--r--poppler/Function.cc11
-rw-r--r--poppler/Gfx.cc114
-rw-r--r--poppler/Gfx.h8
-rw-r--r--poppler/GfxFont.cc165
-rw-r--r--poppler/GfxState.cc856
-rw-r--r--poppler/GfxState.h106
-rw-r--r--poppler/GlobalParams.cc35
-rw-r--r--poppler/GlobalParams.h16
-rw-r--r--poppler/Hints.cc10
-rw-r--r--poppler/Hints.h3
-rw-r--r--poppler/JBIG2Stream.cc26
-rw-r--r--poppler/JBIG2Stream.h1
-rw-r--r--poppler/Lexer.cc6
-rw-r--r--poppler/Lexer.h4
-rw-r--r--poppler/Link.cc10
-rw-r--r--poppler/Makefile.am8
-rw-r--r--poppler/Makefile.in44
-rw-r--r--poppler/MarkedContentOutputDev.cc212
-rw-r--r--poppler/MarkedContentOutputDev.h130
-rw-r--r--poppler/NameToUnicodeTable.h415
-rw-r--r--poppler/Object.h9
-rw-r--r--poppler/OptionalContent.h2
-rw-r--r--poppler/PDFDoc.cc190
-rw-r--r--poppler/PDFDoc.h16
-rw-r--r--poppler/PSOutputDev.cc306
-rw-r--r--poppler/PSOutputDev.h12
-rw-r--r--poppler/Page.cc23
-rw-r--r--poppler/Page.h11
-rw-r--r--poppler/PageLabelInfo_p.h8
-rw-r--r--poppler/Parser.cc15
-rw-r--r--poppler/Parser.h4
-rw-r--r--poppler/PreScanOutputDev.cc16
-rw-r--r--poppler/PreScanOutputDev.h3
-rw-r--r--poppler/SecurityHandler.cc3
-rw-r--r--poppler/SplashOutputDev.cc58
-rw-r--r--poppler/Stream.cc7
-rw-r--r--poppler/Stream.h5
-rw-r--r--poppler/StructElement.cc1389
-rw-r--r--poppler/StructElement.h307
-rw-r--r--poppler/StructTreeRoot.cc175
-rw-r--r--poppler/StructTreeRoot.h83
-rw-r--r--poppler/TextOutputDev.cc48
-rw-r--r--poppler/TextOutputDev.h20
-rw-r--r--poppler/XRef.cc3
-rw-r--r--poppler/XpdfPluginAPI.h5
-rw-r--r--poppler/poppler-config.h.cmake27
-rw-r--r--poppler/poppler-config.h.in23
-rw-r--r--qt4/Makefile.in4
-rw-r--r--qt4/demos/Makefile.in4
-rw-r--r--qt4/src/ArthurOutputDev.cc22
-rw-r--r--qt4/src/CMakeLists.txt2
-rw-r--r--qt4/src/Makefile.am2
-rw-r--r--qt4/src/Makefile.in6
-rw-r--r--qt4/src/poppler-annotation.cc13
-rw-r--r--qt4/src/poppler-document.cc25
-rw-r--r--qt4/src/poppler-export.h15
-rw-r--r--qt4/src/poppler-link.h6
-rw-r--r--qt4/src/poppler-media.h5
-rw-r--r--qt4/src/poppler-optcontent.cc5
-rw-r--r--qt4/src/poppler-ps-converter.cc2
-rw-r--r--qt4/src/poppler-qt4.h10
-rw-r--r--qt4/tests/CMakeLists.txt1
-rw-r--r--qt4/tests/Makefile.am8
-rw-r--r--qt4/tests/Makefile.in23
-rw-r--r--qt4/tests/check_goostring.cpp66
-rw-r--r--qt4/tests/stress-threads-qt4.cpp5
-rw-r--r--qt4/tests/test-render-to-file.cpp69
-rw-r--r--qt5/Makefile.in4
-rw-r--r--qt5/demos/Makefile.in4
-rw-r--r--qt5/src/ArthurOutputDev.cc22
-rw-r--r--qt5/src/CMakeLists.txt2
-rw-r--r--qt5/src/Makefile.am2
-rw-r--r--qt5/src/Makefile.in6
-rw-r--r--qt5/src/poppler-annotation.cc11
-rw-r--r--qt5/src/poppler-document.cc23
-rw-r--r--qt5/src/poppler-export.h15
-rw-r--r--qt5/src/poppler-optcontent.cc5
-rw-r--r--qt5/src/poppler-private.cc4
-rw-r--r--qt5/src/poppler-private.h13
-rw-r--r--qt5/src/poppler-ps-converter.cc2
-rw-r--r--qt5/src/poppler-qt5.h10
-rw-r--r--qt5/tests/CMakeLists.txt1
-rw-r--r--qt5/tests/Makefile.am8
-rw-r--r--qt5/tests/Makefile.in23
-rw-r--r--qt5/tests/check_goostring.cpp66
-rw-r--r--qt5/tests/stress-threads-qt5.cpp5
-rw-r--r--qt5/tests/test-render-to-file.cpp69
-rw-r--r--splash/Makefile.in4
-rw-r--r--splash/Splash.cc83
-rw-r--r--splash/SplashFTFont.cc6
-rw-r--r--splash/SplashFTFontEngine.h3
-rw-r--r--splash/SplashFont.cc13
-rw-r--r--splash/SplashFontEngine.cc13
-rw-r--r--splash/SplashFontEngine.h5
-rw-r--r--splash/SplashTypes.h2
-rw-r--r--splash/SplashXPathScanner.cc31
-rw-r--r--splash/SplashXPathScanner.h4
-rwxr-xr-xtest-driver20
-rw-r--r--test/Makefile.in4
-rw-r--r--test/perf-test.cc1
-rw-r--r--utils/CMakeLists.txt4
-rw-r--r--utils/HtmlOutputDev.cc44
-rw-r--r--utils/ImageOutputDev.cc499
-rw-r--r--utils/ImageOutputDev.h47
-rw-r--r--utils/JSInfo.cc233
-rw-r--r--utils/JSInfo.h60
-rw-r--r--utils/Makefile.am4
-rw-r--r--utils/Makefile.in13
-rw-r--r--utils/pdffonts.cc7
-rw-r--r--utils/pdfimages.185
-rw-r--r--utils/pdfimages.cc52
-rw-r--r--utils/pdfinfo.16
-rw-r--r--utils/pdfinfo.cc34
-rw-r--r--utils/pdfseparate.cc60
-rw-r--r--utils/pdftocairo.126
-rw-r--r--utils/pdftocairo.cc40
-rw-r--r--utils/pdftohtml.12
-rw-r--r--utils/pdftohtml.cc15
-rw-r--r--utils/pdftoppm.112
-rw-r--r--utils/pdftoppm.cc24
-rw-r--r--utils/pdftops.136
-rw-r--r--utils/pdftops.cc32
-rw-r--r--utils/pdftotext.cc27
-rw-r--r--utils/pdfunite.cc19
240 files changed, 36547 insertions, 10125 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 96fb5da0..02c82cac 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -17,8 +17,8 @@ include(CheckFileOffsetBits)
CHECK_FILE_OFFSET_BITS()
set(POPPLER_MAJOR_VERSION "0")
-set(POPPLER_MINOR_VERSION "24")
-set(POPPLER_MICRO_VERSION "1")
+set(POPPLER_MINOR_VERSION "26")
+set(POPPLER_MICRO_VERSION "5")
set(POPPLER_VERSION "${POPPLER_MAJOR_VERSION}.${POPPLER_MINOR_VERSION}.${POPPLER_MICRO_VERSION}")
# command line switches
@@ -86,7 +86,7 @@ set(OPI_SUPPORT ON)
set(TEXTOUT_WORD_LIST ON)
# setting the minimum required versions for some components
-set(QT4_MIN_VERSION "4.4.0")
+set(QT4_MIN_VERSION "4.7.0")
set(CAIRO_VERSION "1.10.0")
set(GLIB_REQUIRED "2.18")
@@ -264,6 +264,7 @@ set(poppler_SRCS
goo/GooString.cc
goo/gmem.cc
goo/FixedPoint.cc
+ goo/NetPBMWriter.cc
goo/PNGWriter.cc
goo/TiffWriter.cc
goo/JpegWriter.cc
@@ -304,6 +305,7 @@ set(poppler_SRCS
poppler/Link.cc
poppler/Linearization.cc
poppler/LocalPDFDocBuilder.cc
+ poppler/MarkedContentOutputDev.cc
poppler/NameToCharCode.cc
poppler/Object.cc
poppler/OptionalContent.cc
@@ -320,6 +322,8 @@ set(poppler_SRCS
poppler/PreScanOutputDev.cc
poppler/PSTokenizer.cc
poppler/Stream.cc
+ poppler/StructTreeRoot.cc
+ poppler/StructElement.cc
poppler/strtok_r.cpp
poppler/UnicodeMap.cc
poppler/UnicodeTypeTable.cc
@@ -423,7 +427,7 @@ add_library(poppler STATIC ${poppler_SRCS})
else(MSVC)
add_library(poppler SHARED ${poppler_SRCS})
endif(MSVC)
-set_target_properties(poppler PROPERTIES VERSION 43.0.0 SOVERSION 43)
+set_target_properties(poppler PROPERTIES VERSION 46.0.0 SOVERSION 46)
target_link_libraries(poppler ${poppler_LIBS})
target_link_libraries(poppler LINK_INTERFACE_LIBRARIES "")
install(TARGETS poppler RUNTIME DESTINATION bin LIBRARY DESTINATION lib${LIB_SUFFIX} ARCHIVE DESTINATION lib${LIB_SUFFIX})
@@ -460,6 +464,7 @@ if(ENABLE_XPDF_HEADERS)
poppler/Link.h
poppler/Linearization.h
poppler/LocalPDFDocBuilder.h
+ poppler/MarkedContentOutputDev.h
poppler/Movie.h
poppler/NameToCharCode.h
poppler/Object.h
@@ -480,6 +485,8 @@ if(ENABLE_XPDF_HEADERS)
poppler/Rendition.h
poppler/Stream-CCITT.h
poppler/Stream.h
+ poppler/StructElement.h
+ poppler/StructTreeRoot.h
poppler/UnicodeMap.h
poppler/UnicodeMapTables.h
poppler/UnicodeTypeTable.h
@@ -528,6 +535,11 @@ if(ENABLE_XPDF_HEADERS)
goo/TiffWriter.h
DESTINATION include/poppler/goo)
endif(TIFF_FOUND)
+ if(JPEG_FOUND)
+ install(FILES
+ goo/JpegWriter.h
+ DESTINATION include/poppler/goo)
+ endif(JPEG_FOUND)
install(FILES
fofi/FoFiBase.h
fofi/FoFiEncodings.h
@@ -546,9 +558,6 @@ if(ENABLE_XPDF_HEADERS)
install(FILES
poppler/JPEG2000Stream.h
DESTINATION include/poppler)
- install(FILES
- goo/JpegWriter.h
- DESTINATION include/poppler/goo)
else(LIBOPENJPEG_FOUND)
install(FILES
poppler/JPXStream.h
diff --git a/ChangeLog b/ChangeLog
index cd4344ca..c478589d 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,30 +1,3982 @@
+commit 303287ebdad0de9fb2655c4d7eab627c0045ea04
+Author: Thomas Freitag <Thomas.Freitag@alfa.de>
+Date: Fri Sep 26 00:25:38 2014 +0200
+
+ Fix rendering of file with a wrong embedded font
+
+ Bug #84270
+
+ fofi/FoFiTrueType.cc | 22 ++++++++++++++--------
+ 1 file changed, 14 insertions(+), 8 deletions(-)
+
+commit f94ba85a736b4c90c05e7782939f32506472658e
+Author: Carlos Garcia Campos <carlosgc@gnome.org>
+Date: Fri Sep 12 19:22:20 2014 +0200
+
+ glib: Fix use of uninitialized members in PopplerInputStream
+
+ https://bugs.freedesktop.org/show_bug.cgi?id=82630
+
+ glib/poppler-input-stream.cc | 5 ++++-
+ 1 file changed, 4 insertions(+), 1 deletion(-)
+
+commit f74a5964078224c01bd5642aabc928d185bb0b69
+Author: Albert Astals Cid <aacid@kde.org>
+Date: Thu Aug 21 20:07:54 2014 +0200
+
+ 0.26.4
+
+ CMakeLists.txt | 2 +-
+ NEWS | 12 ++++++++++++
+ configure.ac | 2 +-
+ cpp/Doxyfile | 2 +-
+ qt4/src/Doxyfile | 2 +-
+ qt5/src/Doxyfile | 2 +-
+ 6 files changed, 17 insertions(+), 5 deletions(-)
+
+commit ce92e4ccefc7dad79db7f0af7a792ffa47824849
+Author: Albert Astals Cid <aacid@kde.org>
+Date: Thu Aug 21 20:03:42 2014 +0200
+
+ Update (C) years
+
+ poppler/Annot.cc | 1 +
+ poppler/CairoOutputDev.cc | 2 +-
+ 2 files changed, 2 insertions(+), 1 deletion(-)
+
+commit 42315c28809e62da7872add917e82853cf8c7e33
+Author: Albert Astals Cid <aacid@kde.org>
+Date: Thu Aug 21 19:58:35 2014 +0200
+
+ Make sure e is always initialized
+
+ goo/gfile.cc | 6 +-----
+ 1 file changed, 1 insertion(+), 5 deletions(-)
+
+commit ef3f7585fac086de0919aa0bb0ef91a5070ac23e
+Author: Jiri Slaby <jirislaby@gmail.com>
+Date: Sun Aug 3 01:05:00 2014 +0200
+
+ Improve non-latin characters in inline notes
+
+ Preview commit had by mistake changes in these two files that
+ belong here
+
+ Bug #65956
+
+ poppler/Annot.cc | 1 +
+ poppler/CharCodeToUnicode.cc | 1 +
+ 2 files changed, 2 insertions(+)
+
+commit 1b9c54286a4cdfaa284795933c20acf3c7e13bfc
+Author: Ed Porras <ed@moto-research.com>
+Date: Sun Aug 3 01:01:35 2014 +0200
+
+ Don't check for inlineImg twice
+
+ Bug #82059
+
+ poppler/Annot.cc | 2 +-
+ poppler/CharCodeToUnicode.cc | 2 +-
+ poppler/SplashOutputDev.cc | 9 ++++-----
+ 3 files changed, 6 insertions(+), 7 deletions(-)
+
+commit e7825f7cbbe7cc9c324fcb34c2e0dcae75f4172a
+Author: Carlos Garcia Campos <carlosgc@gnome.org>
+Date: Fri Jul 25 15:45:55 2014 +0200
+
+ glib: Fix a memory leak when getting text layout and attributes
+
+ glib/poppler-page.cc | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+commit a1ecff0f0ab81fe76f63244250d96e7ef275f402
+Author: Carlos Garcia Campos <carlosgc@gnome.org>
+Date: Fri Jul 25 11:25:42 2014 +0200
+
+ glib: Return NULL in poppler_annot_get_contents also for empty strings
+
+ glib/poppler-annot.cc | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit ab1113d10ef712c7c44cd4b4bb6bc79f9ca3702c
+Author: Anuj Khare <khareanuj18@gmail.com>
+Date: Thu Jul 24 19:47:22 2014 +0200
+
+ annots: Fix a crash when adding annot without contents
+
+ Having no content in an annotation results in a crash when generating
+ its appearance, since the contents pointer is dereferenced.
+ For consistency, the same has been done in Annot::initialize.
+
+ poppler/Annot.cc | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+commit 94ea9d8e1631abfbb8cc078100942d46b1356970
+Author: Carlos Garcia Campos <carlosgc@gnome.org>
+Date: Thu Jul 24 10:46:17 2014 +0200
+
+ cairo: Make sure we always push a transparency group in
+ setSoftMaskFromImageMask()
+
+ Because that's what unsetSoftMaskFromImageMask() assumes.
+
+ https://bugs.freedesktop.org/show_bug.cgi?id=81624
+
+ poppler/CairoOutputDev.cc | 64
+ +++++++++++++++++++++++------------------------
+ 1 file changed, 31 insertions(+), 33 deletions(-)
+
+commit 26372cfae029a1124e042855c58bf5b70f281c76
+Author: Ed Porras <ed@moto-research.com>
+Date: Sun Jul 20 20:33:48 2014 +0200
+
+ printf -> error
+
+ Bug #81513
+
+ poppler/Catalog.cc | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+commit 87d12c09281e3d12cda0fadcd65ab78928dff283
+Author: Albert Astals Cid <aacid@kde.org>
+Date: Sun Jul 20 18:20:57 2014 +0200
+
+ 0.26.3
+
+ CMakeLists.txt | 2 +-
+ configure.ac | 2 +-
+ cpp/Doxyfile | 2 +-
+ qt4/src/Doxyfile | 2 +-
+ qt5/src/Doxyfile | 2 +-
+ 5 files changed, 5 insertions(+), 5 deletions(-)
+
+commit 69e5b81640c9bb31f0876fa8eb7ba28dbf38923f
+Author: Albert Astals Cid <aacid@kde.org>
+Date: Sun Jul 20 18:18:29 2014 +0200
+
+ News for 0.26.3
+
+ NEWS | 21 +++++++++++++++++++++
+ 1 file changed, 21 insertions(+)
+
+commit c368c0714d57c089057d974908295d850a1b5108
+Author: Albert Astals Cid <aacid@kde.org>
+Date: Sun Jul 20 18:15:22 2014 +0200
+
+ Update Thomas' (C)
+
+ splash/SplashXPathScanner.cc | 2 +-
+ splash/SplashXPathScanner.h | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+commit 639179318c43a907a27e86778b720d33d481a9f9
+Author: Pino Toscano <pino@kde.org>
+Date: Thu Jul 17 07:33:10 2014 +0200
+
+ glib: use C90-style comments in public headers
+
+ glib/poppler-media.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 1161e728de9ca7c9a5fb0e24c4a5e4a79c65a849
+Author: Thomas Freitag <Thomas.Freitag@alfa.de>
+Date: Sat Jul 12 17:04:42 2014 +0200
+
+ Error out instead of exiting if allInter grows too much
+
+ Bug #78714
+
+ splash/SplashXPathScanner.cc | 25 +++++++++++++++++--------
+ splash/SplashXPathScanner.h | 2 +-
+ 2 files changed, 18 insertions(+), 9 deletions(-)
+
+commit e82a24a585d251f767725f61700dc1f8fe169a52
+Author: Pino Toscano <pino@kde.org>
+Date: Sat Jul 12 08:35:45 2014 +0200
+
+ cmake: sync poppler-config.h.cmake with poppler-config.h.in
+
+ poppler/poppler-config.h.cmake | 7 +++++--
+ 1 file changed, 5 insertions(+), 2 deletions(-)
+
+commit a5ad55b7cb9dc4e62754954291e4ecb8e05b5d67
+Author: Albert Astals Cid <aacid@kde.org>
+Date: Fri Jul 11 00:32:07 2014 +0200
+
+ Add Hib's (C)
+
+ poppler/poppler-config.h.in | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit 4f4ee736075d5b1d1bf4911a26c2f80a7122fe04
+Author: Aki Koskinen <freedesktop@akikoskinen.info>
+Date: Fri Jul 11 00:30:52 2014 +0200
+
+ Fix compilation of Qt5 frontend with MinGW
+
+ qt5/src/poppler-private.h | 7 ++-----
+ 1 file changed, 2 insertions(+), 5 deletions(-)
+
+commit ddd91675792d9d496b06223867e05d2a190b878b
+Author: Hib Eris <hib@hiberis.nl>
+Date: Thu May 29 16:58:55 2014 +0200
+
+ Include stdio.h from poppler-config.h
+
+ In poppler-config.h there is a check for __MINGW_PRINTF_FORMAT,
+ which is set by stdio.h.
+
+ This fixes this warning when compling with the mingw-w64-compiler:
+
+ XRef.cc: In member function 'virtual void
+ XRef::XRefTableWriter::writeEntry(Goffset, int, XRefEntryType)':
+ XRef.cc:1460:94: warning: unknown conversion type character 'l'
+ in format [-Wformat=]
+ outStr->printf("%010lli %05i %c\r\n", (long long)offset, gen,
+ (type==xrefEntryFree)?'f':'n');
+ ^
+ XRef.cc:1460:94: warning: format '%i' expects argument of type 'int',
+ but argument 3 has type 'Goffset {aka long long int}' [-Wformat=]
+ XRef.cc:1460:94: warning: too many arguments for format
+ [-Wformat-extra-args]
+
+ https://bugs.freedesktop.org/show_bug.cgi?id=79762
+
+ poppler/poppler-config.h.in | 2 ++
+ 1 file changed, 2 insertions(+)
+
+commit 47a947f1dc664793a7037888a46a297a46c79d6c
+Author: Hib Eris <hib@hiberis.nl>
+Date: Thu Jun 19 10:11:21 2014 +0200
+
+ Fix moc-qt5 detection
+
+ https://bugs.freedesktop.org/show_bug.cgi?id=80250
+
+ configure.ac | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit aa6205d195c56a77e897bad125bf213aba138422
+Author: Jason Crain <jason@aquaticape.us>
+Date: Mon Jul 7 23:52:39 2014 -0500
+
+ Increase required Qt4 version to 4.7.0
+
+ We use Qt::LayoutDirectionAuto, introduced in 4.7.0.
+
+ bug #81005
+
+ CMakeLists.txt | 2 +-
+ configure.ac | 8 ++++----
+ 2 files changed, 5 insertions(+), 5 deletions(-)
+
+commit e5862155b1c549b6774bb4f25c09c45857ff1734
+Author: Hib Eris <hib@hiberis.nl>
+Date: Wed Jun 4 20:58:56 2014 +0200
+
+ Add Changelog to .gitignore
+
+ https://bugs.freedesktop.org/show_bug.cgi?id=79744
+
+ .gitignore | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit 5f22649694d64c4170db82847b599576d5377176
+Author: Hib Eris <hib@hiberis.nl>
+Date: Wed Jun 4 20:56:23 2014 +0200
+
+ Add *.gir, *.typelib to glib/.gitignore
+
+ https://bugs.freedesktop.org/show_bug.cgi?id=79744
+
+ glib/.gitignore | 2 ++
+ 1 file changed, 2 insertions(+)
+
+commit b63f57985719c7884b67f46fc4afd4954c44c5ab
+Author: Hib Eris <hib@hiberis.nl>
+Date: Wed Jun 4 20:54:30 2014 +0200
+
+ Add poppler-undeclared.txt to .gitignore
+
+ https://bugs.freedesktop.org/show_bug.cgi?id=79744
+
+ glib/reference/.gitignore | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit 5e0f4e2516d5a3997ea9c9a9927e24d4f3abe136
+Author: Hib Eris <hib@hiberis.nl>
+Date: Wed Jun 4 20:52:15 2014 +0200
+
+ Add poppler-forms, stress-threads-qt, test-render-to-file to
+ .gitignore
+
+ https://bugs.freedesktop.org/show_bug.cgi?id=79744
+
+ qt4/tests/.gitignore | 3 +++
+ qt5/tests/.gitignore | 3 +++
+ 2 files changed, 6 insertions(+)
+
+commit 4d2400e7bb8ae9208030b9615dda7c53e571be8b
+Author: Hib Eris <hib@hiberis.nl>
+Date: Wed Jun 4 10:09:16 2014 +0200
+
+ Add test-driver to .gitignore
+
+ https://bugs.freedesktop.org/show_bug.cgi?id=79744
+
+ .gitignore | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit 4c35e0213be26f21b628ff8d9f170252bb0106c9
+Author: Hib Eris <hib@hiberis.nl>
+Date: Wed Jun 4 10:06:20 2014 +0200
+
+ Add poppler-qt5.pc to .gitignore
+
+ https://bugs.freedesktop.org/show_bug.cgi?id=79744
+
+ .gitignore | 2 ++
+ 1 file changed, 2 insertions(+)
+
+commit 2b455b85168d5c9d8641d9a91bfde81ccab18e54
+Author: Pino Toscano <pino@kde.org>
+Date: Sun Jul 6 11:13:54 2014 +0200
+
+ glib: fix typo in apidox
+
+ glib/poppler.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 266a61ab1c9f536a4fb7d68c8f285c854eb2d6e9
+Author: Albert Astals Cid <aacid@kde.org>
+Date: Thu Jun 19 20:16:19 2014 +0200
+
+ 0.26.2
+
+ CMakeLists.txt | 2 +-
+ NEWS | 10 ++++++++++
+ configure.ac | 2 +-
+ cpp/Doxyfile | 2 +-
+ qt4/src/Doxyfile | 2 +-
+ qt5/src/Doxyfile | 2 +-
+ 6 files changed, 15 insertions(+), 5 deletions(-)
+
+commit 3381ee20efca2ce27733182d0d6720c1e6936a7f
+Author: Albert Astals Cid <aacid@kde.org>
+Date: Thu Jun 19 19:57:31 2014 +0200
+
+ Update (C)
+
+ poppler/Lexer.cc | 2 +-
+ utils/pdftohtml.cc | 1 +
+ 2 files changed, 2 insertions(+), 1 deletion(-)
+
+commit 310fbeec692b02d555e3e8dd6c851be11b25e26a
+Author: Albert Astals Cid <aacid@kde.org>
+Date: Wed Jun 18 00:31:48 2014 +0200
+
+ Make sure we have an xref before using
+
+ KDE bug #335413 had this backtrace
+ XRef::getNumEntry (this=0x0, offset=-1) at XRef.cc:1300
+ 0x00007f29aec1681e in Lexer::getObj (this=0x1648760,
+ obj=obj@entry=0x1bdf978, cmdA=cmdA@entry=0x7f29aeca66c8 "endstream",
+ objNum=objNum@entry=0) at Lexer.cc:594
+ 0x00007f29aec20dfd in Parser::shift (this=this@entry=0x1bdf950,
+ cmdA=cmdA@entry=0x7f29aeca66c8 "endstream", objNum=objNum@entry=0)
+ at Parser.cc:323
+ 0x00007f29aec20fde in Parser::makeStream (this=this@entry=0x1bdf950,
+ dict=dict@entry=0x7fff2541cad0, fileKey=fileKey@entry=0x0,
+ encAlgorithm=encAlgorithm@entry=cryptRC4, keyLength=keyLength@entry=0,
+ objNum=objNum@entry=0, objGen=objGen@entry=0,
+ recursion=recursion@entry=1, strict=strict@entry=false) at
+ Parser.cc:245
+ 0x00007f29aec216b8 in Parser::getObj (this=this@entry=0x1bdf950,
+ obj=obj@entry=0x7fff2541cad0, simpleOnly=simpleOnly@entry=false,
+ fileKey=fileKey@entry=0x0, encAlgorithm=encAlgorithm@entry=cryptRC4,
+ keyLength=keyLength@entry=0, objNum=objNum@entry=0,
+ objGen=objGen@entry=0, recursion=recursion@entry=0,
+ strict=strict@entry=false) at Parser.cc:131
+ 0x00007f29aec350fc in XRef::readXRef
+ (this=this@entry=0xfe43a0, pos=pos@entry=0xfe4438,
+ followedXRefStm=followedXRefStm@entry=0x7fff2541cb30,
+ xrefStreamObjsNum=xrefStreamObjsNum@entry=0x0) at XRef.cc:551
+ 0x00007f29aec35319 in XRef::XRef (this=0xfe43a0,
+ strA=0x1c54ff0, pos=<optimized out>, mainXRefEntriesOffsetA=0,
+ wasReconstructed=0x7fff2541cbaf, reconstruct=<optimized out>)
+ at XRef.cc:342
+ 0x00007f29aec2534f in PDFDoc::setup (this=this@entry=0x311e1b0,
+ ownerPassword=ownerPassword@entry=0x1165830,
+ userPassword=userPassword@entry=0x447f550) at PDFDoc.cc:262
+
+ poppler/Lexer.cc | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit b36d27b42417d15866a5729409e39d6f7c2b0289
+Author: Hib Eris <hib@hiberis.nl>
+Date: Fri Jun 6 21:42:10 2014 +0200
+
+ Fix typo in configure.ac
+
+ Bug #79742
+
+ configure.ac | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit f5e702060a84362bfdf75260531920d4ba8b7333
+Author: Pino Toscano <pino@kde.org>
+Date: Sat May 24 15:59:42 2014 +0200
+
+ pdftohtml: exit with 0 with -v and -h
+
+ utils/pdftohtml.cc | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 700bf398ef7b20306f5035e423becfaa3d28fb10
+Author: Albert Astals Cid <aacid@kde.org>
+Date: Fri May 23 20:05:41 2014 +0200
+
+ 0.26.1
+
+ CMakeLists.txt | 2 +-
+ NEWS | 12 ++++++++++++
+ configure.ac | 2 +-
+ cpp/Doxyfile | 2 +-
+ qt4/src/Doxyfile | 2 +-
+ qt5/src/Doxyfile | 2 +-
+ 6 files changed, 17 insertions(+), 5 deletions(-)
+
+commit 7e9fc61e287889eefd6b08ef5991d31fed79cafd
+Author: Albert Astals Cid <aacid@kde.org>
+Date: Wed May 7 22:25:59 2014 +0200
+
+ Fix libopenjpeg 1.5 detection on some systems
+
+ Someone somewhere decided the pc file will be called libopenjpeg1
+ instead of libopenjpeg
+
+ Bug #78389
+
+ configure.ac | 5 ++++-
+ 1 file changed, 4 insertions(+), 1 deletion(-)
+
+commit 0a6c1ff777aa23c7a5654b313b639e66600883b9
+Author: Thomas Freitag <Thomas.Freitag@alfa.de>
+Date: Wed May 7 21:54:46 2014 +0200
+
+ Only add annotations of the current page when splitting
+
+ Bug #77549
+
+ poppler/PDFDoc.cc | 153
+ +++++++++++++++++++++++++++++++++++++++++++++++++++++-
+ poppler/PDFDoc.h | 4 +-
+ utils/pdfunite.cc | 9 +++-
+ 3 files changed, 162 insertions(+), 4 deletions(-)
+
+commit 5b2cdef49a8a0a92fd323fbe45841a5098a42ece
+Author: Olly Betts <olly@survex.com>
+Date: Sun May 4 22:20:30 2014 +0200
+
+ Fix extraction of text in some files
+
+ Bug #78145
+
+ poppler/GfxFont.cc | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+commit bae836cd3dd3511ca9cf4745626142334bafd1a6
+Author: Marek Kasik <mkasik@redhat.com>
+Date: Sun May 4 16:20:33 2014 +0200
+
+ Use field value V for radio buttons
+
+ Turn on radio button only if its appearance state is equal to
+ the value
+ of name object "V" of the field.
+
+ Bug #75979
+
+ poppler/Annot.cc | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+commit a748b3a059938e6ae98b51eb82bab7c33a5e23c7
+Author: Carlos Garcia Campos <carlosgc@gnome.org>
+Date: Wed Apr 30 09:25:31 2014 +0200
+
+ glib: Fix multiple definition of PopplerTextSpan
+
+ https://bugs.freedesktop.org/show_bug.cgi?id=78103
+
+ glib/poppler-structure-element.h | 3 ---
+ 1 file changed, 3 deletions(-)
+
+commit 9a68daee2b3c7f8a992ee47c0e9ac78b346d4348
+Author: Albert Astals Cid <aacid@kde.org>
+Date: Fri Apr 25 01:01:08 2014 +0200
+
+ 0.26.0
+
+ CMakeLists.txt | 4 ++--
+ NEWS | 13 +++++++++++++
+ configure.ac | 4 ++--
+ cpp/Doxyfile | 2 +-
+ qt4/src/Doxyfile | 2 +-
+ qt5/src/Doxyfile | 2 +-
+ 6 files changed, 20 insertions(+), 7 deletions(-)
+
+commit 8073852c84b71257d487aa8a46e441aa82f4b42c
+Author: Fabio D'Urso <fabiodurso@hotmail.it>
+Date: Mon Apr 14 23:35:50 2014 +0200
+
+ qt: Fix missing ! in TextAnnotation::setInplaceIntent
+
+ CID #16814
+
+ qt4/src/poppler-annotation.cc | 2 +-
+ qt5/src/poppler-annotation.cc | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+commit 1fbf98664c0879ac035a63602242a910c0c1d316
+Author: Albert Astals Cid <aacid@kde.org>
+Date: Mon Apr 14 11:53:59 2014 +0200
+
+ Initialize tmpBufLen
+
+ CID #16957
+
+ It isn't really needed since locateFont always returns a fontLoc
+ with a non null
+ path if fontLoc itself is not null, but it doesn't hurt either
+
+ qt4/src/ArthurOutputDev.cc | 4 ++--
+ qt5/src/ArthurOutputDev.cc | 4 ++--
+ 2 files changed, 4 insertions(+), 4 deletions(-)
+
+commit b3e5c582a279b1b8d8309322ac3f4d0e51831f77
+Author: Albert Astals Cid <aacid@kde.org>
+Date: Thu Apr 10 23:38:09 2014 +0200
+
+ Remove unused member
+
+ cpp/poppler-font.cpp | 2 --
+ 1 file changed, 2 deletions(-)
+
+commit b86f471c43e387cf873358cf3cbcd27470646713
+Author: Albert Astals Cid <aacid@kde.org>
+Date: Thu Apr 10 22:50:56 2014 +0200
+
+ 0.25.3
+
+ CMakeLists.txt | 2 +-
+ NEWS | 19 +++++++++++++++++++
+ configure.ac | 2 +-
+ cpp/Doxyfile | 2 +-
+ poppler/CairoOutputDev.cc | 2 +-
+ poppler/GfxFont.cc | 2 +-
+ qt4/src/Doxyfile | 2 +-
+ qt4/src/poppler-optcontent.cc | 2 +-
+ qt5/src/Doxyfile | 2 +-
+ qt5/src/poppler-optcontent.cc | 2 +-
+ qt5/src/poppler-private.cc | 2 +-
+ qt5/src/poppler-private.h | 2 +-
+ 12 files changed, 30 insertions(+), 11 deletions(-)
+
+commit 80107c72ac03bf4d00b2d71d6f947c139ea84ab5
+Author: Pino Toscano <pino@kde.org>
+Date: Sun Apr 6 20:17:31 2014 +0200
+
+ qt5: remove m_fontInfoIterator from Document
+
+ it was used by the deprecated scanForFonts API, which was not provided
+ in poppler-qt5
+
+ qt5/src/poppler-private.cc | 2 --
+ qt5/src/poppler-private.h | 2 --
+ 2 files changed, 4 deletions(-)
+
+commit b8325316e41fb03eb5fac5c80d6a550fe9ce9695
+Author: Albert Astals Cid <aacid@kde.org>
+Date: Sun Apr 6 16:05:51 2014 +0200
+
+ Fix memory leak
+
+ CID #16943
+
+ utils/pdfseparate.cc | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit ca9713118d6ce3fdd245f9ca4f595229a5be19c3
+Author: Albert Astals Cid <aacid@kde.org>
+Date: Sun Apr 6 15:59:43 2014 +0200
+
+ Don't check twice for the same variable ^_^
+
+ CID #16804
+
+ splash/Splash.cc | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 0ef290a7c5a8fa54d3fe0f646abdf098443a7a67
+Author: Albert Astals Cid <aacid@kde.org>
+Date: Sun Apr 6 15:57:38 2014 +0200
+
+ Fix memory leak
+
+ CID #16852
+
+ splash/Splash.cc | 2 ++
+ 1 file changed, 2 insertions(+)
+
+commit 8810b8917fded340b784873a91ca025b0bb49f3d
+Author: Albert Astals Cid <aacid@kde.org>
+Date: Sun Apr 6 15:49:18 2014 +0200
+
+ Fix Out-of-bounds read
+
+ CID #16844
+
+ poppler/PageLabelInfo_p.h | 8 +++++++-
+ 1 file changed, 7 insertions(+), 1 deletion(-)
+
+commit 9309907673e8557a25021dce79d9b4354640e2d0
+Author: Albert Astals Cid <aacid@kde.org>
+Date: Sun Apr 6 15:35:00 2014 +0200
+
+ Fix memory leak
+
+ Don't pass new'ed GooStrings as parameters to error()
+
+ CID #16915
+
+ poppler/GfxFont.cc | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+commit a511005584a38217fed582ced6ce2c937526cf96
+Author: Albert Astals Cid <aacid@kde.org>
+Date: Sun Apr 6 15:28:50 2014 +0200
+
+ Fix Uninitialized pointer read when nFucnsA is 0
+
+ CID #16965
+
+ poppler/GfxState.cc | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 26b961a64030d91c5db2769dcd0ab8dff7b9b6a6
+Author: Albert Astals Cid <aacid@kde.org>
+Date: Sun Apr 6 15:23:35 2014 +0200
+
+ gfree -> delete since it was new'ed
+
+ CID #16786
+
+ poppler/JBIG2Stream.cc | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 814ac2230b594cce3b871588804dd92f4a187e7e
+Author: Albert Astals Cid <aacid@kde.org>
+Date: Sun Apr 6 15:22:13 2014 +0200
+
+ delete -> gfree since it was gmaloced
+
+ CID #16785
+
+ poppler/JBIG2Stream.cc | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit b496b6665803247b10b018ae939a2a452fa4a48f
+Author: Albert Astals Cid <aacid@kde.org>
+Date: Sun Apr 6 15:17:50 2014 +0200
+
+ Fix memory leak
+
+ CID #16864
+
+ poppler/SplashOutputDev.cc | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+commit 1b612f355e9f29fa93c15a9de1188049a8e086b6
+Author: Albert Astals Cid <aacid@kde.org>
+Date: Sun Apr 6 15:14:50 2014 +0200
+
+ Fix memory leak
+
+ CID #16853
+
+ poppler/XRef.cc | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+commit 07621ebbda8ab85cf4cd76a6092efc67aa14454d
+Merge: 8d3a2c9 9fcd46a
+Author: Pino Toscano <pino@kde.org>
+Date: Sat Apr 5 15:49:31 2014 +0200
+
+ Merge remote-tracking branch 'origin/poppler-0.24'
+
+commit 9fcd46ac4a94f138981ec5afaab3875918c6a175
+Author: Pino Toscano <pino@kde.org>
+Date: Sat Apr 5 15:48:27 2014 +0200
+
+ qt4/qt5: remove extra qDebug
+
+ qt4/src/poppler-optcontent.cc | 1 -
+ qt5/src/poppler-optcontent.cc | 1 -
+ 2 files changed, 2 deletions(-)
+
+commit 37286ee2923de060ae463ac6b178ffd0e6096b90
+Author: Pino Toscano <pino@kde.org>
+Date: Sat Apr 5 15:46:44 2014 +0200
+
+ qt4/qt5: fix some kinds of OCG models
+
+ properly pass parent and child when building the tree
+
+ qt4/src/poppler-optcontent.cc | 2 +-
+ qt5/src/poppler-optcontent.cc | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+commit 8d3a2c9d007052bcb8719200760a1abb6314f804
+Author: Peter Breitenlohner <peb@mppmu.mpg.de>
+Date: Sun Mar 30 23:34:23 2014 +0200
+
+ Avoid MinGW/Cygwin warnings due to redefinition of NOMINMAX
+
+ goo/GooMutex.h | 3 +++
+ goo/GooTimer.h | 5 ++++-
+ goo/gfile.h | 5 ++++-
+ poppler/XpdfPluginAPI.h | 3 +++
+ 4 files changed, 14 insertions(+), 2 deletions(-)
+
+commit 38dcaf96f308265ff6958e4683bcec2be0c254b9
+Author: Adrian Johnson <ajohnson@redneon.com>
+Date: Fri Mar 28 20:49:17 2014 +1030
+
+ cairo: fix segv cause by bad image stream
+
+ bug 76445
+
+ poppler/CairoOutputDev.cc | 10 +++++++++-
+ 1 file changed, 9 insertions(+), 1 deletion(-)
+
+commit 07b0a038b194eb0392a1e9a4236064d37247d687
+Author: Jakub Wilk <jwilk@jwilk.net>
+Date: Sun Mar 30 16:12:28 2014 +0200
+
+ pdftohtml: Fix typo in manpage
+
+ utils/pdftohtml.1 | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit ac3c8303396a0b8de5e4ad32f480b8da5f3b396e
+Author: Thomas Liebetraut <thomas@tommie-lie.de>
+Date: Sun Mar 30 12:25:26 2014 +0200
+
+ glib: Fix the first coord of the qudrilateral in
+ create_poppler_quads_from_annot_quads()
+
+ https://bugs.freedesktop.org/show_bug.cgi?id=76504
+
+ glib/poppler-annot.cc | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 82d69da7c2f67e774c51fb7b146fdf639a6b9616
+Author: Albert Astals Cid <aacid@kde.org>
+Date: Fri Mar 28 15:53:22 2014 +0100
+
+ Fix error reported by ASAN in 3628.asan.0.3910.pdf
+
+ ==20743== ERROR: AddressSanitizer: heap-buffer-overflow on
+ address 0x60040005c6ef at pc 0x7f8912ca0c90 bp 0x7fff8509ee20 sp
+ 0x7fff8509ee18
+ READ of size 1 at 0x60040005c6ef thread T0
+ #0 0x7f8912ca0c8f in expandRow(unsigned char*, unsigned char*,
+ int, int, int) /home/tsdgeos/devel/poppler/splash/Splash.cc:4855
+ #1 0x7f8912ca1097 in Splash::scaleImageYuXuBilinear(bool
+ (*)(void*, unsigned char*, unsigned char*), void*,
+ SplashColorMode, int, bool, int, int, int, int, SplashBitmap*)
+ /home/tsdgeos/devel/poppler/splash/Splash.cc:4897
+ #2 0x7f8912c9d2b7 in Splash::scaleImage(bool
+ (*)(void*, unsigned char*, unsigned char*), void*,
+ SplashColorMode, int, bool, int, int, int, int, bool, bool)
+ /home/tsdgeos/devel/poppler/splash/Splash.cc:4127
+ #3 0x7f8912c98101 in Splash::drawImage(bool
+ (*)(void*, unsigned char*, unsigned char*), void*,
+ SplashColorMode, bool, int, int, double*, bool, bool)
+ /home/tsdgeos/devel/poppler/splash/Splash.cc:3726
+ #4 0x7f8912c7056a in
+ SplashOutputDev::drawSoftMaskedImage(GfxState*,
+ Object*, Stream*, int, int, GfxImageColorMap*,
+ bool, Stream*, int, int, GfxImageColorMap*, bool)
+ /home/tsdgeos/devel/poppler/poppler/SplashOutputDev.cc:3630
+ #5 0x7f8912ac7aa7 in Gfx::doImage(Object*, Stream*, bool)
+ /home/tsdgeos/devel/poppler/poppler/Gfx.cc:4646
+ #6 0x7f8912ac4de0 in Gfx::opXObject(Object*, int)
+ /home/tsdgeos/devel/poppler/poppler/Gfx.cc:4179
+ #7 0x7f8912a9f33a in Gfx::execOp(Object*, Object*, int)
+ /home/tsdgeos/devel/poppler/poppler/Gfx.cc:903
+ #8 0x7f8912a9e50f in Gfx::go(bool)
+ /home/tsdgeos/devel/poppler/poppler/Gfx.cc:762
+ #9 0x7f8912a9e163 in Gfx::display(Object*, bool)
+ /home/tsdgeos/devel/poppler/poppler/Gfx.cc:728
+ #10 0x7f8912b80e13 in Page::displaySlice(OutputDev*, double,
+ double, int, bool, bool, int, int, int, int, bool, bool
+ (*)(void*), void*, bool (*)(Annot*, void*), void*, bool)
+ /home/tsdgeos/devel/poppler/poppler/Page.cc:585
+ #11 0x7f8912b8833f in PDFDoc::displayPageSlice(OutputDev*,
+ int, double, double, int, bool, bool, bool, int, int, int, int,
+ bool (*)(void*), void*, bool (*)(Annot*, void*), void*, bool)
+ /home/tsdgeos/devel/poppler/poppler/PDFDoc.cc:503
+ #12 0x40311e in savePageSlice(PDFDoc*, SplashOutputDev*,
+ int, int, int, int, int, double, double, char*)
+ /home/tsdgeos/devel/poppler/utils/pdftoppm.cc:222
+ #13 0x404416 in main
+ /home/tsdgeos/devel/poppler/utils/pdftoppm.cc:521
+ #14 0x7f89121a8ec4 (/lib/x86_64-linux-gnu/libc.so.6+0x21ec4)
+ #15 0x401d58 in _start
+ (/home/tsdgeos/devel/poppler/build-debug/utils/pdftoppm+0x401d58)
+
+ splash/Splash.cc | 3 +++
+ 1 file changed, 3 insertions(+)
+
+commit 38ec8cbeeaf69d96b9d7bcd662187c8916cf7903
+Author: Albert Astals Cid <aacid@kde.org>
+Date: Fri Mar 28 11:18:02 2014 +0100
+
+ Fix error reported by ASAN in 5782.asan.0.7113.pdf
+
+ ==32161== ERROR: AddressSanitizer: heap-buffer-overflow on
+ address 0x6008000e3bcf at pc 0x7f66bae0e117 bp 0x7fffcb54ea70 sp
+ 0x7fffcb54ea68
+ READ of size 1 at 0x6008000e3bcf thread T0
+ #0 0x7f66bae0e116 in GooString::getChar(int)
+ /home/tsdgeos/devel/poppler/goo/GooString.h:119
+ #1 0x7f66bafb5dca in LinkURI::LinkURI(Object*, GooString*)
+ /home/tsdgeos/devel/poppler/poppler/Link.cc:562
+ #2 0x7f66bafb2a05 in LinkAction::parseAction(Object*, GooString*)
+ /home/tsdgeos/devel/poppler/poppler/Link.cc:98
+ #3 0x7f66bae69c0e in AnnotLink::initialize(PDFDoc*, Dict*)
+ /home/tsdgeos/devel/poppler/poppler/Annot.cc:2621
+ #4 0x7f66bae698d9 in AnnotLink::AnnotLink(PDFDoc*, Dict*, Object*)
+ /home/tsdgeos/devel/poppler/poppler/Annot.cc:2596
+ #5 0x7f66bae8d998 in Annots::createAnnot(Dict*, Object*)
+ /home/tsdgeos/devel/poppler/poppler/Annot.cc:6737
+ #6 0x7f66bae8d269 in Annots::Annots(PDFDoc*, int, Object*)
+ /home/tsdgeos/devel/poppler/poppler/Annot.cc:6683
+ #7 0x7f66bafc750d in Page::getAnnots(XRef*)
+ /home/tsdgeos/devel/poppler/poppler/Page.cc:402
+ #8 0x7f66bafc8e66 in Page::displaySlice(OutputDev*, double,
+ double, int, bool, bool, int, int, int, int, bool, bool
+ (*)(void*), void*, bool (*)(Annot*, void*), void*, bool)
+ /home/tsdgeos/devel/poppler/poppler/Page.cc:595
+ #9 0x7f66bafd02fd in PDFDoc::displayPageSlice(OutputDev*, int,
+ double, double, int, bool, bool, bool, int, int, int, int,
+ bool (*)(void*), void*, bool (*)(Annot*, void*), void*, bool)
+ /home/tsdgeos/devel/poppler/poppler/PDFDoc.cc:503
+ #10 0x40311e in savePageSlice(PDFDoc*, SplashOutputDev*,
+ int, int, int, int, int, double, double, char*)
+ /home/tsdgeos/devel/poppler/utils/pdftoppm.cc:222
+ #11 0x404416 in main
+ /home/tsdgeos/devel/poppler/utils/pdftoppm.cc:521
+ #12 0x7f66ba5f0ec4 (/lib/x86_64-linux-gnu/libc.so.6+0x21ec4)
+ #13 0x401d58 in _start
+ (/home/tsdgeos/devel/poppler/build-debug/utils/pdftoppm+0x401d58)
+
+ poppler/Link.cc | 10 ++++++----
+ 1 file changed, 6 insertions(+), 4 deletions(-)
+
+commit 49b4eb68ee646aefe49b70f9e2831ebf93576053
+Author: Albert Astals Cid <aacid@kde.org>
+Date: Fri Mar 28 11:08:18 2014 +0100
+
+ Fix error reported by ASAN in 590.asan.0.7288.pdf
+
+ ==31898== ERROR: AddressSanitizer: heap-use-after-free on
+ address 0x60ae0007432c at pc 0x7f03483026aa bp 0x7fff6ec0c820 sp
+ 0x7fff6ec0c818
+ READ of size 4 at 0x60ae0007432c thread T0
+ #0 0x7f03483026a9 in SplashFTFont::getGlyphPath(int)
+ /home/tsdgeos/devel/poppler/splash/SplashFTFont.cc:414
+ #1 0x7f034829f681 in SplashOutputDev::drawChar(GfxState*,
+ double, double, double, double, double,
+ double, unsigned int, int, unsigned int*, int)
+ /home/tsdgeos/devel/poppler/poppler/SplashOutputDev.cc:2239
+ #2 0x7f0348100599 in Gfx::doShowText(GooString*)
+ /home/tsdgeos/devel/poppler/poppler/Gfx.cc:4054
+ #3 0x7f03480fddb0 in Gfx::opShowSpaceText(Object*, int)
+ /home/tsdgeos/devel/poppler/poppler/Gfx.cc:3886
+ #4 0x7f03480dc33a in Gfx::execOp(Object*, Object*, int)
+ /home/tsdgeos/devel/poppler/poppler/Gfx.cc:903
+ #5 0x7f03480db50f in Gfx::go(bool)
+ /home/tsdgeos/devel/poppler/poppler/Gfx.cc:762
+ #6 0x7f03480db163 in Gfx::display(Object*, bool)
+ /home/tsdgeos/devel/poppler/poppler/Gfx.cc:728
+ #7 0x7f03481bddd1 in Page::displaySlice(OutputDev*, double,
+ double, int, bool, bool, int, int, int, int, bool, bool
+ (*)(void*), void*, bool (*)(Annot*, void*), void*, bool)
+ /home/tsdgeos/devel/poppler/poppler/Page.cc:585
+ #8 0x7f03481c52fd in PDFDoc::displayPageSlice(OutputDev*, int,
+ double, double, int, bool, bool, bool, int, int, int, int,
+ bool (*)(void*), void*, bool (*)(Annot*, void*), void*, bool)
+ /home/tsdgeos/devel/poppler/poppler/PDFDoc.cc:503
+ #9 0x40311e in savePageSlice(PDFDoc*, SplashOutputDev*,
+ int, int, int, int, int, double, double, char*)
+ /home/tsdgeos/devel/poppler/utils/pdftoppm.cc:222
+ #10 0x404416 in main
+ /home/tsdgeos/devel/poppler/utils/pdftoppm.cc:521
+ #11 0x7f03477e5ec4 (/lib/x86_64-linux-gnu/libc.so.6+0x21ec4)
+ #12 0x401d58 in _start
+ (/home/tsdgeos/devel/poppler/build-debug/utils/pdftoppm+0x401d58)
+
+ splash/SplashFTFont.cc | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 89a64b508e5f8445798c95fcec6c87180f6c9b73
+Author: Albert Astals Cid <aacid@kde.org>
+Date: Fri Mar 28 00:35:17 2014 +0100
+
+ Fix error reported by ASAN in 2279.asan.0.1904.pdf
+
+ ==20507== ERROR: AddressSanitizer: heap-buffer-overflow on
+ address 0x60420000ff04 at pc 0x7fa1492e8012 bp 0x7fff8406d900 sp
+ 0x7fff8406d8f8
+ READ of size 4 at 0x60420000ff04 thread T0
+ #0 0x7fa1492e8011 in SplashFTFont::makeGlyph(int, int, int,
+ SplashGlyphBitmap*, int, int, SplashClip*, SplashClipResult*)
+ /home/tsdgeos/devel/poppler/splash/SplashFTFont.cc:284
+ #1 0x7fa1492eda32 in SplashFont::getGlyph(int, int, int,
+ SplashGlyphBitmap*, int, int, SplashClip*, SplashClipResult*)
+ /home/tsdgeos/devel/poppler/splash/SplashFont.cc:168
+ #2 0x7fa1492e7c69 in SplashFTFont::getGlyph(int, int, int,
+ SplashGlyphBitmap*, int, int, SplashClip*, SplashClipResult*)
+ /home/tsdgeos/devel/poppler/splash/SplashFTFont.cc:233
+ #3 0x7fa1492b3368 in Splash::fillChar(double, double, int,
+ SplashFont*) /home/tsdgeos/devel/poppler/splash/Splash.cc:2714
+ #4 0x7fa149286a20 in SplashOutputDev::drawChar(GfxState*,
+ double, double, double, double, double,
+ double, unsigned int, int, unsigned int*, int)
+ /home/tsdgeos/devel/poppler/poppler/SplashOutputDev.cc:2270
+ #5 0x7fa1490e7599 in Gfx::doShowText(GooString*)
+ /home/tsdgeos/devel/poppler/poppler/Gfx.cc:4054
+ #6 0x7fa1490e4db0 in Gfx::opShowSpaceText(Object*, int)
+ /home/tsdgeos/devel/poppler/poppler/Gfx.cc:3886
+ #7 0x7fa1490c333a in Gfx::execOp(Object*, Object*, int)
+ /home/tsdgeos/devel/poppler/poppler/Gfx.cc:903
+ #8 0x7fa1490c250f in Gfx::go(bool)
+ /home/tsdgeos/devel/poppler/poppler/Gfx.cc:762
+ #9 0x7fa1490c2163 in Gfx::display(Object*, bool)
+ /home/tsdgeos/devel/poppler/poppler/Gfx.cc:728
+ #10 0x7fa1491a4dd1 in Page::displaySlice(OutputDev*, double,
+ double, int, bool, bool, int, int, int, int, bool, bool
+ (*)(void*), void*, bool (*)(Annot*, void*), void*, bool)
+ /home/tsdgeos/devel/poppler/poppler/Page.cc:585
+ #11 0x7fa1491ac2fd in PDFDoc::displayPageSlice(OutputDev*,
+ int, double, double, int, bool, bool, bool, int, int, int, int,
+ bool (*)(void*), void*, bool (*)(Annot*, void*), void*, bool)
+ /home/tsdgeos/devel/poppler/poppler/PDFDoc.cc:503
+ #12 0x40311e in savePageSlice(PDFDoc*, SplashOutputDev*,
+ int, int, int, int, int, double, double, char*)
+ /home/tsdgeos/devel/poppler/utils/pdftoppm.cc:222
+ #13 0x404416 in main
+ /home/tsdgeos/devel/poppler/utils/pdftoppm.cc:521
+ #14 0x7fa1487ccec4 (/lib/x86_64-linux-gnu/libc.so.6+0x21ec4)
+ #15 0x401d58 in _start
+ (/home/tsdgeos/devel/poppler/build-debug/utils/pdftoppm+0x401d58)
+
+ splash/SplashFTFont.cc | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit 5055479634dc8d0cd5afb3373de600fb121357fe
+Author: Albert Astals Cid <aacid@kde.org>
+Date: Thu Mar 27 23:54:20 2014 +0100
+
+ Fix error reported by ASAN in 2010.asan.0.1506.pdf
+
+ ==18859== ERROR: AddressSanitizer: unknown-crash on address
+ 0x7f1e4a6beb50 at pc 0x7f1e5557444d bp 0x7fff6af3c340 sp
+ 0x7fff6af3bb00
+ WRITE of size 442216446 at 0x7f1e4a6beb50 thread T0
+ #0 0x7f1e5557444c (/usr/lib/x86_64-linux-gnu/libasan.so.0+0xe44c)
+ #1 0x7f1e550e04ff in SplashFont::getGlyph(int, int, int,
+ SplashGlyphBitmap*, int, int, SplashClip*, SplashClipResult*)
+ /home/tsdgeos/devel/poppler/splash/SplashFont.cc:206
+ #2 0x7f1e550d9c69 in SplashFTFont::getGlyph(int, int, int,
+ SplashGlyphBitmap*, int, int, SplashClip*, SplashClipResult*)
+ /home/tsdgeos/devel/poppler/splash/SplashFTFont.cc:233
+ #3 0x7f1e550a5368 in Splash::fillChar(double, double, int,
+ SplashFont*) /home/tsdgeos/devel/poppler/splash/Splash.cc:2714
+ #4 0x7f1e55078a20 in SplashOutputDev::drawChar(GfxState*,
+ double, double, double, double, double,
+ double, unsigned int, int, unsigned int*, int)
+ /home/tsdgeos/devel/poppler/poppler/SplashOutputDev.cc:2270
+ #5 0x7f1e54ed9599 in Gfx::doShowText(GooString*)
+ /home/tsdgeos/devel/poppler/poppler/Gfx.cc:4054
+ #6 0x7f1e54ed6db0 in Gfx::opShowSpaceText(Object*, int)
+ /home/tsdgeos/devel/poppler/poppler/Gfx.cc:3886
+ #7 0x7f1e54eb533a in Gfx::execOp(Object*, Object*, int)
+ /home/tsdgeos/devel/poppler/poppler/Gfx.cc:903
+ #8 0x7f1e54eb450f in Gfx::go(bool)
+ /home/tsdgeos/devel/poppler/poppler/Gfx.cc:762
+ #9 0x7f1e54eb4163 in Gfx::display(Object*, bool)
+ /home/tsdgeos/devel/poppler/poppler/Gfx.cc:728
+ #10 0x7f1e54f96dd1 in Page::displaySlice(OutputDev*, double,
+ double, int, bool, bool, int, int, int, int, bool, bool
+ (*)(void*), void*, bool (*)(Annot*, void*), void*, bool)
+ /home/tsdgeos/devel/poppler/poppler/Page.cc:585
+ #11 0x7f1e54f9e2fd in PDFDoc::displayPageSlice(OutputDev*,
+ int, double, double, int, bool, bool, bool, int, int, int, int,
+ bool (*)(void*), void*, bool (*)(Annot*, void*), void*, bool)
+ /home/tsdgeos/devel/poppler/poppler/PDFDoc.cc:503
+ #12 0x40311e in savePageSlice(PDFDoc*, SplashOutputDev*,
+ int, int, int, int, int, double, double, char*)
+ /home/tsdgeos/devel/poppler/utils/pdftoppm.cc:222
+ #13 0x404416 in main
+ /home/tsdgeos/devel/poppler/utils/pdftoppm.cc:521
+ #14 0x7f1e545beec4 (/lib/x86_64-linux-gnu/libc.so.6+0x21ec4)
+ #15 0x401d58 in _start
+ (/home/tsdgeos/devel/poppler/build-debug/utils/pdftoppm+0x401d58)
+
+ splash/SplashFont.cc | 13 +++++++++----
+ 1 file changed, 9 insertions(+), 4 deletions(-)
+
+commit 3e7779935ec2610410bc4a42e9b0174e41ca9672
+Author: Albert Astals Cid <aacid@kde.org>
+Date: Thu Mar 27 16:49:57 2014 +0100
+
+ Fix error reported by ASAN in 139.asan.0.581.pdf
+
+ ==15244== ERROR: AddressSanitizer: SEGV on unknown address
+ 0x605df000f3ee (pc 0x7f1087b3a22e sp 0x7fffec30ff20 bp 0x7fffec30ff80
+ T0)
+ AddressSanitizer can not provide additional info.
+ #0 0x7f1087b3a22d
+ (/home/tsdgeos/devel/poppler/build-debug/libpoppler.so.46.0.0+0x48f22d)
+ #1 0x7f1087b19d92
+ (/home/tsdgeos/devel/poppler/build-debug/libpoppler.so.46.0.0+0x46ed92)
+ #2 0x7f1087ae570b
+ (/home/tsdgeos/devel/poppler/build-debug/libpoppler.so.46.0.0+0x43a70b)
+ #3 0x7f1087ae4061
+ (/home/tsdgeos/devel/poppler/build-debug/libpoppler.so.46.0.0+0x439061)
+ #4 0x7f1087ab9b38
+ (/home/tsdgeos/devel/poppler/build-debug/libpoppler.so.46.0.0+0x40eb38)
+ #5 0x7f1087900989
+ (/home/tsdgeos/devel/poppler/build-debug/libpoppler.so.46.0.0+0x255989)
+ #6 0x7f10878f733a
+ (/home/tsdgeos/devel/poppler/build-debug/libpoppler.so.46.0.0+0x24c33a)
+ #7 0x7f10878f650f
+ (/home/tsdgeos/devel/poppler/build-debug/libpoppler.so.46.0.0+0x24b50f)
+ #8 0x7f10878f6163
+ (/home/tsdgeos/devel/poppler/build-debug/libpoppler.so.46.0.0+0x24b163)
+ #9 0x7f10879d8dd1
+ (/home/tsdgeos/devel/poppler/build-debug/libpoppler.so.46.0.0+0x32ddd1)
+ #10 0x7f10879e02fd
+ (/home/tsdgeos/devel/poppler/build-debug/libpoppler.so.46.0.0+0x3352fd)
+ #11 0x40311e
+ (/home/tsdgeos/devel/poppler/build-debug/utils/pdftoppm+0x40311e)
+ #12 0x404416
+ (/home/tsdgeos/devel/poppler/build-debug/utils/pdftoppm+0x404416)
+ #13 0x7f1087000ec4 (/lib/x86_64-linux-gnu/libc-2.19.so+0x21ec4)
+ #14 0x401d58
+ (/home/tsdgeos/devel/poppler/build-debug/utils/pdftoppm+0x401d58)
+
+ splash/SplashXPathScanner.cc | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit 23ad7fa5253a4fec6543d1435827aa1b59b62ced
+Author: Albert Astals Cid <aacid@kde.org>
+Date: Thu Mar 27 01:14:05 2014 +0100
+
+ 0.25.2
+
+ CMakeLists.txt | 4 ++--
+ NEWS | 48
+ +++++++++++++++++++++++++++++++++++++++++
+ configure.ac | 2 +-
+ cpp/Doxyfile | 2 +-
+ gtk-doc.make | 33 +++++++++++++++++++---------
+ m4/gtk-doc.m4 | 47
+ +++++++++++++++++++++++++++-------------
+ poppler/CairoOutputDev.h | 2 +-
+ poppler/Hints.cc | 2 +-
+ poppler/Makefile.am | 2 +-
+ poppler/PSOutputDev.cc | 3 ++-
+ poppler/PSOutputDev.h | 2 +-
+ poppler/StructElement.cc | 2 +-
+ poppler/StructElement.h | 2 +-
+ poppler/StructTreeRoot.cc | 2 +-
+ poppler/StructTreeRoot.h | 2 +-
+ qt4/src/CMakeLists.txt | 2 +-
+ qt4/src/Doxyfile | 2 +-
+ qt4/src/Makefile.am | 2 +-
+ qt4/src/poppler-ps-converter.cc | 1 +
+ qt5/src/CMakeLists.txt | 2 +-
+ qt5/src/Doxyfile | 2 +-
+ qt5/src/Makefile.am | 2 +-
+ qt5/src/poppler-ps-converter.cc | 1 +
+ utils/pdftocairo.cc | 2 +-
+ utils/pdftops.cc | 1 +
+ 25 files changed, 127 insertions(+), 45 deletions(-)
+
+commit ec2f8bca9f48935d3180dab65ef2ca455a893afd
+Author: Albert Astals Cid <aacid@kde.org>
+Date: Wed Mar 26 18:38:13 2014 +0100
+
+ Fix overflow malloc
+
+ poppler/Stream.cc | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit 322e416451b7b33cba8fb3d4702207693c3c7921
+Author: Albert Astals Cid <aacid@kde.org>
+Date: Wed Mar 26 17:58:48 2014 +0100
+
+ Fix error reported by ASAN in 1195.asan.0.293.pdf
+
+ ==31060== ERROR: AddressSanitizer: heap-buffer-overflow on
+ address 0x60040002a215 at pc 0x7f5614cd96c4 bp 0x7fff54a44050 sp
+ 0x7fff54a44048
+ READ of size 1 at 0x60040002a215 thread T0
+ #0 0x7f5614cd96c3 in JBIG2Stream::readGenericBitmap(bool,
+ int, int, int, bool, bool, JBIG2Bitmap*, int*, int*, int)
+ /home/tsdgeos/devel/poppler/poppler/JBIG2Stream.cc:3389
+ #1 0x7f5614cce0e7 in JBIG2Stream::readSymbolDictSeg(unsigned
+ int, unsigned int, unsigned int*, unsigned int)
+ /home/tsdgeos/devel/poppler/poppler/JBIG2Stream.cc:1867
+ #2 0x7f5614ccb8fe in JBIG2Stream::readSegments()
+ /home/tsdgeos/devel/poppler/poppler/JBIG2Stream.cc:1408
+ #3 0x7f5614cca72e in JBIG2Stream::reset()
+ /home/tsdgeos/devel/poppler/poppler/JBIG2Stream.cc:1248
+ #4 0x7f5614d1648b in ImageStream::reset()
+ /home/tsdgeos/devel/poppler/poppler/Stream.cc:484
+ #5 0x7f5614de6578 in SplashOutputDev::drawImage(GfxState*,
+ Object*, Stream*, int, int, GfxImageColorMap*, bool, int*, bool)
+ /home/tsdgeos/devel/poppler/poppler/SplashOutputDev.cc:3158
+ #6 0x7f5614c41d64 in Gfx::doImage(Object*, Stream*, bool)
+ /home/tsdgeos/devel/poppler/poppler/Gfx.cc:4653
+ #7 0x7f5614c3ede0 in Gfx::opXObject(Object*, int)
+ /home/tsdgeos/devel/poppler/poppler/Gfx.cc:4179
+ #8 0x7f5614c1933a in Gfx::execOp(Object*, Object*, int)
+ /home/tsdgeos/devel/poppler/poppler/Gfx.cc:903
+ #9 0x7f5614c1850f in Gfx::go(bool)
+ /home/tsdgeos/devel/poppler/poppler/Gfx.cc:762
+ #10 0x7f5614c18163 in Gfx::display(Object*, bool)
+ /home/tsdgeos/devel/poppler/poppler/Gfx.cc:728
+ #11 0x7f5614cfae27 in Page::displaySlice(OutputDev*, double,
+ double, int, bool, bool, int, int, int, int, bool, bool
+ (*)(void*), void*, bool (*)(Annot*, void*), void*, bool)
+ /home/tsdgeos/devel/poppler/poppler/Page.cc:585
+ #12 0x7f5614d02353 in PDFDoc::displayPageSlice(OutputDev*,
+ int, double, double, int, bool, bool, bool, int, int, int, int,
+ bool (*)(void*), void*, bool (*)(Annot*, void*), void*, bool)
+ /home/tsdgeos/devel/poppler/poppler/PDFDoc.cc:503
+ #13 0x40311e in savePageSlice(PDFDoc*, SplashOutputDev*,
+ int, int, int, int, int, double, double, char*)
+ /home/tsdgeos/devel/poppler/utils/pdftoppm.cc:222
+ #14 0x404416 in main
+ /home/tsdgeos/devel/poppler/utils/pdftoppm.cc:521
+ #15 0x7f5614322ec4 (/lib/x86_64-linux-gnu/libc.so.6+0x21ec4)
+ #16 0x401d58 in _start
+ (/home/tsdgeos/devel/poppler/build-debug/utils/pdftoppm+0x401d58)
+
+ poppler/JBIG2Stream.cc | 5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+commit 225232f6f070d17d8570108ffe39ffd4350fc6e8
+Author: Albert Astals Cid <aacid@kde.org>
+Date: Wed Mar 26 15:00:09 2014 +0100
+
+ Fix error reported by ASAN in 6609.asan.0.8343.pdf
+
+ ==8470== ERROR: AddressSanitizer: heap-buffer-overflow on
+ address 0x7f3b12f7b5e1 at pc 0x7f3b0f915f5e bp 0x7fff47842de0 sp
+ 0x7fff47842dd8
+ READ of size 1 at 0x7f3b12f7b5e1 thread T0
+ #0 0x7f3b0f915f5d in JBIG2Stream::readGenericBitmap(bool,
+ int, int, int, bool, bool, JBIG2Bitmap*, int*, int*, int)
+ /home/tsdgeos/devel/poppler/poppler/JBIG2Stream.cc:3628
+ #1 0x7f3b0f910558 in JBIG2Stream::readGenericRegionSeg(unsigned
+ int, bool, bool, unsigned int)
+ /home/tsdgeos/devel/poppler/poppler/JBIG2Stream.cc:2849
+ #2 0x7f3b0f906b33 in JBIG2Stream::readSegments()
+ /home/tsdgeos/devel/poppler/poppler/JBIG2Stream.cc:1443
+ #3 0x7f3b0f90572e in JBIG2Stream::reset()
+ /home/tsdgeos/devel/poppler/poppler/JBIG2Stream.cc:1248
+ #4 0x7f3b0f951459 in ImageStream::reset()
+ /home/tsdgeos/devel/poppler/poppler/Stream.cc:484
+ #5 0x7f3b0fa21546 in SplashOutputDev::drawImage(GfxState*,
+ Object*, Stream*, int, int, GfxImageColorMap*, bool, int*, bool)
+ /home/tsdgeos/devel/poppler/poppler/SplashOutputDev.cc:3158
+ #6 0x7f3b0f87cd64 in Gfx::doImage(Object*, Stream*, bool)
+ /home/tsdgeos/devel/poppler/poppler/Gfx.cc:4653
+ #7 0x7f3b0f879de0 in Gfx::opXObject(Object*, int)
+ /home/tsdgeos/devel/poppler/poppler/Gfx.cc:4179
+ #8 0x7f3b0f85433a in Gfx::execOp(Object*, Object*, int)
+ /home/tsdgeos/devel/poppler/poppler/Gfx.cc:903
+ #9 0x7f3b0f85350f in Gfx::go(bool)
+ /home/tsdgeos/devel/poppler/poppler/Gfx.cc:762
+ #10 0x7f3b0f853163 in Gfx::display(Object*, bool)
+ /home/tsdgeos/devel/poppler/poppler/Gfx.cc:728
+ #11 0x7f3b0f935df5 in Page::displaySlice(OutputDev*, double,
+ double, int, bool, bool, int, int, int, int, bool, bool
+ (*)(void*), void*, bool (*)(Annot*, void*), void*, bool)
+ /home/tsdgeos/devel/poppler/poppler/Page.cc:585
+ #12 0x7f3b0f93d321 in PDFDoc::displayPageSlice(OutputDev*,
+ int, double, double, int, bool, bool, bool, int, int, int, int,
+ bool (*)(void*), void*, bool (*)(Annot*, void*), void*, bool)
+ /home/tsdgeos/devel/poppler/poppler/PDFDoc.cc:503
+ #13 0x40311e in savePageSlice(PDFDoc*, SplashOutputDev*,
+ int, int, int, int, int, double, double, char*)
+ /home/tsdgeos/devel/poppler/utils/pdftoppm.cc:222
+ #14 0x404416 in main
+ /home/tsdgeos/devel/poppler/utils/pdftoppm.cc:521
+ #15 0x7f3b0ef5dec4 (/lib/x86_64-linux-gnu/libc.so.6+0x21ec4)
+ #16 0x401d58 in _start
+ (/home/tsdgeos/devel/poppler/build-debug/utils/pdftoppm+0x401d58)
+
+ poppler/JBIG2Stream.cc | 5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+commit 216890f1f147b25643e0d6e18e361d4d34b6c332
+Author: Albert Astals Cid <aacid@kde.org>
+Date: Wed Mar 26 12:19:42 2014 +0100
+
+ Fix error reported by ASAN in 6760.asan.0.8568.pdf
+
+ ==26566== ERROR: AddressSanitizer: SEGV on unknown address
+ 0x7fffbc3e5ea8 (pc 0x7fe1fa858db1 sp 0x7fffc788eb30 bp 0x7fffc788eb40
+ T0)
+ AddressSanitizer can not provide additional info.
+ #0 0x7fe1fa858db0 in PSStack::index(int)
+ /home/tsdgeos/devel/poppler/poppler/Function.cc:1067
+ #1 0x7fe1fa856fd6 in PostScriptFunction::exec(PSStack*, int)
+ /home/tsdgeos/devel/poppler/poppler/Function.cc:1621
+ #2 0x7fe1fa854c10 in PostScriptFunction::transform(double*,
+ double*) /home/tsdgeos/devel/poppler/poppler/Function.cc:1266
+ #3 0x7fe1fa854097 in
+ PostScriptFunction::PostScriptFunction(Object*, Dict*)
+ /home/tsdgeos/devel/poppler/poppler/Function.cc:1216
+ #4 0x7fe1fa84a0c2 in Function::parse(Object*,
+ std::set<int, std::less<int>, std::allocator<int> >*)
+ /home/tsdgeos/devel/poppler/poppler/Function.cc:98
+ #5 0x7fe1fa849e3c in Function::parse(Object*)
+ /home/tsdgeos/devel/poppler/poppler/Function.cc:63
+ #6 0x7fe1fa8c1d8c in GfxDeviceNColorSpace::parse(Array*,
+ OutputDev*, GfxState*, int)
+ /home/tsdgeos/devel/poppler/poppler/GfxState.cc:2978
+ #7 0x7fe1fa8a6fb7 in GfxColorSpace::parse(Object*,
+ OutputDev*, GfxState*, int)
+ /home/tsdgeos/devel/poppler/poppler/GfxState.cc:328
+ #8 0x7fe1fa88440f in Gfx::doImage(Object*, Stream*, bool)
+ /home/tsdgeos/devel/poppler/poppler/Gfx.cc:4403
+ #9 0x7fe1fa882d6c in Gfx::opXObject(Object*, int)
+ /home/tsdgeos/devel/poppler/poppler/Gfx.cc:4179
+ #10 0x7fe1fa85d2c6 in Gfx::execOp(Object*, Object*, int)
+ /home/tsdgeos/devel/poppler/poppler/Gfx.cc:903
+ #11 0x7fe1fa85c49b in Gfx::go(bool)
+ /home/tsdgeos/devel/poppler/poppler/Gfx.cc:762
+ #12 0x7fe1fa85c0ef in Gfx::display(Object*, bool)
+ /home/tsdgeos/devel/poppler/poppler/Gfx.cc:728
+ #13 0x7fe1fa93ed81 in Page::displaySlice(OutputDev*, double,
+ double, int, bool, bool, int, int, int, int, bool, bool
+ (*)(void*), void*, bool (*)(Annot*, void*), void*, bool)
+ /home/tsdgeos/devel/poppler/poppler/Page.cc:585
+ #14 0x7fe1fa9462ad in PDFDoc::displayPageSlice(OutputDev*,
+ int, double, double, int, bool, bool, bool, int, int, int, int,
+ bool (*)(void*), void*, bool (*)(Annot*, void*), void*, bool)
+ /home/tsdgeos/devel/poppler/poppler/PDFDoc.cc:503
+ #15 0x40311e in savePageSlice(PDFDoc*, SplashOutputDev*,
+ int, int, int, int, int, double, double, char*)
+ /home/tsdgeos/devel/poppler/utils/pdftoppm.cc:222
+ #16 0x404416 in main
+ /home/tsdgeos/devel/poppler/utils/pdftoppm.cc:521
+ #17 0x7fe1f9f66ec4 (/lib/x86_64-linux-gnu/libc.so.6+0x21ec4)
+ #18 0x401d58 in _start
+ (/home/tsdgeos/devel/poppler/build-debug/utils/pdftoppm+0x401d58)
+
+ poppler/Function.cc | 8 ++++++--
+ 1 file changed, 6 insertions(+), 2 deletions(-)
+
+commit fb7d91435c71603697b652c70cfa76dd595ee200
+Author: Albert Astals Cid <aacid@kde.org>
+Date: Wed Mar 26 12:08:52 2014 +0100
+
+ Fix ASAN in 750.asan.0.9621.pdf
+
+ ==25876== ERROR: AddressSanitizer: heap-buffer-overflow on
+ address 0x60040002a10f at pc 0x7fc396c3c23e bp 0x7ffff1123d20 sp
+ 0x7ffff1123d18
+ READ of size 1 at 0x60040002a10f thread T0
+ #0 0x7fc396c3c23d in JBIG2Stream::readGenericBitmap(bool,
+ int, int, int, bool, bool, JBIG2Bitmap*, int*, int*, int)
+ /home/tsdgeos/devel/poppler/poppler/JBIG2Stream.cc:3504
+ #1 0x7fc396c30073 in JBIG2Stream::readSymbolDictSeg(unsigned
+ int, unsigned int, unsigned int*, unsigned int)
+ /home/tsdgeos/devel/poppler/poppler/JBIG2Stream.cc:1867
+ #2 0x7fc396c2d88a in JBIG2Stream::readSegments()
+ /home/tsdgeos/devel/poppler/poppler/JBIG2Stream.cc:1408
+ #3 0x7fc396c2c6ba in JBIG2Stream::reset()
+ /home/tsdgeos/devel/poppler/poppler/JBIG2Stream.cc:1248
+ #4 0x7fc396c783f7 in ImageStream::reset()
+ /home/tsdgeos/devel/poppler/poppler/Stream.cc:484
+ #5 0x7fc396d484e4 in SplashOutputDev::drawImage(GfxState*,
+ Object*, Stream*, int, int, GfxImageColorMap*, bool, int*, bool)
+ /home/tsdgeos/devel/poppler/poppler/SplashOutputDev.cc:3158
+ #6 0x7fc396ba3cf0 in Gfx::doImage(Object*, Stream*, bool)
+ /home/tsdgeos/devel/poppler/poppler/Gfx.cc:4653
+ #7 0x7fc396ba0d6c in Gfx::opXObject(Object*, int)
+ /home/tsdgeos/devel/poppler/poppler/Gfx.cc:4179
+ #8 0x7fc396b7b2c6 in Gfx::execOp(Object*, Object*, int)
+ /home/tsdgeos/devel/poppler/poppler/Gfx.cc:903
+ #9 0x7fc396b7a49b in Gfx::go(bool)
+ /home/tsdgeos/devel/poppler/poppler/Gfx.cc:762
+ #10 0x7fc396b7a0ef in Gfx::display(Object*, bool)
+ /home/tsdgeos/devel/poppler/poppler/Gfx.cc:728
+ #11 0x7fc396c5cd93 in Page::displaySlice(OutputDev*, double,
+ double, int, bool, bool, int, int, int, int, bool, bool
+ (*)(void*), void*, bool (*)(Annot*, void*), void*, bool)
+ /home/tsdgeos/devel/poppler/poppler/Page.cc:585
+ #12 0x7fc396c642bf in PDFDoc::displayPageSlice(OutputDev*,
+ int, double, double, int, bool, bool, bool, int, int, int, int,
+ bool (*)(void*), void*, bool (*)(Annot*, void*), void*, bool)
+ /home/tsdgeos/devel/poppler/poppler/PDFDoc.cc:503
+ #13 0x40311e in savePageSlice(PDFDoc*, SplashOutputDev*,
+ int, int, int, int, int, double, double, char*)
+ /home/tsdgeos/devel/poppler/utils/pdftoppm.cc:222
+ #14 0x404416 in main
+ /home/tsdgeos/devel/poppler/utils/pdftoppm.cc:521
+ #15 0x7fc396284ec4 (/lib/x86_64-linux-gnu/libc.so.6+0x21ec4)
+ #16 0x401d58 in _start
+ (/home/tsdgeos/devel/poppler/build-debug/utils/pdftoppm+0x401d58)
+
+ poppler/JBIG2Stream.cc | 7 ++++---
+ 1 file changed, 4 insertions(+), 3 deletions(-)
+
+commit 9002b3b7cbbbc5802abfa8383ded2093a29d1746
+Author: Albert Astals Cid <aacid@kde.org>
+Date: Wed Mar 26 00:48:15 2014 +0100
+
+ Fix ASAN in 784.asan.0.9671.pdf
+
+ =================================================================
+ ==24856== ERROR: AddressSanitizer: SEGV on unknown address
+ 0x603bfffe5804 (pc 0x7f7aa3310c6b sp 0x7fff0e656bd0 bp 0x7fff0e656e90
+ T0)
+ AddressSanitizer can not provide additional info.
+ #0 0x7f7aa3310c6a in
+ GfxIndexedColorSpace::mapColorToBase(GfxColor*, GfxColor*)
+ /home/tsdgeos/devel/poppler/poppler/GfxState.cc:2509
+ #1 0x7f7aa33110d2 in GfxIndexedColorSpace::getRGB(GfxColor*,
+ GfxRGB*) /home/tsdgeos/devel/poppler/poppler/GfxState.cc:2529
+ #2 0x7f7aa3466712 in convertGfxColor(unsigned
+ char*, SplashColorMode, GfxColorSpace*, GfxColor*)
+ /home/tsdgeos/devel/poppler/poppler/SplashOutputDev.cc:117
+ #3 0x7f7aa34675a9 in SplashUnivariatePattern::getColor(int,
+ int, unsigned char*)
+ /home/tsdgeos/devel/poppler/poppler/SplashOutputDev.cc:215
+ #4 0x7f7aa348d2a2 in Splash::pipeRun(SplashPipe*)
+ /home/tsdgeos/devel/poppler/splash/Splash.cc:363
+ #5 0x7f7aa34c9c29 in Splash::drawAALine(SplashPipe*,
+ int, int, int, bool, unsigned char)
+ /home/tsdgeos/devel/poppler/splash/Splash.cc:1537
+ #6 0x7f7aa34c4787 in Splash::shadedFill(SplashPath*, bool,
+ SplashPattern*) /home/tsdgeos/devel/poppler/splash/Splash.cc:6388
+ #7 0x7f7aa348b65c in
+ SplashOutputDev::univariateShadedFill(GfxState*,
+ SplashUnivariatePattern*, double, double)
+ /home/tsdgeos/devel/poppler/poppler/SplashOutputDev.cc:4408
+ #8 0x7f7aa348b93d in SplashOutputDev::radialShadedFill(GfxState*,
+ GfxRadialShading*, double, double)
+ /home/tsdgeos/devel/poppler/poppler/SplashOutputDev.cc:4427
+ #9 0x7f7aa32c7574 in Gfx::doRadialShFill(GfxRadialShading*)
+ /home/tsdgeos/devel/poppler/poppler/Gfx.cc:3058
+ #10 0x7f7aa32c188f in Gfx::opShFill(Object*, int)
+ /home/tsdgeos/devel/poppler/poppler/Gfx.cc:2476
+ #11 0x7f7aa32b12c6 in Gfx::execOp(Object*, Object*, int)
+ /home/tsdgeos/devel/poppler/poppler/Gfx.cc:903
+ #12 0x7f7aa32b049b in Gfx::go(bool)
+ /home/tsdgeos/devel/poppler/poppler/Gfx.cc:762
+ #13 0x7f7aa32b00ef in Gfx::display(Object*, bool)
+ /home/tsdgeos/devel/poppler/poppler/Gfx.cc:728
+ #14 0x7f7aa3392dc9 in Page::displaySlice(OutputDev*, double,
+ double, int, bool, bool, int, int, int, int, bool, bool
+ (*)(void*), void*, bool (*)(Annot*, void*), void*, bool)
+ /home/tsdgeos/devel/poppler/poppler/Page.cc:585
+ #15 0x7f7aa339a2f5 in PDFDoc::displayPageSlice(OutputDev*,
+ int, double, double, int, bool, bool, bool, int, int, int, int,
+ bool (*)(void*), void*, bool (*)(Annot*, void*), void*, bool)
+ /home/tsdgeos/devel/poppler/poppler/PDFDoc.cc:503
+ #16 0x40311e in savePageSlice(PDFDoc*, SplashOutputDev*,
+ int, int, int, int, int, double, double, char*)
+ /home/tsdgeos/devel/poppler/utils/pdftoppm.cc:222
+ #17 0x404416 in main
+ /home/tsdgeos/devel/poppler/utils/pdftoppm.cc:521
+ #18 0x7f7aa29baec4 (/lib/x86_64-linux-gnu/libc.so.6+0x21ec4)
+ #19 0x401d58 in _start
+ (/home/tsdgeos/devel/poppler/build-debug/utils/pdftoppm+0x401d58)
+ SUMMARY: AddressSanitizer: SEGV
+ /home/tsdgeos/devel/poppler/poppler/GfxState.cc:2509
+ GfxIndexedColorSpace::mapColorToBase(GfxColor*, GfxColor*)
+
+ poppler/GfxState.cc | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit 8947c6bc1dcb768b9d9c03a7a5db1573abdc2e87
+Author: Albert Astals Cid <aacid@kde.org>
+Date: Wed Mar 26 00:47:59 2014 +0100
+
+ Forgot my (C) in the last commit
+
+ poppler/TextOutputDev.cc | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 1d7095ab7bdf0f14c3bfe99d6d5985bce98abe16
+Author: Albert Astals Cid <aacid@kde.org>
+Date: Tue Mar 25 22:29:07 2014 +0100
+
+ Fix Heap-buffer-overflow in TextPage::updateFont
+
+ Bug #76442
+
+ poppler/TextOutputDev.cc | 6 ++++--
+ 1 file changed, 4 insertions(+), 2 deletions(-)
+
+commit 37ad83d69bd1d10da6ea1eb559c4bd320917ae25
+Author: Albert Astals Cid <aacid@kde.org>
+Date: Sat Mar 22 17:33:55 2014 +0100
+
+ Reorder the if check condition
+
+ I think the previous condition was correct anyway because of the
+ extra -1 in the i check
+ but it really makes more sense to have the i check first
+
+ Bug #76478
+
+ goo/gfile.cc | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit 3535d658095ffa49ef8615d69843afa9c5ada061
+Author: Albert Astals Cid <aacid@kde.org>
+Date: Sat Mar 22 17:29:46 2014 +0100
+
+ Make the test rect go to xMax, yMax not xMax-1,yMax-1
+
+ I don't understand why the -1 is there and removing
+ it actually fixes bug #76387
+
+ splash/Splash.cc | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit 1e93c3f2d1c86edd40ca283ed422089f64886d04
+Author: William Bader <williambader@hotmail.com>
+Date: Sat Mar 15 17:14:21 2014 +0100
+
+ Fix regression when creating level1 PS
+
+ Bug #75241
+
+ poppler/PreScanOutputDev.cc | 16 ++++++++++++++--
+ poppler/PreScanOutputDev.h | 3 ++-
+ 2 files changed, 16 insertions(+), 3 deletions(-)
+
+commit 1ea2eb412d12d97eaf49d1e51d7fda7abd8fbf9d
+Author: Jason Crain <jason@aquaticape.us>
+Date: Wed Mar 12 00:34:13 2014 +0100
+
+ Limit numeric parsing of character names
+
+ Bug #38456
+
+ poppler/GfxFont.cc | 139
+ ++++++++++++++++++++++++++++++++++--------------
+ poppler/GlobalParams.cc | 4 +-
+ 2 files changed, 102 insertions(+), 41 deletions(-)
+
+commit e24cbeae22d6c8630e292897bd982a87e6290ca6
+Author: Steven Lee <roc.sky@gmail.com>
+Date: Tue Mar 11 21:24:59 2014 +0100
+
+ Fix TIFF writting in Windows
+
+ Bug #75969
+
+ goo/TiffWriter.cc | 11 +++++++++++
+ 1 file changed, 11 insertions(+)
+
+commit b984a3b5946ebcd736e0583a10eb614cede3388a
+Author: Adrian Perez de Castro <aperez@igalia.com>
+Date: Wed Mar 5 11:19:48 2014 +0200
+
+ glib: Use flags argument in poppler_structure_element_get_text()
+
+ Instead of accepting a boolean argument to enable recursive text
+ extraction,
+ use a flags value. Text extraction may add features in the future (for
+ example, allowing using alternate text as replacement for inline
+ figures),
+ and this will allow to extend the method without introducing ABI
+ or API
+ breakage.
+
+ https://bugs.freedesktop.org/show_bug.cgi?id=75796
+
+ glib/poppler-structure-element.cc | 12 +++++++-----
+ glib/poppler-structure-element.h | 14 +++++++++++++-
+ glib/reference/poppler-sections.txt | 3 +++
+ 3 files changed, 23 insertions(+), 6 deletions(-)
+
+commit 94df09de1e07d442895ec1fb5cc23cacd9826552
+Author: Adrian Perez de Castro <aperez@igalia.com>
+Date: Thu Mar 6 10:44:51 2014 +0200
+
+ glib: Add missing underscore in method name
+
+ The correct name is poppler_structure_element_get_form_state().
+
+ https://bugs.freedesktop.org/show_bug.cgi?id=75827
+
+ glib/poppler-structure-element.cc | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 7ddd03f9a00dcf505921821c55bebe6817aa3605
+Author: Carlos Garcia Campos <carlosgc@gnome.org>
+Date: Wed Mar 5 17:48:39 2014 +0100
+
+ Rename getNumElements, getElement and appendElement as getNumChildren,
+ getChild and appendChild
+
+ It's more consistent with other internal API and less confusing.
+
+ glib/poppler-structure-element.cc | 16 ++++++++--------
+ poppler/StructElement.cc | 6 +++---
+ poppler/StructElement.h | 8 ++++----
+ poppler/StructTreeRoot.cc | 4 ++--
+ poppler/StructTreeRoot.h | 8 ++++----
+ 5 files changed, 21 insertions(+), 21 deletions(-)
+
+commit 7d6a5b65f8497537248d405177ae141f3765a419
+Author: Carlos Garcia Campos <carlosgc@gnome.org>
+Date: Wed Mar 5 17:40:14 2014 +0100
+
+ glib: Update the documentation symbols after the PopplerStructureScope
+ rename
+
+ glib/reference/poppler-sections.txt | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit 9282b5a26e9ce81d81d42c0cbe449543c8366b7c
+Author: Carlos Garcia Campos <carlosgc@gnome.org>
+Date: Wed Mar 5 17:37:38 2014 +0100
+
+ glib: Rename PopplerStructureScope as PopplerStructureTableScope
+
+ It's a table specific attribute
+
+ glib/poppler-structure-element.cc | 14 +++++++-------
+ glib/poppler-structure-element.h | 12 ++++++------
+ 2 files changed, 13 insertions(+), 13 deletions(-)
+
+commit 9888eb65c6fad0eabcf525a7e88941dec2a27e92
+Author: Adrian Perez de Castro <aperez@igalia.com>
+Date: Thu Sep 26 19:36:12 2013 +0300
+
+ glib: Implement accessors for element attributes
+
+ Implement inspecting the standard attributes of
+ PopplerStructureElement
+ objects.
+
+ https://bugs.freedesktop.org/show_bug.cgi?id=64821
+
+ glib/poppler-structure-element.cc | 1279
+ ++++++++++++++++++++++++++++++++++-
+ glib/poppler-structure-element.h | 252 ++++++-
+ glib/reference/poppler-sections.txt | 84 +++
+ 3 files changed, 1597 insertions(+), 18 deletions(-)
+
+commit b346df59ef0775f5bd74a9f7379b5f430ccd7b79
+Author: Adam Reichold <adamreichold@myopera.com>
+Date: Tue Mar 4 23:40:59 2014 +0100
+
+ Qt: Expose document-supplied text direction
+
+ qt4/src/poppler-document.cc | 17 +++++++++++++++++
+ qt4/src/poppler-qt4.h | 10 +++++++++-
+ qt5/src/poppler-document.cc | 17 +++++++++++++++++
+ qt5/src/poppler-qt5.h | 10 +++++++++-
+ 4 files changed, 52 insertions(+), 2 deletions(-)
+
+commit 2fc38c1866243598e22be07f0177e7d9385542d5
+Author: Adrian Perez de Castro <aperez@igalia.com>
+Date: Fri Feb 28 19:14:36 2014 +0200
+
+ glib: Fixes in the API reference documentation
+
+ - Remove the references to non-existent methods for
+ PopplerStructureElement,
+ and point to PopplerStructureElementIter instead to point out how to
+ obtain the structure tree.
+ - Remove a non-existent include in poppler-docs.sgml
+ - Add POPPLER_TYPE_TEXT_SPAN to the list of private symbols.
+
+ https://bugs.freedesktop.org/show_bug.cgi?id=75615
+
+ glib/poppler-structure-element.cc | 6 +++---
+ glib/reference/poppler-docs.sgml | 1 -
+ glib/reference/poppler-sections.txt | 1 +
+ 3 files changed, 4 insertions(+), 4 deletions(-)
+
+commit cfe47a655ec5e280168e000da85bbf13f5f5f8b8
+Author: Adrian Perez de Castro <aperez@igalia.com>
+Date: Fri Feb 28 19:17:45 2014 +0200
+
+ glib: Remove poppler_text_span_is_link() in header
+
+ The method poppler_text_span_is_link() does not exist, and must
+ be removed from the API header.
+
+ https://bugs.freedesktop.org/show_bug.cgi?id=75613
+
+ glib/poppler-structure-element.h | 1 -
+ 1 file changed, 1 deletion(-)
+
+commit 7a2db63b5f7cae4bc215baa0859c4d4f8a660951
+Author: Adrian Perez de Castro <aperez@igalia.com>
+Date: Wed Feb 26 20:16:29 2014 +0200
+
+ glib: Remove unneeded POPPLER_STRUCTURE_ELEMENT_UNKNOWN
+
+ The enum value POPPLER_STRUCTURE_ELEMENT_UNKNOWN because Poppler does
+ not add invalid StructElements ("invalid" being nodes of type
+ StructElement::Unknown) to the Tagged-PDF structure tree. That means
+ that poppler-glib does not need to expose it in the API. An assertion
+ is left to aid in finding issues when using debug builds.
+
+ https://bugs.freedesktop.org/show_bug.cgi?id=75541
+
+ glib/poppler-structure-element.cc | 12 +++++++-----
+ glib/poppler-structure-element.h | 1 -
+ 2 files changed, 7 insertions(+), 6 deletions(-)
+
+commit db909c2a14f962234a813ba9853535b9692cfd5a
+Author: Albert Astals Cid <aacid@kde.org>
+Date: Wed Feb 26 22:09:44 2014 +0100
+
+ Try harder to open broken files
+
+ Bug #75232
+
+ poppler/PDFDoc.cc | 33 ++++++++++++++++++++++-----------
+ poppler/PDFDoc.h | 8 ++++----
+ 2 files changed, 26 insertions(+), 15 deletions(-)
+
+commit b2394eee5384edf4128d598030989e66d64714ef
+Author: Adrian Perez de Castro <aperez@igalia.com>
+Date: Mon Feb 10 20:29:35 2014 +0200
+
+ Tagged-PDF: Fix parsing of attached element attributes
+
+ The wrong object was used as attribute dictionary, which caused
+ a segmentation fault when parsing PDF files in which the structure
+ elements included attributes attached to them. This patch fixes the
+ issue.
+
+ Thanks to Joanmarie Diggs <jdiggs@igalia.com> for helping in
+ debugging the problem.
+
+ https://bugs.freedesktop.org/show_bug.cgi?id=74805
+
+ poppler/StructElement.cc | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit c549b5e9ce2dcc8beb2511ee315bfff2fdfdf6e8
+Author: Adrian Perez de Castro <aperez@igalia.com>
+Date: Sun Feb 9 18:31:22 2014 +0200
+
+ glib: Add poppler_structure_element_is_grouping()
+
+ Implement a method to check whether a structure element is a grouping
+ element, wrapping the StructElement::isGrouping() method.
+
+ https://bugs.freedesktop.org/show_bug.cgi?id=74753
+
+ glib/poppler-structure-element.cc | 20 ++++++++++++++++++++
+ glib/poppler-structure-element.h | 1 +
+ glib/reference/poppler-sections.txt | 1 +
+ 3 files changed, 22 insertions(+)
+
+commit 6fbd6cb85bdd32dc5a3d4c3c719556269a4488ac
+Author: Adrian Perez de Castro <aperez@igalia.com>
+Date: Fri Feb 21 15:02:44 2014 +0200
+
+ glib: Handle missing structure element types
+
+ Element Art (article); RB, RP, RB (Ruby text inner elements); and
+ WT, WP (Warichu inner elements) were not being handled. This adds
+ the corresponding handling in poppler-glib. Also, the "default" case
+ in the switch in poppler_structure_element_get_type() is removed, so
+ the compiler can emit warnings when enum values are not handled.
+
+ https://bugs.freedesktop.org/show_bug.cgi?id=75323
+
+ glib/poppler-structure-element.cc | 25 +++++++++++++++++++------
+ glib/poppler-structure-element.h | 9 +++++++--
+ 2 files changed, 26 insertions(+), 8 deletions(-)
+
+commit 63e9c0b67fa2e64ca20258d873a849386c7eb295
+Author: Fabio D'Urso <fabiodurso@hotmail.it>
+Date: Mon Feb 17 23:58:09 2014 +0100
+
+ Some error() usage fixes
+
+ poppler/Hints.cc | 3 ++-
+ poppler/JBIG2Stream.cc | 4 ++--
+ poppler/PSOutputDev.cc | 4 ++--
+ poppler/SecurityHandler.cc | 3 ++-
+ poppler/StructTreeRoot.cc | 3 ++-
+ qt4/src/poppler-annotation.cc | 6 +++---
+ qt5/src/poppler-annotation.cc | 6 +++---
+ utils/HtmlOutputDev.cc | 11 ++++++-----
+ 8 files changed, 22 insertions(+), 18 deletions(-)
+
+commit 8f2d847f1d0224a297e642944f8da9c1409732b6
+Author: Fabio D'Urso <fabiodurso@hotmail.it>
+Date: Mon Feb 17 23:56:49 2014 +0100
+
+ Clang++ plugin that checks for usage errors in GooString::format-style
+ calls
+
+ goo/GooString.h | 12 +-
+ poppler/Error.h | 4 +-
+ test/goostring-format-checker/README | 16 +
+ .../goostring-format-checker.cc | 369
+ +++++++++++++++++++++
+ 4 files changed, 397 insertions(+), 4 deletions(-)
+
+commit d7d61dcda91910f7eb2548b19e8380d7c3232dd3
+Author: Thomas Freitag <Thomas.Freitag@alfa.de>
+Date: Wed Feb 12 21:50:38 2014 +0100
+
+ blend usage in PDF with spot colors casue random output
+
+ The reason for the random colors is the uninitialized local variable
+ cBlend. The blend functions only fills offset 0 to 3, so offset 4
+ up to 4 + SPOT_NCOMPS are left uninitialized, but all offsets are
+ stored in the bitmap.
+ So we need to initialize these offsets with 0!
+
+ Bug #74883
+
+ splash/Splash.cc | 9 ++++++++-
+ 1 file changed, 8 insertions(+), 1 deletion(-)
+
+commit b2905a0d299cc09fcd219afe49cb370f6db61c5a
+Author: Albert Astals Cid <aacid@kde.org>
+Date: Mon Feb 10 20:19:07 2014 +0100
+
+ increase gtk3 dependency
+
+ gtk_tree_view_set_activate_on_single_click was introduced in 3.8
+
+ cmake/modules/FindGTK.cmake | 2 +-
+ configure.ac | 4 ++--
+ 2 files changed, 3 insertions(+), 3 deletions(-)
+
+commit 71d4041b061c109a965e72230640cf8ee616dac3
+Author: Albert Astals Cid <aacid@kde.org>
+Date: Mon Feb 10 20:16:46 2014 +0100
+
+ Make sure number of least objects in hints table is valid
+
+ Bug #74741
+
+ poppler/Hints.cc | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+commit a865f13def88153fdbe8a0a054d2005e3e2bb737
+Author: Albert Astals Cid <aacid@kde.org>
+Date: Sun Feb 9 23:22:07 2014 +0100
+
+ Fix cmake build
+
+ glib/CMakeLists.txt | 2 ++
+ glib/demo/CMakeLists.txt | 1 +
+ 2 files changed, 3 insertions(+)
+
+commit d6fde0fac0120b1622942d8344d5153d9abf3e1e
+Author: Adrian Perez de Castro <aperez@igalia.com>
+Date: Wed May 29 23:44:03 2013 +0300
+
+ glib-demo: Pane showing the document structure
+
+ Adds a new pane in poppler-glib-demo showing the structure for
+ Tagged-PDF
+ documents. It also serves as an example on how to to use the API for
+ PopplerStructure and PopplerStructureElement.
+
+ glib/demo/Makefile.am | 2 +
+ glib/demo/main.c | 2 +
+ glib/demo/taggedstruct.c | 232
+ +++++++++++++++++++++++++++++++++++++++++++++++
+ glib/demo/taggedstruct.h | 31 +++++++
+ 4 files changed, 267 insertions(+)
+
+commit 0f9fa775c469c03d1613b955ee7b06b823e6e080
+Author: Adrian Perez de Castro <aperez@igalia.com>
+Date: Thu Sep 26 17:50:51 2013 +0300
+
+ glib: Expose inline attributes of structure elements
+
+ Allows obtaining inline text attributes from structure elements. The
+ text
+ is divived into "spans", which are groups of consecutive glyphs
+ that share
+ their attributes. Each one of those is represented by a
+ PopplerTextSpan,
+ which gives information about the text font and color, and the
+ link target
+ for links. The list of PopplerTextSpans is created lazily when
+ first used.
+
+ https://bugs.freedesktop.org/show_bug.cgi?id=64821
+
+ glib/poppler-structure-element.cc | 269
+ ++++++++++++++++++++++++++++++++++++
+ glib/poppler-structure-element.h | 16 ++-
+ glib/poppler.h | 1 +
+ glib/reference/poppler-sections.txt | 12 ++
+ 4 files changed, 297 insertions(+), 1 deletion(-)
+
+commit 8072d4b0e3ea10b4308f8172891f769f30466133
+Author: Adrian Perez de Castro <aperez@igalia.com>
+Date: Thu May 9 12:01:59 2013 +0300
+
+ glib: Expose the document structure tree
+
+ Implements a new PopplerStructureElement classe, which builds upon
+ StructTreeRoot and StructElement to expose the document structure of
+ tagged PDFs in the GLib binding.
+
+ Navigation of the structure tree is done by an iterator-based
+ interface,
+ using PopplerStructureElementIter.
+
+ https://bugs.freedesktop.org/show_bug.cgi?id=64821
+
+ glib/Makefile.am | 2 +
+ glib/poppler-private.h | 10 +
+ glib/poppler-structure-element.cc | 663
+ ++++++++++++++++++++++++++++++++++++
+ glib/poppler-structure-element.h | 112 ++++++
+ glib/poppler.h | 3 +
+ glib/reference/poppler-docs.sgml | 2 +
+ glib/reference/poppler-sections.txt | 37 ++
+ glib/reference/poppler.types | 2 +
+ 8 files changed, 831 insertions(+)
+
+commit 46b7470ae9846d7e6dbb72bbb3ff831acd954168
+Author: Germán Poo-Caamaño <gpoo@gnome.org>
+Date: Thu Jan 30 14:42:51 2014 -0800
+
+ glib-demo: Fix performance in text markup annotations
+
+ Fix https://bugs.freedesktop.org/show_bug.cgi?id=51487#c45
+
+ glib/demo/annots.c | 19 +++++++++++++------
+ 1 file changed, 13 insertions(+), 6 deletions(-)
+
+commit 8a84b45674aed8c27a1d172b07eb0531c0ec14f1
+Author: Carlos Garcia Campos <carlosgc@gnome.org>
+Date: Sat Feb 8 09:17:02 2014 +0100
+
+ glib: Fix gobject-introspection warnings
+
+ glib/poppler-page.cc | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit 899799df78c00fc2ca6d2d0e612536b87a871817
+Author: Adrian Perez de Castro <aperez@igalia.com>
+Date: Tue Feb 4 19:26:53 2014 +0200
+
+ Allow properly identifying grouping elements
+
+ Grouping elements in the Tagged-PDF structure should be identifiable
+ as
+ such (see section 14.8.4.2 "Grouping Elements" of the PDF
+ standard). Those
+ were previously reported as inline elements, which is quite not
+ correct.
+ This patch introduces a new StructElement::isGrouping() method which
+ correctly reports grouping elements as such.
+
+ https://bugs.freedesktop.org/show_bug.cgi?id=74520
+
+ poppler/StructElement.cc | 31 +++++++++++++++++++------------
+ poppler/StructElement.h | 1 +
+ 2 files changed, 20 insertions(+), 12 deletions(-)
+
+commit 27cd9a00bfebf0602e7ed29a8ee8e16ffff67bde
+Author: Adrian Perez de Castro <aperez@igalia.com>
+Date: Tue Feb 4 19:35:58 2014 +0200
+
+ Report LBody elements in Tagged-PDF structure as block elements
+
+ According to section 14.8.4.3 "Block-Level Structure Elements"
+ (in particular subsection 14.8.4.3.3 "List Elements"), structure
+ elements of type LBody must be reported as block elements. This
+ patch changes the reported type from elementTypeUndefined to
+ elementTypeBlock accordingly.
+
+ https://bugs.freedesktop.org/show_bug.cgi?id=74522
+
+ poppler/StructElement.cc | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 4cda839cb489fe5cd4726109cb9ab8b0ba2fa563
+Author: Adrian Johnson <ajohnson@redneon.com>
+Date: Tue Jan 28 06:06:09 2014 +1030
+
+ pdftops: ensure there is always a page size in the output
+
+ even if the PDF file as badly broken.
+
+ poppler/PSOutputDev.cc | 7 +++++++
+ 1 file changed, 7 insertions(+)
+
+commit 45a87afdf1372911aa1ba840557e61627cdc7b4f
+Author: Adrian Johnson <ajohnson@redneon.com>
+Date: Sun Dec 29 15:16:37 2013 +1030
+
+ cairo: clip to crop box
+
+ when printing the cairo surface may larger than the crop box
+
+ fixes https://bugzilla.gnome.org/show_bug.cgi?id=649886
+
+ poppler/CairoOutputDev.h | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+commit 6d39a1d7b348329dd057a8e7c77bfd47921fc495
+Author: Adrian Johnson <ajohnson@redneon.com>
+Date: Mon Dec 30 17:59:09 2013 +1030
+
+ pdftocairo: ensure page size and crop box works the same as pdftops
+
+ Bug 72312
+
+ utils/pdftocairo.1 | 26 +++++++++-----------------
+ utils/pdftocairo.cc | 20 +++++++++++++++-----
+ 2 files changed, 24 insertions(+), 22 deletions(-)
+
+commit b1da7e20dcef78ef6036418b37a47ba3f8818453
+Author: Adrian Johnson <ajohnson@redneon.com>
+Date: Thu Dec 19 22:18:26 2013 +1030
+
+ pdftops: Only change paper size when different to previous size
+
+ Previously this check was done in the code (removed in previous
+ commit).
+ Moving this check into the pdfSetupPaper macro preserves page
+ independence.
+
+ Bug 72312
+
+ poppler/PSOutputDev.cc | 30 +++++++++++++++++++++++++-----
+ 1 file changed, 25 insertions(+), 5 deletions(-)
+
+commit 7ac7d3bad4b868950ee96fd9c5ece88632f8827c
+Author: Adrian Johnson <ajohnson@redneon.com>
+Date: Fri Dec 20 07:19:21 2013 +1030
+
+ pdftops: Remove origpagesizes mode and make -origpagesizes an alias
+ for -paper match
+
+ Bug 72312
+
+ poppler/PSOutputDev.cc | 9 ++-------
+ poppler/PSOutputDev.h | 4 ++--
+ utils/pdftops.1 | 30 ++++++++++--------------------
+ utils/pdftops.cc | 23 ++++++++++++++---------
+ 4 files changed, 28 insertions(+), 38 deletions(-)
+
+commit 31fc5181bc491ff2e4aee0ae05c0f611a36e585c
+Author: Adrian Johnson <ajohnson@redneon.com>
+Date: Fri Dec 20 07:16:37 2013 +1030
+
+ pdftops: Use crop box as page size
+
+ unless -nocrop is used. The fontends use the crop box as the page
+ size and
+ acroread uses the cropbox as the page size for display and printing.
+
+ Bug 72312
+
+ poppler/PSOutputDev.cc | 28 +++++++---------------------
+ 1 file changed, 7 insertions(+), 21 deletions(-)
+
+commit bf2049b17ac4706f472c59e50266f4eaf0ffaa32
+Author: Adrian Johnson <ajohnson@redneon.com>
+Date: Sun Dec 15 18:00:41 2013 +1030
+
+ pdftps: fix DocumentMedia/Page/Media/PageBBox DSC comments
+
+ Bug 72312
+
+ poppler/PSOutputDev.cc | 167
+ ++++++++++++++++++++++++++--------------
+ poppler/PSOutputDev.h | 6 +-
+ qt4/src/poppler-ps-converter.cc | 1 +
+ qt5/src/poppler-ps-converter.cc | 1 +
+ utils/pdftops.cc | 1 +
+ 5 files changed, 119 insertions(+), 57 deletions(-)
+
+commit fe49033c9bd2103c13d4eb59983e06fdcdd33a8d
+Author: Till Kamppeter <till.kamppeter@gmail.com>
+Date: Sat Dec 14 16:05:09 2013 +1030
+
+ pdftops: ensure paper size takes into account rotation
+
+ Bug 72312
+
+ poppler/PSOutputDev.cc | 48
+ ++++++++++++++++++++----------------------------
+ 1 file changed, 20 insertions(+), 28 deletions(-)
+
+commit 31edf585e62f4e91b7b64295cc8b978ac466ce58
+Author: Bogdan Cristea <cristeab@gmail.com>
+Date: Mon Jan 27 20:06:11 2014 +0100
+
+ [qt] Improve compilation under Win 8 with Visual Studio 2012
+
+ Bug #73111
+
+ goo/GooMutex.h | 3 ++-
+ goo/GooTimer.h | 2 ++
+ goo/gfile.h | 2 ++
+ poppler/PDFDoc.cc | 4 +---
+ poppler/XpdfPluginAPI.h | 2 ++
+ poppler/poppler-config.h.cmake | 18 ++++++++++++++++--
+ poppler/poppler-config.h.in | 18 ++++++++++++++++--
+ qt4/tests/stress-threads-qt4.cpp | 5 +++++
+ qt5/src/poppler-private.h | 6 ++++--
+ qt5/tests/stress-threads-qt5.cpp | 5 +++++
+ test/perf-test.cc | 1 -
+ 11 files changed, 55 insertions(+), 11 deletions(-)
+
+commit 834cd18e3ddfda44a11316290f7eee98cd871305
+Author: Albert Astals Cid <aacid@kde.org>
+Date: Sun Jan 26 16:10:20 2014 +0100
+
+ Use c99 for the c compiler
+
+ cmake/modules/PopplerMacros.cmake | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit 03674a141a96806e5e1a134dc3dec2ee61b68713
+Author: Pino Toscano <pino@kde.org>
+Date: Sun Jan 26 12:43:13 2014 +0100
+
+ qt4/qt5: add GCC visibility export attributes
+
+ this does no actual changes to the exported symbols, but can help in
+ hiding symbols if the right GCC flags for symbols visibility are
+ specified
+
+ qt4/src/poppler-export.h | 3 +++
+ qt5/src/poppler-export.h | 3 +++
+ 2 files changed, 6 insertions(+)
+
+commit 52b46d05219cf9898ee4adae7c8c2702adb1ba23
+Author: Pino Toscano <pino@kde.org>
+Date: Sun Jan 26 12:38:03 2014 +0100
+
+ qt4/qt5: improve naming of internal export/import macros
+
+ use something less generic than LIB_EXPORT/LIB_IMPORT
+
+ qt4/src/poppler-export.h | 12 ++++++------
+ qt5/src/poppler-export.h | 12 ++++++------
+ 2 files changed, 12 insertions(+), 12 deletions(-)
+
+commit 7a8bcea11ad71fccbbba2787fc442f6ba4bf7100
+Author: Pino Toscano <pino@kde.org>
+Date: Thu Jan 23 22:34:07 2014 +0100
+
+ cmake: install JpegWriter.h depending on libjpeg
+
+ ... and not libopenjpeg
+
+ CMakeLists.txt | 8 +++++---
+ 1 file changed, 5 insertions(+), 3 deletions(-)
+
+commit 57f34f525fa2c2e62ebc7383ceba48ebc80ebba6
+Author: Andres Gomez <agomez@igalia.com>
+Date: Wed Jan 8 12:26:14 2014 +0200
+
+ glib-demo: Fix conding style issue in render.c
+
+ glib/demo/render.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 3fac919eeb1ca1abfdbb4f9923a454e532256f5c
+Author: Andres Gomez <agomez@igalia.com>
+Date: Wed Jan 8 12:25:52 2014 +0200
+
+ glib-demo: Fix trailing whitespaces in render.c
+
+ glib/demo/render.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit 92ea15642a6d3fe65d66d5c59fb6bed54e060e5d
+Author: Christian Persch <chpe@gnome.org>
+Date: Fri Jan 3 23:31:56 2014 +0100
+
+ glib: Install error callback
+
+ Install an error callback so that poppler error messages can be
+ redirected
+ to the GLib logging API.
+
+ https://bugs.freedesktop.org/show_bug.cgi?id=73269
+
+ glib/poppler.cc | 47 +++++++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 47 insertions(+)
+
+commit f99128e38bbff43623d5cd1c1bc27fd789d0bc0c
+Author: Carlos Garcia Campos <carlosgc@gnome.org>
+Date: Sun Jan 19 16:03:35 2014 +0100
+
+ glib: Make vertices a constructor parameter of line annotations
+
+ It's a required field in the line annotation.
+
+ glib/demo/annots.c | 4 +---
+ glib/poppler-annot.cc | 12 ++++++++++--
+ glib/poppler-annot.h | 4 +++-
+ 3 files changed, 14 insertions(+), 6 deletions(-)
+
+commit 587a40f90e4ac5a1b6ab9044495a1ae403bc8c58
+Author: Carlos Garcia Campos <carlosgc@gnome.org>
+Date: Sun Jan 19 15:58:43 2014 +0100
+
+ annots: Fix memory leak when setting AnnotTextMarkup quads twice
+
+ poppler/Annot.cc | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit 69e73da1fbab9bf3365b40dced1008b0283ac931
+Author: Germán Poo-Caamaño <gpoo@gnome.org>
+Date: Wed Nov 20 11:53:30 2013 -0800
+
+ glib-demo: Add support for PopplerTextAnnotMarkup
+
+ * The subtypes are: Highlihght, Squiggly, StrikeOut and Underline.
+ * Use ScrolledWindow for annotation properties to make room to
+ show the Quadrilaterals of TextMarkup annotations.
+
+ https://bugs.freedesktop.org/show_bug.cgi?id=51487
+
+ glib/demo/annots.c | 232
+ +++++++++++++++++++++++++++++++++++++++++++++++------
+ 1 file changed, 206 insertions(+), 26 deletions(-)
+
+commit 9a7699ebe3e644ba845ef75d9295c88d321cb934
+Author: Germán Poo-Caamaño <gpoo@gnome.org>
+Date: Mon Nov 18 16:42:08 2013 -0800
+
+ 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 | 264
+ ++++++++++++++++++++++++++++++++++++
+ glib/poppler-annot.h | 23 ++++
+ glib/poppler-page.cc | 6 +
+ glib/poppler-private.h | 1 +
+ glib/poppler.h | 1 +
+ glib/reference/poppler-sections.txt | 11 ++
+ 6 files changed, 306 insertions(+)
+
+commit 40040b41216a3dcc833fc224f1c6f15517a88aed
+Author: Germán Poo-Caamaño <gpoo@gnome.org>
+Date: Mon Nov 18 16:26:27 2013 -0800
+
+ glib: Add PopplerQuadrilateral boxed type
+
+ https://bugs.freedesktop.org/show_bug.cgi?id=51487
+
+ glib/poppler-page.cc | 53
+ +++++++++++++++++++++++++++++++++++++
+ glib/poppler-page.h | 33 +++++++++++++++++++++++
+ glib/poppler.h | 1 +
+ glib/reference/poppler-sections.txt | 6 +++++
+ 4 files changed, 93 insertions(+)
+
+commit c8a845cf7c7752d3b7dad06013d3154812c66c92
+Author: Albert Astals Cid <aacid@kde.org>
+Date: Tue Jan 14 20:26:59 2014 +0100
+
+ Do not define -ansi
+
+ We are using long long that is not defined in ansi, so forcing ansi
+ strictness does
+ not make any sense. Bug #72499
+
+ cmake/modules/PopplerMacros.cmake | 5 -----
+ configure.ac | 15 ---------------
+ 2 files changed, 20 deletions(-)
+
+commit f0c13ee72e8a7df17bdf847f5e922c01acee1f0d
+Author: Albert Astals Cid <aacid@kde.org>
+Date: Mon Jan 6 21:55:07 2014 +0100
+
+ C for last commit
+
+ poppler/Parser.cc | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 1e1b9991a911fb610e74119979b20b179f3f2a67
+Author: Albert Astals Cid <aacid@kde.org>
+Date: Mon Jan 6 21:51:25 2014 +0100
+
+ Fix rendering of pdf file from KDE bug 329600
+
+ It used to work and regressed with large file support (used to work
+ because stuff just overflowed)
+
+ lexer->getPos needs lexer to be a stream, if it is not, just resort
+ to the +5000 kludge
+
+ poppler/Parser.cc | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 4cd5c349cfbc745688c0c38fc50d364092bc3718
+Author: Albert Astals Cid <aacid@kde.org>
+Date: Mon Jan 6 21:48:25 2014 +0100
+
+ Update popplers (C)
+
+ poppler/poppler-config.h.cmake | 2 +-
+ poppler/poppler-config.h.in | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+commit 7ca2f42b06757587dfd9521fb1c6c7d657545553
+Author: Albert Astals Cid <aacid@kde.org>
+Date: Mon Jan 6 15:48:22 2014 +0100
+
+ Learn about automake 1.14
+
+ autogen.sh | 19 ++++++++++---------
+ 1 file changed, 10 insertions(+), 9 deletions(-)
+
+commit de9643b6f76774ebe131c4787df82dd213181c71
+Author: Albert Astals Cid <aacid@kde.org>
+Date: Fri Jan 3 00:53:37 2014 +0100
+
+ 0.25.1
+
+ CMakeLists.txt | 2 +-
+ NEWS | 19 +++++++++++++++++++
+ cpp/Doxyfile | 2 +-
+ qt4/src/Doxyfile | 2 +-
+ qt5/src/Doxyfile | 2 +-
+ 5 files changed, 23 insertions(+), 4 deletions(-)
+
+commit e238c1f83fd5f667336bfbb0e9a59569ff638ecc
+Author: Albert Astals Cid <aacid@kde.org>
+Date: Fri Jan 3 00:29:28 2014 +0100
+
+ Fix qt5 moc detection fix
+
+ configure.ac | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+commit 381ae2877acace4e8908b07ee5fb442bc19bf814
+Merge: 64100e7 a2f0e4b
+Author: Albert Astals Cid <aacid@kde.org>
+Date: Fri Jan 3 00:04:29 2014 +0100
+
+ Merge remote-tracking branch 'origin/poppler-0.24'
+
+ Conflicts:
+ CMakeLists.txt
+ NEWS
+ configure.ac
+ cpp/Doxyfile
+ qt4/src/Doxyfile
+ qt5/src/Doxyfile
+
+commit a2f0e4b1fd8b3d9675cc00a561094bd78a63d048
+Author: Albert Astals Cid <aacid@kde.org>
+Date: Thu Jan 2 23:48:29 2014 +0100
+
+ 0.24.5
+
+ CMakeLists.txt | 2 +-
+ NEWS | 4 ++++
+ configure.ac | 2 +-
+ cpp/Doxyfile | 2 +-
+ qt4/src/Doxyfile | 2 +-
+ qt5/src/Doxyfile | 2 +-
+ 6 files changed, 9 insertions(+), 5 deletions(-)
+
+commit 523b2731e0489bab58e66b21016bd6f010e616ea
+Author: Albert Astals Cid <aacid@kde.org>
+Date: Thu Jan 2 22:54:42 2014 +0100
+
+ Update copyrights
+
+ poppler/JBIG2Stream.cc | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit 64100e7f1f6b550e952838fce38615ec3788e17c
+Author: Fabio D'Urso <fabiodurso@hotmail.it>
+Date: Sat Dec 28 12:11:47 2013 +0100
+
+ Simplify some calls to GooString::format-family functions
+
+ poppler/Object.h | 4 ++--
+ utils/pdftocairo.cc | 2 +-
+ 2 files changed, 3 insertions(+), 3 deletions(-)
+
+commit 0abde34d0f7ba0fc04a30dbfd78373ec9d9d0695
+Author: Fabio D'Urso <fabiodurso@hotmail.it>
+Date: Sat Dec 28 12:11:05 2013 +0100
+
+ Fixed some GooString format markers
+
+ poppler/CMap.cc | 3 ++-
+ poppler/Function.cc | 3 ++-
+ poppler/StructElement.cc | 2 +-
+ 3 files changed, 5 insertions(+), 3 deletions(-)
+
+commit a7da4c6ac2b13308803806009c3437332b140586
+Author: Fabio D'Urso <fabiodurso@hotmail.it>
+Date: Fri Dec 27 17:09:39 2013 +0100
+
+ GooString format: fixed bug with printing LLONG_MIN
+
+ ( -LLONG_MIN doesn't fit in a signed long long )
+
+ goo/GooString.cc | 19 +++++++++++++------
+ 1 file changed, 13 insertions(+), 6 deletions(-)
+
+commit fe88f20cc565b4cf4765fed56c821989148ef454
+Author: Fabio D'Urso <fabiodurso@hotmail.it>
+Date: Fri Dec 27 17:08:50 2013 +0100
+
+ GooString format: Added some tests + improved documentation
+
+ goo/GooString.h | 10 +++++--
+ qt4/tests/check_goostring.cpp | 66
+ +++++++++++++++++++++++++++++++++++++++++++
+ qt5/tests/check_goostring.cpp | 66
+ +++++++++++++++++++++++++++++++++++++++++++
+ 3 files changed, 139 insertions(+), 3 deletions(-)
+
+commit 5234a349adb678d267a3d8ca13176ac8abb7afd2
+Author: Thomas Freitag <Thomas.Freitag@alfa.de>
+Date: Fri Dec 20 20:25:26 2013 +0100
+
+ pdfunite: do not lose fonts when merging some files
+
+ utils/pdfunite.cc | 8 +++++++-
+ 1 file changed, 7 insertions(+), 1 deletion(-)
+
+commit 8e24fcc0d296e07327e9cbe297f627bfc6471ee3
+Merge: 85efba3 b02f873
+Author: Albert Astals Cid <aacid@kde.org>
+Date: Wed Dec 18 21:51:57 2013 +0100
+
+ Merge remote-tracking branch 'origin/poppler-0.24'
+
+ Conflicts:
+ poppler/GfxState.cc
+
+commit b02f873174865837fed3a9544b70b8b21747a3dd
+Author: Fabio D'Urso <fabiodurso@hotmail.it>
+Date: Wed Dec 18 21:46:12 2013 +0100
+
+ Fixed some GooString format markers
+
+ poppler/GfxState.cc | 9 +++++----
+ 1 file changed, 5 insertions(+), 4 deletions(-)
+
+commit 85efba38c02b5daf7d3fc46bc85850e6842a085d
+Author: Thomas Freitag <Thomas.Freitag@alfa.de>
+Date: Wed Dec 18 00:46:00 2013 +0100
+
+ Make pdfunite work even if there's a single file given
+
+ Bug #72720
+
+ utils/pdfunite.cc | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit a766c55f68db38feed91cf003a0d5710e2f925a8
+Author: Tuomas Jormola <tj@solitudo.net>
+Date: Mon Dec 16 20:43:28 2013 +0100
+
+ Fix detection of moc for Qt5
+
+ Bug #72744
+
+ On my Mac OS X 10.9 Mavericks system with Qt 5.2.0 installed using
+ Homebrew, the output of the moc command doesn't include the string
+ "Qt 5" which is expected by the moc version detection logic in
+ configure.ac of poppler 0.24.4. This patch updates the grep pattern so
+ that the current expected moc version output and the version output of
+ this installation of Qt5 are both detected as a valid moc for
+ Qt5. With
+ this patch applied, I was able to build and test poppler with Qt5
+ support successfully.
+
+ (09:26:05)(tj@gauri)(~)$ uname -a
+ Darwin gauri.ad.local.domain 13.0.0 Darwin Kernel Version 13.0.0:
+ Thu Sep 19 22:22:27 PDT 2013; root:xnu-2422.1.72~6/RELEASE_X86_64
+ x86_64 i386 MacBookPro3,1 Darwin
+ (09:26:08)(tj@gauri)(~)$ /usr/local/opt/qt5/bin/moc -v
+ moc 5.2.0
+ (09:26:24)(tj@gauri)(~)$
+
+ configure.ac | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+commit a43b4bf84fe4bde6649049685bf4ed6a682e8286
+Author: Carlos Garcia Campos <carlosgc@gnome.org>
+Date: Sun Dec 15 11:59:57 2013 +0100
+
+ regtest: Add a command line option to create-report command to not
+ launch the browser
+
+ regtest/HTMLReport.py | 5 +++--
+ regtest/commands/create-report.py | 5 ++++-
+ 2 files changed, 7 insertions(+), 3 deletions(-)
+
+commit 113958276b96d7f1aab7042e1807a9970425d234
+Author: Carlos Garcia Campos <carlosgc@gnome.org>
+Date: Sun Dec 15 11:48:51 2013 +0100
+
+ regtest: Return an exist status code depending on whether the
+ command succeeded
+
+ regtest/TestRun.py | 2 ++
+ regtest/commands/__init__.py | 4 ++--
+ regtest/commands/create-refs.py | 2 ++
+ regtest/commands/create-report.py | 2 ++
+ regtest/commands/find-regression.py | 4 +++-
+ regtest/commands/run-tests.py | 6 ++++--
+ regtest/main.py | 8 ++++----
+ regtest/poppler-regtest | 2 +-
+ 8 files changed, 20 insertions(+), 10 deletions(-)
+
+commit 44cf2de0df351d5948893f6a4e2bca1168d16b70
+Author: Dominik Haumann <dhaumann@kde.org>
+Date: Thu Dec 12 23:12:35 2013 +0100
+
+ Arthur font rendering improvements
+
+ The patch does does the following:
+ - use NoPen to fill the glyphs
+ - since SplashPath seems to bitwise OR stop and start of path,
+ closing a subpath needs to happen before starting a path.
+
+ Arthur needs serious work but this is a definite improvement in all
+ the files i've tried it on
+
+ qt4/src/ArthurOutputDev.cc | 18 +++++++++---------
+ qt5/src/ArthurOutputDev.cc | 18 +++++++++---------
+ 2 files changed, 18 insertions(+), 18 deletions(-)
+
+commit 02863f683be4543a2af6c26d53be93785d2b836a
+Author: Albert Astals Cid <aacid@kde.org>
+Date: Thu Dec 12 23:09:43 2013 +0100
+
+ qt: Simple silly test program to save to file
+
+ Allows us to do some quick arthur testing
+
+ qt4/tests/CMakeLists.txt | 1 +
+ qt4/tests/Makefile.am | 8 ++++-
+ qt4/tests/test-render-to-file.cpp | 69
+ +++++++++++++++++++++++++++++++++++++++
+ qt5/tests/CMakeLists.txt | 1 +
+ qt5/tests/Makefile.am | 8 ++++-
+ qt5/tests/test-render-to-file.cpp | 69
+ +++++++++++++++++++++++++++++++++++++++
+ 6 files changed, 154 insertions(+), 2 deletions(-)
+
+commit 018892d4ceccd5e2994cdb74cd2d401293fc929d
+Author: Albert Astals Cid <aacid@kde.org>
+Date: Wed Dec 11 23:05:53 2013 +0100
+
+ 0.25.0
+
+ CMakeLists.txt | 6 +++---
+ configure.ac | 4 ++--
+ cpp/Doxyfile | 2 +-
+ poppler/Makefile.am | 2 +-
+ qt4/src/Doxyfile | 2 +-
+ qt5/src/Doxyfile | 2 +-
+ 6 files changed, 9 insertions(+), 9 deletions(-)
+
+commit a1b99b26da9124fa55f773af55ae7382bd911d47
+Author: Albert Astals Cid <aacid@kde.org>
+Date: Wed Dec 11 23:00:00 2013 +0100
+
+ NEWS
+
+ NEWS | 23 +++++++++++++++++++++++
+ 1 file changed, 23 insertions(+)
+
+commit 10a0c45676ef56bee5924e889a7e7c21244b4339
+Author: Albert Astals Cid <aacid@kde.org>
+Date: Tue Dec 10 20:48:36 2013 +0100
+
+ Update copyrights
+
+ cpp/poppler-image.cpp | 1 +
+ goo/PNGWriter.cc | 2 +-
+ poppler/MarkedContentOutputDev.cc | 2 ++
+ poppler/MarkedContentOutputDev.h | 2 ++
+ poppler/Object.h | 1 +
+ poppler/PDFDoc.h | 1 +
+ utils/ImageOutputDev.h | 2 +-
+ 7 files changed, 9 insertions(+), 2 deletions(-)
+
+commit 6c0e7d35f273583acc2aa818860e3120b0cab64f
+Author: Thomas Freitag <Thomas.Freitag@alfa.de>
+Date: Tue Dec 10 20:14:39 2013 +0100
+
+ correction for knockout transparency groups
+
+ Fixes test "G" in eci_altona-test-suite-v2_technical2_x4.pdf
+
+ poppler/SplashOutputDev.cc | 18 ++++++++++---
+ splash/Splash.cc | 63
+ +++++++++++++++++++++++++++++++++------------
+ splash/SplashFTFontEngine.h | 3 +++
+ splash/SplashFontEngine.cc | 13 ++++++++++
+ splash/SplashFontEngine.h | 5 ++++
+ 5 files changed, 82 insertions(+), 20 deletions(-)
+
+commit f77bc21813ae7234ec4ce94ce4e92230fe5c174a
+Merge: 06e9dc9 58e04a0
+Author: Albert Astals Cid <aacid@kde.org>
+Date: Sat Dec 7 16:56:11 2013 +0000
+
+ Merge remote-tracking branch 'origin/poppler-0.24'
+
+ Conflicts:
+ utils/pdfimages.cc
+ utils/pdfinfo.cc
+ utils/pdfseparate.cc
+
+commit 06e9dc917650f562cd6f6666190a8c25756514a3
+Author: Albert Astals Cid <aacid@kde.org>
+Date: Sat Dec 7 16:39:02 2013 +0000
+
+ Compile++
+
+ CMakeLists.txt | 2 ++
+ 1 file changed, 2 insertions(+)
+
+commit 58e04a08afee39370283c494ee2e4e392fd3b684
+Author: Fabio D'Urso <fabiodurso@hotmail.it>
+Date: Sat Dec 7 16:33:09 2013 +0000
+
+ segExtraBytes is a goffset not an int so use lld
+
+ Fixes KDE bug #328511
+
+ poppler/JBIG2Stream.cc | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 3335d5e52fd7527bba7368ad6e87f1188808582f
+Author: Carlos Garcia Campos <carlosgc@gnome.org>
+Date: Fri Dec 6 17:28:13 2013 +0100
+
+ regtest: Limit the stderr files to ~1MB
+
+ Some tests send a lot of information to stderr, usually due to parsing
+ errors in buggy documents. More than 1MB of stderr output is
+ diffcult to
+ hanlde and in most cases it's redundant with a lot of duplicated
+ messages.
+ This patch reduced the size of the refs dir for the complete test
+ suite
+ by 1GB.
+
+ regtest/backends/__init__.py | 6 +++++-
+ 1 file changed, 5 insertions(+), 1 deletion(-)
+
+commit 24107ac47625438837d7c29053bff795f986a6bb
+Author: Carlos Garcia Campos <carlosgc@gnome.org>
+Date: Fri Dec 6 13:24:47 2013 +0100
+
+ regtest: Save checksum results sorted in md5 files
+
+ We are using os.listdir() to get the list of test results that returns
+ files in arbitrary order.
+
+ regtest/backends/__init__.py | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit f1c9993d58fb9d191a7b3e26bfcaf7b5eec5323d
+Author: Carlos Garcia Campos <carlosgc@gnome.org>
+Date: Fri Dec 6 13:03:24 2013 +0100
+
+ regtest: Show also the tests expected to crash/fail to run but
+ don't fail
+
+ regtest/TestRun.py | 8 +++++++-
+ 1 file changed, 7 insertions(+), 1 deletion(-)
+
+commit 64d1e79c863d12b12b87ed0e3139d364f503e026
+Author: Carlos Garcia Campos <carlosgc@gnome.org>
+Date: Fri Dec 6 12:51:48 2013 +0100
+
+ regtest: Improve readability of test results
+
+ Show a summary of tests failed per backend with the percentages and
+ use a
+ new line for every test in the result instead of using a comma
+ separated
+ line.
+
+ regtest/TestRun.py | 67
+ ++++++++++++++++++++++++++++++++++++++----------------
+ 1 file changed, 47 insertions(+), 20 deletions(-)
+
+commit c35bc1da9402896c88999f9cffed6962a265f32e
+Author: Carlos Garcia Campos <carlosgc@gnome.org>
+Date: Fri Dec 6 10:04:48 2013 +0100
+
+ glib-demo: Increase the default size of the main window
+
+ Some demos like annots that show a document view use more space than
+ they used to, requiring to manually resize the window everytime.
+
+ glib/demo/main.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit ab7da0bf62bb5032c4683d9cd841075d26045aae
+Author: Germán Poo-Caamaño <gpoo@gnome.org>
+Date: Mon Oct 28 22:52:22 2013 -0700
+
+ glib-demo: Add Square and Circle annotations demo
+
+ https://bugs.freedesktop.org/show_bug.cgi?id=70983
+
+ glib/demo/annots.c | 19 +++++++++++++++++++
+ 1 file changed, 19 insertions(+)
+
+commit 2ec450567f27bba3ee4a08b5e69b7c9605bea4bb
+Author: Germán Poo-Caamaño <gpoo@gnome.org>
+Date: Mon Oct 28 22:48:39 2013 -0700
+
+ glib: Add implementation of Square and Circle annotations
+
+ Square and Circle only differ in the constructor which defines
+ the subtype. Therefore, it uses the same name than Poppler's
+ Geometry class.
+
+ https://bugs.freedesktop.org/show_bug.cgi?id=70983
+
+ glib/poppler-annot.cc | 263
+ ++++++++++++++++++++++++++++++++----
+ glib/poppler-annot.h | 23 ++++
+ glib/poppler-page.cc | 6 +
+ glib/poppler-private.h | 2 +
+ glib/poppler.h | 2 +
+ glib/reference/poppler-sections.txt | 16 +++
+ 6 files changed, 286 insertions(+), 26 deletions(-)
+
+commit e109cf2461d5be93d004593123d875a28fd79b61
+Author: Carlos Garcia Campos <carlosgc@gnome.org>
+Date: Tue Nov 26 20:12:22 2013 +0100
+
+ annots: Make Annot::setBorder receive an AnnotBorder object
+
+ Instead of receiving AnnotBorderArray. Also implement writeToObject in
+ both AnnotBorderArray and AnnotBorderBS to make sure that
+ Annot::setBorder will work for both cases.
+
+ poppler/Annot.cc | 51 +++++++++++++++++++++++++++++++++++++++++++++------
+ poppler/Annot.h | 10 +++++++---
+ 2 files changed, 52 insertions(+), 9 deletions(-)
+
+commit 3979b82982e84107d93fbbe95350bf25ce47398d
+Author: Carlos Garcia Campos <carlosgc@gnome.org>
+Date: Tue Nov 26 14:44:57 2013 +0100
+
+ annots: Use a default border for annots that can have a BS entry
+
+ According to the spec if neither the Border nor the BS entry is
+ present,
+ the border shall be drawn as a solid line with a width of 1 point.
+ However, acroread seems to ignore the Border entry for annots
+ that can't
+ have a BS entry.
+
+ poppler/Annot.cc | 223
+ ++++++++++++++++++++++++++++++++-----------------------
+ 1 file changed, 132 insertions(+), 91 deletions(-)
+
+commit 36c07c82bdff010695c5d615b67506922522d0e8
+Author: Carlos Garcia Campos <carlosgc@gnome.org>
+Date: Tue Nov 26 14:07:21 2013 +0100
+
+ annots: Add helper function Annot::setLineStyleForBorder
+
+ It sets the line dash and width based on the given AnnotBorder. Use it
+ only when the border width is greater than 0 for FreeText annotations
+ and always for annotations that use the border to set the line
+ width and
+ dash, but don't draw a border.
+
+ poppler/Annot.cc | 110
+ ++++++++++++++++---------------------------------------
+ poppler/Annot.h | 1 +
+ 2 files changed, 32 insertions(+), 79 deletions(-)
+
+commit e7b1ff97318fd6c3a8fed3a33d45f1cb55208b28
+Author: Carlos Garcia Campos <carlosgc@gnome.org>
+Date: Tue Nov 26 11:40:57 2013 +0100
+
+ annots: Remove unused typeUnknown AnnotBorderType from AnnotBorder
+
+ Also make the AnnotBorder constructor protected to make sure it's not
+ possible to create AnnotBorder instances.
+
+ poppler/Annot.cc | 3 ---
+ poppler/Annot.h | 12 ++++++++----
+ 2 files changed, 8 insertions(+), 7 deletions(-)
+
+commit 17b2623360ed8917e94a8e5b880e92e6db70335e
+Author: Adrian Perez de Castro <aperez@igalia.com>
+Date: Tue Jun 18 00:35:51 2013 +0300
+
+ Tagged-PDF: Text content extraction from structure elements
+
+ Implement StructElement::getText(), by using MCOutputDev. This
+ output device
+ captures pieces of text (aka "spans") which have the same attributes
+ into
+ a list of TextSpan objects.
+
+ https://bugs.freedesktop.org/show_bug.cgi?id=64815
+
+ poppler/Makefile.am | 2 +
+ poppler/MarkedContentOutputDev.cc | 210
+ ++++++++++++++++++++++++++++++++++++++
+ poppler/MarkedContentOutputDev.h | 128 +++++++++++++++++++++++
+ poppler/StructElement.cc | 50 +++++++++
+ poppler/StructElement.h | 28 +++++
+ 5 files changed, 418 insertions(+)
+
+commit 2c4320c26744ea28be10eac7cc54980c9eb4fc27
+Author: Carlos Garcia Campos <carlosgc@gnome.org>
+Date: Tue Dec 3 19:07:09 2013 +0100
+
+ glib-demo: Show number of charcters and text layout units in text demo
+
+ It helps to easily detect the cases where these values mismatch.
+
+ glib/demo/text.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit 98d75dcdb9b73feb6f35d8ad76f5d0c428289f91
+Author: Jason Crain <jason@aquaticape.us>
+Date: Sat Nov 30 17:29:50 2013 +0100
+
+ Limit use of ZapfDingbats character names
+
+ Some PDFs use names from ZapfDingbats (a1-a206) without intending for
+ them to be used for text extraction. Only use these character names
+ to locate glyphs or for text extraction with ZapfDingbats fonts.
+
+ Bug #60243
+
+ goo/GooString.cc | 10 ++
+ goo/GooString.h | 4 +
+ poppler/GfxFont.cc | 15 +-
+ poppler/GlobalParams.cc | 33 +++-
+ poppler/GlobalParams.h | 16 +-
+ poppler/NameToUnicodeTable.h | 415
+ ++++++++++++++++++++++---------------------
+ 6 files changed, 274 insertions(+), 219 deletions(-)
+
+commit 817cc333ca8009998f2099583fd0a2fc703f3db3
+Author: Carlos Garcia Campos <carlosgc@gnome.org>
+Date: Fri Nov 29 10:07:16 2013 +0100
+
+ regtest: Do not buffer stderr output
+
+ Some buggy documents can produce a huge stderr output because
+ of parsing
+ errors or whatever. We could give a file directly to Popen to
+ write the
+ stderr file, but we only want to create the file when there's output,
+ because it's what we use to know whether the command produced
+ output or
+ not. So, instead of buffering the whole output and then write it
+ to the
+ file, now we read from the pipe while the command is running, writing
+ the output in chunks to the file. This improves a lot the memory
+ consumption when running some tests.
+
+ regtest/backends/__init__.py | 40
+ ++++++++++++++++++++++++++++++----------
+ 1 file changed, 30 insertions(+), 10 deletions(-)
+
+commit f8f82f1cc3a948239a05d7762210a3f244299db6
+Author: Carlos Garcia Campos <carlosgc@gnome.org>
+Date: Fri Nov 29 10:03:24 2013 +0100
+
+ regtest: Read test results in chunks to get the md5 digest
+
+ Some backends can generate huge results, like huge postscript
+ files that
+ we don't want to load in memory to get the md5. So, instead of
+ creating
+ thr md5 object with the entire file, we feed it with chunks of data
+ using the update method. This improves a lot the memory consumption
+ and
+ performance as well.
+
+ regtest/backends/__init__.py | 19 ++++++++++++-------
+ 1 file changed, 12 insertions(+), 7 deletions(-)
+
+commit 3444a44397a890dbeb1bd10357dbc8246fd21ad0
+Author: Carlos Garcia Campos <carlosgc@gnome.org>
+Date: Fri Nov 29 10:01:20 2013 +0100
+
+ regtest: Remove unused method _check_exit_status2
+
+ It was used when the backends ran in parallel odd and even pages, but
+ it's no longer used since threads support was added.
+
+ regtest/backends/__init__.py | 20 --------------------
+ 1 file changed, 20 deletions(-)
+
+commit 5f825df417947c51943f1db327e1aa6c3faa15b0
+Author: Carlos Garcia Campos <carlosgc@gnome.org>
+Date: Fri Nov 29 09:57:57 2013 +0100
+
+ regtest: Do not store the current line in Printer but only its length
+
+ We are not using the line text anymore, but only the length.
+
+ regtest/Printer.py | 10 +++++-----
+ 1 file changed, 5 insertions(+), 5 deletions(-)
+
+commit 1486d93f0f6418b37ccc57568717d9349a79935b
+Author: Carlos Garcia Campos <carlosgc@gnome.org>
+Date: Wed Nov 27 18:29:36 2013 +0100
+
+ regtest: Do not consider docs with no refs as skipped
+
+ Handle them differently as new docs, and show them in the summary
+ suggesting to use create-refs command to include them in the test
+ suite.
+
+ regtest/TestRun.py | 40 +++++++++++++++++++++++-----------------
+ 1 file changed, 23 insertions(+), 17 deletions(-)
+
+commit 5241c0cc730c380dc44c3a081e1de675e1915861
+Author: Carlos Garcia Campos <carlosgc@gnome.org>
+Date: Wed Nov 27 17:18:37 2013 +0100
+
+ regtest: Use number of tests run to show the progress
+
+ Instead of using the number of document tested. We don't really
+ need to
+ set a number to a particular document, we only want to know the
+ progress
+ of the whole process. This ensures that the progress is shown in the
+ correct order. It also simplifies the code a bit.
+ Also improved the output formatting to make it easier to read.
+
+ regtest/Printer.py | 44 ++++-----------
+ regtest/TestReferences.py | 50 +++++++++++------
+ regtest/TestRun.py | 136
+ +++++++++++++++++++++++++---------------------
+ 3 files changed, 118 insertions(+), 112 deletions(-)
+
+commit 0af3e009a702d0c6ca716565ab87b386baa0a1ed
+Author: Albert Astals Cid <aacid@kde.org>
+Date: Wed Nov 27 00:53:16 2013 +0100
+
+ 0.24.4
+
+ CMakeLists.txt | 4 ++--
+ NEWS | 18 ++++++++++++++++++
+ configure.ac | 2 +-
+ cpp/Doxyfile | 2 +-
+ poppler/Makefile.am | 2 +-
+ qt4/src/Doxyfile | 2 +-
+ qt5/src/Doxyfile | 2 +-
+ 7 files changed, 25 insertions(+), 7 deletions(-)
+
+commit a42a13be0a0cda71dc230a73f7b16eb4eb066251
+Author: suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+Date: Wed Nov 27 00:05:57 2013 +0100
+
+ Warn the user if he provides a wrong range
+
+ utils/pdffonts.cc | 7 +++++++
+ utils/pdfimages.cc | 7 +++++++
+ utils/pdfinfo.cc | 7 +++++++
+ utils/pdfseparate.cc | 7 +++++++
+ utils/pdftocairo.cc | 7 +++++++
+ utils/pdftohtml.cc | 8 +++++++-
+ utils/pdftoppm.cc | 7 +++++++
+ utils/pdftops.cc | 7 +++++++
+ utils/pdftotext.cc | 6 ++++++
+ 9 files changed, 62 insertions(+), 1 deletion(-)
+
+commit 45552cafaeef6b883078db269437586add1dc32c
+Author: Albert Astals Cid <aacid@kde.org>
+Date: Tue Nov 26 23:36:12 2013 +0100
+
+ Update copyrights
+
+ utils/pdftotext.cc | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit f20fe89d4f5a8f768e2019f25cecf40cd0e4f5f8
+Author: Carlos Garcia Campos <carlosgc@gnome.org>
+Date: Mon Nov 25 09:05:41 2013 +0100
+
+ glib-demo: Add an area selector to text demo
+
+ And use the for_area variants of the API to get the text, text layout
+ and text attributes.
+
+ glib/demo/text.c | 114
+ +++++++++++++++++++++++++++++++++++++++++++++++++++++--
+ 1 file changed, 110 insertions(+), 4 deletions(-)
+
+commit bb2b7fb491fb72f0ea024d80df89680ede3457b4
+Author: Carlos Garcia Campos <carlosgc@gnome.org>
+Date: Mon Nov 25 09:04:30 2013 +0100
+
+ glib: Add API to get text, text layout and text attributes for a
+ given area
+
+ glib/poppler-page.cc | 107
+ ++++++++++++++++++++++++++++++++++--
+ glib/poppler-page.h | 8 +++
+ glib/reference/poppler-sections.txt | 3 +
+ 3 files changed, 113 insertions(+), 5 deletions(-)
+
+commit f662973b0da52da84acc3668a0e037ee72498193
+Author: Carlos Garcia Campos <carlosgc@gnome.org>
+Date: Sat Nov 2 14:07:07 2013 +0100
+
+ TextOutputDev: Honor the selection rectangle passed to
+ TextPage::getSelectionWords()
+
+ Make TextPage::getSelectionWords() return a list of TextWordSelection
+ instead of a list of TextWord so that it's possible to know which
+ characters of the word are inside the given selection rectangle.
+ Adapt the glib frontend to the new API and use the selection bounds
+ instead of the whole word to build the list of characters in
+ poppler_page_get_text_layout() and poppler_page_get_text_attributes(),
+ which ensures the number of glyphs returned is in sync with the number
+ of characters returned by poppler_page_get_text().
+
+ https://bugs.freedesktop.org/show_bug.cgi?id=71160
+
+ glib/poppler-page.cc | 22 ++++++++++++++--------
+ poppler/TextOutputDev.cc | 40 ++++++++--------------------------------
+ poppler/TextOutputDev.h | 20 ++++++++++++++++++++
+ 3 files changed, 42 insertions(+), 40 deletions(-)
+
+commit 18fab454c59b1c77c691617aaef99245eacd83b5
+Author: Germán Poo-Caamaño <gpoo@gnome.org>
+Date: Mon Oct 28 22:41:41 2013 -0700
+
+ glib-demo: Simplify annotations list and its properties
+
+ * Move the annotation's rectangle to properties to make the
+ list view of annotations cleaner.
+ * Remove duplicated information: flags and page are already
+ present in the UI.
+
+ https://bugs.freedesktop.org/show_bug.cgi?id=70982
+
+ glib/demo/annots.c | 70
+ ++++++++++++------------------------------------------
+ 1 file changed, 15 insertions(+), 55 deletions(-)
+
+commit 770a7ac9833a3c4f4f0399093272d4d0bdc7923b
+Merge: e7a0f2b 9ae29c7
+Author: Albert Astals Cid <aacid@kde.org>
+Date: Thu Nov 21 23:58:29 2013 +0100
+
+ Merge remote-tracking branch 'origin/poppler-0.24'
+
+commit 9ae29c7a07d0f372dbfc4aca17bbb646126aedb5
+Author: Thomas Freitag <Thomas.Freitag@alfa.de>
+Date: Thu Nov 21 23:53:53 2013 +0100
+
+ Don't end loop if reading from GooFile fails
+
+ Bug #71835
+
+ poppler/Stream.cc | 3 +++
+ 1 file changed, 3 insertions(+)
+
+commit e7a0f2b942fe621304275175324f7809d1c83d80
+Author: Hib Eris <hib@hiberis.nl>
+Date: Wed Nov 20 00:43:27 2013 +0100
+
+ Fix warning on signed/unsigned comparison in GfxState.cc
+
+ Bug #71641
+
+ poppler/GfxState.cc | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+commit c784c4c3a582aaa4e10c223665cb876e12b7c16f
+Author: Germán Poo-Caamaño <gpoo@gnome.org>
+Date: Mon Nov 18 00:57:53 2013 -0800
+
+ glib-demo: Add support for simple line annotations
+
+ https://bugs.freedesktop.org/show_bug.cgi?id=70981
+
+ glib/demo/annots.c | 99
+ +++++++++++++++++++++++++++++++++++++++++++++++++-----
+ 1 file changed, 91 insertions(+), 8 deletions(-)
+
+commit 2d164e06b8a84ade6689d85bba2d606c66bf62a9
+Author: Germán Poo-Caamaño <gpoo@gnome.org>
+Date: Mon Nov 18 00:48:13 2013 -0800
+
+ glib-demo: add color selection for new annotations
+
+ https://bugs.freedesktop.org/show_bug.cgi?id=71727
+
+ glib/demo/annots.c | 34 ++++++++++++++++++++++++++++++++++
+ 1 file changed, 34 insertions(+)
+
+commit 7127a2c705787f6f44b0852efeabe9fdeae7e2c0
+Author: Germán Poo-Caamaño <gpoo@gnome.org>
+Date: Sun Nov 17 23:38:32 2013 -0800
+
+ glib: Add support for simple line annotations
+
+ https://bugs.freedesktop.org/show_bug.cgi?id=70981
+
+ glib/poppler-annot.cc | 79
+ +++++++++++++++++++++++++++++++++++++
+ glib/poppler-annot.h | 12 ++++++
+ glib/poppler-page.cc | 3 ++
+ glib/poppler-private.h | 1 +
+ glib/poppler.h | 1 +
+ glib/reference/poppler-sections.txt | 7 ++++
+ 6 files changed, 103 insertions(+)
+
+commit 451bac9f05bab18f3aa0392ddf6eb6b569004cb8
+Author: Germán Poo-Caamaño <gpoo@gnome.org>
+Date: Sun Nov 17 23:30:14 2013 -0800
+
+ glib: Add PopplerPoint boxed type
+
+ https://bugs.freedesktop.org/show_bug.cgi?id=70981
+
+ glib/poppler-page.cc | 54
+ +++++++++++++++++++++++++++++++++++++
+ glib/poppler-page.h | 20 ++++++++++++++
+ glib/poppler.h | 1 +
+ glib/reference/poppler-sections.txt | 5 ++++
+ 4 files changed, 80 insertions(+)
+
+commit c01cee165392ba8297e4168111a66d2acb272a99
+Merge: 07c2554 47605a8
+Author: Albert Astals Cid <aacid@kde.org>
+Date: Mon Nov 18 22:58:28 2013 +0100
+
+ Merge remote-tracking branch 'origin/poppler-0.24'
+
+ Conflicts:
+ poppler/Catalog.cc
+ poppler/Catalog.h
+
+commit 47605a8aaf85bee21601219b04c0c8e6cf982507
+Author: José Aliste <jaliste@src.gnome.org>
+Date: Mon Nov 18 22:52:08 2013 +0100
+
+ Catalog: sort entries of NameTrees to make sure lookup works
+
+ Bug #26049
+
+ poppler/Catalog.cc | 12 ++++++++++++
+ poppler/Catalog.h | 2 ++
+ 2 files changed, 14 insertions(+)
+
+commit 07c255482f7ec8a8cfd4eaeaf7b07de317bbcc7a
+Author: Germán Poo-Caamaño <gpoo@gnome.org>
+Date: Sun Oct 27 13:30:22 2013 -0700
+
+ glib-demo: Add annotations interactively
+
+ * Prepare UI to add multiple annotations type.
+ * Remove dialog and button add annotations.
+
+ https://bugs.freedesktop.org/show_bug.cgi?id=69978
+
+ glib/demo/annots.c | 348
+ ++++++++++++++++++++++++++++++++---------------------
+ 1 file changed, 213 insertions(+), 135 deletions(-)
+
+commit 4b7c91ea697359751f9abe9ec5e63021c90a60ed
+Author: Germán Poo-Caamaño <gpoo@gnome.org>
+Date: Sat Sep 28 23:18:07 2013 -0700
+
+ glib: Add getter and setter for annotation's rectangle
+
+ Annotation objects contain at least two keys, Rect and Subtype.
+ The former has the coordinates where the annotation is placed.
+ The getter and setter allows to obtain and modify the position
+ of a given annotation.
+
+ https://bugs.freedesktop.org/show_bug.cgi?id=70901
+
+ glib/poppler-annot.cc | 48
+ +++++++++++++++++++++++++++++++++++++
+ glib/poppler-annot.h | 4 ++++
+ glib/reference/poppler-sections.txt | 2 ++
+ 3 files changed, 54 insertions(+)
+
+commit 491f0a170c72271a7a9ce049fbcfe81f08cff162
+Author: suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+Date: Fri Nov 15 20:35:12 2013 +0100
+
+ pdftotext: Escape the text of the xml headers
+
+ utils/pdftotext.cc | 6 ++++--
+ 1 file changed, 4 insertions(+), 2 deletions(-)
+
+commit 4da94680d4d2d6b1bd3351d476a20f9c7ae565bc
+Merge: 3ea3d7c 78c407a
+Author: Albert Astals Cid <aacid@kde.org>
+Date: Fri Nov 15 20:27:00 2013 +0100
+
+ Merge remote-tracking branch 'origin/poppler-0.24'
+
+commit 3ea3d7c6c7a0ede76428204ec11aec3a844117fc
+Author: Hib Eris <hib@hiberis.nl>
+Date: Fri Nov 15 19:59:52 2013 +0100
+
+ pdftotext: Silence warning for may be used uninitialized variable
+
+ Bug #71640
+
+ utils/pdftotext.cc | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 97910b9eb92df49757915bde02e0d54de04552d4
+Author: Hib Eris <hib@hiberis.nl>
+Date: Fri Nov 15 19:55:19 2013 +0100
+
+ Do not close stdout in pdftotext
+
+ Bug #71639
+
+ utils/pdftotext.cc | 6 ++++--
+ 1 file changed, 4 insertions(+), 2 deletions(-)
+
+commit 78c407ac7e8f48ae2d2c75ad0f5960390190d2e3
+Author: Albert Astals Cid <aacid@kde.org>
+Date: Fri Nov 15 20:25:52 2013 +0100
+
+ destionation -> destination
+
+ And this is why the xml based api has to die
+
+ Bug #71643
+ Found by Hib
+
+ qt4/src/poppler-annotation.cc | 5 +++--
+ qt5/src/poppler-annotation.cc | 3 ++-
+ 2 files changed, 5 insertions(+), 3 deletions(-)
+
+commit a23c9ad4c0536d680bedc563444ce3adf6e1ee9e
+Author: Hib Eris <hib@hiberis.nl>
+Date: Fri Nov 15 11:38:45 2013 +0100
+
+ Silence warning for may be used uninitialized variable in
+ ImageOutputDec.cc
+
+ Fixes warning:
+
+ CXX ImageOutputDev.lo
+ ImageOutputDev.cc: In member function 'void
+ ImageOutputDev::writeImageFile(ImgWriter*,
+ ImageOutputDev::ImageFormat, const char*, Stream*, int, int,
+ GfxImageColorMap*)':
+ ImageOutputDev.cc:409:28: warning: 'imgStr' may be used uninitialized
+ in this function [-Wmaybe-uninitialized]
+
+ Bug #71642
+
+ utils/ImageOutputDev.cc | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+commit c43a80e65fc570a8017892ba111a8c48ac33d9ad
+Author: Hib Eris <hib@hiberis.nl>
+Date: Fri Nov 15 19:59:52 2013 +0100
+
+ pdftotext: Silence warning for may be used uninitialized variable
+
+ Bug #71640
+
+ utils/pdftotext.cc | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit f905d804c0d1c715d8423938f41b5a002c0ef15d
+Author: Hib Eris <hib@hiberis.nl>
+Date: Fri Nov 15 19:55:19 2013 +0100
+
+ Do not close stdout in pdftotext
+
+ Bug #71639
+
+ utils/pdftotext.cc | 6 ++++--
+ 1 file changed, 4 insertions(+), 2 deletions(-)
+
+commit 33e703ac9bb6cf69664d6c6fddd3bebd56336074
+Merge: 8294d18 7c74bcc
+Author: Albert Astals Cid <aacid@kde.org>
+Date: Fri Nov 15 19:50:10 2013 +0100
+
+ Merge remote-tracking branch 'origin/poppler-0.24'
+
+commit 7c74bccdf514cce05987dde7fb1cce4ac65ff025
+Author: Albert Astals Cid <aacid@kde.org>
+Date: Fri Nov 15 19:48:07 2013 +0100
+
+ Forgot to update the copyrights
+
+ poppler/Lexer.cc | 2 +-
+ poppler/Lexer.h | 2 +-
+ poppler/Parser.cc | 2 +-
+ poppler/Parser.h | 2 +-
+ 4 files changed, 4 insertions(+), 4 deletions(-)
+
+commit ebe49d597a62aa94601c2e4595dbad1895ea7ef0
+Author: Albert Astals Cid <aacid@kde.org>
+Date: Fri Nov 15 19:33:00 2013 +0100
+
+ Fix regression in broken endstream detection
+
+ Rregression was caused by e1ffa9100cf6b4a444be7ed76b11698a5c5bb441
+ Fixes bug #70854
+
+ poppler/Lexer.cc | 4 ++--
+ poppler/Lexer.h | 2 +-
+ poppler/Parser.cc | 11 ++++-------
+ poppler/Parser.h | 2 +-
+ 4 files changed, 8 insertions(+), 11 deletions(-)
+
+commit 8294d18ea96bd18be076bccbdbdaa015fc48aa12
+Author: Adrian Perez de Castro <aperez@igalia.com>
+Date: Thu Sep 26 20:46:34 2013 +0300
+
+ Tagged-PDF: Parsing of StructElem standard types and attributes
+
+ Parse attributes and standard types of StructElem nodes of the
+ document structure tree. Type name aliases are resolved via the
+ RoleMap (and cycles detected). Both standard attributes and user
+ properties are mapped to instances of the Attribute class.
+ Attributes are parsed both via ClassMap references and directly
+ referenced from the StructElem objects.
+
+ https://bugs.freedesktop.org/show_bug.cgi?id=64815
+
+ poppler/StructElement.cc | 1018
+ +++++++++++++++++++++++++++++++++++++++++++++-
+ poppler/StructElement.h | 113 ++++-
+ 2 files changed, 1126 insertions(+), 5 deletions(-)
+
+commit 4e0cbd37b964107c0fb531d48876a33ae843bf27
+Author: suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+Date: Mon Nov 11 22:46:07 2013 +0100
+
+ pdftohtml: Add -? and --help
+
+ utils/pdftohtml.cc | 6 +++++-
+ 1 file changed, 5 insertions(+), 1 deletion(-)
+
+commit 4dbd36f5b35dd0964e59d942242aecdc6b474c89
+Author: Andres Gomez <agomez@igalia.com>
+Date: Tue Nov 5 09:52:23 2013 +0200
+
+ glib-demo: Fix conding style issue in main.c
+
+ https://bugs.freedesktop.org/show_bug.cgi?id=71245
+
+ glib/demo/main.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 02f3c235eaf60350c98e88dbe266378fccef59d7
+Author: Andres Gomez <agomez@igalia.com>
+Date: Tue Nov 5 09:52:23 2013 +0200
+
+ glib-demo: Fix a typo in function name
+
+ https://bugs.freedesktop.org/show_bug.cgi?id=71245
+
+ glib/demo/main.c | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+commit 5620b82e69335b7f12d877a24f1a463604f0e515
+Author: Andres Gomez <agomez@igalia.com>
+Date: Tue Nov 5 09:52:23 2013 +0200
+
+ glib-demo: Fix trailing whitespaces in main.c
+
+ https://bugs.freedesktop.org/show_bug.cgi?id=71245
+
+ glib/demo/main.c | 14 +++++++-------
+ 1 file changed, 7 insertions(+), 7 deletions(-)
+
+commit 43309d92d327b4ae8e89edb15482247045d726a4
+Author: Germán Poo-Caamaño <gpoo@gnome.org>
+Date: Sat Sep 28 20:45:32 2013 -0700
+
+ glib-demo: Make the Remove annotation button prominent in demo
+
+ Move out from Annotation properties to the top. This make better
+ use of the space.
+ Make the remove button active only if there is an annotation
+ selected.
+
+ https://bugs.freedesktop.org/show_bug.cgi?id=69978
+
+ glib/demo/annots.c | 22 +++++++++++++---------
+ 1 file changed, 13 insertions(+), 9 deletions(-)
+
+commit f4a72fd3c61091d6b455af9a881c2390da19b506
+Author: Albert Astals Cid <aacid@kde.org>
+Date: Sat Oct 26 19:06:34 2013 +0200
+
+ 0.24.3
+
+ CMakeLists.txt | 2 +-
+ NEWS | 14 ++++++++++++++
+ configure.ac | 2 +-
+ cpp/Doxyfile | 2 +-
+ qt4/src/Doxyfile | 2 +-
+ qt5/src/Doxyfile | 2 +-
+ 6 files changed, 19 insertions(+), 5 deletions(-)
+
+commit 33a5af32cd5769cf1b6c6344077ac4a3f407ba21
+Author: Albert Astals Cid <aacid@kde.org>
+Date: Sat Oct 26 18:48:50 2013 +0200
+
+ Update copyrights
+
+ qt4/src/poppler-document.cc | 2 +-
+ utils/pdfseparate.cc | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+commit 9f09b9596f1fc52481914019d68c8f9b85b5c438
+Merge: bd893d4 61f79b8
+Author: Albert Astals Cid <aacid@kde.org>
+Date: Thu Oct 24 01:03:02 2013 +0200
+
+ Merge remote-tracking branch 'origin/poppler-0.24'
+
+commit 61f79b8447c3ac8ab5a26e79e0c28053ffdccf75
+Author: Albert Astals Cid <aacid@kde.org>
+Date: Thu Oct 24 00:54:56 2013 +0200
+
+ Allow only one %d in the filename
+
+ Fixes crashes if you had %s and similar in the filename
+
+ Inspired from patch by Pedro Ribeiro <pedrib@gmail.com>
+
+ Bug #69434
+
+ utils/pdfseparate.cc | 31 ++++++++++++++++++++++++++++++-
+ 1 file changed, 30 insertions(+), 1 deletion(-)
+
+commit bd893d4a543a6cc3a525655f37def38440944f28
+Merge: 93e8b05 daa0990
+Author: Albert Astals Cid <aacid@kde.org>
+Date: Thu Oct 10 02:19:34 2013 +0200
+
+ Merge remote-tracking branch 'origin/poppler-0.24'
+
+commit daa0990a7baf17d00d12574a4de815e070727a86
+Author: Albert Astals Cid <aacid@kde.org>
+Date: Thu Oct 10 02:16:25 2013 +0200
+
+ Return empty if getXRef()->copy() fails
+
+ Seems this can happen by looking at the backtrace in
+ https://bugs.kde.org/show_bug.cgi?id=325810
+
+ qt4/src/poppler-document.cc | 6 ++++++
+ qt5/src/poppler-document.cc | 6 ++++++
+ 2 files changed, 12 insertions(+)
+
+commit f4bfa940aa40a82a1080cdaf765da1d1615ccfb1
+Author: Carlos Garcia Campos <carlosgc@gnome.org>
+Date: Sat Oct 5 11:20:04 2013 +0200
+
+ cairo: Do not set an invalid matrix in drawImage()
+
+ https://bugs.freedesktop.org/show_bug.cgi?id=70085
+
+ poppler/CairoOutputDev.cc | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+commit 93e8b05fb2a6d225f048db6a3a735717433a5a13
+Author: Carlos Garcia Campos <carlosgc@gnome.org>
+Date: Sat Oct 5 11:20:04 2013 +0200
+
+ cairo: Do not set an invalid matrix in drawImage()
+
+ https://bugs.freedesktop.org/show_bug.cgi?id=70085
+
+ poppler/CairoOutputDev.cc | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+commit 3084f8f4a5ad55937094b14e30169dccf1fa4ec9
+Author: Germán Poo-Caamaño <gpoo@gnome.org>
+Date: Sat Sep 21 11:59:32 2013 -0700
+
+ glib-demo: Expand short names for annotations used in demo
+
+ https://bugs.freedesktop.org/show_bug.cgi?id=69978
+
+ glib/demo/annots.c | 10 +++++-----
+ glib/demo/main.c | 2 +-
+ 2 files changed, 6 insertions(+), 6 deletions(-)
+
+commit ff674f57a3587142165fd56aec089d9840ceda36
+Author: Germán Poo-Caamaño <gpoo@gnome.org>
+Date: Fri Sep 27 22:33:42 2013 -0700
+
+ glib-demo: Merge columns Type and Color in annotations demo
+
+ Reduce the space used by both columns, makes the color
+ pixbuf smaller enough to give a clue of the annotation
+ color.
+
+ https://bugs.freedesktop.org/show_bug.cgi?id=69978
+
+ glib/demo/annots.c | 28 ++++++++++++++++------------
+ 1 file changed, 16 insertions(+), 12 deletions(-)
+
+commit 76d6e2d385e2cbad7f44bc8aee05147efd3970a4
+Author: Germán Poo-Caamaño <gpoo@gnome.org>
+Date: Fri Sep 20 23:27:20 2013 -0700
+
+ glib-demo: Rearrange layout for annotations in demo
+
+ Add render area to visualize the annotations per page.
+
+ https://bugs.freedesktop.org/show_bug.cgi?id=69978
+
+ glib/demo/annots.c | 130
+ ++++++++++++++++++++++++++++++++++++++++++++++++-----
+ 1 file changed, 118 insertions(+), 12 deletions(-)
+
+commit a6b1fc1a2ca83b3e4c52bcaa95b99d0289354f4b
+Author: Germán Poo-Caamaño <gpoo@gnome.org>
+Date: Sun Sep 29 22:50:42 2013 -0700
+
+ glib-demo: Fix rectangle calculation for new annotations in demo
+
+ https://bugs.freedesktop.org/show_bug.cgi?id=69978
+
+ glib/demo/annots.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit bd49b3c0c6f2adccc5bda561edbaf9f00ed2917a
+Author: Thomas Freitag <Thomas.Freitag@alfa.de>
+Date: Wed Oct 2 23:32:09 2013 +0200
+
+ Use icc profile in OutputIntents
+
+ Bug #34053
+
+ poppler/Gfx.cc | 114 +++++++++++---
+ poppler/Gfx.h | 8 +-
+ poppler/GfxState.cc | 429
+ +++++++++++++++++++++++++++++++++++++++++-----------
+ poppler/GfxState.h | 72 ++++++---
+ poppler/Page.cc | 2 +-
+ 5 files changed, 490 insertions(+), 135 deletions(-)
+
+commit df947a0641082f530200880d46e20cd3e1fd962f
+Author: Albert Astals Cid <aacid@kde.org>
+Date: Wed Oct 2 20:53:32 2013 +0200
+
+ Compile++
+
+ CMakeLists.txt | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+commit fa83d7e4f36cfc11c7b4f81f5f5e8ed69eb6dbbe
+Author: Daniel Kahn Gillmor <dkg@fifthhorseman.net>
+Date: Wed Oct 2 20:35:58 2013 +0200
+
+ pdfseparate: allow zero-padded pagespecs
+
+ Bug #50914
+
+ utils/pdfseparate.cc | 22 +++++++++++++++++++---
+ 1 file changed, 19 insertions(+), 3 deletions(-)
+
+commit e04cabd878a0fd84faa5178f423fd828d010b664
+Author: Adrian Perez de Castro <aperez@igalia.com>
+Date: Mon Jun 17 17:00:27 2013 +0300
+
+ Tagged-PDF: Implement parsing of StructTreeRoot
+
+ Implement parsing of the StructTreeRoot entry of the Catalog. Also,
+ the
+ Catalog::getStructTreeRoot() and PDFDoc::getStructTreeRoot()
+ methods are
+ modified to return an instance of StructTreeRoot instead of an Object.
+
+ All elements from the StructTreeRoot are parsed except for:
+
+ - IDTree: it is a lookup tree to locate items by their ID, which would
+ be barely useful because the whole structure tree is to be kept in
+ memory, which should be fast enough to traverse.
+ - ParentTreeNextKey: This is needed only when the ParentTree object is
+ to be modified. For the moment the implementation deals only with
+ reading, so this has been deliberately left out.
+
+ StructElem tree nodes from the document structure tree are parsed as a
+ StructElement instance. Attributes and extraction of content out from
+ elements are not yet handled.
+
+ https://bugs.freedesktop.org/show_bug.cgi?id=64815
+
+ poppler/Catalog.cc | 36 +++---
+ poppler/Catalog.h | 5 +-
+ poppler/Makefile.am | 4 +
+ poppler/PDFDoc.h | 3 +-
+ poppler/StructElement.cc | 322
+ ++++++++++++++++++++++++++++++++++++++++++++++
+ poppler/StructElement.h | 167 ++++++++++++++++++++++++
+ poppler/StructTreeRoot.cc | 174 +++++++++++++++++++++++++
+ poppler/StructTreeRoot.h | 83 ++++++++++++
+ 8 files changed, 776 insertions(+), 18 deletions(-)
+
+commit 45e0fe56985f34e695c99a2f6ec1ffe14e239b9e
+Author: Adrian Perez de Castro <aperez@igalia.com>
+Date: Thu Sep 26 20:56:52 2013 +0300
+
+ Implement Object::takeString() method
+
+ Object::takeString() behaves like Object::getString(), but transfers
+ ownership of the returned string to the caller. Also, it makes
+ sure that
+ calling Object::free() afterwards won't free the string that the
+ Object
+ is holding.
+
+ poppler/Object.h | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+commit d80eb4a34c218de34633ee2f1b9dfd65504a0ad9
+Author: Thomas Freitag <Thomas.Freitag@alfa.de>
+Date: Tue Oct 1 22:57:55 2013 +0200
+
+ cache cms values in getGray(), getRGB() and getCMYK()
+
+ Bug #68420
+
+ poppler/GfxState.cc | 111
+ ++++++++++++++++++++++++++++++++++++++++++++++++++++
+ poppler/GfxState.h | 2 +
+ 2 files changed, 113 insertions(+)
+
+commit 9bc8f3240698d5a8ae4c0129e768840664d28c22
+Merge: a2742c8 e2fe851
+Author: Albert Astals Cid <aacid@kde.org>
+Date: Tue Oct 1 19:19:32 2013 +0200
+
+ Merge remote-tracking branch 'origin/poppler-0.24'
+
+commit e2fe85137ecb59eb0d177682c552febc64cda643
+Author: Adrian Johnson <ajohnson@redneon.com>
+Date: Tue Oct 1 19:15:08 2013 +0200
+
+ Fix PFB font embedding
+
+ Bug #69717
+
+ poppler/PSOutputDev.cc | 52
+ ++++++++++++++++++++++++++++++++++++++++++++------
+ 1 file changed, 46 insertions(+), 6 deletions(-)
+
+commit a2742c8fce0594ccbdb036dd0c29c6e15d2229f3
+Merge: 6b30a52 06dabe1
+Author: Albert Astals Cid <aacid@kde.org>
+Date: Mon Sep 30 19:32:41 2013 +0200
+
+ Merge remote-tracking branch 'origin/poppler-0.24'
+
+commit 06dabe1eed912e5f5c96fe9f371ab459516e5a99
+Author: Albert Astals Cid <aacid@kde.org>
+Date: Fri Sep 27 12:41:23 2013 +0200
+
+ 0.24.2
+
+ CMakeLists.txt | 2 +-
+ NEWS | 8 ++++++++
+ configure.ac | 2 +-
+ cpp/Doxyfile | 2 +-
+ qt4/src/Doxyfile | 2 +-
+ qt5/src/Doxyfile | 2 +-
+ 6 files changed, 13 insertions(+), 5 deletions(-)
+
+commit 78141da189c42a04b6a303767284de755a4a2d4d
+Author: Albert Astals Cid <aacid@kde.org>
+Date: Fri Sep 27 12:39:00 2013 +0200
+
+ Update copyrights
+
+ utils/pdfseparate.cc | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit 6b30a5214e39993025cf2fb9f221e1360de7fa9c
+Merge: 4966b6f dc344b4
+Author: Albert Astals Cid <aacid@kde.org>
+Date: Sat Sep 21 10:38:45 2013 +0200
+
+ Merge remote-tracking branch 'origin/poppler-0.24'
+
+commit dc344b410f49410174ee902b7649ebd8c2cb0fa2
+Author: Lu Wang <coolwanglu@gmail.com>
+Date: Sat Sep 21 10:37:30 2013 +0200
+
+ pdftocairo: check file opening failure in beginDocument()
+
+ utils/pdftocairo.cc | 7 +++++++
+ 1 file changed, 7 insertions(+)
+
+commit 4966b6f4193cc9d13f63e92bdc2aac0c8b78298d
+Merge: 0f074b1 1e612d3
+Author: Albert Astals Cid <aacid@kde.org>
+Date: Sat Sep 21 10:15:28 2013 +0200
+
+ Merge remote-tracking branch 'origin/poppler-0.24'
+
+commit 1e612d331b79dabec66ad241d7ffe66674a10bc4
+Author: Thomas Freitag <Thomas.Freitag@alfa.de>
+Date: Sat Sep 21 10:10:16 2013 +0200
+
+ Windows: Fix CreateFile fails with ERROR_SHARING_VIOLATION
+
+ Bug #69597
+
+ goo/gfile.cc | 5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+commit 0f074b16317d874fe58d7042f8434282786ca757
+Merge: d277432 b8682d8
+Author: Pino Toscano <pino@kde.org>
+Date: Mon Sep 16 19:53:10 2013 +0200
+
+ Merge remote-tracking branch 'origin/poppler-0.24'
+
+ Conflicts:
+ utils/pdfimages.1
+
+commit b8682d868ddf7f741e93b791588af0932893f95c
+Author: Pino Toscano <pino@kde.org>
+Date: Mon Sep 16 19:46:55 2013 +0200
+
+ pdfseparate: improve the path building
+
+ Make use of snprintf to limit the output to the pathName buffer;
+ while I'm there, expand its size to 4096 (might help longer paths),
+ although a better fix would be dynamically allocate its length
+ (and/or using GooString, maybe).
+
+ utils/pdfseparate.cc | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit d2774325f5248018977d3ab8f8dd7155ed972668
+Author: Adrian Johnson <ajohnson@redneon.com>
+Date: Sat Sep 14 14:08:11 2013 +0930
+
+ pdfimages.1: fix typo
+
+ utils/pdfimages.1 | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 9b5957278c7f249fa1010e61a0ed79f0eb20e26d
+Author: Adrian Johnson <ajohnson@redneon.com>
+Date: Sat Aug 31 17:33:25 2013 +0930
+
+ pdfimages: ensure dump* variables are intialized
+
+ utils/ImageOutputDev.cc | 3 +++
+ 1 file changed, 3 insertions(+)
+
+commit e116ef32504b589001814f0f579309ecf7ec89d9
+Author: Adrian Johnson <ajohnson@redneon.com>
+Date: Wed Aug 28 08:05:23 2013 +0930
+
+ Make cpp/poppler-image.cc use goo/NetPBMWriter
+
+ cpp/CMakeLists.txt | 1 -
+ cpp/Makefile.am | 2 -
+ cpp/PNMWriter.cc | 119
+ --------------------------------------------------
+ cpp/PNMWriter.h | 43 ------------------
+ cpp/poppler-image.cpp | 14 +++---
+ 5 files changed, 6 insertions(+), 173 deletions(-)
+
+commit a87a11ee6bbd0f5707a3ac34ac2b9cc79f4e92d0
+Author: Adrian Johnson <ajohnson@redneon.com>
+Date: Thu Aug 29 22:42:34 2013 +0930
+
+ pdfimages: support cmyk tiff output
+
+ If -tiff is specified, CMYK images will be written as CMYK TIFF files
+ instead of converting to RGB. If both -png and -tiff are specified (as
+ is the case with the -all option), CMYK images are written as TIFF and
+ all other types as PNG.
+
+ utils/ImageOutputDev.cc | 32 +++++++++++++++++++++++++++++++-
+ utils/ImageOutputDev.h | 3 ++-
+ utils/pdfimages.1 | 13 ++++++++-----
+ utils/pdfimages.cc | 3 ++-
+ 4 files changed, 43 insertions(+), 8 deletions(-)
+
+commit 63da26f8fb0b2b5ffaa127762d4e36d995c482ee
+Author: Thomas Freitag <Thomas.Freitag@alfa.de>
+Date: Tue Aug 27 20:40:29 2013 +0200
+
+ resolve copy&paste error
+
+ poppler/GfxState.cc | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 563da2d375c003478d398897796ecbf45ce03482
+Author: Albert Astals Cid <aacid@kde.org>
+Date: Mon Aug 26 22:33:10 2013 +0200
+
+ 0.24.1
+
+ CMakeLists.txt | 2 +-
+ NEWS | 23 +++++++++++++++++++++++
+ configure.ac | 2 +-
+ cpp/Doxyfile | 2 +-
+ qt4/src/Doxyfile | 2 +-
+ qt5/src/Doxyfile | 2 +-
+ 6 files changed, 28 insertions(+), 5 deletions(-)
+
commit 2c73f1ea9116172692d8350cb7adf1b5376f795c
Author: Albert Astals Cid <aacid@kde.org>
-Date: Mon Aug 26 21:50:51 2013 +0200
+Date: Mon Aug 26 21:50:51 2013 +0200
Fix typo
qt5/src/poppler-qt5.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
+commit f58e9b64d5cf62906876c5c0f8da0f3c2c6c2bac
+Author: Albert Astals Cid <aacid@kde.org>
+Date: Mon Aug 26 00:27:59 2013 +0200
+
+ Some more files Adrian has changed
+
+ goo/PNGWriter.h | 2 +-
+ utils/HtmlOutputDev.cc | 2 +-
+ utils/pdftocairo.cc | 2 +-
+ 3 files changed, 3 insertions(+), 3 deletions(-)
+
commit 16da389c61c495111a5a49f62539a423a0655c28
Author: Adrian Johnson <ajohnson@redneon.com>
-Date: Mon Aug 26 07:50:51 2013 +0930
+Date: Mon Aug 26 07:50:51 2013 +0930
fix typo in pdfimages.1
utils/pdfimages.1 | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
+commit 56c0d4f3a231dca141c06493b50ab25959b5b15c
+Author: Adrian Johnson <ajohnson@redneon.com>
+Date: Mon Aug 26 07:47:46 2013 +0930
+
+ fix typo in pdfimages.1
+
+ utils/pdfimages.1 | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit af4f2b775946815b572622bf4c4d42ad3aea1141
+Author: Adrian Johnson <ajohnson@redneon.com>
+Date: Sat Aug 24 21:25:51 2013 +0930
+
+ pdfimages: Add -all option to write all image in their native format
+
+ utils/pdfimages.1 | 4 ++++
+ utils/pdfimages.cc | 23 +++++++++++++++++------
+ 2 files changed, 21 insertions(+), 6 deletions(-)
+
+commit 25e96b6ddbbe54a75ddb97d2e235c1bd6033fe79
+Author: Adrian Johnson <ajohnson@redneon.com>
+Date: Wed Aug 21 22:22:28 2013 +0930
+
+ pdfimages: support ccitt output
+
+ poppler/Stream.h | 5 +++++
+ utils/ImageOutputDev.cc | 35 +++++++++++++++++++++++++++++++++++
+ utils/ImageOutputDev.h | 4 ++++
+ utils/pdfimages.1 | 39 ++++++++++++++++++++++++++++++++++++++-
+ utils/pdfimages.cc | 4 ++++
+ 5 files changed, 86 insertions(+), 1 deletion(-)
+
+commit 086413263cb63a24d9492fbe534fdcc34b45951a
+Author: Adrian Johnson <ajohnson@redneon.com>
+Date: Sun Aug 18 20:37:01 2013 +0930
+
+ pdfimages: support JBIG2 output
+
+ poppler/JBIG2Stream.h | 1 +
+ utils/ImageOutputDev.cc | 25 +++++++++++++++++++++++++
+ utils/ImageOutputDev.h | 4 ++++
+ utils/pdfimages.1 | 13 ++++++++-----
+ utils/pdfimages.cc | 4 ++++
+ 5 files changed, 42 insertions(+), 5 deletions(-)
+
+commit 2845ebabd00a2755549b8db436e78a3e0e0c0713
+Author: Adrian Johnson <ajohnson@redneon.com>
+Date: Sun Aug 18 20:07:31 2013 +0930
+
+ pdfimages: add support for writing JPEG2000 files
+
+ utils/ImageOutputDev.cc | 4 ++++
+ utils/ImageOutputDev.h | 4 ++++
+ utils/pdfimages.1 | 12 ++++++++----
+ utils/pdfimages.cc | 4 ++++
+ 4 files changed, 20 insertions(+), 4 deletions(-)
+
+commit 2021c8ffcb36432049c4305e85ced2ae139086f3
+Author: Adrian Johnson <ajohnson@redneon.com>
+Date: Sun Aug 18 17:29:00 2013 +0930
+
+ pdfimages: add support for png and tiff output
+
+ utils/ImageOutputDev.cc | 67
+ ++++++++++++++++++++++++++++++++++++++++++++++---
+ utils/ImageOutputDev.h | 17 +++++++++++--
+ utils/pdfimages.1 | 22 ++++++++++------
+ utils/pdfimages.cc | 19 +++++++++++---
+ 4 files changed, 110 insertions(+), 15 deletions(-)
+
+commit 8f466775c77b09a7114c688004317e6db05bcd3f
+Author: Adrian Johnson <ajohnson@redneon.com>
+Date: Sun Aug 18 16:08:02 2013 +0930
+
+ Change PNGWriter monochrome format to be 8 pixels/byte
+
+ to be consistent with TiffWriter and NetPBMWriter
+
+ goo/PNGWriter.cc | 4 ----
+ goo/PNGWriter.h | 2 +-
+ utils/HtmlOutputDev.cc | 31 +++++++++++++++++++------------
+ utils/ImageOutputDev.cc | 9 ++++++---
+ utils/pdftocairo.cc | 2 +-
+ 5 files changed, 27 insertions(+), 21 deletions(-)
+
+commit e53aec2c61ba42cf0635dc05f8e27e3503c1eaac
+Author: Adrian Johnson <ajohnson@redneon.com>
+Date: Sun Aug 18 15:50:39 2013 +0930
+
+ Refactor ImageOutputDev to facilitate adding more output formats
+
+ - Move PPM/PBM code into a NetPBMWriter class so PNGWriter and
+ TiffWritersupport be added.
+
+ - Create generic WriteRawIMage function for writing jpeg files so
+ support for jpeg2000/jbig2 can be added.
+
+ CMakeLists.txt | 1 +
+ goo/Makefile.am | 2 +
+ goo/NetPBMWriter.cc | 84 ++++++++++++++++
+ goo/NetPBMWriter.h | 52 ++++++++++
+ utils/ImageOutputDev.cc | 261
+ +++++++++++++++++++++---------------------------
+ utils/ImageOutputDev.h | 15 +--
+ 6 files changed, 262 insertions(+), 153 deletions(-)
+
+commit 0ca0fcc9f536a57365048914cd8a8cc3eb5ed4fd
+Author: Adrian Johnson <ajohnson@redneon.com>
+Date: Sat Aug 17 15:24:43 2013 +0930
+
+ pdfimages: fix bug in -list output
+
+ Images of type /ImageMask should have type 'stencil'.
+
+ utils/ImageOutputDev.cc | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit f8ee5a931c795013d17f73f083b6e6f9a683d061
+Author: Adrian Johnson <ajohnson@redneon.com>
+Date: Sat Aug 17 15:17:11 2013 +0930
+
+ pdfimages: print size, ratio, and ppi
+
+ utils/ImageOutputDev.cc | 100
+ ++++++++++++++++++++++++++++++++++++++++++++----
+ utils/pdfimages.1 | 12 ++++++
+ utils/pdfimages.cc | 2 +-
+ 3 files changed, 106 insertions(+), 8 deletions(-)
+
+commit b5321c4f40fb56b10f75c14c5c955c5775cf2ef9
+Author: Thomas Freitag <Thomas.Freitag@alfa.de>
+Date: Sun Aug 25 20:13:12 2013 +0200
+
+ use getCMYK/DeviceNLine in CMYK mode if available
+
+ Second part of bug 66928
+
+ poppler/GfxState.cc | 310
+ ++++++++++++++++++++++++++++++++++++++++++++-
+ poppler/GfxState.h | 32 ++++-
+ poppler/SplashOutputDev.cc | 28 ++--
+ splash/SplashTypes.h | 2 -
+ 4 files changed, 355 insertions(+), 17 deletions(-)
+
+commit d006ac567e59e82c4c6cb42c5e429a4aa516ac0b
+Merge: d391af7 ed3585e
+Author: Albert Astals Cid <aacid@kde.org>
+Date: Sun Aug 25 19:36:33 2013 +0200
+
+ Merge remote-tracking branch 'origin/poppler-0.24'
+
commit ed3585efc8b259cb065eac361a6a499f9f26851f
Author: William Bader <williambader@hotmail.com>
-Date: Sun Aug 25 19:31:11 2013 +0200
+Date: Sun Aug 25 19:31:11 2013 +0200
Fix pdftops -eps -level1sep rendering of a file
Since 8fb243bf11a979af8bfa36427436940706c9f71d we have
- case splashModeXBGR8:
- + cSrcNonIso[3] = 255;
+ case splashModeXBGR8:
+ + cSrcNonIso[3] = 255;
and that means splashModeDeviceN8 and splashModeCMYK8 can't
skip their breaks anymore otherwise the cSrcNonIso[3] gets
overwritten
@@ -34,9 +3986,70 @@ Date: Sun Aug 25 19:31:11 2013 +0200
splash/Splash.cc | 11 +++++++----
1 file changed, 7 insertions(+), 4 deletions(-)
+commit d391af7ea63c4bc884bb81895aea0cdd8f8b282a
+Author: Albert Astals Cid <aacid@kde.org>
+Date: Sat Aug 24 14:03:49 2013 +0200
+
+ Update copyrights
+
+ poppler/Annot.cc | 1 +
+ poppler/Annot.h | 1 +
+ poppler/Catalog.cc | 2 ++
+ poppler/Catalog.h | 2 ++
+ poppler/Form.cc | 2 +-
+ poppler/Form.h | 1 +
+ poppler/Page.cc | 1 +
+ poppler/Page.h | 1 +
+ utils/pdfinfo.cc | 1 +
+ 9 files changed, 11 insertions(+), 1 deletion(-)
+
+commit a47b7f853174d6101f2b882a2db1a7dc95b33293
+Author: Adrian Johnson <ajohnson@redneon.com>
+Date: Sat Aug 3 10:28:20 2013 +0930
+
+ Add pdfinfo option to print out javascript
+
+ poppler/Catalog.h | 1 +
+ utils/JSInfo.cc | 164
+ +++++++++++++++++++++++++++++++++++++++++-------------
+ utils/JSInfo.h | 12 +++-
+ utils/pdfinfo.1 | 3 +
+ utils/pdfinfo.cc | 10 ++++
+ 5 files changed, 151 insertions(+), 39 deletions(-)
+
+commit 8f7155e7e3180bb1966a5e7df6af6acdd479939b
+Author: Adrian Johnson <ajohnson@redneon.com>
+Date: Sat Aug 3 09:05:21 2013 +0930
+
+ pdfinfo: indicate if pdf contains javascript
+
+ poppler/Annot.cc | 27 ++++++++++
+ poppler/Annot.h | 8 +++
+ poppler/Catalog.cc | 26 +++++++++
+ poppler/Catalog.h | 12 +++++
+ poppler/Form.cc | 4 ++
+ poppler/Form.h | 2 +
+ poppler/Page.cc | 20 +++++++
+ poppler/Page.h | 10 +++-
+ utils/CMakeLists.txt | 4 ++
+ utils/JSInfo.cc | 145
+ +++++++++++++++++++++++++++++++++++++++++++++++++++
+ utils/JSInfo.h | 50 ++++++++++++++++++
+ utils/Makefile.am | 4 ++
+ utils/pdfinfo.1 | 3 ++
+ utils/pdfinfo.cc | 8 +++
+ 14 files changed, 322 insertions(+), 1 deletion(-)
+
+commit c2453fc1307ebb222747f976e1311ecc5e99abfa
+Merge: 3bb8c2e 70298a0
+Author: Albert Astals Cid <aacid@kde.org>
+Date: Tue Aug 20 19:53:17 2013 +0200
+
+ Merge remote-tracking branch 'origin/poppler-0.24'
+
commit 70298a021657a72ae80389687a86247144e6d6b6
Author: Thomas Freitag <Thomas.Freitag@alfa.de>
-Date: Tue Aug 20 19:46:01 2013 +0200
+Date: Tue Aug 20 19:46:01 2013 +0200
Don't copy not needed bitmap
@@ -46,9 +4059,16 @@ Date: Tue Aug 20 19:46:01 2013 +0200
poppler/SplashOutputDev.cc | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
+commit 3bb8c2e34039cf473bf72ed9dab55664deab3ab7
+Merge: 71c1d16 fc78330
+Author: Albert Astals Cid <aacid@kde.org>
+Date: Tue Aug 20 00:41:13 2013 +0200
+
+ Merge remote-tracking branch 'origin/poppler-0.24'
+
commit fc78330072b9771fa39d21896703adb4836e5398
Author: Albert Astals Cid <aacid@kde.org>
-Date: Tue Aug 20 00:37:56 2013 +0200
+Date: Tue Aug 20 00:37:56 2013 +0200
use getRGBLine images if available
@@ -59,9 +4079,28 @@ Date: Tue Aug 20 00:37:56 2013 +0200
poppler/SplashOutputDev.cc | 30 +++++++++++++++++++-----------
1 file changed, 19 insertions(+), 11 deletions(-)
+commit 71c1d162477a243db07b62ef3c056a2946f8986e
+Merge: 7d1de78 678c767
+Author: Albert Astals Cid <aacid@kde.org>
+Date: Sun Aug 18 16:41:20 2013 +0200
+
+ Merge remote-tracking branch 'origin/poppler-0.24'
+
+commit 7d1de78ad79162217ee0ca6c2e99ce51017a327d
+Merge: 7e0d969 fbea224
+Author: Albert Astals Cid <aacid@kde.org>
+Date: Sun Aug 18 16:40:34 2013 +0200
+
+ Merge commit 'origin/poppler-0.24~1'
+
+ This is merging the revert commits with the "ours" strategy, so
+ it's virtually
+ doing nothing other than making the stable branch mergeable again
+ to master
+
commit 678c767584fa80620cc58a1d8a913cb3473209d4
Author: Albert Astals Cid <aacid@kde.org>
-Date: Sun Aug 18 16:19:27 2013 +0200
+Date: Sun Aug 18 16:19:27 2013 +0200
Fix crash in 1026.asan.0.42.pdf
@@ -72,7 +4111,7 @@ Date: Sun Aug 18 16:19:27 2013 +0200
commit fbea2241cccdde0106d2c34592b6ddda28a8d848
Author: Albert Astals Cid <aacid@kde.org>
-Date: Sat Aug 17 01:32:51 2013 +0200
+Date: Sat Aug 17 01:32:51 2013 +0200
Revert "Tagged-PDF: Accessors in Catalog for the MarkInfo dictionary"
@@ -86,7 +4125,7 @@ Date: Sat Aug 17 01:32:51 2013 +0200
commit 6d2771b8a8c0cb0f2288d0900fea3c9edc3dd172
Author: Albert Astals Cid <aacid@kde.org>
-Date: Sat Aug 17 01:32:38 2013 +0200
+Date: Sat Aug 17 01:32:38 2013 +0200
Revert "pdfinfo: Use Catalog::getMarkInfo() to show mark info
properties"
@@ -98,9 +4137,16 @@ Date: Sat Aug 17 01:32:38 2013 +0200
utils/pdfinfo.cc | 8 ++------
1 file changed, 2 insertions(+), 6 deletions(-)
+commit 7e0d969dc2439637ab16e609df8223504316f87d
+Merge: 6efc0c7 ef64206
+Author: Albert Astals Cid <aacid@kde.org>
+Date: Sat Aug 17 01:13:30 2013 +0200
+
+ Merge remote-tracking branch 'origin/poppler-0.24'
+
commit ef6420656c7b88eb22a63ec2cb3e504e0bda0384
Author: Albert Astals Cid <aacid@kde.org>
-Date: Sat Aug 17 01:11:37 2013 +0200
+Date: Sat Aug 17 01:11:37 2013 +0200
Fix jpeg image export
@@ -112,7 +4158,7 @@ Date: Sat Aug 17 01:11:37 2013 +0200
commit 681f52a572b08c068cb376e5b2dc8a31676aad07
Author: Albert Astals Cid <aacid@kde.org>
-Date: Fri Aug 16 23:58:44 2013 +0200
+Date: Fri Aug 16 23:58:44 2013 +0200
Fix exit(1) in 1026.asan.0.42.pdf
@@ -123,7 +4169,7 @@ Date: Fri Aug 16 23:58:44 2013 +0200
commit 9f4d7796589e4c9c1645fbbcf0cfabd79a71bde9
Author: Thomas Freitag <Thomas.Freitag@alfa.de>
-Date: Thu Aug 8 20:33:54 2013 +0200
+Date: Thu Aug 8 20:33:54 2013 +0200
use copyString where memory is freed with gfree
@@ -135,7 +4181,7 @@ Date: Thu Aug 8 20:33:54 2013 +0200
commit 73cca518c479594e26605196d54b429fbf42dcdc
Author: Adrian Perez de Castro <aperez@igalia.com>
-Date: Thu Apr 25 09:52:56 2013 +0300
+Date: Thu Apr 25 09:52:56 2013 +0300
pdfinfo: Use Catalog::getMarkInfo() to show mark info properties
@@ -144,7 +4190,7 @@ Date: Thu Apr 25 09:52:56 2013 +0300
commit 402ee8b4e31630a42a0a38db1d39164cc5789f3c
Author: Adrian Perez de Castro <aperez@igalia.com>
-Date: Thu Apr 25 09:52:56 2013 +0300
+Date: Thu Apr 25 09:52:56 2013 +0300
Tagged-PDF: Accessors in Catalog for the MarkInfo dictionary
@@ -152,18 +4198,78 @@ Date: Thu Apr 25 09:52:56 2013 +0300
poppler/Catalog.h | 10 ++++++++++
2 files changed, 55 insertions(+)
+commit 6efc0c7ad97a82064a1e2c47e0b063b606e56bb7
+Author: Albert Astals Cid <aacid@kde.org>
+Date: Fri Aug 16 23:31:54 2013 +0200
+
+ Remove unused xref member
+
+ poppler/OptionalContent.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit cb5160aa74f64b78a20aaed4b89fead850b42e9b
+Author: Albert Astals Cid <aacid@kde.org>
+Date: Fri Aug 16 23:31:17 2013 +0200
+
+ Remove usnused objectNumberFirst member
+
+ poppler/Hints.h | 3 +--
+ 1 file changed, 1 insertion(+), 2 deletions(-)
+
+commit a642aad68733c25f4055c268d691eedcf4e14a22
+Author: Albert Astals Cid <aacid@kde.org>
+Date: Fri Aug 16 23:30:50 2013 +0200
+
+ PNGWriterPrivate is actually a struct not a class
+
+ goo/PNGWriter.h | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit 31947d413eae115acc147c33fc55b8ab4adccd91
+Author: Thomas Freitag <Thomas.Freitag@alfa.de>
+Date: Tue Aug 13 19:39:30 2013 +0200
+
+ pdftoppm: Add thinlinemode option setting
+
+ utils/pdftoppm.1 | 12 ++++++++++++
+ utils/pdftoppm.cc | 17 +++++++++++++++--
+ 2 files changed, 27 insertions(+), 2 deletions(-)
+
+commit 8a1740b0b6ee4b217ecbe9d0046e4afa491e9f17
+Merge: b27588c c3f953d
+Author: Albert Astals Cid <aacid@kde.org>
+Date: Mon Aug 12 22:47:44 2013 +0200
+
+ Merge remote-tracking branch 'origin/poppler-0.24'
+
commit c3f953dc87f83ac726f99cb8f1f959c486098391
Author: Yury G. Kudryashov <urkud.urkud@gmail.com>
-Date: Sat Aug 10 21:43:57 2013 +0300
+Date: Sat Aug 10 21:43:57 2013 +0300
Fix a typo
qt4/src/poppler-qt4.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
+commit b27588c4c946ef4f9a62248fbead4dffcb60b4d1
+Author: Yury G. Kudryashov <urkud.urkud@gmail.com>
+Date: Mon Aug 12 22:42:13 2013 +0200
+
+ Fix indentation
+
+ utils/pdftotext.cc | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+commit b8b5773386ee4f57e72c2b867421cdff8a2eab5a
+Merge: 5f9d385 62d079b
+Author: Albert Astals Cid <aacid@kde.org>
+Date: Thu Aug 8 20:47:05 2013 +0200
+
+ Merge remote-tracking branch 'origin/poppler-0.24'
+
commit 62d079b40a2f816f59cc533b1624ea57458331f3
Author: Yury G. Kudryashov <urkud.urkud@gmail.com>
-Date: Thu Aug 8 20:45:08 2013 +0200
+Date: Thu Aug 8 20:45:08 2013 +0200
Fix `pdftotext -bbox in.pdf -`
@@ -174,9 +4280,16 @@ Date: Thu Aug 8 20:45:08 2013 +0200
utils/pdftotext.cc | 15 ++++++---------
1 file changed, 6 insertions(+), 9 deletions(-)
+commit 5f9d385dbec3148614b84ae24cae47177e18dbfc
+Merge: af450a8 86dbc5f
+Author: Albert Astals Cid <aacid@kde.org>
+Date: Thu Aug 8 20:41:25 2013 +0200
+
+ Merge remote-tracking branch 'origin/poppler-0.24'
+
commit 86dbc5f6f850ba3919bed9979386e5a4d0e7dba3
Author: Yury G. Kudryashov <urkud.urkud@gmail.com>
-Date: Thu Aug 8 20:39:30 2013 +0200
+Date: Thu Aug 8 20:39:30 2013 +0200
pdfdetach: don't mention xpdfrc
@@ -189,9 +4302,52 @@ Date: Thu Aug 8 20:39:30 2013 +0200
utils/pdfdetach.cc | 6 ++----
2 files changed, 5 insertions(+), 24 deletions(-)
+commit af450a885ede5a3eac1a12734310722963764d83
+Author: Thomas Freitag <Thomas.Freitag@alfa.de>
+Date: Thu Aug 8 20:33:54 2013 +0200
+
+ use copyString where memory is freed with gfree
+
+ Bug #67666
+
+ poppler/Annot.cc | 2 +-
+ poppler/Dict.cc | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+commit 030ee12875a562f5976c5569d5c76783aadf89bd
+Author: Adrian Perez de Castro <aperez@igalia.com>
+Date: Thu Apr 25 09:52:56 2013 +0300
+
+ pdfinfo: Use Catalog::getMarkInfo() to show mark info properties
+
+ utils/pdfinfo.cc | 8 ++++++--
+ 1 file changed, 6 insertions(+), 2 deletions(-)
+
+commit 9a232273988c0d2fd752dc2016e5111227ae6646
+Author: Adrian Perez de Castro <aperez@igalia.com>
+Date: Thu Apr 25 09:52:56 2013 +0300
+
+ Tagged-PDF: Accessors in Catalog for the MarkInfo dictionary
+
+ poppler/Catalog.cc | 45 +++++++++++++++++++++++++++++++++++++++++++++
+ poppler/Catalog.h | 10 ++++++++++
+ 2 files changed, 55 insertions(+)
+
commit 2724a7b9f723789491b4991ce7fe0cfa3e5488c3
Author: Carlos Garcia Campos <carlosgc@gnome.org>
-Date: Tue Jul 30 09:36:44 2013 +0200
+Date: Tue Jul 30 09:36:44 2013 +0200
+
+ glib-demo: Remove GTK_DISABLE_DEPRECATED compilation flag
+
+ Deprecations are now compile warnings, there's no reason to make them
+ fatal.
+
+ glib/demo/Makefile.am | 1 -
+ 1 file changed, 1 deletion(-)
+
+commit ef9d861486d54fb3dcf7b8bca01bd44c3b3361a9
+Author: Carlos Garcia Campos <carlosgc@gnome.org>
+Date: Tue Jul 30 09:36:44 2013 +0200
glib-demo: Remove GTK_DISABLE_DEPRECATED compilation flag
@@ -203,14 +4359,14 @@ Date: Tue Jul 30 09:36:44 2013 +0200
commit eac752dc25942439de3e1c7a4ff815500a41dd2a
Author: Albert Astals Cid <aacid@kde.org>
-Date: Mon Jul 29 19:11:55 2013 +0200
+Date: Mon Jul 29 19:11:55 2013 +0200
0.24.0
CMakeLists.txt | 6 +++---
- NEWS | 7 +++++++
- configure.ac | 4 ++--
- cpp/Doxyfile | 2 +-
+ NEWS | 7 +++++++
+ configure.ac | 4 ++--
+ cpp/Doxyfile | 2 +-
poppler/Makefile.am | 2 +-
qt4/src/Doxyfile | 2 +-
qt5/src/Doxyfile | 2 +-
@@ -218,7 +4374,7 @@ Date: Mon Jul 29 19:11:55 2013 +0200
commit 892433a068a8a11c09a7c4f57c5fc941747c4453
Author: Albert Astals Cid <aacid@kde.org>
-Date: Mon Jul 29 19:08:10 2013 +0200
+Date: Mon Jul 29 19:08:10 2013 +0200
Update Ed's copyright
@@ -227,7 +4383,7 @@ Date: Mon Jul 29 19:08:10 2013 +0200
commit 4637b1581286381c3d1c6963828d9cd8afc5b9e0
Author: Albert Astals Cid <aacid@kde.org>
-Date: Mon Jul 29 01:08:06 2013 +0200
+Date: Mon Jul 29 01:08:06 2013 +0200
Make some pdftops conversions *much* faster
@@ -245,12 +4401,12 @@ Date: Mon Jul 29 01:08:06 2013 +0200
This has passed the pdf->ps regression test without a single issue
poppler/PSOutputDev.cc | 42 ++++++++++--------------------------------
- poppler/PSOutputDev.h | 6 +++---
+ poppler/PSOutputDev.h | 6 +++---
2 files changed, 13 insertions(+), 35 deletions(-)
commit e04287f2682e46831c04e0ef8d60411f521a2572
Author: Albert Astals Cid <aacid@kde.org>
-Date: Mon Jul 29 00:55:43 2013 +0200
+Date: Mon Jul 29 00:55:43 2013 +0200
Fallback to 1x1 bitmap If we fail to create the corrent one
@@ -259,7 +4415,7 @@ Date: Mon Jul 29 00:55:43 2013 +0200
commit fe5ff20cb93a70fa1650ef5e00b67e35de20f0ca
Author: Albert Astals Cid <aacid@kde.org>
-Date: Mon Jul 29 00:54:07 2013 +0200
+Date: Mon Jul 29 00:54:07 2013 +0200
Initialize t3FillColorOnly
@@ -268,7 +4424,7 @@ Date: Mon Jul 29 00:54:07 2013 +0200
commit 19930d9f104b63070dcd7636758eb8b90a86fc0d
Author: Ed Catmur <ed@catmur.co.uk>
-Date: Sun Jul 21 11:07:00 2013 +0200
+Date: Sun Jul 21 11:07:00 2013 +0200
TextOutputDev: Do not draw ligatures more than once when selected
@@ -284,27 +4440,27 @@ Date: Sun Jul 21 11:07:00 2013 +0200
commit 6b451b2d3f785c28d98907ae338d58380db518d2
Author: Albert Astals Cid <aacid@kde.org>
-Date: Fri Jul 19 02:55:29 2013 +0200
+Date: Fri Jul 19 02:55:29 2013 +0200
0.23.4
- CMakeLists.txt | 4 +--
- NEWS | 8 ++++++
- configure.ac | 2 +-
- cpp/Doxyfile | 2 +-
- gtk-doc.make | 70
+ CMakeLists.txt | 4 +--
+ NEWS | 8 ++++++
+ configure.ac | 2 +-
+ cpp/Doxyfile | 2 +-
+ gtk-doc.make | 70
+++++++++++++++++++++++++++++++-----------------
- m4/gtk-doc.m4 | 6 ++++-
+ m4/gtk-doc.m4 | 6 ++++-
poppler/CairoOutputDev.h | 2 +-
- poppler/Makefile.am | 2 +-
+ poppler/Makefile.am | 2 +-
poppler/TextOutputDev.cc | 2 +-
- qt4/src/Doxyfile | 2 +-
- qt5/src/Doxyfile | 2 +-
+ qt4/src/Doxyfile | 2 +-
+ qt5/src/Doxyfile | 2 +-
11 files changed, 67 insertions(+), 35 deletions(-)
commit 6cf43442e38c501b49293a28f38e06ab143852c6
Author: Ed Catmur <ed@catmur.co.uk>
-Date: Thu Jul 18 10:34:29 2013 +0200
+Date: Thu Jul 18 10:34:29 2013 +0200
TextOutputDev: clip the selected text rendering to the selection box
@@ -320,7 +4476,7 @@ Date: Thu Jul 18 10:34:29 2013 +0200
commit 269b3f3d572a15f1007f8cc84f758b1a293ef8af
Author: Carlos Garcia Campos <carlosgc@gnome.org>
-Date: Mon Jul 8 20:19:30 2013 +0200
+Date: Mon Jul 8 20:19:30 2013 +0200
build: Make -lpthread take preference over -pthread
@@ -334,11 +4490,11 @@ Date: Mon Jul 8 20:19:30 2013 +0200
commit 40f857d27930aa002a99c96f3892c5e240e7ecb5
Author: Carlos Garcia Campos <carlosgc@gnome.org>
-Date: Mon Jul 8 19:55:10 2013 +0200
+Date: Mon Jul 8 19:55:10 2013 +0200
m4: Replace old acx_pthread.m4 with new one ax_pthread.m4
- configure.ac | 2 +-
+ configure.ac | 2 +-
m4/acx_pthread.m4 | 280 -----------------------------------------------
m4/ax_pthread.m4 | 317
++++++++++++++++++++++++++++++++++++++++++++++++++++++
@@ -346,7 +4502,7 @@ Date: Mon Jul 8 19:55:10 2013 +0200
commit 44b7070aa713b2e20eb97b868000d432e2f8504e
Author: Pino Toscano <pino@kde.org>
-Date: Mon Jul 8 19:42:15 2013 +0200
+Date: Mon Jul 8 19:42:15 2013 +0200
cmake: improve linking with pthreads
@@ -358,7 +4514,7 @@ Date: Mon Jul 8 19:42:15 2013 +0200
commit 69c281fdcf23520151c0eb5471a4259c73fa1273
Author: Carlos Garcia Campos <carlosgc@gnome.org>
-Date: Sun Jul 7 11:51:27 2013 +0200
+Date: Sun Jul 7 11:51:27 2013 +0200
cairo: Fix the bounding box of images saved in CairoImageOutputDev
@@ -372,7 +4528,7 @@ Date: Sun Jul 7 11:51:27 2013 +0200
commit 759e0266b36c4ea9f66912f1e53ed6392dbfd6da
Author: Albert Astals Cid <aacid@kde.org>
-Date: Tue Jul 2 00:47:13 2013 +0200
+Date: Tue Jul 2 00:47:13 2013 +0200
News for 0.23.3
@@ -383,14 +4539,14 @@ Date: Tue Jul 2 00:47:13 2013 +0200
commit df1fe9dc7ade5228e37c16c6f0c9a2d4890fdc90
Author: Albert Astals Cid <aacid@kde.org>
-Date: Tue Jul 2 00:33:04 2013 +0200
+Date: Tue Jul 2 00:33:04 2013 +0200
0.23.3
CMakeLists.txt | 4 ++--
- Makefile.am | 2 +-
- configure.ac | 2 +-
- cpp/Doxyfile | 2 +-
+ Makefile.am | 2 +-
+ configure.ac | 2 +-
+ cpp/Doxyfile | 2 +-
poppler/Makefile.am | 2 +-
qt4/src/Doxyfile | 2 +-
qt5/src/Doxyfile | 2 +-
@@ -398,25 +4554,25 @@ Date: Tue Jul 2 00:33:04 2013 +0200
commit df9d4fee17adfe003c822175b6921a3cd93675f6
Author: Albert Astals Cid <aacid@kde.org>
-Date: Mon Jul 1 21:04:10 2013 +0200
+Date: Mon Jul 1 21:04:10 2013 +0200
Update copyrights
- poppler/Annot.cc | 2 +-
- poppler/Annot.h | 2 +-
- poppler/Page.cc | 2 +-
+ poppler/Annot.cc | 2 +-
+ poppler/Annot.h | 2 +-
+ poppler/Page.cc | 2 +-
poppler/TextOutputDev.cc | 2 +-
poppler/TextOutputDev.h | 2 +-
qt5/src/poppler-annotation.cc | 2 +-
qt5/src/poppler-annotation.h | 2 +-
qt5/src/poppler-document.cc | 2 +-
qt5/src/poppler-link.cc | 2 +-
- qt5/src/poppler-qt5.h | 2 +-
+ qt5/src/poppler-qt5.h | 2 +-
10 files changed, 10 insertions(+), 10 deletions(-)
commit 67129e9db88e8332907407f14d3e09ee5c49e274
Author: Jason Crain <jason@aquaticape.us>
-Date: Mon Jul 1 02:24:47 2013 -0500
+Date: Mon Jul 1 02:24:47 2013 -0500
Check for NULL in Page::getResourceDictCopy
@@ -425,7 +4581,7 @@ Date: Mon Jul 1 02:24:47 2013 -0500
commit c376559bc412e90204162bb4b2d20cd586db70c1
Author: Carlos Garcia Campos <carlosgc@gnome.org>
-Date: Sun Jun 30 13:14:07 2013 +0200
+Date: Sun Jun 30 13:14:07 2013 +0200
annots: Invalidate the appearance stream when annot properties change
@@ -435,15 +4591,15 @@ Date: Sun Jun 30 13:14:07 2013 +0200
the core
and fixes the appearance stream regeneration in the glib frontend too.
- poppler/Annot.cc | 36 ++++++++++++++++++++++++++++++++++++
- poppler/Annot.h | 10 ++++++----
+ poppler/Annot.cc | 36 ++++++++++++++++++++++++++++++++++++
+ poppler/Annot.h | 10 ++++++----
qt4/src/poppler-annotation.cc | 34 ----------------------------------
qt5/src/poppler-annotation.cc | 34 ----------------------------------
4 files changed, 42 insertions(+), 72 deletions(-)
commit c746e8b38e821d1ebeaf52c4c816515bc3ddaaf6
Author: Carlos Garcia Campos <carlosgc@gnome.org>
-Date: Sun Jun 30 11:44:59 2013 +0200
+Date: Sun Jun 30 11:44:59 2013 +0200
annots: Remove unused variable
@@ -452,7 +4608,7 @@ Date: Sun Jun 30 11:44:59 2013 +0200
commit 7d9d5d2518f7760e6a4317a358040ddd9164fdef
Author: Carlos Garcia Campos <carlosgc@gnome.org>
-Date: Sun Jun 30 11:40:15 2013 +0200
+Date: Sun Jun 30 11:40:15 2013 +0200
annots: Do not update AP and AS entries if they are not present when
invaliding the appaearance stream
@@ -462,7 +4618,7 @@ Date: Sun Jun 30 11:40:15 2013 +0200
commit 347b53f7fca644564724c230fe6c0dcbffa0d6f9
Author: Carlos Garcia Campos <carlosgc@gnome.org>
-Date: Sun Jun 30 11:23:54 2013 +0200
+Date: Sun Jun 30 11:23:54 2013 +0200
annots: do not set the default appearance state when invalidating
appearances
@@ -478,7 +4634,7 @@ Date: Sun Jun 30 11:23:54 2013 +0200
commit b5e9941c145fc99e03a28d92a50840638895908d
Author: Albert Astals Cid <aacid@kde.org>
-Date: Mon Jul 1 00:32:51 2013 +0200
+Date: Mon Jul 1 00:32:51 2013 +0200
Fix crash on malformed doc
@@ -490,7 +4646,7 @@ Date: Mon Jul 1 00:32:51 2013 +0200
commit 19f8a88bba6022b8172477e6f52dfd36b2fc5e92
Author: Fabio D'Urso <fabiodurso@hotmail.it>
-Date: Thu Mar 7 00:20:15 2013 +0100
+Date: Thu Mar 7 00:20:15 2013 +0100
qt5: Free some temporary memory in
TextAnnotationPrivate::createNativeAnnot
@@ -502,7 +4658,7 @@ Date: Thu Mar 7 00:20:15 2013 +0100
commit 8bac4d1e43ce9a4c66fddc8430d7bed2d9aabba1
Author: Fabio D'Urso <fabiodurso@hotmail.it>
-Date: Tue Jun 25 20:09:00 2013 +0200
+Date: Tue Jun 25 20:09:00 2013 +0200
qt5: Some documentation about annotations
@@ -525,7 +4681,7 @@ Date: Tue Jun 25 20:09:00 2013 +0200
commit 1d5fe3f20189fd3928121e954bcc8fa7278b39fb
Author: Fabio D'Urso <fabiodurso@hotmail.it>
-Date: Sat Mar 2 19:06:49 2013 +0100
+Date: Sat Mar 2 19:06:49 2013 +0100
qt5: FixedRotation annotations' coordinate conversion
@@ -537,21 +4693,21 @@ Date: Sat Mar 2 19:06:49 2013 +0100
clients will need to set geometry-related annotation properties in
the following order:
1) flags (because we need to know if this is a FixedRotation
- annotation or not)
+ annotation or not)
2) boundary (because we need to know what the topleft corner is,
- so that we can construct the conversion matrix)
+ so that we can construct the conversion matrix)
3) anything else
This requirement will be documented in the next patch
qt5/src/poppler-annotation-private.h | 7 ++-
- qt5/src/poppler-annotation.cc | 111
+ qt5/src/poppler-annotation.cc | 111
+++++++++++++++++++++++++++--------
2 files changed, 92 insertions(+), 26 deletions(-)
commit ab130c91492765f8be29ed112dd2e2e6f665641b
Author: Fabio D'Urso <fabiodurso@hotmail.it>
-Date: Sat Mar 2 00:55:58 2013 +0100
+Date: Sat Mar 2 00:55:58 2013 +0100
core: Remove geometry-related arguments from annotation constructors
@@ -578,20 +4734,20 @@ Date: Sat Mar 2 00:55:58 2013 +0100
commit 35cfb6914e1be4c5eda2f355900b1a0a1fa69d19
Author: Fabio D'Urso <fabiodurso@hotmail.it>
-Date: Fri Feb 15 12:24:18 2013 +0100
+Date: Fri Feb 15 12:24:18 2013 +0100
poppler_qt5viewer: Add combobox to select rotation
qt5/demos/navigationtoolbar.cpp | 15 +++++++++++++++
- qt5/demos/navigationtoolbar.h | 4 ++++
- qt5/demos/pageview.cpp | 24 +++++++++++++++++++++++-
- qt5/demos/pageview.h | 3 +++
- qt5/demos/viewer.cpp | 2 ++
+ qt5/demos/navigationtoolbar.h | 4 ++++
+ qt5/demos/pageview.cpp | 24 +++++++++++++++++++++++-
+ qt5/demos/pageview.h | 3 +++
+ qt5/demos/viewer.cpp | 2 ++
5 files changed, 47 insertions(+), 1 deletion(-)
commit de2a93c0bc6e92a95c687796f59780c998b90ca4
Author: Fabio D'Urso <fabiodurso@hotmail.it>
-Date: Thu Mar 7 00:20:15 2013 +0100
+Date: Thu Mar 7 00:20:15 2013 +0100
qt4: Free some temporary memory in
TextAnnotationPrivate::createNativeAnnot
@@ -603,7 +4759,7 @@ Date: Thu Mar 7 00:20:15 2013 +0100
commit 738b0b4fedaa2b2b28ea1c11622dfd880180d1c9
Author: Fabio D'Urso <fabiodurso@hotmail.it>
-Date: Thu Mar 7 20:50:52 2013 +0100
+Date: Thu Mar 7 20:50:52 2013 +0100
qt4: Some documentation about annotations
@@ -626,7 +4782,7 @@ Date: Thu Mar 7 20:50:52 2013 +0100
commit cf950a2b7e8278e70719c67b441b0d324ffd0399
Author: Fabio D'Urso <fabiodurso@hotmail.it>
-Date: Sat Mar 2 19:06:49 2013 +0100
+Date: Sat Mar 2 19:06:49 2013 +0100
qt4: FixedRotation annotations' coordinate conversion
@@ -638,23 +4794,23 @@ Date: Sat Mar 2 19:06:49 2013 +0100
clients will need to set geometry-related annotation properties in
the following order:
1) flags (because we need to know if this is a FixedRotation
- annotation or not)
+ annotation or not)
2) boundary (because we need to know what the topleft corner is,
- so that we can construct the conversion matrix)
+ so that we can construct the conversion matrix)
3) anything else
This requirement will be documented in the next patch
- poppler/Annot.cc | 8 +++
- poppler/Annot.h | 2 +
+ poppler/Annot.cc | 8 +++
+ poppler/Annot.h | 2 +
qt4/src/poppler-annotation-private.h | 7 ++-
- qt4/src/poppler-annotation.cc | 111
+ qt4/src/poppler-annotation.cc | 111
+++++++++++++++++++++++++++--------
4 files changed, 102 insertions(+), 26 deletions(-)
commit 4b13085568df09d8b75099f6a5438f025a028fd5
Author: Fabio D'Urso <fabiodurso@hotmail.it>
-Date: Sat Mar 2 00:55:58 2013 +0100
+Date: Sat Mar 2 00:55:58 2013 +0100
core: Remove geometry-related arguments from annotation constructors
@@ -676,28 +4832,28 @@ Date: Sat Mar 2 00:55:58 2013 +0100
- AnnotPolygon
- AnnotInk
- poppler/Annot.cc | 56
+ poppler/Annot.cc | 56
+++++++++++++------------------------------
- poppler/Annot.h | 9 ++++---
+ poppler/Annot.h | 9 ++++---
qt4/src/poppler-annotation.cc | 34 +++++++++++++-------------
3 files changed, 39 insertions(+), 60 deletions(-)
commit 5923cfb5f7e3a0703de17e21f4952f92a44f3c14
Author: Fabio D'Urso <fabiodurso@hotmail.it>
-Date: Fri Feb 15 12:24:18 2013 +0100
+Date: Fri Feb 15 12:24:18 2013 +0100
poppler_qt4viewer: Add combobox to select rotation
qt4/demos/navigationtoolbar.cpp | 15 +++++++++++++++
- qt4/demos/navigationtoolbar.h | 4 ++++
- qt4/demos/pageview.cpp | 24 +++++++++++++++++++++++-
- qt4/demos/pageview.h | 3 +++
- qt4/demos/viewer.cpp | 2 ++
+ qt4/demos/navigationtoolbar.h | 4 ++++
+ qt4/demos/pageview.cpp | 24 +++++++++++++++++++++++-
+ qt4/demos/pageview.h | 3 +++
+ qt4/demos/viewer.cpp | 2 ++
5 files changed, 47 insertions(+), 1 deletion(-)
commit 74ea15cc454f31b772e71b3525b71045dbfa5527
Author: Fabio D'Urso <fabiodurso@hotmail.it>
-Date: Tue Jun 25 19:56:20 2013 +0200
+Date: Tue Jun 25 19:56:20 2013 +0200
core: Support for rendering annotations with flagNoRotate
@@ -707,12 +4863,12 @@ Date: Tue Jun 25 19:56:20 2013 +0200
++++++++++++++++++++++++++++++++++++-------------------
poppler/Annot.h | 3 ++-
poppler/Gfx.cc | 41 +++++++++++++++++++++++++++++++++++++----
- poppler/Gfx.h | 3 ++-
+ poppler/Gfx.h | 3 ++-
4 files changed, 77 insertions(+), 25 deletions(-)
commit 2639957ba78defd2ab6282679375fb7969bad21f
Author: Fabio D'Urso <fabiodurso@hotmail.it>
-Date: Wed Jun 26 23:12:40 2013 +0200
+Date: Wed Jun 26 23:12:40 2013 +0200
Do not crash in page::removeAnnot if there are non-Ref entries
in /Annots
@@ -722,7 +4878,7 @@ Date: Wed Jun 26 23:12:40 2013 +0200
commit ae016aa263c218fbfbd607cc92feac1013348c7e
Author: Albert Astals Cid <aacid@kde.org>
-Date: Wed Jun 26 11:33:55 2013 +0200
+Date: Wed Jun 26 11:33:55 2013 +0200
Fix qt5 found/not found logic
@@ -732,13 +4888,13 @@ Date: Wed Jun 26 11:33:55 2013 +0200
commit e27c1057caf4d878a0dc43c92c9e0b565db8fe40
Merge: c55b577 ee8cfbc
Author: Albert Astals Cid <aacid@kde.org>
-Date: Tue Jun 25 19:17:13 2013 +0200
+Date: Tue Jun 25 19:17:13 2013 +0200
Merge remote-tracking branch 'origin/qt5'
commit c55b577ce69ad4bb69f5261b3e120e92c9fdb3d0
Author: Carlos Garcia Campos <carlosgc@gnome.org>
-Date: Tue Jun 25 10:01:38 2013 +0200
+Date: Tue Jun 25 10:01:38 2013 +0200
glib: Use TextPage::getSelectionWords to build text layout and
attributes
@@ -758,7 +4914,7 @@ Date: Tue Jun 25 10:01:38 2013 +0200
commit fc534f571315c064005515c19d7d70ad3af1563e
Author: Carlos Garcia Campos <carlosgc@gnome.org>
-Date: Tue Jun 25 10:05:01 2013 +0200
+Date: Tue Jun 25 10:05:01 2013 +0200
TextOutputDev: add a method to TextPage to get the selection as a
list of words
@@ -771,7 +4927,7 @@ Date: Tue Jun 25 10:05:01 2013 +0200
commit a924246b7534e86165f8e9ab6c60d56b73a17b94
Author: Carlos Garcia Campos <carlosgc@gnome.org>
-Date: Tue Jun 25 09:57:48 2013 +0200
+Date: Tue Jun 25 09:57:48 2013 +0200
TextOutputDev: simplify the text selection dumper
@@ -784,7 +4940,7 @@ Date: Tue Jun 25 09:57:48 2013 +0200
commit c849094a2daf896d085937adff1f7659a09da062
Author: Carlos Garcia Campos <carlosgc@gnome.org>
-Date: Mon Jun 24 18:29:11 2013 +0200
+Date: Mon Jun 24 18:29:11 2013 +0200
TextOutputDev: Move TextSelection class from TextSelectionPainter
to TextSelectionVisitor
@@ -798,7 +4954,7 @@ Date: Mon Jun 24 18:29:11 2013 +0200
commit b3ff3f2c3e131556d2b27cbe52f0ddbbb4820c19
Author: Jason Crain <jason@aquaticape.us>
-Date: Thu Jun 20 21:47:13 2013 -0500
+Date: Thu Jun 20 21:47:13 2013 -0500
Draw glyphs after selection background
@@ -816,7 +4972,7 @@ Date: Thu Jun 20 21:47:13 2013 -0500
commit ee8cfbc78fe9de109abbe0727a738870f6027a73
Author: Albert Astals Cid <aacid@kde.org>
-Date: Tue Jun 18 23:20:01 2013 +0200
+Date: Tue Jun 18 23:20:01 2013 +0200
Fix indent
@@ -825,14 +4981,14 @@ Date: Tue Jun 18 23:20:01 2013 +0200
commit 9d0a5b6afb25a1273504383e108bdb95ca82f099
Author: Albert Astals Cid <aacid@kde.org>
-Date: Tue Jun 18 23:19:30 2013 +0200
+Date: Tue Jun 18 23:19:30 2013 +0200
Bring changes from the qt4 dir
- qt5/src/Doxyfile | 2 +-
- qt5/src/poppler-private.h | 2 +-
- qt5/tests/CMakeLists.txt | 1 +
- qt5/tests/Makefile.am | 13 +-
+ qt5/src/Doxyfile | 2 +-
+ qt5/src/poppler-private.h | 2 +-
+ qt5/tests/CMakeLists.txt | 1 +
+ qt5/tests/Makefile.am | 13 +-
qt5/tests/stress-threads-qt5.cpp | 304
+++++++++++++++++++++++++++++++++++++++
qt5/tests/test-poppler-qt5.cpp | 2 +-
@@ -840,30 +4996,30 @@ Date: Tue Jun 18 23:19:30 2013 +0200
commit 1adb1ab7aee026e227d25716a4b7be22b19b5b84
Author: Albert Astals Cid <aacid@kde.org>
-Date: Tue Jun 18 20:50:49 2013 +0200
+Date: Tue Jun 18 20:50:49 2013 +0200
Make it build with autotools
poppler/ArthurOutputDev.cc | 816
------------------------------------------
poppler/ArthurOutputDev.h | 170 ---------
- poppler/Makefile.am | 23 +-
+ poppler/Makefile.am | 23 +-
qt4/src/ArthurOutputDev.cc | 816
++++++++++++++++++++++++++++++++++++++++++
qt4/src/ArthurOutputDev.h | 170 +++++++++
qt4/src/CMakeLists.txt | 2 +-
- qt4/src/Makefile.am | 5 +-
+ qt4/src/Makefile.am | 5 +-
qt5/src/ArthurOutputDev.cc | 816
++++++++++++++++++++++++++++++++++++++++++
qt5/src/ArthurOutputDev.h | 170 +++++++++
qt5/src/CMakeLists.txt | 2 +-
- qt5/src/Makefile.am | 5 +-
+ qt5/src/Makefile.am | 5 +-
qt5/src/poppler-optcontent.cc | 2 +
12 files changed, 1983 insertions(+), 1014 deletions(-)
commit 93a1c2b768cc419c5bf9b3033bf85fb21326a65a
Author: Albert Astals Cid <aacid@kde.org>
-Date: Tue Jun 18 00:33:38 2013 +0200
+Date: Tue Jun 18 00:33:38 2013 +0200
If qmake gives us a Qt5 qmake try with qmake4 and qmake-qt4
@@ -873,7 +5029,7 @@ Date: Tue Jun 18 00:33:38 2013 +0200
commit 7cc33a752ef864b595748ce7724ba553a8e3ba8e
Author: Albert Astals Cid <aacid@kde.org>
-Date: Mon Jun 17 22:57:56 2013 +0200
+Date: Mon Jun 17 22:57:56 2013 +0200
We are not compiling an executable
@@ -882,17 +5038,17 @@ Date: Mon Jun 17 22:57:56 2013 +0200
commit 87cfcd41e8e970186c6ce753aa660ef86aca8878
Author: Granger Anthony <grangeranthony@gmail.com>
-Date: Mon Jun 17 09:17:51 2013 +0200
+Date: Mon Jun 17 09:17:51 2013 +0200
Allow to enable Qt5 support only with CMake >= 2.8.8
- CMakeLists.txt | 26 ++++++++++++++++----------
+ CMakeLists.txt | 26 ++++++++++++++++----------
qt5/tests/CMakeLists.txt | 1 -
2 files changed, 16 insertions(+), 11 deletions(-)
commit b44c70f04758000cf0e049b06cc7864287570f7b
Author: Albert Astals Cid <aacid@kde.org>
-Date: Mon Jun 17 22:10:05 2013 +0200
+Date: Mon Jun 17 22:10:05 2013 +0200
Bring PIC back to the toplevel, still have linking errors tohugh :-/
@@ -901,7 +5057,7 @@ Date: Mon Jun 17 22:10:05 2013 +0200
commit be49073f5ce79f56b38197758a5cf1253b972306
Author: Albert Astals Cid <aacid@kde.org>
-Date: Mon Jun 17 21:50:31 2013 +0200
+Date: Mon Jun 17 21:50:31 2013 +0200
Use qtchooser if available
@@ -910,7 +5066,7 @@ Date: Mon Jun 17 21:50:31 2013 +0200
commit b1958228d4bc6793a3606b5e31c61a57b9fac9f5
Author: Albert Astals Cid <aacid@kde.org>
-Date: Mon Jun 17 20:21:08 2013 +0200
+Date: Mon Jun 17 20:21:08 2013 +0200
No distro ships moc-qt5 but make it work in case someone would
@@ -919,41 +5075,41 @@ Date: Mon Jun 17 20:21:08 2013 +0200
commit 06f45c7177afc67e02985be1a97cd976c530c4ae
Author: Albert Astals Cid <aacid@kde.org>
-Date: Mon Jun 17 20:04:49 2013 +0200
+Date: Mon Jun 17 20:04:49 2013 +0200
Build fixes
Fix moc when moc-qt4 is qt4 moc but moc is qt5 one
Do not add -fPIE everywhere, just -fPIC to qt5
- configure.ac | 10 ++++++----
- qt5/src/Makefile.am | 2 +-
+ configure.ac | 10 ++++++----
+ qt5/src/Makefile.am | 2 +-
2 files changed, 7 insertions(+), 5 deletions(-)
commit cb617c21fba727781f46278f5475b91d528a488b
Author: Albert Astals Cid <aacid@kde.org>
-Date: Mon Jun 17 18:12:18 2013 +0200
+Date: Mon Jun 17 18:12:18 2013 +0200
Files i forgot
poppler-qt5-uninstalled.pc.in | 7 +++++++
- poppler-qt5.pc.cmake | 13 +++++++++++++
- poppler-qt5.pc.in | 13 +++++++++++++
+ poppler-qt5.pc.cmake | 13 +++++++++++++
+ poppler-qt5.pc.in | 13 +++++++++++++
3 files changed, 33 insertions(+)
commit 5c521bba427eb163e4b77d936865fbdd0e07faf3
Author: Albert Astals Cid <aacid@kde.org>
-Date: Mon Jun 17 18:12:07 2013 +0200
+Date: Mon Jun 17 18:12:07 2013 +0200
soversion 1
qt5/src/CMakeLists.txt | 2 +-
- qt5/src/Makefile.am | 2 +-
+ qt5/src/Makefile.am | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
commit 43786964946b4f4c005a0526e16fead3ffa6ba4a
Author: Albert Astals Cid <aacid@kde.org>
-Date: Mon Jun 17 00:23:31 2013 +0200
+Date: Mon Jun 17 00:23:31 2013 +0200
harmonize spaces
@@ -962,23 +5118,23 @@ Date: Mon Jun 17 00:23:31 2013 +0200
commit 2e2ea27fe3dc688c87003d170b82451a6a872b0d
Author: Albert Astals Cid <aacid@kde.org>
-Date: Mon Jun 17 00:22:18 2013 +0200
+Date: Mon Jun 17 00:22:18 2013 +0200
Remove qt4 mentions
- qt5/src/poppler-converter-private.h | 6 +++---
+ qt5/src/poppler-converter-private.h | 6 +++---
qt5/src/poppler-embeddedfile-private.h | 2 +-
- qt5/src/poppler-form.cc | 2 +-
- qt5/src/poppler-form.h | 6 +++---
- qt5/src/poppler-pdf-converter.cc | 2 +-
- qt5/src/poppler-private.cc | 4 ++--
- qt5/src/poppler-private.h | 2 +-
- qt5/src/poppler-qt5.h | 2 +-
+ qt5/src/poppler-form.cc | 2 +-
+ qt5/src/poppler-form.h | 6 +++---
+ qt5/src/poppler-pdf-converter.cc | 2 +-
+ qt5/src/poppler-private.cc | 4 ++--
+ qt5/src/poppler-private.h | 2 +-
+ qt5/src/poppler-qt5.h | 2 +-
8 files changed, 13 insertions(+), 13 deletions(-)
commit e2264ce82af3e971e34930f5307b7c9b43a1e346
Author: Albert Astals Cid <aacid@kde.org>
-Date: Mon Jun 17 00:19:27 2013 +0200
+Date: Mon Jun 17 00:19:27 2013 +0200
remove deprecated stuff
@@ -988,7 +5144,7 @@ Date: Mon Jun 17 00:19:27 2013 +0200
qt5/src/poppler-link.cc | 5 --
qt5/src/poppler-link.h | 10 ----
qt5/src/poppler-page.cc | 18 -------
- qt5/src/poppler-qt5.h | 41 ----------------
+ qt5/src/poppler-qt5.h | 41 ----------------
qt5/tests/check_fonts.cpp | 21 ++-------
qt5/tests/check_metadata.cpp | 1 -
qt5/tests/check_search.cpp | 107
@@ -997,7 +5153,7 @@ Date: Mon Jun 17 00:19:27 2013 +0200
commit 21808e203eed46e379954b58b7014998b3836573
Author: Albert Astals Cid <aacid@kde.org>
-Date: Mon Jun 17 00:03:45 2013 +0200
+Date: Mon Jun 17 00:03:45 2013 +0200
remove commented stuff
@@ -1006,122 +5162,122 @@ Date: Mon Jun 17 00:03:45 2013 +0200
commit 16e7033f18a8da8e27aaed6f63cce156abf8837a
Author: Albert Astals Cid <aacid@kde.org>
-Date: Mon Jun 17 00:01:27 2013 +0200
+Date: Mon Jun 17 00:01:27 2013 +0200
Initial Qt5 port
- CMakeLists.txt | 20 +
- Makefile.am | 18 +-
- configure.ac | 66 +-
- qt5/.gitignore | 4 +
- qt5/CMakeLists.txt | 3 +
- qt5/Makefile.am | 1 +
- qt5/demos/.gitignore | 4 +
- qt5/demos/CMakeLists.txt | 38 +
- qt5/demos/Makefile.am | 67 +
- qt5/demos/abstractinfodock.cpp | 57 +
- qt5/demos/abstractinfodock.h | 48 +
- qt5/demos/documentobserver.cpp | 50 +
- qt5/demos/documentobserver.h | 50 +
- qt5/demos/embeddedfiles.cpp | 82 +
- qt5/demos/embeddedfiles.h | 44 +
- qt5/demos/fonts.cpp | 72 +
- qt5/demos/fonts.h | 43 +
- qt5/demos/info.cpp | 72 +
- qt5/demos/info.h | 43 +
- qt5/demos/main_viewer.cpp | 33 +
- qt5/demos/metadata.cpp | 50 +
- qt5/demos/metadata.h | 43 +
- qt5/demos/navigationtoolbar.cpp | 129 +
- qt5/demos/navigationtoolbar.h | 61 +
- qt5/demos/optcontent.cpp | 69 +
- qt5/demos/optcontent.h | 47 +
- qt5/demos/pageview.cpp | 79 +
- qt5/demos/pageview.h | 50 +
- qt5/demos/permissions.cpp | 66 +
- qt5/demos/permissions.h | 43 +
- qt5/demos/thumbnails.cpp | 84 +
- qt5/demos/thumbnails.h | 48 +
- qt5/demos/toc.cpp | 88 +
- qt5/demos/toc.h | 43 +
- qt5/demos/viewer.cpp | 317 ++
- qt5/demos/viewer.h | 73 +
- qt5/src/.gitignore | 9 +
- qt5/src/CMakeLists.txt | 54 +
- qt5/src/Doxyfile | 1637 ++++++++++
- qt5/src/Mainpage.dox | 85 +
- qt5/src/Makefile.am | 73 +
- qt5/src/poppler-annotation-helper.h | 198 ++
- qt5/src/poppler-annotation-private.h | 111 +
- qt5/src/poppler-annotation.cc | 4394
+ CMakeLists.txt | 20 +
+ Makefile.am | 18 +-
+ configure.ac | 66 +-
+ qt5/.gitignore | 4 +
+ qt5/CMakeLists.txt | 3 +
+ qt5/Makefile.am | 1 +
+ qt5/demos/.gitignore | 4 +
+ qt5/demos/CMakeLists.txt | 38 +
+ qt5/demos/Makefile.am | 67 +
+ qt5/demos/abstractinfodock.cpp | 57 +
+ qt5/demos/abstractinfodock.h | 48 +
+ qt5/demos/documentobserver.cpp | 50 +
+ qt5/demos/documentobserver.h | 50 +
+ qt5/demos/embeddedfiles.cpp | 82 +
+ qt5/demos/embeddedfiles.h | 44 +
+ qt5/demos/fonts.cpp | 72 +
+ qt5/demos/fonts.h | 43 +
+ qt5/demos/info.cpp | 72 +
+ qt5/demos/info.h | 43 +
+ qt5/demos/main_viewer.cpp | 33 +
+ qt5/demos/metadata.cpp | 50 +
+ qt5/demos/metadata.h | 43 +
+ qt5/demos/navigationtoolbar.cpp | 129 +
+ qt5/demos/navigationtoolbar.h | 61 +
+ qt5/demos/optcontent.cpp | 69 +
+ qt5/demos/optcontent.h | 47 +
+ qt5/demos/pageview.cpp | 79 +
+ qt5/demos/pageview.h | 50 +
+ qt5/demos/permissions.cpp | 66 +
+ qt5/demos/permissions.h | 43 +
+ qt5/demos/thumbnails.cpp | 84 +
+ qt5/demos/thumbnails.h | 48 +
+ qt5/demos/toc.cpp | 88 +
+ qt5/demos/toc.h | 43 +
+ qt5/demos/viewer.cpp | 317 ++
+ qt5/demos/viewer.h | 73 +
+ qt5/src/.gitignore | 9 +
+ qt5/src/CMakeLists.txt | 54 +
+ qt5/src/Doxyfile | 1637 ++++++++++
+ qt5/src/Mainpage.dox | 85 +
+ qt5/src/Makefile.am | 73 +
+ qt5/src/poppler-annotation-helper.h | 198 ++
+ qt5/src/poppler-annotation-private.h | 111 +
+ qt5/src/poppler-annotation.cc | 4394
++++++++++++++++++++++++++
- qt5/src/poppler-annotation.h | 921 ++++++
- qt5/src/poppler-base-converter.cc | 105 +
- qt5/src/poppler-converter-private.h | 49 +
- qt5/src/poppler-document.cc | 679 ++++
+ qt5/src/poppler-annotation.h | 921 ++++++
+ qt5/src/poppler-base-converter.cc | 105 +
+ qt5/src/poppler-converter-private.h | 49 +
+ qt5/src/poppler-document.cc | 679 ++++
qt5/src/poppler-embeddedfile-private.h | 42 +
- qt5/src/poppler-embeddedfile.cc | 135 +
- qt5/src/poppler-export.h | 17 +
- qt5/src/poppler-fontinfo.cc | 149 +
- qt5/src/poppler-form.cc | 416 +++
- qt5/src/poppler-form.h | 343 ++
+ qt5/src/poppler-embeddedfile.cc | 135 +
+ qt5/src/poppler-export.h | 17 +
+ qt5/src/poppler-fontinfo.cc | 149 +
+ qt5/src/poppler-form.cc | 416 +++
+ qt5/src/poppler-form.h | 343 ++
qt5/src/poppler-link-extractor-private.h | 57 +
- qt5/src/poppler-link-extractor.cc | 84 +
- qt5/src/poppler-link.cc | 711 +++++
- qt5/src/poppler-link.h | 612 ++++
- qt5/src/poppler-media.cc | 168 +
- qt5/src/poppler-media.h | 100 +
- qt5/src/poppler-movie.cc | 110 +
- qt5/src/poppler-optcontent-private.h | 121 +
- qt5/src/poppler-optcontent.cc | 427 +++
- qt5/src/poppler-optcontent.h | 77 +
- qt5/src/poppler-page-private.h | 54 +
+ qt5/src/poppler-link-extractor.cc | 84 +
+ qt5/src/poppler-link.cc | 711 +++++
+ qt5/src/poppler-link.h | 612 ++++
+ qt5/src/poppler-media.cc | 168 +
+ qt5/src/poppler-media.h | 100 +
+ qt5/src/poppler-movie.cc | 110 +
+ qt5/src/poppler-optcontent-private.h | 121 +
+ qt5/src/poppler-optcontent.cc | 427 +++
+ qt5/src/poppler-optcontent.h | 77 +
+ qt5/src/poppler-page-private.h | 54 +
qt5/src/poppler-page-transition-private.h | 28 +
- qt5/src/poppler-page-transition.cc | 95 +
- qt5/src/poppler-page-transition.h | 148 +
- qt5/src/poppler-page.cc | 744 +++++
- qt5/src/poppler-pdf-converter.cc | 115 +
- qt5/src/poppler-private.cc | 292 ++
- qt5/src/poppler-private.h | 240 ++
- qt5/src/poppler-ps-converter.cc | 273 ++
+ qt5/src/poppler-page-transition.cc | 95 +
+ qt5/src/poppler-page-transition.h | 148 +
+ qt5/src/poppler-page.cc | 744 +++++
+ qt5/src/poppler-pdf-converter.cc | 115 +
+ qt5/src/poppler-private.cc | 292 ++
+ qt5/src/poppler-private.h | 240 ++
+ qt5/src/poppler-ps-converter.cc | 273 ++
qt5/src/poppler-qiodeviceoutstream-private.h | 47 +
- qt5/src/poppler-qiodeviceoutstream.cc | 64 +
- qt5/src/poppler-qt5.h | 1812 +++++++++++
- qt5/src/poppler-sound.cc | 132 +
- qt5/src/poppler-textbox.cc | 63 +
- qt5/tests/.gitignore | 30 +
- qt5/tests/CMakeLists.txt | 75 +
- qt5/tests/Makefile.am | 152 +
- qt5/tests/README.unittest | 23 +
- qt5/tests/check_actualtext.cpp | 33 +
- qt5/tests/check_attachments.cpp | 157 +
- qt5/tests/check_dateConversion.cpp | 142 +
- qt5/tests/check_fonts.cpp | 248 ++
- qt5/tests/check_goostring.cpp | 61 +
- qt5/tests/check_lexer.cpp | 128 +
- qt5/tests/check_links.cpp | 96 +
- qt5/tests/check_metadata.cpp | 275 ++
- qt5/tests/check_optcontent.cpp | 484 +++
- qt5/tests/check_pagelabelinfo.cpp | 43 +
- qt5/tests/check_pagelayout.cpp | 49 +
- qt5/tests/check_pagemode.cpp | 73 +
- qt5/tests/check_password.cpp | 88 +
- qt5/tests/check_permissions.cpp | 44 +
- qt5/tests/check_search.cpp | 91 +
- qt5/tests/check_strings.cpp | 250 ++
- qt5/tests/poppler-attachments.cpp | 39 +
- qt5/tests/poppler-fonts.cpp | 89 +
- qt5/tests/poppler-forms.cpp | 166 +
- qt5/tests/poppler-texts.cpp | 40 +
- qt5/tests/stress-poppler-dir.cpp | 67 +
- qt5/tests/stress-poppler-qt5.cpp | 74 +
- qt5/tests/test-password-qt5.cpp | 136 +
- qt5/tests/test-poppler-qt5.cpp | 235 ++
+ qt5/src/poppler-qiodeviceoutstream.cc | 64 +
+ qt5/src/poppler-qt5.h | 1812 +++++++++++
+ qt5/src/poppler-sound.cc | 132 +
+ qt5/src/poppler-textbox.cc | 63 +
+ qt5/tests/.gitignore | 30 +
+ qt5/tests/CMakeLists.txt | 75 +
+ qt5/tests/Makefile.am | 152 +
+ qt5/tests/README.unittest | 23 +
+ qt5/tests/check_actualtext.cpp | 33 +
+ qt5/tests/check_attachments.cpp | 157 +
+ qt5/tests/check_dateConversion.cpp | 142 +
+ qt5/tests/check_fonts.cpp | 248 ++
+ qt5/tests/check_goostring.cpp | 61 +
+ qt5/tests/check_lexer.cpp | 128 +
+ qt5/tests/check_links.cpp | 96 +
+ qt5/tests/check_metadata.cpp | 275 ++
+ qt5/tests/check_optcontent.cpp | 484 +++
+ qt5/tests/check_pagelabelinfo.cpp | 43 +
+ qt5/tests/check_pagelayout.cpp | 49 +
+ qt5/tests/check_pagemode.cpp | 73 +
+ qt5/tests/check_password.cpp | 88 +
+ qt5/tests/check_permissions.cpp | 44 +
+ qt5/tests/check_search.cpp | 91 +
+ qt5/tests/check_strings.cpp | 250 ++
+ qt5/tests/poppler-attachments.cpp | 39 +
+ qt5/tests/poppler-fonts.cpp | 89 +
+ qt5/tests/poppler-forms.cpp | 166 +
+ qt5/tests/poppler-texts.cpp | 40 +
+ qt5/tests/stress-poppler-dir.cpp | 67 +
+ qt5/tests/stress-poppler-qt5.cpp | 74 +
+ qt5/tests/test-password-qt5.cpp | 136 +
+ qt5/tests/test-poppler-qt5.cpp | 235 ++
106 files changed, 21480 insertions(+), 4 deletions(-)
commit 714ee1e61d853394818dca7155b1b882408ffc6a
Author: Albert Astals Cid <aacid@kde.org>
-Date: Sun Jun 16 19:00:01 2013 +0200
+Date: Sun Jun 16 19:00:01 2013 +0200
Pass down the recursion param
@@ -1132,7 +5288,7 @@ Date: Sun Jun 16 19:00:01 2013 +0200
commit 1f3e3828b9a57e044b86640b9bf9ad2437cc5656
Author: Albert Astals Cid <aacid@kde.org>
-Date: Sat Jun 15 17:21:36 2013 +0200
+Date: Sat Jun 15 17:21:36 2013 +0200
Add quotes since use_cairo can have spaces
@@ -1143,7 +5299,7 @@ Date: Sat Jun 15 17:21:36 2013 +0200
commit fe3ffab19d54326052fd0ff8ee3ee1feb9fa928c
Author: Adam Reichold <adamreichold@myopera.com>
-Date: Tue Jun 11 23:08:07 2013 +0200
+Date: Tue Jun 11 23:08:07 2013 +0200
Windows compile fixes
@@ -1152,33 +5308,33 @@ Date: Tue Jun 11 23:08:07 2013 +0200
commit 99908cb0c8a784791ffa0682c8f105acdef0d5ab
Author: Peter Breitenlohner <peb@mppmu.mpg.de>
-Date: Tue Jun 11 10:02:01 2013 +0200
+Date: Tue Jun 11 10:02:01 2013 +0200
MinGW32 may or may not define __MINGW_PRINTF_FORMAT
Moreover __USE_MINGW_ANSI_STDIO might be defined as 0
poppler/poppler-config.h.cmake | 2 +-
- poppler/poppler-config.h.in | 2 +-
+ poppler/poppler-config.h.in | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
commit 0673f3d8024554c414f578e0770086f475e6a605
Author: Albert Astals Cid <aacid@kde.org>
-Date: Tue Jun 11 00:19:19 2013 +0200
+Date: Tue Jun 11 00:19:19 2013 +0200
0.23.2
- CMakeLists.txt | 4 ++--
- NEWS | 12 ++++++++++++
- configure.ac | 2 +-
- cpp/Doxyfile | 2 +-
- poppler/Makefile.am | 2 +-
- qt4/src/Doxyfile | 2 +-
+ CMakeLists.txt | 4 ++--
+ NEWS | 12 ++++++++++++
+ configure.ac | 2 +-
+ cpp/Doxyfile | 2 +-
+ poppler/Makefile.am | 2 +-
+ qt4/src/Doxyfile | 2 +-
6 files changed, 18 insertions(+), 6 deletions(-)
commit 7f1bf8d94302c15a2ff68debfb6fba49df526d16
Author: Christoph Duelli <duelli@melosgmbh.de>
-Date: Thu May 16 16:16:32 2013 +0200
+Date: Thu May 16 16:16:32 2013 +0200
Do not pollute global namespace with internal classes
@@ -1190,7 +5346,7 @@ Date: Thu May 16 16:16:32 2013 +0200
commit 07992075a6d1d29db57f997f67d5a4a6deacbbb4
Merge: 4a0bd6f 25f453e
Author: Albert Astals Cid <aacid@kde.org>
-Date: Sun Jun 9 12:17:53 2013 +0200
+Date: Sun Jun 9 12:17:53 2013 +0200
Merge remote-tracking branch 'origin/poppler-0.22'
diff --git a/Makefile.in b/Makefile.in
index 3ae3732b..d53557fd 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.13.3 from Makefile.am.
+# Makefile.in generated by automake 1.14.1 from Makefile.am.
# @configure_input@
# Copyright (C) 1994-2013 Free Software Foundation, Inc.
@@ -95,8 +95,8 @@ DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
$(srcdir)/poppler-qt5-uninstalled.pc.in \
$(srcdir)/poppler-cpp.pc.in \
$(srcdir)/poppler-cpp-uninstalled.pc.in AUTHORS COPYING \
- ChangeLog INSTALL NEWS README TODO config.guess config.sub \
- depcomp install-sh missing ltmain.sh
+ ChangeLog INSTALL NEWS README TODO compile config.guess \
+ config.sub depcomp install-sh missing ltmain.sh
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/m4/ax_pthread.m4 \
$(top_srcdir)/m4/define-dir.m4 $(top_srcdir)/m4/gtk-doc.m4 \
@@ -292,6 +292,7 @@ GLIB_REQ = @GLIB_REQ@
GLIB_REQUIRED = @GLIB_REQUIRED@
GREP = @GREP@
GTKDOC_CHECK = @GTKDOC_CHECK@
+GTKDOC_CHECK_PATH = @GTKDOC_CHECK_PATH@
GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
GTKDOC_MKPDF = @GTKDOC_MKPDF@
@@ -328,7 +329,6 @@ LIBPNG_CFLAGS = @LIBPNG_CFLAGS@
LIBPNG_LIBS = @LIBPNG_LIBS@
LIBS = @LIBS@
LIBTIFF_CFLAGS = @LIBTIFF_CFLAGS@
-LIBTIFF_CFLAGSS = @LIBTIFF_CFLAGSS@
LIBTIFF_LIBS = @LIBTIFF_LIBS@
LIBTOOL = @LIBTOOL@
LIPO = @LIPO@
@@ -559,8 +559,8 @@ $(ACLOCAL_M4): $(am__aclocal_m4_deps)
$(am__aclocal_m4_deps):
config.h: stamp-h1
- @if test ! -f $@; then rm -f stamp-h1; else :; fi
- @if test ! -f $@; then $(MAKE) $(AM_MAKEFLAGS) stamp-h1; else :; fi
+ @test -f $@ || rm -f stamp-h1
+ @test -f $@ || $(MAKE) $(AM_MAKEFLAGS) stamp-h1
stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status
@rm -f stamp-h1
@@ -818,10 +818,16 @@ dist-xz: distdir
$(am__post_remove_distdir)
dist-tarZ: distdir
+ @echo WARNING: "Support for shar distribution archives is" \
+ "deprecated." >&2
+ @echo WARNING: "It will be removed altogether in Automake 2.0" >&2
tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z
$(am__post_remove_distdir)
dist-shar: distdir
+ @echo WARNING: "Support for distribution archives compressed with" \
+ "legacy program 'compress' is deprecated." >&2
+ @echo WARNING: "It will be removed altogether in Automake 2.0" >&2
shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz
$(am__post_remove_distdir)
@@ -863,9 +869,10 @@ distcheck: dist
&& dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \
&& am__cwd=`pwd` \
&& $(am__cd) $(distdir)/_build \
- && ../configure --srcdir=.. --prefix="$$dc_install_base" \
+ && ../configure \
$(AM_DISTCHECK_CONFIGURE_FLAGS) \
$(DISTCHECK_CONFIGURE_FLAGS) \
+ --srcdir=.. --prefix="$$dc_install_base" \
&& $(MAKE) $(AM_MAKEFLAGS) \
&& $(MAKE) $(AM_MAKEFLAGS) dvi \
&& $(MAKE) $(AM_MAKEFLAGS) check \
diff --git a/NEWS b/NEWS
index e1f7cfe4..7f9822f8 100644
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,231 @@
+Release 0.26.5
+ core:
+ * Fix rendering of broken file with a wrong embedded font. Bug #84270
+
+ glib:
+ * Fix use of uninitialized members in PopplerInputStream. Bug #82630
+
+Release 0.26.4
+ core:
+ * CairoOutputDev: Make sure we always push a transparency group in setSoftMaskFromImageMask(). Bug #81624
+ * Fix a crash when adding Annotation without contents
+ * Improve non-latin characters in inline notes. Bug #65956
+ * Don't check for inlineImg twice. Bug #82059
+ * printf() -> error()
+
+ glib:
+ * Return NULL in poppler_annot_get_contents also for empty strings
+ * Fix a memory leak when getting text layout and attributes
+
+Release 0.26.3
+ qt5:
+ * autoconf: Improve moc-qt5 detection
+ * Fix compilation with MinGW
+
+ glib:
+ * Fix typo in api docs
+ * use C90-style comments in public headers
+
+ core:
+ * Error out instead of exiting if allInter grows too much. Bug #78714
+
+ qt4:
+ * Update required version to Qt 4.7.0
+
+ build system:
+ * Include stdio.h from poppler-config.h
+
+ misc:
+ * Update .gitignore files
+
+Release 0.26.2
+ core:
+ * Make sure we have an xref before using. KDE Bug #335413
+
+ build system:
+ * autoconf: Fix typo in configure.ac
+
+ utils:
+ * pdftohtml: exit with 0 with -v and -h
+
+Release 0.26.1
+ core:
+ * Use field value V for radio buttons. Bug #75979
+ * Fix extraction of text in some files. Bug #78145
+ * Only add annotations of the current page when splitting. Bug #77549
+
+ build system:
+ * autoconf: Fix libopenjpeg 1.5 detection on some systems. Bug #78389
+
+ glib:
+ * Fix multiple definition of PopplerTextSpan
+
+Release 0.26.0
+ qt4:
+ * Fix mismatched boolean logic in TextAnnotation::setInplaceIntent
+
+ qt5:
+ * Fix mismatched boolean logic in TextAnnotation::setInplaceIntent
+
+ core:
+ * Very small code cleanup
+
+ cpp:
+ * Very small code cleanup
+
+Release 0.25.3
+ core:
+ * Fix crashes on broken files
+ * Avoid MinGW/Cygwin warnings due to redefinition of NOMINMAX
+ * Fix some small memory leaks
+
+ qt5:
+ * Fix some kinds of OCG models
+ * Cleanup some deprecated methods
+
+ glib:
+ * Fix the first coord of the quadrilateral in create_poppler_quads_from_annot_quads(). Bug #76504
+
+ utils:
+ * pdftohtml: Fix typo in manpage
+
+ qt4:
+ * Fix some kinds of OCG models
+
+Release 0.25.2
+ core:
+ * Tagged-PDF support
+ * Open some broken files. Bug #75232
+ * Fix crashes on broken files
+ * Fix regression parsing some broken files. KDE Bug #329600
+ * Improve compilation under Win 8 with Visual Studio 2012. Bug #73111
+ * PSOutputDev: Ensure paper size takes into account rotation. Bug #72312
+ * PSOutputDev: Fix DocumentMedia/Page/Media/PageBBox DSC comments
+ * PSOutputDev: Use crop box as page size
+ * PSOutputDev: Remove origpagesizes mode and make -origpagesizes an alias for -paper match
+ * PSOutputDev: Only change paper size when different to previous size
+ * PSOutputDev: Ensure there is always a page size in the output
+ * PSOutputDev: Fix regression when creating level1 PS. Bug #75241
+ * CairoOutputDev: Clip to crop box. Gnome Bug #649886
+ * Splash: Blend usage in PDF with spot colors casue random output. Bug #74883
+ * Splash: Fix off by one that caused crash in a file. Bug #76387
+ * Make sure number of least objects in hints table is valid. Bug #74741
+ * Limit numeric parsing of character names. Bug #38456
+
+ glib:
+ * Tagged-PDF support
+ * Annotation improvements
+ * Install error callback. Bug #73269
+ * Fix gobject-introspection warnings
+ * demo: Fix performance in text markup annotations
+ * Increase gtk3 dependency
+
+ qt4:
+ * Improve naming of internal export/import macros
+ * Add GCC visibility export attributes
+ * Expose document-supplied text direction
+
+ qt5:
+ * Improve naming of internal export/import macros
+ * Add GCC visibility export attributes
+ * Expose document-supplied text direction
+
+ utils:
+ * pdftocairo: Ensure page size and crop box works the same as pdftops
+ * Fix TIFF writting in Windows. Bug #75969
+
+ buildsystem:
+ * Learn about automake 1.14
+ * Do not define -ansi. Bug #72499
+ * cmake: Install JpegWriter.h depending on libjpeg
+ * cmake: Use c99 for the c compiler
+
+Release 0.25.1
+ core:
+ * GooString format: Added some tests + improved documentation
+ * GooString format: fixed bug with printing LLONG_MIN
+ * regression test improvements
+
+ qt4:
+ * Arthur backend font rendering improvements
+ * test program to save to file
+
+ qt5:
+ * Arthur backend font rendering improvements
+ * Improve detection of Qt5 moc. Bug #72744
+ * test program to save to file
+
+ utils:
+ * pdfunite: Work even if there's a single file given
+ * pdfunite: do not lose fonts when merging some files
+
+Release 0.25.0
+ core:
+ * Annotation improvements
+ * Tagged PDF work
+ * Improve speed on some files using ICC color space
+ * Use ICC profile in OutputIntents. Bug #34053
+ * Limit use of ZapfDingbats character names. Bug #60243
+ * Splash: correction for knockout transparency groups
+ * regression test improvements
+
+ utils:
+ * pdftoppm: Added thinlinemode option setting
+ * pdfinfo: Indicate if pdf contains javascript
+ * pdfinfo: Add option to print out javascript
+ * pdfimages: Print size, ratio, and ppi
+ * pdfimages: More image output format support
+ * pdfseparate: allow zero-padded pagespecs
+
+ glib:
+ * Annotation improvements
+ * Add API to get text, text layout and text attributes for a given area
+ * demo improvements
+
+Release 0.24.5
+ core:
+ * Fix crash due to wrong formatting of error message. KDE Bug #328511
+
+Release 0.24.4
+ core:
+ * Fix regression in broken endstream detection. Bug #70854
+ * Catalog: sort entries of NameTrees to make sure lookup works. Bug #26049
+ * Don't infinite loop if reading from GooFile::read fails. Bug #71835
+
+ utils:
+ * pdftotext: Do not close stdout. Bug #71639
+ * pdftotext: Silence warning for may be used uninitialized variable. Bug #71640
+ * pdftotext: Escape the text of the xml headers
+ * Warn the user if he provides a wrong range
+
+ qt4:
+ * Fix typo in xml API. Bug #71643
+
+ qt5:
+ * Fix typo in xml API. Bug #71643
+
+Release 0.24.3
+ core:
+ * PSOutputDev: Fix PFB font embedding. Bug #69717
+ * CairoOutputDev: Do not set an invalid matrix in drawImage(). Bug #70085
+
+ qt4:
+ * Don't crash if getXRef()->copy() fails
+
+ qt5:
+ * Don't crash if getXRef()->copy() fails
+
+ utils:
+ * pdfseparate: Allow only one %d in the filename. Bug #69434
+
+Release 0.24.2
+ core:
+ * Windows: Fix CreateFile fails with ERROR_SHARING_VIOLATION. Bug #69597
+
+ utils:
+ * pdfseparate: improve the path building
+ * pdftocairo: check file opening failure in beginDocument()
+
Release 0.24.1
core:
* SplashOutputDev: use getRGBLine images if available. Bug #66928
diff --git a/aclocal.m4 b/aclocal.m4
index 21796860..dad3a17b 100644
--- a/aclocal.m4
+++ b/aclocal.m4
@@ -1,4 +1,4 @@
-# generated automatically by aclocal 1.13.3 -*- Autoconf -*-
+# generated automatically by aclocal 1.14.1 -*- Autoconf -*-
# Copyright (C) 1996-2013 Free Software Foundation, Inc.
@@ -20,8 +20,8 @@ You have another version of autoconf. It may work, but is not guaranteed to.
If you have problems, you may need to regenerate the build system entirely.
To do so, use the procedure documented by the package, typically 'autoreconf'.])])
-# lib-link.m4 serial 21 (gettext-0.18)
-dnl Copyright (C) 2001-2010 Free Software Foundation, Inc.
+# lib-link.m4 serial 26 (gettext-0.18.2)
+dnl Copyright (C) 2001-2014 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
@@ -40,9 +40,9 @@ AC_DEFUN([AC_LIB_LINKFLAGS],
[
AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
AC_REQUIRE([AC_LIB_RPATH])
- pushdef([Name],[translit([$1],[./-], [___])])
- pushdef([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-],
- [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])
+ pushdef([Name],[m4_translit([$1],[./+-], [____])])
+ pushdef([NAME],[m4_translit([$1],[abcdefghijklmnopqrstuvwxyz./+-],
+ [ABCDEFGHIJKLMNOPQRSTUVWXYZ____])])
AC_CACHE_CHECK([how to link with lib[]$1], [ac_cv_lib[]Name[]_libs], [
AC_LIB_LINKFLAGS_BODY([$1], [$2])
ac_cv_lib[]Name[]_libs="$LIB[]NAME"
@@ -80,9 +80,9 @@ AC_DEFUN([AC_LIB_HAVE_LINKFLAGS],
[
AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
AC_REQUIRE([AC_LIB_RPATH])
- pushdef([Name],[translit([$1],[./-], [___])])
- pushdef([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-],
- [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])
+ pushdef([Name],[m4_translit([$1],[./+-], [____])])
+ pushdef([NAME],[m4_translit([$1],[abcdefghijklmnopqrstuvwxyz./+-],
+ [ABCDEFGHIJKLMNOPQRSTUVWXYZ____])])
dnl Search for lib[]Name and define LIB[]NAME, LTLIB[]NAME and INC[]NAME
dnl accordingly.
@@ -107,7 +107,8 @@ AC_DEFUN([AC_LIB_HAVE_LINKFLAGS],
*" -l"*) LIBS="$LIBS $LIB[]NAME" ;;
*) LIBS="$LIB[]NAME $LIBS" ;;
esac
- AC_TRY_LINK([$3], [$4],
+ AC_LINK_IFELSE(
+ [AC_LANG_PROGRAM([[$3]], [[$4]])],
[ac_cv_lib[]Name=yes],
[ac_cv_lib[]Name='m4_if([$5], [], [no], [[$5]])'])
LIBS="$ac_save_LIBS"
@@ -137,6 +138,8 @@ AC_DEFUN([AC_LIB_HAVE_LINKFLAGS],
dnl Determine the platform dependent parameters needed to use rpath:
dnl acl_libext,
dnl acl_shlibext,
+dnl acl_libname_spec,
+dnl acl_library_names_spec,
dnl acl_hardcode_libdir_flag_spec,
dnl acl_hardcode_libdir_separator,
dnl acl_hardcode_direct,
@@ -179,15 +182,15 @@ dnl package. This declaration must occur before an AC_LIB_LINKFLAGS or similar
dnl macro call that searches for libname.
AC_DEFUN([AC_LIB_FROMPACKAGE],
[
- pushdef([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-],
- [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])
+ pushdef([NAME],[m4_translit([$1],[abcdefghijklmnopqrstuvwxyz./+-],
+ [ABCDEFGHIJKLMNOPQRSTUVWXYZ____])])
define([acl_frompackage_]NAME, [$2])
popdef([NAME])
pushdef([PACK],[$2])
- pushdef([PACKUP],[translit(PACK,[abcdefghijklmnopqrstuvwxyz./-],
- [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])
+ pushdef([PACKUP],[m4_translit(PACK,[abcdefghijklmnopqrstuvwxyz./+-],
+ [ABCDEFGHIJKLMNOPQRSTUVWXYZ____])])
define([acl_libsinpackage_]PACKUP,
- m4_ifdef([acl_libsinpackage_]PACKUP, [acl_libsinpackage_]PACKUP[[, ]],)[lib$1])
+ m4_ifdef([acl_libsinpackage_]PACKUP, [m4_defn([acl_libsinpackage_]PACKUP)[, ]],)[lib$1])
popdef([PACKUP])
popdef([PACK])
])
@@ -200,14 +203,14 @@ dnl in ${LIB${NAME}_PREFIX}/$acl_libdirstem.
AC_DEFUN([AC_LIB_LINKFLAGS_BODY],
[
AC_REQUIRE([AC_LIB_PREPARE_MULTILIB])
- pushdef([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-],
- [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])
+ pushdef([NAME],[m4_translit([$1],[abcdefghijklmnopqrstuvwxyz./+-],
+ [ABCDEFGHIJKLMNOPQRSTUVWXYZ____])])
pushdef([PACK],[m4_ifdef([acl_frompackage_]NAME, [acl_frompackage_]NAME, lib[$1])])
- pushdef([PACKUP],[translit(PACK,[abcdefghijklmnopqrstuvwxyz./-],
- [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])
+ pushdef([PACKUP],[m4_translit(PACK,[abcdefghijklmnopqrstuvwxyz./+-],
+ [ABCDEFGHIJKLMNOPQRSTUVWXYZ____])])
pushdef([PACKLIBS],[m4_ifdef([acl_frompackage_]NAME, [acl_libsinpackage_]PACKUP, lib[$1])])
dnl Autoconf >= 2.61 supports dots in --with options.
- pushdef([P_A_C_K],[m4_if(m4_version_compare(m4_defn([m4_PACKAGE_VERSION]),[2.61]),[-1],[translit(PACK,[.],[_])],PACK)])
+ pushdef([P_A_C_K],[m4_if(m4_version_compare(m4_defn([m4_PACKAGE_VERSION]),[2.61]),[-1],[m4_translit(PACK,[.],[_])],PACK)])
dnl By default, look in $includedir and $libdir.
use_additional=yes
AC_LIB_WITH_FINAL_PREFIX([
@@ -264,7 +267,7 @@ AC_DEFUN([AC_LIB_LINKFLAGS_BODY],
names_already_handled="$names_already_handled $name"
dnl See if it was already located by an earlier AC_LIB_LINKFLAGS
dnl or AC_LIB_HAVE_LINKFLAGS call.
- uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./-|ABCDEFGHIJKLMNOPQRSTUVWXYZ___|'`
+ uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./+-|ABCDEFGHIJKLMNOPQRSTUVWXYZ____|'`
eval value=\"\$HAVE_LIB$uppername\"
if test -n "$value"; then
if test "$value" = yes; then
@@ -796,7 +799,7 @@ AC_DEFUN([AC_LIB_LINKFLAGS_FROM_LIBS],
])
# lib-prefix.m4 serial 7 (gettext-0.18)
-dnl Copyright (C) 2001-2005, 2008-2010 Free Software Foundation, Inc.
+dnl Copyright (C) 2001-2005, 2008-2014 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
@@ -1180,6 +1183,61 @@ else
fi[]dnl
])# PKG_CHECK_MODULES
+
+# PKG_INSTALLDIR(DIRECTORY)
+# -------------------------
+# Substitutes the variable pkgconfigdir as the location where a module
+# should install pkg-config .pc files. By default the directory is
+# $libdir/pkgconfig, but the default can be changed by passing
+# DIRECTORY. The user can override through the --with-pkgconfigdir
+# parameter.
+AC_DEFUN([PKG_INSTALLDIR],
+[m4_pushdef([pkg_default], [m4_default([$1], ['${libdir}/pkgconfig'])])
+m4_pushdef([pkg_description],
+ [pkg-config installation directory @<:@]pkg_default[@:>@])
+AC_ARG_WITH([pkgconfigdir],
+ [AS_HELP_STRING([--with-pkgconfigdir], pkg_description)],,
+ [with_pkgconfigdir=]pkg_default)
+AC_SUBST([pkgconfigdir], [$with_pkgconfigdir])
+m4_popdef([pkg_default])
+m4_popdef([pkg_description])
+]) dnl PKG_INSTALLDIR
+
+
+# PKG_NOARCH_INSTALLDIR(DIRECTORY)
+# -------------------------
+# Substitutes the variable noarch_pkgconfigdir as the location where a
+# module should install arch-independent pkg-config .pc files. By
+# default the directory is $datadir/pkgconfig, but the default can be
+# changed by passing DIRECTORY. The user can override through the
+# --with-noarch-pkgconfigdir parameter.
+AC_DEFUN([PKG_NOARCH_INSTALLDIR],
+[m4_pushdef([pkg_default], [m4_default([$1], ['${datadir}/pkgconfig'])])
+m4_pushdef([pkg_description],
+ [pkg-config arch-independent installation directory @<:@]pkg_default[@:>@])
+AC_ARG_WITH([noarch-pkgconfigdir],
+ [AS_HELP_STRING([--with-noarch-pkgconfigdir], pkg_description)],,
+ [with_noarch_pkgconfigdir=]pkg_default)
+AC_SUBST([noarch_pkgconfigdir], [$with_noarch_pkgconfigdir])
+m4_popdef([pkg_default])
+m4_popdef([pkg_description])
+]) dnl PKG_NOARCH_INSTALLDIR
+
+
+# PKG_CHECK_VAR(VARIABLE, MODULE, CONFIG-VARIABLE,
+# [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])
+# -------------------------------------------
+# Retrieves the value of the pkg-config variable for the given module.
+AC_DEFUN([PKG_CHECK_VAR],
+[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
+AC_ARG_VAR([$1], [value of $3 for $2, overriding pkg-config])dnl
+
+_PKG_CONFIG([$1], [variable="][$3]["], [$2])
+AS_VAR_COPY([$1], [pkg_cv_][$1])
+
+AS_VAR_IF([$1], [""], [$5], [$4])dnl
+])# PKG_CHECK_VAR
+
# Copyright (C) 2002-2013 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
@@ -1192,10 +1250,10 @@ fi[]dnl
# generated from the m4 files accompanying Automake X.Y.
# (This private macro should not be called outside this file.)
AC_DEFUN([AM_AUTOMAKE_VERSION],
-[am__api_version='1.13'
+[am__api_version='1.14'
dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
dnl require some minimum version. Point them to the right macro.
-m4_if([$1], [1.13.3], [],
+m4_if([$1], [1.14.1], [],
[AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
])
@@ -1211,7 +1269,7 @@ m4_define([_AM_AUTOCONF_VERSION], [])
# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
# This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
-[AM_AUTOMAKE_VERSION([1.13.3])dnl
+[AM_AUTOMAKE_VERSION([1.14.1])dnl
m4_ifndef([AC_AUTOCONF_VERSION],
[m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
_AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
@@ -1578,6 +1636,12 @@ AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
# This macro actually does too much. Some checks are only needed if
# your package does certain things. But this isn't really a big deal.
+dnl Redefine AC_PROG_CC to automatically invoke _AM_PROG_CC_C_O.
+m4_define([AC_PROG_CC],
+m4_defn([AC_PROG_CC])
+[_AM_PROG_CC_C_O
+])
+
# AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE])
# AM_INIT_AUTOMAKE([OPTIONS])
# -----------------------------------------------
@@ -1686,6 +1750,48 @@ dnl macro is hooked onto _AC_COMPILER_EXEEXT early, see below.
AC_CONFIG_COMMANDS_PRE(dnl
[m4_provide_if([_AM_COMPILER_EXEEXT],
[AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])])])dnl
+
+# POSIX will say in a future version that running "rm -f" with no argument
+# is OK; and we want to be able to make that assumption in our Makefile
+# recipes. So use an aggressive probe to check that the usage we want is
+# actually supported "in the wild" to an acceptable degree.
+# See automake bug#10828.
+# To make any issue more visible, cause the running configure to be aborted
+# by default if the 'rm' program in use doesn't match our expectations; the
+# user can still override this though.
+if rm -f && rm -fr && rm -rf; then : OK; else
+ cat >&2 <<'END'
+Oops!
+
+Your 'rm' program seems unable to run without file operands specified
+on the command line, even when the '-f' option is present. This is contrary
+to the behaviour of most rm programs out there, and not conforming with
+the upcoming POSIX standard: <http://austingroupbugs.net/view.php?id=542>
+
+Please tell bug-automake@gnu.org about your system, including the value
+of your $PATH and any error possibly output before this message. This
+can help us improve future automake versions.
+
+END
+ if test x"$ACCEPT_INFERIOR_RM_PROGRAM" = x"yes"; then
+ echo 'Configuration will proceed anyway, since you have set the' >&2
+ echo 'ACCEPT_INFERIOR_RM_PROGRAM variable to "yes"' >&2
+ echo >&2
+ else
+ cat >&2 <<'END'
+Aborting the configuration process, to ensure you take notice of the issue.
+
+You can download and install GNU coreutils to get an 'rm' implementation
+that behaves properly: <http://www.gnu.org/software/coreutils/>.
+
+If you want to complete the configuration process using your problematic
+'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM
+to "yes", and re-run configure.
+
+END
+ AC_MSG_ERROR([Your 'rm' program is bad, sorry.])
+ fi
+fi
])
dnl Hook into '_AC_COMPILER_EXEEXT' early to learn its expansion. Do not
@@ -1694,7 +1800,6 @@ dnl mangled by Autoconf and run in a shell conditional statement.
m4_define([_AC_COMPILER_EXEEXT],
m4_defn([_AC_COMPILER_EXEEXT])[m4_provide([_AM_COMPILER_EXEEXT])])
-
# When config.status generates a header, we must update the stamp-h file.
# This file resides in the same directory as the config header
# that is generated. The stamp files are numbered to have different names.
@@ -1876,6 +1981,70 @@ AC_DEFUN([_AM_SET_OPTIONS],
AC_DEFUN([_AM_IF_OPTION],
[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])])
+# Copyright (C) 1999-2013 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# _AM_PROG_CC_C_O
+# ---------------
+# Like AC_PROG_CC_C_O, but changed for automake. We rewrite AC_PROG_CC
+# to automatically call this.
+AC_DEFUN([_AM_PROG_CC_C_O],
+[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
+AC_REQUIRE_AUX_FILE([compile])dnl
+AC_LANG_PUSH([C])dnl
+AC_CACHE_CHECK(
+ [whether $CC understands -c and -o together],
+ [am_cv_prog_cc_c_o],
+ [AC_LANG_CONFTEST([AC_LANG_PROGRAM([])])
+ # Make sure it works both with $CC and with simple cc.
+ # Following AC_PROG_CC_C_O, we do the test twice because some
+ # compilers refuse to overwrite an existing .o file with -o,
+ # though they will create one.
+ am_cv_prog_cc_c_o=yes
+ for am_i in 1 2; do
+ if AM_RUN_LOG([$CC -c conftest.$ac_ext -o conftest2.$ac_objext]) \
+ && test -f conftest2.$ac_objext; then
+ : OK
+ else
+ am_cv_prog_cc_c_o=no
+ break
+ fi
+ done
+ rm -f core conftest*
+ unset am_i])
+if test "$am_cv_prog_cc_c_o" != yes; then
+ # Losing compiler, so override with the script.
+ # FIXME: It is wrong to rewrite CC.
+ # But if we don't then we get into trouble of one sort or another.
+ # A longer-term fix would be to have automake use am__CC in this case,
+ # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)"
+ CC="$am_aux_dir/compile $CC"
+fi
+AC_LANG_POP([C])])
+
+# For backward compatibility.
+AC_DEFUN_ONCE([AM_PROG_CC_C_O], [AC_REQUIRE([AC_PROG_CC])])
+
+# Copyright (C) 2001-2013 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# AM_RUN_LOG(COMMAND)
+# -------------------
+# Run COMMAND, save the exit status in ac_status, and log it.
+# (This has been adapted from Autoconf's _AC_RUN_LOG macro.)
+AC_DEFUN([AM_RUN_LOG],
+[{ echo "$as_me:$LINENO: $1" >&AS_MESSAGE_LOG_FD
+ ($1) >&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
+ (exit $ac_status); }])
+
# Check to make sure that the build environment is sane. -*- Autoconf -*-
# Copyright (C) 1996-2013 Free Software Foundation, Inc.
diff --git a/cmake/modules/FindGTK.cmake b/cmake/modules/FindGTK.cmake
index cb67220d..10e22924 100644
--- a/cmake/modules/FindGTK.cmake
+++ b/cmake/modules/FindGTK.cmake
@@ -15,7 +15,7 @@ include(FindPackageHandleStandardArgs)
if (NOT WIN32)
find_package(PkgConfig REQUIRED)
- pkg_check_modules(GTK3 "gtk+-3.0>=3.0" "gdk-pixbuf-2.0")
+ pkg_check_modules(GTK3 "gtk+-3.0>=3.8" "gdk-pixbuf-2.0")
find_package_handle_standard_args(GTK DEFAULT_MSG GTK3_LIBRARIES GTK3_CFLAGS)
diff --git a/cmake/modules/PopplerMacros.cmake b/cmake/modules/PopplerMacros.cmake
index 04dfc46d..6cadf404 100644
--- a/cmake/modules/PopplerMacros.cmake
+++ b/cmake/modules/PopplerMacros.cmake
@@ -110,17 +110,13 @@ if(CMAKE_COMPILER_IS_GNUCXX)
set(CMAKE_CXX_FLAGS_DEBUG "-g -O2 -fno-reorder-blocks -fno-schedule-insns -fno-inline")
set(CMAKE_CXX_FLAGS_DEBUGFULL "-g3 -fno-inline")
set(CMAKE_CXX_FLAGS_PROFILE "-g3 -fno-inline -ftest-coverage -fprofile-arcs")
+ set(CMAKE_C_FLAGS "-std=c99")
set(CMAKE_C_FLAGS_RELWITHDEBINFO "-O2 -g")
set(CMAKE_C_FLAGS_RELEASE "-O2 -DNDEBUG")
set(CMAKE_C_FLAGS_DEBUG "-g -O2 -fno-reorder-blocks -fno-schedule-insns -fno-inline")
set(CMAKE_C_FLAGS_DEBUGFULL "-g3 -fno-inline")
set(CMAKE_C_FLAGS_PROFILE "-g3 -fno-inline -ftest-coverage -fprofile-arcs")
- if(CMAKE_SYSTEM_NAME MATCHES Linux)
- set(DEFAULT_COMPILE_WARNINGS_YES "${DEFAULT_COMPILE_WARNINGS_YES} -ansi")
- set(DEFAULT_COMPILE_WARNINGS_KDE "${DEFAULT_COMPILE_WARNINGS_KDE} -ansi")
- endif(CMAKE_SYSTEM_NAME MATCHES Linux)
-
poppler_check_link_flag("-Wl,--as-needed" GCC_HAS_AS_NEEDED)
if(GCC_HAS_AS_NEEDED)
set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -Wl,--as-needed")
diff --git a/compile b/compile
new file mode 100755
index 00000000..531136b0
--- /dev/null
+++ b/compile
@@ -0,0 +1,347 @@
+#! /bin/sh
+# Wrapper for compilers which do not understand '-c -o'.
+
+scriptversion=2012-10-14.11; # UTC
+
+# Copyright (C) 1999-2013 Free Software Foundation, Inc.
+# Written by Tom Tromey <tromey@cygnus.com>.
+#
+# 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, see <http://www.gnu.org/licenses/>.
+
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+# This file is maintained in Automake, please report
+# bugs to <bug-automake@gnu.org> or send patches to
+# <automake-patches@gnu.org>.
+
+nl='
+'
+
+# We need space, tab and new line, in precisely that order. Quoting is
+# there to prevent tools from complaining about whitespace usage.
+IFS=" "" $nl"
+
+file_conv=
+
+# func_file_conv build_file lazy
+# Convert a $build file to $host form and store it in $file
+# Currently only supports Windows hosts. If the determined conversion
+# type is listed in (the comma separated) LAZY, no conversion will
+# take place.
+func_file_conv ()
+{
+ file=$1
+ case $file in
+ / | /[!/]*) # absolute file, and not a UNC file
+ if test -z "$file_conv"; then
+ # lazily determine how to convert abs files
+ case `uname -s` in
+ MINGW*)
+ file_conv=mingw
+ ;;
+ CYGWIN*)
+ file_conv=cygwin
+ ;;
+ *)
+ file_conv=wine
+ ;;
+ esac
+ fi
+ case $file_conv/,$2, in
+ *,$file_conv,*)
+ ;;
+ mingw/*)
+ file=`cmd //C echo "$file " | sed -e 's/"\(.*\) " *$/\1/'`
+ ;;
+ cygwin/*)
+ file=`cygpath -m "$file" || echo "$file"`
+ ;;
+ wine/*)
+ file=`winepath -w "$file" || echo "$file"`
+ ;;
+ esac
+ ;;
+ esac
+}
+
+# func_cl_dashL linkdir
+# Make cl look for libraries in LINKDIR
+func_cl_dashL ()
+{
+ func_file_conv "$1"
+ if test -z "$lib_path"; then
+ lib_path=$file
+ else
+ lib_path="$lib_path;$file"
+ fi
+ linker_opts="$linker_opts -LIBPATH:$file"
+}
+
+# func_cl_dashl library
+# Do a library search-path lookup for cl
+func_cl_dashl ()
+{
+ lib=$1
+ found=no
+ save_IFS=$IFS
+ IFS=';'
+ for dir in $lib_path $LIB
+ do
+ IFS=$save_IFS
+ if $shared && test -f "$dir/$lib.dll.lib"; then
+ found=yes
+ lib=$dir/$lib.dll.lib
+ break
+ fi
+ if test -f "$dir/$lib.lib"; then
+ found=yes
+ lib=$dir/$lib.lib
+ break
+ fi
+ if test -f "$dir/lib$lib.a"; then
+ found=yes
+ lib=$dir/lib$lib.a
+ break
+ fi
+ done
+ IFS=$save_IFS
+
+ if test "$found" != yes; then
+ lib=$lib.lib
+ fi
+}
+
+# func_cl_wrapper cl arg...
+# Adjust compile command to suit cl
+func_cl_wrapper ()
+{
+ # Assume a capable shell
+ lib_path=
+ shared=:
+ linker_opts=
+ for arg
+ do
+ if test -n "$eat"; then
+ eat=
+ else
+ case $1 in
+ -o)
+ # configure might choose to run compile as 'compile cc -o foo foo.c'.
+ eat=1
+ case $2 in
+ *.o | *.[oO][bB][jJ])
+ func_file_conv "$2"
+ set x "$@" -Fo"$file"
+ shift
+ ;;
+ *)
+ func_file_conv "$2"
+ set x "$@" -Fe"$file"
+ shift
+ ;;
+ esac
+ ;;
+ -I)
+ eat=1
+ func_file_conv "$2" mingw
+ set x "$@" -I"$file"
+ shift
+ ;;
+ -I*)
+ func_file_conv "${1#-I}" mingw
+ set x "$@" -I"$file"
+ shift
+ ;;
+ -l)
+ eat=1
+ func_cl_dashl "$2"
+ set x "$@" "$lib"
+ shift
+ ;;
+ -l*)
+ func_cl_dashl "${1#-l}"
+ set x "$@" "$lib"
+ shift
+ ;;
+ -L)
+ eat=1
+ func_cl_dashL "$2"
+ ;;
+ -L*)
+ func_cl_dashL "${1#-L}"
+ ;;
+ -static)
+ shared=false
+ ;;
+ -Wl,*)
+ arg=${1#-Wl,}
+ save_ifs="$IFS"; IFS=','
+ for flag in $arg; do
+ IFS="$save_ifs"
+ linker_opts="$linker_opts $flag"
+ done
+ IFS="$save_ifs"
+ ;;
+ -Xlinker)
+ eat=1
+ linker_opts="$linker_opts $2"
+ ;;
+ -*)
+ set x "$@" "$1"
+ shift
+ ;;
+ *.cc | *.CC | *.cxx | *.CXX | *.[cC]++)
+ func_file_conv "$1"
+ set x "$@" -Tp"$file"
+ shift
+ ;;
+ *.c | *.cpp | *.CPP | *.lib | *.LIB | *.Lib | *.OBJ | *.obj | *.[oO])
+ func_file_conv "$1" mingw
+ set x "$@" "$file"
+ shift
+ ;;
+ *)
+ set x "$@" "$1"
+ shift
+ ;;
+ esac
+ fi
+ shift
+ done
+ if test -n "$linker_opts"; then
+ linker_opts="-link$linker_opts"
+ fi
+ exec "$@" $linker_opts
+ exit 1
+}
+
+eat=
+
+case $1 in
+ '')
+ echo "$0: No command. Try '$0 --help' for more information." 1>&2
+ exit 1;
+ ;;
+ -h | --h*)
+ cat <<\EOF
+Usage: compile [--help] [--version] PROGRAM [ARGS]
+
+Wrapper for compilers which do not understand '-c -o'.
+Remove '-o dest.o' from ARGS, run PROGRAM with the remaining
+arguments, and rename the output as expected.
+
+If you are trying to build a whole package this is not the
+right script to run: please start by reading the file 'INSTALL'.
+
+Report bugs to <bug-automake@gnu.org>.
+EOF
+ exit $?
+ ;;
+ -v | --v*)
+ echo "compile $scriptversion"
+ exit $?
+ ;;
+ cl | *[/\\]cl | cl.exe | *[/\\]cl.exe )
+ func_cl_wrapper "$@" # Doesn't return...
+ ;;
+esac
+
+ofile=
+cfile=
+
+for arg
+do
+ if test -n "$eat"; then
+ eat=
+ else
+ case $1 in
+ -o)
+ # configure might choose to run compile as 'compile cc -o foo foo.c'.
+ # So we strip '-o arg' only if arg is an object.
+ eat=1
+ case $2 in
+ *.o | *.obj)
+ ofile=$2
+ ;;
+ *)
+ set x "$@" -o "$2"
+ shift
+ ;;
+ esac
+ ;;
+ *.c)
+ cfile=$1
+ set x "$@" "$1"
+ shift
+ ;;
+ *)
+ set x "$@" "$1"
+ shift
+ ;;
+ esac
+ fi
+ shift
+done
+
+if test -z "$ofile" || test -z "$cfile"; then
+ # If no '-o' option was seen then we might have been invoked from a
+ # pattern rule where we don't need one. That is ok -- this is a
+ # normal compilation that the losing compiler can handle. If no
+ # '.c' file was seen then we are probably linking. That is also
+ # ok.
+ exec "$@"
+fi
+
+# Name of file we expect compiler to create.
+cofile=`echo "$cfile" | sed 's|^.*[\\/]||; s|^[a-zA-Z]:||; s/\.c$/.o/'`
+
+# Create the lock directory.
+# Note: use '[/\\:.-]' here to ensure that we don't use the same name
+# that we are using for the .o file. Also, base the name on the expected
+# object file name, since that is what matters with a parallel build.
+lockdir=`echo "$cofile" | sed -e 's|[/\\:.-]|_|g'`.d
+while true; do
+ if mkdir "$lockdir" >/dev/null 2>&1; then
+ break
+ fi
+ sleep 1
+done
+# FIXME: race condition here if user kills between mkdir and trap.
+trap "rmdir '$lockdir'; exit 1" 1 2 15
+
+# Run the compile.
+"$@"
+ret=$?
+
+if test -f "$cofile"; then
+ test "$cofile" = "$ofile" || mv "$cofile" "$ofile"
+elif test -f "${cofile}bj"; then
+ test "${cofile}bj" = "$ofile" || mv "${cofile}bj" "$ofile"
+fi
+
+rmdir "$lockdir"
+exit $ret
+
+# Local Variables:
+# mode: shell-script
+# sh-indentation: 2
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "scriptversion="
+# time-stamp-format: "%:y-%02m-%02d.%02H"
+# time-stamp-time-zone: "UTC"
+# time-stamp-end: "; # UTC"
+# End:
diff --git a/config.guess b/config.guess
index b79252d6..1f5c50c0 100755
--- a/config.guess
+++ b/config.guess
@@ -1,8 +1,8 @@
#! /bin/sh
# Attempt to guess a canonical system name.
-# Copyright 1992-2013 Free Software Foundation, Inc.
+# Copyright 1992-2014 Free Software Foundation, Inc.
-timestamp='2013-06-10'
+timestamp='2014-03-23'
# This file is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
@@ -50,7 +50,7 @@ version="\
GNU config.guess ($timestamp)
Originally written by Per Bothner.
-Copyright 1992-2013 Free Software Foundation, Inc.
+Copyright 1992-2014 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
@@ -149,7 +149,7 @@ Linux|GNU|GNU/*)
LIBC=gnu
#endif
EOF
- eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC'`
+ eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC' | sed 's, ,,g'`
;;
esac
@@ -826,7 +826,7 @@ EOF
*:MINGW*:*)
echo ${UNAME_MACHINE}-pc-mingw32
exit ;;
- i*:MSYS*:*)
+ *:MSYS*:*)
echo ${UNAME_MACHINE}-pc-msys
exit ;;
i*:windows32*:*)
@@ -969,10 +969,10 @@ EOF
eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'`
test x"${CPU}" != x && { echo "${CPU}-unknown-linux-${LIBC}"; exit; }
;;
- or1k:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+ openrisc*:Linux:*:*)
+ echo or1k-unknown-linux-${LIBC}
exit ;;
- or32:Linux:*:*)
+ or32:Linux:*:* | or1k*:Linux:*:*)
echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
exit ;;
padre:Linux:*:*)
@@ -1260,16 +1260,26 @@ EOF
if test "$UNAME_PROCESSOR" = unknown ; then
UNAME_PROCESSOR=powerpc
fi
- if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
- if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \
- (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
- grep IS_64BIT_ARCH >/dev/null
- then
- case $UNAME_PROCESSOR in
- i386) UNAME_PROCESSOR=x86_64 ;;
- powerpc) UNAME_PROCESSOR=powerpc64 ;;
- esac
+ if test `echo "$UNAME_RELEASE" | sed -e 's/\..*//'` -le 10 ; then
+ if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
+ if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \
+ (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
+ grep IS_64BIT_ARCH >/dev/null
+ then
+ case $UNAME_PROCESSOR in
+ i386) UNAME_PROCESSOR=x86_64 ;;
+ powerpc) UNAME_PROCESSOR=powerpc64 ;;
+ esac
+ fi
fi
+ elif test "$UNAME_PROCESSOR" = i386 ; then
+ # Avoid executing cc on OS X 10.9, as it ships with a stub
+ # that puts up a graphical alert prompting to install
+ # developer tools. Any system running Mac OS X 10.7 or
+ # later (Darwin 11 and later) is required to have a 64-bit
+ # processor. This is not true of the ARM version of Darwin
+ # that Apple uses in portable devices.
+ UNAME_PROCESSOR=x86_64
fi
echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
exit ;;
@@ -1361,154 +1371,6 @@ EOF
exit ;;
esac
-eval $set_cc_for_build
-cat >$dummy.c <<EOF
-#ifdef _SEQUENT_
-# include <sys/types.h>
-# include <sys/utsname.h>
-#endif
-main ()
-{
-#if defined (sony)
-#if defined (MIPSEB)
- /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed,
- I don't know.... */
- printf ("mips-sony-bsd\n"); exit (0);
-#else
-#include <sys/param.h>
- printf ("m68k-sony-newsos%s\n",
-#ifdef NEWSOS4
- "4"
-#else
- ""
-#endif
- ); exit (0);
-#endif
-#endif
-
-#if defined (__arm) && defined (__acorn) && defined (__unix)
- printf ("arm-acorn-riscix\n"); exit (0);
-#endif
-
-#if defined (hp300) && !defined (hpux)
- printf ("m68k-hp-bsd\n"); exit (0);
-#endif
-
-#if defined (NeXT)
-#if !defined (__ARCHITECTURE__)
-#define __ARCHITECTURE__ "m68k"
-#endif
- int version;
- version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
- if (version < 4)
- printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
- else
- printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version);
- exit (0);
-#endif
-
-#if defined (MULTIMAX) || defined (n16)
-#if defined (UMAXV)
- printf ("ns32k-encore-sysv\n"); exit (0);
-#else
-#if defined (CMU)
- printf ("ns32k-encore-mach\n"); exit (0);
-#else
- printf ("ns32k-encore-bsd\n"); exit (0);
-#endif
-#endif
-#endif
-
-#if defined (__386BSD__)
- printf ("i386-pc-bsd\n"); exit (0);
-#endif
-
-#if defined (sequent)
-#if defined (i386)
- printf ("i386-sequent-dynix\n"); exit (0);
-#endif
-#if defined (ns32000)
- printf ("ns32k-sequent-dynix\n"); exit (0);
-#endif
-#endif
-
-#if defined (_SEQUENT_)
- struct utsname un;
-
- uname(&un);
-
- if (strncmp(un.version, "V2", 2) == 0) {
- printf ("i386-sequent-ptx2\n"); exit (0);
- }
- if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
- printf ("i386-sequent-ptx1\n"); exit (0);
- }
- printf ("i386-sequent-ptx\n"); exit (0);
-
-#endif
-
-#if defined (vax)
-# if !defined (ultrix)
-# include <sys/param.h>
-# if defined (BSD)
-# if BSD == 43
- printf ("vax-dec-bsd4.3\n"); exit (0);
-# else
-# if BSD == 199006
- printf ("vax-dec-bsd4.3reno\n"); exit (0);
-# else
- printf ("vax-dec-bsd\n"); exit (0);
-# endif
-# endif
-# else
- printf ("vax-dec-bsd\n"); exit (0);
-# endif
-# else
- printf ("vax-dec-ultrix\n"); exit (0);
-# endif
-#endif
-
-#if defined (alliant) && defined (i860)
- printf ("i860-alliant-bsd\n"); exit (0);
-#endif
-
- exit (1);
-}
-EOF
-
-$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` &&
- { echo "$SYSTEM_NAME"; exit; }
-
-# Apollos put the system type in the environment.
-
-test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; }
-
-# Convex versions that predate uname can use getsysinfo(1)
-
-if [ -x /usr/convex/getsysinfo ]
-then
- case `getsysinfo -f cpu_type` in
- c1*)
- echo c1-convex-bsd
- exit ;;
- c2*)
- if getsysinfo -f scalar_acc
- then echo c32-convex-bsd
- else echo c2-convex-bsd
- fi
- exit ;;
- c34*)
- echo c34-convex-bsd
- exit ;;
- c38*)
- echo c38-convex-bsd
- exit ;;
- c4*)
- echo c4-convex-bsd
- exit ;;
- esac
-fi
-
cat >&2 <<EOF
$0: unable to guess system type
diff --git a/config.sub b/config.sub
index 9633db70..d654d03c 100755
--- a/config.sub
+++ b/config.sub
@@ -1,8 +1,8 @@
#! /bin/sh
# Configuration validation subroutine script.
-# Copyright 1992-2013 Free Software Foundation, Inc.
+# Copyright 1992-2014 Free Software Foundation, Inc.
-timestamp='2013-08-10'
+timestamp='2014-05-01'
# This file is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
@@ -68,7 +68,7 @@ Report bugs and patches to <config-patches@gnu.org>."
version="\
GNU config.sub ($timestamp)
-Copyright 1992-2013 Free Software Foundation, Inc.
+Copyright 1992-2014 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
@@ -265,6 +265,7 @@ case $basic_machine in
| hexagon \
| i370 | i860 | i960 | ia64 \
| ip2k | iq2000 \
+ | k1om \
| le32 | le64 \
| lm32 \
| m32c | m32r | m32rle | m68000 | m68k | m88k \
@@ -282,8 +283,10 @@ case $basic_machine in
| mips64vr5900 | mips64vr5900el \
| mipsisa32 | mipsisa32el \
| mipsisa32r2 | mipsisa32r2el \
+ | mipsisa32r6 | mipsisa32r6el \
| mipsisa64 | mipsisa64el \
| mipsisa64r2 | mipsisa64r2el \
+ | mipsisa64r6 | mipsisa64r6el \
| mipsisa64sb1 | mipsisa64sb1el \
| mipsisa64sr71k | mipsisa64sr71kel \
| mipsr5900 | mipsr5900el \
@@ -295,8 +298,7 @@ case $basic_machine in
| nds32 | nds32le | nds32be \
| nios | nios2 | nios2eb | nios2el \
| ns16k | ns32k \
- | open8 \
- | or1k | or32 \
+ | open8 | or1k | or1knd | or32 \
| pdp10 | pdp11 | pj | pjl \
| powerpc | powerpc64 | powerpc64le | powerpcle \
| pyramid \
@@ -324,7 +326,7 @@ case $basic_machine in
c6x)
basic_machine=tic6x-unknown
;;
- m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | picochip)
+ m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | nvptx | picochip)
basic_machine=$basic_machine-unknown
os=-none
;;
@@ -381,6 +383,7 @@ case $basic_machine in
| hexagon-* \
| i*86-* | i860-* | i960-* | ia64-* \
| ip2k-* | iq2000-* \
+ | k1om-* \
| le32-* | le64-* \
| lm32-* \
| m32c-* | m32r-* | m32rle-* \
@@ -400,8 +403,10 @@ case $basic_machine in
| mips64vr5900-* | mips64vr5900el-* \
| mipsisa32-* | mipsisa32el-* \
| mipsisa32r2-* | mipsisa32r2el-* \
+ | mipsisa32r6-* | mipsisa32r6el-* \
| mipsisa64-* | mipsisa64el-* \
| mipsisa64r2-* | mipsisa64r2el-* \
+ | mipsisa64r6-* | mipsisa64r6el-* \
| mipsisa64sb1-* | mipsisa64sb1el-* \
| mipsisa64sr71k-* | mipsisa64sr71kel-* \
| mipsr5900-* | mipsr5900el-* \
@@ -413,6 +418,7 @@ case $basic_machine in
| nios-* | nios2-* | nios2eb-* | nios2el-* \
| none-* | np1-* | ns16k-* | ns32k-* \
| open8-* \
+ | or1k*-* \
| orion-* \
| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \
@@ -1374,7 +1380,7 @@ case $os in
| -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
| -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
| -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
- | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*)
+ | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es* | -tirtos*)
# Remember, each alternative MUST END IN *, to match a version number.
;;
-qnx*)
@@ -1592,9 +1598,6 @@ case $basic_machine in
mips*-*)
os=-elf
;;
- or1k-*)
- os=-elf
- ;;
or32-*)
os=-coff
;;
diff --git a/configure b/configure
index 10728833..e145d813 100755
--- a/configure
+++ b/configure
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for poppler 0.24.1.
+# Generated by GNU Autoconf 2.69 for poppler 0.26.5.
#
# Report bugs to <https://bugs.freedesktop.org/enter_bug.cgi?product=poppler>.
#
@@ -591,8 +591,8 @@ MAKEFLAGS=
# Identity of this package.
PACKAGE_NAME='poppler'
PACKAGE_TARNAME='poppler'
-PACKAGE_VERSION='0.24.1'
-PACKAGE_STRING='poppler 0.24.1'
+PACKAGE_VERSION='0.26.5'
+PACKAGE_STRING='poppler 0.26.5'
PACKAGE_BUGREPORT='https://bugs.freedesktop.org/enter_bug.cgi?product=poppler'
PACKAGE_URL=''
@@ -688,11 +688,14 @@ GTK_DOC_BUILD_HTML_FALSE
GTK_DOC_BUILD_HTML_TRUE
ENABLE_GTK_DOC_FALSE
ENABLE_GTK_DOC_TRUE
+HAVE_GTK_DOC_FALSE
+HAVE_GTK_DOC_TRUE
GTKDOC_DEPS_LIBS
GTKDOC_DEPS_CFLAGS
HTML_DIR
GTKDOC_MKPDF
GTKDOC_REBASE
+GTKDOC_CHECK_PATH
GTKDOC_CHECK
POPPLER_GLIB_DISABLE_SINGLE_INCLUDES
POPPLER_GLIB_DISABLE_DEPRECATED
@@ -748,7 +751,6 @@ BUILD_ZLIB_TRUE
ZLIB_LIBS
BUILD_LIBTIFF_FALSE
BUILD_LIBTIFF_TRUE
-LIBTIFF_CFLAGSS
LIBTIFF_LIBS
LIBTIFF_CFLAGS
BUILD_LIBOPENJPEG_FALSE
@@ -1526,7 +1528,7 @@ if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures poppler 0.24.1 to adapt to many kinds of systems.
+\`configure' configures poppler 0.26.5 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1600,7 +1602,7 @@ fi
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of poppler 0.24.1:";;
+ short | recursive ) echo "Configuration of poppler 0.26.5:";;
esac
cat <<\_ACEOF
@@ -1813,7 +1815,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-poppler configure 0.24.1
+poppler configure 0.26.5
generated by GNU Autoconf 2.69
Copyright (C) 2012 Free Software Foundation, Inc.
@@ -2507,7 +2509,7 @@ cat >config.log <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by poppler $as_me 0.24.1, which was
+It was created by poppler $as_me 0.26.5, which was
generated by GNU Autoconf 2.69. Invocation command line was
$ $0 $@
@@ -2856,7 +2858,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
-am__api_version='1.13'
+am__api_version='1.14'
ac_aux_dir=
for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do
@@ -3371,7 +3373,7 @@ fi
# Define the identity of the package.
PACKAGE='poppler'
- VERSION='0.24.1'
+ VERSION='0.26.5'
cat >>confdefs.h <<_ACEOF
@@ -3422,6 +3424,48 @@ am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -'
+# POSIX will say in a future version that running "rm -f" with no argument
+# is OK; and we want to be able to make that assumption in our Makefile
+# recipes. So use an aggressive probe to check that the usage we want is
+# actually supported "in the wild" to an acceptable degree.
+# See automake bug#10828.
+# To make any issue more visible, cause the running configure to be aborted
+# by default if the 'rm' program in use doesn't match our expectations; the
+# user can still override this though.
+if rm -f && rm -fr && rm -rf; then : OK; else
+ cat >&2 <<'END'
+Oops!
+
+Your 'rm' program seems unable to run without file operands specified
+on the command line, even when the '-f' option is present. This is contrary
+to the behaviour of most rm programs out there, and not conforming with
+the upcoming POSIX standard: <http://austingroupbugs.net/view.php?id=542>
+
+Please tell bug-automake@gnu.org about your system, including the value
+of your $PATH and any error possibly output before this message. This
+can help us improve future automake versions.
+
+END
+ if test x"$ACCEPT_INFERIOR_RM_PROGRAM" = x"yes"; then
+ echo 'Configuration will proceed anyway, since you have set the' >&2
+ echo 'ACCEPT_INFERIOR_RM_PROGRAM variable to "yes"' >&2
+ echo >&2
+ else
+ cat >&2 <<'END'
+Aborting the configuration process, to ensure you take notice of the issue.
+
+You can download and install GNU coreutils to get an 'rm' implementation
+that behaves properly: <http://www.gnu.org/software/coreutils/>.
+
+If you want to complete the configuration process using your problematic
+'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM
+to "yes", and re-run configure.
+
+END
+ as_fn_error $? "Your 'rm' program is bad, sorry." "$LINENO" 5
+ fi
+fi
+
# Check whether --enable-silent-rules was given.
if test "${enable_silent_rules+set}" = set; then :
enableval=$enable_silent_rules;
@@ -4315,6 +4359,65 @@ ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_c_compiler_gnu
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC understands -c and -o together" >&5
+$as_echo_n "checking whether $CC understands -c and -o together... " >&6; }
+if ${am_cv_prog_cc_c_o+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+ # Make sure it works both with $CC and with simple cc.
+ # Following AC_PROG_CC_C_O, we do the test twice because some
+ # compilers refuse to overwrite an existing .o file with -o,
+ # though they will create one.
+ am_cv_prog_cc_c_o=yes
+ for am_i in 1 2; do
+ if { echo "$as_me:$LINENO: $CC -c conftest.$ac_ext -o conftest2.$ac_objext" >&5
+ ($CC -c conftest.$ac_ext -o conftest2.$ac_objext) >&5 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } \
+ && test -f conftest2.$ac_objext; then
+ : OK
+ else
+ am_cv_prog_cc_c_o=no
+ break
+ fi
+ done
+ rm -f core conftest*
+ unset am_i
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_prog_cc_c_o" >&5
+$as_echo "$am_cv_prog_cc_c_o" >&6; }
+if test "$am_cv_prog_cc_c_o" != yes; then
+ # Losing compiler, so override with the script.
+ # FIXME: It is wrong to rewrite CC.
+ # But if we don't then we get into trouble of one sort or another.
+ # A longer-term fix would be to have automake use am__CC in this case,
+ # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)"
+ CC="$am_aux_dir/compile $CC"
+fi
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
depcc="$CC" am_compiler_list=
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5
@@ -7640,7 +7743,7 @@ ia64-*-hpux*)
rm -rf conftest*
;;
-x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \
+x86_64-*kfreebsd*-gnu|x86_64-*linux*|powerpc*-*linux*| \
s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
# Find out which ABI we are using.
echo 'int i;' > conftest.$ac_ext
@@ -7665,7 +7768,10 @@ s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
;;
esac
;;
- ppc64-*linux*|powerpc64-*linux*)
+ powerpc64le-*)
+ LD="${LD-ld} -m elf32lppclinux"
+ ;;
+ powerpc64-*)
LD="${LD-ld} -m elf32ppclinux"
;;
s390x-*linux*)
@@ -7684,7 +7790,10 @@ s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
x86_64-*linux*)
LD="${LD-ld} -m elf_x86_64"
;;
- ppc*-*linux*|powerpc*-*linux*)
+ powerpcle-*)
+ LD="${LD-ld} -m elf64lppc"
+ ;;
+ powerpc-*)
LD="${LD-ld} -m elf64ppc"
;;
s390*-*linux*|s390*-*tpf*)
@@ -13095,6 +13204,65 @@ ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_c_compiler_gnu
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC understands -c and -o together" >&5
+$as_echo_n "checking whether $CC understands -c and -o together... " >&6; }
+if ${am_cv_prog_cc_c_o+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+ # Make sure it works both with $CC and with simple cc.
+ # Following AC_PROG_CC_C_O, we do the test twice because some
+ # compilers refuse to overwrite an existing .o file with -o,
+ # though they will create one.
+ am_cv_prog_cc_c_o=yes
+ for am_i in 1 2; do
+ if { echo "$as_me:$LINENO: $CC -c conftest.$ac_ext -o conftest2.$ac_objext" >&5
+ ($CC -c conftest.$ac_ext -o conftest2.$ac_objext) >&5 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } \
+ && test -f conftest2.$ac_objext; then
+ : OK
+ else
+ am_cv_prog_cc_c_o=no
+ break
+ fi
+ done
+ rm -f core conftest*
+ unset am_i
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_prog_cc_c_o" >&5
+$as_echo "$am_cv_prog_cc_c_o" >&6; }
+if test "$am_cv_prog_cc_c_o" != yes; then
+ # Losing compiler, so override with the script.
+ # FIXME: It is wrong to rewrite CC.
+ # But if we don't then we get into trouble of one sort or another.
+ # A longer-term fix would be to have automake use am__CC in this case,
+ # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)"
+ CC="$am_aux_dir/compile $CC"
+fi
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
depcc="$CC" am_compiler_list=
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5
@@ -17544,21 +17712,6 @@ else
fi
-if test "x$GXX" = "xyes"; then
- case "$host_os" in
- cygwin* | mingw*)
- ;;
- *)
- case "${CXXFLAGS}" in
- *-std=*)
- ;;
- *)
- CXXFLAGS="$CXXFLAGS -ansi"
- ;;
- esac
- ;;
- esac
-fi
@@ -17684,7 +17837,7 @@ fi
cat >>confdefs.h <<_ACEOF
-#define POPPLER_VERSION "0.24.1"
+#define POPPLER_VERSION "0.26.5"
_ACEOF
@@ -19636,6 +19789,18 @@ if test x$enable_libopenjpeg = xyes; then
$as_echo "#define WITH_OPENJPEG_IGNORE_PCLR_CMAP_CDEF_FLAG 1" >>confdefs.h
+else
+ if test -n "$PKG_CONFIG" && \
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libopenjpeg1 >= 1.5\""; } >&5
+ ($PKG_CONFIG --exists --print-errors "libopenjpeg1 >= 1.5") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; then
+
+$as_echo "#define WITH_OPENJPEG_IGNORE_PCLR_CMAP_CDEF_FLAG 1" >>confdefs.h
+
+fi
+
fi
fi
@@ -19891,7 +20056,7 @@ else
We can't simply define LARGE_OFF_T to be 9223372036854775807,
since some C++ compilers masquerading as C compilers
incorrectly reject 9223372036854775807. */
-#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
+#define LARGE_OFF_T ((((off_t) 1 << 31) << 31) - 1 + (((off_t) 1 << 31) << 31))
int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
&& LARGE_OFF_T % 2147483647 == 1)
? 1 : -1];
@@ -19937,7 +20102,7 @@ else
We can't simply define LARGE_OFF_T to be 9223372036854775807,
since some C++ compilers masquerading as C compilers
incorrectly reject 9223372036854775807. */
-#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
+#define LARGE_OFF_T ((((off_t) 1 << 31) << 31) - 1 + (((off_t) 1 << 31) << 31))
int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
&& LARGE_OFF_T % 2147483647 == 1)
? 1 : -1];
@@ -19961,7 +20126,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
We can't simply define LARGE_OFF_T to be 9223372036854775807,
since some C++ compilers masquerading as C compilers
incorrectly reject 9223372036854775807. */
-#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
+#define LARGE_OFF_T ((((off_t) 1 << 31) << 31) - 1 + (((off_t) 1 << 31) << 31))
int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
&& LARGE_OFF_T % 2147483647 == 1)
? 1 : -1];
@@ -20006,7 +20171,7 @@ else
We can't simply define LARGE_OFF_T to be 9223372036854775807,
since some C++ compilers masquerading as C compilers
incorrectly reject 9223372036854775807. */
-#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
+#define LARGE_OFF_T ((((off_t) 1 << 31) << 31) - 1 + (((off_t) 1 << 31) << 31))
int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
&& LARGE_OFF_T % 2147483647 == 1)
? 1 : -1];
@@ -20030,7 +20195,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
We can't simply define LARGE_OFF_T to be 9223372036854775807,
since some C++ compilers masquerading as C compilers
incorrectly reject 9223372036854775807. */
-#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
+#define LARGE_OFF_T ((((off_t) 1 << 31) << 31) - 1 + (((off_t) 1 << 31) << 31))
int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
&& LARGE_OFF_T % 2147483647 == 1)
? 1 : -1];
@@ -21798,16 +21963,78 @@ fi
- # Extract the first word of "gtkdoc-check", so it can be a program name with args.
+ gtk_doc_requires="gtk-doc >= 1.14"
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gtk-doc" >&5
+$as_echo_n "checking for gtk-doc... " >&6; }
+ if test -n "$PKG_CONFIG" && \
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"\$gtk_doc_requires\""; } >&5
+ ($PKG_CONFIG --exists --print-errors "$gtk_doc_requires") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; then
+ have_gtk_doc=yes
+else
+ have_gtk_doc=no
+fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $have_gtk_doc" >&5
+$as_echo "$have_gtk_doc" >&6; }
+
+ if test "$have_gtk_doc" = "no"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING:
+ You will not be able to create source packages with 'make dist'
+ because $gtk_doc_requires is not found." >&5
+$as_echo "$as_me: WARNING:
+ You will not be able to create source packages with 'make dist'
+ because $gtk_doc_requires is not found." >&2;}
+ fi
+
+ # Extract the first word of "gtkdoc-check", so it can be a program name with args.
set dummy gtkdoc-check; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_GTKDOC_CHECK+:} false; then :
+if ${ac_cv_prog_GTKDOC_CHECK+:} false; then :
$as_echo_n "(cached) " >&6
else
- case $GTKDOC_CHECK in
+ if test -n "$GTKDOC_CHECK"; then
+ ac_cv_prog_GTKDOC_CHECK="$GTKDOC_CHECK" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_GTKDOC_CHECK="gtkdoc-check.test"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+GTKDOC_CHECK=$ac_cv_prog_GTKDOC_CHECK
+if test -n "$GTKDOC_CHECK"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GTKDOC_CHECK" >&5
+$as_echo "$GTKDOC_CHECK" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+ # Extract the first word of "gtkdoc-check", so it can be a program name with args.
+set dummy gtkdoc-check; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_path_GTKDOC_CHECK_PATH+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ case $GTKDOC_CHECK_PATH in
[\\/]* | ?:[\\/]*)
- ac_cv_path_GTKDOC_CHECK="$GTKDOC_CHECK" # Let the user override the test with a path.
+ ac_cv_path_GTKDOC_CHECK_PATH="$GTKDOC_CHECK_PATH" # Let the user override the test with a path.
;;
*)
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
@@ -21817,7 +22044,7 @@ do
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_path_GTKDOC_CHECK="$as_dir/$ac_word$ac_exec_ext"
+ ac_cv_path_GTKDOC_CHECK_PATH="$as_dir/$ac_word$ac_exec_ext"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
@@ -21828,10 +22055,10 @@ IFS=$as_save_IFS
;;
esac
fi
-GTKDOC_CHECK=$ac_cv_path_GTKDOC_CHECK
-if test -n "$GTKDOC_CHECK"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GTKDOC_CHECK" >&5
-$as_echo "$GTKDOC_CHECK" >&6; }
+GTKDOC_CHECK_PATH=$ac_cv_path_GTKDOC_CHECK_PATH
+if test -n "$GTKDOC_CHECK_PATH"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GTKDOC_CHECK_PATH" >&5
+$as_echo "$GTKDOC_CHECK_PATH" >&6; }
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
@@ -21944,18 +22171,19 @@ else
fi
- if test x$enable_gtk_doc = xyes; then
- if test -n "$PKG_CONFIG" && \
- { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"gtk-doc >= 1.14\""; } >&5
- ($PKG_CONFIG --exists --print-errors "gtk-doc >= 1.14") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; then
- :
-else
- as_fn_error $? "You need to have gtk-doc >= 1.14 installed to build $PACKAGE_NAME" "$LINENO" 5
-fi
- if test "x$PACKAGE_NAME" != "xglib"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build gtk-doc documentation" >&5
+$as_echo_n "checking whether to build gtk-doc documentation... " >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_gtk_doc" >&5
+$as_echo "$enable_gtk_doc" >&6; }
+
+ if test "x$enable_gtk_doc" = "xyes" && test "$have_gtk_doc" = "no"; then
+ as_fn_error $? "
+ You must have $gtk_doc_requires installed to build documentation for
+ $PACKAGE_NAME. Please install gtk-doc or disable building the
+ documentation by adding '--disable-gtk-doc' to '$0'." "$LINENO" 5
+ fi
+
+ if test "x$PACKAGE_NAME" != "xglib"; then
pkg_failed=no
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for GTKDOC_DEPS" >&5
@@ -22027,14 +22255,8 @@ else
$as_echo "yes" >&6; }
fi
- fi
fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build gtk-doc documentation" >&5
-$as_echo_n "checking whether to build gtk-doc documentation... " >&6; }
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_gtk_doc" >&5
-$as_echo "$enable_gtk_doc" >&6; }
-
# Check whether --enable-gtk-doc-html was given.
if test "${enable_gtk_doc_html+set}" = set; then :
enableval=$enable_gtk_doc_html;
@@ -22059,6 +22281,14 @@ fi
fi
+ if test x$have_gtk_doc = xyes; then
+ HAVE_GTK_DOC_TRUE=
+ HAVE_GTK_DOC_FALSE='#'
+else
+ HAVE_GTK_DOC_TRUE='#'
+ HAVE_GTK_DOC_FALSE=
+fi
+
if test x$enable_gtk_doc = xyes; then
ENABLE_GTK_DOC_TRUE=
ENABLE_GTK_DOC_FALSE='#'
@@ -22119,12 +22349,12 @@ if test -n "$POPPLER_QT4_CFLAGS"; then
pkg_cv_POPPLER_QT4_CFLAGS="$POPPLER_QT4_CFLAGS"
elif test -n "$PKG_CONFIG"; then
if test -n "$PKG_CONFIG" && \
- { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"QtCore >= 4.4.0 QtGui >= 4.4.0 QtXml >= 4.4.0\""; } >&5
- ($PKG_CONFIG --exists --print-errors "QtCore >= 4.4.0 QtGui >= 4.4.0 QtXml >= 4.4.0") 2>&5
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"QtCore >= 4.7.0 QtGui >= 4.7.0 QtXml >= 4.7.0\""; } >&5
+ ($PKG_CONFIG --exists --print-errors "QtCore >= 4.7.0 QtGui >= 4.7.0 QtXml >= 4.7.0") 2>&5
ac_status=$?
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; then
- pkg_cv_POPPLER_QT4_CFLAGS=`$PKG_CONFIG --cflags "QtCore >= 4.4.0 QtGui >= 4.4.0 QtXml >= 4.4.0" 2>/dev/null`
+ pkg_cv_POPPLER_QT4_CFLAGS=`$PKG_CONFIG --cflags "QtCore >= 4.7.0 QtGui >= 4.7.0 QtXml >= 4.7.0" 2>/dev/null`
test "x$?" != "x0" && pkg_failed=yes
else
pkg_failed=yes
@@ -22136,12 +22366,12 @@ if test -n "$POPPLER_QT4_LIBS"; then
pkg_cv_POPPLER_QT4_LIBS="$POPPLER_QT4_LIBS"
elif test -n "$PKG_CONFIG"; then
if test -n "$PKG_CONFIG" && \
- { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"QtCore >= 4.4.0 QtGui >= 4.4.0 QtXml >= 4.4.0\""; } >&5
- ($PKG_CONFIG --exists --print-errors "QtCore >= 4.4.0 QtGui >= 4.4.0 QtXml >= 4.4.0") 2>&5
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"QtCore >= 4.7.0 QtGui >= 4.7.0 QtXml >= 4.7.0\""; } >&5
+ ($PKG_CONFIG --exists --print-errors "QtCore >= 4.7.0 QtGui >= 4.7.0 QtXml >= 4.7.0") 2>&5
ac_status=$?
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; then
- pkg_cv_POPPLER_QT4_LIBS=`$PKG_CONFIG --libs "QtCore >= 4.4.0 QtGui >= 4.4.0 QtXml >= 4.4.0" 2>/dev/null`
+ pkg_cv_POPPLER_QT4_LIBS=`$PKG_CONFIG --libs "QtCore >= 4.7.0 QtGui >= 4.7.0 QtXml >= 4.7.0" 2>/dev/null`
test "x$?" != "x0" && pkg_failed=yes
else
pkg_failed=yes
@@ -22162,14 +22392,14 @@ else
_pkg_short_errors_supported=no
fi
if test $_pkg_short_errors_supported = yes; then
- POPPLER_QT4_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "QtCore >= 4.4.0 QtGui >= 4.4.0 QtXml >= 4.4.0" 2>&1`
+ POPPLER_QT4_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "QtCore >= 4.7.0 QtGui >= 4.7.0 QtXml >= 4.7.0" 2>&1`
else
- POPPLER_QT4_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "QtCore >= 4.4.0 QtGui >= 4.4.0 QtXml >= 4.4.0" 2>&1`
+ POPPLER_QT4_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "QtCore >= 4.7.0 QtGui >= 4.7.0 QtXml >= 4.7.0" 2>&1`
fi
# Put the nasty error message in config.log where it belongs
echo "$POPPLER_QT4_PKG_ERRORS" >&5
- as_fn_error $? "Package requirements (QtCore >= 4.4.0 QtGui >= 4.4.0 QtXml >= 4.4.0) were not met:
+ as_fn_error $? "Package requirements (QtCore >= 4.7.0 QtGui >= 4.7.0 QtXml >= 4.7.0) were not met:
$POPPLER_QT4_PKG_ERRORS
@@ -22210,12 +22440,12 @@ if test -n "$POPPLER_QT4_TEST_CFLAGS"; then
pkg_cv_POPPLER_QT4_TEST_CFLAGS="$POPPLER_QT4_TEST_CFLAGS"
elif test -n "$PKG_CONFIG"; then
if test -n "$PKG_CONFIG" && \
- { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"QtTest >= 4.4.0\""; } >&5
- ($PKG_CONFIG --exists --print-errors "QtTest >= 4.4.0") 2>&5
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"QtTest >= 4.7.0\""; } >&5
+ ($PKG_CONFIG --exists --print-errors "QtTest >= 4.7.0") 2>&5
ac_status=$?
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; then
- pkg_cv_POPPLER_QT4_TEST_CFLAGS=`$PKG_CONFIG --cflags "QtTest >= 4.4.0" 2>/dev/null`
+ pkg_cv_POPPLER_QT4_TEST_CFLAGS=`$PKG_CONFIG --cflags "QtTest >= 4.7.0" 2>/dev/null`
test "x$?" != "x0" && pkg_failed=yes
else
pkg_failed=yes
@@ -22227,12 +22457,12 @@ if test -n "$POPPLER_QT4_TEST_LIBS"; then
pkg_cv_POPPLER_QT4_TEST_LIBS="$POPPLER_QT4_TEST_LIBS"
elif test -n "$PKG_CONFIG"; then
if test -n "$PKG_CONFIG" && \
- { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"QtTest >= 4.4.0\""; } >&5
- ($PKG_CONFIG --exists --print-errors "QtTest >= 4.4.0") 2>&5
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"QtTest >= 4.7.0\""; } >&5
+ ($PKG_CONFIG --exists --print-errors "QtTest >= 4.7.0") 2>&5
ac_status=$?
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; then
- pkg_cv_POPPLER_QT4_TEST_LIBS=`$PKG_CONFIG --libs "QtTest >= 4.4.0" 2>/dev/null`
+ pkg_cv_POPPLER_QT4_TEST_LIBS=`$PKG_CONFIG --libs "QtTest >= 4.7.0" 2>/dev/null`
test "x$?" != "x0" && pkg_failed=yes
else
pkg_failed=yes
@@ -22253,14 +22483,14 @@ else
_pkg_short_errors_supported=no
fi
if test $_pkg_short_errors_supported = yes; then
- POPPLER_QT4_TEST_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "QtTest >= 4.4.0" 2>&1`
+ POPPLER_QT4_TEST_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "QtTest >= 4.7.0" 2>&1`
else
- POPPLER_QT4_TEST_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "QtTest >= 4.4.0" 2>&1`
+ POPPLER_QT4_TEST_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "QtTest >= 4.7.0" 2>&1`
fi
# Put the nasty error message in config.log where it belongs
echo "$POPPLER_QT4_TEST_PKG_ERRORS" >&5
- as_fn_error $? "Package requirements (QtTest >= 4.4.0) were not met:
+ as_fn_error $? "Package requirements (QtTest >= 4.7.0) were not met:
$POPPLER_QT4_TEST_PKG_ERRORS
@@ -22302,12 +22532,12 @@ if test -n "$POPPLER_QT4_CFLAGS"; then
pkg_cv_POPPLER_QT4_CFLAGS="$POPPLER_QT4_CFLAGS"
elif test -n "$PKG_CONFIG"; then
if test -n "$PKG_CONFIG" && \
- { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"QtCore >= 4.4.0 QtGui >= 4.4.0 QtXml >= 4.4.0\""; } >&5
- ($PKG_CONFIG --exists --print-errors "QtCore >= 4.4.0 QtGui >= 4.4.0 QtXml >= 4.4.0") 2>&5
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"QtCore >= 4.7.0 QtGui >= 4.7.0 QtXml >= 4.7.0\""; } >&5
+ ($PKG_CONFIG --exists --print-errors "QtCore >= 4.7.0 QtGui >= 4.7.0 QtXml >= 4.7.0") 2>&5
ac_status=$?
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; then
- pkg_cv_POPPLER_QT4_CFLAGS=`$PKG_CONFIG --cflags "QtCore >= 4.4.0 QtGui >= 4.4.0 QtXml >= 4.4.0" 2>/dev/null`
+ pkg_cv_POPPLER_QT4_CFLAGS=`$PKG_CONFIG --cflags "QtCore >= 4.7.0 QtGui >= 4.7.0 QtXml >= 4.7.0" 2>/dev/null`
test "x$?" != "x0" && pkg_failed=yes
else
pkg_failed=yes
@@ -22319,12 +22549,12 @@ if test -n "$POPPLER_QT4_LIBS"; then
pkg_cv_POPPLER_QT4_LIBS="$POPPLER_QT4_LIBS"
elif test -n "$PKG_CONFIG"; then
if test -n "$PKG_CONFIG" && \
- { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"QtCore >= 4.4.0 QtGui >= 4.4.0 QtXml >= 4.4.0\""; } >&5
- ($PKG_CONFIG --exists --print-errors "QtCore >= 4.4.0 QtGui >= 4.4.0 QtXml >= 4.4.0") 2>&5
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"QtCore >= 4.7.0 QtGui >= 4.7.0 QtXml >= 4.7.0\""; } >&5
+ ($PKG_CONFIG --exists --print-errors "QtCore >= 4.7.0 QtGui >= 4.7.0 QtXml >= 4.7.0") 2>&5
ac_status=$?
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; then
- pkg_cv_POPPLER_QT4_LIBS=`$PKG_CONFIG --libs "QtCore >= 4.4.0 QtGui >= 4.4.0 QtXml >= 4.4.0" 2>/dev/null`
+ pkg_cv_POPPLER_QT4_LIBS=`$PKG_CONFIG --libs "QtCore >= 4.7.0 QtGui >= 4.7.0 QtXml >= 4.7.0" 2>/dev/null`
test "x$?" != "x0" && pkg_failed=yes
else
pkg_failed=yes
@@ -22345,9 +22575,9 @@ else
_pkg_short_errors_supported=no
fi
if test $_pkg_short_errors_supported = yes; then
- POPPLER_QT4_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "QtCore >= 4.4.0 QtGui >= 4.4.0 QtXml >= 4.4.0" 2>&1`
+ POPPLER_QT4_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "QtCore >= 4.7.0 QtGui >= 4.7.0 QtXml >= 4.7.0" 2>&1`
else
- POPPLER_QT4_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "QtCore >= 4.4.0 QtGui >= 4.4.0 QtXml >= 4.4.0" 2>&1`
+ POPPLER_QT4_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "QtCore >= 4.7.0 QtGui >= 4.7.0 QtXml >= 4.7.0" 2>&1`
fi
# Put the nasty error message in config.log where it belongs
echo "$POPPLER_QT4_PKG_ERRORS" >&5
@@ -22374,12 +22604,12 @@ if test -n "$POPPLER_QT4_TEST_CFLAGS"; then
pkg_cv_POPPLER_QT4_TEST_CFLAGS="$POPPLER_QT4_TEST_CFLAGS"
elif test -n "$PKG_CONFIG"; then
if test -n "$PKG_CONFIG" && \
- { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"QtTest >= 4.4.0\""; } >&5
- ($PKG_CONFIG --exists --print-errors "QtTest >= 4.4.0") 2>&5
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"QtTest >= 4.7.0\""; } >&5
+ ($PKG_CONFIG --exists --print-errors "QtTest >= 4.7.0") 2>&5
ac_status=$?
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; then
- pkg_cv_POPPLER_QT4_TEST_CFLAGS=`$PKG_CONFIG --cflags "QtTest >= 4.4.0" 2>/dev/null`
+ pkg_cv_POPPLER_QT4_TEST_CFLAGS=`$PKG_CONFIG --cflags "QtTest >= 4.7.0" 2>/dev/null`
test "x$?" != "x0" && pkg_failed=yes
else
pkg_failed=yes
@@ -22391,12 +22621,12 @@ if test -n "$POPPLER_QT4_TEST_LIBS"; then
pkg_cv_POPPLER_QT4_TEST_LIBS="$POPPLER_QT4_TEST_LIBS"
elif test -n "$PKG_CONFIG"; then
if test -n "$PKG_CONFIG" && \
- { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"QtTest >= 4.4.0\""; } >&5
- ($PKG_CONFIG --exists --print-errors "QtTest >= 4.4.0") 2>&5
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"QtTest >= 4.7.0\""; } >&5
+ ($PKG_CONFIG --exists --print-errors "QtTest >= 4.7.0") 2>&5
ac_status=$?
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; then
- pkg_cv_POPPLER_QT4_TEST_LIBS=`$PKG_CONFIG --libs "QtTest >= 4.4.0" 2>/dev/null`
+ pkg_cv_POPPLER_QT4_TEST_LIBS=`$PKG_CONFIG --libs "QtTest >= 4.7.0" 2>/dev/null`
test "x$?" != "x0" && pkg_failed=yes
else
pkg_failed=yes
@@ -22417,9 +22647,9 @@ else
_pkg_short_errors_supported=no
fi
if test $_pkg_short_errors_supported = yes; then
- POPPLER_QT4_TEST_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "QtTest >= 4.4.0" 2>&1`
+ POPPLER_QT4_TEST_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "QtTest >= 4.7.0" 2>&1`
else
- POPPLER_QT4_TEST_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "QtTest >= 4.4.0" 2>&1`
+ POPPLER_QT4_TEST_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "QtTest >= 4.7.0" 2>&1`
fi
# Put the nasty error message in config.log where it belongs
echo "$POPPLER_QT4_TEST_PKG_ERRORS" >&5
@@ -23100,7 +23330,7 @@ fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for Qt5 moc" >&5
$as_echo_n "checking for Qt5 moc... " >&6; }
mocversion=`$MOCQT5 -v 2>&1`
- mocversiongrep=`echo $mocversion | grep "Qt 5"`
+ mocversiongrep=`echo $mocversion | grep "Qt 5\|moc 5"`
if test x"$mocversiongrep" != x"$mocversion"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
@@ -23200,7 +23430,7 @@ fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for Qt5 moc-qt5" >&5
$as_echo_n "checking for Qt5 moc-qt5... " >&6; }
mocversion=`$MOCQT52 -v 2>&1`
- mocversiongrep=`echo $mocversion | grep "Qt 5"`
+ mocversiongrep=`echo $mocversion | grep "Qt 5\|moc-qt5 5\|moc 5"`
if test x"$mocversiongrep" != x"$mocversion"; then
if test -n "$ac_tool_prefix"; then
# Extract the first word of "${ac_tool_prefix}qtchooser", so it can be a program name with args.
@@ -23298,7 +23528,7 @@ fi
$as_echo_n "checking for qtchooser... " >&6; }
qt5tooldir=`QT_SELECT=qt5 qtchooser -print-env | grep QTTOOLDIR | cut -d '=' -f 2 | cut -d \" -f 2`
mocversion=`$qt5tooldir/moc -v 2>&1`
- mocversiongrep=`echo $mocversion | grep "Qt 5"`
+ mocversiongrep=`echo $mocversion | grep "Qt 5\|moc 5"`
if test x"$mocversiongrep" != x"$mocversion"; then
# no valid moc found
enable_poppler_qt5=no;
@@ -23489,7 +23719,7 @@ fi
done
if test -z "$already_handled"; then
names_already_handled="$names_already_handled $name"
- uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./-|ABCDEFGHIJKLMNOPQRSTUVWXYZ___|'`
+ uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./+-|ABCDEFGHIJKLMNOPQRSTUVWXYZ____|'`
eval value=\"\$HAVE_LIB$uppername\"
if test -n "$value"; then
if test "$value" = yes; then
@@ -24162,12 +24392,12 @@ if test -n "$GTK_TEST_CFLAGS"; then
pkg_cv_GTK_TEST_CFLAGS="$GTK_TEST_CFLAGS"
elif test -n "$PKG_CONFIG"; then
if test -n "$PKG_CONFIG" && \
- { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"gtk+-3.0 >= 3.0 gdk-pixbuf-2.0\""; } >&5
- ($PKG_CONFIG --exists --print-errors "gtk+-3.0 >= 3.0 gdk-pixbuf-2.0") 2>&5
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"gtk+-3.0 >= 3.8 gdk-pixbuf-2.0\""; } >&5
+ ($PKG_CONFIG --exists --print-errors "gtk+-3.0 >= 3.8 gdk-pixbuf-2.0") 2>&5
ac_status=$?
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; then
- pkg_cv_GTK_TEST_CFLAGS=`$PKG_CONFIG --cflags "gtk+-3.0 >= 3.0 gdk-pixbuf-2.0" 2>/dev/null`
+ pkg_cv_GTK_TEST_CFLAGS=`$PKG_CONFIG --cflags "gtk+-3.0 >= 3.8 gdk-pixbuf-2.0" 2>/dev/null`
test "x$?" != "x0" && pkg_failed=yes
else
pkg_failed=yes
@@ -24179,12 +24409,12 @@ if test -n "$GTK_TEST_LIBS"; then
pkg_cv_GTK_TEST_LIBS="$GTK_TEST_LIBS"
elif test -n "$PKG_CONFIG"; then
if test -n "$PKG_CONFIG" && \
- { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"gtk+-3.0 >= 3.0 gdk-pixbuf-2.0\""; } >&5
- ($PKG_CONFIG --exists --print-errors "gtk+-3.0 >= 3.0 gdk-pixbuf-2.0") 2>&5
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"gtk+-3.0 >= 3.8 gdk-pixbuf-2.0\""; } >&5
+ ($PKG_CONFIG --exists --print-errors "gtk+-3.0 >= 3.8 gdk-pixbuf-2.0") 2>&5
ac_status=$?
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; then
- pkg_cv_GTK_TEST_LIBS=`$PKG_CONFIG --libs "gtk+-3.0 >= 3.0 gdk-pixbuf-2.0" 2>/dev/null`
+ pkg_cv_GTK_TEST_LIBS=`$PKG_CONFIG --libs "gtk+-3.0 >= 3.8 gdk-pixbuf-2.0" 2>/dev/null`
test "x$?" != "x0" && pkg_failed=yes
else
pkg_failed=yes
@@ -24205,14 +24435,14 @@ else
_pkg_short_errors_supported=no
fi
if test $_pkg_short_errors_supported = yes; then
- GTK_TEST_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "gtk+-3.0 >= 3.0 gdk-pixbuf-2.0" 2>&1`
+ GTK_TEST_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "gtk+-3.0 >= 3.8 gdk-pixbuf-2.0" 2>&1`
else
- GTK_TEST_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "gtk+-3.0 >= 3.0 gdk-pixbuf-2.0" 2>&1`
+ GTK_TEST_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "gtk+-3.0 >= 3.8 gdk-pixbuf-2.0" 2>&1`
fi
# Put the nasty error message in config.log where it belongs
echo "$GTK_TEST_PKG_ERRORS" >&5
- as_fn_error $? "Package requirements (gtk+-3.0 >= 3.0 gdk-pixbuf-2.0) were not met:
+ as_fn_error $? "Package requirements (gtk+-3.0 >= 3.8 gdk-pixbuf-2.0) were not met:
$GTK_TEST_PKG_ERRORS
@@ -24254,12 +24484,12 @@ if test -n "$GTK_TEST_CFLAGS"; then
pkg_cv_GTK_TEST_CFLAGS="$GTK_TEST_CFLAGS"
elif test -n "$PKG_CONFIG"; then
if test -n "$PKG_CONFIG" && \
- { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"gtk+-3.0 >= 3.0 gdk-pixbuf-2.0\""; } >&5
- ($PKG_CONFIG --exists --print-errors "gtk+-3.0 >= 3.0 gdk-pixbuf-2.0") 2>&5
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"gtk+-3.0 >= 3.8 gdk-pixbuf-2.0\""; } >&5
+ ($PKG_CONFIG --exists --print-errors "gtk+-3.0 >= 3.8 gdk-pixbuf-2.0") 2>&5
ac_status=$?
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; then
- pkg_cv_GTK_TEST_CFLAGS=`$PKG_CONFIG --cflags "gtk+-3.0 >= 3.0 gdk-pixbuf-2.0" 2>/dev/null`
+ pkg_cv_GTK_TEST_CFLAGS=`$PKG_CONFIG --cflags "gtk+-3.0 >= 3.8 gdk-pixbuf-2.0" 2>/dev/null`
test "x$?" != "x0" && pkg_failed=yes
else
pkg_failed=yes
@@ -24271,12 +24501,12 @@ if test -n "$GTK_TEST_LIBS"; then
pkg_cv_GTK_TEST_LIBS="$GTK_TEST_LIBS"
elif test -n "$PKG_CONFIG"; then
if test -n "$PKG_CONFIG" && \
- { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"gtk+-3.0 >= 3.0 gdk-pixbuf-2.0\""; } >&5
- ($PKG_CONFIG --exists --print-errors "gtk+-3.0 >= 3.0 gdk-pixbuf-2.0") 2>&5
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"gtk+-3.0 >= 3.8 gdk-pixbuf-2.0\""; } >&5
+ ($PKG_CONFIG --exists --print-errors "gtk+-3.0 >= 3.8 gdk-pixbuf-2.0") 2>&5
ac_status=$?
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; then
- pkg_cv_GTK_TEST_LIBS=`$PKG_CONFIG --libs "gtk+-3.0 >= 3.0 gdk-pixbuf-2.0" 2>/dev/null`
+ pkg_cv_GTK_TEST_LIBS=`$PKG_CONFIG --libs "gtk+-3.0 >= 3.8 gdk-pixbuf-2.0" 2>/dev/null`
test "x$?" != "x0" && pkg_failed=yes
else
pkg_failed=yes
@@ -24297,9 +24527,9 @@ else
_pkg_short_errors_supported=no
fi
if test $_pkg_short_errors_supported = yes; then
- GTK_TEST_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "gtk+-3.0 >= 3.0 gdk-pixbuf-2.0" 2>&1`
+ GTK_TEST_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "gtk+-3.0 >= 3.8 gdk-pixbuf-2.0" 2>&1`
else
- GTK_TEST_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "gtk+-3.0 >= 3.0 gdk-pixbuf-2.0" 2>&1`
+ GTK_TEST_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "gtk+-3.0 >= 3.8 gdk-pixbuf-2.0" 2>&1`
fi
# Put the nasty error message in config.log where it belongs
echo "$GTK_TEST_PKG_ERRORS" >&5
@@ -24771,11 +25001,11 @@ esac
POPPLER_MAJOR_VERSION=0
-POPPLER_MINOR_VERSION=24
+POPPLER_MINOR_VERSION=26
-POPPLER_MICRO_VERSION=1
+POPPLER_MICRO_VERSION=5
-POPPLER_VERSION=0.24.1
+POPPLER_VERSION=0.26.5
ac_config_files="$ac_config_files Makefile goo/Makefile fofi/Makefile splash/Makefile poppler/Makefile utils/Makefile glib/Makefile glib/poppler-features.h glib/reference/Makefile glib/reference/version.xml glib/demo/Makefile test/Makefile qt4/Makefile qt4/src/Makefile qt4/tests/Makefile qt4/demos/Makefile qt5/Makefile qt5/src/Makefile qt5/tests/Makefile qt5/demos/Makefile cpp/Makefile cpp/poppler-version.h cpp/tests/Makefile poppler.pc poppler-uninstalled.pc poppler-cairo.pc poppler-cairo-uninstalled.pc poppler-splash.pc poppler-splash-uninstalled.pc poppler-glib.pc poppler-glib-uninstalled.pc poppler-qt4.pc poppler-qt4-uninstalled.pc poppler-qt5.pc poppler-qt5-uninstalled.pc poppler-cpp.pc poppler-cpp-uninstalled.pc"
@@ -24978,6 +25208,10 @@ if test -z "${HAVE_INTROSPECTION_TRUE}" && test -z "${HAVE_INTROSPECTION_FALSE}"
as_fn_error $? "conditional \"HAVE_INTROSPECTION\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
+if test -z "${HAVE_GTK_DOC_TRUE}" && test -z "${HAVE_GTK_DOC_FALSE}"; then
+ as_fn_error $? "conditional \"HAVE_GTK_DOC\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
if test -z "${ENABLE_GTK_DOC_TRUE}" && test -z "${ENABLE_GTK_DOC_FALSE}"; then
as_fn_error $? "conditional \"ENABLE_GTK_DOC\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5
@@ -25423,7 +25657,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by poppler $as_me 0.24.1, which was
+This file was extended by poppler $as_me 0.26.5, which was
generated by GNU Autoconf 2.69. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -25489,7 +25723,7 @@ _ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\
-poppler config.status 0.24.1
+poppler config.status 0.26.5
configured by $0, generated by GNU Autoconf 2.69,
with options \\"\$ac_cs_config\\"
diff --git a/configure.ac b/configure.ac
index 3d236562..5f2a424a 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,6 +1,6 @@
m4_define([poppler_version_major],[0])
-m4_define([poppler_version_minor],[24])
-m4_define([poppler_version_micro],[1])
+m4_define([poppler_version_minor],[26])
+m4_define([poppler_version_micro],[5])
m4_define([poppler_version],[poppler_version_major.poppler_version_minor.poppler_version_micro])
AC_PREREQ(2.59)
@@ -25,21 +25,6 @@ AC_PROG_CC_STDC
# CXX="gcc"
#fi
AC_PROG_CXX
-if test "x$GXX" = "xyes"; then
- case "$host_os" in
- cygwin* | mingw*)
- ;;
- *)
- case "${CXXFLAGS}" in
- *-std=*)
- ;;
- *)
- CXXFLAGS="$CXXFLAGS -ansi"
- ;;
- esac
- ;;
- esac
-fi
AC_PROG_INSTALL
dnl ##### Check for pkgconfig
@@ -188,7 +173,10 @@ if test x$enable_libopenjpeg = xyes; then
AC_DEFINE(ENABLE_LIBOPENJPEG)
PKG_CHECK_EXISTS(libopenjpeg >= 1.5,
[AC_DEFINE(WITH_OPENJPEG_IGNORE_PCLR_CMAP_CDEF_FLAG, 1, [OpenJPEG with the OPJ_DPARAMETERS_IGNORE_PCLR_CMAP_CDEF_FLAG flag.])],
- [])
+ [PKG_CHECK_EXISTS(libopenjpeg1 >= 1.5,
+ [AC_DEFINE(WITH_OPENJPEG_IGNORE_PCLR_CMAP_CDEF_FLAG, 1, [OpenJPEG with the OPJ_DPARAMETERS_IGNORE_PCLR_CMAP_CDEF_FLAG flag.])],
+ [])
+ ])
fi
AM_CONDITIONAL(BUILD_LIBOPENJPEG, test x$enable_libopenjpeg = xyes)
@@ -241,7 +229,7 @@ if test x$enable_libtiff = xyes; then
if test x"$LIBTIFF_LIBS" = x; then
LIBTIFF_LIBS="-ltiff"
fi
- AC_SUBST(LIBTIFF_CFLAGSS)
+ AC_SUBST(LIBTIFF_CFLAGS)
AC_SUBST(LIBTIFF_LIBS)
AC_DEFINE(ENABLE_LIBTIFF)
fi
@@ -580,17 +568,17 @@ AC_ARG_ENABLE(poppler-qt4,
enable_poppler_qt4="try")
if test x$enable_poppler_qt4 = xyes; then
PKG_CHECK_MODULES(POPPLER_QT4,
- QtCore >= 4.4.0 QtGui >= 4.4.0 QtXml >= 4.4.0)
+ QtCore >= 4.7.0 QtGui >= 4.7.0 QtXml >= 4.7.0)
PKG_CHECK_MODULES(POPPLER_QT4_TEST,
- QtTest >= 4.4.0)
+ QtTest >= 4.7.0)
elif test x$enable_poppler_qt4 = xtry; then
PKG_CHECK_MODULES(POPPLER_QT4,
- QtCore >= 4.4.0 QtGui >= 4.4.0 QtXml >= 4.4.0,
+ QtCore >= 4.7.0 QtGui >= 4.7.0 QtXml >= 4.7.0,
[enable_poppler_qt4="yes"],
[enable_poppler_qt4="no"])
if test x$enable_poppler_qt4 = xyes; then
PKG_CHECK_MODULES(POPPLER_QT4_TEST,
- QtTest >= 4.4.0,
+ QtTest >= 4.7.0,
[enable_poppler_qt4="yes"],
[enable_poppler_qt4="no"])
fi
@@ -661,20 +649,20 @@ if test x$enable_poppler_qt5 = xyes; then
AC_CHECK_TOOL(MOCQT5, moc)
AC_MSG_CHECKING([for Qt5 moc])
mocversion=`$MOCQT5 -v 2>&1`
- mocversiongrep=`echo $mocversion | grep "Qt 5"`
+ mocversiongrep=`echo $mocversion | grep "Qt 5\|moc 5"`
if test x"$mocversiongrep" != x"$mocversion"; then
AC_MSG_RESULT([no])
# moc was not the qt5 one, try with moc-qt5
AC_CHECK_TOOL(MOCQT52, moc-qt5)
AC_MSG_CHECKING([for Qt5 moc-qt5])
mocversion=`$MOCQT52 -v 2>&1`
- mocversiongrep=`echo $mocversion | grep "Qt 5"`
+ mocversiongrep=`echo $mocversion | grep "Qt 5\|moc-qt5 5\|moc 5"`
if test x"$mocversiongrep" != x"$mocversion"; then
AC_CHECK_TOOL(QTCHOOSER, qtchooser)
AC_MSG_CHECKING([for qtchooser])
qt5tooldir=`QT_SELECT=qt5 qtchooser -print-env | grep QTTOOLDIR | cut -d '=' -f 2 | cut -d \" -f 2`
mocversion=`$qt5tooldir/moc -v 2>&1`
- mocversiongrep=`echo $mocversion | grep "Qt 5"`
+ mocversiongrep=`echo $mocversion | grep "Qt 5\|moc 5"`
if test x"$mocversiongrep" != x"$mocversion"; then
# no valid moc found
enable_poppler_qt5=no;
@@ -717,9 +705,9 @@ AC_ARG_ENABLE(gtk-test,
enable_gtk_test=$enableval,
enable_gtk_test="try")
if test x$enable_gtk_test = xyes; then
- PKG_CHECK_MODULES(GTK_TEST, gtk+-3.0 >= 3.0 gdk-pixbuf-2.0)
+ PKG_CHECK_MODULES(GTK_TEST, gtk+-3.0 >= 3.8 gdk-pixbuf-2.0)
elif test x$enable_gtk_test = xtry; then
- PKG_CHECK_MODULES(GTK_TEST, gtk+-3.0 >= 3.0 gdk-pixbuf-2.0,
+ PKG_CHECK_MODULES(GTK_TEST, gtk+-3.0 >= 3.8 gdk-pixbuf-2.0,
[enable_gtk_test="yes"],
[enable_gtk_test="no"])
fi
diff --git a/cpp/CMakeLists.txt b/cpp/CMakeLists.txt
index af61606a..e606988a 100644
--- a/cpp/CMakeLists.txt
+++ b/cpp/CMakeLists.txt
@@ -8,7 +8,6 @@ configure_file(poppler-version.h.in ${CMAKE_CURRENT_BINARY_DIR}/poppler-version.
add_subdirectory(tests)
set(poppler_cpp_SRCS
- PNMWriter.cc
poppler-document.cpp
poppler-embedded-file.cpp
poppler-font.cpp
diff --git a/cpp/Makefile.am b/cpp/Makefile.am
index f381e581..50856e2c 100644
--- a/cpp/Makefile.am
+++ b/cpp/Makefile.am
@@ -41,8 +41,6 @@ poppler_include_HEADERS = \
lib_LTLIBRARIES = libpoppler-cpp.la
libpoppler_cpp_la_SOURCES = \
- PNMWriter.cc \
- PNMWriter.h \
poppler-document.cpp \
poppler-document-private.h \
poppler-embedded-file.cpp \
diff --git a/cpp/Makefile.in b/cpp/Makefile.in
index 3ae55142..8b5c4a0c 100644
--- a/cpp/Makefile.in
+++ b/cpp/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.13.3 from Makefile.am.
+# Makefile.in generated by automake 1.14.1 from Makefile.am.
# @configure_input@
# Copyright (C) 1994-2013 Free Software Foundation, Inc.
@@ -131,8 +131,7 @@ LTLIBRARIES = $(lib_LTLIBRARIES)
am__DEPENDENCIES_1 =
libpoppler_cpp_la_DEPENDENCIES = \
$(top_builddir)/poppler/libpoppler.la $(am__DEPENDENCIES_1)
-am_libpoppler_cpp_la_OBJECTS = libpoppler_cpp_la-PNMWriter.lo \
- libpoppler_cpp_la-poppler-document.lo \
+am_libpoppler_cpp_la_OBJECTS = libpoppler_cpp_la-poppler-document.lo \
libpoppler_cpp_la-poppler-embedded-file.lo \
libpoppler_cpp_la-poppler-font.lo \
libpoppler_cpp_la-poppler-global.lo \
@@ -320,6 +319,7 @@ GLIB_REQ = @GLIB_REQ@
GLIB_REQUIRED = @GLIB_REQUIRED@
GREP = @GREP@
GTKDOC_CHECK = @GTKDOC_CHECK@
+GTKDOC_CHECK_PATH = @GTKDOC_CHECK_PATH@
GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
GTKDOC_MKPDF = @GTKDOC_MKPDF@
@@ -356,7 +356,6 @@ LIBPNG_CFLAGS = @LIBPNG_CFLAGS@
LIBPNG_LIBS = @LIBPNG_LIBS@
LIBS = @LIBS@
LIBTIFF_CFLAGS = @LIBTIFF_CFLAGS@
-LIBTIFF_CFLAGSS = @LIBTIFF_CFLAGSS@
LIBTIFF_LIBS = @LIBTIFF_LIBS@
LIBTOOL = @LIBTOOL@
LIPO = @LIPO@
@@ -514,8 +513,6 @@ poppler_include_HEADERS = \
lib_LTLIBRARIES = libpoppler-cpp.la
libpoppler_cpp_la_SOURCES = \
- PNMWriter.cc \
- PNMWriter.h \
poppler-document.cpp \
poppler-document-private.h \
poppler-embedded-file.cpp \
@@ -546,7 +543,7 @@ libpoppler_cpp_la_LDFLAGS = -version-info 2:0:2 @create_shared_lib@ @auto_import
all: all-recursive
.SUFFIXES:
-.SUFFIXES: .cc .cpp .lo .o .obj
+.SUFFIXES: .cpp .lo .o .obj
$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
@for dep in $?; do \
case '$(am__configure_deps)' in \
@@ -624,7 +621,6 @@ mostlyclean-compile:
distclean-compile:
-rm -f *.tab.c
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libpoppler_cpp_la-PNMWriter.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libpoppler_cpp_la-poppler-document.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libpoppler_cpp_la-poppler-embedded-file.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libpoppler_cpp_la-poppler-font.Plo@am__quote@
@@ -638,34 +634,27 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libpoppler_cpp_la-poppler-toc.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libpoppler_cpp_la-poppler-version.Plo@am__quote@
-.cc.o:
+.cpp.o:
@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ $<
-.cc.obj:
+.cpp.obj:
@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
-.cc.lo:
+.cpp.lo:
@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LTCXXCOMPILE) -c -o $@ $<
-libpoppler_cpp_la-PNMWriter.lo: PNMWriter.cc
-@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libpoppler_cpp_la_CXXFLAGS) $(CXXFLAGS) -MT libpoppler_cpp_la-PNMWriter.lo -MD -MP -MF $(DEPDIR)/libpoppler_cpp_la-PNMWriter.Tpo -c -o libpoppler_cpp_la-PNMWriter.lo `test -f 'PNMWriter.cc' || echo '$(srcdir)/'`PNMWriter.cc
-@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libpoppler_cpp_la-PNMWriter.Tpo $(DEPDIR)/libpoppler_cpp_la-PNMWriter.Plo
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='PNMWriter.cc' object='libpoppler_cpp_la-PNMWriter.lo' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libpoppler_cpp_la_CXXFLAGS) $(CXXFLAGS) -c -o libpoppler_cpp_la-PNMWriter.lo `test -f 'PNMWriter.cc' || echo '$(srcdir)/'`PNMWriter.cc
-
libpoppler_cpp_la-poppler-document.lo: poppler-document.cpp
@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libpoppler_cpp_la_CXXFLAGS) $(CXXFLAGS) -MT libpoppler_cpp_la-poppler-document.lo -MD -MP -MF $(DEPDIR)/libpoppler_cpp_la-poppler-document.Tpo -c -o libpoppler_cpp_la-poppler-document.lo `test -f 'poppler-document.cpp' || echo '$(srcdir)/'`poppler-document.cpp
@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libpoppler_cpp_la-poppler-document.Tpo $(DEPDIR)/libpoppler_cpp_la-poppler-document.Plo
@@ -750,27 +739,6 @@ libpoppler_cpp_la-poppler-version.lo: poppler-version.cpp
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libpoppler_cpp_la_CXXFLAGS) $(CXXFLAGS) -c -o libpoppler_cpp_la-poppler-version.lo `test -f 'poppler-version.cpp' || echo '$(srcdir)/'`poppler-version.cpp
-.cpp.o:
-@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
-@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ $<
-
-.cpp.obj:
-@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
-@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
-
-.cpp.lo:
-@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
-@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LTCXXCOMPILE) -c -o $@ $<
-
mostlyclean-libtool:
-rm -f *.lo
diff --git a/cpp/PNMWriter.cc b/cpp/PNMWriter.cc
deleted file mode 100644
index a2b9a777..00000000
--- a/cpp/PNMWriter.cc
+++ /dev/null
@@ -1,119 +0,0 @@
-//========================================================================
-//
-// PNMWriter.cc
-//
-// This file is licensed under the GPLv2 or later
-//
-// Copyright (C) 2011 Pino Toscano <pino@kde.org>
-//
-//========================================================================
-
-#include "PNMWriter.h"
-
-#include <vector>
-
-using namespace poppler;
-
-PNMWriter::PNMWriter(OutFormat formatArg)
- : format(formatArg)
- , file(0)
- , imgWidth(0)
- , rowSize(0)
-{
-}
-
-PNMWriter::~PNMWriter()
-{
-}
-
-bool PNMWriter::init(FILE *f, int width, int height, int /*hDPI*/, int /*vDPI*/)
-{
- file = f;
- imgWidth = width;
-
- switch (format)
- {
- case PNMWriter::PBM:
- fprintf(file, "P4\n%d %d\n", width, height);
- rowSize = (width + 7) >> 3;
- break;
- case PNMWriter::PGM:
- fprintf(file, "P5\n%d %d\n255\n", width, height);
- rowSize = width;
- break;
- case PNMWriter::PPM:
- fprintf(file, "P6\n%d %d\n255\n", width, height);
- rowSize = width * 3;
- break;
- }
-
- return true;
-}
-
-bool PNMWriter::writePointers(unsigned char **rowPointers, int rowCount)
-{
- bool ret = true;
- for (int i = 0; ret && (i < rowCount); ++i) {
- ret = writeRow(&(rowPointers[i]));
- }
-
- return ret;
-}
-
-bool PNMWriter::writeRow(unsigned char **row)
-{
- std::vector<unsigned char> newRow;
- unsigned char *rowPtr = *row;
- unsigned char *p = *row;
-
- switch (format)
- {
- case PNMWriter::PBM:
- newRow.resize(rowSize, 0);
- rowPtr = &newRow[0];
- for (int i = 0; i < imgWidth; ++i) {
- unsigned char pixel = p[0];
- if (p[0] == p[1] && p[1] == p[2]) {
- // gray, stored already
- } else {
- pixel = static_cast<unsigned char>((p[0] * 11 + p[1] * 16 + p[2] * 5) / 32);
- }
- if (pixel < 0x7F) {
- *(rowPtr + (i >> 3)) |= (1 << (i & 7));
- }
- p += 3;
- }
- break;
- case PNMWriter::PGM:
- newRow.resize(rowSize, 0);
- rowPtr = &newRow[0];
- for (int i = 0; i < imgWidth; ++i) {
- if (p[0] == p[1] && p[1] == p[2]) {
- // gray, store directly
- newRow[i] = p[0];
- } else {
- // calculate the gray value
- newRow[i] = static_cast<unsigned char>((p[0] * 11 + p[1] * 16 + p[2] * 5) / 32);
- }
- p += 3;
- }
- break;
- case PNMWriter::PPM:
- break;
- }
-
- if (int(fwrite(rowPtr, 1, rowSize, file)) < rowSize) {
- return false;
- }
-
- return true;
-}
-
-bool PNMWriter::close()
-{
- file = 0;
- imgWidth = 0;
- rowSize = 0;
-
- return true;
-}
diff --git a/cpp/PNMWriter.h b/cpp/PNMWriter.h
deleted file mode 100644
index 8d8da2d9..00000000
--- a/cpp/PNMWriter.h
+++ /dev/null
@@ -1,43 +0,0 @@
-//========================================================================
-//
-// PNMWriter.h
-//
-// This file is licensed under the GPLv2 or later
-//
-// Copyright (C) 2011 Pino Toscano <pino@kde.org>
-//
-//========================================================================
-
-#ifndef PNMWRITER_H
-#define PNMWRITER_H
-
-#include "ImgWriter.h"
-
-namespace poppler
-{
-
-class PNMWriter : public ImgWriter
-{
- public:
- enum OutFormat { PBM, PGM, PPM };
-
- PNMWriter(OutFormat formatArg);
- ~PNMWriter();
-
- bool init(FILE *f, int width, int height, int hDPI, int vDPI);
-
- bool writePointers(unsigned char **rowPointers, int rowCount);
- bool writeRow(unsigned char **row);
-
- bool close();
-
- private:
- const OutFormat format;
- FILE *file;
- int imgWidth;
- int rowSize;
-};
-
-}
-
-#endif
diff --git a/cpp/poppler-font.cpp b/cpp/poppler-font.cpp
index ab3b4091..e766b80e 100644
--- a/cpp/poppler-font.cpp
+++ b/cpp/poppler-font.cpp
@@ -37,7 +37,6 @@ public:
: type((font_info::type_enum)fi->getType())
, is_embedded(fi->getEmbedded())
, is_subset(fi->getSubset())
- , emb_ref(fi->getEmbRef())
{
if (fi->getName()) {
font_name = fi->getName()->getCString();
@@ -52,7 +51,6 @@ public:
font_info::type_enum type : 5;
bool is_embedded : 1;
bool is_subset : 1;
- Ref emb_ref;
};
diff --git a/cpp/poppler-image.cpp b/cpp/poppler-image.cpp
index 8e9ac63d..23306dfb 100644
--- a/cpp/poppler-image.cpp
+++ b/cpp/poppler-image.cpp
@@ -1,5 +1,6 @@
/*
* Copyright (C) 2010-2011, Pino Toscano <pino@kde.org>
+ * Copyright (C) 2013 Adrian Johnson <ajohnson@redneon.com>
*
* 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
@@ -31,7 +32,7 @@
#if defined(ENABLE_LIBTIFF)
#include "TiffWriter.h"
#endif
-#include "PNMWriter.h"
+#include "NetPBMWriter.h"
#include <cstdlib>
#include <cstring>
@@ -39,8 +40,6 @@
#include <memory>
#include <vector>
-using poppler::PNMWriter;
-
namespace {
struct FileCloser {
@@ -69,17 +68,17 @@ int calc_bytes_per_row(int width, poppler::image::format_enum format)
return 0;
}
-PNMWriter::OutFormat pnm_format(poppler::image::format_enum format)
+NetPBMWriter::Format pnm_format(poppler::image::format_enum format)
{
switch (format) {
case poppler::image::format_invalid: // unused, anyway
case poppler::image::format_mono:
- return PNMWriter::PBM;
+ return NetPBMWriter::MONOCHROME;
case poppler::image::format_rgb24:
case poppler::image::format_argb32:
- return PNMWriter::PPM;
+ return NetPBMWriter::RGB;
}
- return PNMWriter::PPM;
+ return NetPBMWriter::RGB;
}
}
@@ -366,7 +365,7 @@ bool image::save(const std::string &file_name, const std::string &out_format, in
}
#endif
else if (fmt == "pnm") {
- w.reset(new PNMWriter(pnm_format(d->format)));
+ w.reset(new NetPBMWriter(pnm_format(d->format)));
}
if (!w.get()) {
return false;
diff --git a/cpp/poppler-version.h b/cpp/poppler-version.h
index 6ca3facb..c9e1c161 100644
--- a/cpp/poppler-version.h
+++ b/cpp/poppler-version.h
@@ -21,10 +21,10 @@
#include "poppler-global.h"
-#define POPPLER_VERSION "0.24.1"
+#define POPPLER_VERSION "0.26.5"
#define POPPLER_VERSION_MAJOR 0
-#define POPPLER_VERSION_MINOR 24
-#define POPPLER_VERSION_MICRO 1
+#define POPPLER_VERSION_MINOR 26
+#define POPPLER_VERSION_MICRO 5
namespace poppler
{
diff --git a/cpp/tests/Makefile.in b/cpp/tests/Makefile.in
index 089d4929..508eaa2f 100644
--- a/cpp/tests/Makefile.in
+++ b/cpp/tests/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.13.3 from Makefile.am.
+# Makefile.in generated by automake 1.14.1 from Makefile.am.
# @configure_input@
# Copyright (C) 1994-2013 Free Software Foundation, Inc.
@@ -215,6 +215,7 @@ GLIB_REQ = @GLIB_REQ@
GLIB_REQUIRED = @GLIB_REQUIRED@
GREP = @GREP@
GTKDOC_CHECK = @GTKDOC_CHECK@
+GTKDOC_CHECK_PATH = @GTKDOC_CHECK_PATH@
GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
GTKDOC_MKPDF = @GTKDOC_MKPDF@
@@ -251,7 +252,6 @@ LIBPNG_CFLAGS = @LIBPNG_CFLAGS@
LIBPNG_LIBS = @LIBPNG_LIBS@
LIBS = @LIBS@
LIBTIFF_CFLAGS = @LIBTIFF_CFLAGS@
-LIBTIFF_CFLAGSS = @LIBTIFF_CFLAGSS@
LIBTIFF_LIBS = @LIBTIFF_LIBS@
LIBTOOL = @LIBTOOL@
LIPO = @LIPO@
diff --git a/fofi/FoFiTrueType.cc b/fofi/FoFiTrueType.cc
index cd11d6ff..456de902 100644
--- a/fofi/FoFiTrueType.cc
+++ b/fofi/FoFiTrueType.cc
@@ -20,6 +20,7 @@
// Copyright (C) 2008 Tomas Are Haavet <tomasare@gmail.com>
// Copyright (C) 2012 Suzuki Toshiya <mpsuzuki@hiroshima-u.ac.jp>
// Copyright (C) 2012 Adrian Johnson <ajohnson@redneon.com>
+// Copyright (C) 2014 Thomas Freitag <Thomas.Freitag@alfa.de>
//
// To see a description of the changes please see the Changelog file that
// came with your tarball or type make ChangeLog if you are building from git
@@ -1421,7 +1422,7 @@ void FoFiTrueType::parse() {
void FoFiTrueType::readPostTable() {
GooString *name;
- int tablePos, postFmt, stringIdx, stringPos;
+ int tablePos, postFmt, stringIdx, stringPos, savedStringIdx;
GBool ok;
int i, j, n, m;
@@ -1456,6 +1457,7 @@ void FoFiTrueType::readPostTable() {
nameToGID->removeInt(macGlyphNames[j]);
nameToGID->add(new GooString(macGlyphNames[j]), i);
} else {
+ savedStringIdx = stringIdx;
j -= 258;
if (j != stringIdx) {
for (stringIdx = 0, stringPos = tablePos + 34 + 2*n;
@@ -1467,13 +1469,17 @@ void FoFiTrueType::readPostTable() {
}
m = getU8(stringPos, &ok);
if (!ok || !checkRegion(stringPos + 1, m)) {
- goto err;
- }
- name = new GooString((char *)&file[stringPos + 1], m);
- nameToGID->removeInt(name);
- nameToGID->add(name, i);
- ++stringIdx;
- stringPos += 1 + m;
+ stringIdx = savedStringIdx;
+ ok = gTrue;
+ nameToGID->removeInt(macGlyphNames[j]);
+ nameToGID->add(new GooString(macGlyphNames[0]), i);
+ } else {
+ name = new GooString((char *)&file[stringPos + 1], m);
+ nameToGID->removeInt(name);
+ nameToGID->add(name, i);
+ ++stringIdx;
+ stringPos += 1 + m;
+ }
}
}
} else if (postFmt == 0x00028000) {
diff --git a/fofi/Makefile.in b/fofi/Makefile.in
index 0eb98ad7..8287f686 100644
--- a/fofi/Makefile.in
+++ b/fofi/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.13.3 from Makefile.am.
+# Makefile.in generated by automake 1.14.1 from Makefile.am.
# @configure_input@
# Copyright (C) 1994-2013 Free Software Foundation, Inc.
@@ -261,6 +261,7 @@ GLIB_REQ = @GLIB_REQ@
GLIB_REQUIRED = @GLIB_REQUIRED@
GREP = @GREP@
GTKDOC_CHECK = @GTKDOC_CHECK@
+GTKDOC_CHECK_PATH = @GTKDOC_CHECK_PATH@
GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
GTKDOC_MKPDF = @GTKDOC_MKPDF@
@@ -297,7 +298,6 @@ LIBPNG_CFLAGS = @LIBPNG_CFLAGS@
LIBPNG_LIBS = @LIBPNG_LIBS@
LIBS = @LIBS@
LIBTIFF_CFLAGS = @LIBTIFF_CFLAGS@
-LIBTIFF_CFLAGSS = @LIBTIFF_CFLAGSS@
LIBTIFF_LIBS = @LIBTIFF_LIBS@
LIBTOOL = @LIBTOOL@
LIPO = @LIPO@
diff --git a/glib/CMakeLists.txt b/glib/CMakeLists.txt
index a3a9d4c3..35a61978 100644
--- a/glib/CMakeLists.txt
+++ b/glib/CMakeLists.txt
@@ -30,6 +30,7 @@ set(poppler_glib_public_headers
poppler-movie.h
poppler-media.h
poppler.h
+ poppler-structure-element.h
)
find_program(GLIB2_MKENUMS glib-mkenums)
@@ -71,6 +72,7 @@ set(poppler_glib_SRCS
poppler.cc
poppler-cached-file-loader.cc
poppler-input-stream.cc
+ poppler-structure-element.cc
)
set(poppler_glib_generated_SRCS
${CMAKE_CURRENT_BINARY_DIR}/poppler-enums.c
diff --git a/glib/Makefile.am b/glib/Makefile.am
index a38e0523..040996ac 100644
--- a/glib/Makefile.am
+++ b/glib/Makefile.am
@@ -41,6 +41,7 @@ poppler_glib_public_headers = \
poppler-layer.h \
poppler-media.h \
poppler-movie.h \
+ poppler-structure-element.h \
poppler.h
poppler_glib_includedir = $(includedir)/poppler/glib
@@ -67,6 +68,7 @@ libpoppler_glib_la_SOURCES = \
poppler-cached-file-loader.h \
poppler-input-stream.cc \
poppler-input-stream.h \
+ poppler-structure-element.cc \
poppler.cc \
poppler-private.h
diff --git a/glib/Makefile.in b/glib/Makefile.in
index 38f89257..0052270c 100644
--- a/glib/Makefile.in
+++ b/glib/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.13.3 from Makefile.am.
+# Makefile.in generated by automake 1.14.1 from Makefile.am.
# @configure_input@
# Copyright (C) 1994-2013 Free Software Foundation, Inc.
@@ -143,7 +143,7 @@ am_libpoppler_glib_la_OBJECTS = $(am__objects_1) poppler-action.lo \
poppler-attachment.lo poppler-form-field.lo poppler-annot.lo \
poppler-layer.lo poppler-media.lo poppler-movie.lo \
poppler-cached-file-loader.lo poppler-input-stream.lo \
- poppler.lo
+ poppler-structure-element.lo poppler.lo
libpoppler_glib_la_OBJECTS = $(am_libpoppler_glib_la_OBJECTS)
AM_V_lt = $(am__v_lt_@AM_V@)
am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
@@ -323,6 +323,7 @@ GLIB_REQ = @GLIB_REQ@
GLIB_REQUIRED = @GLIB_REQUIRED@
GREP = @GREP@
GTKDOC_CHECK = @GTKDOC_CHECK@
+GTKDOC_CHECK_PATH = @GTKDOC_CHECK_PATH@
GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
GTKDOC_MKPDF = @GTKDOC_MKPDF@
@@ -359,7 +360,6 @@ LIBPNG_CFLAGS = @LIBPNG_CFLAGS@
LIBPNG_LIBS = @LIBPNG_LIBS@
LIBS = @LIBS@
LIBTIFF_CFLAGS = @LIBTIFF_CFLAGS@
-LIBTIFF_CFLAGSS = @LIBTIFF_CFLAGSS@
LIBTIFF_LIBS = @LIBTIFF_LIBS@
LIBTOOL = @LIBTOOL@
LIPO = @LIPO@
@@ -514,6 +514,7 @@ poppler_glib_public_headers = \
poppler-layer.h \
poppler-media.h \
poppler-movie.h \
+ poppler-structure-element.h \
poppler.h
poppler_glib_includedir = $(includedir)/poppler/glib
@@ -539,6 +540,7 @@ libpoppler_glib_la_SOURCES = \
poppler-cached-file-loader.h \
poppler-input-stream.cc \
poppler-input-stream.h \
+ poppler-structure-element.cc \
poppler.cc \
poppler-private.h
@@ -665,6 +667,7 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/poppler-media.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/poppler-movie.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/poppler-page.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/poppler-structure-element.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/poppler.Plo@am__quote@
.c.o:
@@ -672,14 +675,14 @@ distclean-compile:
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c $<
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $<
.c.obj:
@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c `$(CYGPATH_W) '$<'`
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
.c.lo:
@am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
diff --git a/glib/Poppler-0.18.gir b/glib/Poppler-0.18.gir
index d1040b73..e3143b79 100644
--- a/glib/Poppler-0.18.gir
+++ b/glib/Poppler-0.18.gir
@@ -187,9 +187,11 @@ and/or use gtk-doc annotations. -->
<record name="ActionLayer" c:type="PopplerActionLayer">
<doc xml:space="preserve">Action to perform over a list of layers</doc>
<field name="action" writable="1">
+ <doc xml:space="preserve">a #PopplerActionLayerAction</doc>
<type name="ActionLayerAction" c:type="PopplerActionLayerAction"/>
</field>
<field name="layers" writable="1">
+ <doc xml:space="preserve">list of #PopplerLayer&lt;!-- --&gt;s</doc>
<type name="GLib.List" c:type="GList*">
<type name="gpointer" c:type="gpointer"/>
</type>
@@ -410,7 +412,8 @@ and/or use gtk-doc annotations. -->
<method name="get_color" c:identifier="poppler_annot_get_color">
<doc xml:space="preserve">Retrieves the color of @poppler_annot.</doc>
<return-value transfer-ownership="full">
- <doc xml:space="preserve">a new allocated #PopplerColor with the color values of @poppler_annot, or %NULL. It must be freed with g_free() when done.</doc>
+ <doc xml:space="preserve">a new allocated #PopplerColor with the color values of
+ @poppler_annot, or %NULL. It must be freed with g_free() when done.</doc>
<type name="Color" c:type="PopplerColor*"/>
</return-value>
<parameters>
@@ -423,7 +426,8 @@ and/or use gtk-doc annotations. -->
<method name="get_contents" c:identifier="poppler_annot_get_contents">
<doc xml:space="preserve">Retrieves the contents of @poppler_annot.</doc>
<return-value transfer-ownership="full">
- <doc xml:space="preserve">a new allocated string with the contents of @poppler_annot. It must be freed with g_free() when done.</doc>
+ <doc xml:space="preserve">a new allocated string with the contents of @poppler_annot. It
+ must be freed with g_free() when done.</doc>
<type name="utf8" c:type="gchar*"/>
</return-value>
<parameters>
@@ -452,7 +456,8 @@ and/or use gtk-doc annotations. -->
string will be either a PDF format date or a text string.
See also #poppler_date_parse()</doc>
<return-value transfer-ownership="full">
- <doc xml:space="preserve">a new allocated string with the last modification data of @poppler_annot. It must be freed with g_free() when done.</doc>
+ <doc xml:space="preserve">a new allocated string with the last modification data of
+ @poppler_annot. It must be freed with g_free() when done.</doc>
<type name="utf8" c:type="gchar*"/>
</return-value>
<parameters>
@@ -465,7 +470,8 @@ See also #poppler_date_parse()</doc>
<method name="get_name" c:identifier="poppler_annot_get_name">
<doc xml:space="preserve">Retrieves the name of @poppler_annot.</doc>
<return-value transfer-ownership="full">
- <doc xml:space="preserve">a new allocated string with the name of @poppler_annot. It must be freed with g_free() when done.</doc>
+ <doc xml:space="preserve">a new allocated string with the name of @poppler_annot. It must
+ be freed with g_free() when done.</doc>
<type name="utf8" c:type="gchar*"/>
</return-value>
<parameters>
@@ -490,6 +496,28 @@ See also #poppler_date_parse()</doc>
</instance-parameter>
</parameters>
</method>
+ <method name="get_rectangle"
+ c:identifier="poppler_annot_get_rectangle"
+ version="0.26">
+ <doc xml:space="preserve">Retrieves the rectangle representing the page coordinates where the
+annotation @poppler_annot is placed.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="poppler_annot" transfer-ownership="none">
+ <doc xml:space="preserve">a #PopplerAnnot</doc>
+ <type name="Annot" c:type="PopplerAnnot*"/>
+ </instance-parameter>
+ <parameter name="poppler_rect"
+ direction="out"
+ caller-allocates="1"
+ transfer-ownership="none">
+ <doc xml:space="preserve">a #PopplerRectangle to store the annotation's coordinates</doc>
+ <type name="Rectangle" c:type="PopplerRectangle*"/>
+ </parameter>
+ </parameters>
+ </method>
<method name="set_color"
c:identifier="poppler_annot_set_color"
version="0.16">
@@ -504,6 +532,7 @@ See also #poppler_date_parse()</doc>
</instance-parameter>
<parameter name="poppler_color"
transfer-ownership="none"
+ nullable="1"
allow-none="1">
<doc xml:space="preserve">a #PopplerColor, or %NULL</doc>
<type name="Color" c:type="PopplerColor*"/>
@@ -548,6 +577,25 @@ replacing the current contents.</doc>
</parameter>
</parameters>
</method>
+ <method name="set_rectangle"
+ c:identifier="poppler_annot_set_rectangle"
+ version="0.26">
+ <doc xml:space="preserve">Move the annotation to the rectangle representing the page coordinates
+where the annotation @poppler_annot should be placed.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="poppler_annot" transfer-ownership="none">
+ <doc xml:space="preserve">a #PopplerAnnot</doc>
+ <type name="Annot" c:type="PopplerAnnot*"/>
+ </instance-parameter>
+ <parameter name="poppler_rect" transfer-ownership="none">
+ <doc xml:space="preserve">a #PopplerRectangle with the new annotation's coordinates</doc>
+ <type name="Rectangle" c:type="PopplerRectangle*"/>
+ </parameter>
+ </parameters>
+ </method>
</class>
<record name="AnnotCalloutLine"
c:type="PopplerAnnotCalloutLine"
@@ -578,14 +626,16 @@ replacing the current contents.</doc>
<constructor name="new" c:identifier="poppler_annot_callout_line_new">
<doc xml:space="preserve">Creates a new empty #PopplerAnnotCalloutLine.</doc>
<return-value transfer-ownership="full">
- <doc xml:space="preserve">a new allocated #PopplerAnnotCalloutLine, %NULL in other case. It must be freed when done.</doc>
+ <doc xml:space="preserve">a new allocated #PopplerAnnotCalloutLine, %NULL in other case.
+ It must be freed when done.</doc>
<type name="AnnotCalloutLine" c:type="PopplerAnnotCalloutLine*"/>
</return-value>
</constructor>
<method name="copy" c:identifier="poppler_annot_callout_line_copy">
<doc xml:space="preserve">It does copy @callout to a new #PopplerAnnotCalloutLine.</doc>
<return-value transfer-ownership="full">
- <doc xml:space="preserve">a new allocated #PopplerAnnotCalloutLine as exact copy of @callout, %NULL in other case. It must be freed when done.</doc>
+ <doc xml:space="preserve">a new allocated #PopplerAnnotCalloutLine as exact copy of
+ @callout, %NULL in other case. It must be freed when done.</doc>
<type name="AnnotCalloutLine" c:type="PopplerAnnotCalloutLine*"/>
</return-value>
<parameters>
@@ -608,6 +658,71 @@ replacing the current contents.</doc>
</parameters>
</method>
</record>
+ <class name="AnnotCircle"
+ c:symbol-prefix="annot_circle"
+ c:type="PopplerAnnotCircle"
+ parent="AnnotMarkup"
+ glib:type-name="PopplerAnnotCircle"
+ glib:get-type="poppler_annot_circle_get_type">
+ <constructor name="new"
+ c:identifier="poppler_annot_circle_new"
+ version="0.26">
+ <doc xml:space="preserve">Creates a new Circle annotation that will be
+located on @rect when added to a page. See
+poppler_page_add_annot()</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve">a newly created #PopplerAnnotCircle annotation</doc>
+ <type name="Annot" c:type="PopplerAnnot*"/>
+ </return-value>
+ <parameters>
+ <parameter name="doc" transfer-ownership="none">
+ <doc xml:space="preserve">a #PopplerDocument</doc>
+ <type name="Document" c:type="PopplerDocument*"/>
+ </parameter>
+ <parameter name="rect" transfer-ownership="none">
+ <doc xml:space="preserve">a #PopplerRectangle</doc>
+ <type name="Rectangle" c:type="PopplerRectangle*"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <method name="get_interior_color"
+ c:identifier="poppler_annot_circle_get_interior_color"
+ version="0.26">
+ <doc xml:space="preserve">Retrieves the interior color of @poppler_annot.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve">a new allocated #PopplerColor with the color values of
+ @poppler_annot, or %NULL. It must be freed with g_free() when done.</doc>
+ <type name="Color" c:type="PopplerColor*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="poppler_annot" transfer-ownership="none">
+ <doc xml:space="preserve">a #PopplerAnnotCircle</doc>
+ <type name="AnnotCircle" c:type="PopplerAnnotCircle*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="set_interior_color"
+ c:identifier="poppler_annot_circle_set_interior_color"
+ version="0.26">
+ <doc xml:space="preserve">Sets the interior color of @poppler_annot.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="poppler_annot" transfer-ownership="none">
+ <doc xml:space="preserve">a #PopplerAnnotCircle</doc>
+ <type name="AnnotCircle" c:type="PopplerAnnotCircle*"/>
+ </instance-parameter>
+ <parameter name="poppler_color"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve">a #PopplerColor, or %NULL</doc>
+ <type name="Color" c:type="PopplerColor*"/>
+ </parameter>
+ </parameters>
+ </method>
+ </class>
<enumeration name="AnnotExternalDataType"
glib:type-name="PopplerAnnotExternalDataType"
glib:get-type="poppler_annot_external_data_type_get_type"
@@ -651,7 +766,8 @@ The #PopplerAttachment must be unrefed with g_object_unref by the caller.</doc>
version="0.14">
<doc xml:space="preserve">Retrieves the name of @poppler_annot.</doc>
<return-value transfer-ownership="full">
- <doc xml:space="preserve">a new allocated string with the name of @poppler_annot. It must be freed with g_free() when done.</doc>
+ <doc xml:space="preserve">a new allocated string with the name of @poppler_annot. It must
+ be freed with g_free() when done.</doc>
<type name="utf8" c:type="gchar*"/>
</return-value>
<parameters>
@@ -734,7 +850,9 @@ The #PopplerAttachment must be unrefed with g_object_unref by the caller.</doc>
<doc xml:space="preserve">Retrieves a #PopplerAnnotCalloutLine of four or six numbers specifying a callout
line attached to the @poppler_annot.</doc>
<return-value transfer-ownership="full">
- <doc xml:space="preserve">a new allocated #PopplerAnnotCalloutLine if the annot has a callout line, %NULL in other case. It must be freed with g_free() when done.</doc>
+ <doc xml:space="preserve">a new allocated #PopplerAnnotCalloutLine if the annot has a callout
+ line, %NULL in other case. It must be freed with g_free() when
+ done.</doc>
<type name="AnnotCalloutLine" c:type="PopplerAnnotCalloutLine*"/>
</return-value>
<parameters>
@@ -780,6 +898,64 @@ line attached to the @poppler_annot.</doc>
glib:nick="right-justified">
</member>
</enumeration>
+ <class name="AnnotLine"
+ c:symbol-prefix="annot_line"
+ c:type="PopplerAnnotLine"
+ parent="AnnotMarkup"
+ glib:type-name="PopplerAnnotLine"
+ glib:get-type="poppler_annot_line_get_type">
+ <constructor name="new"
+ c:identifier="poppler_annot_line_new"
+ version="0.26">
+ <doc xml:space="preserve">Creates a new Line annotation that will be
+located on @rect when added to a page. See
+poppler_page_add_annot()</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve">A newly created #PopplerAnnotLine annotation</doc>
+ <type name="Annot" c:type="PopplerAnnot*"/>
+ </return-value>
+ <parameters>
+ <parameter name="doc" transfer-ownership="none">
+ <doc xml:space="preserve">a #PopplerDocument</doc>
+ <type name="Document" c:type="PopplerDocument*"/>
+ </parameter>
+ <parameter name="rect" transfer-ownership="none">
+ <doc xml:space="preserve">a #PopplerRectangle</doc>
+ <type name="Rectangle" c:type="PopplerRectangle*"/>
+ </parameter>
+ <parameter name="start" transfer-ownership="none">
+ <doc xml:space="preserve">a #PopplerPoint of the starting vertice</doc>
+ <type name="Point" c:type="PopplerPoint*"/>
+ </parameter>
+ <parameter name="end" transfer-ownership="none">
+ <doc xml:space="preserve">a #PopplerPoint of the ending vertice</doc>
+ <type name="Point" c:type="PopplerPoint*"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <method name="set_vertices"
+ c:identifier="poppler_annot_line_set_vertices"
+ version="0.26">
+ <doc xml:space="preserve">Set the coordinate points where the @poppler_annot starts and ends.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="poppler_annot" transfer-ownership="none">
+ <doc xml:space="preserve">a #PopplerAnnotLine</doc>
+ <type name="AnnotLine" c:type="PopplerAnnotLine*"/>
+ </instance-parameter>
+ <parameter name="start" transfer-ownership="none">
+ <doc xml:space="preserve">a #PopplerPoint of the starting vertice</doc>
+ <type name="Point" c:type="PopplerPoint*"/>
+ </parameter>
+ <parameter name="end" transfer-ownership="none">
+ <doc xml:space="preserve">a #PopplerPoint of the ending vertice</doc>
+ <type name="Point" c:type="PopplerPoint*"/>
+ </parameter>
+ </parameters>
+ </method>
+ </class>
<record name="AnnotMapping"
c:type="PopplerAnnotMapping"
glib:type-name="PopplerAnnotMapping"
@@ -788,9 +964,11 @@ line attached to the @poppler_annot.</doc>
<doc xml:space="preserve">A #PopplerAnnotMapping structure represents the location
of @annot on the page</doc>
<field name="area" writable="1">
+ <doc xml:space="preserve">a #PopplerRectangle representing an area of the page</doc>
<type name="Rectangle" c:type="PopplerRectangle"/>
</field>
<field name="annot" writable="1">
+ <doc xml:space="preserve">a #PopplerAnnot</doc>
<type name="Annot" c:type="PopplerAnnot*"/>
</field>
<constructor name="new" c:identifier="poppler_annot_mapping_new">
@@ -835,7 +1013,8 @@ of @annot on the page</doc>
<method name="get_date" c:identifier="poppler_annot_markup_get_date">
<doc xml:space="preserve">Returns the date and time when the annotation was created</doc>
<return-value transfer-ownership="full">
- <doc xml:space="preserve">a #GDate representing the date and time when the annotation was created, or %NULL</doc>
+ <doc xml:space="preserve">a #GDate representing the date and time
+ when the annotation was created, or %NULL</doc>
<type name="GLib.Date" c:type="GDate*"/>
</return-value>
<parameters>
@@ -877,7 +1056,8 @@ of @annot on the page</doc>
c:identifier="poppler_annot_markup_get_opacity">
<doc xml:space="preserve">Retrieves the opacity value of @poppler_annot.</doc>
<return-value transfer-ownership="none">
- <doc xml:space="preserve">the opacity value of @poppler_annot, between 0 (transparent) and 1 (opaque)</doc>
+ <doc xml:space="preserve">the opacity value of @poppler_annot,
+ between 0 (transparent) and 1 (opaque)</doc>
<type name="gdouble" c:type="gdouble"/>
</return-value>
<parameters>
@@ -891,7 +1071,8 @@ of @annot on the page</doc>
c:identifier="poppler_annot_markup_get_popup_is_open">
<doc xml:space="preserve">Retrieves the state of the popup window related to @poppler_annot.</doc>
<return-value transfer-ownership="none">
- <doc xml:space="preserve">the state of @poppler_annot. %TRUE if it's open, %FALSE in other case.</doc>
+ <doc xml:space="preserve">the state of @poppler_annot. %TRUE if it's open, %FALSE in
+ other case.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
@@ -979,7 +1160,10 @@ of @annot on the page</doc>
<doc xml:space="preserve">a #PopplerAnnotMarkup</doc>
<type name="AnnotMarkup" c:type="PopplerAnnotMarkup*"/>
</instance-parameter>
- <parameter name="label" transfer-ownership="none" allow-none="1">
+ <parameter name="label"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
<doc xml:space="preserve">a text string containing the new label, or %NULL</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
@@ -1069,7 +1253,8 @@ Popup window shall be displayed by viewers at @popup_rect on the page.</doc>
version="0.14">
<doc xml:space="preserve">Retrieves the movie object (PopplerMovie) stored in the @poppler_annot.</doc>
<return-value transfer-ownership="none">
- <doc xml:space="preserve">the movie object stored in the @poppler_annot. The returned object is owned by #PopplerAnnotMovie and should not be freed</doc>
+ <doc xml:space="preserve">the movie object stored in the @poppler_annot. The returned
+ object is owned by #PopplerAnnotMovie and should not be freed</doc>
<type name="Movie" c:type="PopplerMovie*"/>
</return-value>
<parameters>
@@ -1106,7 +1291,8 @@ Popup window shall be displayed by viewers at @popup_rect on the page.</doc>
version="0.14">
<doc xml:space="preserve">Retrieves the action (#PopplerAction) that shall be performed when @poppler_annot is activated</doc>
<return-value transfer-ownership="none">
- <doc xml:space="preserve">the action to perform. The returned object is owned by @poppler_annot and should not be freed</doc>
+ <doc xml:space="preserve">the action to perform. The returned
+ object is owned by @poppler_annot and should not be freed</doc>
<type name="Action" c:type="PopplerAction*"/>
</return-value>
<parameters>
@@ -1117,6 +1303,71 @@ Popup window shall be displayed by viewers at @popup_rect on the page.</doc>
</parameters>
</method>
</class>
+ <class name="AnnotSquare"
+ c:symbol-prefix="annot_square"
+ c:type="PopplerAnnotSquare"
+ parent="AnnotMarkup"
+ glib:type-name="PopplerAnnotSquare"
+ glib:get-type="poppler_annot_square_get_type">
+ <constructor name="new"
+ c:identifier="poppler_annot_square_new"
+ version="0.26">
+ <doc xml:space="preserve">Creates a new Square annotation that will be
+located on @rect when added to a page. See
+poppler_page_add_annot()</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve">a newly created #PopplerAnnotSquare annotation</doc>
+ <type name="Annot" c:type="PopplerAnnot*"/>
+ </return-value>
+ <parameters>
+ <parameter name="doc" transfer-ownership="none">
+ <doc xml:space="preserve">a #PopplerDocument</doc>
+ <type name="Document" c:type="PopplerDocument*"/>
+ </parameter>
+ <parameter name="rect" transfer-ownership="none">
+ <doc xml:space="preserve">a #PopplerRectangle</doc>
+ <type name="Rectangle" c:type="PopplerRectangle*"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <method name="get_interior_color"
+ c:identifier="poppler_annot_square_get_interior_color"
+ version="0.26">
+ <doc xml:space="preserve">Retrieves the interior color of @poppler_annot.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve">a new allocated #PopplerColor with the color values of
+ @poppler_annot, or %NULL. It must be freed with g_free() when done.</doc>
+ <type name="Color" c:type="PopplerColor*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="poppler_annot" transfer-ownership="none">
+ <doc xml:space="preserve">a #PopplerAnnotSquare</doc>
+ <type name="AnnotSquare" c:type="PopplerAnnotSquare*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="set_interior_color"
+ c:identifier="poppler_annot_square_set_interior_color"
+ version="0.26">
+ <doc xml:space="preserve">Sets the interior color of @poppler_annot.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="poppler_annot" transfer-ownership="none">
+ <doc xml:space="preserve">a #PopplerAnnotSquare</doc>
+ <type name="AnnotSquare" c:type="PopplerAnnotSquare*"/>
+ </instance-parameter>
+ <parameter name="poppler_color"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve">a #PopplerColor, or %NULL</doc>
+ <type name="Color" c:type="PopplerColor*"/>
+ </parameter>
+ </parameters>
+ </method>
+ </class>
<class name="AnnotText"
c:symbol-prefix="annot_text"
c:type="PopplerAnnotText"
@@ -1160,7 +1411,8 @@ poppler_page_add_annot()</doc>
<method name="get_is_open" c:identifier="poppler_annot_text_get_is_open">
<doc xml:space="preserve">Retrieves the state of @poppler_annot.</doc>
<return-value transfer-ownership="none">
- <doc xml:space="preserve">the state of @poppler_annot. %TRUE if it's open, %FALSE in other case.</doc>
+ <doc xml:space="preserve">the state of @poppler_annot. %TRUE if it's open, %FALSE in
+ other case.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
@@ -1250,6 +1502,161 @@ icons are currently supported:
</parameters>
</method>
</class>
+ <class name="AnnotTextMarkup"
+ c:symbol-prefix="annot_text_markup"
+ c:type="PopplerAnnotTextMarkup"
+ parent="AnnotMarkup"
+ glib:type-name="PopplerAnnotTextMarkup"
+ glib:get-type="poppler_annot_text_markup_get_type">
+ <constructor name="new_highlight"
+ c:identifier="poppler_annot_text_markup_new_highlight"
+ version="0.26">
+ <doc xml:space="preserve">Creates a new Highlight Text annotation that will be
+located on @rect when added to a page. See poppler_page_add_annot()</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve">A newly created #PopplerAnnotTextMarkup annotation</doc>
+ <type name="Annot" c:type="PopplerAnnot*"/>
+ </return-value>
+ <parameters>
+ <parameter name="doc" transfer-ownership="none">
+ <doc xml:space="preserve">a #PopplerDocument</doc>
+ <type name="Document" c:type="PopplerDocument*"/>
+ </parameter>
+ <parameter name="rect" transfer-ownership="none">
+ <doc xml:space="preserve">a #PopplerRectangle</doc>
+ <type name="Rectangle" c:type="PopplerRectangle*"/>
+ </parameter>
+ <parameter name="quadrilaterals" transfer-ownership="none">
+ <doc xml:space="preserve">A #GArray of
+ #PopplerQuadrilateral&lt;!-- --&gt;s</doc>
+ <array name="GLib.Array" c:type="GArray*">
+ <type name="Quadrilateral"/>
+ </array>
+ </parameter>
+ </parameters>
+ </constructor>
+ <constructor name="new_squiggly"
+ c:identifier="poppler_annot_text_markup_new_squiggly"
+ version="0.26">
+ <doc xml:space="preserve">Creates a new Squiggly Text annotation that will be
+located on @rect when added to a page. See poppler_page_add_annot()</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve">A newly created #PopplerAnnotTextMarkup annotation</doc>
+ <type name="Annot" c:type="PopplerAnnot*"/>
+ </return-value>
+ <parameters>
+ <parameter name="doc" transfer-ownership="none">
+ <doc xml:space="preserve">a #PopplerDocument</doc>
+ <type name="Document" c:type="PopplerDocument*"/>
+ </parameter>
+ <parameter name="rect" transfer-ownership="none">
+ <doc xml:space="preserve">a #PopplerRectangle</doc>
+ <type name="Rectangle" c:type="PopplerRectangle*"/>
+ </parameter>
+ <parameter name="quadrilaterals" transfer-ownership="none">
+ <doc xml:space="preserve">A #GArray of
+ #PopplerQuadrilateral&lt;!-- --&gt;s</doc>
+ <array name="GLib.Array" c:type="GArray*">
+ <type name="Quadrilateral"/>
+ </array>
+ </parameter>
+ </parameters>
+ </constructor>
+ <constructor name="new_strikeout"
+ c:identifier="poppler_annot_text_markup_new_strikeout"
+ version="0.26">
+ <doc xml:space="preserve">Creates a new Strike Out Text annotation that will be
+located on @rect when added to a page. See poppler_page_add_annot()</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve">A newly created #PopplerAnnotTextMarkup annotation</doc>
+ <type name="Annot" c:type="PopplerAnnot*"/>
+ </return-value>
+ <parameters>
+ <parameter name="doc" transfer-ownership="none">
+ <doc xml:space="preserve">a #PopplerDocument</doc>
+ <type name="Document" c:type="PopplerDocument*"/>
+ </parameter>
+ <parameter name="rect" transfer-ownership="none">
+ <doc xml:space="preserve">a #PopplerRectangle</doc>
+ <type name="Rectangle" c:type="PopplerRectangle*"/>
+ </parameter>
+ <parameter name="quadrilaterals" transfer-ownership="none">
+ <doc xml:space="preserve">A #GArray of
+ #PopplerQuadrilateral&lt;!-- --&gt;s</doc>
+ <array name="GLib.Array" c:type="GArray*">
+ <type name="Quadrilateral"/>
+ </array>
+ </parameter>
+ </parameters>
+ </constructor>
+ <constructor name="new_underline"
+ c:identifier="poppler_annot_text_markup_new_underline"
+ version="0.26">
+ <doc xml:space="preserve">Creates a new Underline Text annotation that will be
+located on @rect when added to a page. See poppler_page_add_annot()</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve">A newly created #PopplerAnnotTextMarkup annotation</doc>
+ <type name="Annot" c:type="PopplerAnnot*"/>
+ </return-value>
+ <parameters>
+ <parameter name="doc" transfer-ownership="none">
+ <doc xml:space="preserve">a #PopplerDocument</doc>
+ <type name="Document" c:type="PopplerDocument*"/>
+ </parameter>
+ <parameter name="rect" transfer-ownership="none">
+ <doc xml:space="preserve">a #PopplerRectangle</doc>
+ <type name="Rectangle" c:type="PopplerRectangle*"/>
+ </parameter>
+ <parameter name="quadrilaterals" transfer-ownership="none">
+ <doc xml:space="preserve">A #GArray of
+ #PopplerQuadrilateral&lt;!-- --&gt;s</doc>
+ <array name="GLib.Array" c:type="GArray*">
+ <type name="Quadrilateral"/>
+ </array>
+ </parameter>
+ </parameters>
+ </constructor>
+ <method name="get_quadrilaterals"
+ c:identifier="poppler_annot_text_markup_get_quadrilaterals"
+ version="0.26">
+ <doc xml:space="preserve">Returns a #GArray of #PopplerQuadrilateral items that map from a
+location on @page to a #PopplerAnnotTextMarkup. This array must be freed
+when done.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve">A #GArray of #PopplerQuadrilateral</doc>
+ <array name="GLib.Array" c:type="GArray*">
+ <type name="Quadrilateral"/>
+ </array>
+ </return-value>
+ <parameters>
+ <instance-parameter name="poppler_annot" transfer-ownership="none">
+ <doc xml:space="preserve">A #PopplerAnnotTextMarkup</doc>
+ <type name="AnnotTextMarkup" c:type="PopplerAnnotTextMarkup*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="set_quadrilaterals"
+ c:identifier="poppler_annot_text_markup_set_quadrilaterals"
+ version="0.26">
+ <doc xml:space="preserve">Set the regions (Quadrilaterals) to apply the text markup in @poppler_annot.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="poppler_annot" transfer-ownership="none">
+ <doc xml:space="preserve">A #PopplerAnnotTextMarkup</doc>
+ <type name="AnnotTextMarkup" c:type="PopplerAnnotTextMarkup*"/>
+ </instance-parameter>
+ <parameter name="quadrilaterals" transfer-ownership="none">
+ <doc xml:space="preserve">A #GArray of
+ #PopplerQuadrilateral&lt;!-- --&gt;s</doc>
+ <array name="GLib.Array" c:type="GArray*">
+ <type name="Quadrilateral"/>
+ </array>
+ </parameter>
+ </parameters>
+ </method>
+ </class>
<enumeration name="AnnotTextState"
glib:type-name="PopplerAnnotTextState"
glib:get-type="poppler_annot_text_state_get_type"
@@ -1435,7 +1842,8 @@ icons are currently supported:
c:type="PopplerAttachment"
parent="GObject.Object"
glib:type-name="PopplerAttachment"
- glib:get-type="poppler_attachment_get_type">
+ glib:get-type="poppler_attachment_get_type"
+ glib:type-struct="AttachmentClass">
<method name="save" c:identifier="poppler_attachment_save" throws="1">
<doc xml:space="preserve">Saves @attachment to a file indicated by @filename. If @error is set, %FALSE
will be returned. Possible errors include those in the #G_FILE_ERROR domain
@@ -1508,6 +1916,13 @@ whatever the save function generates.</doc>
<type name="GLib.String" c:type="GString*"/>
</field>
</class>
+ <record name="AttachmentClass"
+ c:type="PopplerAttachmentClass"
+ glib:is-gtype-struct-for="Attachment">
+ <field name="parent_class">
+ <type name="GObject.ObjectClass" c:type="GObjectClass"/>
+ </field>
+ </record>
<callback name="AttachmentSaveFunc"
c:type="PopplerAttachmentSaveFunc"
throws="1">
@@ -1523,7 +1938,8 @@ will fail with the same error.</doc>
</return-value>
<parameters>
<parameter name="buf" transfer-ownership="none">
- <doc xml:space="preserve">buffer containing bytes to be written.</doc>
+ <doc xml:space="preserve">buffer containing
+ bytes to be written.</doc>
<array length="1" zero-terminated="0" c:type="gchar*">
<type name="guint8"/>
</array>
@@ -1566,12 +1982,15 @@ will fail with the same error.</doc>
<doc xml:space="preserve">A #PopplerColor describes a RGB color. Color components
are values between 0 and 65535</doc>
<field name="red" writable="1">
+ <doc xml:space="preserve">the red componment of color</doc>
<type name="guint16" c:type="guint16"/>
</field>
<field name="green" writable="1">
+ <doc xml:space="preserve">the green component of color</doc>
<type name="guint16" c:type="guint16"/>
</field>
<field name="blue" writable="1">
+ <doc xml:space="preserve">the blue component of color</doc>
<type name="guint16" c:type="guint16"/>
</field>
<constructor name="new" c:identifier="poppler_color_new">
@@ -1614,36 +2033,47 @@ are values between 0 and 65535</doc>
c:symbol-prefix="dest">
<doc xml:space="preserve">Data structure for holding a destination</doc>
<field name="type" writable="1">
+ <doc xml:space="preserve">type of destination</doc>
<type name="DestType" c:type="PopplerDestType"/>
</field>
<field name="page_num" writable="1">
+ <doc xml:space="preserve">page number</doc>
<type name="gint" c:type="int"/>
</field>
<field name="left" writable="1">
+ <doc xml:space="preserve">left coordinate</doc>
<type name="gdouble" c:type="double"/>
</field>
<field name="bottom" writable="1">
+ <doc xml:space="preserve">bottom coordinate</doc>
<type name="gdouble" c:type="double"/>
</field>
<field name="right" writable="1">
+ <doc xml:space="preserve">right coordinate</doc>
<type name="gdouble" c:type="double"/>
</field>
<field name="top" writable="1">
+ <doc xml:space="preserve">top coordinate</doc>
<type name="gdouble" c:type="double"/>
</field>
<field name="zoom" writable="1">
+ <doc xml:space="preserve">scale factor</doc>
<type name="gdouble" c:type="double"/>
</field>
<field name="named_dest" writable="1">
+ <doc xml:space="preserve">name of the destination (#POPPLER_DEST_NAMED only)</doc>
<type name="utf8" c:type="gchar*"/>
</field>
<field name="change_left" writable="1" bits="1">
+ <doc xml:space="preserve">whether left coordinate should be changed</doc>
<type name="guint" c:type="guint"/>
</field>
<field name="change_top" writable="1" bits="1">
+ <doc xml:space="preserve">whether top coordinate should be changed</doc>
<type name="guint" c:type="guint"/>
</field>
<field name="change_zoom" writable="1" bits="1">
+ <doc xml:space="preserve">whether scale factor should be changed</doc>
<type name="guint" c:type="guint"/>
</field>
<method name="copy" c:identifier="poppler_dest_copy">
@@ -1687,49 +2117,66 @@ are values between 0 and 65535</doc>
value="1"
c:identifier="POPPLER_DEST_XYZ"
glib:nick="xyz">
- <doc xml:space="preserve">go to page with coordinates (left, top) positioned at the upper-left corner of the window and the contents of the page magnified by the factor zoom</doc>
+ <doc xml:space="preserve">go to page with coordinates (left, top)
+positioned at the upper-left corner of the window and the contents of
+the page magnified by the factor zoom</doc>
</member>
<member name="fit"
value="2"
c:identifier="POPPLER_DEST_FIT"
glib:nick="fit">
- <doc xml:space="preserve">go to page with its contents magnified just enough to fit the entire page within the window both horizontally and vertically</doc>
+ <doc xml:space="preserve">go to page with its contents magnified just
+enough to fit the entire page within the window both horizontally and
+vertically</doc>
</member>
<member name="fith"
value="3"
c:identifier="POPPLER_DEST_FITH"
glib:nick="fith">
- <doc xml:space="preserve">go to page with the vertical coordinate top positioned at the top edge of the window and the contents of the page magnified just enough to fit the entire width of the page within the window</doc>
+ <doc xml:space="preserve">go to page with the vertical coordinate top
+positioned at the top edge of the window and the contents of the page
+magnified just enough to fit the entire width of the page within the window</doc>
</member>
<member name="fitv"
value="4"
c:identifier="POPPLER_DEST_FITV"
glib:nick="fitv">
- <doc xml:space="preserve">go to page with the horizontal coordinate left positioned at the left edge of the window and the contents of the page magnified just enough to fit the entire height of the page within the window</doc>
+ <doc xml:space="preserve">go to page with the horizontal coordinate
+left positioned at the left edge of the window and the contents of the
+page magnified just enough to fit the entire height of the page within the window</doc>
</member>
<member name="fitr"
value="5"
c:identifier="POPPLER_DEST_FITR"
glib:nick="fitr">
- <doc xml:space="preserve">go to page with its contents magnified just enough to fit the rectangle specified by the coordinates left, bottom, right, and top entirely within the window both horizontally and vertically</doc>
+ <doc xml:space="preserve">go to page with its contents magnified just
+enough to fit the rectangle specified by the coordinates left, bottom,
+right, and top entirely within the window both horizontally and vertically</doc>
</member>
<member name="fitb"
value="6"
c:identifier="POPPLER_DEST_FITB"
glib:nick="fitb">
- <doc xml:space="preserve">go to page with its contents magnified just enough to fit its bounding box entirely within the window both horizontally and vertically</doc>
+ <doc xml:space="preserve">go to page with its contents magnified just enough to fit
+its bounding box entirely within the window both horizontally and vertically</doc>
</member>
<member name="fitbh"
value="7"
c:identifier="POPPLER_DEST_FITBH"
glib:nick="fitbh">
- <doc xml:space="preserve">go to page with the vertical coordinate top positioned at the top edge of the window and the contents of the page magnified just enough to fit the entire width of its bounding box within the window</doc>
+ <doc xml:space="preserve">go to page with the vertical
+coordinate top positioned at the top edge of the window and the
+contents of the page magnified just enough to fit the entire width of its
+bounding box within the window</doc>
</member>
<member name="fitbv"
value="8"
c:identifier="POPPLER_DEST_FITBV"
glib:nick="fitbv">
- <doc xml:space="preserve">go to page with the horizontal coordinate left positioned at the left edge of the window and the contents of the page magnified just enough to fit the entire height of its bounding box within the window</doc>
+ <doc xml:space="preserve">go to page with the horizontal
+coordinate left positioned at the left edge of the window and the
+contents of the page magnified just enough to fit the entire height of its
+bounding box within the window</doc>
</member>
<member name="named"
value="9"
@@ -1763,7 +2210,10 @@ domains.</doc>
<doc xml:space="preserve">the length of #data</doc>
<type name="gint" c:type="int"/>
</parameter>
- <parameter name="password" transfer-ownership="none" allow-none="1">
+ <parameter name="password"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
<doc xml:space="preserve">password to unlock the file with, or %NULL</doc>
<type name="utf8" c:type="const char*"/>
</parameter>
@@ -1784,7 +2234,10 @@ domains.</doc>
<doc xml:space="preserve">uri of the file to load</doc>
<type name="utf8" c:type="const char*"/>
</parameter>
- <parameter name="password" transfer-ownership="none" allow-none="1">
+ <parameter name="password"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
<doc xml:space="preserve">password to unlock the file with, or %NULL</doc>
<type name="utf8" c:type="const char*"/>
</parameter>
@@ -1806,12 +2259,16 @@ domains.</doc>
<doc xml:space="preserve">a #GFile to load</doc>
<type name="Gio.File" c:type="GFile*"/>
</parameter>
- <parameter name="password" transfer-ownership="none" allow-none="1">
+ <parameter name="password"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
<doc xml:space="preserve">password to unlock the file with, or %NULL</doc>
<type name="utf8" c:type="const char*"/>
</parameter>
<parameter name="cancellable"
transfer-ownership="none"
+ nullable="1"
allow-none="1">
<doc xml:space="preserve">a #GCancellable, or %NULL</doc>
<type name="Gio.Cancellable" c:type="GCancellable*"/>
@@ -1840,12 +2297,16 @@ domains.</doc>
<doc xml:space="preserve">the stream length, or -1 if not known</doc>
<type name="gint64" c:type="goffset"/>
</parameter>
- <parameter name="password" transfer-ownership="none" allow-none="1">
+ <parameter name="password"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
<doc xml:space="preserve">password to unlock the file with, or %NULL</doc>
<type name="utf8" c:type="const char*"/>
</parameter>
<parameter name="cancellable"
transfer-ownership="none"
+ nullable="1"
allow-none="1">
<doc xml:space="preserve">a #GCancellable, or %NULL</doc>
<type name="Gio.Cancellable" c:type="GCancellable*"/>
@@ -1855,7 +2316,9 @@ domains.</doc>
<method name="find_dest" c:identifier="poppler_document_find_dest">
<doc xml:space="preserve">Finds named destination @link_name in @document</doc>
<return-value transfer-ownership="full">
- <doc xml:space="preserve">The #PopplerDest destination or %NULL if @link_name is not a destination. Returned value must be freed with #poppler_dest_free</doc>
+ <doc xml:space="preserve">The #PopplerDest destination or %NULL if
+@link_name is not a destination. Returned value must
+be freed with #poppler_dest_free</doc>
<type name="Dest" c:type="PopplerDest*"/>
</return-value>
<parameters>
@@ -1892,7 +2355,8 @@ g_list_free().</doc>
version="0.16">
<doc xml:space="preserve">Returns the author of the document</doc>
<return-value transfer-ownership="full">
- <doc xml:space="preserve">a new allocated string containing the author of @document, or %NULL</doc>
+ <doc xml:space="preserve">a new allocated string containing the author
+ of @document, or %NULL</doc>
<type name="utf8" c:type="gchar*"/>
</return-value>
<parameters>
@@ -1924,7 +2388,8 @@ g_list_free().</doc>
from another format, the creator is the name of the product
that created the original document from which it was converted.</doc>
<return-value transfer-ownership="full">
- <doc xml:space="preserve">a new allocated string containing the creator of @document, or %NULL</doc>
+ <doc xml:space="preserve">a new allocated string containing the creator
+ of @document, or %NULL</doc>
<type name="utf8" c:type="gchar*"/>
</return-value>
<parameters>
@@ -1939,7 +2404,8 @@ that created the original document from which it was converted.</doc>
<doc xml:space="preserve">Returns the #PopplerFormField for the given @id. It must be freed with
g_object_unref()</doc>
<return-value transfer-ownership="full">
- <doc xml:space="preserve">a new #PopplerFormField or %NULL if not found</doc>
+ <doc xml:space="preserve">a new #PopplerFormField or %NULL if
+not found</doc>
<type name="FormField" c:type="PopplerFormField*"/>
</return-value>
<parameters>
@@ -1977,6 +2443,7 @@ size of 32 bytes.</doc>
direction="out"
caller-allocates="0"
transfer-ownership="full"
+ optional="1"
allow-none="1">
<doc xml:space="preserve">location to store an allocated string, use g_free() to free the returned string</doc>
<type name="utf8" c:type="gchar**"/>
@@ -1985,6 +2452,7 @@ size of 32 bytes.</doc>
direction="out"
caller-allocates="0"
transfer-ownership="full"
+ optional="1"
allow-none="1">
<doc xml:space="preserve">location to store an allocated string, use g_free() to free the returned string</doc>
<type name="utf8" c:type="gchar**"/>
@@ -1996,7 +2464,8 @@ size of 32 bytes.</doc>
version="0.16">
<doc xml:space="preserve">Returns the keywords associated to the document</doc>
<return-value transfer-ownership="full">
- <doc xml:space="preserve">a new allocated string containing keywords associated to @document, or %NULL</doc>
+ <doc xml:space="preserve">a new allocated string containing keywords associated
+ to @document, or %NULL</doc>
<type name="utf8" c:type="gchar*"/>
</return-value>
<parameters>
@@ -2011,7 +2480,8 @@ size of 32 bytes.</doc>
version="0.16">
<doc xml:space="preserve">Returns the XML metadata string of the document</doc>
<return-value transfer-ownership="full">
- <doc xml:space="preserve">a new allocated string containing the XML metadata, or %NULL</doc>
+ <doc xml:space="preserve">a new allocated string containing the XML
+ metadata, or %NULL</doc>
<type name="utf8" c:type="gchar*"/>
</return-value>
<parameters>
@@ -2152,6 +2622,7 @@ be initially displayed when opened.</doc>
direction="out"
caller-allocates="0"
transfer-ownership="full"
+ optional="1"
allow-none="1">
<doc xml:space="preserve">return location for the PDF major version number</doc>
<type name="guint" c:type="guint*"/>
@@ -2160,6 +2631,7 @@ be initially displayed when opened.</doc>
direction="out"
caller-allocates="0"
transfer-ownership="full"
+ optional="1"
allow-none="1">
<doc xml:space="preserve">return location for the PDF minor version number</doc>
<type name="guint" c:type="guint*"/>
@@ -2171,7 +2643,8 @@ be initially displayed when opened.</doc>
version="0.16">
<doc xml:space="preserve">Returns the PDF version of @document as a string (e.g. PDF-1.6)</doc>
<return-value transfer-ownership="full">
- <doc xml:space="preserve">a new allocated string containing the PDF version of @document, or %NULL</doc>
+ <doc xml:space="preserve">a new allocated string containing the PDF version
+ of @document, or %NULL</doc>
<type name="utf8" c:type="gchar*"/>
</return-value>
<parameters>
@@ -2203,7 +2676,8 @@ be initially displayed when opened.</doc>
from another format, the producer is the name of the product
that converted it to PDF</doc>
<return-value transfer-ownership="full">
- <doc xml:space="preserve">a new allocated string containing the producer of @document, or %NULL</doc>
+ <doc xml:space="preserve">a new allocated string containing the producer
+ of @document, or %NULL</doc>
<type name="utf8" c:type="gchar*"/>
</return-value>
<parameters>
@@ -2218,7 +2692,8 @@ that converted it to PDF</doc>
version="0.16">
<doc xml:space="preserve">Returns the subject of the document</doc>
<return-value transfer-ownership="full">
- <doc xml:space="preserve">a new allocated string containing the subject of @document, or %NULL</doc>
+ <doc xml:space="preserve">a new allocated string containing the subject
+ of @document, or %NULL</doc>
<type name="utf8" c:type="gchar*"/>
</return-value>
<parameters>
@@ -2233,7 +2708,8 @@ that converted it to PDF</doc>
version="0.16">
<doc xml:space="preserve">Returns the document's title</doc>
<return-value transfer-ownership="full">
- <doc xml:space="preserve">a new allocated string containing the title of @document, or %NULL</doc>
+ <doc xml:space="preserve">a new allocated string containing the title
+ of @document, or %NULL</doc>
<type name="utf8" c:type="gchar*"/>
</return-value>
<parameters>
@@ -2298,8 +2774,8 @@ include those in the #G_FILE_ERROR domain.</doc>
c:identifier="poppler_document_save_a_copy"
throws="1">
<doc xml:space="preserve">Saves a copy of the original @document.
-Any change made in the document such as
-form fields filled by the user will not be saved.
+Any change made in the document such as
+form fields filled by the user will not be saved.
If @error is set, %FALSE will be returned. Possible errors
include those in the #G_FILE_ERROR domain.</doc>
<return-value transfer-ownership="none">
@@ -2395,7 +2871,7 @@ include those in the #G_FILE_ERROR domain.</doc>
value="0"
c:identifier="POPPLER_ERROR_INVALID"
glib:nick="invalid">
- <doc xml:space="preserve">Generic error when a document opration fails</doc>
+ <doc xml:space="preserve">Generic error when a document operation fails</doc>
</member>
<member name="encrypted"
value="1"
@@ -3052,7 +3528,8 @@ to be 'pressed in', and %FALSE to raise it.</doc>
<doc xml:space="preserve">Retrieves the action (#PopplerAction) that shall be
performed when @field is activated, or %NULL</doc>
<return-value transfer-ownership="none">
- <doc xml:space="preserve">the action to perform. The returned object is owned by @field and should not be freed</doc>
+ <doc xml:space="preserve">the action to perform. The returned
+ object is owned by @field and should not be freed</doc>
<type name="Action" c:type="PopplerAction*"/>
</return-value>
<parameters>
@@ -3285,9 +3762,11 @@ the partial field names of the field and all of its ancestors.</doc>
<doc xml:space="preserve">A #PopplerFormFieldMapping structure represents the location
of @field on the page</doc>
<field name="area" writable="1">
+ <doc xml:space="preserve">a #PopplerRectangle representing an area of the page</doc>
<type name="Rectangle" c:type="PopplerRectangle"/>
</field>
<field name="field" writable="1">
+ <doc xml:space="preserve">a #PopplerFormField</doc>
<type name="FormField" c:type="PopplerFormField*"/>
</field>
<constructor name="new" c:identifier="poppler_form_field_mapping_new">
@@ -3385,9 +3864,11 @@ of @field on the page</doc>
<doc xml:space="preserve">A #PopplerImageMapping structure represents the location
of an image on the page</doc>
<field name="area" writable="1">
+ <doc xml:space="preserve">a #PopplerRectangle representing an area of the page</doc>
<type name="Rectangle" c:type="PopplerRectangle"/>
</field>
<field name="image_id" writable="1">
+ <doc xml:space="preserve">an image identifier</doc>
<type name="gint" c:type="gint"/>
</field>
<constructor name="new" c:identifier="poppler_image_mapping_new">
@@ -3567,7 +4048,8 @@ poppler_index_iter_new() for more information.</doc>
version="0.12">
<doc xml:space="preserve">Returns the numeric ID the radio button group associated with @layer.</doc>
<return-value transfer-ownership="none">
- <doc xml:space="preserve">the ID of the radio button group associated with @layer, or 0 if the layer is not associated to any radio button group</doc>
+ <doc xml:space="preserve">the ID of the radio button group associated with @layer,
+or 0 if the layer is not associated to any radio button group</doc>
<type name="gint" c:type="gint"/>
</return-value>
<parameters>
@@ -3672,7 +4154,9 @@ is shown again</doc>
<doc xml:space="preserve">Creates a new #PopplerLayersIter as a copy of @iter. This must be freed with
poppler_layers_iter_free().</doc>
<return-value transfer-ownership="full">
- <doc xml:space="preserve">a new #PopplerLayersIter Since 0.12</doc>
+ <doc xml:space="preserve">a new #PopplerLayersIter
+
+Since 0.12</doc>
<type name="LayersIter" c:type="PopplerLayersIter*"/>
</return-value>
<parameters>
@@ -3717,7 +4201,8 @@ See poppler_layers_iter_new() for more information on this function.</doc>
version="0.12">
<doc xml:space="preserve">Returns the #PopplerLayer associated with @iter.</doc>
<return-value transfer-ownership="full">
- <doc xml:space="preserve">a new #PopplerLayer, or %NULL if there isn't any layer associated with @iter</doc>
+ <doc xml:space="preserve">a new #PopplerLayer, or %NULL if
+there isn't any layer associated with @iter</doc>
<type name="Layer" c:type="PopplerLayer*"/>
</return-value>
<parameters>
@@ -3733,7 +4218,8 @@ See poppler_layers_iter_new() for more information on this function.</doc>
<doc xml:space="preserve">Returns the title associated with @iter. It must be freed with
g_free().</doc>
<return-value transfer-ownership="full">
- <doc xml:space="preserve">a new string containing the @iter's title or %NULL if @iter doesn't have a title. The returned string should be freed with g_free() when no longer needed.</doc>
+ <doc xml:space="preserve">a new string containing the @iter's title or %NULL if @iter doesn't have a title.
+The returned string should be freed with g_free() when no longer needed.</doc>
<type name="utf8" c:type="gchar*"/>
</return-value>
<parameters>
@@ -3768,9 +4254,11 @@ poppler_layers_iter_new() for more information.</doc>
<doc xml:space="preserve">A #PopplerLinkMapping structure represents the location
of @action on the page</doc>
<field name="area" writable="1">
+ <doc xml:space="preserve">a #PopplerRectangle representing an area of the page</doc>
<type name="Rectangle" c:type="PopplerRectangle"/>
</field>
<field name="action" writable="1">
+ <doc xml:space="preserve">a #PopplerAction</doc>
<type name="Action" c:type="PopplerAction*"/>
</field>
<constructor name="new" c:identifier="poppler_link_mapping_new">
@@ -3815,7 +4303,7 @@ of @action on the page</doc>
<type name="gint" c:type="gint"/>
</constant>
<constant name="MICRO_VERSION"
- value="1"
+ value="5"
c:type="POPPLER_MICRO_VERSION"
version="0.12">
<doc xml:space="preserve">The micro version number of the poppler header files (e.g. in poppler version
@@ -3823,7 +4311,7 @@ of @action on the page</doc>
<type name="gint" c:type="gint"/>
</constant>
<constant name="MINOR_VERSION"
- value="24"
+ value="26"
c:type="POPPLER_MINOR_VERSION"
version="0.12">
<doc xml:space="preserve">The major version number of the poppler header files (e.g. in poppler version
@@ -3956,7 +4444,8 @@ will fail with the same error.</doc>
</return-value>
<parameters>
<parameter name="buf" transfer-ownership="none">
- <doc xml:space="preserve">buffer containing bytes to be written.</doc>
+ <doc xml:space="preserve">buffer containing
+ bytes to be written.</doc>
<array length="1" zero-terminated="0" c:type="gchar*">
<type name="guint8"/>
</array>
@@ -3982,7 +4471,8 @@ will fail with the same error.</doc>
version="0.14">
<doc xml:space="preserve">Returns the local filename identifying a self-describing movie file</doc>
<return-value transfer-ownership="none">
- <doc xml:space="preserve">a local filename, return value is owned by #PopplerMovie and should not be freed</doc>
+ <doc xml:space="preserve">a local filename, return value is owned by #PopplerMovie and
+ should not be freed</doc>
<type name="utf8" c:type="const gchar*"/>
</return-value>
<parameters>
@@ -4150,7 +4640,8 @@ reference them with g_object_ref().</doc>
</return-value>
<parameters>
<parameter name="list" transfer-ownership="none">
- <doc xml:space="preserve">A list of #PopplerAnnotMapping&lt;!-- --&gt;s</doc>
+ <doc xml:space="preserve">A list of
+ #PopplerAnnotMapping&lt;!-- --&gt;s</doc>
<type name="GLib.List" c:type="GList*">
<type name="AnnotMapping"/>
</type>
@@ -4166,7 +4657,8 @@ poppler_page_get_form_field_mapping().</doc>
</return-value>
<parameters>
<parameter name="list" transfer-ownership="none">
- <doc xml:space="preserve">A list of #PopplerFormFieldMapping&lt;!-- --&gt;s</doc>
+ <doc xml:space="preserve">A list of
+ #PopplerFormFieldMapping&lt;!-- --&gt;s</doc>
<type name="GLib.List" c:type="GList*">
<type name="FormFieldMapping"/>
</type>
@@ -4182,7 +4674,8 @@ poppler_page_get_image_mapping().</doc>
</return-value>
<parameters>
<parameter name="list" transfer-ownership="none">
- <doc xml:space="preserve">A list of #PopplerImageMapping&lt;!-- --&gt;s</doc>
+ <doc xml:space="preserve">A list of
+ #PopplerImageMapping&lt;!-- --&gt;s</doc>
<type name="GLib.List" c:type="GList*">
<type name="ImageMapping"/>
</type>
@@ -4200,7 +4693,8 @@ copy them with poppler_action_copy().</doc>
</return-value>
<parameters>
<parameter name="list" transfer-ownership="none">
- <doc xml:space="preserve">A list of #PopplerLinkMapping&lt;!-- --&gt;s</doc>
+ <doc xml:space="preserve">A list of
+ #PopplerLinkMapping&lt;!-- --&gt;s</doc>
<type name="GLib.List" c:type="GList*">
<type name="LinkMapping"/>
</type>
@@ -4217,7 +4711,8 @@ poppler_page_get_text_attributes().</doc>
</return-value>
<parameters>
<parameter name="list" transfer-ownership="none">
- <doc xml:space="preserve">A list of #PopplerTextAttributes&lt;!-- --&gt;s</doc>
+ <doc xml:space="preserve">A list of
+ #PopplerTextAttributes&lt;!-- --&gt;s</doc>
<type name="GLib.List" c:type="GList*">
<type name="TextAttributes"/>
</type>
@@ -4226,14 +4721,16 @@ poppler_page_get_text_attributes().</doc>
</function>
<function name="selection_region_free"
c:identifier="poppler_page_selection_region_free"
- deprecated="0.16">
+ deprecated="1"
+ deprecated-version="0.16">
<doc xml:space="preserve">Frees @region</doc>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="region" transfer-ownership="none">
- <doc xml:space="preserve">a #GList of #PopplerRectangle</doc>
+ <doc xml:space="preserve">a #GList of
+ #PopplerRectangle</doc>
<type name="GLib.List" c:type="GList*">
<type name="Rectangle"/>
</type>
@@ -4428,7 +4925,8 @@ with poppler_page_free_image_mapping() when done.</doc>
<doc xml:space="preserve">Returns the label of @page. Note that page labels
and page indices might not coincide.</doc>
<return-value transfer-ownership="full">
- <doc xml:space="preserve">a new allocated string containing the label of @page, or %NULL if @page doesn't have a label</doc>
+ <doc xml:space="preserve">a new allocated string containing the label of @page,
+ or %NULL if @page doesn't have a label</doc>
<type name="utf8" c:type="gchar*"/>
</return-value>
<parameters>
@@ -4490,7 +4988,8 @@ The returned region must be freed with cairo_region_destroy()</doc>
version="0.16">
<doc xml:space="preserve">Retrieves the contents of the specified @selection as text.</doc>
<return-value transfer-ownership="full">
- <doc xml:space="preserve">a pointer to the contents of the @selection as a string</doc>
+ <doc xml:space="preserve">a pointer to the contents of the @selection
+ as a string</doc>
<type name="utf8" c:type="char*"/>
</return-value>
<parameters>
@@ -4510,12 +5009,13 @@ The returned region must be freed with cairo_region_destroy()</doc>
</method>
<method name="get_selection_region"
c:identifier="poppler_page_get_selection_region"
- deprecated="Use poppler_page_get_selected_region() instead."
+ deprecated="1"
deprecated-version="0.16">
<doc xml:space="preserve">Returns a region containing the area that would be rendered by
poppler_page_render_selection() as a #GList of
#PopplerRectangle. The returned list must be freed with
poppler_page_selection_region_free().</doc>
+ <doc-deprecated xml:space="preserve">Use poppler_page_get_selected_region() instead.</doc-deprecated>
<return-value transfer-ownership="full">
<doc xml:space="preserve">a #GList of #PopplerRectangle</doc>
<type name="GLib.List" c:type="GList*">
@@ -4555,6 +5055,7 @@ poppler_page_selection_region_free().</doc>
direction="out"
caller-allocates="0"
transfer-ownership="full"
+ optional="1"
allow-none="1">
<doc xml:space="preserve">return location for the width of @page</doc>
<type name="gdouble" c:type="double*"/>
@@ -4563,6 +5064,7 @@ poppler_page_selection_region_free().</doc>
direction="out"
caller-allocates="0"
transfer-ownership="full"
+ optional="1"
allow-none="1">
<doc xml:space="preserve">return location for the height of @page</doc>
<type name="gdouble" c:type="double*"/>
@@ -4574,7 +5076,8 @@ poppler_page_selection_region_free().</doc>
version="0.16">
<doc xml:space="preserve">Retrieves the text of @page.</doc>
<return-value transfer-ownership="full">
- <doc xml:space="preserve">a pointer to the text of the @page as a string</doc>
+ <doc xml:space="preserve">a pointer to the text of the @page
+ as a string</doc>
<type name="utf8" c:type="char*"/>
</return-value>
<parameters>
@@ -4587,11 +5090,35 @@ poppler_page_selection_region_free().</doc>
<method name="get_text_attributes"
c:identifier="poppler_page_get_text_attributes"
version="0.18">
- <doc xml:space="preserve">Obtains the attributes of the text as a GList of #PopplerTextAttributes.
+ <doc xml:space="preserve">Obtains the attributes of the text as a #GList of #PopplerTextAttributes.
This list must be freed with poppler_page_free_text_attributes() when done.
Each list element is a #PopplerTextAttributes struct where start_index and
end_index indicates the range of text (as returned by poppler_page_get_text())
+to which text attributes apply.
+
+See also poppler_page_get_text_attributes_for_area()</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve">A #GList of #PopplerTextAttributes</doc>
+ <type name="GLib.List" c:type="GList*">
+ <type name="TextAttributes"/>
+ </type>
+ </return-value>
+ <parameters>
+ <instance-parameter name="page" transfer-ownership="none">
+ <doc xml:space="preserve">A #PopplerPage</doc>
+ <type name="Page" c:type="PopplerPage*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_text_attributes_for_area"
+ c:identifier="poppler_page_get_text_attributes_for_area"
+ version="0.26">
+ <doc xml:space="preserve">Obtains the attributes of the text in @area as a #GList of #PopplerTextAttributes.
+This list must be freed with poppler_page_free_text_attributes() when done.
+
+Each list element is a #PopplerTextAttributes struct where start_index and
+end_index indicates the range of text (as returned by poppler_page_get_text_for_area())
to which text attributes apply.</doc>
<return-value transfer-ownership="full">
<doc xml:space="preserve">A #GList of #PopplerTextAttributes</doc>
@@ -4604,16 +5131,41 @@ to which text attributes apply.</doc>
<doc xml:space="preserve">A #PopplerPage</doc>
<type name="Page" c:type="PopplerPage*"/>
</instance-parameter>
+ <parameter name="area" transfer-ownership="none">
+ <doc xml:space="preserve">a #PopplerRectangle</doc>
+ <type name="Rectangle" c:type="PopplerRectangle*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_text_for_area"
+ c:identifier="poppler_page_get_text_for_area"
+ version="0.26">
+ <doc xml:space="preserve">Retrieves the text of @page contained in @area.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve">a pointer to the text as a string</doc>
+ <type name="utf8" c:type="char*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="page" transfer-ownership="none">
+ <doc xml:space="preserve">a #PopplerPage</doc>
+ <type name="Page" c:type="PopplerPage*"/>
+ </instance-parameter>
+ <parameter name="area" transfer-ownership="none">
+ <doc xml:space="preserve">a #PopplerRectangle</doc>
+ <type name="Rectangle" c:type="PopplerRectangle*"/>
+ </parameter>
</parameters>
</method>
<method name="get_text_layout"
c:identifier="poppler_page_get_text_layout"
version="0.16">
<doc xml:space="preserve">Obtains the layout of the text as a list of #PopplerRectangle
-This array must be freed with g_free () when done.
+This array must be freed with g_free() when done.
The position in the array represents an offset in the text returned by
-poppler_page_get_text()</doc>
+poppler_page_get_text()
+
+See also poppler_page_get_text_layout_for_area().</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the page contains text, %FALSE otherwise</doc>
<type name="gboolean" c:type="gboolean"/>
@@ -4641,12 +5193,52 @@ poppler_page_get_text()</doc>
</parameter>
</parameters>
</method>
+ <method name="get_text_layout_for_area"
+ c:identifier="poppler_page_get_text_layout_for_area"
+ version="0.26">
+ <doc xml:space="preserve">Obtains the layout of the text contained in @area as a list of #PopplerRectangle
+This array must be freed with g_free() when done.
+
+The position in the array represents an offset in the text returned by
+poppler_page_get_text_for_area()</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve">%TRUE if the page contains text, %FALSE otherwise</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="page" transfer-ownership="none">
+ <doc xml:space="preserve">A #PopplerPage</doc>
+ <type name="Page" c:type="PopplerPage*"/>
+ </instance-parameter>
+ <parameter name="area" transfer-ownership="none">
+ <doc xml:space="preserve">a #PopplerRectangle</doc>
+ <type name="Rectangle" c:type="PopplerRectangle*"/>
+ </parameter>
+ <parameter name="rectangles"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="container">
+ <doc xml:space="preserve">return location for an array of #PopplerRectangle</doc>
+ <array length="2" zero-terminated="0" c:type="PopplerRectangle**">
+ <type name="Rectangle" c:type="PopplerRectangle*"/>
+ </array>
+ </parameter>
+ <parameter name="n_rectangles"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve">length of returned array</doc>
+ <type name="guint" c:type="guint*"/>
+ </parameter>
+ </parameters>
+ </method>
<method name="get_thumbnail" c:identifier="poppler_page_get_thumbnail">
<doc xml:space="preserve">Get the embedded thumbnail for the specified page. If the document
doesn't have an embedded thumbnail for the page, this function
returns %NULL.</doc>
<return-value transfer-ownership="full">
- <doc xml:space="preserve">the tumbnail as a cairo_surface_t or %NULL if the document doesn't have a thumbnail for this page.</doc>
+ <doc xml:space="preserve">the tumbnail as a cairo_surface_t or %NULL if the document
+doesn't have a thumbnail for this page.</doc>
<type name="cairo.Surface" c:type="cairo_surface_t*"/>
</return-value>
<parameters>
@@ -4946,26 +5538,42 @@ only render the changed part of the selection.</doc>
<doc xml:space="preserve">A #PopplerPageTransition structures describes a visual transition
to use when moving between pages during a presentation</doc>
<field name="type" writable="1">
+ <doc xml:space="preserve">the type of transtition</doc>
<type name="PageTransitionType" c:type="PopplerPageTransitionType"/>
</field>
<field name="alignment" writable="1">
+ <doc xml:space="preserve">the dimension in which the transition effect shall occur.
+Only for #POPPLER_PAGE_TRANSITION_SPLIT and #POPPLER_PAGE_TRANSITION_BLINDS transition types</doc>
<type name="PageTransitionAlignment"
c:type="PopplerPageTransitionAlignment"/>
</field>
<field name="direction" writable="1">
+ <doc xml:space="preserve">the direccion of motion for the transition effect.
+Only for #POPPLER_PAGE_TRANSITION_SPLIT, #POPPLER_PAGE_TRANSITION_BOX and #POPPLER_PAGE_TRANSITION_FLY
+transition types</doc>
<type name="PageTransitionDirection"
c:type="PopplerPageTransitionDirection"/>
</field>
<field name="duration" writable="1">
+ <doc xml:space="preserve">the duration of the transition effect</doc>
<type name="gint" c:type="gint"/>
</field>
<field name="angle" writable="1">
+ <doc xml:space="preserve">the direction in which the specified transition effect shall moves,
+expressed in degrees counterclockwise starting from a left-to-right direction.
+Only for #POPPLER_PAGE_TRANSITION_WIPE, #POPPLER_PAGE_TRANSITION_GLITTER, #POPPLER_PAGE_TRANSITION_FLY,
+#POPPLER_PAGE_TRANSITION_COVER, #POPPLER_PAGE_TRANSITION_UNCOVER and #POPPLER_PAGE_TRANSITION_PUSH
+transition types</doc>
<type name="gint" c:type="gint"/>
</field>
<field name="scale" writable="1">
+ <doc xml:space="preserve">the starting or ending scale at which the changes shall be drawn.
+Only for #POPPLER_PAGE_TRANSITION_FLY transition type</doc>
<type name="gdouble" c:type="gdouble"/>
</field>
<field name="rectangular" writable="1">
+ <doc xml:space="preserve">whether the area that will be flown is rectangular and opaque.
+Only for #POPPLER_PAGE_TRANSITION_FLY transition type</doc>
<type name="gboolean" c:type="gboolean"/>
</field>
<constructor name="new" c:identifier="poppler_page_transition_new">
@@ -5060,19 +5668,22 @@ and #POPPLER_PAGE_TRANSITION_BLINDS transition types</doc>
value="2"
c:identifier="POPPLER_PAGE_TRANSITION_BLINDS"
glib:nick="blinds">
- <doc xml:space="preserve">multiple lines, evenly spaced across the screen, synchronously sweep in the same direction to reveal the new page</doc>
+ <doc xml:space="preserve">multiple lines, evenly spaced across the screen, synchronously
+sweep in the same direction to reveal the new page</doc>
</member>
<member name="box"
value="3"
c:identifier="POPPLER_PAGE_TRANSITION_BOX"
glib:nick="box">
- <doc xml:space="preserve">a rectangular box sweeps inward from the edges of the page or outward from the center revealing the new page</doc>
+ <doc xml:space="preserve">a rectangular box sweeps inward from the edges of the page or
+outward from the center revealing the new page</doc>
</member>
<member name="wipe"
value="4"
c:identifier="POPPLER_PAGE_TRANSITION_WIPE"
glib:nick="wipe">
- <doc xml:space="preserve">a single line sweeps across the screen from one edge to the other revealing the new page</doc>
+ <doc xml:space="preserve">a single line sweeps across the screen from one edge to the other
+revealing the new page</doc>
</member>
<member name="dissolve"
value="5"
@@ -5084,7 +5695,8 @@ and #POPPLER_PAGE_TRANSITION_BLINDS transition types</doc>
value="6"
c:identifier="POPPLER_PAGE_TRANSITION_GLITTER"
glib:nick="glitter">
- <doc xml:space="preserve">similar to #POPPLER_PAGE_TRANSITION_DISSOLVE, except that the effect sweeps across the page in a wide band moving from one side of the screen to the other</doc>
+ <doc xml:space="preserve">similar to #POPPLER_PAGE_TRANSITION_DISSOLVE, except that the effect
+sweeps across the page in a wide band moving from one side of the screen to the other</doc>
</member>
<member name="fly"
value="7"
@@ -5156,13 +5768,15 @@ and #POPPLER_PAGE_TRANSITION_BLINDS transition types</doc>
value="32"
c:identifier="POPPLER_PERMISSIONS_OK_TO_EXTRACT_CONTENTS"
glib:nick="ok-to-extract-contents">
- <doc xml:space="preserve">extract text and graphics (in support of accessibility to users with disabilities or for other purposes). Since 0.18</doc>
+ <doc xml:space="preserve">extract text and graphics
+(in support of accessibility to users with disabilities or for other purposes). Since 0.18</doc>
</member>
<member name="ok_to_assemble"
value="64"
c:identifier="POPPLER_PERMISSIONS_OK_TO_ASSEMBLE"
glib:nick="ok-to-assemble">
- <doc xml:space="preserve">assemble the document (insert, rotate, or delete pages and create bookmarks or thumbnail images). Since 0.18</doc>
+ <doc xml:space="preserve">assemble the document (insert, rotate, or delete pages and create
+bookmarks or thumbnail images). Since 0.18</doc>
</member>
<member name="ok_to_print_high_resolution"
value="128"
@@ -5177,6 +5791,54 @@ and #POPPLER_PAGE_TRANSITION_BLINDS transition types</doc>
<doc xml:space="preserve">document permits all operations</doc>
</member>
</bitfield>
+ <record name="Point"
+ c:type="PopplerPoint"
+ glib:type-name="PopplerPoint"
+ glib:get-type="poppler_point_get_type"
+ c:symbol-prefix="point">
+ <doc xml:space="preserve">A #PopplerPoint is used to describe a location point on a page</doc>
+ <field name="x" writable="1">
+ <doc xml:space="preserve">x coordinate</doc>
+ <type name="gdouble" c:type="gdouble"/>
+ </field>
+ <field name="y" writable="1">
+ <doc xml:space="preserve">y coordinate</doc>
+ <type name="gdouble" c:type="gdouble"/>
+ </field>
+ <constructor name="new" c:identifier="poppler_point_new" version="0.26">
+ <doc xml:space="preserve">Creates a new #PopplerPoint. It must be freed with poppler_point_free() after use.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve">a new #PopplerPoint</doc>
+ <type name="Point" c:type="PopplerPoint*"/>
+ </return-value>
+ </constructor>
+ <method name="copy" c:identifier="poppler_point_copy" version="0.26">
+ <doc xml:space="preserve">Creates a copy of @point. The copy must be freed with poppler_point_free()
+after use.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve">a new allocated copy of @point</doc>
+ <type name="Point" c:type="PopplerPoint*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="point" transfer-ownership="none">
+ <doc xml:space="preserve">a #PopplerPoint to copy</doc>
+ <type name="Point" c:type="PopplerPoint*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="free" c:identifier="poppler_point_free" version="0.26">
+ <doc xml:space="preserve">Frees the memory used by @point</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="point" transfer-ownership="none">
+ <doc xml:space="preserve">a #PopplerPoint</doc>
+ <type name="Point" c:type="PopplerPoint*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ </record>
<bitfield name="PrintFlags"
version="0.16"
glib:type-name="PopplerPrintFlags"
@@ -5208,6 +5870,70 @@ and #POPPLER_PAGE_TRANSITION_BLINDS transition types</doc>
<doc xml:space="preserve">print main document contents and all markup annotations</doc>
</member>
</bitfield>
+ <record name="Quadrilateral"
+ c:type="PopplerQuadrilateral"
+ glib:type-name="PopplerQuadrilateral"
+ glib:get-type="poppler_quadrilateral_get_type"
+ c:symbol-prefix="quadrilateral">
+ <doc xml:space="preserve">A #PopplerQuadrilateral is used to describe rectangle-like polygon
+ with arbitrary inclination on a page.
+
+ Since: 0.26</doc>
+ <field name="p1" writable="1">
+ <doc xml:space="preserve">a #PopplerPoint with the first vertex coordinates</doc>
+ <type name="Point" c:type="PopplerPoint"/>
+ </field>
+ <field name="p2" writable="1">
+ <doc xml:space="preserve">a #PopplerPoint with the second vertex coordinates</doc>
+ <type name="Point" c:type="PopplerPoint"/>
+ </field>
+ <field name="p3" writable="1">
+ <doc xml:space="preserve">a #PopplerPoint with the third vertex coordinates</doc>
+ <type name="Point" c:type="PopplerPoint"/>
+ </field>
+ <field name="p4" writable="1">
+ <doc xml:space="preserve">a #PopplerPoint with the fourth vertex coordinates</doc>
+ <type name="Point" c:type="PopplerPoint"/>
+ </field>
+ <constructor name="new"
+ c:identifier="poppler_quadrilateral_new"
+ version="0.26">
+ <doc xml:space="preserve">Creates a new #PopplerQuadrilateral. It must be freed with poppler_quadrilateral_free() after use.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve">a new #PopplerQuadrilateral.</doc>
+ <type name="Quadrilateral" c:type="PopplerQuadrilateral*"/>
+ </return-value>
+ </constructor>
+ <method name="copy"
+ c:identifier="poppler_quadrilateral_copy"
+ version="0.26">
+ <doc xml:space="preserve">Creates a copy of @quad. The copy must be freed with poppler_quadrilateral_free() after use.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve">a new allocated copy of @quad</doc>
+ <type name="Quadrilateral" c:type="PopplerQuadrilateral*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="quad" transfer-ownership="none">
+ <doc xml:space="preserve">a #PopplerQuadrilateral to copy</doc>
+ <type name="Quadrilateral" c:type="PopplerQuadrilateral*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="free"
+ c:identifier="poppler_quadrilateral_free"
+ version="0.26">
+ <doc xml:space="preserve">Frees the memory used by @quad</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="quad" transfer-ownership="none">
+ <doc xml:space="preserve">a #PopplerQuadrilateral</doc>
+ <type name="Quadrilateral" c:type="PopplerQuadrilateral*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ </record>
<record name="Rectangle"
c:type="PopplerRectangle"
glib:type-name="PopplerRectangle"
@@ -5216,15 +5942,19 @@ and #POPPLER_PAGE_TRANSITION_BLINDS transition types</doc>
<doc xml:space="preserve">A #PopplerRectangle is used to describe
locations on a page and bounding boxes</doc>
<field name="x1" writable="1">
+ <doc xml:space="preserve">x coordinate of lower left corner</doc>
<type name="gdouble" c:type="gdouble"/>
</field>
<field name="y1" writable="1">
+ <doc xml:space="preserve">y coordinate of lower left corner</doc>
<type name="gdouble" c:type="gdouble"/>
</field>
<field name="x2" writable="1">
+ <doc xml:space="preserve">x coordinate of upper right corner</doc>
<type name="gdouble" c:type="gdouble"/>
</field>
<field name="y2" writable="1">
+ <doc xml:space="preserve">y coordinate of upper right corner</doc>
<type name="gdouble" c:type="gdouble"/>
</field>
<constructor name="new" c:identifier="poppler_rectangle_new">
@@ -5284,6 +6014,1963 @@ locations on a page and bounding boxes</doc>
<doc xml:space="preserve">line is the minimum unit for selection</doc>
</member>
</enumeration>
+ <enumeration name="StructureBlockAlign"
+ glib:type-name="PopplerStructureBlockAlign"
+ glib:get-type="poppler_structure_block_align_get_type"
+ c:type="PopplerStructureBlockAlign">
+ <member name="before"
+ value="0"
+ c:identifier="POPPLER_STRUCTURE_BLOCK_ALIGN_BEFORE"
+ glib:nick="before">
+ </member>
+ <member name="middle"
+ value="1"
+ c:identifier="POPPLER_STRUCTURE_BLOCK_ALIGN_MIDDLE"
+ glib:nick="middle">
+ </member>
+ <member name="after"
+ value="2"
+ c:identifier="POPPLER_STRUCTURE_BLOCK_ALIGN_AFTER"
+ glib:nick="after">
+ </member>
+ <member name="justify"
+ value="3"
+ c:identifier="POPPLER_STRUCTURE_BLOCK_ALIGN_JUSTIFY"
+ glib:nick="justify">
+ </member>
+ </enumeration>
+ <enumeration name="StructureBorderStyle"
+ glib:type-name="PopplerStructureBorderStyle"
+ glib:get-type="poppler_structure_border_style_get_type"
+ c:type="PopplerStructureBorderStyle">
+ <member name="none"
+ value="0"
+ c:identifier="POPPLER_STRUCTURE_BORDER_STYLE_NONE"
+ glib:nick="none">
+ </member>
+ <member name="hidden"
+ value="1"
+ c:identifier="POPPLER_STRUCTURE_BORDER_STYLE_HIDDEN"
+ glib:nick="hidden">
+ </member>
+ <member name="dotted"
+ value="2"
+ c:identifier="POPPLER_STRUCTURE_BORDER_STYLE_DOTTED"
+ glib:nick="dotted">
+ </member>
+ <member name="dashed"
+ value="3"
+ c:identifier="POPPLER_STRUCTURE_BORDER_STYLE_DASHED"
+ glib:nick="dashed">
+ </member>
+ <member name="solid"
+ value="4"
+ c:identifier="POPPLER_STRUCTURE_BORDER_STYLE_SOLID"
+ glib:nick="solid">
+ </member>
+ <member name="double"
+ value="5"
+ c:identifier="POPPLER_STRUCTURE_BORDER_STYLE_DOUBLE"
+ glib:nick="double">
+ </member>
+ <member name="groove"
+ value="6"
+ c:identifier="POPPLER_STRUCTURE_BORDER_STYLE_GROOVE"
+ glib:nick="groove">
+ </member>
+ <member name="inset"
+ value="7"
+ c:identifier="POPPLER_STRUCTURE_BORDER_STYLE_INSET"
+ glib:nick="inset">
+ </member>
+ <member name="outset"
+ value="8"
+ c:identifier="POPPLER_STRUCTURE_BORDER_STYLE_OUTSET"
+ glib:nick="outset">
+ </member>
+ </enumeration>
+ <class name="StructureElement"
+ c:symbol-prefix="structure_element"
+ c:type="PopplerStructureElement"
+ parent="GObject.Object"
+ glib:type-name="PopplerStructureElement"
+ glib:get-type="poppler_structure_element_get_type">
+ <method name="get_abbreviation"
+ c:identifier="poppler_structure_element_get_abbreviation">
+ <return-value transfer-ownership="full">
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="poppler_structure_element"
+ transfer-ownership="none">
+ <type name="StructureElement" c:type="PopplerStructureElement*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_actual_text"
+ c:identifier="poppler_structure_element_get_actual_text"
+ version="0.26">
+ <doc xml:space="preserve">Obtains the actual text enclosed by the element (and its child elements).
+The actual text is mostly used for non-text elements like images and
+figures which &lt;em&gt;do&lt;/em&gt; have the graphical appearance of text, like
+a logo. For those the actual text is the equivalent text to those
+graphical elements which look like text when rendered.
+
+Note that for elements containing proper text, the function
+poppler_structure_element_get_text() must be used instead.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve">The actual text for the element, or %NULL
+ if not defined.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="poppler_structure_element"
+ transfer-ownership="none">
+ <doc xml:space="preserve">A #PopplerStructureElement</doc>
+ <type name="StructureElement" c:type="PopplerStructureElement*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_alt_text"
+ c:identifier="poppler_structure_element_get_alt_text"
+ version="0.26">
+ <doc xml:space="preserve">Obtains the “alternate†text representation of the element (and its child
+elements). This is mostly used for non-text elements like images and
+figures, to specify a textual description of the element.
+
+Note that for elements containing proper text, the function
+poppler_structure_element_get_text() must be used instead.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve">The alternate text representation for the
+ element, or %NULL if not defined.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="poppler_structure_element"
+ transfer-ownership="none">
+ <doc xml:space="preserve">A #PopplerStructureElement</doc>
+ <type name="StructureElement" c:type="PopplerStructureElement*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_background_color"
+ c:identifier="poppler_structure_element_get_background_color"
+ version="0.26">
+ <doc xml:space="preserve">Obtains the background color of the element. If this attribute is
+not specified, the element shall be treated as if it were transparent.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve">%TRUE if a color is defined for the element,
+ %FALSE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="poppler_structure_element"
+ transfer-ownership="none">
+ <doc xml:space="preserve">A #PopplerStructureElement</doc>
+ <type name="StructureElement" c:type="PopplerStructureElement*"/>
+ </instance-parameter>
+ <parameter name="color"
+ direction="out"
+ caller-allocates="1"
+ transfer-ownership="none">
+ <doc xml:space="preserve">A #PopplerColor.</doc>
+ <type name="Color" c:type="PopplerColor*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_baseline_shift"
+ c:identifier="poppler_structure_element_get_baseline_shift"
+ version="0.26">
+ <doc xml:space="preserve">Obtains how much the text contained in the inline-level structure element should be shifted,
+measuring from the baseline of the glyphs.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve">A numeric value.</doc>
+ <type name="gdouble" c:type="gdouble"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="poppler_structure_element"
+ transfer-ownership="none">
+ <doc xml:space="preserve">A #PopplerStructureElement</doc>
+ <type name="StructureElement" c:type="PopplerStructureElement*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_block_align"
+ c:identifier="poppler_structure_element_get_block_align"
+ version="0.26">
+ <doc xml:space="preserve">Obtains the block-alignment mode of the block-level structure element.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve">A #PopplerStructureBlockAlign value.</doc>
+ <type name="StructureBlockAlign"
+ c:type="PopplerStructureBlockAlign"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="poppler_structure_element"
+ transfer-ownership="none">
+ <doc xml:space="preserve">A #PopplerStructureElement</doc>
+ <type name="StructureElement" c:type="PopplerStructureElement*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_border_color"
+ c:identifier="poppler_structure_element_get_border_color"
+ version="0.26">
+ <doc xml:space="preserve">Obtains the color of border around the element. The result values
+are in before-after-start-end ordering (for the typical Western
+left-to-right writing, that is top-bottom-left-right).
+If this attribute is not specified, the border color for this element shall
+be the current text fill color in effect at the start of its associated
+content.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve">%TRUE if a color is defined for the element,
+ %FALSE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="poppler_structure_element"
+ transfer-ownership="none">
+ <doc xml:space="preserve">A #PopplerStructureElement</doc>
+ <type name="StructureElement" c:type="PopplerStructureElement*"/>
+ </instance-parameter>
+ <parameter name="colors"
+ direction="out"
+ caller-allocates="1"
+ transfer-ownership="none">
+ <doc xml:space="preserve">An array
+ of four #PopplerColor.</doc>
+ <array zero-terminated="0" c:type="PopplerColor*" fixed-size="4">
+ <type name="Color"/>
+ </array>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_border_style"
+ c:identifier="poppler_structure_element_get_border_style"
+ version="0.26">
+ <doc xml:space="preserve">Obtains the border style of a structure element. The result values
+are in before-after-start-end ordering. For example, using Western
+left-to-right writing, that is top-bottom-left-right.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="poppler_structure_element"
+ transfer-ownership="none">
+ <doc xml:space="preserve">A #PopplerStructureElement</doc>
+ <type name="StructureElement" c:type="PopplerStructureElement*"/>
+ </instance-parameter>
+ <parameter name="border_styles"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve">
+ An array of four #PopplerStructureBorderStyle elements.</doc>
+ <array zero-terminated="0"
+ c:type="PopplerStructureBorderStyle*"
+ fixed-size="4">
+ <type name="StructureBorderStyle"/>
+ </array>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_border_thickness"
+ c:identifier="poppler_structure_element_get_border_thickness"
+ version="0.26">
+ <doc xml:space="preserve">Obtains the thickness of the border of an element. The result values
+are in before-after-start-end ordering (for the typical Western
+left-to-right writing, that is top-bottom-left-right).
+A value of 0 indicates that the border shall not be drawn.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve">%TRUE if the border thickness attribute is defined for
+ the element, %FALSE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="poppler_structure_element"
+ transfer-ownership="none">
+ <doc xml:space="preserve">A #PopplerStructureElement</doc>
+ <type name="StructureElement" c:type="PopplerStructureElement*"/>
+ </instance-parameter>
+ <parameter name="border_thicknesses"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve">
+ Array with the four values of border thicknesses.</doc>
+ <array zero-terminated="0" c:type="gdouble*" fixed-size="4">
+ <type name="gdouble"/>
+ </array>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_bounding_box"
+ c:identifier="poppler_structure_element_get_bounding_box"
+ version="0.26">
+ <doc xml:space="preserve">Obtains the size of the bounding box of a block-level structure element.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve">%TRUE if a bounding box is defined for the element,
+ %FALSE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="poppler_structure_element"
+ transfer-ownership="none">
+ <doc xml:space="preserve">A #PopplerStructureElement</doc>
+ <type name="StructureElement" c:type="PopplerStructureElement*"/>
+ </instance-parameter>
+ <parameter name="bounding_box"
+ direction="out"
+ caller-allocates="1"
+ transfer-ownership="none">
+ <doc xml:space="preserve">A #PopplerRectangle.</doc>
+ <type name="Rectangle" c:type="PopplerRectangle*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_color"
+ c:identifier="poppler_structure_element_get_color"
+ version="0.26">
+ <doc xml:space="preserve">Obtains the color of the content contained in the element.
+If this attribute is not specified, the color for this element shall
+be the current text fill color in effect at the start of its associated content.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve">%TRUE if a color is defined for the element,
+ %FALSE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="poppler_structure_element"
+ transfer-ownership="none">
+ <doc xml:space="preserve">A #PopplerStructureElement</doc>
+ <type name="StructureElement" c:type="PopplerStructureElement*"/>
+ </instance-parameter>
+ <parameter name="color"
+ direction="out"
+ caller-allocates="1"
+ transfer-ownership="none">
+ <doc xml:space="preserve">A #PopplerColor.</doc>
+ <type name="Color" c:type="PopplerColor*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_column_count"
+ c:identifier="poppler_structure_element_get_column_count"
+ version="0.26">
+ <doc xml:space="preserve">Obtains the number of columns used to lay out the content contained
+in the grouping element.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve">Number of columns.</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="poppler_structure_element"
+ transfer-ownership="none">
+ <doc xml:space="preserve">A #PopplerStructureElement</doc>
+ <type name="StructureElement" c:type="PopplerStructureElement*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_column_gaps"
+ c:identifier="poppler_structure_element_get_column_gaps"
+ version="0.26">
+ <doc xml:space="preserve">Obtains the size of the gaps in between adjacent columns. Returns an
+array of elements: the first one is the size of the gap in between
+columns 1 and 2, second is the size between columns 2 and 3, and so on.
+
+For elements which use a single column, %NULL is returned and %n_values
+is set to zero.
+
+If the attribute is undefined, %NULL is returned and %n_values is set
+to a non-zero value.
+
+The array with the results is allocated by the function. When it is
+not needed anymore, be sure to call g_free() on it.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve">
+ Array containing the values for the column gaps, or %NULL if the
+ array is empty or the attribute is not defined.</doc>
+ <array length="0" zero-terminated="0" c:type="gdouble*">
+ <type name="gdouble"/>
+ </array>
+ </return-value>
+ <parameters>
+ <instance-parameter name="poppler_structure_element"
+ transfer-ownership="none">
+ <doc xml:space="preserve">A #PopplerStructureElement</doc>
+ <type name="StructureElement" c:type="PopplerStructureElement*"/>
+ </instance-parameter>
+ <parameter name="n_values"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve">Size of the returned array.</doc>
+ <type name="guint" c:type="guint*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_column_widths"
+ c:identifier="poppler_structure_element_get_column_widths"
+ version="0.26">
+ <doc xml:space="preserve">Obtains an array with the widths of the columns.
+
+The array with the results is allocated by the function. When it is
+not needed anymore, be sure to call g_free() on it.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve">
+ Array containing widths of the columns, or %NULL if the attribute
+ is not defined.</doc>
+ <array length="0" zero-terminated="0" c:type="gdouble*">
+ <type name="gdouble"/>
+ </array>
+ </return-value>
+ <parameters>
+ <instance-parameter name="poppler_structure_element"
+ transfer-ownership="none">
+ <doc xml:space="preserve">A #PopplerStructureElement</doc>
+ <type name="StructureElement" c:type="PopplerStructureElement*"/>
+ </instance-parameter>
+ <parameter name="n_values"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve">Size of the returned array.</doc>
+ <type name="guint" c:type="guint*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_end_indent"
+ c:identifier="poppler_structure_element_get_end_indent"
+ version="0.26">
+ <doc xml:space="preserve">Obtains the amount of indentation at the end of the block-level structure element.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve">A numeric value.</doc>
+ <type name="gdouble" c:type="gdouble"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="poppler_structure_element"
+ transfer-ownership="none">
+ <doc xml:space="preserve">A #PopplerStructureElement</doc>
+ <type name="StructureElement" c:type="PopplerStructureElement*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_form_description"
+ c:identifier="poppler_structure_element_get_form_description"
+ version="0.26">
+ <doc xml:space="preserve">Obtains the textual description of the form element. Note that the
+description is for informative purposes, and it is not intended
+to be rendered. For example, assistive technologies may use the
+description field to provide an alternate way of presenting an
+element to the user.
+
+The returned string is allocated by the function. When it is
+not needed anymore, be sure to call g_free() on it.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve">A string, or %NULL if the attribute
+ is not defined.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="poppler_structure_element"
+ transfer-ownership="none">
+ <doc xml:space="preserve">A #PopplerStructureElement</doc>
+ <type name="StructureElement" c:type="PopplerStructureElement*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_form_role"
+ c:identifier="poppler_structure_element_get_form_role"
+ version="0.26">
+ <doc xml:space="preserve">Obtains the role of a form structure element that is part of a form, or is
+a form field. This hints how the control for the element is intended
+to be rendered.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve">A #PopplerStructureFormRole value.</doc>
+ <type name="StructureFormRole" c:type="PopplerStructureFormRole"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="poppler_structure_element"
+ transfer-ownership="none">
+ <doc xml:space="preserve">A #PopplerStructureElement</doc>
+ <type name="StructureElement" c:type="PopplerStructureElement*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_form_state"
+ c:identifier="poppler_structure_element_get_form_state"
+ version="0.26">
+ <doc xml:space="preserve">For a structure element that is a form field, obtains in which state
+the associated control is expected to be rendered.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve">A #PopplerStructureFormState value.</doc>
+ <type name="StructureFormState" c:type="PopplerStructureFormState"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="poppler_structure_element"
+ transfer-ownership="none">
+ <doc xml:space="preserve">A #PopplerStructureElement</doc>
+ <type name="StructureElement" c:type="PopplerStructureElement*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_glyph_orientation"
+ c:identifier="poppler_structure_element_get_glyph_orientation"
+ version="0.26">
+ <doc xml:space="preserve">Obtains the glyph orientation for the text contained in a
+inline-level structure element.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve">A #PopplerStructureGlyphOrientation value.</doc>
+ <type name="StructureGlyphOrientation"
+ c:type="PopplerStructureGlyphOrientation"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="poppler_structure_element"
+ transfer-ownership="none">
+ <doc xml:space="preserve">A #PopplerStructureElement</doc>
+ <type name="StructureElement" c:type="PopplerStructureElement*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_height"
+ c:identifier="poppler_structure_element_get_height"
+ version="0.26">
+ <doc xml:space="preserve">Obtains the height of the block-level structure element. Note that for elements which do
+not specify a height, it has to be calculated, and in this case -1 is returned.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve">A positive value if a width is defined, or -1
+ if the height is to be calculated automatically.</doc>
+ <type name="gdouble" c:type="gdouble"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="poppler_structure_element"
+ transfer-ownership="none">
+ <doc xml:space="preserve">A #PopplerStructureElement</doc>
+ <type name="StructureElement" c:type="PopplerStructureElement*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_id"
+ c:identifier="poppler_structure_element_get_id"
+ version="0.26">
+ <doc xml:space="preserve">Obtains the identifier of an element.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve">The identifier of the element (if
+ defined), or %NULL.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="poppler_structure_element"
+ transfer-ownership="none">
+ <doc xml:space="preserve">A #PopplerStructureElement</doc>
+ <type name="StructureElement" c:type="PopplerStructureElement*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_inline_align"
+ c:identifier="poppler_structure_element_get_inline_align"
+ version="0.26">
+ <doc xml:space="preserve">Obtains the inline-alignment mode of the block-level structure element.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve">A #PopplerStructureInlineAlign value.</doc>
+ <type name="StructureInlineAlign"
+ c:type="PopplerStructureInlineAlign"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="poppler_structure_element"
+ transfer-ownership="none">
+ <doc xml:space="preserve">A #PopplerStructureElement</doc>
+ <type name="StructureElement" c:type="PopplerStructureElement*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_kind"
+ c:identifier="poppler_structure_element_get_kind"
+ version="0.26">
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve">A #PopplerStructureElementKind value.</doc>
+ <type name="StructureElementKind"
+ c:type="PopplerStructureElementKind"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="poppler_structure_element"
+ transfer-ownership="none">
+ <doc xml:space="preserve">A #PopplerStructureElement</doc>
+ <type name="StructureElement" c:type="PopplerStructureElement*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_language"
+ c:identifier="poppler_structure_element_get_language"
+ version="0.26">
+ <doc xml:space="preserve">Obtains the language and country code for the content in an element,
+in two-letter ISO format, e.g. &lt;code&gt;en_ES&lt;/code&gt;, or %NULL if not
+defined.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve">language and country code, or %NULL.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="poppler_structure_element"
+ transfer-ownership="none">
+ <doc xml:space="preserve">A #PopplerStructureElement</doc>
+ <type name="StructureElement" c:type="PopplerStructureElement*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_line_height"
+ c:identifier="poppler_structure_element_get_line_height"
+ version="0.26">
+ <doc xml:space="preserve">Obtains the line height for the text contained in the inline-level structure element.
+Note that for elements which do not specify a line height, it has to be calculated,
+and in this case -1 is returned.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve">A positive value if a line height is defined, or -1
+ if the height is to be calculated automatically.</doc>
+ <type name="gdouble" c:type="gdouble"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="poppler_structure_element"
+ transfer-ownership="none">
+ <doc xml:space="preserve">A #PopplerStructureElement</doc>
+ <type name="StructureElement" c:type="PopplerStructureElement*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_list_numbering"
+ c:identifier="poppler_structure_element_get_list_numbering"
+ version="0.26">
+ <doc xml:space="preserve">Obtains the list numbering style for list items.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve">A #PopplerStructureListNumbering value.</doc>
+ <type name="StructureListNumbering"
+ c:type="PopplerStructureListNumbering"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="poppler_structure_element"
+ transfer-ownership="none">
+ <doc xml:space="preserve">A #PopplerStructureElement</doc>
+ <type name="StructureElement" c:type="PopplerStructureElement*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_padding"
+ c:identifier="poppler_structure_element_get_padding"
+ version="0.26">
+ <doc xml:space="preserve">Obtains the padding of an element (space around it). The result
+values are in before-after-start-end ordering. For example using
+Western left-to-right writing, that is top-bottom-left-right.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="poppler_structure_element"
+ transfer-ownership="none">
+ <doc xml:space="preserve">A #PopplerStructureElement</doc>
+ <type name="StructureElement" c:type="PopplerStructureElement*"/>
+ </instance-parameter>
+ <parameter name="paddings"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve">
+ Padding for the four sides of the element.</doc>
+ <array zero-terminated="0" c:type="gdouble*" fixed-size="4">
+ <type name="gdouble"/>
+ </array>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_page"
+ c:identifier="poppler_structure_element_get_page"
+ version="0.26">
+ <doc xml:space="preserve">Obtains the page number in which the element is contained.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve">Number of the page that contains the element, of
+ &lt;code&gt;-1&lt;/code&gt; if not defined.</doc>
+ <type name="gint" c:type="gint"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="poppler_structure_element"
+ transfer-ownership="none">
+ <doc xml:space="preserve">A #PopplerStructureElement</doc>
+ <type name="StructureElement" c:type="PopplerStructureElement*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_placement"
+ c:identifier="poppler_structure_element_get_placement"
+ version="0.26">
+ <doc xml:space="preserve">Obtains the placement type of the structure element.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve">A #PopplerStructurePlacement value.</doc>
+ <type name="StructurePlacement" c:type="PopplerStructurePlacement"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="poppler_structure_element"
+ transfer-ownership="none">
+ <doc xml:space="preserve">A #PopplerStructureElement</doc>
+ <type name="StructureElement" c:type="PopplerStructureElement*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_ruby_align"
+ c:identifier="poppler_structure_element_get_ruby_align"
+ version="0.26">
+ <doc xml:space="preserve">Obtains the alignment for the ruby text contained in a
+inline-level structure element.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve">A #PopplerStructureRubyAlign value.</doc>
+ <type name="StructureRubyAlign" c:type="PopplerStructureRubyAlign"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="poppler_structure_element"
+ transfer-ownership="none">
+ <doc xml:space="preserve">A #PopplerStructureElement</doc>
+ <type name="StructureElement" c:type="PopplerStructureElement*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_ruby_position"
+ c:identifier="poppler_structure_element_get_ruby_position"
+ version="0.26">
+ <doc xml:space="preserve">Obtains the position for the ruby text contained in a
+inline-level structure element.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve">A #PopplerStructureRubyPosition value.</doc>
+ <type name="StructureRubyPosition"
+ c:type="PopplerStructureRubyPosition"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="poppler_structure_element"
+ transfer-ownership="none">
+ <doc xml:space="preserve">A #PopplerStructureElement</doc>
+ <type name="StructureElement" c:type="PopplerStructureElement*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_space_after"
+ c:identifier="poppler_structure_element_get_space_after"
+ version="0.26">
+ <doc xml:space="preserve">Obtains the amount of empty space after the block-level structure element.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve">A positive value.</doc>
+ <type name="gdouble" c:type="gdouble"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="poppler_structure_element"
+ transfer-ownership="none">
+ <doc xml:space="preserve">A #PopplerStructureElement</doc>
+ <type name="StructureElement" c:type="PopplerStructureElement*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_space_before"
+ c:identifier="poppler_structure_element_get_space_before"
+ version="0.26">
+ <doc xml:space="preserve">Obtains the amount of empty space before the block-level structure element.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve">A positive value.</doc>
+ <type name="gdouble" c:type="gdouble"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="poppler_structure_element"
+ transfer-ownership="none">
+ <doc xml:space="preserve">A #PopplerStructureElement</doc>
+ <type name="StructureElement" c:type="PopplerStructureElement*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_start_indent"
+ c:identifier="poppler_structure_element_get_start_indent"
+ version="0.26">
+ <doc xml:space="preserve">Obtains the amount of indentation at the beginning of the block-level structure element.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve">A numeric value.</doc>
+ <type name="gdouble" c:type="gdouble"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="poppler_structure_element"
+ transfer-ownership="none">
+ <doc xml:space="preserve">A #PopplerStructureElement</doc>
+ <type name="StructureElement" c:type="PopplerStructureElement*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_table_border_style"
+ c:identifier="poppler_structure_element_get_table_border_style"
+ version="0.26">
+ <doc xml:space="preserve">Obtains the table cell border style of a block-level structure element. The result values
+are in before-after-start-end ordering. For example, using Western
+left-to-right writing, that is top-bottom-left-right.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="poppler_structure_element"
+ transfer-ownership="none">
+ <doc xml:space="preserve">A #PopplerStructureElement</doc>
+ <type name="StructureElement" c:type="PopplerStructureElement*"/>
+ </instance-parameter>
+ <parameter name="border_styles"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve">
+ An array of four #PopplerStructureBorderStyle elements.</doc>
+ <array zero-terminated="0"
+ c:type="PopplerStructureBorderStyle*"
+ fixed-size="4">
+ <type name="StructureBorderStyle"/>
+ </array>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_table_column_span"
+ c:identifier="poppler_structure_element_get_table_column_span"
+ version="0.26">
+ <doc xml:space="preserve">Obtains the number of columns the table element spans to.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve">A positive, non-zero value.</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="poppler_structure_element"
+ transfer-ownership="none">
+ <doc xml:space="preserve">A #PopplerStructureElement</doc>
+ <type name="StructureElement" c:type="PopplerStructureElement*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_table_headers"
+ c:identifier="poppler_structure_element_get_table_headers"
+ version="0.26">
+ <doc xml:space="preserve">Obtains an array with the names of the table column headers. This is only
+useful for table header row elements.
+
+The array with the results is allocated by the function. The number
+of items in the returned array can be obtained with g_strv_length().
+The returned value must be freed using g_strfreev().</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve">
+ Zero-terminated array of strings with the table header names,
+ or %NULL if the attribute is not defined.</doc>
+ <array c:type="gchar**">
+ <type name="utf8"/>
+ </array>
+ </return-value>
+ <parameters>
+ <instance-parameter name="poppler_structure_element"
+ transfer-ownership="none">
+ <doc xml:space="preserve">A #PopplerStructureElement</doc>
+ <type name="StructureElement" c:type="PopplerStructureElement*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_table_padding"
+ c:identifier="poppler_structure_element_get_table_padding"
+ version="0.26">
+ <doc xml:space="preserve">Obtains the padding between the table cell’s content rectangle and the
+surrounding border of a block-level structure element. The result
+values are in before-after-start-end ordering (for the typical
+Western left-to-right writing, that is top-bottom-left-right).</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="poppler_structure_element"
+ transfer-ownership="none">
+ <doc xml:space="preserve">A #PopplerStructureElement</doc>
+ <type name="StructureElement" c:type="PopplerStructureElement*"/>
+ </instance-parameter>
+ <parameter name="paddings"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve">
+ Padding for the four sides of the element.</doc>
+ <array zero-terminated="0" c:type="gdouble*" fixed-size="4">
+ <type name="gdouble"/>
+ </array>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_table_row_span"
+ c:identifier="poppler_structure_element_get_table_row_span"
+ version="0.26">
+ <doc xml:space="preserve">Obtains the number of rows the table element spans to.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve">A positive, non-zero value.</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="poppler_structure_element"
+ transfer-ownership="none">
+ <doc xml:space="preserve">A #PopplerStructureElement</doc>
+ <type name="StructureElement" c:type="PopplerStructureElement*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_table_scope"
+ c:identifier="poppler_structure_element_get_table_scope"
+ version="0.26">
+ <doc xml:space="preserve">Obtains the scope of a table structure element.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve">A #PopplerStructureScope value.</doc>
+ <type name="StructureTableScope"
+ c:type="PopplerStructureTableScope"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="poppler_structure_element"
+ transfer-ownership="none">
+ <doc xml:space="preserve">A #PopplerStructureElement</doc>
+ <type name="StructureElement" c:type="PopplerStructureElement*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_table_summary"
+ c:identifier="poppler_structure_element_get_table_summary"
+ version="0.26">
+ <doc xml:space="preserve">Obtains the textual summary of the contents of the table element. Note that
+the summary is meant for informative purposes, and it is not intended
+to be rendered. For example, assistive technologies may use the
+description field to provide an alternate way of presenting an element
+to the user, or a document indexer may want to scan it for additional
+keywords.
+
+The returned string is allocated by the function. When it is
+not needed anymore, be sure to call g_free() on it.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve">A string, or %NULL if the attribute
+ is not defined.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="poppler_structure_element"
+ transfer-ownership="none">
+ <doc xml:space="preserve">A #PopplerStructureElement</doc>
+ <type name="StructureElement" c:type="PopplerStructureElement*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_text"
+ c:identifier="poppler_structure_element_get_text"
+ version="0.26">
+ <doc xml:space="preserve">Obtains the text enclosed by an element, or the text enclosed by the
+elements in the subtree (including the element itself).</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve">A string.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="poppler_structure_element"
+ transfer-ownership="none">
+ <doc xml:space="preserve">A #PopplerStructureElement</doc>
+ <type name="StructureElement" c:type="PopplerStructureElement*"/>
+ </instance-parameter>
+ <parameter name="flags" transfer-ownership="none">
+ <doc xml:space="preserve">A #PopplerStructureGetTextFlags value, or
+ %POPPLER_STRUCTURE_GET_TEXT_NONE to disable all the flags.</doc>
+ <type name="StructureGetTextFlags"
+ c:type="PopplerStructureGetTextFlags"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_text_align"
+ c:identifier="poppler_structure_element_get_text_align"
+ version="0.26">
+ <doc xml:space="preserve">Obtains the text alignment mode of the text contained into a
+block-level structure element.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve">A #PopplerStructureTextAlign value.</doc>
+ <type name="StructureTextAlign" c:type="PopplerStructureTextAlign"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="poppler_structure_element"
+ transfer-ownership="none">
+ <doc xml:space="preserve">A #PopplerStructureElement</doc>
+ <type name="StructureElement" c:type="PopplerStructureElement*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_text_decoration_color"
+ c:identifier="poppler_structure_element_get_text_decoration_color"
+ version="0.26">
+ <doc xml:space="preserve">Obtains the color of the text decoration for the text contained
+in the inline-level structure element.
+If this attribute is not specified, the color for this element shall be the current fill
+color in effect at the start of its associated content.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve">%TRUE if a color is defined for the element,
+ %FALSE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="poppler_structure_element"
+ transfer-ownership="none">
+ <doc xml:space="preserve">A #PopplerStructureElement</doc>
+ <type name="StructureElement" c:type="PopplerStructureElement*"/>
+ </instance-parameter>
+ <parameter name="color"
+ direction="out"
+ caller-allocates="1"
+ transfer-ownership="none">
+ <doc xml:space="preserve">A #PopplerColor.</doc>
+ <type name="Color" c:type="PopplerColor*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_text_decoration_thickness"
+ c:identifier="poppler_structure_element_get_text_decoration_thickness"
+ version="0.26">
+ <doc xml:space="preserve">Obtains the thickness of the text decoration for the text contained
+in the inline-level structure element.
+If this attribute is not specified, it shall be derived from the current
+stroke thickness in effect at the start of the element’s associated content.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve">Thickness of the text decoration, or %NaN if not defined.</doc>
+ <type name="gdouble" c:type="gdouble"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="poppler_structure_element"
+ transfer-ownership="none">
+ <doc xml:space="preserve">A #PopplerStructureElement</doc>
+ <type name="StructureElement" c:type="PopplerStructureElement*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_text_decoration_type"
+ c:identifier="poppler_structure_element_get_text_decoration_type"
+ version="0.26">
+ <doc xml:space="preserve">Obtains the text decoration type of the text contained in the
+inline-level structure element.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve">A #PopplerStructureTextDecoration value.</doc>
+ <type name="StructureTextDecoration"
+ c:type="PopplerStructureTextDecoration"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="poppler_structure_element"
+ transfer-ownership="none">
+ <doc xml:space="preserve">A #PopplerStructureElement</doc>
+ <type name="StructureElement" c:type="PopplerStructureElement*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_text_indent"
+ c:identifier="poppler_structure_element_get_text_indent"
+ version="0.26">
+ <doc xml:space="preserve">Obtains the amount of indentation of the text contained in the block-level structure element.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve">A numeric value.</doc>
+ <type name="gdouble" c:type="gdouble"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="poppler_structure_element"
+ transfer-ownership="none">
+ <doc xml:space="preserve">A #PopplerStructureElement</doc>
+ <type name="StructureElement" c:type="PopplerStructureElement*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_text_spans"
+ c:identifier="poppler_structure_element_get_text_spans"
+ version="0.26">
+ <doc xml:space="preserve">Obtains the text enclosed by an element, as an array of #PopplerTextSpan
+structures. Each item in the list is a piece of text which share the same
+attributes, plus its attributes. The following example shows how to
+obtain and free the text spans of an element:
+
+&lt;informalexample&gt;&lt;programlisting&gt;
+guint i, n_spans;
+PopplerTextSpan **text_spans =
+ poppler_structure_element_get_text_spans (element, &amp;n_spans);
+/&lt;!-- --&gt;* Use the text spans *&lt;!-- --&gt;/
+for (i = 0; i &lt; n_spans; i++)
+ poppler_text_span_free (text_spans[i]);
+g_free (text_spans);
+&lt;/programlisting&gt;&lt;/informalexample&gt;</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve">
+ An array of #PopplerTextSpan elments.</doc>
+ <array length="0" zero-terminated="0" c:type="PopplerTextSpan**">
+ <type name="TextSpan"/>
+ </array>
+ </return-value>
+ <parameters>
+ <instance-parameter name="poppler_structure_element"
+ transfer-ownership="none">
+ <doc xml:space="preserve">A #PopplerStructureElement</doc>
+ <type name="StructureElement" c:type="PopplerStructureElement*"/>
+ </instance-parameter>
+ <parameter name="n_text_spans"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve">A pointer to the location where the number of elements in
+ the returned array will be stored.</doc>
+ <type name="guint" c:type="guint*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_title"
+ c:identifier="poppler_structure_element_get_title"
+ version="0.26">
+ <doc xml:space="preserve">Obtains the title of an element.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve">The title of the element, or %NULL.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="poppler_structure_element"
+ transfer-ownership="none">
+ <doc xml:space="preserve">A #PopplerStructureElement</doc>
+ <type name="StructureElement" c:type="PopplerStructureElement*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_width"
+ c:identifier="poppler_structure_element_get_width"
+ version="0.26">
+ <doc xml:space="preserve">Obtains the width of the block-level structure element. Note that for elements which do
+not specify a width, it has to be calculated, and in this case -1 is returned.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve">A positive value if a width is defined, or -1
+ if the width is to be calculated automatically.</doc>
+ <type name="gdouble" c:type="gdouble"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="poppler_structure_element"
+ transfer-ownership="none">
+ <doc xml:space="preserve">A #PopplerStructureElement</doc>
+ <type name="StructureElement" c:type="PopplerStructureElement*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_writing_mode"
+ c:identifier="poppler_structure_element_get_writing_mode"
+ version="0.26">
+ <doc xml:space="preserve">Obtains the writing mode (writing direction) of the content associated
+with a structure element.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve">A #PopplerStructureWritingMode value.</doc>
+ <type name="StructureWritingMode"
+ c:type="PopplerStructureWritingMode"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="poppler_structure_element"
+ transfer-ownership="none">
+ <doc xml:space="preserve">A #PopplerStructureElement</doc>
+ <type name="StructureElement" c:type="PopplerStructureElement*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="is_block"
+ c:identifier="poppler_structure_element_is_block"
+ version="0.26">
+ <doc xml:space="preserve">Checks whether an element is a block element.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve">%TRUE if the element is a block element, or %FALSE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="poppler_structure_element"
+ transfer-ownership="none">
+ <doc xml:space="preserve">A #PopplerStructureElement</doc>
+ <type name="StructureElement" c:type="PopplerStructureElement*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="is_content"
+ c:identifier="poppler_structure_element_is_content"
+ version="0.26">
+ <doc xml:space="preserve">Checks whether an element is actual document content.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve">%TRUE if the element is content, or %FALSE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="poppler_structure_element"
+ transfer-ownership="none">
+ <doc xml:space="preserve">A #PopplerStructureElement</doc>
+ <type name="StructureElement" c:type="PopplerStructureElement*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="is_grouping"
+ c:identifier="poppler_structure_element_is_grouping"
+ version="0.26">
+ <doc xml:space="preserve">Checks whether an element is a grouping element.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve">%TRUE if the element is a grouping element, %FALSE
+ otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="poppler_structure_element"
+ transfer-ownership="none">
+ <doc xml:space="preserve">A #PopplerStructureElement</doc>
+ <type name="StructureElement" c:type="PopplerStructureElement*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="is_inline"
+ c:identifier="poppler_structure_element_is_inline"
+ version="0.26">
+ <doc xml:space="preserve">Checks whether an element is an inline element.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve">%TRUE if the element is an inline element, or %FALSE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="poppler_structure_element"
+ transfer-ownership="none">
+ <doc xml:space="preserve">A #PopplerStructureElement</doc>
+ <type name="StructureElement" c:type="PopplerStructureElement*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ </class>
+ <record name="StructureElementIter"
+ c:type="PopplerStructureElementIter"
+ glib:type-name="PopplerStructureElementIter"
+ glib:get-type="poppler_structure_element_iter_get_type"
+ c:symbol-prefix="structure_element_iter">
+ <constructor name="new"
+ c:identifier="poppler_structure_element_iter_new"
+ version="0.26">
+ <doc xml:space="preserve">Returns the root #PopplerStructureElementIter for @document, or %NULL. The
+returned value must be freed with poppler_structure_element_iter_free().
+
+Documents may have an associated structure tree &amp;mdashmostly, Tagged-PDF
+compliant documents&amp;mdash; which can be used to obtain information about
+the document structure and its contents. Each node in the tree contains
+a #PopplerStructureElement.
+
+Here is a simple example that walks the whole tree:
+
+&lt;informalexample&gt;&lt;programlisting&gt;
+static void
+walk_structure (PopplerStructureElementIter *iter)
+{
+ do {
+ /&lt;!-- --&gt;* Get the element and do something with it *&lt;!-- --&gt;/
+ PopplerStructureElementIter *child = poppler_structure_element_iter_get_child (iter);
+ if (child)
+ walk_structure (child);
+ poppler_structure_element_iter_free (child);
+ } while (poppler_structure_element_iter_next (iter));
+}
+...
+{
+ iter = poppler_structure_element_iter_new (document);
+ walk_structure (iter);
+ poppler_structure_element_iter_free (iter);
+}
+&lt;/programlisting&gt;&lt;/informalexample&gt;</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve">a new #PopplerStructureElementIter, or %NULL if document
+ doesn't have structure tree.</doc>
+ <type name="StructureElementIter"
+ c:type="PopplerStructureElementIter*"/>
+ </return-value>
+ <parameters>
+ <parameter name="poppler_document" transfer-ownership="none">
+ <doc xml:space="preserve">a #PopplerDocument.</doc>
+ <type name="Document" c:type="PopplerDocument*"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <method name="copy"
+ c:identifier="poppler_structure_element_iter_copy"
+ version="0.26">
+ <doc xml:space="preserve">Creates a new #PopplerStructureElementIter as a copy of @iter. The
+returned value must be freed with poppler_structure_element_iter_free().</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve">a new #PopplerStructureElementIter</doc>
+ <type name="StructureElementIter"
+ c:type="PopplerStructureElementIter*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="iter" transfer-ownership="none">
+ <doc xml:space="preserve">a #PopplerStructureElementIter</doc>
+ <type name="StructureElementIter"
+ c:type="PopplerStructureElementIter*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="free"
+ c:identifier="poppler_structure_element_iter_free"
+ version="0.26">
+ <doc xml:space="preserve">Frees @iter.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="iter" transfer-ownership="none">
+ <doc xml:space="preserve">a #PopplerStructureElementIter</doc>
+ <type name="StructureElementIter"
+ c:type="PopplerStructureElementIter*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_child"
+ c:identifier="poppler_structure_element_iter_get_child"
+ version="0.26">
+ <doc xml:space="preserve">Returns a new iterator to the children elements of the
+#PopplerStructureElement associated with @iter. The returned value must
+be freed with poppler_structure_element_iter_free().</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve">a new #PopplerStructureElementIter</doc>
+ <type name="StructureElementIter"
+ c:type="PopplerStructureElementIter*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="parent" transfer-ownership="none">
+ <doc xml:space="preserve">a #PopplerStructureElementIter</doc>
+ <type name="StructureElementIter"
+ c:type="PopplerStructureElementIter*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_element"
+ c:identifier="poppler_structure_element_iter_get_element"
+ version="0.26">
+ <doc xml:space="preserve">Returns the #PopplerStructureElementIter associated with @iter.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve">a new #PopplerStructureElementIter</doc>
+ <type name="StructureElement" c:type="PopplerStructureElement*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="iter" transfer-ownership="none">
+ <doc xml:space="preserve">a #PopplerStructureElementIter</doc>
+ <type name="StructureElementIter"
+ c:type="PopplerStructureElementIter*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="next"
+ c:identifier="poppler_structure_element_iter_next"
+ version="0.26">
+ <doc xml:space="preserve">Sets @iter to point to the next structure element at the current level
+of the tree, if valid. See poppler_structure_element_iter_new() for more
+information.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve">%TRUE, if @iter was set to the next structure element</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="iter" transfer-ownership="none">
+ <doc xml:space="preserve">a #PopplerStructureElementIter</doc>
+ <type name="StructureElementIter"
+ c:type="PopplerStructureElementIter*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ </record>
+ <enumeration name="StructureElementKind"
+ glib:type-name="PopplerStructureElementKind"
+ glib:get-type="poppler_structure_element_kind_get_type"
+ c:type="PopplerStructureElementKind">
+ <member name="content"
+ value="0"
+ c:identifier="POPPLER_STRUCTURE_ELEMENT_CONTENT"
+ glib:nick="content">
+ </member>
+ <member name="object_reference"
+ value="1"
+ c:identifier="POPPLER_STRUCTURE_ELEMENT_OBJECT_REFERENCE"
+ glib:nick="object-reference">
+ </member>
+ <member name="document"
+ value="2"
+ c:identifier="POPPLER_STRUCTURE_ELEMENT_DOCUMENT"
+ glib:nick="document">
+ </member>
+ <member name="part"
+ value="3"
+ c:identifier="POPPLER_STRUCTURE_ELEMENT_PART"
+ glib:nick="part">
+ </member>
+ <member name="article"
+ value="4"
+ c:identifier="POPPLER_STRUCTURE_ELEMENT_ARTICLE"
+ glib:nick="article">
+ </member>
+ <member name="section"
+ value="5"
+ c:identifier="POPPLER_STRUCTURE_ELEMENT_SECTION"
+ glib:nick="section">
+ </member>
+ <member name="div"
+ value="6"
+ c:identifier="POPPLER_STRUCTURE_ELEMENT_DIV"
+ glib:nick="div">
+ </member>
+ <member name="span"
+ value="7"
+ c:identifier="POPPLER_STRUCTURE_ELEMENT_SPAN"
+ glib:nick="span">
+ </member>
+ <member name="quote"
+ value="8"
+ c:identifier="POPPLER_STRUCTURE_ELEMENT_QUOTE"
+ glib:nick="quote">
+ </member>
+ <member name="note"
+ value="9"
+ c:identifier="POPPLER_STRUCTURE_ELEMENT_NOTE"
+ glib:nick="note">
+ </member>
+ <member name="reference"
+ value="10"
+ c:identifier="POPPLER_STRUCTURE_ELEMENT_REFERENCE"
+ glib:nick="reference">
+ </member>
+ <member name="bibentry"
+ value="11"
+ c:identifier="POPPLER_STRUCTURE_ELEMENT_BIBENTRY"
+ glib:nick="bibentry">
+ </member>
+ <member name="code"
+ value="12"
+ c:identifier="POPPLER_STRUCTURE_ELEMENT_CODE"
+ glib:nick="code">
+ </member>
+ <member name="link"
+ value="13"
+ c:identifier="POPPLER_STRUCTURE_ELEMENT_LINK"
+ glib:nick="link">
+ </member>
+ <member name="annot"
+ value="14"
+ c:identifier="POPPLER_STRUCTURE_ELEMENT_ANNOT"
+ glib:nick="annot">
+ </member>
+ <member name="blockquote"
+ value="15"
+ c:identifier="POPPLER_STRUCTURE_ELEMENT_BLOCKQUOTE"
+ glib:nick="blockquote">
+ </member>
+ <member name="caption"
+ value="16"
+ c:identifier="POPPLER_STRUCTURE_ELEMENT_CAPTION"
+ glib:nick="caption">
+ </member>
+ <member name="nonstruct"
+ value="17"
+ c:identifier="POPPLER_STRUCTURE_ELEMENT_NONSTRUCT"
+ glib:nick="nonstruct">
+ </member>
+ <member name="toc"
+ value="18"
+ c:identifier="POPPLER_STRUCTURE_ELEMENT_TOC"
+ glib:nick="toc">
+ </member>
+ <member name="toc_item"
+ value="19"
+ c:identifier="POPPLER_STRUCTURE_ELEMENT_TOC_ITEM"
+ glib:nick="toc-item">
+ </member>
+ <member name="index"
+ value="20"
+ c:identifier="POPPLER_STRUCTURE_ELEMENT_INDEX"
+ glib:nick="index">
+ </member>
+ <member name="private"
+ value="21"
+ c:identifier="POPPLER_STRUCTURE_ELEMENT_PRIVATE"
+ glib:nick="private">
+ </member>
+ <member name="paragraph"
+ value="22"
+ c:identifier="POPPLER_STRUCTURE_ELEMENT_PARAGRAPH"
+ glib:nick="paragraph">
+ </member>
+ <member name="heading"
+ value="23"
+ c:identifier="POPPLER_STRUCTURE_ELEMENT_HEADING"
+ glib:nick="heading">
+ </member>
+ <member name="heading_1"
+ value="24"
+ c:identifier="POPPLER_STRUCTURE_ELEMENT_HEADING_1"
+ glib:nick="heading-1">
+ </member>
+ <member name="heading_2"
+ value="25"
+ c:identifier="POPPLER_STRUCTURE_ELEMENT_HEADING_2"
+ glib:nick="heading-2">
+ </member>
+ <member name="heading_3"
+ value="26"
+ c:identifier="POPPLER_STRUCTURE_ELEMENT_HEADING_3"
+ glib:nick="heading-3">
+ </member>
+ <member name="heading_4"
+ value="27"
+ c:identifier="POPPLER_STRUCTURE_ELEMENT_HEADING_4"
+ glib:nick="heading-4">
+ </member>
+ <member name="heading_5"
+ value="28"
+ c:identifier="POPPLER_STRUCTURE_ELEMENT_HEADING_5"
+ glib:nick="heading-5">
+ </member>
+ <member name="heading_6"
+ value="29"
+ c:identifier="POPPLER_STRUCTURE_ELEMENT_HEADING_6"
+ glib:nick="heading-6">
+ </member>
+ <member name="list"
+ value="30"
+ c:identifier="POPPLER_STRUCTURE_ELEMENT_LIST"
+ glib:nick="list">
+ </member>
+ <member name="list_item"
+ value="31"
+ c:identifier="POPPLER_STRUCTURE_ELEMENT_LIST_ITEM"
+ glib:nick="list-item">
+ </member>
+ <member name="list_label"
+ value="32"
+ c:identifier="POPPLER_STRUCTURE_ELEMENT_LIST_LABEL"
+ glib:nick="list-label">
+ </member>
+ <member name="list_body"
+ value="33"
+ c:identifier="POPPLER_STRUCTURE_ELEMENT_LIST_BODY"
+ glib:nick="list-body">
+ </member>
+ <member name="table"
+ value="34"
+ c:identifier="POPPLER_STRUCTURE_ELEMENT_TABLE"
+ glib:nick="table">
+ </member>
+ <member name="table_row"
+ value="35"
+ c:identifier="POPPLER_STRUCTURE_ELEMENT_TABLE_ROW"
+ glib:nick="table-row">
+ </member>
+ <member name="table_heading"
+ value="36"
+ c:identifier="POPPLER_STRUCTURE_ELEMENT_TABLE_HEADING"
+ glib:nick="table-heading">
+ </member>
+ <member name="table_data"
+ value="37"
+ c:identifier="POPPLER_STRUCTURE_ELEMENT_TABLE_DATA"
+ glib:nick="table-data">
+ </member>
+ <member name="table_header"
+ value="38"
+ c:identifier="POPPLER_STRUCTURE_ELEMENT_TABLE_HEADER"
+ glib:nick="table-header">
+ </member>
+ <member name="table_footer"
+ value="39"
+ c:identifier="POPPLER_STRUCTURE_ELEMENT_TABLE_FOOTER"
+ glib:nick="table-footer">
+ </member>
+ <member name="table_body"
+ value="40"
+ c:identifier="POPPLER_STRUCTURE_ELEMENT_TABLE_BODY"
+ glib:nick="table-body">
+ </member>
+ <member name="ruby"
+ value="41"
+ c:identifier="POPPLER_STRUCTURE_ELEMENT_RUBY"
+ glib:nick="ruby">
+ </member>
+ <member name="ruby_base_text"
+ value="42"
+ c:identifier="POPPLER_STRUCTURE_ELEMENT_RUBY_BASE_TEXT"
+ glib:nick="ruby-base-text">
+ </member>
+ <member name="ruby_annot_text"
+ value="43"
+ c:identifier="POPPLER_STRUCTURE_ELEMENT_RUBY_ANNOT_TEXT"
+ glib:nick="ruby-annot-text">
+ </member>
+ <member name="ruby_punctuation"
+ value="44"
+ c:identifier="POPPLER_STRUCTURE_ELEMENT_RUBY_PUNCTUATION"
+ glib:nick="ruby-punctuation">
+ </member>
+ <member name="warichu"
+ value="45"
+ c:identifier="POPPLER_STRUCTURE_ELEMENT_WARICHU"
+ glib:nick="warichu">
+ </member>
+ <member name="warichu_text"
+ value="46"
+ c:identifier="POPPLER_STRUCTURE_ELEMENT_WARICHU_TEXT"
+ glib:nick="warichu-text">
+ </member>
+ <member name="warichu_punctuation"
+ value="47"
+ c:identifier="POPPLER_STRUCTURE_ELEMENT_WARICHU_PUNCTUATION"
+ glib:nick="warichu-punctuation">
+ </member>
+ <member name="figure"
+ value="48"
+ c:identifier="POPPLER_STRUCTURE_ELEMENT_FIGURE"
+ glib:nick="figure">
+ </member>
+ <member name="formula"
+ value="49"
+ c:identifier="POPPLER_STRUCTURE_ELEMENT_FORMULA"
+ glib:nick="formula">
+ </member>
+ <member name="form"
+ value="50"
+ c:identifier="POPPLER_STRUCTURE_ELEMENT_FORM"
+ glib:nick="form">
+ </member>
+ </enumeration>
+ <enumeration name="StructureFormRole"
+ glib:type-name="PopplerStructureFormRole"
+ glib:get-type="poppler_structure_form_role_get_type"
+ c:type="PopplerStructureFormRole">
+ <member name="undefined"
+ value="0"
+ c:identifier="POPPLER_STRUCTURE_FORM_ROLE_UNDEFINED"
+ glib:nick="undefined">
+ </member>
+ <member name="radio_button"
+ value="1"
+ c:identifier="POPPLER_STRUCTURE_FORM_ROLE_RADIO_BUTTON"
+ glib:nick="radio-button">
+ </member>
+ <member name="push_button"
+ value="2"
+ c:identifier="POPPLER_STRUCTURE_FORM_ROLE_PUSH_BUTTON"
+ glib:nick="push-button">
+ </member>
+ <member name="text_value"
+ value="3"
+ c:identifier="POPPLER_STRUCTURE_FORM_ROLE_TEXT_VALUE"
+ glib:nick="text-value">
+ </member>
+ <member name="checkbox"
+ value="4"
+ c:identifier="POPPLER_STRUCTURE_FORM_ROLE_CHECKBOX"
+ glib:nick="checkbox">
+ </member>
+ </enumeration>
+ <enumeration name="StructureFormState"
+ glib:type-name="PopplerStructureFormState"
+ glib:get-type="poppler_structure_form_state_get_type"
+ c:type="PopplerStructureFormState">
+ <member name="on"
+ value="0"
+ c:identifier="POPPLER_STRUCTURE_FORM_STATE_ON"
+ glib:nick="on">
+ </member>
+ <member name="off"
+ value="1"
+ c:identifier="POPPLER_STRUCTURE_FORM_STATE_OFF"
+ glib:nick="off">
+ </member>
+ <member name="neutral"
+ value="2"
+ c:identifier="POPPLER_STRUCTURE_FORM_STATE_NEUTRAL"
+ glib:nick="neutral">
+ </member>
+ </enumeration>
+ <bitfield name="StructureGetTextFlags"
+ glib:type-name="PopplerStructureGetTextFlags"
+ glib:get-type="poppler_structure_get_text_flags_get_type"
+ c:type="PopplerStructureGetTextFlags">
+ <member name="none"
+ value="0"
+ c:identifier="POPPLER_STRUCTURE_GET_TEXT_NONE"
+ glib:nick="none">
+ <doc xml:space="preserve">No flags.</doc>
+ </member>
+ <member name="recursive"
+ value="1"
+ c:identifier="POPPLER_STRUCTURE_GET_TEXT_RECURSIVE"
+ glib:nick="recursive">
+ <doc xml:space="preserve">For non-leaf, non-content
+ elements, recursively obtain the text from all the elements
+ enclosed in the subtree.</doc>
+ </member>
+ </bitfield>
+ <enumeration name="StructureGlyphOrientation"
+ glib:type-name="PopplerStructureGlyphOrientation"
+ glib:get-type="poppler_structure_glyph_orientation_get_type"
+ c:type="PopplerStructureGlyphOrientation">
+ <member name="auto"
+ value="0"
+ c:identifier="POPPLER_STRUCTURE_GLYPH_ORIENTATION_AUTO"
+ glib:nick="auto">
+ </member>
+ <member name="0"
+ value="0"
+ c:identifier="POPPLER_STRUCTURE_GLYPH_ORIENTATION_0"
+ glib:nick="0">
+ </member>
+ <member name="90"
+ value="1"
+ c:identifier="POPPLER_STRUCTURE_GLYPH_ORIENTATION_90"
+ glib:nick="90">
+ </member>
+ <member name="180"
+ value="2"
+ c:identifier="POPPLER_STRUCTURE_GLYPH_ORIENTATION_180"
+ glib:nick="180">
+ </member>
+ <member name="270"
+ value="3"
+ c:identifier="POPPLER_STRUCTURE_GLYPH_ORIENTATION_270"
+ glib:nick="270">
+ </member>
+ </enumeration>
+ <enumeration name="StructureInlineAlign"
+ glib:type-name="PopplerStructureInlineAlign"
+ glib:get-type="poppler_structure_inline_align_get_type"
+ c:type="PopplerStructureInlineAlign">
+ <member name="start"
+ value="0"
+ c:identifier="POPPLER_STRUCTURE_INLINE_ALIGN_START"
+ glib:nick="start">
+ </member>
+ <member name="center"
+ value="1"
+ c:identifier="POPPLER_STRUCTURE_INLINE_ALIGN_CENTER"
+ glib:nick="center">
+ </member>
+ <member name="end"
+ value="2"
+ c:identifier="POPPLER_STRUCTURE_INLINE_ALIGN_END"
+ glib:nick="end">
+ </member>
+ </enumeration>
+ <enumeration name="StructureListNumbering"
+ glib:type-name="PopplerStructureListNumbering"
+ glib:get-type="poppler_structure_list_numbering_get_type"
+ c:type="PopplerStructureListNumbering">
+ <member name="none"
+ value="0"
+ c:identifier="POPPLER_STRUCTURE_LIST_NUMBERING_NONE"
+ glib:nick="none">
+ </member>
+ <member name="disc"
+ value="1"
+ c:identifier="POPPLER_STRUCTURE_LIST_NUMBERING_DISC"
+ glib:nick="disc">
+ </member>
+ <member name="circle"
+ value="2"
+ c:identifier="POPPLER_STRUCTURE_LIST_NUMBERING_CIRCLE"
+ glib:nick="circle">
+ </member>
+ <member name="square"
+ value="3"
+ c:identifier="POPPLER_STRUCTURE_LIST_NUMBERING_SQUARE"
+ glib:nick="square">
+ </member>
+ <member name="decimal"
+ value="4"
+ c:identifier="POPPLER_STRUCTURE_LIST_NUMBERING_DECIMAL"
+ glib:nick="decimal">
+ </member>
+ <member name="upper_roman"
+ value="5"
+ c:identifier="POPPLER_STRUCTURE_LIST_NUMBERING_UPPER_ROMAN"
+ glib:nick="upper-roman">
+ </member>
+ <member name="lower_roman"
+ value="6"
+ c:identifier="POPPLER_STRUCTURE_LIST_NUMBERING_LOWER_ROMAN"
+ glib:nick="lower-roman">
+ </member>
+ <member name="upper_alpha"
+ value="7"
+ c:identifier="POPPLER_STRUCTURE_LIST_NUMBERING_UPPER_ALPHA"
+ glib:nick="upper-alpha">
+ </member>
+ <member name="lower_alpha"
+ value="8"
+ c:identifier="POPPLER_STRUCTURE_LIST_NUMBERING_LOWER_ALPHA"
+ glib:nick="lower-alpha">
+ </member>
+ </enumeration>
+ <enumeration name="StructurePlacement"
+ glib:type-name="PopplerStructurePlacement"
+ glib:get-type="poppler_structure_placement_get_type"
+ c:type="PopplerStructurePlacement">
+ <member name="block"
+ value="0"
+ c:identifier="POPPLER_STRUCTURE_PLACEMENT_BLOCK"
+ glib:nick="block">
+ </member>
+ <member name="inline"
+ value="1"
+ c:identifier="POPPLER_STRUCTURE_PLACEMENT_INLINE"
+ glib:nick="inline">
+ </member>
+ <member name="before"
+ value="2"
+ c:identifier="POPPLER_STRUCTURE_PLACEMENT_BEFORE"
+ glib:nick="before">
+ </member>
+ <member name="start"
+ value="3"
+ c:identifier="POPPLER_STRUCTURE_PLACEMENT_START"
+ glib:nick="start">
+ </member>
+ <member name="end"
+ value="4"
+ c:identifier="POPPLER_STRUCTURE_PLACEMENT_END"
+ glib:nick="end">
+ </member>
+ </enumeration>
+ <enumeration name="StructureRubyAlign"
+ glib:type-name="PopplerStructureRubyAlign"
+ glib:get-type="poppler_structure_ruby_align_get_type"
+ c:type="PopplerStructureRubyAlign">
+ <member name="start"
+ value="0"
+ c:identifier="POPPLER_STRUCTURE_RUBY_ALIGN_START"
+ glib:nick="start">
+ </member>
+ <member name="center"
+ value="1"
+ c:identifier="POPPLER_STRUCTURE_RUBY_ALIGN_CENTER"
+ glib:nick="center">
+ </member>
+ <member name="end"
+ value="2"
+ c:identifier="POPPLER_STRUCTURE_RUBY_ALIGN_END"
+ glib:nick="end">
+ </member>
+ <member name="justify"
+ value="3"
+ c:identifier="POPPLER_STRUCTURE_RUBY_ALIGN_JUSTIFY"
+ glib:nick="justify">
+ </member>
+ <member name="distribute"
+ value="4"
+ c:identifier="POPPLER_STRUCTURE_RUBY_ALIGN_DISTRIBUTE"
+ glib:nick="distribute">
+ </member>
+ </enumeration>
+ <enumeration name="StructureRubyPosition"
+ glib:type-name="PopplerStructureRubyPosition"
+ glib:get-type="poppler_structure_ruby_position_get_type"
+ c:type="PopplerStructureRubyPosition">
+ <member name="before"
+ value="0"
+ c:identifier="POPPLER_STRUCTURE_RUBY_POSITION_BEFORE"
+ glib:nick="before">
+ </member>
+ <member name="after"
+ value="1"
+ c:identifier="POPPLER_STRUCTURE_RUBY_POSITION_AFTER"
+ glib:nick="after">
+ </member>
+ <member name="warichu"
+ value="2"
+ c:identifier="POPPLER_STRUCTURE_RUBY_POSITION_WARICHU"
+ glib:nick="warichu">
+ </member>
+ <member name="inline"
+ value="3"
+ c:identifier="POPPLER_STRUCTURE_RUBY_POSITION_INLINE"
+ glib:nick="inline">
+ </member>
+ </enumeration>
+ <enumeration name="StructureTableScope"
+ glib:type-name="PopplerStructureTableScope"
+ glib:get-type="poppler_structure_table_scope_get_type"
+ c:type="PopplerStructureTableScope">
+ <member name="row"
+ value="0"
+ c:identifier="POPPLER_STRUCTURE_TABLE_SCOPE_ROW"
+ glib:nick="row">
+ </member>
+ <member name="column"
+ value="1"
+ c:identifier="POPPLER_STRUCTURE_TABLE_SCOPE_COLUMN"
+ glib:nick="column">
+ </member>
+ <member name="both"
+ value="2"
+ c:identifier="POPPLER_STRUCTURE_TABLE_SCOPE_BOTH"
+ glib:nick="both">
+ </member>
+ </enumeration>
+ <enumeration name="StructureTextAlign"
+ glib:type-name="PopplerStructureTextAlign"
+ glib:get-type="poppler_structure_text_align_get_type"
+ c:type="PopplerStructureTextAlign">
+ <member name="start"
+ value="0"
+ c:identifier="POPPLER_STRUCTURE_TEXT_ALIGN_START"
+ glib:nick="start">
+ </member>
+ <member name="center"
+ value="1"
+ c:identifier="POPPLER_STRUCTURE_TEXT_ALIGN_CENTER"
+ glib:nick="center">
+ </member>
+ <member name="end"
+ value="2"
+ c:identifier="POPPLER_STRUCTURE_TEXT_ALIGN_END"
+ glib:nick="end">
+ </member>
+ <member name="justify"
+ value="3"
+ c:identifier="POPPLER_STRUCTURE_TEXT_ALIGN_JUSTIFY"
+ glib:nick="justify">
+ </member>
+ </enumeration>
+ <enumeration name="StructureTextDecoration"
+ glib:type-name="PopplerStructureTextDecoration"
+ glib:get-type="poppler_structure_text_decoration_get_type"
+ c:type="PopplerStructureTextDecoration">
+ <member name="none"
+ value="0"
+ c:identifier="POPPLER_STRUCTURE_TEXT_DECORATION_NONE"
+ glib:nick="none">
+ </member>
+ <member name="underline"
+ value="1"
+ c:identifier="POPPLER_STRUCTURE_TEXT_DECORATION_UNDERLINE"
+ glib:nick="underline">
+ </member>
+ <member name="overline"
+ value="2"
+ c:identifier="POPPLER_STRUCTURE_TEXT_DECORATION_OVERLINE"
+ glib:nick="overline">
+ </member>
+ <member name="linethrough"
+ value="3"
+ c:identifier="POPPLER_STRUCTURE_TEXT_DECORATION_LINETHROUGH"
+ glib:nick="linethrough">
+ </member>
+ </enumeration>
+ <enumeration name="StructureWritingMode"
+ glib:type-name="PopplerStructureWritingMode"
+ glib:get-type="poppler_structure_writing_mode_get_type"
+ c:type="PopplerStructureWritingMode">
+ <member name="lr_tb"
+ value="0"
+ c:identifier="POPPLER_STRUCTURE_WRITING_MODE_LR_TB"
+ glib:nick="lr-tb">
+ </member>
+ <member name="rl_tb"
+ value="1"
+ c:identifier="POPPLER_STRUCTURE_WRITING_MODE_RL_TB"
+ glib:nick="rl-tb">
+ </member>
+ <member name="tb_rl"
+ value="2"
+ c:identifier="POPPLER_STRUCTURE_WRITING_MODE_TB_RL"
+ glib:nick="tb-rl">
+ </member>
+ </enumeration>
<record name="TextAttributes"
c:type="PopplerTextAttributes"
version="0.18"
@@ -5292,21 +7979,27 @@ locations on a page and bounding boxes</doc>
c:symbol-prefix="text_attributes">
<doc xml:space="preserve">A #PopplerTextAttributes is used to describe text attributes of a range of text</doc>
<field name="font_name" writable="1">
+ <doc xml:space="preserve">font name</doc>
<type name="utf8" c:type="gchar*"/>
</field>
<field name="font_size" writable="1">
+ <doc xml:space="preserve">font size</doc>
<type name="gdouble" c:type="gdouble"/>
</field>
<field name="is_underlined" writable="1">
+ <doc xml:space="preserve">if text is underlined</doc>
<type name="gboolean" c:type="gboolean"/>
</field>
<field name="color" writable="1">
+ <doc xml:space="preserve">a #PopplerColor, the foreground color</doc>
<type name="Color" c:type="PopplerColor"/>
</field>
<field name="start_index" writable="1">
+ <doc xml:space="preserve">start position this text attributes apply</doc>
<type name="gint" c:type="gint"/>
</field>
<field name="end_index" writable="1">
+ <doc xml:space="preserve">end position this text text attributes apply</doc>
<type name="gint" c:type="gint"/>
</field>
<constructor name="new"
@@ -5348,6 +8041,142 @@ locations on a page and bounding boxes</doc>
</parameters>
</method>
</record>
+ <record name="TextSpan"
+ c:type="PopplerTextSpan"
+ glib:type-name="PopplerTextSpan"
+ glib:get-type="poppler_text_span_get_type"
+ c:symbol-prefix="text_span">
+ <method name="copy" c:identifier="poppler_text_span_copy" version="0.26">
+ <doc xml:space="preserve">Makes a copy of a text span.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve">A new #PopplerTextSpan</doc>
+ <type name="TextSpan" c:type="PopplerTextSpan*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="poppler_text_span"
+ transfer-ownership="none">
+ <doc xml:space="preserve">a #PopplerTextSpan</doc>
+ <type name="TextSpan" c:type="PopplerTextSpan*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="free" c:identifier="poppler_text_span_free" version="0.26">
+ <doc xml:space="preserve">Frees a text span.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="poppler_text_span"
+ transfer-ownership="none">
+ <doc xml:space="preserve">A #PopplerTextSpan</doc>
+ <type name="TextSpan" c:type="PopplerTextSpan*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_color"
+ c:identifier="poppler_text_span_get_color"
+ version="0.26">
+ <doc xml:space="preserve">Obtains the color in which the text is to be rendered.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="poppler_text_span"
+ transfer-ownership="none">
+ <doc xml:space="preserve">a #PopplerTextSpan</doc>
+ <type name="TextSpan" c:type="PopplerTextSpan*"/>
+ </instance-parameter>
+ <parameter name="color"
+ direction="out"
+ caller-allocates="1"
+ transfer-ownership="none">
+ <doc xml:space="preserve">a return location for a #PopplerColor</doc>
+ <type name="Color" c:type="PopplerColor*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_font_name"
+ c:identifier="poppler_text_span_get_font_name"
+ version="0.26">
+ <doc xml:space="preserve">Obtains the name of the font in which the span is to be rendered.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve">A string containing the font name, or
+ %NULL if a font is not defined.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="poppler_text_span"
+ transfer-ownership="none">
+ <doc xml:space="preserve">a #PopplerTextSpan</doc>
+ <type name="TextSpan" c:type="PopplerTextSpan*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_text"
+ c:identifier="poppler_text_span_get_text"
+ version="0.26">
+ <doc xml:space="preserve">Obtains the text contained in the span.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve">A string.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="poppler_text_span"
+ transfer-ownership="none">
+ <doc xml:space="preserve">a #PopplerTextSpan</doc>
+ <type name="TextSpan" c:type="PopplerTextSpan*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="is_bold_font"
+ c:identifier="poppler_text_span_is_bold_font"
+ version="0.26">
+ <doc xml:space="preserve">Check whether a text span is meant to be rendered using a bold font.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve">Whether the span uses bold font.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="poppler_text_span"
+ transfer-ownership="none">
+ <doc xml:space="preserve">a #PopplerTextSpan</doc>
+ <type name="TextSpan" c:type="PopplerTextSpan*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="is_fixed_width_font"
+ c:identifier="poppler_text_span_is_fixed_width_font"
+ version="0.26">
+ <doc xml:space="preserve">Check wether a text span is meant to be rendered using a fixed-width font.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve">Whether the span uses a fixed-width font.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="poppler_text_span"
+ transfer-ownership="none">
+ <doc xml:space="preserve">a #PopplerTextSpan</doc>
+ <type name="TextSpan" c:type="PopplerTextSpan*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="is_serif_font"
+ c:identifier="poppler_text_span_is_serif_font"
+ version="0.26">
+ <doc xml:space="preserve">Check whether a text span is meant to be rendered using a serif font.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve">Whether the span uses a serif font.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="poppler_text_span"
+ transfer-ownership="none">
+ <doc xml:space="preserve">a #PopplerTextSpan</doc>
+ <type name="TextSpan" c:type="PopplerTextSpan*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ </record>
<bitfield name="ViewerPreferences"
glib:type-name="PopplerViewerPreferences"
glib:get-type="poppler_viewer_preferences_get_type"
@@ -5402,11 +8231,6 @@ locations on a page and bounding boxes</doc>
<doc xml:space="preserve">the predominant reading order for text is right to left</doc>
</member>
</bitfield>
- <record name="_AttachmentClass" c:type="_PopplerAttachmentClass">
- <field name="parent_class" writable="1">
- <type name="GObject.ObjectClass" c:type="GObjectClass"/>
- </field>
- </record>
<function name="date_parse"
c:identifier="poppler_date_parse"
version="0.12">
diff --git a/glib/demo/CMakeLists.txt b/glib/demo/CMakeLists.txt
index 316371e2..465021ae 100644
--- a/glib/demo/CMakeLists.txt
+++ b/glib/demo/CMakeLists.txt
@@ -23,6 +23,7 @@ set(poppler_glib_demo_SRCS
attachments.c
layers.c
selections.c
+ taggedstruct.c
)
poppler_add_test(poppler-glib-demo BUILD_GTK_TESTS ${poppler_glib_demo_SRCS})
target_link_libraries(poppler-glib-demo poppler-glib ${GTK3_LIBRARIES})
diff --git a/glib/demo/Makefile.am b/glib/demo/Makefile.am
index 8120bc90..e5df9d0d 100644
--- a/glib/demo/Makefile.am
+++ b/glib/demo/Makefile.am
@@ -42,6 +42,8 @@ poppler_glib_demo_SOURCES = \
selections.h \
selections.c \
text.h \
+ taggedstruct.h \
+ taggedstruct.c \
text.c \
transitions.h \
transitions.c \
diff --git a/glib/demo/Makefile.in b/glib/demo/Makefile.in
index d2274187..7d06a438 100644
--- a/glib/demo/Makefile.in
+++ b/glib/demo/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.13.3 from Makefile.am.
+# Makefile.in generated by automake 1.14.1 from Makefile.am.
# @configure_input@
# Copyright (C) 1994-2013 Free Software Foundation, Inc.
@@ -104,8 +104,8 @@ am_poppler_glib_demo_OBJECTS = main.$(OBJEXT) annots.$(OBJEXT) \
forms.$(OBJEXT) images.$(OBJEXT) info.$(OBJEXT) \
layers.$(OBJEXT) links.$(OBJEXT) outline.$(OBJEXT) \
page.$(OBJEXT) print.$(OBJEXT) render.$(OBJEXT) \
- selections.$(OBJEXT) text.$(OBJEXT) transitions.$(OBJEXT) \
- utils.$(OBJEXT)
+ selections.$(OBJEXT) taggedstruct.$(OBJEXT) text.$(OBJEXT) \
+ transitions.$(OBJEXT) utils.$(OBJEXT)
poppler_glib_demo_OBJECTS = $(am_poppler_glib_demo_OBJECTS)
poppler_glib_demo_LDADD = $(LDADD)
am__DEPENDENCIES_1 =
@@ -240,6 +240,7 @@ GLIB_REQ = @GLIB_REQ@
GLIB_REQUIRED = @GLIB_REQUIRED@
GREP = @GREP@
GTKDOC_CHECK = @GTKDOC_CHECK@
+GTKDOC_CHECK_PATH = @GTKDOC_CHECK_PATH@
GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
GTKDOC_MKPDF = @GTKDOC_MKPDF@
@@ -276,7 +277,6 @@ LIBPNG_CFLAGS = @LIBPNG_CFLAGS@
LIBPNG_LIBS = @LIBPNG_LIBS@
LIBS = @LIBS@
LIBTIFF_CFLAGS = @LIBTIFF_CFLAGS@
-LIBTIFF_CFLAGSS = @LIBTIFF_CFLAGSS@
LIBTIFF_LIBS = @LIBTIFF_LIBS@
LIBTOOL = @LIBTOOL@
LIPO = @LIPO@
@@ -443,6 +443,8 @@ poppler_glib_demo_SOURCES = \
selections.h \
selections.c \
text.h \
+ taggedstruct.h \
+ taggedstruct.c \
text.c \
transitions.h \
transitions.c \
@@ -563,6 +565,7 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/print.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/render.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/selections.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/taggedstruct.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/text.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/transitions.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/utils.Po@am__quote@
@@ -572,14 +575,14 @@ distclean-compile:
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c $<
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $<
.c.obj:
@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c `$(CYGPATH_W) '$<'`
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
.c.lo:
@am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
diff --git a/glib/demo/annots.c b/glib/demo/annots.c
index 3ff7f12c..2e843fc5 100644
--- a/glib/demo/annots.c
+++ b/glib/demo/annots.c
@@ -23,10 +23,6 @@
#include "utils.h"
enum {
- ANNOTS_X1_COLUMN,
- ANNOTS_Y1_COLUMN,
- ANNOTS_X2_COLUMN,
- ANNOTS_Y2_COLUMN,
ANNOTS_TYPE_COLUMN,
ANNOTS_COLOR_COLUMN,
ANNOTS_FLAG_INVISIBLE_COLUMN,
@@ -36,24 +32,76 @@ enum {
N_COLUMNS
};
+enum {
+ SELECTED_TYPE_COLUMN,
+ SELECTED_LABEL_COLUMN,
+ SELECTED_N_COLUMNS
+};
+
+typedef struct
+{
+ const guint type;
+ const gchar *label;
+} Annotations;
+
+static Annotations supported_annots[] = {
+ { POPPLER_ANNOT_TEXT, "Text" },
+ { POPPLER_ANNOT_LINE, "Line" },
+ { POPPLER_ANNOT_SQUARE, "Square" },
+ { POPPLER_ANNOT_CIRCLE, "Circle" },
+ { POPPLER_ANNOT_HIGHLIGHT, "Highlight" },
+ { POPPLER_ANNOT_UNDERLINE, "Underline" },
+ { POPPLER_ANNOT_SQUIGGLY, "Squiggly" },
+ { POPPLER_ANNOT_STRIKE_OUT, "Strike Out" },
+};
+
+typedef enum {
+ MODE_NORMAL, /* Regular use as pointer in the page */
+ MODE_ADD, /* To add simple annotations */
+ MODE_EDIT, /* To move/edit an annotation */
+ MODE_DRAWING /* To add annotations that require mouse interactions */
+} ModeType;
+
typedef struct {
PopplerDocument *doc;
PopplerPage *page;
+ PopplerAnnot *active_annot;
GtkWidget *tree_view;
GtkListStore *model;
+ GtkWidget *darea;
GtkWidget *annot_view;
GtkWidget *timer_label;
+ GtkWidget *remove_button;
+ GtkWidget *type_selector;
+ GtkWidget *main_box;
gint num_page;
+ gint annot_type;
+ ModeType mode;
+
+ cairo_surface_t *surface;
+ GdkRGBA annot_color;
+
+ GdkPoint start;
+ GdkPoint stop;
+ GdkCursorType cursor;
+ guint annotations_idle;
} PgdAnnotsDemo;
+static void pgd_annots_viewer_queue_redraw (PgdAnnotsDemo *demo);
+
static void
pgd_annots_free (PgdAnnotsDemo *demo)
{
if (!demo)
return;
+ if (demo->annotations_idle > 0) {
+ g_source_remove (demo->annotations_idle);
+ demo->annotations_idle = 0;
+ }
+
if (demo->doc) {
g_object_unref (demo->doc);
demo->doc = NULL;
@@ -80,7 +128,7 @@ pgd_annot_view_new (void)
frame = gtk_frame_new (NULL);
gtk_frame_set_shadow_type (GTK_FRAME (frame), GTK_SHADOW_NONE);
label = gtk_label_new (NULL);
- gtk_label_set_markup (GTK_LABEL (label), "<b>Annot Properties</b>");
+ gtk_label_set_markup (GTK_LABEL (label), "<b>Annotation Properties</b>");
gtk_frame_set_label_widget (GTK_FRAME (frame), label);
gtk_widget_show (label);
@@ -155,7 +203,12 @@ get_annot_color (PopplerAnnot *poppler_annot)
PopplerColor *poppler_color;
if ((poppler_color = poppler_annot_get_color (poppler_annot))) {
- GdkPixbuf *pixbuf = pgd_pixbuf_new_for_color (poppler_color);
+ GdkPixbuf *pixbuf_tmp, *pixbuf;
+
+ pixbuf_tmp = pgd_pixbuf_new_for_color (poppler_color);
+ pixbuf = gdk_pixbuf_scale_simple(pixbuf_tmp, 16, 16, GDK_INTERP_BILINEAR);
+ g_object_unref (pixbuf_tmp);
+
g_free (poppler_color);
return pixbuf;
@@ -281,6 +334,45 @@ get_free_text_callout_line (PopplerAnnotFreeText *poppler_annot)
}
static void
+pgd_annots_update_cursor (PgdAnnotsDemo *demo,
+ GdkCursorType cursor_type)
+{
+ GdkCursor *cursor = NULL;
+
+ if (cursor_type == demo->cursor)
+ return;
+
+ if (cursor_type != GDK_LAST_CURSOR) {
+ cursor = gdk_cursor_new_for_display (gtk_widget_get_display (demo->main_box),
+ cursor_type);
+ }
+
+ demo->cursor = cursor_type;
+
+ gdk_window_set_cursor (gtk_widget_get_window (demo->main_box), cursor);
+ gdk_flush ();
+ if (cursor)
+ g_object_unref (cursor);
+}
+
+static void
+pgd_annots_start_add_annot (GtkWidget *button,
+ PgdAnnotsDemo *demo)
+{
+ GtkTreeModel *model;
+ GtkTreeIter iter;
+
+ gtk_combo_box_get_active_iter (GTK_COMBO_BOX (demo->type_selector), &iter);
+ model = gtk_combo_box_get_model (GTK_COMBO_BOX (demo->type_selector));
+ gtk_tree_model_get (model, &iter,
+ SELECTED_TYPE_COLUMN, &(demo->annot_type),
+ -1);
+
+ demo->mode = MODE_ADD;
+ pgd_annots_update_cursor (demo, GDK_TCROSS);
+}
+
+static void
pgd_annots_remove_annot (GtkWidget *button,
PgdAnnotsDemo *demo)
{
@@ -299,6 +391,8 @@ pgd_annots_remove_annot (GtkWidget *button,
poppler_page_remove_annot (demo->page, annot);
g_object_unref (annot);
gtk_list_store_remove (GTK_LIST_STORE (model), &iter);
+
+ pgd_annots_viewer_queue_redraw (demo);
}
}
@@ -360,6 +454,54 @@ pgd_annot_view_set_annot_text (GtkWidget *table,
}
static void
+pgd_annot_color_changed (GtkButton *button,
+ GParamSpec *pspec,
+ PgdAnnotsDemo *demo)
+{
+#if GTK_CHECK_VERSION(3,4,0)
+ gtk_color_chooser_get_rgba (GTK_COLOR_CHOOSER (button), &demo->annot_color);
+#else
+ gtk_color_button_get_rgba (GTK_COLOR_BUTTON (button), &demo->annot_color);
+#endif
+}
+
+static void
+pgd_annot_view_set_annot_text_markup (GtkWidget *table,
+ PopplerAnnotTextMarkup *annot,
+ gint *row)
+{
+ gint i;
+ gchar *text = NULL;
+ gchar *prev_text = NULL;
+ GArray *quads_array = NULL;
+ PopplerQuadrilateral quadrilateral;
+
+ quads_array = poppler_annot_text_markup_get_quadrilaterals (annot);
+
+ prev_text = g_strdup ("");
+ for (i = 0; i < quads_array->len; i++) {
+ quadrilateral = g_array_index (quads_array, PopplerQuadrilateral, i);
+
+ text = g_strdup_printf ("%s%2d:(%.2f,%.2f) (%.2f,%.2f)\n"
+ " (%.2f,%.2f) (%.2f,%.2f)\n",
+ prev_text, i+1,
+ quadrilateral.p1.x, quadrilateral.p1.y,
+ quadrilateral.p2.x, quadrilateral.p2.y,
+ quadrilateral.p3.x, quadrilateral.p3.y,
+ quadrilateral.p4.x, quadrilateral.p4.y);
+ g_free (prev_text);
+ prev_text = text;
+ }
+
+ text = g_strchomp (text);
+ pgd_table_add_property (GTK_GRID (table), "<b>Quadrilaterals:</b>", text, row);
+
+ g_array_free (quads_array, TRUE);
+ g_free (text);
+}
+
+
+static void
pgd_annot_view_set_annot_free_text (GtkWidget *table,
PopplerAnnotFreeText *annot,
gint *row)
@@ -479,10 +621,10 @@ pgd_annot_view_set_annot (PgdAnnotsDemo *demo,
{
GtkWidget *alignment;
GtkWidget *table;
- GtkWidget *button;
gint row = 0;
gchar *text;
time_t timet;
+ PopplerRectangle rect;
alignment = gtk_bin_get_child (GTK_BIN (demo->annot_view));
if (alignment) {
@@ -490,7 +632,7 @@ pgd_annot_view_set_annot (PgdAnnotsDemo *demo,
}
alignment = gtk_alignment_new (0.5, 0.5, 1, 1);
- gtk_alignment_set_padding (GTK_ALIGNMENT (alignment), 5, 5, 12, 5);
+ gtk_alignment_set_padding (GTK_ALIGNMENT (alignment), 5, 5, 8, 5);
gtk_container_add (GTK_CONTAINER (demo->annot_view), alignment);
gtk_widget_show (alignment);
@@ -517,12 +659,9 @@ pgd_annot_view_set_annot (PgdAnnotsDemo *demo,
pgd_table_add_property (GTK_GRID (table), "<b>Modified:</b>", text, &row);
g_free (text);
- text = g_strdup_printf ("%d", poppler_annot_get_flags (annot));
- pgd_table_add_property (GTK_GRID (table), "<b>Flags:</b>", text, &row);
- g_free (text);
-
- text = g_strdup_printf ("%d", poppler_annot_get_page_index (annot));
- pgd_table_add_property (GTK_GRID (table), "<b>Page:</b>", text, &row);
+ poppler_annot_get_rectangle (annot, &rect);
+ text = g_strdup_printf ("(%.2f;%.2f) (%.2f;%.2f)", rect.x1, rect.y1, rect.x2, rect.y2);
+ pgd_table_add_property (GTK_GRID (table), "<b>Coords:</b>", text, &row);
g_free (text);
if (POPPLER_IS_ANNOT_MARKUP (annot))
@@ -533,6 +672,12 @@ pgd_annot_view_set_annot (PgdAnnotsDemo *demo,
case POPPLER_ANNOT_TEXT:
pgd_annot_view_set_annot_text (table, POPPLER_ANNOT_TEXT (annot), &row);
break;
+ case POPPLER_ANNOT_HIGHLIGHT:
+ case POPPLER_ANNOT_UNDERLINE:
+ case POPPLER_ANNOT_SQUIGGLY:
+ case POPPLER_ANNOT_STRIKE_OUT:
+ pgd_annot_view_set_annot_text_markup (table, POPPLER_ANNOT_TEXT_MARKUP (annot), &row);
+ break;
case POPPLER_ANNOT_FREE_TEXT:
pgd_annot_view_set_annot_free_text (table, POPPLER_ANNOT_FREE_TEXT (annot), &row);
break;
@@ -549,20 +694,47 @@ pgd_annot_view_set_annot (PgdAnnotsDemo *demo,
break;
}
- button = gtk_button_new_from_stock (GTK_STOCK_REMOVE);
- g_signal_connect (G_OBJECT (button), "clicked",
- G_CALLBACK (pgd_annots_remove_annot),
- (gpointer) demo);
- gtk_grid_attach (GTK_GRID (table), button, 0, row, 2, 1);
- gtk_widget_show (button);
-
gtk_container_add (GTK_CONTAINER (alignment), table);
gtk_widget_show (table);
}
static void
-pgd_annots_get_annots (GtkWidget *button,
- PgdAnnotsDemo *demo)
+pgd_annots_add_annot_to_model (PgdAnnotsDemo *demo,
+ PopplerAnnot *annot,
+ PopplerRectangle area,
+ gboolean selected)
+{
+ GtkTreeIter iter;
+ GdkPixbuf *pixbuf;
+ PopplerAnnotFlag flags;
+
+ pixbuf = get_annot_color (annot);
+ flags = poppler_annot_get_flags (annot);
+
+ gtk_list_store_append (demo->model, &iter);
+ gtk_list_store_set (demo->model, &iter,
+ ANNOTS_TYPE_COLUMN, get_annot_type (annot),
+ ANNOTS_COLOR_COLUMN, pixbuf,
+ ANNOTS_FLAG_INVISIBLE_COLUMN, (flags & POPPLER_ANNOT_FLAG_INVISIBLE),
+ ANNOTS_FLAG_HIDDEN_COLUMN, (flags & POPPLER_ANNOT_FLAG_HIDDEN),
+ ANNOTS_FLAG_PRINT_COLUMN, (flags & POPPLER_ANNOT_FLAG_PRINT),
+ ANNOTS_COLUMN, annot,
+ -1);
+
+ if (selected) {
+ GtkTreePath *path;
+
+ path = gtk_tree_model_get_path (GTK_TREE_MODEL (demo->model), &iter);
+ gtk_tree_view_set_cursor (GTK_TREE_VIEW (demo->tree_view), path, NULL, FALSE);
+ gtk_tree_path_free (path);
+ }
+
+ if (pixbuf)
+ g_object_unref (pixbuf);
+}
+
+static void
+pgd_annots_get_annots (PgdAnnotsDemo *demo)
{
GList *mapping, *l;
gint n_fields;
@@ -588,54 +760,22 @@ pgd_annots_get_annots (GtkWidget *button,
if (n_fields > 0) {
gchar *str;
- str = g_strdup_printf ("<i>%d annots found in %.4f seconds</i>",
+ str = g_strdup_printf ("<i>%d annotations found in %.4f seconds</i>",
n_fields, g_timer_elapsed (timer, NULL));
gtk_label_set_markup (GTK_LABEL (demo->timer_label), str);
g_free (str);
} else {
- gtk_label_set_markup (GTK_LABEL (demo->timer_label), "<i>No annots found</i>");
+ gtk_label_set_markup (GTK_LABEL (demo->timer_label), "<i>No annotations found</i>");
}
g_timer_destroy (timer);
for (l = mapping; l; l = g_list_next (l)) {
PopplerAnnotMapping *amapping;
- GtkTreeIter iter;
- gchar *x1, *y1, *x2, *y2;
- GdkPixbuf *pixbuf;
- PopplerAnnotFlag flags;
amapping = (PopplerAnnotMapping *) l->data;
-
- x1 = g_strdup_printf ("%.2f", amapping->area.x1);
- y1 = g_strdup_printf ("%.2f", amapping->area.y1);
- x2 = g_strdup_printf ("%.2f", amapping->area.x2);
- y2 = g_strdup_printf ("%.2f", amapping->area.y2);
-
- pixbuf = get_annot_color (amapping->annot);
- flags = poppler_annot_get_flags (amapping->annot);
-
- gtk_list_store_append (demo->model, &iter);
- gtk_list_store_set (demo->model, &iter,
- ANNOTS_X1_COLUMN, x1,
- ANNOTS_Y1_COLUMN, y1,
- ANNOTS_X2_COLUMN, x2,
- ANNOTS_Y2_COLUMN, y2,
- ANNOTS_TYPE_COLUMN, get_annot_type (amapping->annot),
- ANNOTS_COLOR_COLUMN, pixbuf,
- ANNOTS_FLAG_INVISIBLE_COLUMN, (flags & POPPLER_ANNOT_FLAG_INVISIBLE),
- ANNOTS_FLAG_HIDDEN_COLUMN, (flags & POPPLER_ANNOT_FLAG_HIDDEN),
- ANNOTS_FLAG_PRINT_COLUMN, (flags & POPPLER_ANNOT_FLAG_PRINT),
- ANNOTS_COLUMN, amapping->annot,
- -1);
-
- if (pixbuf)
- g_object_unref (pixbuf);
-
- g_free (x1);
- g_free (y1);
- g_free (x2);
- g_free (y2);
+ pgd_annots_add_annot_to_model (demo, amapping->annot,
+ amapping->area, FALSE);
}
poppler_page_free_annot_mapping (mapping);
@@ -646,6 +786,8 @@ pgd_annots_page_selector_value_changed (GtkSpinButton *spinbutton,
PgdAnnotsDemo *demo)
{
demo->num_page = (gint) gtk_spin_button_get_value (spinbutton) - 1;
+ pgd_annots_viewer_queue_redraw (demo);
+ pgd_annots_get_annots (demo);
}
static void
@@ -663,8 +805,11 @@ pgd_annots_selection_changed (GtkTreeSelection *treeselection,
-1);
pgd_annot_view_set_annot (demo, annot);
g_object_unref (annot);
+
+ gtk_widget_set_sensitive (demo->remove_button, TRUE);
} else {
pgd_annot_view_set_annot (demo, NULL);
+ gtk_widget_set_sensitive (demo->remove_button, FALSE);
}
}
@@ -698,6 +843,8 @@ pgd_annots_flags_toggled (GtkCellRendererToggle *renderer,
pgd_annot_view_set_annot (demo, annot);
gtk_tree_path_free (path);
+
+ pgd_annots_viewer_queue_redraw (demo);
}
static void
@@ -724,135 +871,404 @@ pgd_annots_invisible_flag_toggled (GtkCellRendererToggle *renderer,
pgd_annots_flags_toggled (renderer, path_str, demo, ANNOTS_FLAG_INVISIBLE_COLUMN, POPPLER_ANNOT_FLAG_INVISIBLE);
}
+static inline void
+pgd_annots_set_poppler_quad_from_rectangle (PopplerQuadrilateral *quad,
+ PopplerRectangle *rect)
+{
+ quad->p1.x = rect->x1;
+ quad->p1.y = rect->y1;
+ quad->p2.x = rect->x2;
+ quad->p2.y = rect->y1;
+ quad->p3.x = rect->x1;
+ quad->p3.y = rect->y2;
+ quad->p4.x = rect->x2;
+ quad->p4.y = rect->y2;
+}
+
+static GArray *
+pgd_annots_create_quads_array_for_rectangle (PopplerRectangle *rect)
+{
+ GArray *quads_array;
+ PopplerQuadrilateral *quad;
+
+ quads_array = g_array_sized_new (FALSE, FALSE,
+ sizeof (PopplerQuadrilateral),
+ 1);
+ g_array_set_size (quads_array, 1);
+
+ quad = &g_array_index (quads_array, PopplerQuadrilateral, 0);
+ pgd_annots_set_poppler_quad_from_rectangle (quad, rect);
+
+ return quads_array;
+}
+
static void
-pgd_annots_add_annot (GtkWidget *button,
- PgdAnnotsDemo *demo)
-{
- GtkWidget *hbox, *vbox;
- GtkWidget *type_selector;
- GtkWidget *label;
- GtkWidget *rect_hbox;
- GtkWidget *rect_x1, *rect_y1, *rect_x2, *rect_y2;
- GtkWidget *dialog;
- PopplerPage *page;
- gdouble width, height;
- PopplerAnnot *annot;
+pgd_annots_add_annot (PgdAnnotsDemo *demo)
+{
PopplerRectangle rect;
+ PopplerColor color;
+ PopplerAnnot *annot;
+ gdouble height;
+
+ g_assert (demo->mode == MODE_ADD);
+
+ poppler_page_get_size (demo->page, NULL, &height);
+
+ rect.x1 = demo->start.x;
+ rect.y1 = height - demo->start.y;
+ rect.x2 = demo->stop.x;
+ rect.y2 = height - demo->stop.y;
+
+ color.red = CLAMP ((guint) (demo->annot_color.red * 65535), 0, 65535);
+ color.green = CLAMP ((guint) (demo->annot_color.green * 65535), 0, 65535);
+ color.blue = CLAMP ((guint) (demo->annot_color.blue * 65535), 0, 65535);
+
+ switch (demo->annot_type) {
+ case POPPLER_ANNOT_TEXT:
+ annot = poppler_annot_text_new (demo->doc, &rect);
+
+ break;
+ case POPPLER_ANNOT_LINE: {
+ PopplerPoint start, end;
+
+ start.x = rect.x1;
+ start.y = rect.y1;
+ end.x = rect.x2;
+ end.y = rect.y2;
+
+ annot = poppler_annot_line_new (demo->doc, &rect, &start, &end);
+ }
+ break;
+ case POPPLER_ANNOT_SQUARE:
+ annot = poppler_annot_square_new (demo->doc, &rect);
+ break;
+ case POPPLER_ANNOT_CIRCLE:
+ annot = poppler_annot_circle_new (demo->doc, &rect);
+ break;
+ case POPPLER_ANNOT_HIGHLIGHT: {
+ GArray *quads_array;
+
+ quads_array = pgd_annots_create_quads_array_for_rectangle (&rect);
+ annot = poppler_annot_text_markup_new_highlight (demo->doc, &rect, quads_array);
+ g_array_free (quads_array, TRUE);
+ }
+ break;
+ case POPPLER_ANNOT_UNDERLINE: {
+ GArray *quads_array;
+
+ quads_array = pgd_annots_create_quads_array_for_rectangle (&rect);
+ annot = poppler_annot_text_markup_new_underline (demo->doc, &rect, quads_array);
+ g_array_free (quads_array, TRUE);
+ }
+ break;
+ case POPPLER_ANNOT_SQUIGGLY: {
+ GArray *quads_array;
+
+ quads_array = pgd_annots_create_quads_array_for_rectangle (&rect);
+ annot = poppler_annot_text_markup_new_squiggly (demo->doc, &rect, quads_array);
+ g_array_free (quads_array, TRUE);
+ }
+ break;
+ case POPPLER_ANNOT_STRIKE_OUT: {
+ GArray *quads_array;
+
+ quads_array = pgd_annots_create_quads_array_for_rectangle (&rect);
+ annot = poppler_annot_text_markup_new_strikeout (demo->doc, &rect, quads_array);
+ g_array_free (quads_array, TRUE);
+ }
+ break;
+ default:
+ g_assert_not_reached ();
+ }
+
+ demo->active_annot = annot;
+
+ poppler_annot_set_color (annot, &color);
+ poppler_page_add_annot (demo->page, annot);
+ pgd_annots_add_annot_to_model (demo, annot, rect, TRUE);
+ g_object_unref (annot);
+}
+
+static void
+pgd_annots_finish_add_annot (PgdAnnotsDemo *demo)
+{
+ g_assert (demo->mode == MODE_ADD || demo->mode == MODE_DRAWING);
+
+ demo->mode = MODE_NORMAL;
+ demo->start.x = -1;
+ pgd_annots_update_cursor (demo, GDK_LAST_CURSOR);
+ pgd_annots_viewer_queue_redraw (demo);
+
+ gtk_label_set_text (GTK_LABEL (demo->timer_label), NULL);
+}
+
+static void
+pgd_annots_update_selected_text (PgdAnnotsDemo *demo)
+{
+ PopplerRectangle doc_area, *rects = NULL, *r = NULL;
+ gdouble width, height;
+ GArray *quads_array = NULL;
+ guint n_rects;
+ gint i, lines = 0;
+ GList *l_rects = NULL, *list;
+
+ poppler_page_get_size (demo->page, &width, &height);
+
+ doc_area.x1 = demo->start.x;
+ doc_area.y1 = demo->start.y;
+ doc_area.x2 = demo->stop.x;
+ doc_area.y2 = demo->stop.y;
+
+ if (! poppler_page_get_text_layout_for_area (demo->page, &doc_area,
+ &rects, &n_rects))
+ return;
+
+ r = g_slice_new (PopplerRectangle);
+ r->x1 = G_MAXDOUBLE; r->y1 = G_MAXDOUBLE;
+ r->x2 = G_MINDOUBLE; r->y2 = G_MINDOUBLE;
+
+ for (i = 0; i < n_rects; i++) {
+ /* Check if the rectangle belongs to the same line.
+ On a new line, start a new target rectangle.
+ On the same line, make an union of rectangles at
+ the same line */
+ if (ABS(r->y2 - rects[i].y2) > 0.0001) {
+ if (i > 0)
+ l_rects = g_list_append (l_rects, r);
+ r = g_slice_new (PopplerRectangle);
+ r->x1 = rects[i].x1;
+ r->y1 = rects[i].y1;
+ r->x2 = rects[i].x2;
+ r->y2 = rects[i].y2;
+ lines++;
+ } else {
+ r->x1 = MIN(r->x1, rects[i].x1);
+ r->y1 = MIN(r->y1, rects[i].y1);
+ r->x2 = MAX(r->x2, rects[i].x2);
+ r->y2 = MAX(r->y2, rects[i].y2);
+ }
+ }
+
+ l_rects = g_list_append (l_rects, r);
+ l_rects = g_list_reverse (l_rects);
+
+ quads_array = g_array_sized_new (TRUE, TRUE,
+ sizeof (PopplerQuadrilateral),
+ lines);
+ g_array_set_size (quads_array, lines);
+
+ for (list = l_rects, i = 0; list; list = list->next, i++) {
+ PopplerQuadrilateral *quad;
+
+ quad = &g_array_index (quads_array, PopplerQuadrilateral, i);
+ r = (PopplerRectangle *)list->data;
+ quad->p1.x = r->x1;
+ quad->p1.y = height - r->y1;
+ quad->p2.x = r->x2;
+ quad->p2.y = height - r->y1;
+ quad->p3.x = r->x1;
+ quad->p3.y = height - r->y2;
+ quad->p4.x = r->x2;
+ quad->p4.y = height - r->y2;
+ g_slice_free (PopplerRectangle, r);
+ }
+
+ poppler_annot_text_markup_set_quadrilaterals (POPPLER_ANNOT_TEXT_MARKUP (demo->active_annot), quads_array);
+ g_array_free (quads_array, TRUE);
+ g_free (rects);
+ g_list_free (l_rects);
+}
+
+/* Render area */
+static cairo_surface_t *
+pgd_annots_render_page (PgdAnnotsDemo *demo)
+{
+ cairo_t *cr;
+ PopplerPage *page;
+ gdouble width, height;
+ cairo_surface_t *surface = NULL;
page = poppler_document_get_page (demo->doc, demo->num_page);
if (!page)
- return;
+ return NULL;
+
poppler_page_get_size (page, &width, &height);
+ gtk_widget_set_size_request (demo->darea, width, height);
- dialog = gtk_dialog_new_with_buttons ("Add new annotation",
- GTK_WINDOW (gtk_widget_get_toplevel (button)),
- GTK_DIALOG_MODAL | GTK_DIALOG_DESTROY_WITH_PARENT,
- GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
- "Add annotation", GTK_RESPONSE_ACCEPT,
- NULL);
+ surface = cairo_image_surface_create (CAIRO_FORMAT_RGB24,
+ width, height);
+ cr = cairo_create (surface);
- vbox = gtk_dialog_get_content_area (GTK_DIALOG (dialog));
+ cairo_save (cr);
+ cairo_set_source_rgb (cr, 1, 1, 1);
+ cairo_rectangle (cr, 0, 0, width, height);
+ cairo_fill (cr);
+ cairo_restore (cr);
- type_selector = gtk_combo_box_text_new ();
- gtk_combo_box_text_append_text (GTK_COMBO_BOX_TEXT (type_selector), "POPPLER_ANNOT_UNKNOWN");
- gtk_combo_box_text_append_text (GTK_COMBO_BOX_TEXT (type_selector), "POPPLER_ANNOT_TEXT");
- gtk_combo_box_set_active (GTK_COMBO_BOX (type_selector), 1);
- gtk_box_pack_start (GTK_BOX (vbox), type_selector, TRUE, TRUE, 0);
- gtk_widget_show (type_selector);
+ cairo_save (cr);
+ poppler_page_render (page, cr);
+ cairo_restore (cr);
- hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 6);
+ cairo_destroy (cr);
+ g_object_unref (page);
- rect_hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 6);
+ return surface;
+}
- label = gtk_label_new ("x1:");
- gtk_box_pack_start (GTK_BOX (rect_hbox), label, TRUE, TRUE, 0);
- gtk_widget_show (label);
+static gboolean
+pgd_annots_view_drawing_area_draw (GtkWidget *area,
+ cairo_t *cr,
+ PgdAnnotsDemo *demo)
+{
+ if (demo->num_page == -1)
+ return FALSE;
- rect_x1 = gtk_spin_button_new_with_range (0, width, 1.0);
- gtk_box_pack_start (GTK_BOX (rect_hbox), rect_x1, TRUE, TRUE, 0);
- gtk_widget_show (rect_x1);
+ if (!demo->surface) {
+ demo->surface = pgd_annots_render_page (demo);
+ if (!demo->surface)
+ return FALSE;
+ }
- gtk_box_pack_start (GTK_BOX (hbox), rect_hbox, FALSE, TRUE, 0);
- gtk_widget_show (rect_hbox);
+ cairo_set_source_surface (cr, demo->surface, 0, 0);
+ cairo_paint (cr);
- rect_hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 6);
+ return TRUE;
+}
- label = gtk_label_new ("x2:");
- gtk_box_pack_start (GTK_BOX (rect_hbox), label, TRUE, TRUE, 0);
- gtk_widget_show (label);
+static gboolean
+pgd_annots_viewer_redraw (PgdAnnotsDemo *demo)
+{
+ cairo_surface_destroy (demo->surface);
+ demo->surface = NULL;
- rect_x2 = gtk_spin_button_new_with_range (0, width, 1.0);
- gtk_box_pack_start (GTK_BOX (rect_hbox), rect_x2, TRUE, TRUE, 0);
- gtk_widget_show (rect_x2);
+ gtk_widget_queue_draw (demo->darea);
- gtk_box_pack_start (GTK_BOX (hbox), rect_hbox, FALSE, TRUE, 0);
- gtk_widget_show (rect_hbox);
+ demo->annotations_idle = 0;
- rect_hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 6);
+ return FALSE;
+}
- label = gtk_label_new ("y1:");
- gtk_box_pack_start (GTK_BOX (rect_hbox), label, TRUE, TRUE, 0);
- gtk_widget_show (label);
+static void
+pgd_annots_viewer_queue_redraw (PgdAnnotsDemo *demo)
+{
+ if (demo->annotations_idle == 0)
+ demo->annotations_idle = g_idle_add ((GSourceFunc)pgd_annots_viewer_redraw,
+ demo);
+}
- rect_y1 = gtk_spin_button_new_with_range (0, height, 1.0);
- gtk_box_pack_start (GTK_BOX (rect_hbox), rect_y1, TRUE, TRUE, 0);
- gtk_widget_show (rect_y1);
+static void
+pgd_annots_drawing_area_realize (GtkWidget *area,
+ PgdAnnotsDemo *demo)
+{
+ gtk_widget_add_events (area,
+ GDK_POINTER_MOTION_HINT_MASK |
+ GDK_BUTTON1_MOTION_MASK |
+ GDK_BUTTON_PRESS_MASK |
+ GDK_BUTTON_RELEASE_MASK);
+}
- gtk_box_pack_start (GTK_BOX (hbox), rect_hbox, FALSE, TRUE, 0);
- gtk_widget_show (rect_hbox);
+static gboolean
+pgd_annots_drawing_area_button_press (GtkWidget *area,
+ GdkEventButton *event,
+ PgdAnnotsDemo *demo)
+{
+ if (!demo->page || demo->mode != MODE_ADD || event->button != 1)
+ return FALSE;
- rect_hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 6);
+ demo->start.x = event->x;
+ demo->start.y = event->y;
+ demo->stop = demo->start;
- label = gtk_label_new ("y2:");
- gtk_box_pack_start (GTK_BOX (rect_hbox), label, TRUE, TRUE, 0);
- gtk_widget_show (label);
+ pgd_annots_add_annot (demo);
+ pgd_annots_viewer_queue_redraw (demo);
+ demo->mode = MODE_DRAWING;
- rect_y2 = gtk_spin_button_new_with_range (0, height, 1.0);
- gtk_box_pack_start (GTK_BOX (rect_hbox), rect_y2, TRUE, TRUE, 0);
- gtk_widget_show (rect_y2);
+ return TRUE;
+}
- gtk_box_pack_start (GTK_BOX (hbox), rect_hbox, FALSE, TRUE, 0);
- gtk_widget_show (rect_hbox);
+static gboolean
+pgd_annots_drawing_area_motion_notify (GtkWidget *area,
+ GdkEventMotion *event,
+ PgdAnnotsDemo *demo)
+{
+ PopplerRectangle rect;
+ PopplerPoint start, end;
+ gdouble width, height;
- gtk_box_pack_start (GTK_BOX (vbox), hbox, TRUE, TRUE, 0);
- gtk_widget_show (hbox);
+ if (!demo->page || demo->mode != MODE_DRAWING || demo->start.x == -1)
+ return FALSE;
- gtk_dialog_run (GTK_DIALOG (dialog));
+ demo->stop.x = event->x;
+ demo->stop.y = event->y;
- rect.x1 = gtk_spin_button_get_value (GTK_SPIN_BUTTON (rect_x1));
- rect.x2 = gtk_spin_button_get_value (GTK_SPIN_BUTTON (rect_x2));
- rect.y1 = height - gtk_spin_button_get_value (GTK_SPIN_BUTTON (rect_y2));
- rect.y2 = height - gtk_spin_button_get_value (GTK_SPIN_BUTTON (rect_y1));
- annot = poppler_annot_text_new (demo->doc, &rect);
- poppler_page_add_annot (page, annot);
+ poppler_page_get_size (demo->page, &width, &height);
- g_object_unref (page);
+ /* Keep the drawing within the page */
+ demo->stop.x = CLAMP (demo->stop.x, 0, width);
+ demo->stop.y = CLAMP (demo->stop.y, 0, height);
+
+ rect.x1 = start.x = demo->start.x;
+ rect.y1 = start.y = height - demo->start.y;
+ rect.x2 = end.x = demo->stop.x;
+ rect.y2 = end.y = height - demo->stop.y;
+
+ poppler_annot_set_rectangle (demo->active_annot, &rect);
+
+ if (demo->annot_type == POPPLER_ANNOT_LINE)
+ poppler_annot_line_set_vertices (POPPLER_ANNOT_LINE (demo->active_annot),
+ &start, &end);
- gtk_widget_destroy (dialog);
+ if (POPPLER_IS_ANNOT_TEXT_MARKUP (demo->active_annot))
+ pgd_annots_update_selected_text (demo);
+
+ pgd_annot_view_set_annot (demo, demo->active_annot);
+ pgd_annots_viewer_queue_redraw (demo);
+
+ return TRUE;
+}
+
+static gboolean
+pgd_annots_drawing_area_button_release (GtkWidget *area,
+ GdkEventButton *event,
+ PgdAnnotsDemo *demo)
+{
+ if (!demo->page || demo->mode != MODE_DRAWING || event->button != 1)
+ return FALSE;
+
+ pgd_annots_finish_add_annot (demo);
+
+ return TRUE;
}
+/* Main UI */
GtkWidget *
pgd_annots_create_widget (PopplerDocument *document)
{
PgdAnnotsDemo *demo;
GtkWidget *label;
- GtkWidget *vbox;
- GtkWidget *hbox, *page_selector;
+ GtkWidget *vbox, *vbox2;
GtkWidget *button;
+ GtkWidget *hbox, *page_selector;
GtkWidget *hpaned;
GtkWidget *swindow, *treeview;
GtkTreeSelection *selection;
GtkCellRenderer *renderer;
+ GtkTreeViewColumn *column;
+ GtkListStore *model;
+ GtkTreeIter iter;
gchar *str;
gint n_pages;
demo = g_new0 (PgdAnnotsDemo, 1);
demo->doc = g_object_ref (document);
+ demo->cursor = GDK_LAST_CURSOR;
+ demo->mode = MODE_NORMAL;
n_pages = poppler_document_get_n_pages (document);
vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 12);
+ vbox2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 6);
hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 6);
@@ -873,25 +1289,64 @@ pgd_annots_create_widget (PopplerDocument *document)
gtk_widget_show (label);
g_free (str);
- button = gtk_button_new_with_label ("Get Annots");
+ demo->remove_button = gtk_button_new_from_stock (GTK_STOCK_REMOVE);
+ gtk_widget_set_sensitive (demo->remove_button, FALSE);
+ g_signal_connect (G_OBJECT (demo->remove_button), "clicked",
+ G_CALLBACK (pgd_annots_remove_annot),
+ (gpointer) demo);
+ gtk_box_pack_end (GTK_BOX (hbox), demo->remove_button, FALSE, FALSE, 6);
+ gtk_widget_show (demo->remove_button);
+
+ gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, TRUE, 0);
+
+ button = gtk_button_new_from_stock (GTK_STOCK_ADD);
g_signal_connect (G_OBJECT (button), "clicked",
- G_CALLBACK (pgd_annots_get_annots),
+ G_CALLBACK (pgd_annots_start_add_annot),
(gpointer) demo);
gtk_box_pack_end (GTK_BOX (hbox), button, FALSE, FALSE, 0);
gtk_widget_show (button);
- button = gtk_button_new_with_label ("Add Annot");
- g_signal_connect (G_OBJECT (button), "clicked",
- G_CALLBACK (pgd_annots_add_annot),
- (gpointer) demo);
- gtk_box_pack_end (GTK_BOX (hbox), button, FALSE, FALSE, 0);
+ model = gtk_list_store_new(SELECTED_N_COLUMNS,
+ G_TYPE_INT, G_TYPE_STRING);
+
+ for (gint i = 0; i < G_N_ELEMENTS (supported_annots); i++) {
+ gtk_list_store_append (model, &iter);
+ gtk_list_store_set (model, &iter,
+ SELECTED_TYPE_COLUMN, supported_annots[i].type,
+ SELECTED_LABEL_COLUMN, supported_annots[i].label,
+ -1);
+ }
+
+ demo->type_selector = gtk_combo_box_new_with_model (GTK_TREE_MODEL (model));
+ g_object_unref (model);
+
+ renderer = gtk_cell_renderer_text_new ();
+ gtk_cell_layout_pack_start (GTK_CELL_LAYOUT (demo->type_selector), renderer, TRUE);
+ gtk_cell_layout_set_attributes (GTK_CELL_LAYOUT (demo->type_selector), renderer,
+ "text", SELECTED_LABEL_COLUMN,
+ NULL);
+ gtk_combo_box_set_active (GTK_COMBO_BOX (demo->type_selector), 0);
+ gtk_box_pack_end (GTK_BOX (hbox), demo->type_selector, FALSE, FALSE, 0);
+ gtk_widget_show (demo->type_selector);
+
+ button = gtk_color_button_new ();
+ demo->annot_color.red = 65535;
+ demo->annot_color.alpha = 1.0;
+#if GTK_CHECK_VERSION(3,4,0)
+ gtk_color_chooser_set_rgba (GTK_COLOR_CHOOSER (button), &demo->annot_color);
+#else
+ gtk_color_button_set_rgba (GTK_COLOR_BUTTON (button), &demo->annot_color);
+#endif
+ g_signal_connect (button, "notify::color",
+ G_CALLBACK (pgd_annot_color_changed),
+ (gpointer)demo);
+ gtk_box_pack_end (GTK_BOX (hbox), button, FALSE, TRUE, 0);
gtk_widget_show (button);
- gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, TRUE, 0);
gtk_widget_show (hbox);
demo->timer_label = gtk_label_new (NULL);
- gtk_label_set_markup (GTK_LABEL (demo->timer_label), "<i>No annots found</i>");
+ gtk_label_set_markup (GTK_LABEL (demo->timer_label), "<i>No annotations found</i>");
g_object_set (G_OBJECT (demo->timer_label), "xalign", 1.0, NULL);
gtk_box_pack_start (GTK_BOX (vbox), demo->timer_label, FALSE, TRUE, 0);
gtk_widget_show (demo->timer_label);
@@ -906,52 +1361,23 @@ pgd_annots_create_widget (PopplerDocument *document)
GTK_POLICY_AUTOMATIC);
demo->model = gtk_list_store_new (N_COLUMNS, G_TYPE_STRING,
- G_TYPE_STRING, G_TYPE_STRING,
- G_TYPE_STRING, G_TYPE_STRING,
GDK_TYPE_PIXBUF, G_TYPE_BOOLEAN,
G_TYPE_BOOLEAN, G_TYPE_BOOLEAN,
G_TYPE_OBJECT);
treeview = gtk_tree_view_new_with_model (GTK_TREE_MODEL (demo->model));
demo->tree_view = treeview;
- renderer = gtk_cell_renderer_text_new ();
- gtk_tree_view_insert_column_with_attributes (GTK_TREE_VIEW (treeview),
- ANNOTS_X1_COLUMN, "X1",
- renderer,
- "text", ANNOTS_X1_COLUMN,
- NULL);
- renderer = gtk_cell_renderer_text_new ();
- gtk_tree_view_insert_column_with_attributes (GTK_TREE_VIEW (treeview),
- ANNOTS_Y1_COLUMN, "Y1",
- renderer,
- "text", ANNOTS_Y1_COLUMN,
- NULL);
- renderer = gtk_cell_renderer_text_new ();
- gtk_tree_view_insert_column_with_attributes (GTK_TREE_VIEW (treeview),
- ANNOTS_X2_COLUMN, "X2",
- renderer,
- "text", ANNOTS_X2_COLUMN,
- NULL);
- renderer = gtk_cell_renderer_text_new ();
- gtk_tree_view_insert_column_with_attributes (GTK_TREE_VIEW (treeview),
- ANNOTS_Y2_COLUMN, "Y2",
- renderer,
- "text", ANNOTS_Y2_COLUMN,
- NULL);
-
- renderer = gtk_cell_renderer_text_new ();
- gtk_tree_view_insert_column_with_attributes (GTK_TREE_VIEW (treeview),
- ANNOTS_TYPE_COLUMN, "Type",
- renderer,
- "text", ANNOTS_TYPE_COLUMN,
- NULL);
+ column = gtk_tree_view_column_new ();
+ gtk_tree_view_column_set_title (column, "Type");
+ gtk_tree_view_append_column (GTK_TREE_VIEW (treeview), column);
renderer = gtk_cell_renderer_pixbuf_new ();
- gtk_tree_view_insert_column_with_attributes (GTK_TREE_VIEW (treeview),
- ANNOTS_COLOR_COLUMN, "Color",
- renderer,
- "pixbuf", ANNOTS_COLOR_COLUMN,
- NULL);
+ gtk_tree_view_column_pack_start (column, renderer, TRUE);
+ gtk_tree_view_column_add_attribute (column, renderer, "pixbuf", ANNOTS_COLOR_COLUMN);
+
+ renderer = gtk_cell_renderer_text_new ();
+ gtk_tree_view_column_pack_start (column, renderer, TRUE);
+ gtk_tree_view_column_add_attribute (column, renderer, "text", ANNOTS_TYPE_COLUMN);
renderer = gtk_cell_renderer_toggle_new ();
g_signal_connect (renderer, "toggled",
@@ -988,14 +1414,56 @@ pgd_annots_create_widget (PopplerDocument *document)
G_CALLBACK (pgd_annots_selection_changed),
(gpointer) demo);
+ /* Annotation's list */
gtk_container_add (GTK_CONTAINER (swindow), treeview);
gtk_widget_show (treeview);
- gtk_paned_add1 (GTK_PANED (hpaned), swindow);
+ gtk_box_pack_start (GTK_BOX (vbox2), swindow, TRUE, TRUE, 0);
gtk_widget_show (swindow);
- gtk_paned_add2 (GTK_PANED (hpaned), demo->annot_view);
+ /* Annotation Properties */
+ swindow = gtk_scrolled_window_new (NULL, NULL);
+ gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (swindow),
+ GTK_POLICY_AUTOMATIC,
+ GTK_POLICY_AUTOMATIC);
+ gtk_container_add (GTK_CONTAINER (swindow), demo->annot_view);
gtk_widget_show (demo->annot_view);
+ gtk_widget_show (swindow);
+
+ gtk_box_pack_start (GTK_BOX (vbox2), swindow, TRUE, TRUE, 6);
+ gtk_widget_show (swindow);
+
+ gtk_paned_add1 (GTK_PANED (hpaned), vbox2);
+ gtk_widget_show (vbox2);
+
+ /* Demo Area (Render) */
+ demo->darea = gtk_drawing_area_new ();
+ g_signal_connect (demo->darea, "draw",
+ G_CALLBACK (pgd_annots_view_drawing_area_draw),
+ demo);
+ g_signal_connect (demo->darea, "realize",
+ G_CALLBACK (pgd_annots_drawing_area_realize),
+ (gpointer)demo);
+ g_signal_connect (demo->darea, "button_press_event",
+ G_CALLBACK (pgd_annots_drawing_area_button_press),
+ (gpointer)demo);
+ g_signal_connect (demo->darea, "motion_notify_event",
+ G_CALLBACK (pgd_annots_drawing_area_motion_notify),
+ (gpointer)demo);
+ g_signal_connect (demo->darea, "button_release_event",
+ G_CALLBACK (pgd_annots_drawing_area_button_release),
+ (gpointer)demo);
+
+ swindow = gtk_scrolled_window_new (NULL, NULL);
+#if GTK_CHECK_VERSION(3, 7, 8)
+ gtk_container_add(GTK_CONTAINER(swindow), demo->darea);
+#else
+ gtk_scrolled_window_add_with_viewport (GTK_SCROLLED_WINDOW (swindow), demo->darea);
+#endif
+ gtk_widget_show (demo->darea);
+
+ gtk_paned_add2 (GTK_PANED (hpaned), swindow);
+ gtk_widget_show (swindow);
gtk_paned_set_position (GTK_PANED (hpaned), 300);
@@ -1006,5 +1474,10 @@ pgd_annots_create_widget (PopplerDocument *document)
(GWeakNotify)pgd_annots_free,
demo);
+ pgd_annots_viewer_queue_redraw (demo);
+ pgd_annots_get_annots (demo);
+
+ demo->main_box = vbox;
+
return vbox;
}
diff --git a/glib/demo/main.c b/glib/demo/main.c
index 25238000..5bb13c92 100644
--- a/glib/demo/main.c
+++ b/glib/demo/main.c
@@ -1,4 +1,4 @@
-/*
+/*
* Copyright (C) 2007 Carlos Garcia Campos <carlosgc@gnome.org>
*
* This program is free software; you can redistribute it and/or modify
@@ -34,6 +34,7 @@
#include "attachments.h"
#include "layers.h"
#include "text.h"
+#include "taggedstruct.h"
#include "find.h"
#include "print.h"
#include "selections.h"
@@ -61,10 +62,11 @@ static const PopplerGlibDemo demo_list[] = {
{ "Forms", pgd_forms_create_widget },
{ "Page Transitions", pgd_transitions_create_widget },
{ "Images", pgd_images_create_widget },
- { "Annots", pgd_annots_create_widget },
+ { "Annotations", pgd_annots_create_widget },
{ "Attachments", pgd_attachments_create_widget },
{ "Layers", pgd_layers_create_widget },
{ "Text", pgd_text_create_widget },
+ { "Tagged Structure", pgd_taggedstruct_create_widget },
{ "Find", pgd_find_create_widget },
{ "Print", pgd_print_create_widget }
};
@@ -78,7 +80,7 @@ pgd_demo_changed (GtkTreeSelection *selection,
if (gtk_tree_selection_get_selected (selection, &model, &iter)) {
gint n_page;
-
+
gtk_tree_model_get (model, &iter,
PGD_NPAGE_COLUMN, &n_page,
-1);
@@ -106,7 +108,7 @@ pgd_demo_list_create (void)
renderer,
"text", PGD_TITLE_COLUMN,
NULL);
-
+
for (i = 0; i < G_N_ELEMENTS (demo_list); i++) {
GtkTreeIter iter;
@@ -118,12 +120,12 @@ pgd_demo_list_create (void)
}
g_object_unref (model);
-
+
return treeview;
}
static GtkWidget *
-pdg_demo_notebook_create (PopplerDocument *document)
+pgd_demo_notebook_create (PopplerDocument *document)
{
GtkWidget *notebook;
gint i;
@@ -131,7 +133,7 @@ pdg_demo_notebook_create (PopplerDocument *document)
notebook = gtk_notebook_new ();
gtk_notebook_set_show_tabs (GTK_NOTEBOOK (notebook), FALSE);
gtk_notebook_set_show_border (GTK_NOTEBOOK (notebook), FALSE);
-
+
for (i = 0; i < G_N_ELEMENTS (demo_list); i++) {
GtkWidget *demo_widget;
@@ -345,7 +347,7 @@ gint main (gint argc, gchar **argv)
/* Main window */
win = gtk_window_new (GTK_WINDOW_TOPLEVEL);
- gtk_window_set_default_size (GTK_WINDOW (win), 600, 600);
+ gtk_window_set_default_size (GTK_WINDOW (win), 1024, 768);
gtk_window_set_title (GTK_WINDOW (win), "Poppler GLib Demo");
g_signal_connect (G_OBJECT (win), "delete-event",
G_CALLBACK (gtk_main_quit), NULL);
@@ -355,15 +357,15 @@ gint main (gint argc, gchar **argv)
gtk_accel_group_connect (gtk_accel, gdk_keyval_from_name ("q"),
GDK_CONTROL_MASK, 0, closure);
g_closure_unref (closure);
- gtk_window_add_accel_group (GTK_WINDOW(win), gtk_accel);
+ gtk_window_add_accel_group (GTK_WINDOW (win), gtk_accel);
hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 6);
treeview = pgd_demo_list_create ();
gtk_box_pack_start (GTK_BOX (hbox), treeview, FALSE, TRUE, 0);
gtk_widget_show (treeview);
-
- notebook = pdg_demo_notebook_create (document);
+
+ notebook = pgd_demo_notebook_create (document);
gtk_box_pack_start (GTK_BOX (hbox), notebook, TRUE, TRUE, 0);
gtk_widget_show (notebook);
@@ -374,12 +376,12 @@ gint main (gint argc, gchar **argv)
gtk_container_add (GTK_CONTAINER (win), hbox);
gtk_widget_show (hbox);
-
+
gtk_widget_show (win);
gtk_main ();
g_object_unref (document);
-
+
return 0;
}
diff --git a/glib/demo/render.c b/glib/demo/render.c
index 52f96ffd..78d24bb5 100644
--- a/glib/demo/render.c
+++ b/glib/demo/render.c
@@ -32,7 +32,7 @@ typedef struct {
gint rotate;
GdkRectangle slice;
gboolean printing;
-
+
GtkWidget *swindow;
GtkWidget *darea;
GtkWidget *slice_x;
@@ -174,7 +174,7 @@ pgd_render_slice_selector_setup (PgdRenderDemo *demo)
return;
poppler_page_get_size (page, &width, &height);
-
+
gtk_spin_button_set_range (GTK_SPIN_BUTTON (demo->slice_x), 0, width);
gtk_spin_button_set_range (GTK_SPIN_BUTTON (demo->slice_y), 0, height);
gtk_spin_button_set_range (GTK_SPIN_BUTTON (demo->slice_w), 0, width);
@@ -428,7 +428,7 @@ pgd_render_create_widget (PopplerDocument *document)
gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (demo->swindow),
GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);
#if GTK_CHECK_VERSION(3, 7, 8)
- gtk_container_add(GTK_CONTAINER(demo->swindow), demo->darea);
+ gtk_container_add (GTK_CONTAINER (demo->swindow), demo->darea);
#else
gtk_scrolled_window_add_with_viewport (GTK_SCROLLED_WINDOW (demo->swindow),
demo->darea);
diff --git a/glib/demo/taggedstruct.c b/glib/demo/taggedstruct.c
new file mode 100644
index 00000000..f5870f50
--- /dev/null
+++ b/glib/demo/taggedstruct.c
@@ -0,0 +1,232 @@
+/*
+ * Copyright (C) 2013 Igalia S.L.
+ *
+ * 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.
+ */
+
+#include <string.h>
+
+#include "text.h"
+#include "utils.h"
+
+typedef struct {
+ GtkWidget *view;
+ GtkTreeStore *store;
+ GtkWidget *type_value;
+ GtkWidget *lang_value;
+ GtkWidget *abbr_value;
+ GtkWidget *id_value;
+ GtkWidget *title_value;
+ GtkTextBuffer *text_buffer;
+} PgdTaggedStructDemo;
+
+
+static void
+pgd_taggedstruct_free (PgdTaggedStructDemo *demo)
+{
+ if (!demo)
+ return;
+
+ if (demo->store)
+ {
+ g_object_unref (demo->store);
+ demo->store = NULL;
+ }
+
+ g_free (demo);
+}
+
+
+static void
+populate_store_aux (GtkTreeStore *store, GtkTreeIter *parent, PopplerStructureElementIter *iter)
+{
+ do
+ {
+ PopplerStructureElementIter *child = poppler_structure_element_iter_get_child (iter);
+ PopplerStructureElement *element = poppler_structure_element_iter_get_element (iter);
+ GEnumClass *enum_class = G_ENUM_CLASS (g_type_class_ref (POPPLER_TYPE_STRUCTURE_ELEMENT_KIND));
+ GEnumValue *enum_value = g_enum_get_value (enum_class, poppler_structure_element_get_kind (element));
+ GtkTreeIter pos;
+
+ gtk_tree_store_append (store, &pos, parent);
+ gtk_tree_store_set (store, &pos, 0, enum_value->value_nick, 1, element, -1);
+
+ if (child)
+ {
+ populate_store_aux (store, &pos, child);
+ poppler_structure_element_iter_free (child);
+ }
+ }
+ while (poppler_structure_element_iter_next (iter));
+}
+
+
+static GtkTreeStore *
+populate_store (PopplerStructureElementIter *iter)
+{
+ GtkTreeStore *store = gtk_tree_store_new (2, G_TYPE_STRING, G_TYPE_POINTER);
+
+ if (iter)
+ {
+ populate_store_aux (store, NULL, iter);
+ }
+ else
+ {
+ GtkTreeIter pos;
+
+ gtk_tree_store_append (store, &pos, NULL);
+ gtk_tree_store_set (store, &pos, 0, "<b>Not a Tagged-PDF</b>", 1, NULL, -1);
+ }
+
+ return store;
+}
+
+
+/*static void
+pgd_row_activated (GtkTreeView *tree_view, GtkTreePath *path, GtkTreeViewColumn *column, PgdTaggedStructDemo *demo)
+{*/
+static void
+pgd_selection_changed (GtkTreeSelection *selection, PgdTaggedStructDemo *demo)
+{
+ GtkTreeModel *model;
+ PopplerStructureElement *element;
+ GtkTreeIter iter;
+ gpointer elementptr;
+
+ if (!gtk_tree_selection_get_selected (selection, &model, &iter))
+ return;
+
+ gtk_tree_model_get (model, &iter, 1, &elementptr, -1);
+ element = POPPLER_STRUCTURE_ELEMENT (elementptr);
+
+ gtk_label_set_text (GTK_LABEL (demo->id_value),
+ poppler_structure_element_get_id (element));
+ gtk_label_set_text (GTK_LABEL (demo->title_value),
+ poppler_structure_element_get_title (element));
+ gtk_label_set_text (GTK_LABEL (demo->lang_value),
+ poppler_structure_element_get_language (element));
+ gtk_label_set_text (GTK_LABEL (demo->abbr_value),
+ poppler_structure_element_get_abbreviation (element));
+ gtk_text_buffer_set_text (demo->text_buffer, "", -1);
+
+ if (poppler_structure_element_is_content (element))
+ {
+ const gchar *text = poppler_structure_element_get_text (element, FALSE);
+
+ if (text)
+ gtk_text_buffer_set_text (demo->text_buffer, text, -1);
+ gtk_label_set_text (GTK_LABEL (demo->type_value), "Content");
+ }
+ else
+ {
+ if (poppler_structure_element_is_inline (element))
+ gtk_label_set_text (GTK_LABEL (demo->type_value), "Inline");
+ else if (poppler_structure_element_is_block (element))
+ gtk_label_set_text (GTK_LABEL (demo->type_value), "Block");
+ else
+ gtk_label_set_text (GTK_LABEL (demo->type_value), "Structure");
+ }
+}
+
+
+GtkWidget *
+pgd_taggedstruct_create_widget (PopplerDocument *document)
+{
+ PopplerStructureElementIter *iter;
+ PgdTaggedStructDemo *demo;
+ GtkCellRenderer *renderer;
+ GtkTreeSelection *selection;
+ GtkWidget *hbox;
+ GtkWidget *vbox;
+ GtkWidget *grid;
+ GtkWidget *scroll;
+ GtkWidget *w;
+ gint row;
+
+ demo = g_new0 (PgdTaggedStructDemo, 1);
+
+ iter = poppler_structure_element_iter_new (document);
+ demo->store = populate_store (iter);
+ poppler_structure_element_iter_free (iter);
+
+ demo->view = gtk_tree_view_new_with_model (GTK_TREE_MODEL (demo->store));
+
+ renderer = gtk_cell_renderer_text_new ();
+ gtk_tree_view_insert_column_with_attributes (GTK_TREE_VIEW (demo->view),
+ 0, "Type",
+ renderer,
+ "markup", 0,
+ NULL);
+ g_object_set (G_OBJECT (gtk_tree_view_get_column (GTK_TREE_VIEW (demo->view), 0)),
+ "expand", TRUE, NULL);
+
+ gtk_tree_view_expand_all (GTK_TREE_VIEW (demo->view));
+ gtk_tree_view_set_show_expanders (GTK_TREE_VIEW (demo->view), TRUE);
+ gtk_tree_view_set_headers_visible (GTK_TREE_VIEW (demo->view), TRUE);
+ gtk_tree_view_set_headers_clickable (GTK_TREE_VIEW (demo->view), FALSE);
+ gtk_tree_view_set_activate_on_single_click (GTK_TREE_VIEW (demo->view), TRUE);
+
+ hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 6);
+ scroll = gtk_scrolled_window_new (NULL, NULL);
+ gtk_container_add (GTK_CONTAINER (scroll), demo->view);
+ gtk_widget_show (demo->view);
+ gtk_box_pack_start (GTK_BOX (hbox), scroll, TRUE, TRUE, 0);
+ gtk_widget_show (scroll);
+
+ row = 0;
+ grid = gtk_grid_new ();
+ gtk_container_set_border_width (GTK_CONTAINER (grid), 12);
+ gtk_grid_set_row_homogeneous (GTK_GRID (grid), FALSE);
+ gtk_grid_set_column_spacing (GTK_GRID (grid), 6);
+ gtk_grid_set_row_spacing (GTK_GRID (grid), 6);
+ pgd_table_add_property_with_value_widget (GTK_GRID (grid), "<b>Type:</b>", &demo->type_value, NULL, &row);
+ pgd_table_add_property_with_value_widget (GTK_GRID (grid), "<b>ID:</b>", &demo->id_value, NULL, &row);
+ pgd_table_add_property_with_value_widget (GTK_GRID (grid), "<b>Title:</b>", &demo->title_value, NULL, &row);
+ pgd_table_add_property_with_value_widget (GTK_GRID (grid), "<b>Language:</b>", &demo->lang_value, NULL, &row);
+ pgd_table_add_property_with_value_widget (GTK_GRID (grid), "<b>Abbreviation:</b>", &demo->abbr_value, NULL, &row);
+
+ vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 6);
+ gtk_box_pack_start (GTK_BOX (vbox), grid, FALSE, FALSE, 0);
+ gtk_widget_show (grid);
+
+ scroll = gtk_scrolled_window_new (NULL, NULL);
+ gtk_container_set_border_width (GTK_CONTAINER (scroll), 12);
+ gtk_box_pack_end (GTK_BOX (vbox), scroll, TRUE, TRUE, 0);
+ gtk_widget_show (scroll);
+
+ gtk_container_add (GTK_CONTAINER (scroll), (w = gtk_text_view_new ()));
+ gtk_widget_show (w);
+
+ demo->text_buffer = gtk_text_view_get_buffer (GTK_TEXT_VIEW (w));
+ gtk_text_view_set_wrap_mode (GTK_TEXT_VIEW (w), GTK_WRAP_WORD_CHAR);
+ gtk_text_view_set_editable (GTK_TEXT_VIEW (w), FALSE);
+ gtk_text_buffer_set_text (demo->text_buffer, "", -1);
+ gtk_widget_show (w);
+
+ selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (demo->view));
+ g_signal_connect (selection, "changed",
+ G_CALLBACK (pgd_selection_changed),
+ demo);
+
+ gtk_box_pack_end (GTK_BOX (hbox), vbox, TRUE, TRUE, 0);
+ gtk_widget_show (vbox);
+
+ g_object_weak_ref (G_OBJECT (hbox),
+ (GWeakNotify) pgd_taggedstruct_free,
+ demo);
+
+ gtk_widget_show (hbox);
+ return hbox;
+}
diff --git a/glib/demo/taggedstruct.h b/glib/demo/taggedstruct.h
new file mode 100644
index 00000000..3a387277
--- /dev/null
+++ b/glib/demo/taggedstruct.h
@@ -0,0 +1,31 @@
+/*
+ * Copyright (C) 2013 Igalia S.L.
+ *
+ * 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.
+ */
+
+#include <gtk/gtk.h>
+#include <poppler.h>
+
+#ifndef _TAGGEDSTRUCT_H_
+#define _TAGGEDSTRUCT_H_
+
+G_BEGIN_DECLS
+
+GtkWidget *pgd_taggedstruct_create_widget (PopplerDocument *document);
+
+G_END_DECLS
+
+#endif /* _TAGGEDSTRUCT_H_ */
diff --git a/glib/demo/text.c b/glib/demo/text.c
index af8428e5..8af3ce32 100644
--- a/glib/demo/text.c
+++ b/glib/demo/text.c
@@ -38,6 +38,10 @@ typedef struct {
GtkTextBuffer *buffer;
GtkWidget *treeview;
GtkListStore *model;
+ GtkWidget *area_x1;
+ GtkWidget *area_y1;
+ GtkWidget *area_x2;
+ GtkWidget *area_y2;
/* Text attributes */
GList *text_attrs;
@@ -47,6 +51,7 @@ typedef struct {
GtkWidget *text_color;
gint page;
+ PopplerRectangle area;
} PgdTextDemo;
static void
@@ -99,7 +104,7 @@ pgd_text_get_text (GtkWidget *button,
demo->text_attrs = NULL;
timer = g_timer_new ();
- text = poppler_page_get_text (page);
+ text = poppler_page_get_text_for_area (page, &demo->area);
g_timer_stop (timer);
if (text) {
@@ -109,17 +114,17 @@ pgd_text_get_text (GtkWidget *button,
text_elapsed = g_timer_elapsed (timer, NULL);
g_timer_start (timer);
- poppler_page_get_text_layout (page, &recs, &n_recs);
+ poppler_page_get_text_layout_for_area (page, &demo->area, &recs, &n_recs);
g_timer_stop (timer);
layout_elapsed = g_timer_elapsed (timer, NULL);
g_timer_start (timer);
- demo->text_attrs = poppler_page_get_text_attributes (page);
+ demo->text_attrs = poppler_page_get_text_attributes_for_area (page, &demo->area);
g_timer_stop (timer);
- str = g_strdup_printf ("<i>got text in %.4f seconds, text layout in %.4f seconds, text attrs in %.4f seconds</i>",
- text_elapsed, layout_elapsed, g_timer_elapsed (timer, NULL));
+ str = g_strdup_printf ("<i>got %ld chars in %.4f seconds, %u layout units in %.4f seconds, text attrs in %.4f seconds</i>",
+ g_utf8_strlen(text, -1), text_elapsed, n_recs, layout_elapsed, g_timer_elapsed (timer, NULL));
gtk_label_set_markup (GTK_LABEL (demo->timer_label), str);
g_free (str);
} else {
@@ -273,6 +278,40 @@ pgd_text_view_query_tooltip (GtkTextView *textview,
}
}
+static void
+pgd_text_area_selector_setup (PgdTextDemo *demo)
+{
+ PopplerPage *page;
+ gdouble width, height;
+
+ page = poppler_document_get_page (demo->doc, demo->page);
+ if (!page)
+ return;
+
+ poppler_page_get_size (page, &width, &height);
+
+ gtk_spin_button_set_range (GTK_SPIN_BUTTON (demo->area_x1), -10, width - 10);
+ gtk_spin_button_set_range (GTK_SPIN_BUTTON (demo->area_y1), -10, height - 10);
+ gtk_spin_button_set_range (GTK_SPIN_BUTTON (demo->area_x2), 0, width + 10);
+ gtk_spin_button_set_range (GTK_SPIN_BUTTON (demo->area_y2), 0, height + 10);
+
+ gtk_spin_button_set_value (GTK_SPIN_BUTTON (demo->area_x1), 0);
+ gtk_spin_button_set_value (GTK_SPIN_BUTTON (demo->area_y1), 0);
+ gtk_spin_button_set_value (GTK_SPIN_BUTTON (demo->area_x2), width);
+ gtk_spin_button_set_value (GTK_SPIN_BUTTON (demo->area_y2), height);
+
+ g_object_unref (page);
+}
+
+static void
+pgd_text_area_selector_value_changed (GtkSpinButton *spinbutton,
+ PgdTextDemo *demo)
+{
+ demo->area.x1 = gtk_spin_button_get_value (GTK_SPIN_BUTTON (demo->area_x1));
+ demo->area.y1 = gtk_spin_button_get_value (GTK_SPIN_BUTTON (demo->area_y1));
+ demo->area.x2 = gtk_spin_button_get_value (GTK_SPIN_BUTTON (demo->area_x2));
+ demo->area.y2 = gtk_spin_button_get_value (GTK_SPIN_BUTTON (demo->area_y2));
+}
static void
pgd_text_page_selector_value_changed (GtkSpinButton *spinbutton,
@@ -287,7 +326,7 @@ pgd_text_create_widget (PopplerDocument *document)
PgdTextDemo *demo;
GtkWidget *label;
GtkWidget *vbox, *vbox2;
- GtkWidget *hbox, *page_selector;
+ GtkWidget *hbox, *page_selector, *area_hbox;
GtkWidget *button;
GtkWidget *swindow, *textview, *treeview;
GtkTreeSelection *selection;
@@ -326,6 +365,73 @@ pgd_text_create_widget (PopplerDocument *document)
gtk_widget_show (label);
g_free (str);
+ gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, TRUE, 0);
+ gtk_widget_show (hbox);
+
+ hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 12);
+
+ area_hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 6);
+ label = gtk_label_new ("X1:");
+ gtk_box_pack_start (GTK_BOX (area_hbox), label, TRUE, TRUE, 0);
+ gtk_widget_show (label);
+
+ demo->area_x1 = gtk_spin_button_new_with_range (0, 0, 0.01);
+ g_signal_connect (demo->area_x1, "value-changed",
+ G_CALLBACK (pgd_text_area_selector_value_changed),
+ demo);
+ gtk_box_pack_start (GTK_BOX (area_hbox), demo->area_x1, TRUE, TRUE, 0);
+ gtk_widget_show (demo->area_x1);
+
+ gtk_box_pack_start (GTK_BOX (hbox), area_hbox, FALSE, TRUE, 0);
+ gtk_widget_show (area_hbox);
+
+ area_hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 6);
+ label = gtk_label_new ("Y1:");
+ gtk_box_pack_start (GTK_BOX (area_hbox), label, TRUE, TRUE, 0);
+ gtk_widget_show (label);
+
+ demo->area_y1 = gtk_spin_button_new_with_range (0, 0, 0.01);
+ g_signal_connect (demo->area_y1, "value-changed",
+ G_CALLBACK (pgd_text_area_selector_value_changed),
+ demo);
+ gtk_box_pack_start (GTK_BOX (area_hbox), demo->area_y1, TRUE, TRUE, 0);
+ gtk_widget_show (demo->area_y1);
+
+ gtk_box_pack_start (GTK_BOX (hbox), area_hbox, FALSE, TRUE, 0);
+ gtk_widget_show (area_hbox);
+
+ area_hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 6);
+ label = gtk_label_new ("X2:");
+ gtk_box_pack_start (GTK_BOX (area_hbox), label, TRUE, TRUE, 0);
+ gtk_widget_show (label);
+
+ demo->area_x2 = gtk_spin_button_new_with_range (0, 0, 0.01);
+ g_signal_connect (demo->area_x2, "value-changed",
+ G_CALLBACK (pgd_text_area_selector_value_changed),
+ demo);
+ gtk_box_pack_start (GTK_BOX (area_hbox), demo->area_x2, TRUE, TRUE, 0);
+ gtk_widget_show (demo->area_x2);
+
+ gtk_box_pack_start (GTK_BOX (hbox), area_hbox, FALSE, TRUE, 0);
+ gtk_widget_show (area_hbox);
+
+ area_hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 6);
+ label = gtk_label_new ("Y2:");
+ gtk_box_pack_start (GTK_BOX (area_hbox), label, TRUE, TRUE, 0);
+ gtk_widget_show (label);
+
+ demo->area_y2 = gtk_spin_button_new_with_range (0, 0, 0.01);
+ g_signal_connect (demo->area_y2, "value-changed",
+ G_CALLBACK (pgd_text_area_selector_value_changed),
+ demo);
+ gtk_box_pack_start (GTK_BOX (area_hbox), demo->area_y2, TRUE, TRUE, 0);
+ gtk_widget_show (demo->area_y2);
+
+ gtk_box_pack_start (GTK_BOX (hbox), area_hbox, FALSE, TRUE, 0);
+ gtk_widget_show (area_hbox);
+
+ pgd_text_area_selector_setup (demo);
+
button = gtk_button_new_with_label ("Get Text");
g_signal_connect (G_OBJECT (button), "clicked",
G_CALLBACK (pgd_text_get_text),
diff --git a/glib/poppler-annot.cc b/glib/poppler-annot.cc
index 31cc081b..e87bce33 100644
--- a/glib/poppler-annot.cc
+++ b/glib/poppler-annot.cc
@@ -2,6 +2,7 @@
*
* Copyright (C) 2007 Inigo Martinez <inigomartinez@gmail.com>
* Copyright (C) 2009 Carlos Garcia Campos <carlosgc@gnome.org>
+ * Copyright (C) 2013 German Poo-Caamano <gpoo@gnome.org>
*
* 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
@@ -32,9 +33,13 @@ 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;
+typedef struct _PopplerAnnotLineClass PopplerAnnotLineClass;
+typedef struct _PopplerAnnotCircleClass PopplerAnnotCircleClass;
+typedef struct _PopplerAnnotSquareClass PopplerAnnotSquareClass;
struct _PopplerAnnotClass
{
@@ -61,6 +66,16 @@ struct _PopplerAnnotTextClass
PopplerAnnotMarkupClass parent_class;
};
+struct _PopplerAnnotTextMarkup
+{
+ PopplerAnnotMarkup parent_instance;
+};
+
+struct _PopplerAnnotTextMarkupClass
+{
+ PopplerAnnotMarkupClass parent_class;
+};
+
struct _PopplerAnnotFreeText
{
PopplerAnnotMarkup parent_instance;
@@ -105,14 +120,47 @@ struct _PopplerAnnotScreenClass
PopplerAnnotClass parent_class;
};
+struct _PopplerAnnotLine
+{
+ PopplerAnnotMarkup parent_instance;
+};
+
+struct _PopplerAnnotLineClass
+{
+ PopplerAnnotMarkupClass parent_class;
+};
+
+struct _PopplerAnnotCircle
+{
+ PopplerAnnotMarkup parent_instance;
+};
+
+struct _PopplerAnnotCircleClass
+{
+ PopplerAnnotMarkupClass parent_class;
+};
+
+struct _PopplerAnnotSquare
+{
+ PopplerAnnotMarkup parent_instance;
+};
+
+struct _PopplerAnnotSquareClass
+{
+ PopplerAnnotMarkupClass parent_class;
+};
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)
G_DEFINE_TYPE (PopplerAnnotMovie, poppler_annot_movie, POPPLER_TYPE_ANNOT)
G_DEFINE_TYPE (PopplerAnnotScreen, poppler_annot_screen, POPPLER_TYPE_ANNOT)
+G_DEFINE_TYPE (PopplerAnnotLine, poppler_annot_line, POPPLER_TYPE_ANNOT_MARKUP)
+G_DEFINE_TYPE (PopplerAnnotCircle, poppler_annot_circle, POPPLER_TYPE_ANNOT_MARKUP)
+G_DEFINE_TYPE (PopplerAnnotSquare, poppler_annot_square, POPPLER_TYPE_ANNOT_MARKUP)
static PopplerAnnot *
_poppler_create_annot (GType annot_type, Annot *annot)
@@ -210,6 +258,208 @@ 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);
+}
+
+static AnnotQuadrilaterals *
+create_annot_quads_from_poppler_quads (GArray *quads)
+{
+ AnnotQuadrilaterals::AnnotQuadrilateral **quads_array;
+
+ g_assert (quads->len > 0);
+
+ quads_array = (AnnotQuadrilaterals::AnnotQuadrilateral **) g_malloc0_n (
+ sizeof (AnnotQuadrilaterals::AnnotQuadrilateral *),
+ quads->len);
+
+ for (guint i = 0; i < quads->len; i++) {
+ PopplerQuadrilateral *quadrilateral = &g_array_index (quads, 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);
+ }
+
+ return new AnnotQuadrilaterals (quads_array, quads->len);
+}
+
+static GArray *
+create_poppler_quads_from_annot_quads (AnnotQuadrilaterals *quads_array)
+{
+ GArray *quads;
+ guint quads_len;
+
+ quads_len = quads_array->getQuadrilateralsLength();
+ quads = g_array_sized_new (FALSE, FALSE,
+ sizeof (PopplerQuadrilateral),
+ quads_len);
+ g_array_set_size (quads, quads_len);
+
+ for (guint i = 0; i < quads_len; ++i) {
+ PopplerQuadrilateral *quadrilateral = &g_array_index (quads, PopplerQuadrilateral, i);
+
+ quadrilateral->p1.x = quads_array->getX1(i);
+ quadrilateral->p1.y = quads_array->getY1(i);
+ quadrilateral->p2.x = quads_array->getX2(i);
+ quadrilateral->p2.y = quads_array->getY2(i);
+ quadrilateral->p3.x = quads_array->getX3(i);
+ quadrilateral->p3.y = quads_array->getY3(i);
+ quadrilateral->p4.x = quads_array->getX4(i);
+ quadrilateral->p4.y = quads_array->getY4(i);
+ }
+
+ return quads;
+}
+
+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
+ * @quadrilaterals: (element-type PopplerQuadrilateral): A #GArray of
+ * #PopplerQuadrilateral<!-- -->s
+ *
+ * Creates a new Highlight Text annotation that will be
+ * located on @rect when added to a page. See poppler_page_add_annot()
+ *
+ * Return value: (transfer full): A newly created #PopplerAnnotTextMarkup annotation
+ *
+ * Since: 0.26
+ */
+PopplerAnnot *
+poppler_annot_text_markup_new_highlight (PopplerDocument *doc,
+ PopplerRectangle *rect,
+ GArray *quadrilaterals)
+{
+ PopplerAnnot *poppler_annot;
+ AnnotTextMarkup *annot;
+ PDFRectangle pdf_rect(rect->x1, rect->y1,
+ rect->x2, rect->y2);
+
+ annot = new AnnotTextMarkup (doc->doc, &pdf_rect, Annot::typeHighlight);
+
+ poppler_annot = _poppler_annot_text_markup_new (annot);
+ poppler_annot_text_markup_set_quadrilaterals (POPPLER_ANNOT_TEXT_MARKUP (poppler_annot),
+ quadrilaterals);
+ return poppler_annot;
+}
+
+/**
+ * poppler_annot_text_markup_new_squiggly:
+ * @doc: a #PopplerDocument
+ * @rect: a #PopplerRectangle
+ * @quadrilaterals: (element-type PopplerQuadrilateral): A #GArray of
+ * #PopplerQuadrilateral<!-- -->s
+ *
+ * Creates a new Squiggly Text annotation that will be
+ * located on @rect when added to a page. See poppler_page_add_annot()
+ *
+ * Return value: (transfer full): A newly created #PopplerAnnotTextMarkup annotation
+ *
+ * Since: 0.26
+ */
+PopplerAnnot *
+poppler_annot_text_markup_new_squiggly (PopplerDocument *doc,
+ PopplerRectangle *rect,
+ GArray *quadrilaterals)
+{
+ PopplerAnnot *poppler_annot;
+ AnnotTextMarkup *annot;
+ PDFRectangle pdf_rect(rect->x1, rect->y1,
+ rect->x2, rect->y2);
+
+ g_return_val_if_fail (quadrilaterals != NULL && quadrilaterals->len > 0, NULL);
+
+ annot = new AnnotTextMarkup (doc->doc, &pdf_rect, Annot::typeSquiggly);
+
+ poppler_annot = _poppler_annot_text_markup_new (annot);
+ poppler_annot_text_markup_set_quadrilaterals (POPPLER_ANNOT_TEXT_MARKUP (poppler_annot),
+ quadrilaterals);
+ return poppler_annot;
+}
+
+/**
+ * poppler_annot_text_markup_new_strikeout:
+ * @doc: a #PopplerDocument
+ * @rect: a #PopplerRectangle
+ * @quadrilaterals: (element-type PopplerQuadrilateral): A #GArray of
+ * #PopplerQuadrilateral<!-- -->s
+ *
+ * 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: (transfer full): A newly created #PopplerAnnotTextMarkup annotation
+ *
+ * Since: 0.26
+ */
+PopplerAnnot *
+poppler_annot_text_markup_new_strikeout (PopplerDocument *doc,
+ PopplerRectangle *rect,
+ GArray *quadrilaterals)
+{
+ PopplerAnnot *poppler_annot;
+ AnnotTextMarkup *annot;
+ PDFRectangle pdf_rect(rect->x1, rect->y1,
+ rect->x2, rect->y2);
+
+ g_return_val_if_fail (quadrilaterals != NULL && quadrilaterals->len > 0, NULL);
+
+ annot = new AnnotTextMarkup (doc->doc, &pdf_rect, Annot::typeStrikeOut);
+
+ poppler_annot = _poppler_annot_text_markup_new (annot);
+ poppler_annot_text_markup_set_quadrilaterals (POPPLER_ANNOT_TEXT_MARKUP (poppler_annot),
+ quadrilaterals);
+ return poppler_annot;
+}
+
+/**
+ * poppler_annot_text_markup_new_underline:
+ * @doc: a #PopplerDocument
+ * @rect: a #PopplerRectangle
+ * @quadrilaterals: (element-type PopplerQuadrilateral): A #GArray of
+ * #PopplerQuadrilateral<!-- -->s
+ *
+ * Creates a new Underline Text annotation that will be
+ * located on @rect when added to a page. See poppler_page_add_annot()
+ *
+ * Return value: (transfer full): A newly created #PopplerAnnotTextMarkup annotation
+ *
+ * Since: 0.26
+ */
+PopplerAnnot *
+poppler_annot_text_markup_new_underline (PopplerDocument *doc,
+ PopplerRectangle *rect,
+ GArray *quadrilaterals)
+{
+ PopplerAnnot *poppler_annot;
+ AnnotTextMarkup *annot;
+ PDFRectangle pdf_rect(rect->x1, rect->y1,
+ rect->x2, rect->y2);
+
+ g_return_val_if_fail (quadrilaterals != NULL && quadrilaterals->len > 0, NULL);
+
+ annot = new AnnotTextMarkup (doc->doc, &pdf_rect, Annot::typeUnderline);
+
+ poppler_annot = _poppler_annot_text_markup_new (annot);
+ poppler_annot_text_markup_set_quadrilaterals (POPPLER_ANNOT_TEXT_MARKUP (poppler_annot),
+ quadrilaterals);
+ return poppler_annot;
+}
+
static void
poppler_annot_free_text_init (PopplerAnnotFreeText *poppler_annot)
{
@@ -324,6 +574,139 @@ _poppler_annot_screen_new (Annot *annot)
return poppler_annot;
}
+PopplerAnnot *
+_poppler_annot_line_new (Annot *annot)
+{
+ return _poppler_create_annot (POPPLER_TYPE_ANNOT_LINE, annot);
+}
+
+static void
+poppler_annot_line_init (PopplerAnnotLine *poppler_annot)
+{
+}
+
+static void
+poppler_annot_line_class_init (PopplerAnnotLineClass *klass)
+{
+}
+
+/**
+ * poppler_annot_line_new:
+ * @doc: a #PopplerDocument
+ * @rect: a #PopplerRectangle
+ * @start: a #PopplerPoint of the starting vertice
+ * @end: a #PopplerPoint of the ending vertice
+ *
+ * Creates a new Line annotation that will be
+ * located on @rect when added to a page. See
+ * poppler_page_add_annot()
+ *
+ * Return value: A newly created #PopplerAnnotLine annotation
+ *
+ * Since: 0.26
+ */
+PopplerAnnot *
+poppler_annot_line_new (PopplerDocument *doc,
+ PopplerRectangle *rect,
+ PopplerPoint *start,
+ PopplerPoint *end)
+{
+ PopplerAnnot *poppler_annot;
+ Annot *annot;
+ PDFRectangle pdf_rect(rect->x1, rect->y1,
+ rect->x2, rect->y2);
+
+ annot = new AnnotLine (doc->doc, &pdf_rect);
+
+ poppler_annot = _poppler_annot_line_new (annot);
+ poppler_annot_line_set_vertices (POPPLER_ANNOT_LINE (poppler_annot),
+ start, end);
+ return poppler_annot;
+}
+
+PopplerAnnot *
+_poppler_annot_circle_new (Annot *annot)
+{
+ return _poppler_create_annot (POPPLER_TYPE_ANNOT_CIRCLE, annot);
+}
+
+static void
+poppler_annot_circle_init (PopplerAnnotCircle *poppler_annot)
+{
+}
+
+static void
+poppler_annot_circle_class_init (PopplerAnnotCircleClass *klass)
+{
+}
+
+/**
+ * poppler_annot_circle_new:
+ * @doc: a #PopplerDocument
+ * @rect: a #PopplerRectangle
+ *
+ * Creates a new Circle annotation that will be
+ * located on @rect when added to a page. See
+ * poppler_page_add_annot()
+ *
+ * Return value: a newly created #PopplerAnnotCircle annotation
+ *
+ * Since: 0.26
+ **/
+PopplerAnnot *
+poppler_annot_circle_new (PopplerDocument *doc,
+ PopplerRectangle *rect)
+{
+ Annot *annot;
+ PDFRectangle pdf_rect(rect->x1, rect->y1,
+ rect->x2, rect->y2);
+
+ annot = new AnnotGeometry (doc->doc, &pdf_rect, Annot::typeCircle);
+
+ return _poppler_annot_circle_new (annot);
+}
+
+PopplerAnnot *
+_poppler_annot_square_new (Annot *annot)
+{
+ return _poppler_create_annot (POPPLER_TYPE_ANNOT_SQUARE, annot);
+}
+
+static void
+poppler_annot_square_init (PopplerAnnotSquare *poppler_annot)
+{
+}
+
+static void
+poppler_annot_square_class_init (PopplerAnnotSquareClass *klass)
+{
+}
+
+/**
+ * poppler_annot_square_new:
+ * @doc: a #PopplerDocument
+ * @rect: a #PopplerRectangle
+ *
+ * Creates a new Square annotation that will be
+ * located on @rect when added to a page. See
+ * poppler_page_add_annot()
+ *
+ * Return value: a newly created #PopplerAnnotSquare annotation
+ *
+ * Since: 0.26
+**/
+PopplerAnnot *
+poppler_annot_square_new (PopplerDocument *doc,
+ PopplerRectangle *rect)
+{
+ Annot *annot;
+ PDFRectangle pdf_rect(rect->x1, rect->y1,
+ rect->x2, rect->y2);
+
+ annot = new AnnotGeometry (doc->doc, &pdf_rect, Annot::typeSquare);
+
+ return _poppler_annot_square_new (annot);
+}
/* Public methods */
/**
@@ -416,7 +799,7 @@ poppler_annot_get_contents (PopplerAnnot *poppler_annot)
contents = poppler_annot->annot->getContents ();
- return contents ? _poppler_goo_string_to_utf8 (contents) : NULL;
+ return contents && contents->getLength() > 0 ? _poppler_goo_string_to_utf8 (contents) : NULL;
}
/**
@@ -528,26 +911,11 @@ poppler_annot_set_flags (PopplerAnnot *poppler_annot, PopplerAnnotFlag flags)
poppler_annot->annot->setFlags ((guint) flags);
}
-
-/**
- * poppler_annot_get_color:
- * @poppler_annot: a #PopplerAnnot
- *
- * Retrieves the color of @poppler_annot.
- *
- * Return value: a new allocated #PopplerColor with the color values of
- * @poppler_annot, or %NULL. It must be freed with g_free() when done.
- **/
-PopplerColor *
-poppler_annot_get_color (PopplerAnnot *poppler_annot)
+static PopplerColor *
+create_poppler_color_from_annot_color (AnnotColor *color)
{
- AnnotColor *color;
PopplerColor *poppler_color = NULL;
- g_return_val_if_fail (POPPLER_IS_ANNOT (poppler_annot), NULL);
-
- color = poppler_annot->annot->getColor ();
-
if (color) {
const double *values = color->getValues ();
@@ -579,6 +947,34 @@ poppler_annot_get_color (PopplerAnnot *poppler_annot)
return poppler_color;
}
+static AnnotColor *
+create_annot_color_from_poppler_color (PopplerColor *poppler_color)
+{
+ if (!poppler_color)
+ return NULL;
+
+ return new AnnotColor ((double)poppler_color->red / 65535,
+ (double)poppler_color->green / 65535,
+ (double)poppler_color->blue / 65535);
+}
+
+/**
+ * poppler_annot_get_color:
+ * @poppler_annot: a #PopplerAnnot
+ *
+ * Retrieves the color of @poppler_annot.
+ *
+ * Return value: a new allocated #PopplerColor with the color values of
+ * @poppler_annot, or %NULL. It must be freed with g_free() when done.
+ **/
+PopplerColor *
+poppler_annot_get_color (PopplerAnnot *poppler_annot)
+{
+ g_return_val_if_fail (POPPLER_IS_ANNOT (poppler_annot), NULL);
+
+ return create_poppler_color_from_annot_color (poppler_annot->annot->getColor ());
+}
+
/**
* poppler_annot_set_color:
* @poppler_annot: a #PopplerAnnot
@@ -592,16 +988,8 @@ void
poppler_annot_set_color (PopplerAnnot *poppler_annot,
PopplerColor *poppler_color)
{
- AnnotColor *color = NULL;
-
- if (poppler_color) {
- color = new AnnotColor ((double)poppler_color->red / 65535,
- (double)poppler_color->green / 65535,
- (double)poppler_color->blue / 65535);
- }
-
/* Annot takes ownership of the color */
- poppler_annot->annot->setColor (color);
+ poppler_annot->annot->setColor (create_annot_color_from_poppler_color (poppler_color));
}
/**
@@ -625,6 +1013,53 @@ poppler_annot_get_page_index (PopplerAnnot *poppler_annot)
return page_num <= 0 ? -1 : page_num - 1;
}
+/**
+ * poppler_annot_get_rectangle:
+ * @poppler_annot: a #PopplerAnnot
+ * @poppler_rect: (out): a #PopplerRectangle to store the annotation's coordinates
+ *
+ * Retrieves the rectangle representing the page coordinates where the
+ * annotation @poppler_annot is placed.
+ *
+ * Since: 0.26
+ */
+void
+poppler_annot_get_rectangle (PopplerAnnot *poppler_annot,
+ PopplerRectangle *poppler_rect)
+{
+ PDFRectangle *annot_rect;
+
+ g_return_if_fail (POPPLER_IS_ANNOT (poppler_annot));
+ g_return_if_fail (poppler_rect != NULL);
+
+ annot_rect = poppler_annot->annot->getRect ();
+ poppler_rect->x1 = annot_rect->x1;
+ poppler_rect->x2 = annot_rect->x2;
+ poppler_rect->y1 = annot_rect->y1;
+ poppler_rect->y2 = annot_rect->y2;
+}
+
+/**
+ * poppler_annot_set_rectangle:
+ * @poppler_annot: a #PopplerAnnot
+ * @poppler_rect: a #PopplerRectangle with the new annotation's coordinates
+ *
+ * Move the annotation to the rectangle representing the page coordinates
+ * where the annotation @poppler_annot should be placed.
+ *
+ * Since: 0.26
+ */
+void
+poppler_annot_set_rectangle (PopplerAnnot *poppler_annot,
+ PopplerRectangle *poppler_rect)
+{
+ g_return_if_fail (POPPLER_IS_ANNOT (poppler_annot));
+ g_return_if_fail (poppler_rect != NULL);
+
+ poppler_annot->annot->setRect (poppler_rect->x1, poppler_rect->y1,
+ poppler_rect->x2, poppler_rect->y2);
+}
+
/* PopplerAnnotMarkup */
/**
* poppler_annot_markup_get_label:
@@ -1140,6 +1575,56 @@ 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
+ * #PopplerQuadrilateral<!-- -->s
+ *
+ * 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;
+
+ g_return_if_fail (POPPLER_IS_ANNOT_TEXT_MARKUP (poppler_annot));
+ g_return_if_fail (quadrilaterals != NULL && quadrilaterals->len > 0);
+
+ annot = static_cast<AnnotTextMarkup *>(POPPLER_ANNOT (poppler_annot)->annot);
+ AnnotQuadrilaterals *quads = create_annot_quads_from_poppler_quads (quadrilaterals);
+ annot->setQuadrilaterals (quads);
+ delete 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;
+
+ g_return_val_if_fail (POPPLER_IS_ANNOT_TEXT_MARKUP (poppler_annot), NULL);
+
+ annot = static_cast<AnnotTextMarkup *>(POPPLER_ANNOT (poppler_annot)->annot);
+
+ return create_poppler_quads_from_annot_quads (annot->getQuadrilaterals());
+}
+
/* PopplerAnnotFreeText */
/**
* poppler_annot_free_text_get_quadding:
@@ -1384,3 +1869,128 @@ poppler_annot_screen_get_action (PopplerAnnotScreen *poppler_annot)
{
return poppler_annot->action;
}
+
+/* PopplerAnnotLine */
+/**
+ * poppler_annot_line_set_vertices:
+ * @poppler_annot: a #PopplerAnnotLine
+ * @start: a #PopplerPoint of the starting vertice
+ * @end: a #PopplerPoint of the ending vertice
+ *
+ * Set the coordinate points where the @poppler_annot starts and ends.
+ *
+ * Since: 0.26
+ */
+void
+poppler_annot_line_set_vertices (PopplerAnnotLine *poppler_annot,
+ PopplerPoint *start,
+ PopplerPoint *end)
+{
+ AnnotLine *annot;
+
+ g_return_if_fail (POPPLER_IS_ANNOT_LINE (poppler_annot));
+ g_return_if_fail (start != NULL);
+ g_return_if_fail (end != NULL);
+
+ annot = static_cast<AnnotLine *>(POPPLER_ANNOT (poppler_annot)->annot);
+ annot->setVertices (start->x, start->y, end->x, end->y);
+}
+
+/* PopplerAnnotCircle and PopplerAnnotSquare helpers */
+static PopplerColor *
+poppler_annot_geometry_get_interior_color (PopplerAnnot *poppler_annot)
+{
+ AnnotGeometry *annot;
+
+ annot = static_cast<AnnotGeometry *>(POPPLER_ANNOT (poppler_annot)->annot);
+
+ return create_poppler_color_from_annot_color (annot->getInteriorColor ());
+}
+
+static void
+poppler_annot_geometry_set_interior_color (PopplerAnnot *poppler_annot,
+ PopplerColor *poppler_color)
+{
+ AnnotGeometry *annot;
+
+ annot = static_cast<AnnotGeometry *>(POPPLER_ANNOT (poppler_annot)->annot);
+
+ /* Annot takes ownership of the color */
+ annot->setInteriorColor (create_annot_color_from_poppler_color (poppler_color));
+}
+
+/* PopplerAnnotCircle */
+/**
+ * poppler_annot_circle_get_interior_color:
+ * @poppler_annot: a #PopplerAnnotCircle
+ *
+ * Retrieves the interior color of @poppler_annot.
+ *
+ * Return value: a new allocated #PopplerColor with the color values of
+ * @poppler_annot, or %NULL. It must be freed with g_free() when done.
+ *
+ * Since: 0.26
+ */
+PopplerColor *
+poppler_annot_circle_get_interior_color (PopplerAnnotCircle *poppler_annot)
+{
+ g_return_val_if_fail (POPPLER_IS_ANNOT_CIRCLE (poppler_annot), NULL);
+
+ return poppler_annot_geometry_get_interior_color (POPPLER_ANNOT (poppler_annot));
+}
+
+/**
+ * poppler_annot_circle_set_interior_color:
+ * @poppler_annot: a #PopplerAnnotCircle
+ * @poppler_color: (allow-none): a #PopplerColor, or %NULL
+ *
+ * Sets the interior color of @poppler_annot.
+ *
+ * Since: 0.26
+ */
+void
+poppler_annot_circle_set_interior_color (PopplerAnnotCircle *poppler_annot,
+ PopplerColor *poppler_color)
+{
+ g_return_if_fail (POPPLER_IS_ANNOT_CIRCLE (poppler_annot));
+
+ poppler_annot_geometry_set_interior_color (POPPLER_ANNOT (poppler_annot), poppler_color);
+}
+
+/* PopplerAnnotSquare */
+/**
+ * poppler_annot_square_get_interior_color:
+ * @poppler_annot: a #PopplerAnnotSquare
+ *
+ * Retrieves the interior color of @poppler_annot.
+ *
+ * Return value: a new allocated #PopplerColor with the color values of
+ * @poppler_annot, or %NULL. It must be freed with g_free() when done.
+ *
+ * Since: 0.26
+ */
+PopplerColor *
+poppler_annot_square_get_interior_color (PopplerAnnotSquare *poppler_annot)
+{
+ g_return_val_if_fail (POPPLER_IS_ANNOT_SQUARE (poppler_annot), NULL);
+
+ return poppler_annot_geometry_get_interior_color (POPPLER_ANNOT (poppler_annot));
+}
+
+/**
+ * poppler_annot_square_set_interior_color:
+ * @poppler_annot: a #PopplerAnnotSquare
+ * @poppler_color: (allow-none): a #PopplerColor, or %NULL
+ *
+ * Sets the interior color of @poppler_annot.
+ *
+ * Since: 0.26
+ */
+void
+poppler_annot_square_set_interior_color (PopplerAnnotSquare *poppler_annot,
+ PopplerColor *poppler_color)
+{
+ g_return_if_fail (POPPLER_IS_ANNOT_SQUARE (poppler_annot));
+
+ poppler_annot_geometry_set_interior_color (POPPLER_ANNOT (poppler_annot), poppler_color);
+}
diff --git a/glib/poppler-annot.h b/glib/poppler-annot.h
index 88f4e468..441563ed 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))
@@ -54,8 +59,19 @@ G_BEGIN_DECLS
#define POPPLER_ANNOT_SCREEN(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), POPPLER_TYPE_ANNOT_SCREEN, PopplerAnnotScreen))
#define POPPLER_IS_ANNOT_SCREEN(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), POPPLER_TYPE_ANNOT_SCREEN))
+#define POPPLER_TYPE_ANNOT_LINE (poppler_annot_line_get_type ())
+#define POPPLER_ANNOT_LINE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), POPPLER_TYPE_ANNOT_LINE, PopplerAnnotLine))
+#define POPPLER_IS_ANNOT_LINE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), POPPLER_TYPE_ANNOT_LINE))
+
#define POPPLER_TYPE_ANNOT_CALLOUT_LINE (poppler_annot_callout_line_get_type ())
+#define POPPLER_TYPE_ANNOT_CIRCLE (poppler_annot_circle_get_type ())
+#define POPPLER_ANNOT_CIRCLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), POPPLER_TYPE_ANNOT_CIRCLE, PopplerAnnotCircle))
+#define POPPLER_IS_ANNOT_CIRCLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), POPPLER_TYPE_ANNOT_CIRCLE))
+
+#define POPPLER_TYPE_ANNOT_SQUARE (poppler_annot_square_get_type ())
+#define POPPLER_ANNOT_SQUARE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), POPPLER_TYPE_ANNOT_SQUARE, PopplerAnnotSquare))
+#define POPPLER_IS_ANNOT_SQUARE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), POPPLER_TYPE_ANNOT_SQUARE))
typedef enum
{
@@ -168,6 +184,10 @@ PopplerColor *poppler_annot_get_color (
void poppler_annot_set_color (PopplerAnnot *poppler_annot,
PopplerColor *poppler_color);
gint poppler_annot_get_page_index (PopplerAnnot *poppler_annot);
+void poppler_annot_get_rectangle (PopplerAnnot *poppler_annot,
+ PopplerRectangle *poppler_rect);
+void poppler_annot_set_rectangle (PopplerAnnot *poppler_annot,
+ PopplerRectangle *poppler_rect);
/* PopplerAnnotMarkup */
GType poppler_annot_markup_get_type (void) G_GNUC_CONST;
@@ -202,6 +222,24 @@ 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,
+ GArray *quadrilaterals);
+PopplerAnnot *poppler_annot_text_markup_new_squiggly (PopplerDocument *doc,
+ PopplerRectangle *rect,
+ GArray *quadrilaterals);
+PopplerAnnot *poppler_annot_text_markup_new_strikeout (PopplerDocument *doc,
+ PopplerRectangle *rect,
+ GArray *quadrilaterals);
+PopplerAnnot *poppler_annot_text_markup_new_underline (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);
@@ -221,12 +259,38 @@ PopplerMovie *poppler_annot_movie_get_movie (
GType poppler_annot_screen_get_type (void) G_GNUC_CONST;
PopplerAction *poppler_annot_screen_get_action (PopplerAnnotScreen *poppler_annot);
+/* PopplerAnnotLine */
+GType poppler_annot_line_get_type (void) G_GNUC_CONST;
+PopplerAnnot *poppler_annot_line_new (PopplerDocument *doc,
+ PopplerRectangle *rect,
+ PopplerPoint *start,
+ PopplerPoint *end);
+void poppler_annot_line_set_vertices (PopplerAnnotLine *poppler_annot,
+ PopplerPoint *start,
+ PopplerPoint *end);
+
/* PopplerAnnotCalloutLine */
GType poppler_annot_callout_line_get_type (void) G_GNUC_CONST;
PopplerAnnotCalloutLine *poppler_annot_callout_line_new (void);
PopplerAnnotCalloutLine *poppler_annot_callout_line_copy (PopplerAnnotCalloutLine *callout);
void poppler_annot_callout_line_free (PopplerAnnotCalloutLine *callout);
+/* PopplerAnnotCircle */
+GType poppler_annot_circle_get_type (void) G_GNUC_CONST;
+PopplerAnnot *poppler_annot_circle_new (PopplerDocument *doc,
+ PopplerRectangle *rect);
+void poppler_annot_circle_set_interior_color (PopplerAnnotCircle *poppler_annot,
+ PopplerColor *poppler_color);
+PopplerColor *poppler_annot_circle_get_interior_color (PopplerAnnotCircle *poppler_annot);
+
+/* PopplerAnnotGeometry */
+GType poppler_annot_square_get_type (void) G_GNUC_CONST;
+PopplerAnnot *poppler_annot_square_new (PopplerDocument *doc,
+ PopplerRectangle *rect);
+void poppler_annot_square_set_interior_color (PopplerAnnotSquare *poppler_annot,
+ PopplerColor *poppler_color);
+PopplerColor *poppler_annot_square_get_interior_color (PopplerAnnotSquare *poppler_annot);
+
G_END_DECLS
#endif /* __POPPLER_ANNOT_H__ */
diff --git a/glib/poppler-enums.c b/glib/poppler-enums.c
index 5b3c69e8..2f874cbc 100644
--- a/glib/poppler-enums.c
+++ b/glib/poppler-enums.c
@@ -491,6 +491,415 @@ poppler_annot_free_text_quadding_get_type (void)
return g_define_type_id__volatile;
}
+/* enumerations from "poppler-structure-element.h" */
+#include "poppler-structure-element.h"
+GType
+poppler_structure_element_kind_get_type (void)
+{
+ static volatile gsize g_define_type_id__volatile = 0;
+
+ if (g_once_init_enter (&g_define_type_id__volatile)) {
+ static const GEnumValue values[] = {
+ { POPPLER_STRUCTURE_ELEMENT_CONTENT, "POPPLER_STRUCTURE_ELEMENT_CONTENT", "content" },
+ { POPPLER_STRUCTURE_ELEMENT_OBJECT_REFERENCE, "POPPLER_STRUCTURE_ELEMENT_OBJECT_REFERENCE", "object-reference" },
+ { POPPLER_STRUCTURE_ELEMENT_DOCUMENT, "POPPLER_STRUCTURE_ELEMENT_DOCUMENT", "document" },
+ { POPPLER_STRUCTURE_ELEMENT_PART, "POPPLER_STRUCTURE_ELEMENT_PART", "part" },
+ { POPPLER_STRUCTURE_ELEMENT_ARTICLE, "POPPLER_STRUCTURE_ELEMENT_ARTICLE", "article" },
+ { POPPLER_STRUCTURE_ELEMENT_SECTION, "POPPLER_STRUCTURE_ELEMENT_SECTION", "section" },
+ { POPPLER_STRUCTURE_ELEMENT_DIV, "POPPLER_STRUCTURE_ELEMENT_DIV", "div" },
+ { POPPLER_STRUCTURE_ELEMENT_SPAN, "POPPLER_STRUCTURE_ELEMENT_SPAN", "span" },
+ { POPPLER_STRUCTURE_ELEMENT_QUOTE, "POPPLER_STRUCTURE_ELEMENT_QUOTE", "quote" },
+ { POPPLER_STRUCTURE_ELEMENT_NOTE, "POPPLER_STRUCTURE_ELEMENT_NOTE", "note" },
+ { POPPLER_STRUCTURE_ELEMENT_REFERENCE, "POPPLER_STRUCTURE_ELEMENT_REFERENCE", "reference" },
+ { POPPLER_STRUCTURE_ELEMENT_BIBENTRY, "POPPLER_STRUCTURE_ELEMENT_BIBENTRY", "bibentry" },
+ { POPPLER_STRUCTURE_ELEMENT_CODE, "POPPLER_STRUCTURE_ELEMENT_CODE", "code" },
+ { POPPLER_STRUCTURE_ELEMENT_LINK, "POPPLER_STRUCTURE_ELEMENT_LINK", "link" },
+ { POPPLER_STRUCTURE_ELEMENT_ANNOT, "POPPLER_STRUCTURE_ELEMENT_ANNOT", "annot" },
+ { POPPLER_STRUCTURE_ELEMENT_BLOCKQUOTE, "POPPLER_STRUCTURE_ELEMENT_BLOCKQUOTE", "blockquote" },
+ { POPPLER_STRUCTURE_ELEMENT_CAPTION, "POPPLER_STRUCTURE_ELEMENT_CAPTION", "caption" },
+ { POPPLER_STRUCTURE_ELEMENT_NONSTRUCT, "POPPLER_STRUCTURE_ELEMENT_NONSTRUCT", "nonstruct" },
+ { POPPLER_STRUCTURE_ELEMENT_TOC, "POPPLER_STRUCTURE_ELEMENT_TOC", "toc" },
+ { POPPLER_STRUCTURE_ELEMENT_TOC_ITEM, "POPPLER_STRUCTURE_ELEMENT_TOC_ITEM", "toc-item" },
+ { POPPLER_STRUCTURE_ELEMENT_INDEX, "POPPLER_STRUCTURE_ELEMENT_INDEX", "index" },
+ { POPPLER_STRUCTURE_ELEMENT_PRIVATE, "POPPLER_STRUCTURE_ELEMENT_PRIVATE", "private" },
+ { POPPLER_STRUCTURE_ELEMENT_PARAGRAPH, "POPPLER_STRUCTURE_ELEMENT_PARAGRAPH", "paragraph" },
+ { POPPLER_STRUCTURE_ELEMENT_HEADING, "POPPLER_STRUCTURE_ELEMENT_HEADING", "heading" },
+ { POPPLER_STRUCTURE_ELEMENT_HEADING_1, "POPPLER_STRUCTURE_ELEMENT_HEADING_1", "heading-1" },
+ { POPPLER_STRUCTURE_ELEMENT_HEADING_2, "POPPLER_STRUCTURE_ELEMENT_HEADING_2", "heading-2" },
+ { POPPLER_STRUCTURE_ELEMENT_HEADING_3, "POPPLER_STRUCTURE_ELEMENT_HEADING_3", "heading-3" },
+ { POPPLER_STRUCTURE_ELEMENT_HEADING_4, "POPPLER_STRUCTURE_ELEMENT_HEADING_4", "heading-4" },
+ { POPPLER_STRUCTURE_ELEMENT_HEADING_5, "POPPLER_STRUCTURE_ELEMENT_HEADING_5", "heading-5" },
+ { POPPLER_STRUCTURE_ELEMENT_HEADING_6, "POPPLER_STRUCTURE_ELEMENT_HEADING_6", "heading-6" },
+ { POPPLER_STRUCTURE_ELEMENT_LIST, "POPPLER_STRUCTURE_ELEMENT_LIST", "list" },
+ { POPPLER_STRUCTURE_ELEMENT_LIST_ITEM, "POPPLER_STRUCTURE_ELEMENT_LIST_ITEM", "list-item" },
+ { POPPLER_STRUCTURE_ELEMENT_LIST_LABEL, "POPPLER_STRUCTURE_ELEMENT_LIST_LABEL", "list-label" },
+ { POPPLER_STRUCTURE_ELEMENT_LIST_BODY, "POPPLER_STRUCTURE_ELEMENT_LIST_BODY", "list-body" },
+ { POPPLER_STRUCTURE_ELEMENT_TABLE, "POPPLER_STRUCTURE_ELEMENT_TABLE", "table" },
+ { POPPLER_STRUCTURE_ELEMENT_TABLE_ROW, "POPPLER_STRUCTURE_ELEMENT_TABLE_ROW", "table-row" },
+ { POPPLER_STRUCTURE_ELEMENT_TABLE_HEADING, "POPPLER_STRUCTURE_ELEMENT_TABLE_HEADING", "table-heading" },
+ { POPPLER_STRUCTURE_ELEMENT_TABLE_DATA, "POPPLER_STRUCTURE_ELEMENT_TABLE_DATA", "table-data" },
+ { POPPLER_STRUCTURE_ELEMENT_TABLE_HEADER, "POPPLER_STRUCTURE_ELEMENT_TABLE_HEADER", "table-header" },
+ { POPPLER_STRUCTURE_ELEMENT_TABLE_FOOTER, "POPPLER_STRUCTURE_ELEMENT_TABLE_FOOTER", "table-footer" },
+ { POPPLER_STRUCTURE_ELEMENT_TABLE_BODY, "POPPLER_STRUCTURE_ELEMENT_TABLE_BODY", "table-body" },
+ { POPPLER_STRUCTURE_ELEMENT_RUBY, "POPPLER_STRUCTURE_ELEMENT_RUBY", "ruby" },
+ { POPPLER_STRUCTURE_ELEMENT_RUBY_BASE_TEXT, "POPPLER_STRUCTURE_ELEMENT_RUBY_BASE_TEXT", "ruby-base-text" },
+ { POPPLER_STRUCTURE_ELEMENT_RUBY_ANNOT_TEXT, "POPPLER_STRUCTURE_ELEMENT_RUBY_ANNOT_TEXT", "ruby-annot-text" },
+ { POPPLER_STRUCTURE_ELEMENT_RUBY_PUNCTUATION, "POPPLER_STRUCTURE_ELEMENT_RUBY_PUNCTUATION", "ruby-punctuation" },
+ { POPPLER_STRUCTURE_ELEMENT_WARICHU, "POPPLER_STRUCTURE_ELEMENT_WARICHU", "warichu" },
+ { POPPLER_STRUCTURE_ELEMENT_WARICHU_TEXT, "POPPLER_STRUCTURE_ELEMENT_WARICHU_TEXT", "warichu-text" },
+ { POPPLER_STRUCTURE_ELEMENT_WARICHU_PUNCTUATION, "POPPLER_STRUCTURE_ELEMENT_WARICHU_PUNCTUATION", "warichu-punctuation" },
+ { POPPLER_STRUCTURE_ELEMENT_FIGURE, "POPPLER_STRUCTURE_ELEMENT_FIGURE", "figure" },
+ { POPPLER_STRUCTURE_ELEMENT_FORMULA, "POPPLER_STRUCTURE_ELEMENT_FORMULA", "formula" },
+ { POPPLER_STRUCTURE_ELEMENT_FORM, "POPPLER_STRUCTURE_ELEMENT_FORM", "form" },
+ { 0, NULL, NULL }
+ };
+ GType g_define_type_id =
+ g_enum_register_static (g_intern_static_string ("PopplerStructureElementKind"), values);
+
+ g_once_init_leave (&g_define_type_id__volatile, g_define_type_id);
+ }
+
+ return g_define_type_id__volatile;
+}
+
+GType
+poppler_structure_get_text_flags_get_type (void)
+{
+ static volatile gsize g_define_type_id__volatile = 0;
+
+ if (g_once_init_enter (&g_define_type_id__volatile)) {
+ static const GFlagsValue values[] = {
+ { POPPLER_STRUCTURE_GET_TEXT_NONE, "POPPLER_STRUCTURE_GET_TEXT_NONE", "none" },
+ { POPPLER_STRUCTURE_GET_TEXT_RECURSIVE, "POPPLER_STRUCTURE_GET_TEXT_RECURSIVE", "recursive" },
+ { 0, NULL, NULL }
+ };
+ GType g_define_type_id =
+ g_flags_register_static (g_intern_static_string ("PopplerStructureGetTextFlags"), values);
+
+ g_once_init_leave (&g_define_type_id__volatile, g_define_type_id);
+ }
+
+ return g_define_type_id__volatile;
+}
+
+GType
+poppler_structure_placement_get_type (void)
+{
+ static volatile gsize g_define_type_id__volatile = 0;
+
+ if (g_once_init_enter (&g_define_type_id__volatile)) {
+ static const GEnumValue values[] = {
+ { POPPLER_STRUCTURE_PLACEMENT_BLOCK, "POPPLER_STRUCTURE_PLACEMENT_BLOCK", "block" },
+ { POPPLER_STRUCTURE_PLACEMENT_INLINE, "POPPLER_STRUCTURE_PLACEMENT_INLINE", "inline" },
+ { POPPLER_STRUCTURE_PLACEMENT_BEFORE, "POPPLER_STRUCTURE_PLACEMENT_BEFORE", "before" },
+ { POPPLER_STRUCTURE_PLACEMENT_START, "POPPLER_STRUCTURE_PLACEMENT_START", "start" },
+ { POPPLER_STRUCTURE_PLACEMENT_END, "POPPLER_STRUCTURE_PLACEMENT_END", "end" },
+ { 0, NULL, NULL }
+ };
+ GType g_define_type_id =
+ g_enum_register_static (g_intern_static_string ("PopplerStructurePlacement"), values);
+
+ g_once_init_leave (&g_define_type_id__volatile, g_define_type_id);
+ }
+
+ return g_define_type_id__volatile;
+}
+
+GType
+poppler_structure_writing_mode_get_type (void)
+{
+ static volatile gsize g_define_type_id__volatile = 0;
+
+ if (g_once_init_enter (&g_define_type_id__volatile)) {
+ static const GEnumValue values[] = {
+ { POPPLER_STRUCTURE_WRITING_MODE_LR_TB, "POPPLER_STRUCTURE_WRITING_MODE_LR_TB", "lr-tb" },
+ { POPPLER_STRUCTURE_WRITING_MODE_RL_TB, "POPPLER_STRUCTURE_WRITING_MODE_RL_TB", "rl-tb" },
+ { POPPLER_STRUCTURE_WRITING_MODE_TB_RL, "POPPLER_STRUCTURE_WRITING_MODE_TB_RL", "tb-rl" },
+ { 0, NULL, NULL }
+ };
+ GType g_define_type_id =
+ g_enum_register_static (g_intern_static_string ("PopplerStructureWritingMode"), values);
+
+ g_once_init_leave (&g_define_type_id__volatile, g_define_type_id);
+ }
+
+ return g_define_type_id__volatile;
+}
+
+GType
+poppler_structure_border_style_get_type (void)
+{
+ static volatile gsize g_define_type_id__volatile = 0;
+
+ if (g_once_init_enter (&g_define_type_id__volatile)) {
+ static const GEnumValue values[] = {
+ { POPPLER_STRUCTURE_BORDER_STYLE_NONE, "POPPLER_STRUCTURE_BORDER_STYLE_NONE", "none" },
+ { POPPLER_STRUCTURE_BORDER_STYLE_HIDDEN, "POPPLER_STRUCTURE_BORDER_STYLE_HIDDEN", "hidden" },
+ { POPPLER_STRUCTURE_BORDER_STYLE_DOTTED, "POPPLER_STRUCTURE_BORDER_STYLE_DOTTED", "dotted" },
+ { POPPLER_STRUCTURE_BORDER_STYLE_DASHED, "POPPLER_STRUCTURE_BORDER_STYLE_DASHED", "dashed" },
+ { POPPLER_STRUCTURE_BORDER_STYLE_SOLID, "POPPLER_STRUCTURE_BORDER_STYLE_SOLID", "solid" },
+ { POPPLER_STRUCTURE_BORDER_STYLE_DOUBLE, "POPPLER_STRUCTURE_BORDER_STYLE_DOUBLE", "double" },
+ { POPPLER_STRUCTURE_BORDER_STYLE_GROOVE, "POPPLER_STRUCTURE_BORDER_STYLE_GROOVE", "groove" },
+ { POPPLER_STRUCTURE_BORDER_STYLE_INSET, "POPPLER_STRUCTURE_BORDER_STYLE_INSET", "inset" },
+ { POPPLER_STRUCTURE_BORDER_STYLE_OUTSET, "POPPLER_STRUCTURE_BORDER_STYLE_OUTSET", "outset" },
+ { 0, NULL, NULL }
+ };
+ GType g_define_type_id =
+ g_enum_register_static (g_intern_static_string ("PopplerStructureBorderStyle"), values);
+
+ g_once_init_leave (&g_define_type_id__volatile, g_define_type_id);
+ }
+
+ return g_define_type_id__volatile;
+}
+
+GType
+poppler_structure_text_align_get_type (void)
+{
+ static volatile gsize g_define_type_id__volatile = 0;
+
+ if (g_once_init_enter (&g_define_type_id__volatile)) {
+ static const GEnumValue values[] = {
+ { POPPLER_STRUCTURE_TEXT_ALIGN_START, "POPPLER_STRUCTURE_TEXT_ALIGN_START", "start" },
+ { POPPLER_STRUCTURE_TEXT_ALIGN_CENTER, "POPPLER_STRUCTURE_TEXT_ALIGN_CENTER", "center" },
+ { POPPLER_STRUCTURE_TEXT_ALIGN_END, "POPPLER_STRUCTURE_TEXT_ALIGN_END", "end" },
+ { POPPLER_STRUCTURE_TEXT_ALIGN_JUSTIFY, "POPPLER_STRUCTURE_TEXT_ALIGN_JUSTIFY", "justify" },
+ { 0, NULL, NULL }
+ };
+ GType g_define_type_id =
+ g_enum_register_static (g_intern_static_string ("PopplerStructureTextAlign"), values);
+
+ g_once_init_leave (&g_define_type_id__volatile, g_define_type_id);
+ }
+
+ return g_define_type_id__volatile;
+}
+
+GType
+poppler_structure_block_align_get_type (void)
+{
+ static volatile gsize g_define_type_id__volatile = 0;
+
+ if (g_once_init_enter (&g_define_type_id__volatile)) {
+ static const GEnumValue values[] = {
+ { POPPLER_STRUCTURE_BLOCK_ALIGN_BEFORE, "POPPLER_STRUCTURE_BLOCK_ALIGN_BEFORE", "before" },
+ { POPPLER_STRUCTURE_BLOCK_ALIGN_MIDDLE, "POPPLER_STRUCTURE_BLOCK_ALIGN_MIDDLE", "middle" },
+ { POPPLER_STRUCTURE_BLOCK_ALIGN_AFTER, "POPPLER_STRUCTURE_BLOCK_ALIGN_AFTER", "after" },
+ { POPPLER_STRUCTURE_BLOCK_ALIGN_JUSTIFY, "POPPLER_STRUCTURE_BLOCK_ALIGN_JUSTIFY", "justify" },
+ { 0, NULL, NULL }
+ };
+ GType g_define_type_id =
+ g_enum_register_static (g_intern_static_string ("PopplerStructureBlockAlign"), values);
+
+ g_once_init_leave (&g_define_type_id__volatile, g_define_type_id);
+ }
+
+ return g_define_type_id__volatile;
+}
+
+GType
+poppler_structure_inline_align_get_type (void)
+{
+ static volatile gsize g_define_type_id__volatile = 0;
+
+ if (g_once_init_enter (&g_define_type_id__volatile)) {
+ static const GEnumValue values[] = {
+ { POPPLER_STRUCTURE_INLINE_ALIGN_START, "POPPLER_STRUCTURE_INLINE_ALIGN_START", "start" },
+ { POPPLER_STRUCTURE_INLINE_ALIGN_CENTER, "POPPLER_STRUCTURE_INLINE_ALIGN_CENTER", "center" },
+ { POPPLER_STRUCTURE_INLINE_ALIGN_END, "POPPLER_STRUCTURE_INLINE_ALIGN_END", "end" },
+ { 0, NULL, NULL }
+ };
+ GType g_define_type_id =
+ g_enum_register_static (g_intern_static_string ("PopplerStructureInlineAlign"), values);
+
+ g_once_init_leave (&g_define_type_id__volatile, g_define_type_id);
+ }
+
+ return g_define_type_id__volatile;
+}
+
+GType
+poppler_structure_text_decoration_get_type (void)
+{
+ static volatile gsize g_define_type_id__volatile = 0;
+
+ if (g_once_init_enter (&g_define_type_id__volatile)) {
+ static const GEnumValue values[] = {
+ { POPPLER_STRUCTURE_TEXT_DECORATION_NONE, "POPPLER_STRUCTURE_TEXT_DECORATION_NONE", "none" },
+ { POPPLER_STRUCTURE_TEXT_DECORATION_UNDERLINE, "POPPLER_STRUCTURE_TEXT_DECORATION_UNDERLINE", "underline" },
+ { POPPLER_STRUCTURE_TEXT_DECORATION_OVERLINE, "POPPLER_STRUCTURE_TEXT_DECORATION_OVERLINE", "overline" },
+ { POPPLER_STRUCTURE_TEXT_DECORATION_LINETHROUGH, "POPPLER_STRUCTURE_TEXT_DECORATION_LINETHROUGH", "linethrough" },
+ { 0, NULL, NULL }
+ };
+ GType g_define_type_id =
+ g_enum_register_static (g_intern_static_string ("PopplerStructureTextDecoration"), values);
+
+ g_once_init_leave (&g_define_type_id__volatile, g_define_type_id);
+ }
+
+ return g_define_type_id__volatile;
+}
+
+GType
+poppler_structure_ruby_align_get_type (void)
+{
+ static volatile gsize g_define_type_id__volatile = 0;
+
+ if (g_once_init_enter (&g_define_type_id__volatile)) {
+ static const GEnumValue values[] = {
+ { POPPLER_STRUCTURE_RUBY_ALIGN_START, "POPPLER_STRUCTURE_RUBY_ALIGN_START", "start" },
+ { POPPLER_STRUCTURE_RUBY_ALIGN_CENTER, "POPPLER_STRUCTURE_RUBY_ALIGN_CENTER", "center" },
+ { POPPLER_STRUCTURE_RUBY_ALIGN_END, "POPPLER_STRUCTURE_RUBY_ALIGN_END", "end" },
+ { POPPLER_STRUCTURE_RUBY_ALIGN_JUSTIFY, "POPPLER_STRUCTURE_RUBY_ALIGN_JUSTIFY", "justify" },
+ { POPPLER_STRUCTURE_RUBY_ALIGN_DISTRIBUTE, "POPPLER_STRUCTURE_RUBY_ALIGN_DISTRIBUTE", "distribute" },
+ { 0, NULL, NULL }
+ };
+ GType g_define_type_id =
+ g_enum_register_static (g_intern_static_string ("PopplerStructureRubyAlign"), values);
+
+ g_once_init_leave (&g_define_type_id__volatile, g_define_type_id);
+ }
+
+ return g_define_type_id__volatile;
+}
+
+GType
+poppler_structure_ruby_position_get_type (void)
+{
+ static volatile gsize g_define_type_id__volatile = 0;
+
+ if (g_once_init_enter (&g_define_type_id__volatile)) {
+ static const GEnumValue values[] = {
+ { POPPLER_STRUCTURE_RUBY_POSITION_BEFORE, "POPPLER_STRUCTURE_RUBY_POSITION_BEFORE", "before" },
+ { POPPLER_STRUCTURE_RUBY_POSITION_AFTER, "POPPLER_STRUCTURE_RUBY_POSITION_AFTER", "after" },
+ { POPPLER_STRUCTURE_RUBY_POSITION_WARICHU, "POPPLER_STRUCTURE_RUBY_POSITION_WARICHU", "warichu" },
+ { POPPLER_STRUCTURE_RUBY_POSITION_INLINE, "POPPLER_STRUCTURE_RUBY_POSITION_INLINE", "inline" },
+ { 0, NULL, NULL }
+ };
+ GType g_define_type_id =
+ g_enum_register_static (g_intern_static_string ("PopplerStructureRubyPosition"), values);
+
+ g_once_init_leave (&g_define_type_id__volatile, g_define_type_id);
+ }
+
+ return g_define_type_id__volatile;
+}
+
+GType
+poppler_structure_glyph_orientation_get_type (void)
+{
+ static volatile gsize g_define_type_id__volatile = 0;
+
+ if (g_once_init_enter (&g_define_type_id__volatile)) {
+ static const GEnumValue values[] = {
+ { POPPLER_STRUCTURE_GLYPH_ORIENTATION_AUTO, "POPPLER_STRUCTURE_GLYPH_ORIENTATION_AUTO", "auto" },
+ { POPPLER_STRUCTURE_GLYPH_ORIENTATION_0, "POPPLER_STRUCTURE_GLYPH_ORIENTATION_0", "0" },
+ { POPPLER_STRUCTURE_GLYPH_ORIENTATION_90, "POPPLER_STRUCTURE_GLYPH_ORIENTATION_90", "90" },
+ { POPPLER_STRUCTURE_GLYPH_ORIENTATION_180, "POPPLER_STRUCTURE_GLYPH_ORIENTATION_180", "180" },
+ { POPPLER_STRUCTURE_GLYPH_ORIENTATION_270, "POPPLER_STRUCTURE_GLYPH_ORIENTATION_270", "270" },
+ { 0, NULL, NULL }
+ };
+ GType g_define_type_id =
+ g_enum_register_static (g_intern_static_string ("PopplerStructureGlyphOrientation"), values);
+
+ g_once_init_leave (&g_define_type_id__volatile, g_define_type_id);
+ }
+
+ return g_define_type_id__volatile;
+}
+
+GType
+poppler_structure_list_numbering_get_type (void)
+{
+ static volatile gsize g_define_type_id__volatile = 0;
+
+ if (g_once_init_enter (&g_define_type_id__volatile)) {
+ static const GEnumValue values[] = {
+ { POPPLER_STRUCTURE_LIST_NUMBERING_NONE, "POPPLER_STRUCTURE_LIST_NUMBERING_NONE", "none" },
+ { POPPLER_STRUCTURE_LIST_NUMBERING_DISC, "POPPLER_STRUCTURE_LIST_NUMBERING_DISC", "disc" },
+ { POPPLER_STRUCTURE_LIST_NUMBERING_CIRCLE, "POPPLER_STRUCTURE_LIST_NUMBERING_CIRCLE", "circle" },
+ { POPPLER_STRUCTURE_LIST_NUMBERING_SQUARE, "POPPLER_STRUCTURE_LIST_NUMBERING_SQUARE", "square" },
+ { POPPLER_STRUCTURE_LIST_NUMBERING_DECIMAL, "POPPLER_STRUCTURE_LIST_NUMBERING_DECIMAL", "decimal" },
+ { POPPLER_STRUCTURE_LIST_NUMBERING_UPPER_ROMAN, "POPPLER_STRUCTURE_LIST_NUMBERING_UPPER_ROMAN", "upper-roman" },
+ { POPPLER_STRUCTURE_LIST_NUMBERING_LOWER_ROMAN, "POPPLER_STRUCTURE_LIST_NUMBERING_LOWER_ROMAN", "lower-roman" },
+ { POPPLER_STRUCTURE_LIST_NUMBERING_UPPER_ALPHA, "POPPLER_STRUCTURE_LIST_NUMBERING_UPPER_ALPHA", "upper-alpha" },
+ { POPPLER_STRUCTURE_LIST_NUMBERING_LOWER_ALPHA, "POPPLER_STRUCTURE_LIST_NUMBERING_LOWER_ALPHA", "lower-alpha" },
+ { 0, NULL, NULL }
+ };
+ GType g_define_type_id =
+ g_enum_register_static (g_intern_static_string ("PopplerStructureListNumbering"), values);
+
+ g_once_init_leave (&g_define_type_id__volatile, g_define_type_id);
+ }
+
+ return g_define_type_id__volatile;
+}
+
+GType
+poppler_structure_form_role_get_type (void)
+{
+ static volatile gsize g_define_type_id__volatile = 0;
+
+ if (g_once_init_enter (&g_define_type_id__volatile)) {
+ static const GEnumValue values[] = {
+ { POPPLER_STRUCTURE_FORM_ROLE_UNDEFINED, "POPPLER_STRUCTURE_FORM_ROLE_UNDEFINED", "undefined" },
+ { POPPLER_STRUCTURE_FORM_ROLE_RADIO_BUTTON, "POPPLER_STRUCTURE_FORM_ROLE_RADIO_BUTTON", "radio-button" },
+ { POPPLER_STRUCTURE_FORM_ROLE_PUSH_BUTTON, "POPPLER_STRUCTURE_FORM_ROLE_PUSH_BUTTON", "push-button" },
+ { POPPLER_STRUCTURE_FORM_ROLE_TEXT_VALUE, "POPPLER_STRUCTURE_FORM_ROLE_TEXT_VALUE", "text-value" },
+ { POPPLER_STRUCTURE_FORM_ROLE_CHECKBOX, "POPPLER_STRUCTURE_FORM_ROLE_CHECKBOX", "checkbox" },
+ { 0, NULL, NULL }
+ };
+ GType g_define_type_id =
+ g_enum_register_static (g_intern_static_string ("PopplerStructureFormRole"), values);
+
+ g_once_init_leave (&g_define_type_id__volatile, g_define_type_id);
+ }
+
+ return g_define_type_id__volatile;
+}
+
+GType
+poppler_structure_form_state_get_type (void)
+{
+ static volatile gsize g_define_type_id__volatile = 0;
+
+ if (g_once_init_enter (&g_define_type_id__volatile)) {
+ static const GEnumValue values[] = {
+ { POPPLER_STRUCTURE_FORM_STATE_ON, "POPPLER_STRUCTURE_FORM_STATE_ON", "on" },
+ { POPPLER_STRUCTURE_FORM_STATE_OFF, "POPPLER_STRUCTURE_FORM_STATE_OFF", "off" },
+ { POPPLER_STRUCTURE_FORM_STATE_NEUTRAL, "POPPLER_STRUCTURE_FORM_STATE_NEUTRAL", "neutral" },
+ { 0, NULL, NULL }
+ };
+ GType g_define_type_id =
+ g_enum_register_static (g_intern_static_string ("PopplerStructureFormState"), values);
+
+ g_once_init_leave (&g_define_type_id__volatile, g_define_type_id);
+ }
+
+ return g_define_type_id__volatile;
+}
+
+GType
+poppler_structure_table_scope_get_type (void)
+{
+ static volatile gsize g_define_type_id__volatile = 0;
+
+ if (g_once_init_enter (&g_define_type_id__volatile)) {
+ static const GEnumValue values[] = {
+ { POPPLER_STRUCTURE_TABLE_SCOPE_ROW, "POPPLER_STRUCTURE_TABLE_SCOPE_ROW", "row" },
+ { POPPLER_STRUCTURE_TABLE_SCOPE_COLUMN, "POPPLER_STRUCTURE_TABLE_SCOPE_COLUMN", "column" },
+ { POPPLER_STRUCTURE_TABLE_SCOPE_BOTH, "POPPLER_STRUCTURE_TABLE_SCOPE_BOTH", "both" },
+ { 0, NULL, NULL }
+ };
+ GType g_define_type_id =
+ g_enum_register_static (g_intern_static_string ("PopplerStructureTableScope"), values);
+
+ g_once_init_leave (&g_define_type_id__volatile, g_define_type_id);
+ }
+
+ return g_define_type_id__volatile;
+}
+
/* enumerations from "poppler.h" */
#include "poppler.h"
GType
diff --git a/glib/poppler-enums.h b/glib/poppler-enums.h
index ae68cbea..56da95bd 100644
--- a/glib/poppler-enums.h
+++ b/glib/poppler-enums.h
@@ -55,6 +55,40 @@ GType poppler_annot_text_state_get_type (void) G_GNUC_CONST;
GType poppler_annot_free_text_quadding_get_type (void) G_GNUC_CONST;
#define POPPLER_TYPE_ANNOT_FREE_TEXT_QUADDING (poppler_annot_free_text_quadding_get_type ())
+/* enumerations from "poppler-structure-element.h" */
+GType poppler_structure_element_kind_get_type (void) G_GNUC_CONST;
+#define POPPLER_TYPE_STRUCTURE_ELEMENT_KIND (poppler_structure_element_kind_get_type ())
+GType poppler_structure_get_text_flags_get_type (void) G_GNUC_CONST;
+#define POPPLER_TYPE_STRUCTURE_GET_TEXT_FLAGS (poppler_structure_get_text_flags_get_type ())
+GType poppler_structure_placement_get_type (void) G_GNUC_CONST;
+#define POPPLER_TYPE_STRUCTURE_PLACEMENT (poppler_structure_placement_get_type ())
+GType poppler_structure_writing_mode_get_type (void) G_GNUC_CONST;
+#define POPPLER_TYPE_STRUCTURE_WRITING_MODE (poppler_structure_writing_mode_get_type ())
+GType poppler_structure_border_style_get_type (void) G_GNUC_CONST;
+#define POPPLER_TYPE_STRUCTURE_BORDER_STYLE (poppler_structure_border_style_get_type ())
+GType poppler_structure_text_align_get_type (void) G_GNUC_CONST;
+#define POPPLER_TYPE_STRUCTURE_TEXT_ALIGN (poppler_structure_text_align_get_type ())
+GType poppler_structure_block_align_get_type (void) G_GNUC_CONST;
+#define POPPLER_TYPE_STRUCTURE_BLOCK_ALIGN (poppler_structure_block_align_get_type ())
+GType poppler_structure_inline_align_get_type (void) G_GNUC_CONST;
+#define POPPLER_TYPE_STRUCTURE_INLINE_ALIGN (poppler_structure_inline_align_get_type ())
+GType poppler_structure_text_decoration_get_type (void) G_GNUC_CONST;
+#define POPPLER_TYPE_STRUCTURE_TEXT_DECORATION (poppler_structure_text_decoration_get_type ())
+GType poppler_structure_ruby_align_get_type (void) G_GNUC_CONST;
+#define POPPLER_TYPE_STRUCTURE_RUBY_ALIGN (poppler_structure_ruby_align_get_type ())
+GType poppler_structure_ruby_position_get_type (void) G_GNUC_CONST;
+#define POPPLER_TYPE_STRUCTURE_RUBY_POSITION (poppler_structure_ruby_position_get_type ())
+GType poppler_structure_glyph_orientation_get_type (void) G_GNUC_CONST;
+#define POPPLER_TYPE_STRUCTURE_GLYPH_ORIENTATION (poppler_structure_glyph_orientation_get_type ())
+GType poppler_structure_list_numbering_get_type (void) G_GNUC_CONST;
+#define POPPLER_TYPE_STRUCTURE_LIST_NUMBERING (poppler_structure_list_numbering_get_type ())
+GType poppler_structure_form_role_get_type (void) G_GNUC_CONST;
+#define POPPLER_TYPE_STRUCTURE_FORM_ROLE (poppler_structure_form_role_get_type ())
+GType poppler_structure_form_state_get_type (void) G_GNUC_CONST;
+#define POPPLER_TYPE_STRUCTURE_FORM_STATE (poppler_structure_form_state_get_type ())
+GType poppler_structure_table_scope_get_type (void) G_GNUC_CONST;
+#define POPPLER_TYPE_STRUCTURE_TABLE_SCOPE (poppler_structure_table_scope_get_type ())
+
/* enumerations from "poppler.h" */
GType poppler_error_get_type (void) G_GNUC_CONST;
#define POPPLER_TYPE_ERROR (poppler_error_get_type ())
diff --git a/glib/poppler-input-stream.cc b/glib/poppler-input-stream.cc
index 041cc2e0..e57e344b 100644
--- a/glib/poppler-input-stream.cc
+++ b/glib/poppler-input-stream.cc
@@ -31,6 +31,8 @@ PopplerInputStream::PopplerInputStream(GInputStream *inputStreamA, GCancellable
length = lengthA;
bufPtr = bufEnd = buf;
bufPos = start;
+ savePos = 0;
+ saved = gFalse;
}
PopplerInputStream::~PopplerInputStream()
@@ -77,6 +79,7 @@ void PopplerInputStream::setPos(Goffset pos, int dir)
if (dir >= 0) {
g_seekable_seek(seekable, pos, G_SEEK_SET, cancellable, NULL);
+ bufPos = pos;
} else {
g_seekable_seek(seekable, 0, G_SEEK_END, cancellable, NULL);
size = (Guint)g_seekable_tell(seekable);
@@ -110,7 +113,7 @@ GBool PopplerInputStream::fillBuf()
if (limited && bufPos + inputStreamBufSize > start + length) {
n = start + length - bufPos;
} else {
- n = inputStreamBufSize;
+ n = inputStreamBufSize - (bufPos % inputStreamBufSize);
}
n = g_input_stream_read(inputStream, buf, n, cancellable, NULL);
diff --git a/glib/poppler-media.h b/glib/poppler-media.h
index f324e1b8..292d3866 100644
--- a/glib/poppler-media.h
+++ b/glib/poppler-media.h
@@ -29,7 +29,7 @@ G_BEGIN_DECLS
#define POPPLER_MEDIA(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), POPPLER_TYPE_MEDIA, PopplerMedia))
#define POPPLER_IS_MEDIA(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), POPPLER_TYPE_MEDIA))
-// FIXME: this should be generic (PopplerSaveToCallbackFunc)
+/* FIXME: this should be generic (PopplerSaveToCallbackFunc) */
/**
* PopplerMediaSaveFunc:
diff --git a/glib/poppler-page.cc b/glib/poppler-page.cc
index 9115b786..34d6e35b 100644
--- a/glib/poppler-page.cc
+++ b/glib/poppler-page.cc
@@ -572,8 +572,8 @@ poppler_page_render_selection (PopplerPage *page,
/**
* poppler_page_get_thumbnail_size:
* @page: A #PopplerPage
- * @width: (out) return location for width
- * @height: (out) return location for height
+ * @width: (out): return location for width
+ * @height: (out): return location for height
*
* Returns %TRUE if @page has a thumbnail associated with it. It also
* fills in @width and @height with the width and height of the
@@ -851,6 +851,28 @@ poppler_page_get_text (PopplerPage *page)
}
/**
+ * poppler_page_get_text_for_area:
+ * @page: a #PopplerPage
+ * @area: a #PopplerRectangle
+ *
+ * Retrieves the text of @page contained in @area.
+ *
+ * Return value: a pointer to the text as a string
+ *
+ * Since: 0.26
+ **/
+char *
+poppler_page_get_text_for_area (PopplerPage *page,
+ PopplerRectangle *area)
+{
+ g_return_val_if_fail (POPPLER_IS_PAGE (page), NULL);
+ g_return_val_if_fail (area != NULL, NULL);
+
+ return poppler_page_get_selected_text (page, POPPLER_SELECTION_GLYPH, area);
+}
+
+
+/**
* poppler_page_find_text_with_options:
* @page: a #PopplerPage
* @text: the text to search for (UTF-8 encoded)
@@ -1375,6 +1397,21 @@ poppler_page_get_annot_mapping (PopplerPage *page)
case Annot::typeScreen:
mapping->annot = _poppler_annot_screen_new (annot);
break;
+ case Annot::typeLine:
+ mapping->annot = _poppler_annot_line_new (annot);
+ break;
+ case Annot::typeSquare:
+ mapping->annot = _poppler_annot_square_new (annot);
+ break;
+ 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;
@@ -1527,6 +1564,113 @@ poppler_rectangle_free (PopplerRectangle *rectangle)
g_slice_free (PopplerRectangle, rectangle);
}
+/* PopplerPoint type */
+
+POPPLER_DEFINE_BOXED_TYPE (PopplerPoint, poppler_point,
+ poppler_point_copy,
+ poppler_point_free)
+
+/**
+ * poppler_point_new:
+ *
+ * Creates a new #PopplerPoint. It must be freed with poppler_point_free() after use.
+ *
+ * Returns: a new #PopplerPoint
+ *
+ * Since: 0.26
+ **/
+PopplerPoint *
+poppler_point_new (void)
+{
+ return g_slice_new0 (PopplerPoint);
+}
+
+/**
+ * poppler_point_copy:
+ * @point: a #PopplerPoint to copy
+ *
+ * Creates a copy of @point. The copy must be freed with poppler_point_free()
+ * after use.
+ *
+ * Returns: a new allocated copy of @point
+ *
+ * Since: 0.26
+ **/
+PopplerPoint *
+poppler_point_copy (PopplerPoint *point)
+{
+ g_return_val_if_fail (point != NULL, NULL);
+
+ return g_slice_dup (PopplerPoint, point);
+}
+
+/**
+ * poppler_point_free:
+ * @point: a #PopplerPoint
+ *
+ * Frees the memory used by @point
+ *
+ * Since: 0.26
+ **/
+void
+poppler_point_free (PopplerPoint *point)
+{
+ g_slice_free (PopplerPoint, point);
+}
+
+/* PopplerQuadrilateral type */
+
+POPPLER_DEFINE_BOXED_TYPE (PopplerQuadrilateral, poppler_quadrilateral,
+ poppler_quadrilateral_copy,
+ poppler_quadrilateral_free)
+
+/**
+ * poppler_quadrilateral_new:
+ *
+ * Creates a new #PopplerQuadrilateral. It must be freed with poppler_quadrilateral_free() after use.
+ *
+ * Returns: a new #PopplerQuadrilateral.
+ *
+ * Since: 0.26
+ **/
+PopplerQuadrilateral *
+poppler_quadrilateral_new (void)
+{
+ return g_slice_new0 (PopplerQuadrilateral);
+}
+
+/**
+ * poppler_quadrilateral_copy:
+ * @quad: a #PopplerQuadrilateral to copy
+ *
+ * Creates a copy of @quad. The copy must be freed with poppler_quadrilateral_free() after use.
+ *
+ * Returns: a new allocated copy of @quad
+ *
+ * Since: 0.26
+ **/
+PopplerQuadrilateral *
+poppler_quadrilateral_copy (PopplerQuadrilateral *quad)
+{
+ g_return_val_if_fail (quad != NULL, NULL);
+
+ return g_slice_dup (PopplerQuadrilateral, quad);
+}
+
+/**
+ * poppler_quadrilateral_free:
+ * @quad: a #PopplerQuadrilateral
+ *
+ * Frees the memory used by @quad
+ *
+ * Since: 0.26
+ **/
+void
+poppler_quadrilateral_free (PopplerQuadrilateral *quad)
+{
+ g_slice_free (PopplerQuadrilateral, quad);
+}
+
/* PopplerTextAttributes type */
POPPLER_DEFINE_BOXED_TYPE (PopplerTextAttributes, poppler_text_attributes,
@@ -1961,14 +2105,16 @@ poppler_page_get_crop_box (PopplerPage *page, PopplerRectangle *rect)
* poppler_page_get_text_layout:
* @page: A #PopplerPage
* @rectangles: (out) (array length=n_rectangles) (transfer container): return location for an array of #PopplerRectangle
- * @n_rectangles: (out) length of returned array
+ * @n_rectangles: (out): length of returned array
*
* Obtains the layout of the text as a list of #PopplerRectangle
- * This array must be freed with g_free () when done.
+ * This array must be freed with g_free() when done.
*
* The position in the array represents an offset in the text returned by
* poppler_page_get_text()
*
+ * See also poppler_page_get_text_layout_for_area().
+ *
* Return value: %TRUE if the page contains text, %FALSE otherwise
*
* Since: 0.16
@@ -1978,6 +2124,38 @@ poppler_page_get_text_layout (PopplerPage *page,
PopplerRectangle **rectangles,
guint *n_rectangles)
{
+ PopplerRectangle selection = {0, 0, 0, 0};
+
+ g_return_val_if_fail (POPPLER_IS_PAGE (page), FALSE);
+
+ poppler_page_get_size (page, &selection.x2, &selection.y2);
+
+ return poppler_page_get_text_layout_for_area (page, &selection, rectangles, n_rectangles);
+}
+
+/**
+ * poppler_page_get_text_layout_for_area:
+ * @page: A #PopplerPage
+ * @area: a #PopplerRectangle
+ * @rectangles: (out) (array length=n_rectangles) (transfer container): return location for an array of #PopplerRectangle
+ * @n_rectangles: (out): length of returned array
+ *
+ * Obtains the layout of the text contained in @area as a list of #PopplerRectangle
+ * This array must be freed with g_free() when done.
+ *
+ * The position in the array represents an offset in the text returned by
+ * poppler_page_get_text_for_area()
+ *
+ * Return value: %TRUE if the page contains text, %FALSE otherwise
+ *
+ * Since: 0.26
+ **/
+gboolean
+poppler_page_get_text_layout_for_area (PopplerPage *page,
+ PopplerRectangle *area,
+ PopplerRectangle **rectangles,
+ guint *n_rectangles)
+{
TextPage *text;
PopplerRectangle *rect;
PDFRectangle selection;
@@ -1990,10 +2168,15 @@ poppler_page_get_text_layout (PopplerPage *page,
int n_lines;
g_return_val_if_fail (POPPLER_IS_PAGE (page), FALSE);
+ g_return_val_if_fail (area != NULL, FALSE);
*n_rectangles = 0;
- poppler_page_get_size (page, &selection.x2, &selection.y2);
+ selection.x1 = area->x1;
+ selection.y1 = area->y1;
+ selection.x2 = area->x2;
+ selection.y2 = area->y2;
+
text = poppler_page_get_text_page (page);
word_list = text->getSelectionWords (&selection, selectionStyleGlyph, &n_lines);
if (!word_list)
@@ -2006,8 +2189,8 @@ poppler_page_get_text_layout (PopplerPage *page,
n_rects += line_words->getLength() - 1;
for (j = 0; j < line_words->getLength(); j++)
{
- TextWord *word = (TextWord *)line_words->get(j);
- n_rects += word->getLength();
+ TextWordSelection *word_sel = (TextWordSelection *)line_words->get(j);
+ n_rects += word_sel->getEnd() - word_sel->getBegin();
}
}
@@ -2019,8 +2202,11 @@ poppler_page_get_text_layout (PopplerPage *page,
GooList *line_words = word_list[i];
for (j = 0; j < line_words->getLength(); j++)
{
- TextWord *word = (TextWord *)line_words->get(j);
- for (k = 0; k < word->getLength(); k++)
+ TextWordSelection *word_sel = (TextWordSelection *)line_words->get(j);
+ TextWord *word = word_sel->getWord();
+ int end = word_sel->getEnd();
+
+ for (k = word_sel->getBegin(); k < end; k++)
{
rect = *rectangles + offset;
word->getCharBBox (k,
@@ -2036,9 +2222,9 @@ poppler_page_get_text_layout (PopplerPage *page,
if (j < line_words->getLength() - 1)
{
- TextWord *next_word = (TextWord *)line_words->get(j + 1);
+ TextWordSelection *word_sel = (TextWordSelection *)line_words->get(j + 1);
- next_word->getBBox(&x3, &y3, &x4, &y4);
+ word_sel->getWord()->getBBox(&x3, &y3, &x4, &y4);
// space is from one word to other and with the same height as
// first word.
rect->x1 = x2;
@@ -2047,6 +2233,8 @@ poppler_page_get_text_layout (PopplerPage *page,
rect->y2 = y2;
offset++;
}
+
+ delete word_sel;
}
if (i < n_lines - 1 && offset > 0)
@@ -2110,13 +2298,15 @@ word_text_attributes_equal (TextWord *a, gint ai, TextWord *b, gint bi)
* poppler_page_get_text_attributes:
* @page: A #PopplerPage
*
- * Obtains the attributes of the text as a GList of #PopplerTextAttributes.
+ * Obtains the attributes of the text as a #GList of #PopplerTextAttributes.
* This list must be freed with poppler_page_free_text_attributes() when done.
*
* Each list element is a #PopplerTextAttributes struct where start_index and
* end_index indicates the range of text (as returned by poppler_page_get_text())
* to which text attributes apply.
*
+ * See also poppler_page_get_text_attributes_for_area()
+ *
* Return value: (element-type PopplerTextAttributes) (transfer full): A #GList of #PopplerTextAttributes
*
* Since: 0.18
@@ -2124,6 +2314,35 @@ word_text_attributes_equal (TextWord *a, gint ai, TextWord *b, gint bi)
GList *
poppler_page_get_text_attributes (PopplerPage *page)
{
+ PopplerRectangle selection = {0, 0, 0, 0};
+
+ g_return_val_if_fail (POPPLER_IS_PAGE (page), NULL);
+
+ poppler_page_get_size (page, &selection.x2, &selection.y2);
+
+ return poppler_page_get_text_attributes_for_area (page, &selection);
+}
+
+/**
+ * poppler_page_get_text_attributes_for_area:
+ * @page: A #PopplerPage
+ * @area: a #PopplerRectangle
+ *
+ * Obtains the attributes of the text in @area as a #GList of #PopplerTextAttributes.
+ * This list must be freed with poppler_page_free_text_attributes() when done.
+ *
+ * Each list element is a #PopplerTextAttributes struct where start_index and
+ * end_index indicates the range of text (as returned by poppler_page_get_text_for_area())
+ * to which text attributes apply.
+ *
+ * Return value: (element-type PopplerTextAttributes) (transfer full): A #GList of #PopplerTextAttributes
+ *
+ * Since: 0.26
+ **/
+GList *
+poppler_page_get_text_attributes_for_area (PopplerPage *page,
+ PopplerRectangle *area)
+{
TextPage *text;
PDFRectangle selection;
GooList **word_list;
@@ -2136,8 +2355,13 @@ poppler_page_get_text_attributes (PopplerPage *page)
GList *attributes = NULL;
g_return_val_if_fail (POPPLER_IS_PAGE (page), NULL);
+ g_return_val_if_fail (area != NULL, FALSE);
+
+ selection.x1 = area->x1;
+ selection.y1 = area->y1;
+ selection.x2 = area->x2;
+ selection.y2 = area->y2;
- poppler_page_get_size (page, &selection.x2, &selection.y2);
text = poppler_page_get_text_page (page);
word_list = text->getSelectionWords (&selection, selectionStyleGlyph, &n_lines);
if (!word_list)
@@ -2148,9 +2372,12 @@ poppler_page_get_text_attributes (PopplerPage *page)
GooList *line_words = word_list[i];
for (j = 0; j < line_words->getLength(); j++)
{
- word = (TextWord *)line_words->get(j);
+ TextWordSelection *word_sel = (TextWordSelection *)line_words->get(j);
+ int end = word_sel->getEnd();
+
+ word = word_sel->getWord();
- for (word_i = 0; word_i < word->getLength (); word_i++)
+ for (word_i = word_sel->getBegin(); word_i < end; word_i++)
{
if (!prev_word || !word_text_attributes_equal (word, word_i, prev_word, prev_word_i))
{
@@ -2169,6 +2396,8 @@ poppler_page_get_text_attributes (PopplerPage *page)
attrs->end_index = offset;
offset++;
}
+
+ delete word_sel;
}
if (i < n_lines - 1)
diff --git a/glib/poppler-page.h b/glib/poppler-page.h
index c081b8cc..63fe362a 100644
--- a/glib/poppler-page.h
+++ b/glib/poppler-page.h
@@ -68,6 +68,8 @@ GList *poppler_page_find_text (PopplerPage *page,
void poppler_page_render_to_ps (PopplerPage *page,
PopplerPSFile *ps_file);
char *poppler_page_get_text (PopplerPage *page);
+char *poppler_page_get_text_for_area (PopplerPage *page,
+ PopplerRectangle *area);
char *poppler_page_get_selected_text (PopplerPage *page,
PopplerSelectionStyle style,
PopplerRectangle *selection);
@@ -99,8 +101,14 @@ void poppler_page_get_crop_box (PopplerPage *page,
gboolean poppler_page_get_text_layout (PopplerPage *page,
PopplerRectangle **rectangles,
guint *n_rectangles);
+gboolean poppler_page_get_text_layout_for_area (PopplerPage *page,
+ PopplerRectangle *area,
+ PopplerRectangle **rectangles,
+ guint *n_rectangles);
GList *poppler_page_get_text_attributes (PopplerPage *page);
void poppler_page_free_text_attributes (GList *list);
+GList * poppler_page_get_text_attributes_for_area (PopplerPage *page,
+ PopplerRectangle *area);
/* A rectangle on a page, with coordinates in PDF points. */
#define POPPLER_TYPE_RECTANGLE (poppler_rectangle_get_type ())
@@ -127,6 +135,59 @@ PopplerRectangle *poppler_rectangle_new (void);
PopplerRectangle *poppler_rectangle_copy (PopplerRectangle *rectangle);
void poppler_rectangle_free (PopplerRectangle *rectangle);
+/* A point on a page, with coordinates in PDF points. */
+#define POPPLER_TYPE_POINT (poppler_point_get_type ())
+/**
+ * PopplerPoint:
+ * @x: x coordinate
+ * @y: y coordinate
+ *
+ * A #PopplerPoint is used to describe a location point on a page
+ */
+struct _PopplerPoint
+{
+ gdouble x;
+ gdouble y;
+};
+
+GType poppler_point_get_type (void) G_GNUC_CONST;
+PopplerPoint *poppler_point_new (void);
+PopplerPoint *poppler_point_copy (PopplerPoint *point);
+void poppler_point_free (PopplerPoint *point);
+
+/* PopplerQuadrilateral */
+
+/* A quadrilateral encompasses a word or group of contiguous words in the
+ * text underlying the annotation. The coordinates for each quadrilateral are
+ * given in the order x1 y1 x2 y2 x3 y3 x4 y4 specifying the quadrilateral’s four
+ * vertices in counterclockwise order */
+
+#define POPPLER_TYPE_QUADRILATERAL (poppler_quadrilateral_get_type ())
+/**
+ * PopplerQuadrilateral:
+ * @p1: a #PopplerPoint with the first vertex coordinates
+ * @p2: a #PopplerPoint with the second vertex coordinates
+ * @p3: a #PopplerPoint with the third vertex coordinates
+ * @p4: a #PopplerPoint with the fourth vertex coordinates
+ *
+ * A #PopplerQuadrilateral is used to describe rectangle-like polygon
+ * with arbitrary inclination on a page.
+ *
+ * Since: 0.26
+ **/
+struct _PopplerQuadrilateral
+{
+ PopplerPoint p1;
+ PopplerPoint p2;
+ PopplerPoint p3;
+ PopplerPoint p4;
+};
+
+GType poppler_quadrilateral_get_type (void) G_GNUC_CONST;
+PopplerQuadrilateral *poppler_quadrilateral_new (void);
+PopplerQuadrilateral *poppler_quadrilateral_copy (PopplerQuadrilateral *quad);
+void poppler_quadrilateral_free (PopplerQuadrilateral *quad);
+
/* A color in RGB */
#define POPPLER_TYPE_COLOR (poppler_color_get_type ())
diff --git a/glib/poppler-private.h b/glib/poppler-private.h
index ab39b491..874cfdba 100644
--- a/glib/poppler-private.h
+++ b/glib/poppler-private.h
@@ -17,6 +17,7 @@
#include <OptionalContent.h>
#include <CairoOutputDev.h>
#include <FileSpec.h>
+#include <StructElement.h>
#endif
struct _PopplerDocument
@@ -95,6 +96,15 @@ struct _PopplerLayer
gchar *title;
};
+
+struct _PopplerStructureElement
+{
+ /*< private >*/
+ GObject parent_instance;
+ PopplerDocument *document;
+ StructElement *elem;
+};
+
GList *_poppler_document_get_layers (PopplerDocument *document);
GList *_poppler_document_get_layer_rbgroup (PopplerDocument *document,
Layer *layer);
@@ -117,9 +127,13 @@ 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);
+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(GooString *s);
gboolean _poppler_convert_pdf_date_to_gtime (GooString *date,
diff --git a/glib/poppler-structure-element.cc b/glib/poppler-structure-element.cc
new file mode 100644
index 00000000..25edece4
--- /dev/null
+++ b/glib/poppler-structure-element.cc
@@ -0,0 +1,2246 @@
+/* poppler-structure.cc: glib interface to poppler
+ *
+ * Copyright (C) 2013 Igalia S.L.
+ *
+ * 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.
+ */
+
+#include "config.h"
+
+#ifndef __GI_SCANNER__
+#include <StructTreeRoot.h>
+#include <StructElement.h>
+#include <GlobalParams.h>
+#include <UnicodeMap.h>
+#include <math.h>
+#endif /* !__GI_SCANNER__ */
+
+#include "poppler.h"
+#include "poppler-private.h"
+#include "poppler-structure-element.h"
+
+
+/**
+ * SECTION:poppler-structure-element
+ * @short_description: Document structure element.
+ * @title: PopplerStructureElement
+ * @see_also: #PopplerStructure
+ *
+ * Instances of #PopplerStructureElement are used to describe the structure
+ * of a #PopplerDocument. To access the elements in the structure of the
+ * document, use poppler_structure_element_iter_new() to obtain an iterator
+ * for the top-level #PopplerStructure, and then use the
+ * #PopplerStructureElementIter methods to traverse the structure tree.
+ */
+
+typedef struct _PopplerStructureElementClass
+{
+ GObjectClass parent_class;
+} PopplerStructureElementClass;
+
+G_DEFINE_TYPE (PopplerStructureElement, poppler_structure_element, G_TYPE_OBJECT);
+
+static PopplerStructureElement *
+_poppler_structure_element_new (PopplerDocument *document, StructElement *element)
+{
+ PopplerStructureElement *poppler_structure_element;
+
+ g_assert (POPPLER_IS_DOCUMENT (document));
+ g_assert (element);
+
+ poppler_structure_element = (PopplerStructureElement *) g_object_new (POPPLER_TYPE_STRUCTURE_ELEMENT, NULL, NULL);
+ poppler_structure_element->document = (PopplerDocument *) g_object_ref (document);
+ poppler_structure_element->elem = element;
+
+ return poppler_structure_element;
+}
+
+
+static void
+poppler_structure_element_init (PopplerStructureElement *poppler_structure_element)
+{
+}
+
+
+static void
+poppler_structure_element_finalize (GObject *object)
+{
+ PopplerStructureElement *poppler_structure_element = POPPLER_STRUCTURE_ELEMENT (object);
+
+ /* poppler_structure_element->elem is owned by the StructTreeRoot */
+ g_object_unref (poppler_structure_element->document);
+
+ G_OBJECT_CLASS (poppler_structure_element_parent_class)->finalize (object);
+}
+
+
+static void
+poppler_structure_element_class_init (PopplerStructureElementClass *klass)
+{
+ GObjectClass *gobject_class = G_OBJECT_CLASS (klass);
+ gobject_class->finalize = poppler_structure_element_finalize;
+}
+
+
+/**
+ * poppler_structure_element_get_kind:
+ * @poppler_structure_element: A #PopplerStructureElement
+ *
+ * Return value: A #PopplerStructureElementKind value.
+ *
+ * Since: 0.26
+ */
+PopplerStructureElementKind
+poppler_structure_element_get_kind (PopplerStructureElement *poppler_structure_element)
+{
+ g_return_val_if_fail (POPPLER_IS_STRUCTURE_ELEMENT (poppler_structure_element), POPPLER_STRUCTURE_ELEMENT_CONTENT);
+ g_return_val_if_fail (poppler_structure_element->elem != NULL, POPPLER_STRUCTURE_ELEMENT_CONTENT);
+
+ switch (poppler_structure_element->elem->getType ())
+ {
+ case StructElement::MCID:
+ return POPPLER_STRUCTURE_ELEMENT_CONTENT;
+ case StructElement::OBJR:
+ return POPPLER_STRUCTURE_ELEMENT_OBJECT_REFERENCE;
+ case StructElement::Document:
+ return POPPLER_STRUCTURE_ELEMENT_DOCUMENT;
+ case StructElement::Part:
+ return POPPLER_STRUCTURE_ELEMENT_PART;
+ case StructElement::Art:
+ return POPPLER_STRUCTURE_ELEMENT_ARTICLE;
+ case StructElement::Sect:
+ return POPPLER_STRUCTURE_ELEMENT_SECTION;
+ case StructElement::Div:
+ return POPPLER_STRUCTURE_ELEMENT_DIV;
+ case StructElement::Span:
+ return POPPLER_STRUCTURE_ELEMENT_SPAN;
+ case StructElement::Quote:
+ return POPPLER_STRUCTURE_ELEMENT_QUOTE;
+ case StructElement::Note:
+ return POPPLER_STRUCTURE_ELEMENT_NOTE;
+ case StructElement::Reference:
+ return POPPLER_STRUCTURE_ELEMENT_REFERENCE;
+ case StructElement::BibEntry:
+ return POPPLER_STRUCTURE_ELEMENT_BIBENTRY;
+ case StructElement::Code:
+ return POPPLER_STRUCTURE_ELEMENT_CODE;
+ case StructElement::Link:
+ return POPPLER_STRUCTURE_ELEMENT_LINK;
+ case StructElement::Annot:
+ return POPPLER_STRUCTURE_ELEMENT_ANNOT;
+ case StructElement::BlockQuote:
+ return POPPLER_STRUCTURE_ELEMENT_BLOCKQUOTE;
+ case StructElement::Caption:
+ return POPPLER_STRUCTURE_ELEMENT_CAPTION;
+ case StructElement::NonStruct:
+ return POPPLER_STRUCTURE_ELEMENT_NONSTRUCT;
+ case StructElement::TOC:
+ return POPPLER_STRUCTURE_ELEMENT_TOC;
+ case StructElement::TOCI:
+ return POPPLER_STRUCTURE_ELEMENT_TOC_ITEM;
+ case StructElement::Index:
+ return POPPLER_STRUCTURE_ELEMENT_INDEX;
+ case StructElement::Private:
+ return POPPLER_STRUCTURE_ELEMENT_PRIVATE;
+ case StructElement::P:
+ return POPPLER_STRUCTURE_ELEMENT_PARAGRAPH;
+ case StructElement::H:
+ return POPPLER_STRUCTURE_ELEMENT_HEADING;
+ case StructElement::H1:
+ return POPPLER_STRUCTURE_ELEMENT_HEADING_1;
+ case StructElement::H2:
+ return POPPLER_STRUCTURE_ELEMENT_HEADING_2;
+ case StructElement::H3:
+ return POPPLER_STRUCTURE_ELEMENT_HEADING_3;
+ case StructElement::H4:
+ return POPPLER_STRUCTURE_ELEMENT_HEADING_4;
+ case StructElement::H5:
+ return POPPLER_STRUCTURE_ELEMENT_HEADING_5;
+ case StructElement::H6:
+ return POPPLER_STRUCTURE_ELEMENT_HEADING_6;
+ case StructElement::L:
+ return POPPLER_STRUCTURE_ELEMENT_LIST;
+ case StructElement::LI:
+ return POPPLER_STRUCTURE_ELEMENT_LIST_ITEM;
+ case StructElement::Lbl:
+ return POPPLER_STRUCTURE_ELEMENT_LIST_LABEL;
+ case StructElement::LBody:
+ return POPPLER_STRUCTURE_ELEMENT_LIST_BODY;
+ case StructElement::Table:
+ return POPPLER_STRUCTURE_ELEMENT_TABLE;
+ case StructElement::TR:
+ return POPPLER_STRUCTURE_ELEMENT_TABLE_ROW;
+ case StructElement::TH:
+ return POPPLER_STRUCTURE_ELEMENT_TABLE_HEADING;
+ case StructElement::TD:
+ return POPPLER_STRUCTURE_ELEMENT_TABLE_DATA;
+ case StructElement::THead:
+ return POPPLER_STRUCTURE_ELEMENT_TABLE_HEADER;
+ case StructElement::TFoot:
+ return POPPLER_STRUCTURE_ELEMENT_TABLE_FOOTER;
+ case StructElement::TBody:
+ return POPPLER_STRUCTURE_ELEMENT_TABLE_BODY;
+ case StructElement::Ruby:
+ return POPPLER_STRUCTURE_ELEMENT_RUBY;
+ case StructElement::RB:
+ return POPPLER_STRUCTURE_ELEMENT_RUBY_BASE_TEXT;
+ case StructElement::RT:
+ return POPPLER_STRUCTURE_ELEMENT_RUBY_ANNOT_TEXT;
+ case StructElement::RP:
+ return POPPLER_STRUCTURE_ELEMENT_RUBY_PUNCTUATION;
+ case StructElement::Warichu:
+ return POPPLER_STRUCTURE_ELEMENT_WARICHU;
+ case StructElement::WT:
+ return POPPLER_STRUCTURE_ELEMENT_WARICHU_TEXT;
+ case StructElement::WP:
+ return POPPLER_STRUCTURE_ELEMENT_WARICHU_PUNCTUATION;
+ case StructElement::Figure:
+ return POPPLER_STRUCTURE_ELEMENT_FIGURE;
+ case StructElement::Formula:
+ return POPPLER_STRUCTURE_ELEMENT_FORMULA;
+ case StructElement::Form:
+ return POPPLER_STRUCTURE_ELEMENT_FORM;
+
+ /* There should never be elements of type StructElement::Unknown */
+ case StructElement::Unknown:
+ g_assert_not_reached ();
+ }
+
+ g_assert_not_reached ();
+ return POPPLER_STRUCTURE_ELEMENT_CONTENT;
+}
+
+
+template <typename EnumType>
+struct EnumNameValue {
+ const gchar *name;
+ EnumType value;
+
+ static const EnumNameValue<EnumType> values[];
+ static const Attribute::Type attribute_type;
+};
+
+#define ENUM_VALUES(E, A) \
+ template<> const Attribute::Type EnumNameValue<E>::attribute_type = Attribute::A; \
+ template<> const EnumNameValue<E> EnumNameValue<E>::values[] =
+
+ENUM_VALUES (PopplerStructurePlacement, Placement)
+{
+ { "Block", POPPLER_STRUCTURE_PLACEMENT_BLOCK },
+ { "Inline", POPPLER_STRUCTURE_PLACEMENT_INLINE },
+ { "Before", POPPLER_STRUCTURE_PLACEMENT_BEFORE },
+ { "Start", POPPLER_STRUCTURE_PLACEMENT_START },
+ { "End", POPPLER_STRUCTURE_PLACEMENT_END },
+ { NULL }
+};
+
+ENUM_VALUES (PopplerStructureWritingMode, WritingMode)
+{
+ { "LrTb", POPPLER_STRUCTURE_WRITING_MODE_LR_TB },
+ { "RlTb", POPPLER_STRUCTURE_WRITING_MODE_RL_TB },
+ { "TbRl", POPPLER_STRUCTURE_WRITING_MODE_TB_RL },
+ { NULL }
+};
+
+ENUM_VALUES (PopplerStructureBorderStyle, BorderStyle)
+{
+ { "None", POPPLER_STRUCTURE_BORDER_STYLE_NONE },
+ { "Hidden", POPPLER_STRUCTURE_BORDER_STYLE_HIDDEN },
+ { "Dotted", POPPLER_STRUCTURE_BORDER_STYLE_DOTTED },
+ { "Dashed", POPPLER_STRUCTURE_BORDER_STYLE_DASHED },
+ { "Solid", POPPLER_STRUCTURE_BORDER_STYLE_SOLID },
+ { "Double", POPPLER_STRUCTURE_BORDER_STYLE_DOUBLE },
+ { "Groove", POPPLER_STRUCTURE_BORDER_STYLE_GROOVE },
+ { "Inset", POPPLER_STRUCTURE_BORDER_STYLE_INSET },
+ { "Outset", POPPLER_STRUCTURE_BORDER_STYLE_OUTSET },
+ { NULL }
+};
+
+ENUM_VALUES (PopplerStructureTextAlign, TextAlign)
+{
+ { "Start", POPPLER_STRUCTURE_TEXT_ALIGN_START },
+ { "Center", POPPLER_STRUCTURE_TEXT_ALIGN_CENTER },
+ { "End", POPPLER_STRUCTURE_TEXT_ALIGN_END },
+ { "Justify", POPPLER_STRUCTURE_TEXT_ALIGN_JUSTIFY },
+ { NULL }
+};
+
+ENUM_VALUES (PopplerStructureBlockAlign, BlockAlign)
+{
+ { "Before", POPPLER_STRUCTURE_BLOCK_ALIGN_BEFORE },
+ { "Middle", POPPLER_STRUCTURE_BLOCK_ALIGN_MIDDLE },
+ { "After", POPPLER_STRUCTURE_BLOCK_ALIGN_AFTER },
+ { "Justify", POPPLER_STRUCTURE_BLOCK_ALIGN_JUSTIFY },
+ { NULL }
+};
+
+ENUM_VALUES (PopplerStructureInlineAlign, InlineAlign)
+{
+ { "Start", POPPLER_STRUCTURE_INLINE_ALIGN_START },
+ { "Center", POPPLER_STRUCTURE_INLINE_ALIGN_CENTER },
+ { "End", POPPLER_STRUCTURE_INLINE_ALIGN_END },
+ { NULL }
+};
+
+ENUM_VALUES (PopplerStructureTextDecoration, TextDecorationType)
+{
+ { "None", POPPLER_STRUCTURE_TEXT_DECORATION_NONE },
+ { "Underline", POPPLER_STRUCTURE_TEXT_DECORATION_UNDERLINE },
+ { "Overline", POPPLER_STRUCTURE_TEXT_DECORATION_OVERLINE },
+ { "LineThrough", POPPLER_STRUCTURE_TEXT_DECORATION_LINETHROUGH },
+ { NULL }
+};
+
+ENUM_VALUES (PopplerStructureRubyAlign, RubyAlign)
+{
+ { "Start", POPPLER_STRUCTURE_RUBY_ALIGN_START },
+ { "Center", POPPLER_STRUCTURE_RUBY_ALIGN_CENTER },
+ { "End", POPPLER_STRUCTURE_RUBY_ALIGN_END },
+ { "Justify", POPPLER_STRUCTURE_RUBY_ALIGN_JUSTIFY },
+ { "Distribute", POPPLER_STRUCTURE_RUBY_ALIGN_DISTRIBUTE },
+ { NULL }
+};
+
+ENUM_VALUES (PopplerStructureRubyPosition, RubyPosition)
+{
+ { "Before", POPPLER_STRUCTURE_RUBY_POSITION_BEFORE },
+ { "After", POPPLER_STRUCTURE_RUBY_POSITION_AFTER },
+ { "Warichu", POPPLER_STRUCTURE_RUBY_POSITION_WARICHU },
+ { "Inline", POPPLER_STRUCTURE_RUBY_POSITION_INLINE },
+ { NULL }
+};
+
+ENUM_VALUES (PopplerStructureGlyphOrientation, GlyphOrientationVertical)
+{
+ { "Auto", POPPLER_STRUCTURE_GLYPH_ORIENTATION_AUTO },
+ { "90", POPPLER_STRUCTURE_GLYPH_ORIENTATION_90 },
+ { "180", POPPLER_STRUCTURE_GLYPH_ORIENTATION_180 },
+ { "270", POPPLER_STRUCTURE_GLYPH_ORIENTATION_270 },
+ { "360", POPPLER_STRUCTURE_GLYPH_ORIENTATION_0 },
+ { "-90", POPPLER_STRUCTURE_GLYPH_ORIENTATION_270 },
+ { "-180", POPPLER_STRUCTURE_GLYPH_ORIENTATION_180 },
+ { NULL }
+};
+
+ENUM_VALUES (PopplerStructureListNumbering, ListNumbering)
+{
+ { "None", POPPLER_STRUCTURE_LIST_NUMBERING_NONE },
+ { "Disc", POPPLER_STRUCTURE_LIST_NUMBERING_DISC },
+ { "Circle", POPPLER_STRUCTURE_LIST_NUMBERING_CIRCLE },
+ { "Square", POPPLER_STRUCTURE_LIST_NUMBERING_SQUARE },
+ { "Decimal", POPPLER_STRUCTURE_LIST_NUMBERING_DECIMAL },
+ { "UpperRoman", POPPLER_STRUCTURE_LIST_NUMBERING_UPPER_ROMAN },
+ { "LowerRoman", POPPLER_STRUCTURE_LIST_NUMBERING_LOWER_ROMAN },
+ { "UpperAlpha", POPPLER_STRUCTURE_LIST_NUMBERING_UPPER_ALPHA },
+ { "LowerAlpha", POPPLER_STRUCTURE_LIST_NUMBERING_LOWER_ALPHA },
+ { NULL }
+};
+
+ENUM_VALUES (PopplerStructureFormRole, Role)
+{
+ { "rb", POPPLER_STRUCTURE_FORM_ROLE_RADIO_BUTTON },
+ { "cb", POPPLER_STRUCTURE_FORM_ROLE_CHECKBOX },
+ { "pb", POPPLER_STRUCTURE_FORM_ROLE_PUSH_BUTTON },
+ { "tv", POPPLER_STRUCTURE_FORM_ROLE_TEXT_VALUE },
+ { NULL }
+};
+
+ENUM_VALUES (PopplerStructureFormState, checked)
+{
+ { "on", POPPLER_STRUCTURE_FORM_STATE_ON },
+ { "off", POPPLER_STRUCTURE_FORM_STATE_OFF },
+ { "neutral", POPPLER_STRUCTURE_FORM_STATE_NEUTRAL },
+ { NULL }
+};
+
+ENUM_VALUES (PopplerStructureTableScope, Scope)
+{
+ { "Row", POPPLER_STRUCTURE_TABLE_SCOPE_ROW },
+ { "Column", POPPLER_STRUCTURE_TABLE_SCOPE_COLUMN },
+ { "Both", POPPLER_STRUCTURE_TABLE_SCOPE_BOTH },
+ { NULL }
+};
+
+#undef ENUM_VALUES
+
+
+template <typename EnumType>
+static EnumType
+name_to_enum (Object *name_value)
+{
+ /*
+ * Non-NULL names must always be valid because Poppler
+ * discards the invalid attributes when parsing them.
+ */
+ g_assert (name_value != NULL);
+
+ for (const EnumNameValue<EnumType> *item = EnumNameValue<EnumType>::values ; item->name; item++)
+ if (name_value->isName (item->name))
+ return item->value;
+
+ g_assert_not_reached ();
+ return static_cast<EnumType> (-1);
+}
+
+
+template <typename EnumType>
+static EnumType
+attr_to_enum (PopplerStructureElement *poppler_structure_element)
+{
+ const Attribute *attr =
+ poppler_structure_element->elem->findAttribute (EnumNameValue<EnumType>::attribute_type, gTrue);
+ return name_to_enum<EnumType> ((attr != NULL)
+ ? attr->getValue ()
+ : Attribute::getDefaultValue (EnumNameValue<EnumType>::attribute_type));
+}
+
+
+static inline Object *
+attr_value_or_default (PopplerStructureElement *poppler_structure_element,
+ Attribute::Type attribute_type)
+{
+ const Attribute *attr =
+ poppler_structure_element->elem->findAttribute (attribute_type, gTrue);
+ return attr ? attr->getValue () : Attribute::getDefaultValue (attribute_type);
+}
+
+
+/**
+ * poppler_structure_element_get_page:
+ * @poppler_structure_element: A #PopplerStructureElement
+ *
+ * Obtains the page number in which the element is contained.
+ *
+ * Return value: Number of the page that contains the element, of
+ * <code>-1</code> if not defined.
+ *
+ * Since: 0.26
+ */
+gint
+poppler_structure_element_get_page (PopplerStructureElement *poppler_structure_element)
+{
+ g_return_val_if_fail (POPPLER_IS_STRUCTURE_ELEMENT (poppler_structure_element), -1);
+ g_return_val_if_fail (poppler_structure_element->elem != NULL, -1);
+
+ Ref ref;
+ if (poppler_structure_element->elem->getPageRef (ref))
+ {
+ return poppler_structure_element->document->doc->findPage(ref.num, ref.gen) - 1;
+ }
+
+ return -1;
+}
+
+/**
+ * poppler_structure_element_is_content:
+ * @poppler_structure_element: A #PopplerStructureElement
+ *
+ * Checks whether an element is actual document content.
+ *
+ * Return value: %TRUE if the element is content, or %FALSE otherwise.
+ *
+ * Since: 0.26
+ */
+gboolean
+poppler_structure_element_is_content (PopplerStructureElement *poppler_structure_element)
+{
+ g_return_val_if_fail (POPPLER_IS_STRUCTURE_ELEMENT (poppler_structure_element), FALSE);
+ g_return_val_if_fail (poppler_structure_element->elem != NULL, FALSE);
+
+ return poppler_structure_element->elem->isContent ();
+}
+
+/**
+ * poppler_structure_element_is_inline:
+ * @poppler_structure_element: A #PopplerStructureElement
+ *
+ * Checks whether an element is an inline element.
+ *
+ * Return value: %TRUE if the element is an inline element, or %FALSE otherwise.
+ *
+ * Since: 0.26
+ */
+gboolean
+poppler_structure_element_is_inline (PopplerStructureElement *poppler_structure_element)
+{
+ g_return_val_if_fail (POPPLER_IS_STRUCTURE_ELEMENT (poppler_structure_element), FALSE);
+ g_return_val_if_fail (poppler_structure_element->elem != NULL, FALSE);
+
+ return poppler_structure_element->elem->isInline ();
+}
+
+/**
+ * poppler_structure_element_is_block:
+ * @poppler_structure_element: A #PopplerStructureElement
+ *
+ * Checks whether an element is a block element.
+ *
+ * Return value: %TRUE if the element is a block element, or %FALSE otherwise.
+ *
+ * Since: 0.26
+ */
+gboolean
+poppler_structure_element_is_block (PopplerStructureElement *poppler_structure_element)
+{
+ g_return_val_if_fail (POPPLER_IS_STRUCTURE_ELEMENT (poppler_structure_element), FALSE);
+ g_return_val_if_fail (poppler_structure_element->elem != NULL, FALSE);
+
+ return poppler_structure_element->elem->isBlock ();
+}
+
+/**
+ * poppler_structure_element_is_grouping:
+ * @poppler_structure_element: A #PopplerStructureElement
+ *
+ * Checks whether an element is a grouping element.
+ *
+ * Return value: %TRUE if the element is a grouping element, %FALSE
+ * otherwise.
+ *
+ * Since: 0.26
+ */
+gboolean
+poppler_structure_element_is_grouping (PopplerStructureElement *poppler_structure_element)
+{
+ g_return_val_if_fail (POPPLER_IS_STRUCTURE_ELEMENT (poppler_structure_element), FALSE);
+ g_return_val_if_fail (poppler_structure_element->elem != NULL, FALSE);
+
+ return poppler_structure_element->elem->isGrouping ();
+}
+
+/**
+ * poppler_structure_element_get_id:
+ * @poppler_structure_element: A #PopplerStructureElement
+ *
+ * Obtains the identifier of an element.
+ *
+ * Return value: (transfer full): The identifier of the element (if
+ * defined), or %NULL.
+ *
+ * Since: 0.26
+ */
+gchar *
+poppler_structure_element_get_id (PopplerStructureElement *poppler_structure_element)
+{
+ g_return_val_if_fail (POPPLER_IS_STRUCTURE_ELEMENT (poppler_structure_element), NULL);
+ g_return_val_if_fail (poppler_structure_element->elem != NULL, NULL);
+
+ GooString *string = poppler_structure_element->elem->getID ();
+ return string ? _poppler_goo_string_to_utf8 (string) : NULL;
+}
+
+/**
+ * poppler_structure_element_get_title:
+ * @poppler_structure_element: A #PopplerStructureElement
+ *
+ * Obtains the title of an element.
+ *
+ * Return value: (transfer full): The title of the element, or %NULL.
+ *
+ * Since: 0.26
+ */
+gchar *
+poppler_structure_element_get_title (PopplerStructureElement *poppler_structure_element)
+{
+ g_return_val_if_fail (POPPLER_IS_STRUCTURE_ELEMENT (poppler_structure_element), NULL);
+ g_return_val_if_fail (poppler_structure_element->elem != NULL, NULL);
+
+ GooString *string = poppler_structure_element->elem->getTitle ();
+ return string ? _poppler_goo_string_to_utf8 (string) : NULL;
+}
+
+/**
+ * popppler_structure_element_get_abbreviation:
+ * @poppler_structure_element: A #PopplerStructureElement
+ *
+ * Acronyms and abbreviations contained in elements of type
+ * #POPPLER_STRUCTURE_ELEMENT_SPAN may have an associated expanded
+ * text form, which can be retrieved using this function.
+ *
+ * Return value: (transfer full): Text of the expanded abbreviation if the
+ * element text is an abbreviation or acrony, %NULL if not.
+ *
+ * Since: 0.26
+ */
+gchar *
+poppler_structure_element_get_abbreviation (PopplerStructureElement *poppler_structure_element)
+{
+ g_return_val_if_fail (POPPLER_IS_STRUCTURE_ELEMENT (poppler_structure_element), NULL);
+ g_return_val_if_fail (poppler_structure_element->elem != NULL, NULL);
+
+ if (poppler_structure_element->elem->getType () != StructElement::Span)
+ return NULL;
+
+ GooString *string = poppler_structure_element->elem->getExpandedAbbr ();
+ return string ? _poppler_goo_string_to_utf8 (string) : NULL;
+}
+
+/**
+ * poppler_structure_element_get_language:
+ * @poppler_structure_element: A #PopplerStructureElement
+ *
+ * Obtains the language and country code for the content in an element,
+ * in two-letter ISO format, e.g. <code>en_ES</code>, or %NULL if not
+ * defined.
+ *
+ * Return value: (transfer full): language and country code, or %NULL.
+ *
+ * Since: 0.26
+ */
+gchar *
+poppler_structure_element_get_language (PopplerStructureElement *poppler_structure_element)
+{
+ g_return_val_if_fail (POPPLER_IS_STRUCTURE_ELEMENT (poppler_structure_element), NULL);
+ g_return_val_if_fail (poppler_structure_element->elem != NULL, NULL);
+
+ GooString *string = poppler_structure_element->elem->getLanguage ();
+ return string ? _poppler_goo_string_to_utf8 (string) : NULL;
+}
+
+/**
+ * poppler_structure_element_get_alt_text:
+ * @poppler_structure_element: A #PopplerStructureElement
+ *
+ * Obtains the “alternate†text representation of the element (and its child
+ * elements). This is mostly used for non-text elements like images and
+ * figures, to specify a textual description of the element.
+ *
+ * Note that for elements containing proper text, the function
+ * poppler_structure_element_get_text() must be used instead.
+ *
+ * Return value: (transfer full): The alternate text representation for the
+ * element, or %NULL if not defined.
+ *
+ * Since: 0.26
+ */
+gchar *
+poppler_structure_element_get_alt_text (PopplerStructureElement *poppler_structure_element)
+{
+ g_return_val_if_fail (POPPLER_IS_STRUCTURE_ELEMENT (poppler_structure_element), NULL);
+ g_return_val_if_fail (poppler_structure_element->elem != NULL, NULL);
+
+ GooString *string = poppler_structure_element->elem->getAltText ();
+ return string ? _poppler_goo_string_to_utf8 (string) : NULL;
+}
+
+/**
+ * poppler_structure_element_get_actual_text:
+ * @poppler_structure_element: A #PopplerStructureElement
+ *
+ * Obtains the actual text enclosed by the element (and its child elements).
+ * The actual text is mostly used for non-text elements like images and
+ * figures which <em>do</em> have the graphical appearance of text, like
+ * a logo. For those the actual text is the equivalent text to those
+ * graphical elements which look like text when rendered.
+ *
+ * Note that for elements containing proper text, the function
+ * poppler_structure_element_get_text() must be used instead.
+ *
+ * Return value: (transfer full): The actual text for the element, or %NULL
+ * if not defined.
+ *
+ * Since: 0.26
+ */
+gchar *
+poppler_structure_element_get_actual_text (PopplerStructureElement *poppler_structure_element)
+{
+ g_return_val_if_fail (POPPLER_IS_STRUCTURE_ELEMENT (poppler_structure_element), NULL);
+ g_return_val_if_fail (poppler_structure_element->elem != NULL, NULL);
+
+ GooString *string = poppler_structure_element->elem->getActualText ();
+ return string ? _poppler_goo_string_to_utf8 (string) : NULL;
+}
+
+/**
+ * poppler_structure_element_get_text:
+ * @poppler_structure_element: A #PopplerStructureElement
+ * @flags: A #PopplerStructureGetTextFlags value, or
+ * %POPPLER_STRUCTURE_GET_TEXT_NONE to disable all the flags.
+ *
+ * Obtains the text enclosed by an element, or the text enclosed by the
+ * elements in the subtree (including the element itself).
+ *
+ * Return value: (transfer full): A string.
+ *
+ * Since: 0.26
+ */
+gchar *
+poppler_structure_element_get_text (PopplerStructureElement *poppler_structure_element,
+ PopplerStructureGetTextFlags flags)
+{
+ g_return_val_if_fail (POPPLER_IS_STRUCTURE_ELEMENT (poppler_structure_element), NULL);
+ g_return_val_if_fail (poppler_structure_element->elem != NULL, NULL);
+
+
+ GooString *string =
+ poppler_structure_element->elem->getText (flags & POPPLER_STRUCTURE_GET_TEXT_RECURSIVE);
+ gchar *result = string ? _poppler_goo_string_to_utf8 (string) : NULL;
+ delete string;
+ return result;
+}
+
+struct _PopplerStructureElementIter
+{
+ PopplerDocument *document;
+ union {
+ StructElement *elem;
+ StructTreeRoot *root;
+ };
+ gboolean is_root;
+ unsigned index;
+};
+
+POPPLER_DEFINE_BOXED_TYPE (PopplerStructureElementIter,
+ poppler_structure_element_iter,
+ poppler_structure_element_iter_copy,
+ poppler_structure_element_iter_free)
+
+/**
+ * poppler_structure_element_iter_copy:
+ * @iter: a #PopplerStructureElementIter
+ *
+ * Creates a new #PopplerStructureElementIter as a copy of @iter. The
+ * returned value must be freed with poppler_structure_element_iter_free().
+ *
+ * Return value: (transfer full): a new #PopplerStructureElementIter
+ *
+ * Since: 0.26
+ */
+PopplerStructureElementIter *
+poppler_structure_element_iter_copy (PopplerStructureElementIter *iter)
+{
+ PopplerStructureElementIter *new_iter;
+
+ g_return_val_if_fail (iter != NULL, NULL);
+
+ new_iter = g_slice_dup (PopplerStructureElementIter, iter);
+ new_iter->document = (PopplerDocument *) g_object_ref (new_iter->document);
+
+ return new_iter;
+}
+
+/**
+ * poppler_structure_element_iter_free:
+ * @iter: a #PopplerStructureElementIter
+ *
+ * Frees @iter.
+ *
+ * Since: 0.26
+ */
+void
+poppler_structure_element_iter_free (PopplerStructureElementIter *iter)
+{
+ if (G_UNLIKELY (iter == NULL))
+ return;
+
+ g_object_unref (iter->document);
+ g_slice_free (PopplerStructureElementIter, iter);
+}
+
+/**
+ * poppler_structure_element_iter_new:
+ * @poppler_document: a #PopplerDocument.
+ *
+ * Returns the root #PopplerStructureElementIter for @document, or %NULL. The
+ * returned value must be freed with poppler_structure_element_iter_free().
+ *
+ * Documents may have an associated structure tree &mdashmostly, Tagged-PDF
+ * compliant documents&mdash; which can be used to obtain information about
+ * the document structure and its contents. Each node in the tree contains
+ * a #PopplerStructureElement.
+ *
+ * Here is a simple example that walks the whole tree:
+ *
+ * <informalexample><programlisting>
+ * static void
+ * walk_structure (PopplerStructureElementIter *iter)
+ * {
+ * do {
+ * /<!-- -->* Get the element and do something with it *<!-- -->/
+ * PopplerStructureElementIter *child = poppler_structure_element_iter_get_child (iter);
+ * if (child)
+ * walk_structure (child);
+ * poppler_structure_element_iter_free (child);
+ * } while (poppler_structure_element_iter_next (iter));
+ * }
+ * ...
+ * {
+ * iter = poppler_structure_element_iter_new (document);
+ * walk_structure (iter);
+ * poppler_structure_element_iter_free (iter);
+ * }
+ * </programlisting></informalexample>
+ *
+ * Return value: (transfer full): a new #PopplerStructureElementIter, or %NULL if document
+ * doesn't have structure tree.
+ *
+ * Since: 0.26
+ */
+PopplerStructureElementIter *
+poppler_structure_element_iter_new (PopplerDocument *poppler_document)
+{
+ PopplerStructureElementIter *iter;
+ StructTreeRoot *root;
+
+ g_return_val_if_fail (POPPLER_IS_DOCUMENT (poppler_document), NULL);
+
+ root = poppler_document->doc->getStructTreeRoot ();
+ if (root == NULL)
+ return NULL;
+
+ if (root->getNumChildren () == 0)
+ return NULL;
+
+ iter = g_slice_new0 (PopplerStructureElementIter);
+ iter->document = (PopplerDocument *) g_object_ref (poppler_document);
+ iter->is_root = TRUE;
+ iter->root = root;
+
+ return iter;
+}
+
+/**
+ * poppler_structure_element_iter_next:
+ * @iter: a #PopplerStructureElementIter
+ *
+ * Sets @iter to point to the next structure element at the current level
+ * of the tree, if valid. See poppler_structure_element_iter_new() for more
+ * information.
+ *
+ * Return value: %TRUE, if @iter was set to the next structure element
+ *
+ * Since: 0.26
+ */
+gboolean
+poppler_structure_element_iter_next (PopplerStructureElementIter *iter)
+{
+ unsigned elements;
+
+ g_return_val_if_fail (iter != NULL, FALSE);
+
+ elements = iter->is_root
+ ? iter->root->getNumChildren ()
+ : iter->elem->getNumChildren ();
+
+ return ++iter->index < elements;
+}
+
+/**
+ * poppler_structure_element_iter_get_element:
+ * @iter: a #PopplerStructureElementIter
+ *
+ * Returns the #PopplerStructureElementIter associated with @iter.
+ *
+ * Return value: (transfer full): a new #PopplerStructureElementIter
+ *
+ * Since: 0.26
+ */
+PopplerStructureElement *
+poppler_structure_element_iter_get_element (PopplerStructureElementIter *iter)
+{
+ StructElement *elem;
+
+ g_return_val_if_fail (iter != NULL, NULL);
+
+ elem = iter->is_root
+ ? iter->root->getChild (iter->index)
+ : iter->elem->getChild (iter->index);
+
+ return _poppler_structure_element_new (iter->document, elem);
+}
+
+/**
+ * poppler_structure_element_iter_get_child:
+ * @parent: a #PopplerStructureElementIter
+ *
+ * Returns a new iterator to the children elements of the
+ * #PopplerStructureElement associated with @iter. The returned value must
+ * be freed with poppler_structure_element_iter_free().
+ *
+ * Return value: a new #PopplerStructureElementIter
+ *
+ * Since: 0.26
+ */
+PopplerStructureElementIter *
+poppler_structure_element_iter_get_child (PopplerStructureElementIter *parent)
+{
+ StructElement *elem;
+
+ g_return_val_if_fail (parent != NULL, NULL);
+
+ elem = parent->is_root
+ ? parent->root->getChild (parent->index)
+ : parent->elem->getChild (parent->index);
+
+ if (elem->getNumChildren () > 0)
+ {
+ PopplerStructureElementIter *child = g_slice_new0 (PopplerStructureElementIter);
+ child->document = (PopplerDocument *) g_object_ref (parent->document);
+ child->elem = elem;
+ return child;
+ }
+
+ return NULL;
+}
+
+
+struct _PopplerTextSpan {
+ gchar *text;
+ gchar *font_name;
+ guint flags;
+ PopplerColor color;
+};
+
+POPPLER_DEFINE_BOXED_TYPE (PopplerTextSpan,
+ poppler_text_span,
+ poppler_text_span_copy,
+ poppler_text_span_free)
+
+enum {
+ POPPLER_TEXT_SPAN_FIXED_WIDTH = (1 << 0),
+ POPPLER_TEXT_SPAN_SERIF = (1 << 1),
+ POPPLER_TEXT_SPAN_ITALIC = (1 << 2),
+ POPPLER_TEXT_SPAN_BOLD = (1 << 3),
+};
+
+static PopplerTextSpan *
+text_span_poppler_text_span (const TextSpan& span)
+{
+ PopplerTextSpan *new_span = g_slice_new0 (PopplerTextSpan);
+ if (GooString *text = span.getText ())
+ new_span->text = _poppler_goo_string_to_utf8 (text);
+
+ new_span->color.red = colToDbl (span.getColor ().r) * 65535;
+ new_span->color.green = colToDbl (span.getColor ().g) * 65535;
+ new_span->color.blue = colToDbl (span.getColor ().b) * 65535;
+
+ if (span.getFont ())
+ {
+ // GfxFont sometimes does not have a family name but there
+ // is always a font name that can be used as fallback.
+ GooString *font_name = span.getFont ()->getFamily ();
+ if (font_name == NULL)
+ font_name = span.getFont ()->getName ();
+
+ new_span->font_name = _poppler_goo_string_to_utf8 (font_name);
+ if (span.getFont ()->isFixedWidth ())
+ new_span->flags |= POPPLER_TEXT_SPAN_FIXED_WIDTH;
+ if (span.getFont ()->isSerif ())
+ new_span->flags |= POPPLER_TEXT_SPAN_SERIF;
+ if (span.getFont ()->isItalic ())
+ new_span->flags |= POPPLER_TEXT_SPAN_ITALIC;
+ if (span.getFont ()->isBold ())
+ new_span->flags |= POPPLER_TEXT_SPAN_BOLD;
+
+ /* isBold() can return false for some fonts whose weight is heavy */
+ switch (span.getFont ()->getWeight ())
+ {
+ case GfxFont::W500:
+ case GfxFont::W600:
+ case GfxFont::W700:
+ case GfxFont::W800:
+ case GfxFont::W900:
+ new_span->flags |= POPPLER_TEXT_SPAN_BOLD;
+ default:
+ break;
+ }
+ }
+
+ return new_span;
+}
+
+/**
+ * poppler_text_span_copy:
+ * @poppler_text_span: a #PopplerTextSpan
+ *
+ * Makes a copy of a text span.
+ *
+ * Return value: (transfer full): A new #PopplerTextSpan
+ *
+ * Since: 0.26
+ */
+PopplerTextSpan *
+poppler_text_span_copy (PopplerTextSpan *poppler_text_span)
+{
+ PopplerTextSpan *new_span;
+
+ g_return_val_if_fail (poppler_text_span != NULL, NULL);
+
+ new_span = g_slice_dup (PopplerTextSpan, poppler_text_span);
+ new_span->text = g_strdup (poppler_text_span->text);
+ if (poppler_text_span->font_name)
+ new_span->font_name = g_strdup (poppler_text_span->font_name);
+ return new_span;
+}
+
+/**
+ * poppler_text_span_free:
+ * @poppler_text_span: A #PopplerTextSpan
+ *
+ * Frees a text span.
+ *
+ * Since: 0.26
+ */
+void
+poppler_text_span_free (PopplerTextSpan *poppler_text_span)
+{
+ if (G_UNLIKELY (poppler_text_span == NULL))
+ return;
+
+ g_free (poppler_text_span->text);
+ g_free (poppler_text_span->font_name);
+ g_slice_free (PopplerTextSpan, poppler_text_span);
+}
+
+/**
+ * poppler_text_span_is_fixed_width_font:
+ * @poppler_text_span: a #PopplerTextSpan
+ *
+ * Check wether a text span is meant to be rendered using a fixed-width font.
+ *
+ * Return value: Whether the span uses a fixed-width font.
+ *
+ * Since: 0.26
+ */
+gboolean
+poppler_text_span_is_fixed_width_font (PopplerTextSpan *poppler_text_span)
+{
+ g_return_val_if_fail (poppler_text_span != NULL, FALSE);
+
+ return (poppler_text_span->flags & POPPLER_TEXT_SPAN_FIXED_WIDTH);
+}
+
+/**
+ * poppler_text_span_is_serif_font:
+ * @poppler_text_span: a #PopplerTextSpan
+ *
+ * Check whether a text span is meant to be rendered using a serif font.
+ *
+ * Return value: Whether the span uses a serif font.
+ *
+ * Since: 0.26
+ */
+gboolean
+poppler_text_span_is_serif_font (PopplerTextSpan *poppler_text_span)
+{
+ g_return_val_if_fail (poppler_text_span != NULL, FALSE);
+
+ return (poppler_text_span->flags & POPPLER_TEXT_SPAN_SERIF);
+}
+
+/**
+ * poppler_text_span_is_bold_font:
+ * @poppler_text_span: a #PopplerTextSpan
+ *
+ * Check whether a text span is meant to be rendered using a bold font.
+ *
+ * Return value: Whether the span uses bold font.
+ *
+ * Since: 0.26
+ */
+gboolean
+poppler_text_span_is_bold_font (PopplerTextSpan *poppler_text_span)
+{
+ g_return_val_if_fail (poppler_text_span != NULL, FALSE);
+
+ return (poppler_text_span->flags & POPPLER_TEXT_SPAN_BOLD);
+}
+
+/**
+ * poppler_text_span_get_color:
+ * @poppler_text_span: a #PopplerTextSpan
+ * @color: (out): a return location for a #PopplerColor
+ *
+ * Obtains the color in which the text is to be rendered.
+ *
+ * Since: 0.26
+ */
+void
+poppler_text_span_get_color (PopplerTextSpan *poppler_text_span,
+ PopplerColor *color)
+{
+ g_return_if_fail (poppler_text_span != NULL);
+ g_return_if_fail (color != NULL);
+
+ *color = poppler_text_span->color;
+}
+
+/**
+ * poppler_text_span_get_text:
+ * @poppler_text_span: a #PopplerTextSpan
+ *
+ * Obtains the text contained in the span.
+ *
+ * Return value: (transfer none): A string.
+ *
+ * Since: 0.26
+ */
+const gchar *
+poppler_text_span_get_text (PopplerTextSpan *poppler_text_span)
+{
+ g_return_val_if_fail (poppler_text_span != NULL, NULL);
+
+ return poppler_text_span->text;
+}
+
+/**
+ * poppler_text_span_get_font_name:
+ * @poppler_text_span: a #PopplerTextSpan
+ *
+ * Obtains the name of the font in which the span is to be rendered.
+ *
+ * Return value: (transfer none): A string containing the font name, or
+ * %NULL if a font is not defined.
+ *
+ * Since: 0.26
+ */
+const gchar *
+poppler_text_span_get_font_name (PopplerTextSpan *poppler_text_span)
+{
+ g_return_val_if_fail (poppler_text_span != NULL, NULL);
+
+ return poppler_text_span->font_name;
+}
+
+/**
+ * poppler_structure_element_get_text_spans:
+ * @poppler_structure_element: A #PopplerStructureElement
+ * @n_text_spans: (out): A pointer to the location where the number of elements in
+ * the returned array will be stored.
+ *
+ * Obtains the text enclosed by an element, as an array of #PopplerTextSpan
+ * structures. Each item in the list is a piece of text which share the same
+ * attributes, plus its attributes. The following example shows how to
+ * obtain and free the text spans of an element:
+ *
+ * <informalexample><programlisting>
+ * guint i, n_spans;
+ * PopplerTextSpan **text_spans =
+ * poppler_structure_element_get_text_spans (element, &n_spans);
+ * /<!-- -->* Use the text spans *<!-- -->/
+ * for (i = 0; i < n_spans; i++)
+ * poppler_text_span_free (text_spans[i]);
+ * g_free (text_spans);
+ * </programlisting></informalexample>
+ *
+ * Return value: (transfer full) (array length=n_text_spans) (element-type PopplerTextSpan):
+ * An array of #PopplerTextSpan elments.
+ *
+ * Since: 0.26
+ */
+PopplerTextSpan **
+poppler_structure_element_get_text_spans (PopplerStructureElement *poppler_structure_element,
+ guint *n_text_spans)
+{
+ g_return_val_if_fail (POPPLER_IS_STRUCTURE_ELEMENT (poppler_structure_element), NULL);
+ g_return_val_if_fail (n_text_spans != NULL, NULL);
+ g_return_val_if_fail (poppler_structure_element->elem != NULL, NULL);
+
+ if (!poppler_structure_element->elem->isContent ())
+ return NULL;
+
+ const TextSpanArray spans(poppler_structure_element->elem->getTextSpans ());
+ PopplerTextSpan **text_spans = g_new0 (PopplerTextSpan*, spans.size ());
+
+ size_t i = 0;
+ for (TextSpanArray::const_iterator s = spans.begin (); s != spans.end (); ++s)
+ text_spans[i++] = text_span_poppler_text_span (*s);
+
+ *n_text_spans = spans.size ();
+
+ return text_spans;
+}
+
+/* General Layout Attributes */
+
+/**
+ * poppler_structure_element_get_placement:
+ * @poppler_structure_element: A #PopplerStructureElement
+ *
+ * Obtains the placement type of the structure element.
+ *
+ * Return value: A #PopplerStructurePlacement value.
+ *
+ * Since: 0.26
+ */
+PopplerStructurePlacement
+poppler_structure_element_get_placement (PopplerStructureElement *poppler_structure_element)
+{
+ g_return_val_if_fail (POPPLER_IS_STRUCTURE_ELEMENT (poppler_structure_element),
+ EnumNameValue<PopplerStructurePlacement>::values[0].value);
+ return attr_to_enum<PopplerStructurePlacement> (poppler_structure_element);
+}
+
+/**
+ * poppler_structure_element_get_writing_mode:
+ * @poppler_structure_element: A #PopplerStructureElement
+ *
+ * Obtains the writing mode (writing direction) of the content associated
+ * with a structure element.
+ *
+ * Return value: A #PopplerStructureWritingMode value.
+ *
+ * Since: 0.26
+ */
+PopplerStructureWritingMode
+poppler_structure_element_get_writing_mode (PopplerStructureElement *poppler_structure_element)
+{
+ g_return_val_if_fail (POPPLER_IS_STRUCTURE_ELEMENT (poppler_structure_element),
+ EnumNameValue<PopplerStructureWritingMode>::values[0].value);
+ return attr_to_enum<PopplerStructureWritingMode> (poppler_structure_element);
+}
+
+
+static void
+convert_border_style (Object *object, PopplerStructureBorderStyle *values)
+{
+ g_assert (object != NULL);
+ g_assert (values != NULL);
+
+ if (object->isArray ())
+ {
+ g_assert (object->arrayGetLength () == 4);
+ for (guint i = 0; i < 4; i++)
+ {
+ Object item;
+ values[i] = name_to_enum<PopplerStructureBorderStyle> (object->arrayGet (i, &item));
+ item.free ();
+ }
+ }
+ else
+ {
+ values[0] = values[1] = values[2] = values[3] =
+ name_to_enum<PopplerStructureBorderStyle> (object);
+ }
+}
+
+/**
+ * poppler_structure_element_get_border_style:
+ * @poppler_structure_element: A #PopplerStructureElement
+ * @border_styles: (out) (array fixed-size=4) (element-type PopplerStructureBorderStyle):
+ * An array of four #PopplerStructureBorderStyle elements.
+ *
+ * Obtains the border style of a structure element. The result values
+ * are in before-after-start-end ordering. For example, using Western
+ * left-to-right writing, that is top-bottom-left-right.
+ *
+ * Since: 0.26
+ */
+void
+poppler_structure_element_get_border_style (PopplerStructureElement *poppler_structure_element,
+ PopplerStructureBorderStyle *border_styles)
+{
+ g_return_if_fail (POPPLER_IS_STRUCTURE_ELEMENT (poppler_structure_element));
+ g_return_if_fail (border_styles != NULL);
+
+ convert_border_style (attr_value_or_default (poppler_structure_element,
+ Attribute::BorderStyle),
+ border_styles);
+}
+
+static inline void
+convert_doubles_array (Object *object, gdouble **values, guint *n_values)
+{
+ g_assert (object->isArray ());
+ g_assert (n_values != NULL);
+ g_assert (values != NULL);
+
+ *n_values = object->arrayGetLength ();
+ gdouble* doubles = g_new (gdouble, *n_values);
+
+ for (guint i = 0; i < *n_values; i++)
+ {
+ Object item;
+ doubles[i] = object->arrayGet (i, &item)->getNum ();
+ item.free ();
+ }
+}
+
+static inline void
+convert_color (Object *object, PopplerColor *color)
+{
+ g_assert (color != NULL);
+ g_assert (object->isArray () && object->arrayGetLength () != 3);
+
+ Object item;
+
+ color->red = object->arrayGet (0, &item)->getNum () * 65535;
+ item.free ();
+
+ color->green = object->arrayGet (1, &item)->getNum () * 65535;
+ item.free ();
+
+ color->blue = object->arrayGet (2, &item)->getNum () * 65535;
+ item.free ();
+}
+
+/**
+ * poppler_structure_element_get_color:
+ * @poppler_structure_element: A #PopplerStructureElement
+ * @color: (out): A #PopplerColor.
+ *
+ * Obtains the color of the content contained in the element.
+ * If this attribute is not specified, the color for this element shall
+ * be the current text fill color in effect at the start of its associated content.
+ *
+ * Return value: %TRUE if a color is defined for the element,
+ * %FALSE otherwise.
+ *
+ * Since: 0.26
+ */
+gboolean
+poppler_structure_element_get_color (PopplerStructureElement *poppler_structure_element,
+ PopplerColor *color)
+{
+ g_return_val_if_fail (POPPLER_IS_STRUCTURE_ELEMENT (poppler_structure_element), FALSE);
+ g_return_val_if_fail (color != NULL, FALSE);
+
+ Object *value = attr_value_or_default (poppler_structure_element, Attribute::Color);
+ if (value == NULL)
+ return FALSE;
+
+ convert_color (value, color);
+ return TRUE;
+}
+
+/**
+ * poppler_structure_element_get_background_color:
+ * @poppler_structure_element: A #PopplerStructureElement
+ * @color: (out): A #PopplerColor.
+ *
+ * Obtains the background color of the element. If this attribute is
+ * not specified, the element shall be treated as if it were transparent.
+ *
+ * Return value: %TRUE if a color is defined for the element,
+ * %FALSE otherwise.
+ *
+ * Since: 0.26
+ */
+gboolean
+poppler_structure_element_get_background_color (PopplerStructureElement *poppler_structure_element,
+ PopplerColor *color)
+{
+ g_return_val_if_fail (POPPLER_IS_STRUCTURE_ELEMENT (poppler_structure_element), FALSE);
+ g_return_val_if_fail (color != NULL, FALSE);
+
+ Object *value = attr_value_or_default (poppler_structure_element, Attribute::BackgroundColor);
+ if (value == NULL)
+ return FALSE;
+
+ convert_color (value, color);
+ return TRUE;
+}
+
+/**
+ * poppler_structure_element_get_border_color:
+ * @poppler_structure_element: A #PopplerStructureElement
+ * @colors: (out) (array fixed-size=4) (element-type PopplerColor): An array
+ * of four #PopplerColor.
+ *
+ * Obtains the color of border around the element. The result values
+ * are in before-after-start-end ordering (for the typical Western
+ * left-to-right writing, that is top-bottom-left-right).
+ * If this attribute is not specified, the border color for this element shall
+ * be the current text fill color in effect at the start of its associated
+ * content.
+ *
+ * Return value: %TRUE if a color is defined for the element,
+ * %FALSE otherwise.
+ *
+ * Since: 0.26
+ */
+gboolean
+poppler_structure_element_get_border_color (PopplerStructureElement *poppler_structure_element,
+ PopplerColor *colors)
+{
+ g_return_val_if_fail (POPPLER_IS_STRUCTURE_ELEMENT (poppler_structure_element), FALSE);
+ g_return_val_if_fail (colors != NULL, FALSE);
+
+ Object *value = attr_value_or_default (poppler_structure_element, Attribute::BorderColor);
+ if (value == NULL)
+ return FALSE;
+
+ g_assert (value->isArray ());
+ if (value->arrayGetLength () == 4)
+ {
+ // One color per side.
+ for (guint i = 0; i < 4; i++)
+ {
+ Object item;
+ convert_color (value->arrayGet (i, &item), &colors[i]);
+ item.free ();
+ }
+ }
+ else
+ {
+ // Same color in all sides.
+ g_assert (value->arrayGetLength () == 3);
+ convert_color (value, &colors[0]);
+ colors[1] = colors[2] = colors[3] = colors[0];
+ }
+
+ return TRUE;
+}
+
+static inline void
+convert_double_or_4_doubles (Object *object, gdouble *value)
+{
+ g_assert (object != NULL);
+
+ if (object->isArray ())
+ {
+ g_assert (object->arrayGetLength () == 4);
+ for (guint i = 0; i < 4; i++)
+ {
+ Object item;
+ value[i] = object->arrayGet (i, &item)->getNum ();
+ item.free ();
+ }
+ }
+ else
+ {
+ g_assert (object->isNum ());
+ value[0] = value[1] = value[2] = value[3] = object->getNum ();
+ }
+}
+
+/**
+ * poppler_structure_element_get_border_thickness:
+ * @poppler_structure_element: A #PopplerStructureElement
+ * @border_thicknesses: (out) (array fixed-size=4) (element-type gdouble):
+ * Array with the four values of border thicknesses.
+ *
+ * Obtains the thickness of the border of an element. The result values
+ * are in before-after-start-end ordering (for the typical Western
+ * left-to-right writing, that is top-bottom-left-right).
+ * A value of 0 indicates that the border shall not be drawn.
+ *
+ * Return value: %TRUE if the border thickness attribute is defined for
+ * the element, %FALSE otherwise.
+ *
+ * Since: 0.26
+ */
+gboolean
+poppler_structure_element_get_border_thickness (PopplerStructureElement *poppler_structure_element,
+ gdouble *border_thicknesses)
+{
+ g_return_val_if_fail (POPPLER_IS_STRUCTURE_ELEMENT (poppler_structure_element), FALSE);
+ g_return_val_if_fail (border_thicknesses != NULL, FALSE);
+
+ Object *value = attr_value_or_default (poppler_structure_element, Attribute::BorderThickness);
+ if (value == NULL)
+ return FALSE;
+
+ convert_double_or_4_doubles (value, border_thicknesses);
+ return TRUE;
+}
+
+/**
+ * poppler_structure_element_get_padding:
+ * @poppler_structure_element: A #PopplerStructureElement
+ * @paddings: (out) (array fixed-size=4) (element-type gdouble):
+ * Padding for the four sides of the element.
+ *
+ * Obtains the padding of an element (space around it). The result
+ * values are in before-after-start-end ordering. For example using
+ * Western left-to-right writing, that is top-bottom-left-right.
+ *
+ * Since: 0.26
+ */
+void
+poppler_structure_element_get_padding (PopplerStructureElement *poppler_structure_element,
+ gdouble *paddings)
+{
+ g_return_if_fail (POPPLER_IS_STRUCTURE_ELEMENT (poppler_structure_element));
+ g_return_if_fail (paddings != NULL);
+
+ convert_double_or_4_doubles (attr_value_or_default (poppler_structure_element,
+ Attribute::Padding),
+ paddings);
+}
+
+/* Layout Attributes for block-level structure elements */
+
+/**
+ * poppler_structure_element_get_space_before:
+ * @poppler_structure_element: A #PopplerStructureElement
+ *
+ * Obtains the amount of empty space before the block-level structure element.
+ *
+ * Return value: A positive value.
+ *
+ * Since: 0.26
+ */
+gdouble
+poppler_structure_element_get_space_before (PopplerStructureElement *poppler_structure_element)
+{
+ g_return_val_if_fail (poppler_structure_element_is_block (poppler_structure_element), NAN);
+ return attr_value_or_default (poppler_structure_element, Attribute::SpaceBefore)->getNum ();
+}
+
+/**
+ * poppler_structure_element_get_space_after:
+ * @poppler_structure_element: A #PopplerStructureElement
+ *
+ * Obtains the amount of empty space after the block-level structure element.
+ *
+ * Return value: A positive value.
+ *
+ * Since: 0.26
+ */
+gdouble
+poppler_structure_element_get_space_after (PopplerStructureElement *poppler_structure_element)
+{
+ g_return_val_if_fail (poppler_structure_element_is_block (poppler_structure_element), NAN);
+ return attr_value_or_default (poppler_structure_element, Attribute::SpaceAfter)->getNum ();
+}
+
+/**
+ * poppler_structure_element_get_start_indent:
+ * @poppler_structure_element: A #PopplerStructureElement
+ *
+ * Obtains the amount of indentation at the beginning of the block-level structure element.
+ *
+ * Return value: A numeric value.
+ *
+ * Since: 0.26
+ */
+gdouble
+poppler_structure_element_get_start_indent (PopplerStructureElement *poppler_structure_element)
+{
+ g_return_val_if_fail (poppler_structure_element_is_block (poppler_structure_element), NAN);
+ return attr_value_or_default (poppler_structure_element, Attribute::StartIndent)->getNum ();
+}
+
+/**
+ * poppler_structure_element_get_end_indent:
+ * @poppler_structure_element: A #PopplerStructureElement
+ *
+ * Obtains the amount of indentation at the end of the block-level structure element.
+ *
+ * Return value: A numeric value.
+ *
+ * Since: 0.26
+ */
+gdouble
+poppler_structure_element_get_end_indent (PopplerStructureElement *poppler_structure_element)
+{
+ g_return_val_if_fail (poppler_structure_element_is_block (poppler_structure_element), NAN);
+ return attr_value_or_default (poppler_structure_element, Attribute::EndIndent)->getNum ();
+}
+
+/**
+ * poppler_structure_element_get_text_indent:
+ * @poppler_structure_element: A #PopplerStructureElement
+ *
+ * Obtains the amount of indentation of the text contained in the block-level structure element.
+ *
+ * Return value: A numeric value.
+ *
+ * Since: 0.26
+ */
+gdouble
+poppler_structure_element_get_text_indent (PopplerStructureElement *poppler_structure_element)
+{
+ g_return_val_if_fail (poppler_structure_element_is_block (poppler_structure_element), NAN);
+ return attr_value_or_default (poppler_structure_element, Attribute::TextIndent)->getNum ();
+}
+
+/**
+ * poppler_structure_element_get_text_align:
+ * @poppler_structure_element: A #PopplerStructureElement
+ *
+ * Obtains the text alignment mode of the text contained into a
+ * block-level structure element.
+ *
+ * Return value: A #PopplerStructureTextAlign value.
+ *
+ * Since: 0.26
+ */
+PopplerStructureTextAlign
+poppler_structure_element_get_text_align (PopplerStructureElement *poppler_structure_element)
+{
+ g_return_val_if_fail (poppler_structure_element_is_block (poppler_structure_element),
+ EnumNameValue<PopplerStructureTextAlign>::values[0].value);
+ return attr_to_enum<PopplerStructureTextAlign> (poppler_structure_element);
+}
+
+/**
+ * poppler_structure_element_get_bounding_box:
+ * @poppler_structure_element: A #PopplerStructureElement
+ * @bounding_box: (out): A #PopplerRectangle.
+ *
+ * Obtains the size of the bounding box of a block-level structure element.
+ *
+ * Return value: %TRUE if a bounding box is defined for the element,
+ * %FALSE otherwise.
+ *
+ * Since: 0.26
+ */
+gboolean
+poppler_structure_element_get_bounding_box (PopplerStructureElement *poppler_structure_element,
+ PopplerRectangle *bounding_box)
+{
+ g_return_val_if_fail (poppler_structure_element_is_block (poppler_structure_element), FALSE);
+ g_return_val_if_fail (bounding_box != NULL, FALSE);
+
+ Object *value = attr_value_or_default (poppler_structure_element, Attribute::BBox);
+ if (value == NULL)
+ return FALSE;
+
+ gdouble dimensions[4];
+ convert_double_or_4_doubles (value, dimensions);
+
+ bounding_box->x1 = dimensions[0];
+ bounding_box->y1 = dimensions[1];
+ bounding_box->x2 = dimensions[2];
+ bounding_box->y2 = dimensions[3];
+
+ return TRUE;
+}
+
+/**
+ * poppler_structure_element_get_width:
+ * @poppler_structure_element: A #PopplerStructureElement
+ *
+ * Obtains the width of the block-level structure element. Note that for elements which do
+ * not specify a width, it has to be calculated, and in this case -1 is returned.
+ *
+ * Return value: A positive value if a width is defined, or -1
+ * if the width is to be calculated automatically.
+ *
+ * Since: 0.26
+ */
+gdouble
+poppler_structure_element_get_width (PopplerStructureElement *poppler_structure_element)
+{
+ g_return_val_if_fail (poppler_structure_element_is_block (poppler_structure_element), NAN);
+ Object *value = attr_value_or_default (poppler_structure_element, Attribute::Width);
+ return value->isName ("Auto") ? -1.0 : value->getNum ();
+}
+
+/**
+ * poppler_structure_element_get_height:
+ * @poppler_structure_element: A #PopplerStructureElement
+ *
+ * Obtains the height of the block-level structure element. Note that for elements which do
+ * not specify a height, it has to be calculated, and in this case -1 is returned.
+ *
+ * Return value: A positive value if a width is defined, or -1
+ * if the height is to be calculated automatically.
+ *
+ * Since: 0.26
+ */
+gdouble
+poppler_structure_element_get_height (PopplerStructureElement *poppler_structure_element)
+{
+ g_return_val_if_fail (poppler_structure_element_is_block (poppler_structure_element), NAN);
+ Object *value = attr_value_or_default (poppler_structure_element, Attribute::Height);
+ return value->isName ("Auto") ? -1.0 : value->getNum ();
+}
+
+/**
+ * poppler_structure_element_get_block_align:
+ * @poppler_structure_element: A #PopplerStructureElement
+ *
+ * Obtains the block-alignment mode of the block-level structure element.
+ *
+ * Return value: A #PopplerStructureBlockAlign value.
+ *
+ * Since: 0.26
+ */
+PopplerStructureBlockAlign
+poppler_structure_element_get_block_align (PopplerStructureElement *poppler_structure_element)
+{
+ g_return_val_if_fail (poppler_structure_element_is_block (poppler_structure_element),
+ EnumNameValue<PopplerStructureBlockAlign>::values[0].value);
+ return attr_to_enum<PopplerStructureBlockAlign> (poppler_structure_element);
+}
+
+/**
+ * poppler_structure_element_get_inline_align:
+ * @poppler_structure_element: A #PopplerStructureElement
+ *
+ * Obtains the inline-alignment mode of the block-level structure element.
+ *
+ * Return value: A #PopplerStructureInlineAlign value.
+ *
+ * Since: 0.26
+ */
+PopplerStructureInlineAlign
+poppler_structure_element_get_inline_align (PopplerStructureElement *poppler_structure_element)
+{
+ g_return_val_if_fail (poppler_structure_element_is_block (poppler_structure_element),
+ EnumNameValue<PopplerStructureInlineAlign>::values[0].value);
+ return attr_to_enum<PopplerStructureInlineAlign> (poppler_structure_element);
+}
+
+/**
+ * poppler_structure_element_get_table_border_style:
+ * @poppler_structure_element: A #PopplerStructureElement
+ * @border_styles: (out) (array fixed-size=4) (element-type PopplerStructureBorderStyle):
+ * An array of four #PopplerStructureBorderStyle elements.
+ *
+ * Obtains the table cell border style of a block-level structure element. The result values
+ * are in before-after-start-end ordering. For example, using Western
+ * left-to-right writing, that is top-bottom-left-right.
+ *
+ * Since: 0.26
+ */
+void
+poppler_structure_element_get_table_border_style (PopplerStructureElement *poppler_structure_element,
+ PopplerStructureBorderStyle *border_styles)
+{
+ g_return_if_fail (poppler_structure_element_is_block (poppler_structure_element));
+ g_return_if_fail (border_styles != NULL);
+
+ convert_border_style (attr_value_or_default (poppler_structure_element,
+ Attribute::TBorderStyle),
+ border_styles);
+}
+
+/**
+ * poppler_structure_element_get_table_padding:
+ * @poppler_structure_element: A #PopplerStructureElement
+ * @paddings: (out) (array fixed-size=4) (element-type gdouble):
+ * Padding for the four sides of the element.
+ *
+ * Obtains the padding between the table cell’s content rectangle and the
+ * surrounding border of a block-level structure element. The result
+ * values are in before-after-start-end ordering (for the typical
+ * Western left-to-right writing, that is top-bottom-left-right).
+ *
+ * Since: 0.26
+ */
+void
+poppler_structure_element_get_table_padding (PopplerStructureElement *poppler_structure_element,
+ gdouble *paddings)
+{
+ g_return_if_fail (poppler_structure_element_is_block (poppler_structure_element));
+ g_return_if_fail (paddings != NULL);
+
+ convert_double_or_4_doubles (attr_value_or_default (poppler_structure_element,
+ Attribute::TPadding),
+ paddings);
+}
+
+/* Layout Attributes for inline-level structure elements */
+
+/**
+ * poppler_structure_element_get_baseline_shift:
+ * @poppler_structure_element: A #PopplerStructureElement
+ *
+ * Obtains how much the text contained in the inline-level structure element should be shifted,
+ * measuring from the baseline of the glyphs.
+ *
+ * Return value: A numeric value.
+ *
+ * Since: 0.26
+ */
+gdouble
+poppler_structure_element_get_baseline_shift (PopplerStructureElement *poppler_structure_element)
+{
+ g_return_val_if_fail (poppler_structure_element_is_inline (poppler_structure_element), NAN);
+ return attr_value_or_default (poppler_structure_element, Attribute::BaselineShift)->getNum ();
+}
+
+/**
+ * poppler_structure_element_get_line_height:
+ * @poppler_structure_element: A #PopplerStructureElement
+ *
+ * Obtains the line height for the text contained in the inline-level structure element.
+ * Note that for elements which do not specify a line height, it has to be calculated,
+ * and in this case -1 is returned.
+ *
+ * Return value: A positive value if a line height is defined, or -1
+ * if the height is to be calculated automatically.
+ *
+ * Since: 0.26
+ */
+gdouble
+poppler_structure_element_get_line_height (PopplerStructureElement *poppler_structure_element)
+{
+ g_return_val_if_fail (poppler_structure_element_is_inline (poppler_structure_element), NAN);
+ Object *value = attr_value_or_default (poppler_structure_element, Attribute::LineHeight);
+ return (value->isName ("Normal") || value->isName ("Auto")) ? -1.0 : value->getNum ();
+}
+
+/**
+ * poppler_structure_element_get_text_decoration_color:
+ * @poppler_structure_element: A #PopplerStructureElement
+ * @color: (out): A #PopplerColor.
+ *
+ * Obtains the color of the text decoration for the text contained
+ * in the inline-level structure element.
+ * If this attribute is not specified, the color for this element shall be the current fill
+ * color in effect at the start of its associated content.
+ *
+ * Return value: %TRUE if a color is defined for the element,
+ * %FALSE otherwise.
+ *
+ * Since: 0.26
+ */
+gboolean
+poppler_structure_element_get_text_decoration_color (PopplerStructureElement *poppler_structure_element,
+ PopplerColor *color)
+{
+ g_return_val_if_fail (poppler_structure_element_is_inline (poppler_structure_element), FALSE);
+ g_return_val_if_fail (color != NULL, FALSE);
+
+ Object *value = attr_value_or_default (poppler_structure_element, Attribute::TextDecorationColor);
+ if (value == NULL)
+ return FALSE;
+
+ convert_color (value, color);
+ return FALSE;
+}
+
+/**
+ * poppler_structure_element_get_text_decoration_thickness:
+ * @poppler_structure_element: A #PopplerStructureElement
+ *
+ * Obtains the thickness of the text decoration for the text contained
+ * in the inline-level structure element.
+ * If this attribute is not specified, it shall be derived from the current
+ * stroke thickness in effect at the start of the element’s associated content.
+ *
+ * Return value: Thickness of the text decoration, or %NaN if not defined.
+ *
+ * Since: 0.26
+ */
+gdouble
+poppler_structure_element_get_text_decoration_thickness (PopplerStructureElement *poppler_structure_element)
+{
+ g_return_val_if_fail (poppler_structure_element_is_inline (poppler_structure_element), NAN);
+
+ Object *value = attr_value_or_default (poppler_structure_element, Attribute::TextDecorationThickness);
+ return (value == NULL) ? NAN : value->getNum ();
+}
+
+/**
+ * poppler_structure_element_get_text_decoration_type:
+ * @poppler_structure_element: A #PopplerStructureElement
+ *
+ * Obtains the text decoration type of the text contained in the
+ * inline-level structure element.
+ *
+ * Return value: A #PopplerStructureTextDecoration value.
+ *
+ * Since: 0.26
+ */
+PopplerStructureTextDecoration
+poppler_structure_element_get_text_decoration_type (PopplerStructureElement *poppler_structure_element)
+{
+ g_return_val_if_fail (poppler_structure_element_is_inline (poppler_structure_element),
+ EnumNameValue<PopplerStructureTextDecoration>::values[0].value);
+ return attr_to_enum<PopplerStructureTextDecoration> (poppler_structure_element);
+}
+
+/**
+ * poppler_structure_element_get_ruby_align:
+ * @poppler_structure_element: A #PopplerStructureElement
+ *
+ * Obtains the alignment for the ruby text contained in a
+ * inline-level structure element.
+ *
+ * Return value: A #PopplerStructureRubyAlign value.
+ *
+ * Since: 0.26
+ */
+PopplerStructureRubyAlign
+poppler_structure_element_get_ruby_align (PopplerStructureElement *poppler_structure_element)
+{
+ g_return_val_if_fail (poppler_structure_element_is_inline (poppler_structure_element),
+ EnumNameValue<PopplerStructureRubyAlign>::values[0].value);
+ return attr_to_enum<PopplerStructureRubyAlign> (poppler_structure_element);
+}
+
+/**
+ * poppler_structure_element_get_ruby_position:
+ * @poppler_structure_element: A #PopplerStructureElement
+ *
+ * Obtains the position for the ruby text contained in a
+ * inline-level structure element.
+ *
+ * Return value: A #PopplerStructureRubyPosition value.
+ *
+ * Since: 0.26
+ */
+PopplerStructureRubyPosition
+poppler_structure_element_get_ruby_position (PopplerStructureElement *poppler_structure_element)
+{
+ g_return_val_if_fail (poppler_structure_element_is_inline (poppler_structure_element),
+ EnumNameValue<PopplerStructureRubyPosition>::values[0].value);
+ return attr_to_enum<PopplerStructureRubyPosition> (poppler_structure_element);
+}
+
+/**
+ * poppler_structure_element_get_glyph_orientation:
+ * @poppler_structure_element: A #PopplerStructureElement
+ *
+ * Obtains the glyph orientation for the text contained in a
+ * inline-level structure element.
+ *
+ * Return value: A #PopplerStructureGlyphOrientation value.
+ *
+ * Since: 0.26
+ */
+PopplerStructureGlyphOrientation
+poppler_structure_element_get_glyph_orientation (PopplerStructureElement *poppler_structure_element)
+{
+ g_return_val_if_fail (poppler_structure_element_is_inline (poppler_structure_element),
+ EnumNameValue<PopplerStructureGlyphOrientation>::values[0].value);
+ return attr_to_enum<PopplerStructureGlyphOrientation> (poppler_structure_element);
+}
+
+/* Column Attributes */
+
+/**
+ * poppler_structure_element_get_column_count:
+ * @poppler_structure_element: A #PopplerStructureElement
+ *
+ * Obtains the number of columns used to lay out the content contained
+ * in the grouping element.
+ *
+ * Return value: Number of columns.
+ *
+ * Since: 0.26
+ */
+guint
+poppler_structure_element_get_column_count (PopplerStructureElement *poppler_structure_element)
+{
+ g_return_val_if_fail (poppler_structure_element_is_grouping (poppler_structure_element), 0);
+ return static_cast<guint> (attr_value_or_default (poppler_structure_element,
+ Attribute::ColumnCount)->getInt ());
+}
+
+/**
+ * poppler_structure_element_get_column_gaps:
+ * @poppler_structure_element: A #PopplerStructureElement
+ * @n_values: (out): Size of the returned array.
+ *
+ * Obtains the size of the gaps in between adjacent columns. Returns an
+ * array of elements: the first one is the size of the gap in between
+ * columns 1 and 2, second is the size between columns 2 and 3, and so on.
+ *
+ * For elements which use a single column, %NULL is returned and %n_values
+ * is set to zero.
+ *
+ * If the attribute is undefined, %NULL is returned and %n_values is set
+ * to a non-zero value.
+ *
+ * The array with the results is allocated by the function. When it is
+ * not needed anymore, be sure to call g_free() on it.
+ *
+ * Return value: (transfer full) (array length=n_values) (element-type gdouble):
+ * Array containing the values for the column gaps, or %NULL if the
+ * array is empty or the attribute is not defined.
+ *
+ * Since: 0.26
+ */
+gdouble *
+poppler_structure_element_get_column_gaps (PopplerStructureElement *poppler_structure_element,
+ guint *n_values)
+{
+ g_return_val_if_fail (poppler_structure_element_is_grouping (poppler_structure_element), NULL);
+ g_return_val_if_fail (n_values != NULL, NULL);
+
+ Object *value = attr_value_or_default (poppler_structure_element, Attribute::ColumnGap);
+ if (value == NULL)
+ {
+ *n_values = static_cast<guint> (-1);
+ return NULL;
+ }
+
+ gdouble *result = NULL;
+ convert_doubles_array (value, &result, n_values);
+ return result;
+}
+
+/**
+ * poppler_structure_element_get_column_widths:
+ * @poppler_structure_element: A #PopplerStructureElement
+ * @n_values: (out): Size of the returned array.
+ *
+ * Obtains an array with the widths of the columns.
+ *
+ * The array with the results is allocated by the function. When it is
+ * not needed anymore, be sure to call g_free() on it.
+ *
+ * Return value: (transfer full) (array length=n_values) (element-type gdouble):
+ * Array containing widths of the columns, or %NULL if the attribute
+ * is not defined.
+ *
+ * Since: 0.26
+ */
+gdouble *
+poppler_structure_element_get_column_widths (PopplerStructureElement *poppler_structure_element,
+ guint *n_values)
+{
+ g_return_val_if_fail (poppler_structure_element_is_grouping (poppler_structure_element), NULL);
+ g_return_val_if_fail (n_values != NULL, NULL);
+
+ Object *value = attr_value_or_default (poppler_structure_element, Attribute::ColumnWidths);
+ if (value == NULL)
+ return NULL;
+
+ gdouble *result = NULL;
+ convert_doubles_array (value, &result, n_values);
+ return result;
+}
+
+/* List Attribute */
+
+/**
+ * poppler_structure_element_get_list_numbering:
+ * @poppler_structure_element: A #PopplerStructureElement
+ *
+ * Obtains the list numbering style for list items.
+ *
+ * Return value: A #PopplerStructureListNumbering value.
+ *
+ * Since: 0.26
+ */
+PopplerStructureListNumbering
+poppler_structure_element_get_list_numbering (PopplerStructureElement *poppler_structure_element)
+{
+ g_return_val_if_fail (poppler_structure_element_get_kind (poppler_structure_element) == POPPLER_STRUCTURE_ELEMENT_LIST_ITEM,
+ EnumNameValue<PopplerStructureListNumbering>::values[0].value);
+ return attr_to_enum<PopplerStructureListNumbering> (poppler_structure_element);
+}
+
+/* PrintField Attributes */
+
+/**
+ * poppler_structure_element_get_form_role:
+ * @poppler_structure_element: A #PopplerStructureElement
+ *
+ * Obtains the role of a form structure element that is part of a form, or is
+ * a form field. This hints how the control for the element is intended
+ * to be rendered.
+ *
+ * Return value: A #PopplerStructureFormRole value.
+ *
+ * Since: 0.26
+ */
+PopplerStructureFormRole
+poppler_structure_element_get_form_role (PopplerStructureElement *poppler_structure_element)
+{
+ g_return_val_if_fail (poppler_structure_element_get_kind (poppler_structure_element) == POPPLER_STRUCTURE_ELEMENT_FORM,
+ EnumNameValue<PopplerStructureFormRole>::values[0].value);
+
+ /*
+ * The Role attribute can actually be undefined.
+ */
+ Object *value = attr_value_or_default (poppler_structure_element, Attribute::Role);
+ if (value == NULL)
+ return POPPLER_STRUCTURE_FORM_ROLE_UNDEFINED;
+
+ return name_to_enum<PopplerStructureFormRole> (value);
+}
+
+/**
+ * poppler_structure_element_get_form_state:
+ * @poppler_structure_element: A #PopplerStructureElement
+ *
+ * For a structure element that is a form field, obtains in which state
+ * the associated control is expected to be rendered.
+ *
+ * Return value: A #PopplerStructureFormState value.
+ *
+ * Since: 0.26
+ */
+PopplerStructureFormState
+poppler_structure_element_get_form_state (PopplerStructureElement *poppler_structure_element)
+{
+ g_return_val_if_fail (poppler_structure_element_get_kind (poppler_structure_element) == POPPLER_STRUCTURE_ELEMENT_FORM,
+ EnumNameValue<PopplerStructureFormState>::values[0].value);
+ return attr_to_enum<PopplerStructureFormState> (poppler_structure_element);
+}
+
+/**
+ * poppler_structure_element_get_form_description:
+ * @poppler_structure_element: A #PopplerStructureElement
+ *
+ * Obtains the textual description of the form element. Note that the
+ * description is for informative purposes, and it is not intended
+ * to be rendered. For example, assistive technologies may use the
+ * description field to provide an alternate way of presenting an
+ * element to the user.
+ *
+ * The returned string is allocated by the function. When it is
+ * not needed anymore, be sure to call g_free() on it.
+ *
+ * Return value: (transfer full): A string, or %NULL if the attribute
+ * is not defined.
+ *
+ * Since: 0.26
+ */
+gchar *
+poppler_structure_element_get_form_description (PopplerStructureElement *poppler_structure_element)
+{
+ g_return_val_if_fail (poppler_structure_element_get_kind (poppler_structure_element) == POPPLER_STRUCTURE_ELEMENT_FORM, NULL);
+
+ Object *value = attr_value_or_default (poppler_structure_element, Attribute::Desc);
+ if (value == NULL)
+ return NULL;
+ if (value->isString ())
+ return _poppler_goo_string_to_utf8 (value->getString ());
+ if (value->isName ())
+ return g_strdup (value->getName ());
+
+ g_assert_not_reached ();
+ return NULL;
+}
+
+/* Table Attributes */
+
+/**
+ * poppler_structure_element_get_table_row_span:
+ * @poppler_structure_element: A #PopplerStructureElement
+ *
+ * Obtains the number of rows the table element spans to.
+ *
+ * Return value: A positive, non-zero value.
+ *
+ * Since: 0.26
+ */
+guint
+poppler_structure_element_get_table_row_span (PopplerStructureElement *poppler_structure_element)
+{
+ g_return_val_if_fail (poppler_structure_element_get_kind (poppler_structure_element) == POPPLER_STRUCTURE_ELEMENT_TABLE, 0);
+ return static_cast<guint> (attr_value_or_default (poppler_structure_element,
+ Attribute::RowSpan)->getInt ());
+}
+
+/**
+ * poppler_structure_element_get_table_column_span:
+ * @poppler_structure_element: A #PopplerStructureElement
+ *
+ * Obtains the number of columns the table element spans to.
+ *
+ * Return value: A positive, non-zero value.
+ *
+ * Since: 0.26
+ */
+guint
+poppler_structure_element_get_table_column_span (PopplerStructureElement *poppler_structure_element)
+{
+ g_return_val_if_fail (poppler_structure_element_get_kind (poppler_structure_element) == POPPLER_STRUCTURE_ELEMENT_TABLE, 0);
+ return static_cast<guint> (attr_value_or_default (poppler_structure_element,
+ Attribute::ColSpan)->getInt ());
+}
+
+/**
+ * poppler_structure_element_get_table_headers:
+ * @poppler_structure_element: A #PopplerStructureElement
+ *
+ * Obtains an array with the names of the table column headers. This is only
+ * useful for table header row elements.
+ *
+ * The array with the results is allocated by the function. The number
+ * of items in the returned array can be obtained with g_strv_length().
+ * The returned value must be freed using g_strfreev().
+ *
+ * Return value: (transfer full) (array zero-terminated=1) (element-type gchar*):
+ * Zero-terminated array of strings with the table header names,
+ * or %NULL if the attribute is not defined.
+ *
+ * Since: 0.26
+ */
+gchar **
+poppler_structure_element_get_table_headers (PopplerStructureElement *poppler_structure_element)
+{
+ g_return_val_if_fail (poppler_structure_element_get_kind (poppler_structure_element) == POPPLER_STRUCTURE_ELEMENT_TABLE, NULL);
+
+ Object *value = attr_value_or_default (poppler_structure_element, Attribute::Headers);
+ if (value == NULL)
+ return NULL;
+
+ g_assert (value->isArray ());
+
+ const guint n_values = value->arrayGetLength ();
+ gchar **result = g_new0 (gchar*, n_values + 1);
+
+ for (guint i = 0; i < n_values; i++)
+ {
+ Object item;
+
+ if (value->arrayGet (i, &item)->isString ())
+ result[i] = _poppler_goo_string_to_utf8 (item.getString ());
+ else if (item.isName ())
+ result[i] = g_strdup (item.getName ());
+ else
+ g_assert_not_reached ();
+
+ item.free ();
+ }
+
+ return result;
+}
+
+/**
+ * poppler_structure_element_get_table_scope:
+ * @poppler_structure_element: A #PopplerStructureElement
+ *
+ * Obtains the scope of a table structure element.
+ *
+ * Return value: A #PopplerStructureScope value.
+ *
+ * Since: 0.26
+ */
+PopplerStructureTableScope
+poppler_structure_element_get_table_scope (PopplerStructureElement *poppler_structure_element)
+{
+ g_return_val_if_fail (poppler_structure_element_get_kind (poppler_structure_element) == POPPLER_STRUCTURE_ELEMENT_TABLE,
+ EnumNameValue<PopplerStructureTableScope>::values[0].value);
+ return attr_to_enum<PopplerStructureTableScope> (poppler_structure_element);
+}
+
+/**
+ * poppler_structure_element_get_table_summary:
+ * @poppler_structure_element: A #PopplerStructureElement
+ *
+ * Obtains the textual summary of the contents of the table element. Note that
+ * the summary is meant for informative purposes, and it is not intended
+ * to be rendered. For example, assistive technologies may use the
+ * description field to provide an alternate way of presenting an element
+ * to the user, or a document indexer may want to scan it for additional
+ * keywords.
+ *
+ * The returned string is allocated by the function. When it is
+ * not needed anymore, be sure to call g_free() on it.
+ *
+ * Return value: (transfer full): A string, or %NULL if the attribute
+ * is not defined.
+ *
+ * Since: 0.26
+ */
+gchar *
+poppler_structure_element_get_table_summary (PopplerStructureElement *poppler_structure_element)
+{
+ g_return_val_if_fail (POPPLER_IS_STRUCTURE_ELEMENT (poppler_structure_element), NULL);
+
+ Object *value = attr_value_or_default (poppler_structure_element, Attribute::Summary);
+ if (value == NULL)
+ return NULL;
+ if (value->isString ())
+ return _poppler_goo_string_to_utf8 (value->getString ());
+ if (value->isName ())
+ return g_strdup (value->getName ());
+
+ g_assert_not_reached ();
+ return NULL;
+}
diff --git a/glib/poppler-structure-element.h b/glib/poppler-structure-element.h
new file mode 100644
index 00000000..3848c210
--- /dev/null
+++ b/glib/poppler-structure-element.h
@@ -0,0 +1,357 @@
+/* poppler-structure-element.h: glib interface to poppler
+ *
+ * Copyright (C) 2013 Igalia S.L.
+ *
+ * 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_STRUCTURE_ELEMENT_H__
+#define __POPPLER_STRUCTURE_ELEMENT_H__
+
+#include <glib-object.h>
+#include "poppler.h"
+
+G_BEGIN_DECLS
+
+#define POPPLER_TYPE_STRUCTURE_ELEMENT (poppler_structure_element_get_type ())
+#define POPPLER_STRUCTURE_ELEMENT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), POPPLER_TYPE_STRUCTURE_ELEMENT, PopplerStructureElement))
+#define POPPLER_IS_STRUCTURE_ELEMENT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), POPPLER_TYPE_STRUCTURE_ELEMENT))
+
+/**
+ * PopplerStructureElementKind:
+ */
+typedef enum {
+ POPPLER_STRUCTURE_ELEMENT_CONTENT,
+ POPPLER_STRUCTURE_ELEMENT_OBJECT_REFERENCE,
+ POPPLER_STRUCTURE_ELEMENT_DOCUMENT,
+ POPPLER_STRUCTURE_ELEMENT_PART,
+ POPPLER_STRUCTURE_ELEMENT_ARTICLE,
+ POPPLER_STRUCTURE_ELEMENT_SECTION,
+ POPPLER_STRUCTURE_ELEMENT_DIV,
+ POPPLER_STRUCTURE_ELEMENT_SPAN,
+ POPPLER_STRUCTURE_ELEMENT_QUOTE,
+ POPPLER_STRUCTURE_ELEMENT_NOTE,
+ POPPLER_STRUCTURE_ELEMENT_REFERENCE,
+ POPPLER_STRUCTURE_ELEMENT_BIBENTRY,
+ POPPLER_STRUCTURE_ELEMENT_CODE,
+ POPPLER_STRUCTURE_ELEMENT_LINK,
+ POPPLER_STRUCTURE_ELEMENT_ANNOT,
+ POPPLER_STRUCTURE_ELEMENT_BLOCKQUOTE,
+ POPPLER_STRUCTURE_ELEMENT_CAPTION,
+ POPPLER_STRUCTURE_ELEMENT_NONSTRUCT,
+ POPPLER_STRUCTURE_ELEMENT_TOC,
+ POPPLER_STRUCTURE_ELEMENT_TOC_ITEM,
+ POPPLER_STRUCTURE_ELEMENT_INDEX,
+ POPPLER_STRUCTURE_ELEMENT_PRIVATE,
+ POPPLER_STRUCTURE_ELEMENT_PARAGRAPH,
+ POPPLER_STRUCTURE_ELEMENT_HEADING,
+ POPPLER_STRUCTURE_ELEMENT_HEADING_1,
+ POPPLER_STRUCTURE_ELEMENT_HEADING_2,
+ POPPLER_STRUCTURE_ELEMENT_HEADING_3,
+ POPPLER_STRUCTURE_ELEMENT_HEADING_4,
+ POPPLER_STRUCTURE_ELEMENT_HEADING_5,
+ POPPLER_STRUCTURE_ELEMENT_HEADING_6,
+ POPPLER_STRUCTURE_ELEMENT_LIST,
+ POPPLER_STRUCTURE_ELEMENT_LIST_ITEM,
+ POPPLER_STRUCTURE_ELEMENT_LIST_LABEL,
+ POPPLER_STRUCTURE_ELEMENT_LIST_BODY,
+ POPPLER_STRUCTURE_ELEMENT_TABLE,
+ POPPLER_STRUCTURE_ELEMENT_TABLE_ROW,
+ POPPLER_STRUCTURE_ELEMENT_TABLE_HEADING,
+ POPPLER_STRUCTURE_ELEMENT_TABLE_DATA,
+ POPPLER_STRUCTURE_ELEMENT_TABLE_HEADER,
+ POPPLER_STRUCTURE_ELEMENT_TABLE_FOOTER,
+ POPPLER_STRUCTURE_ELEMENT_TABLE_BODY,
+ POPPLER_STRUCTURE_ELEMENT_RUBY,
+ POPPLER_STRUCTURE_ELEMENT_RUBY_BASE_TEXT,
+ POPPLER_STRUCTURE_ELEMENT_RUBY_ANNOT_TEXT,
+ POPPLER_STRUCTURE_ELEMENT_RUBY_PUNCTUATION,
+ POPPLER_STRUCTURE_ELEMENT_WARICHU,
+ POPPLER_STRUCTURE_ELEMENT_WARICHU_TEXT,
+ POPPLER_STRUCTURE_ELEMENT_WARICHU_PUNCTUATION,
+ POPPLER_STRUCTURE_ELEMENT_FIGURE,
+ POPPLER_STRUCTURE_ELEMENT_FORMULA,
+ POPPLER_STRUCTURE_ELEMENT_FORM,
+} PopplerStructureElementKind;
+
+/**
+ * PopplerStructureGetTextFlags:
+ * @POPPLER_STRUCTURE_GET_TEXT_NONE: No flags.
+ * @POPPLER_STRUCTURE_GET_TEXT_RECURSIVE: For non-leaf, non-content
+ * elements, recursively obtain the text from all the elements
+ * enclosed in the subtree.
+ */
+typedef enum {
+ POPPLER_STRUCTURE_GET_TEXT_NONE = 0,
+ POPPLER_STRUCTURE_GET_TEXT_RECURSIVE = (1 << 0),
+} PopplerStructureGetTextFlags;
+
+/**
+ * PopplerStructurePlacement:
+ */
+typedef enum {
+ POPPLER_STRUCTURE_PLACEMENT_BLOCK,
+ POPPLER_STRUCTURE_PLACEMENT_INLINE,
+ POPPLER_STRUCTURE_PLACEMENT_BEFORE,
+ POPPLER_STRUCTURE_PLACEMENT_START,
+ POPPLER_STRUCTURE_PLACEMENT_END,
+} PopplerStructurePlacement;
+
+/**
+ * PopplerStructureWritingMode:
+ */
+typedef enum {
+ POPPLER_STRUCTURE_WRITING_MODE_LR_TB,
+ POPPLER_STRUCTURE_WRITING_MODE_RL_TB,
+ POPPLER_STRUCTURE_WRITING_MODE_TB_RL,
+} PopplerStructureWritingMode;
+
+/**
+ * PopplerStructureBorderStyle:
+ */
+typedef enum {
+ POPPLER_STRUCTURE_BORDER_STYLE_NONE,
+ POPPLER_STRUCTURE_BORDER_STYLE_HIDDEN,
+ POPPLER_STRUCTURE_BORDER_STYLE_DOTTED,
+ POPPLER_STRUCTURE_BORDER_STYLE_DASHED,
+ POPPLER_STRUCTURE_BORDER_STYLE_SOLID,
+ POPPLER_STRUCTURE_BORDER_STYLE_DOUBLE,
+ POPPLER_STRUCTURE_BORDER_STYLE_GROOVE,
+ POPPLER_STRUCTURE_BORDER_STYLE_INSET,
+ POPPLER_STRUCTURE_BORDER_STYLE_OUTSET,
+} PopplerStructureBorderStyle;
+
+/**
+ * PopplerStructureTextAlign:
+ */
+typedef enum {
+ POPPLER_STRUCTURE_TEXT_ALIGN_START,
+ POPPLER_STRUCTURE_TEXT_ALIGN_CENTER,
+ POPPLER_STRUCTURE_TEXT_ALIGN_END,
+ POPPLER_STRUCTURE_TEXT_ALIGN_JUSTIFY,
+} PopplerStructureTextAlign;
+
+/**
+ * PopplerStructureBlockAlign:
+ */
+typedef enum {
+ POPPLER_STRUCTURE_BLOCK_ALIGN_BEFORE,
+ POPPLER_STRUCTURE_BLOCK_ALIGN_MIDDLE,
+ POPPLER_STRUCTURE_BLOCK_ALIGN_AFTER,
+ POPPLER_STRUCTURE_BLOCK_ALIGN_JUSTIFY,
+} PopplerStructureBlockAlign;
+
+/**
+ * PopplerStructureInlineAlign:
+ */
+typedef enum {
+ POPPLER_STRUCTURE_INLINE_ALIGN_START,
+ POPPLER_STRUCTURE_INLINE_ALIGN_CENTER,
+ POPPLER_STRUCTURE_INLINE_ALIGN_END,
+} PopplerStructureInlineAlign;
+
+/**
+ * PopplerStructureTextDecoration:
+ */
+typedef enum {
+ POPPLER_STRUCTURE_TEXT_DECORATION_NONE,
+ POPPLER_STRUCTURE_TEXT_DECORATION_UNDERLINE,
+ POPPLER_STRUCTURE_TEXT_DECORATION_OVERLINE,
+ POPPLER_STRUCTURE_TEXT_DECORATION_LINETHROUGH,
+} PopplerStructureTextDecoration;
+
+/**
+ * PopplerStructureRubyAlign:
+ */
+typedef enum
+{
+ POPPLER_STRUCTURE_RUBY_ALIGN_START,
+ POPPLER_STRUCTURE_RUBY_ALIGN_CENTER,
+ POPPLER_STRUCTURE_RUBY_ALIGN_END,
+ POPPLER_STRUCTURE_RUBY_ALIGN_JUSTIFY,
+ POPPLER_STRUCTURE_RUBY_ALIGN_DISTRIBUTE,
+} PopplerStructureRubyAlign;
+
+/**
+ * PopplerStructureRubyPosition:
+ */
+typedef enum {
+ POPPLER_STRUCTURE_RUBY_POSITION_BEFORE,
+ POPPLER_STRUCTURE_RUBY_POSITION_AFTER,
+ POPPLER_STRUCTURE_RUBY_POSITION_WARICHU,
+ POPPLER_STRUCTURE_RUBY_POSITION_INLINE,
+} PopplerStructureRubyPosition;
+
+/**
+ * PopplerStructureGlyphOrientation:
+ */
+typedef enum {
+ POPPLER_STRUCTURE_GLYPH_ORIENTATION_AUTO,
+ POPPLER_STRUCTURE_GLYPH_ORIENTATION_0 = POPPLER_STRUCTURE_GLYPH_ORIENTATION_AUTO,
+ POPPLER_STRUCTURE_GLYPH_ORIENTATION_90,
+ POPPLER_STRUCTURE_GLYPH_ORIENTATION_180,
+ POPPLER_STRUCTURE_GLYPH_ORIENTATION_270,
+} PopplerStructureGlyphOrientation;
+
+/**
+ * PopplerStructureListNumbering:
+ */
+typedef enum {
+ POPPLER_STRUCTURE_LIST_NUMBERING_NONE,
+ POPPLER_STRUCTURE_LIST_NUMBERING_DISC,
+ POPPLER_STRUCTURE_LIST_NUMBERING_CIRCLE,
+ POPPLER_STRUCTURE_LIST_NUMBERING_SQUARE,
+ POPPLER_STRUCTURE_LIST_NUMBERING_DECIMAL,
+ POPPLER_STRUCTURE_LIST_NUMBERING_UPPER_ROMAN,
+ POPPLER_STRUCTURE_LIST_NUMBERING_LOWER_ROMAN,
+ POPPLER_STRUCTURE_LIST_NUMBERING_UPPER_ALPHA,
+ POPPLER_STRUCTURE_LIST_NUMBERING_LOWER_ALPHA,
+} PopplerStructureListNumbering;
+
+/**
+ * PopplerStructureFormRole:
+ */
+typedef enum {
+ POPPLER_STRUCTURE_FORM_ROLE_UNDEFINED,
+ POPPLER_STRUCTURE_FORM_ROLE_RADIO_BUTTON,
+ POPPLER_STRUCTURE_FORM_ROLE_PUSH_BUTTON,
+ POPPLER_STRUCTURE_FORM_ROLE_TEXT_VALUE,
+ POPPLER_STRUCTURE_FORM_ROLE_CHECKBOX,
+} PopplerStructureFormRole;
+
+/**
+ * PopplerStructureFormState:
+ */
+typedef enum {
+ POPPLER_STRUCTURE_FORM_STATE_ON,
+ POPPLER_STRUCTURE_FORM_STATE_OFF,
+ POPPLER_STRUCTURE_FORM_STATE_NEUTRAL,
+} PopplerStructureFormState;
+
+/**
+ * PopplerStructureTableScope:
+ */
+typedef enum {
+ POPPLER_STRUCTURE_TABLE_SCOPE_ROW,
+ POPPLER_STRUCTURE_TABLE_SCOPE_COLUMN,
+ POPPLER_STRUCTURE_TABLE_SCOPE_BOTH,
+} PopplerStructureTableScope;
+
+
+GType poppler_structure_element_get_type (void) G_GNUC_CONST;
+PopplerStructureElementKind poppler_structure_element_get_kind (PopplerStructureElement *poppler_structure_element);
+gint poppler_structure_element_get_page (PopplerStructureElement *poppler_structure_element);
+gboolean poppler_structure_element_is_content (PopplerStructureElement *poppler_structure_element);
+gboolean poppler_structure_element_is_inline (PopplerStructureElement *poppler_structure_element);
+gboolean poppler_structure_element_is_block (PopplerStructureElement *poppler_structure_element);
+gboolean poppler_structure_element_is_grouping (PopplerStructureElement *poppler_structure_element);
+gchar *poppler_structure_element_get_id (PopplerStructureElement *poppler_structure_element);
+gchar *poppler_structure_element_get_title (PopplerStructureElement *poppler_structure_element);
+gchar *poppler_structure_element_get_abbreviation (PopplerStructureElement *poppler_structure_element);
+gchar *poppler_structure_element_get_language (PopplerStructureElement *poppler_structure_element);
+gchar *poppler_structure_element_get_text (PopplerStructureElement *poppler_structure_element,
+ PopplerStructureGetTextFlags flags);
+gchar *poppler_structure_element_get_alt_text (PopplerStructureElement *poppler_structure_element);
+gchar *poppler_structure_element_get_actual_text (PopplerStructureElement *poppler_structure_element);
+PopplerTextSpan **poppler_structure_element_get_text_spans (PopplerStructureElement *poppler_structure_element,
+ guint *n_text_spans);
+
+PopplerStructurePlacement poppler_structure_element_get_placement (PopplerStructureElement *poppler_structure_element);
+PopplerStructureWritingMode poppler_structure_element_get_writing_mode (PopplerStructureElement *poppler_structure_element);
+gboolean poppler_structure_element_get_background_color (PopplerStructureElement *poppler_structure_element,
+ PopplerColor *color);
+gboolean poppler_structure_element_get_border_color (PopplerStructureElement *poppler_structure_element,
+ PopplerColor *colors);
+void poppler_structure_element_get_border_style (PopplerStructureElement *poppler_structure_element,
+ PopplerStructureBorderStyle *border_styles);
+gboolean poppler_structure_element_get_border_thickness (PopplerStructureElement *poppler_structure_element,
+ gdouble *border_thicknesses);
+void poppler_structure_element_get_padding (PopplerStructureElement *poppler_structure_element,
+ gdouble *paddings);
+gboolean poppler_structure_element_get_color (PopplerStructureElement *poppler_structure_element,
+ PopplerColor *color);
+
+gdouble poppler_structure_element_get_space_before (PopplerStructureElement *poppler_structure_element);
+gdouble poppler_structure_element_get_space_after (PopplerStructureElement *poppler_structure_element);
+gdouble poppler_structure_element_get_start_indent (PopplerStructureElement *poppler_structure_element);
+gdouble poppler_structure_element_get_end_indent (PopplerStructureElement *poppler_structure_element);
+gdouble poppler_structure_element_get_text_indent (PopplerStructureElement *poppler_structure_element);
+PopplerStructureTextAlign poppler_structure_element_get_text_align (PopplerStructureElement *poppler_structure_element);
+gboolean poppler_structure_element_get_bounding_box (PopplerStructureElement *poppler_structure_element,
+ PopplerRectangle *bounding_box);
+gdouble poppler_structure_element_get_width (PopplerStructureElement *poppler_structure_element);
+gdouble poppler_structure_element_get_height (PopplerStructureElement *poppler_structure_element);
+PopplerStructureBlockAlign poppler_structure_element_get_block_align (PopplerStructureElement *poppler_structure_element);
+PopplerStructureInlineAlign poppler_structure_element_get_inline_align (PopplerStructureElement *poppler_structure_element);
+void poppler_structure_element_get_table_border_style (PopplerStructureElement *poppler_structure_element,
+ PopplerStructureBorderStyle *border_styles);
+void poppler_structure_element_get_table_padding (PopplerStructureElement *poppler_structure_element,
+ gdouble *paddings);
+
+gdouble poppler_structure_element_get_baseline_shift (PopplerStructureElement *poppler_structure_element);
+gdouble poppler_structure_element_get_line_height (PopplerStructureElement *poppler_structure_element);
+gboolean poppler_structure_element_get_text_decoration_color
+ (PopplerStructureElement *poppler_structure_element,
+ PopplerColor *color);
+gdouble poppler_structure_element_get_text_decoration_thickness
+ (PopplerStructureElement *poppler_structure_element);
+PopplerStructureTextDecoration poppler_structure_element_get_text_decoration_type
+ (PopplerStructureElement *poppler_structure_element);
+PopplerStructureRubyAlign poppler_structure_element_get_ruby_align (PopplerStructureElement *poppler_structure_element);
+PopplerStructureRubyPosition poppler_structure_element_get_ruby_position (PopplerStructureElement *poppler_structure_element);
+PopplerStructureGlyphOrientation poppler_structure_element_get_glyph_orientation (PopplerStructureElement *poppler_structure_element);
+
+guint poppler_structure_element_get_column_count (PopplerStructureElement *poppler_structure_element);
+gdouble *poppler_structure_element_get_column_gaps (PopplerStructureElement *poppler_structure_element,
+ guint *n_values);
+gdouble *poppler_structure_element_get_column_widths (PopplerStructureElement *poppler_structure_element,
+ guint *n_values);
+
+PopplerStructureListNumbering poppler_structure_element_get_list_numbering (PopplerStructureElement *poppler_structure_element);
+
+PopplerStructureFormRole poppler_structure_element_get_form_role (PopplerStructureElement *poppler_structure_element);
+PopplerStructureFormState poppler_structure_element_get_form_state (PopplerStructureElement *poppler_structure_element);
+gchar *poppler_structure_element_get_form_description (PopplerStructureElement *poppler_structure_element);
+
+guint poppler_structure_element_get_table_row_span (PopplerStructureElement *poppler_structure_element);
+guint poppler_structure_element_get_table_column_span (PopplerStructureElement *poppler_structure_element);
+gchar **poppler_structure_element_get_table_headers (PopplerStructureElement *poppler_structure_element);
+PopplerStructureTableScope poppler_structure_element_get_table_scope (PopplerStructureElement *poppler_structure_element);
+gchar *poppler_structure_element_get_table_summary (PopplerStructureElement *poppler_structure_element);
+
+#define POPPLER_TYPE_STRUCTURE_ELEMENT_ITER (poppler_structure_element_iter_get_type ())
+GType poppler_structure_element_iter_get_type (void) G_GNUC_CONST;
+PopplerStructureElementIter *poppler_structure_element_iter_new (PopplerDocument *poppler_document);
+PopplerStructureElementIter *poppler_structure_element_iter_get_child (PopplerStructureElementIter *parent);
+PopplerStructureElementIter *poppler_structure_element_iter_copy (PopplerStructureElementIter *iter);
+PopplerStructureElement *poppler_structure_element_iter_get_element (PopplerStructureElementIter *iter);
+gboolean poppler_structure_element_iter_next (PopplerStructureElementIter *iter);
+void poppler_structure_element_iter_free (PopplerStructureElementIter *iter);
+
+#define POPPLER_TYPE_TEXT_SPAN (poppler_text_span_get_type ())
+GType poppler_text_span_get_type (void) G_GNUC_CONST;
+PopplerTextSpan *poppler_text_span_copy (PopplerTextSpan *poppler_text_span);
+void poppler_text_span_free (PopplerTextSpan *poppler_text_span);
+gboolean poppler_text_span_is_fixed_width_font (PopplerTextSpan *poppler_text_span);
+gboolean poppler_text_span_is_serif_font (PopplerTextSpan *poppler_text_span);
+gboolean poppler_text_span_is_bold_font (PopplerTextSpan *poppler_text_span);
+void poppler_text_span_get_color (PopplerTextSpan *poppler_text_span,
+ PopplerColor *color);
+const gchar *poppler_text_span_get_text (PopplerTextSpan *poppler_text_span);
+const gchar *poppler_text_span_get_font_name (PopplerTextSpan *poppler_text_span);
+
+G_END_DECLS
+
+#endif /* !__POPPLER_STRUCTURE_ELEMENT_H__ */
diff --git a/glib/poppler.cc b/glib/poppler.cc
index cc2ca4de..09ec9f45 100644
--- a/glib/poppler.cc
+++ b/glib/poppler.cc
@@ -19,6 +19,10 @@
#include <config.h>
#include "poppler.h"
+#ifndef __GI_SCANNER__
+#include <Error.h>
+#endif
+
GQuark poppler_error_quark (void)
{
static GQuark q = 0;
@@ -56,3 +60,46 @@ poppler_get_version (void)
{
return poppler_version;
}
+
+#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 7)
+
+/* We want to install an error callback so that PDF syntax warnings etc
+ * can be redirected through the GLib logging API instead of always just
+ * going to stderr.
+ */
+
+static void
+error_cb (void *data G_GNUC_UNUSED,
+ ErrorCategory category,
+ Goffset pos,
+ char *message)
+{
+ static const char * const cat_str[] = {
+ "Syntax warning",
+ "Syntax error",
+ NULL,
+ NULL,
+ "IO error",
+ NULL,
+ "Unimplemented feature",
+ "Internal error"
+ };
+
+ /* The following will never occur in poppler-glib */
+ if (category == errConfig ||
+ category == errCommandLine ||
+ category == errNotAllowed)
+ return;
+
+ g_log (G_LOG_DOMAIN, G_LOG_LEVEL_INFO,
+ "%s at position %" G_GOFFSET_FORMAT ": %s",
+ cat_str[category], (goffset) pos, message);
+}
+
+static void __attribute__((__constructor__))
+poppler_constructor (void)
+{
+ setErrorCallback (error_cb, NULL);
+}
+
+#endif /* GNUC */
diff --git a/glib/poppler.h b/glib/poppler.h
index 2d190f35..580479c2 100644
--- a/glib/poppler.h
+++ b/glib/poppler.h
@@ -29,7 +29,7 @@ GQuark poppler_error_quark (void);
/**
* PopplerError:
- * @POPPLER_ERROR_INVALID: Generic error when a document opration fails
+ * @POPPLER_ERROR_INVALID: Generic error when a document operation fails
* @POPPLER_ERROR_ENCRYPTED: Document is encrypted
* @POPPLER_ERROR_OPEN_FILE: File could not be opened for writing when saving document
* @POPPLER_ERROR_BAD_CATALOG: Failed to read the document catalog
@@ -175,6 +175,7 @@ typedef struct _PopplerDocument PopplerDocument;
typedef struct _PopplerIndexIter PopplerIndexIter;
typedef struct _PopplerFontsIter PopplerFontsIter;
typedef struct _PopplerLayersIter PopplerLayersIter;
+typedef struct _PopplerPoint PopplerPoint;
typedef struct _PopplerRectangle PopplerRectangle;
typedef struct _PopplerTextAttributes PopplerTextAttributes;
typedef struct _PopplerColor PopplerColor;
@@ -197,11 +198,19 @@ 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;
typedef struct _PopplerAnnotScreen PopplerAnnotScreen;
typedef struct _PopplerAnnotCalloutLine PopplerAnnotCalloutLine;
+typedef struct _PopplerAnnotLine PopplerAnnotLine;
+typedef struct _PopplerAnnotCircle PopplerAnnotCircle;
+typedef struct _PopplerAnnotSquare PopplerAnnotSquare;
+typedef struct _PopplerQuadrilateral PopplerQuadrilateral;
+typedef struct _PopplerStructureElement PopplerStructureElement;
+typedef struct _PopplerStructureElementIter PopplerStructureElementIter;
+typedef struct _PopplerTextSpan PopplerTextSpan;
typedef enum
{
@@ -227,5 +236,6 @@ G_END_DECLS
#include "poppler-date.h"
#include "poppler-movie.h"
#include "poppler-media.h"
+#include "poppler-structure-element.h"
#endif /* __POPPLER_GLIB_H__ */
diff --git a/glib/reference/Makefile.in b/glib/reference/Makefile.in
index a5807007..660a7cfc 100644
--- a/glib/reference/Makefile.in
+++ b/glib/reference/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.13.3 from Makefile.am.
+# Makefile.in generated by automake 1.14.1 from Makefile.am.
# @configure_input@
# Copyright (C) 1994-2013 Free Software Foundation, Inc.
@@ -167,6 +167,7 @@ GLIB_REQ = @GLIB_REQ@
GLIB_REQUIRED = @GLIB_REQUIRED@
GREP = @GREP@
GTKDOC_CHECK = @GTKDOC_CHECK@
+GTKDOC_CHECK_PATH = @GTKDOC_CHECK_PATH@
GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
GTKDOC_MKPDF = @GTKDOC_MKPDF@
@@ -203,7 +204,6 @@ LIBPNG_CFLAGS = @LIBPNG_CFLAGS@
LIBPNG_LIBS = @LIBPNG_LIBS@
LIBS = @LIBS@
LIBTIFF_CFLAGS = @LIBTIFF_CFLAGS@
-LIBTIFF_CFLAGSS = @LIBTIFF_CFLAGSS@
LIBTIFF_LIBS = @LIBTIFF_LIBS@
LIBTOOL = @LIBTOOL@
LIPO = @LIPO@
@@ -452,11 +452,11 @@ REPORT_FILES = \
$(DOC_MODULE)-undeclared.txt \
$(DOC_MODULE)-unused.txt
-CLEANFILES = $(SCANOBJ_FILES) $(REPORT_FILES) $(DOC_STAMPS)
-@ENABLE_GTK_DOC_TRUE@@GTK_DOC_BUILD_HTML_FALSE@HTML_BUILD_STAMP =
-@ENABLE_GTK_DOC_TRUE@@GTK_DOC_BUILD_HTML_TRUE@HTML_BUILD_STAMP = html-build.stamp
-@ENABLE_GTK_DOC_TRUE@@GTK_DOC_BUILD_PDF_FALSE@PDF_BUILD_STAMP =
-@ENABLE_GTK_DOC_TRUE@@GTK_DOC_BUILD_PDF_TRUE@PDF_BUILD_STAMP = pdf-build.stamp
+CLEANFILES = $(SCANOBJ_FILES) $(REPORT_FILES) $(DOC_STAMPS) gtkdoc-check.test
+@GTK_DOC_BUILD_HTML_FALSE@HTML_BUILD_STAMP =
+@GTK_DOC_BUILD_HTML_TRUE@HTML_BUILD_STAMP = html-build.stamp
+@GTK_DOC_BUILD_PDF_FALSE@PDF_BUILD_STAMP =
+@GTK_DOC_BUILD_PDF_TRUE@PDF_BUILD_STAMP = pdf-build.stamp
#### setup ####
GTK_DOC_V_SETUP = $(GTK_DOC_V_SETUP_$(V))
@@ -572,6 +572,7 @@ distdir: $(DISTFILES)
dist-hook
check-am: all-am
check: check-am
+@ENABLE_GTK_DOC_FALSE@all-local:
all-am: Makefile all-local
installdirs:
install: install-am
@@ -689,8 +690,15 @@ uninstall-am: uninstall-local
uninstall-am uninstall-local
-@ENABLE_GTK_DOC_TRUE@all-local: $(HTML_BUILD_STAMP) $(PDF_BUILD_STAMP)
-@ENABLE_GTK_DOC_FALSE@all-local:
+gtkdoc-check.test: Makefile
+ $(AM_V_GEN)echo "#!/bin/sh -e" > $@; \
+ echo "$(GTKDOC_CHECK_PATH) || exit 1" >> $@; \
+ chmod +x $@
+
+all-gtk-doc: $(HTML_BUILD_STAMP) $(PDF_BUILD_STAMP)
+.PHONY: all-gtk-doc
+
+@ENABLE_GTK_DOC_TRUE@all-local: all-gtk-doc
docs: $(HTML_BUILD_STAMP) $(PDF_BUILD_STAMP)
@@ -701,14 +709,16 @@ setup-build.stamp:
files=`echo $(SETUP_FILES) $(expand_content_files) $(DOC_MODULE).types`; \
if test "x$$files" != "x" ; then \
for file in $$files ; do \
+ destdir=`dirname $(abs_builddir)/$$file`; \
+ test -d "$$destdir" || mkdir -p "$$destdir"; \
test -f $(abs_srcdir)/$$file && \
- cp -pu $(abs_srcdir)/$$file $(abs_builddir)/$$file || true; \
+ cp -pf $(abs_srcdir)/$$file $(abs_builddir)/$$file || true; \
done; \
fi; \
fi
$(AM_V_at)touch setup-build.stamp
-scan-build.stamp: $(HFILE_GLOB) $(CFILE_GLOB)
+scan-build.stamp: setup-build.stamp $(HFILE_GLOB) $(CFILE_GLOB)
$(GTK_DOC_V_SCAN)_source_dir='' ; \
for i in $(DOC_SOURCE_DIR) ; do \
_source_dir="$${_source_dir} --source-dir=$$i" ; \
@@ -797,6 +807,9 @@ pdf-build.stamp: sgml.stamp $(DOC_MAIN_SGML_FILE) $(content_files)
clean-local:
@rm -f *~ *.bak
@rm -rf .libs
+ @if echo $(SCAN_OPTIONS) | grep -q "\-\-rebuild-types" ; then \
+ rm -f $(DOC_MODULE).types; \
+ fi
distclean-local:
@rm -rf xml html $(REPORT_FILES) $(DOC_MODULE).pdf \
@@ -841,12 +854,14 @@ uninstall-local:
#
# Require gtk-doc when making dist
#
-@ENABLE_GTK_DOC_TRUE@dist-check-gtkdoc: docs
-@ENABLE_GTK_DOC_FALSE@dist-check-gtkdoc:
-@ENABLE_GTK_DOC_FALSE@ @echo "*** gtk-doc must be installed and enabled in order to make dist"
-@ENABLE_GTK_DOC_FALSE@ @false
-
-dist-hook: dist-check-gtkdoc dist-hook-local
+@HAVE_GTK_DOC_TRUE@dist-check-gtkdoc: docs
+@HAVE_GTK_DOC_FALSE@dist-check-gtkdoc:
+@HAVE_GTK_DOC_FALSE@ @echo "*** gtk-doc is needed to run 'make dist'. ***"
+@HAVE_GTK_DOC_FALSE@ @echo "*** gtk-doc was not found when 'configure' ran. ***"
+@HAVE_GTK_DOC_FALSE@ @echo "*** please install gtk-doc and rerun 'configure'. ***"
+@HAVE_GTK_DOC_FALSE@ @false
+
+dist-hook: dist-check-gtkdoc all-gtk-doc dist-hook-local
@mkdir $(distdir)/html
@cp ./html/* $(distdir)/html
@-cp ./$(DOC_MODULE).pdf $(distdir)/
diff --git a/glib/reference/html/PopplerAnnot.html b/glib/reference/html/PopplerAnnot.html
index 41e97e93..86b04797 100644
--- a/glib/reference/html/PopplerAnnot.html
+++ b/glib/reference/html/PopplerAnnot.html
@@ -2,32 +2,27 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>PopplerAnnot</title>
+<title>Poppler Reference Manual: PopplerAnnot</title>
<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<link rel="home" href="index.html" title="Poppler Reference Manual">
<link rel="up" href="ch01.html" title="Poppler">
<link rel="prev" href="PopplerFormField.html" title="PoppplerFormField">
<link rel="next" href="PopplerLayer.html" title="PopplerLayer">
-<meta name="generator" content="GTK-Doc V1.19 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
-<tr valign="middle">
-<td><a accesskey="p" href="PopplerFormField.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
-<td><a accesskey="u" href="ch01.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
-<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
-<th width="100%" align="center">Poppler Reference Manual</th>
-<td><a accesskey="n" href="PopplerLayer.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
-</tr>
-<tr><td colspan="5" class="shortcuts">
-<a href="#PopplerAnnot.synopsis" class="shortcut">Top</a>
-  | 
- <a href="#PopplerAnnot.description" class="shortcut">Description</a>
-  | 
- <a href="#PopplerAnnot.object-hierarchy" class="shortcut">Object Hierarchy</a>
-</td></tr>
-</table>
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts">
+<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
+ <a href="#PopplerAnnot.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
+ <a href="#PopplerAnnot.object-hierarchy" class="shortcut">Object Hierarchy</a></span>
+</td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="ch01.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="PopplerFormField.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="PopplerLayer.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
<div class="refentry">
<a name="PopplerAnnot"></a><div class="titlepage"></div>
<div class="refnamediv"><table width="100%"><tr>
@@ -35,754 +30,1481 @@
<h2><span class="refentrytitle"><a name="PopplerAnnot.top_of_page"></a>PopplerAnnot</span></h2>
<p>PopplerAnnot — Annotations</p>
</td>
-<td valign="top" align="right"></td>
+<td class="gallery_image" valign="top" align="right"></td>
</tr></table></div>
-<div class="refsynopsisdiv">
-<a name="PopplerAnnot.synopsis"></a><h2>Synopsis</h2>
-<pre class="synopsis">
-#include &lt;poppler.h&gt;
-
- <a class="link" href="PopplerAnnot.html#PopplerAnnot-struct" title="PopplerAnnot">PopplerAnnot</a>;
- <a class="link" href="PopplerAnnot.html#PopplerAnnotMarkup" title="PopplerAnnotMarkup">PopplerAnnotMarkup</a>;
- <a class="link" href="PopplerAnnot.html#PopplerAnnotText" title="PopplerAnnotText">PopplerAnnotText</a>;
- <a class="link" href="PopplerAnnot.html#PopplerAnnotFreeText" title="PopplerAnnotFreeText">PopplerAnnotFreeText</a>;
- <a class="link" href="PopplerAnnot.html#PopplerAnnotFileAttachment" title="PopplerAnnotFileAttachment">PopplerAnnotFileAttachment</a>;
- <a class="link" href="PopplerAnnot.html#PopplerAnnotMovie" title="PopplerAnnotMovie">PopplerAnnotMovie</a>;
- <a class="link" href="PopplerAnnot.html#PopplerAnnotScreen" title="PopplerAnnotScreen">PopplerAnnotScreen</a>;
-enum <a class="link" href="PopplerAnnot.html#PopplerAnnotType" title="enum PopplerAnnotType">PopplerAnnotType</a>;
-enum <a class="link" href="PopplerAnnot.html#PopplerAnnotFlag" title="enum PopplerAnnotFlag">PopplerAnnotFlag</a>;
-enum <a class="link" href="PopplerAnnot.html#PopplerAnnotExternalDataType" title="enum PopplerAnnotExternalDataType">PopplerAnnotExternalDataType</a>;
-enum <a class="link" href="PopplerAnnot.html#PopplerAnnotMarkupReplyType" title="enum PopplerAnnotMarkupReplyType">PopplerAnnotMarkupReplyType</a>;
-enum <a class="link" href="PopplerAnnot.html#PopplerAnnotTextState" title="enum PopplerAnnotTextState">PopplerAnnotTextState</a>;
- <a class="link" href="PopplerAnnot.html#PopplerAnnotCalloutLine" title="PopplerAnnotCalloutLine">PopplerAnnotCalloutLine</a>;
-enum <a class="link" href="PopplerAnnot.html#PopplerAnnotFreeTextQuadding" title="enum PopplerAnnotFreeTextQuadding">PopplerAnnotFreeTextQuadding</a>;
-<a class="link" href="PopplerAnnot.html#PopplerAnnotType" title="enum PopplerAnnotType"><span class="returnvalue">PopplerAnnotType</span></a> <a class="link" href="PopplerAnnot.html#poppler-annot-get-annot-type" title="poppler_annot_get_annot_type ()">poppler_annot_get_annot_type</a> (<em class="parameter"><code><a class="link" href="PopplerAnnot.html" title="PopplerAnnot"><span class="type">PopplerAnnot</span></a> *poppler_annot</code></em>);
-<a class="link" href="PopplerAnnot.html#PopplerAnnotFlag" title="enum PopplerAnnotFlag"><span class="returnvalue">PopplerAnnotFlag</span></a> <a class="link" href="PopplerAnnot.html#poppler-annot-get-flags" title="poppler_annot_get_flags ()">poppler_annot_get_flags</a> (<em class="parameter"><code><a class="link" href="PopplerAnnot.html" title="PopplerAnnot"><span class="type">PopplerAnnot</span></a> *poppler_annot</code></em>);
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> * <a class="link" href="PopplerAnnot.html#poppler-annot-get-name" title="poppler_annot_get_name ()">poppler_annot_get_name</a> (<em class="parameter"><code><a class="link" href="PopplerAnnot.html" title="PopplerAnnot"><span class="type">PopplerAnnot</span></a> *poppler_annot</code></em>);
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="returnvalue">gint</span></a> <a class="link" href="PopplerAnnot.html#poppler-annot-get-page-index" title="poppler_annot_get_page_index ()">poppler_annot_get_page_index</a> (<em class="parameter"><code><a class="link" href="PopplerAnnot.html" title="PopplerAnnot"><span class="type">PopplerAnnot</span></a> *poppler_annot</code></em>);
-<a class="link" href="poppler-poppler.html#PopplerColor" title="PopplerColor"><span class="returnvalue">PopplerColor</span></a> * <a class="link" href="PopplerAnnot.html#poppler-annot-get-color" title="poppler_annot_get_color ()">poppler_annot_get_color</a> (<em class="parameter"><code><a class="link" href="PopplerAnnot.html" title="PopplerAnnot"><span class="type">PopplerAnnot</span></a> *poppler_annot</code></em>);
-<span class="returnvalue">void</span> <a class="link" href="PopplerAnnot.html#poppler-annot-set-color" title="poppler_annot_set_color ()">poppler_annot_set_color</a> (<em class="parameter"><code><a class="link" href="PopplerAnnot.html" title="PopplerAnnot"><span class="type">PopplerAnnot</span></a> *poppler_annot</code></em>,
- <em class="parameter"><code><a class="link" href="poppler-poppler.html#PopplerColor" title="PopplerColor"><span class="type">PopplerColor</span></a> *poppler_color</code></em>);
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> * <a class="link" href="PopplerAnnot.html#poppler-annot-get-contents" title="poppler_annot_get_contents ()">poppler_annot_get_contents</a> (<em class="parameter"><code><a class="link" href="PopplerAnnot.html" title="PopplerAnnot"><span class="type">PopplerAnnot</span></a> *poppler_annot</code></em>);
-<span class="returnvalue">void</span> <a class="link" href="PopplerAnnot.html#poppler-annot-set-contents" title="poppler_annot_set_contents ()">poppler_annot_set_contents</a> (<em class="parameter"><code><a class="link" href="PopplerAnnot.html" title="PopplerAnnot"><span class="type">PopplerAnnot</span></a> *poppler_annot</code></em>,
- <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *contents</code></em>);
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> * <a class="link" href="PopplerAnnot.html#poppler-annot-get-modified" title="poppler_annot_get_modified ()">poppler_annot_get_modified</a> (<em class="parameter"><code><a class="link" href="PopplerAnnot.html" title="PopplerAnnot"><span class="type">PopplerAnnot</span></a> *poppler_annot</code></em>);
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> * <a class="link" href="PopplerAnnot.html#poppler-annot-markup-get-label" title="poppler_annot_markup_get_label ()">poppler_annot_markup_get_label</a> (<em class="parameter"><code><a class="link" href="PopplerAnnot.html#PopplerAnnotMarkup" title="PopplerAnnotMarkup"><span class="type">PopplerAnnotMarkup</span></a> *poppler_annot</code></em>);
-<span class="returnvalue">void</span> <a class="link" href="PopplerAnnot.html#poppler-annot-markup-set-label" title="poppler_annot_markup_set_label ()">poppler_annot_markup_set_label</a> (<em class="parameter"><code><a class="link" href="PopplerAnnot.html#PopplerAnnotMarkup" title="PopplerAnnotMarkup"><span class="type">PopplerAnnotMarkup</span></a> *poppler_annot</code></em>,
- <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *label</code></em>);
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> * <a class="link" href="PopplerAnnot.html#poppler-annot-markup-get-subject" title="poppler_annot_markup_get_subject ()">poppler_annot_markup_get_subject</a> (<em class="parameter"><code><a class="link" href="PopplerAnnot.html#PopplerAnnotMarkup" title="PopplerAnnotMarkup"><span class="type">PopplerAnnotMarkup</span></a> *poppler_annot</code></em>);
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="returnvalue">gdouble</span></a> <a class="link" href="PopplerAnnot.html#poppler-annot-markup-get-opacity" title="poppler_annot_markup_get_opacity ()">poppler_annot_markup_get_opacity</a> (<em class="parameter"><code><a class="link" href="PopplerAnnot.html#PopplerAnnotMarkup" title="PopplerAnnotMarkup"><span class="type">PopplerAnnotMarkup</span></a> *poppler_annot</code></em>);
-<span class="returnvalue">void</span> <a class="link" href="PopplerAnnot.html#poppler-annot-markup-set-opacity" title="poppler_annot_markup_set_opacity ()">poppler_annot_markup_set_opacity</a> (<em class="parameter"><code><a class="link" href="PopplerAnnot.html#PopplerAnnotMarkup" title="PopplerAnnotMarkup"><span class="type">PopplerAnnotMarkup</span></a> *poppler_annot</code></em>,
- <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> opacity</code></em>);
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="PopplerAnnot.html#poppler-annot-markup-has-popup" title="poppler_annot_markup_has_popup ()">poppler_annot_markup_has_popup</a> (<em class="parameter"><code><a class="link" href="PopplerAnnot.html#PopplerAnnotMarkup" title="PopplerAnnotMarkup"><span class="type">PopplerAnnotMarkup</span></a> *poppler_annot</code></em>);
-<span class="returnvalue">void</span> <a class="link" href="PopplerAnnot.html#poppler-annot-markup-set-popup" title="poppler_annot_markup_set_popup ()">poppler_annot_markup_set_popup</a> (<em class="parameter"><code><a class="link" href="PopplerAnnot.html#PopplerAnnotMarkup" title="PopplerAnnotMarkup"><span class="type">PopplerAnnotMarkup</span></a> *poppler_annot</code></em>,
- <em class="parameter"><code><a class="link" href="PopplerPage.html#PopplerRectangle" title="PopplerRectangle"><span class="type">PopplerRectangle</span></a> *popup_rect</code></em>);
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="PopplerAnnot.html#poppler-annot-markup-get-popup-is-open" title="poppler_annot_markup_get_popup_is_open ()">poppler_annot_markup_get_popup_is_open</a>
- (<em class="parameter"><code><a class="link" href="PopplerAnnot.html#PopplerAnnotMarkup" title="PopplerAnnotMarkup"><span class="type">PopplerAnnotMarkup</span></a> *poppler_annot</code></em>);
-<span class="returnvalue">void</span> <a class="link" href="PopplerAnnot.html#poppler-annot-markup-set-popup-is-open" title="poppler_annot_markup_set_popup_is_open ()">poppler_annot_markup_set_popup_is_open</a>
- (<em class="parameter"><code><a class="link" href="PopplerAnnot.html#PopplerAnnotMarkup" title="PopplerAnnotMarkup"><span class="type">PopplerAnnotMarkup</span></a> *poppler_annot</code></em>,
- <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> is_open</code></em>);
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="PopplerAnnot.html#poppler-annot-markup-get-popup-rectangle" title="poppler_annot_markup_get_popup_rectangle ()">poppler_annot_markup_get_popup_rectangle</a>
- (<em class="parameter"><code><a class="link" href="PopplerAnnot.html#PopplerAnnotMarkup" title="PopplerAnnotMarkup"><span class="type">PopplerAnnotMarkup</span></a> *poppler_annot</code></em>,
- <em class="parameter"><code><a class="link" href="PopplerPage.html#PopplerRectangle" title="PopplerRectangle"><span class="type">PopplerRectangle</span></a> *poppler_rect</code></em>);
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Date-and-Time-Functions.html#GDate"><span class="returnvalue">GDate</span></a> * <a class="link" href="PopplerAnnot.html#poppler-annot-markup-get-date" title="poppler_annot_markup_get_date ()">poppler_annot_markup_get_date</a> (<em class="parameter"><code><a class="link" href="PopplerAnnot.html#PopplerAnnotMarkup" title="PopplerAnnotMarkup"><span class="type">PopplerAnnotMarkup</span></a> *poppler_annot</code></em>);
-<a class="link" href="PopplerAnnot.html#PopplerAnnotExternalDataType" title="enum PopplerAnnotExternalDataType"><span class="returnvalue">PopplerAnnotExternalDataType</span></a> <a class="link" href="PopplerAnnot.html#poppler-annot-markup-get-external-data" title="poppler_annot_markup_get_external_data ()">poppler_annot_markup_get_external_data</a>
- (<em class="parameter"><code><a class="link" href="PopplerAnnot.html#PopplerAnnotMarkup" title="PopplerAnnotMarkup"><span class="type">PopplerAnnotMarkup</span></a> *poppler_annot</code></em>);
-<a class="link" href="PopplerAnnot.html#PopplerAnnotMarkupReplyType" title="enum PopplerAnnotMarkupReplyType"><span class="returnvalue">PopplerAnnotMarkupReplyType</span></a> <a class="link" href="PopplerAnnot.html#poppler-annot-markup-get-reply-to" title="poppler_annot_markup_get_reply_to ()">poppler_annot_markup_get_reply_to</a>
- (<em class="parameter"><code><a class="link" href="PopplerAnnot.html#PopplerAnnotMarkup" title="PopplerAnnotMarkup"><span class="type">PopplerAnnotMarkup</span></a> *poppler_annot</code></em>);
-<a class="link" href="PopplerAnnot.html" title="PopplerAnnot"><span class="returnvalue">PopplerAnnot</span></a> * <a class="link" href="PopplerAnnot.html#poppler-annot-text-new" title="poppler_annot_text_new ()">poppler_annot_text_new</a> (<em class="parameter"><code><a class="link" href="PopplerDocument.html" title="PopplerDocument"><span class="type">PopplerDocument</span></a> *doc</code></em>,
- <em class="parameter"><code><a class="link" href="PopplerPage.html#PopplerRectangle" title="PopplerRectangle"><span class="type">PopplerRectangle</span></a> *rect</code></em>);
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> * <a class="link" href="PopplerAnnot.html#poppler-annot-text-get-icon" title="poppler_annot_text_get_icon ()">poppler_annot_text_get_icon</a> (<em class="parameter"><code><a class="link" href="PopplerAnnot.html#PopplerAnnotText" title="PopplerAnnotText"><span class="type">PopplerAnnotText</span></a> *poppler_annot</code></em>);
-#define <a class="link" href="PopplerAnnot.html#POPPLER-ANNOT-TEXT-ICON-NOTE:CAPS" title="POPPLER_ANNOT_TEXT_ICON_NOTE">POPPLER_ANNOT_TEXT_ICON_NOTE</a>
-#define <a class="link" href="PopplerAnnot.html#POPPLER-ANNOT-TEXT-ICON-COMMENT:CAPS" title="POPPLER_ANNOT_TEXT_ICON_COMMENT">POPPLER_ANNOT_TEXT_ICON_COMMENT</a>
-#define <a class="link" href="PopplerAnnot.html#POPPLER-ANNOT-TEXT-ICON-KEY:CAPS" title="POPPLER_ANNOT_TEXT_ICON_KEY">POPPLER_ANNOT_TEXT_ICON_KEY</a>
-#define <a class="link" href="PopplerAnnot.html#POPPLER-ANNOT-TEXT-ICON-HELP:CAPS" title="POPPLER_ANNOT_TEXT_ICON_HELP">POPPLER_ANNOT_TEXT_ICON_HELP</a>
-#define <a class="link" href="PopplerAnnot.html#POPPLER-ANNOT-TEXT-ICON-NEW-PARAGRAPH:CAPS" title="POPPLER_ANNOT_TEXT_ICON_NEW_PARAGRAPH">POPPLER_ANNOT_TEXT_ICON_NEW_PARAGRAPH</a>
-#define <a class="link" href="PopplerAnnot.html#POPPLER-ANNOT-TEXT-ICON-PARAGRAPH:CAPS" title="POPPLER_ANNOT_TEXT_ICON_PARAGRAPH">POPPLER_ANNOT_TEXT_ICON_PARAGRAPH</a>
-#define <a class="link" href="PopplerAnnot.html#POPPLER-ANNOT-TEXT-ICON-INSERT:CAPS" title="POPPLER_ANNOT_TEXT_ICON_INSERT">POPPLER_ANNOT_TEXT_ICON_INSERT</a>
-#define <a class="link" href="PopplerAnnot.html#POPPLER-ANNOT-TEXT-ICON-CROSS:CAPS" title="POPPLER_ANNOT_TEXT_ICON_CROSS">POPPLER_ANNOT_TEXT_ICON_CROSS</a>
-#define <a class="link" href="PopplerAnnot.html#POPPLER-ANNOT-TEXT-ICON-CIRCLE:CAPS" title="POPPLER_ANNOT_TEXT_ICON_CIRCLE">POPPLER_ANNOT_TEXT_ICON_CIRCLE</a>
-<span class="returnvalue">void</span> <a class="link" href="PopplerAnnot.html#poppler-annot-text-set-icon" title="poppler_annot_text_set_icon ()">poppler_annot_text_set_icon</a> (<em class="parameter"><code><a class="link" href="PopplerAnnot.html#PopplerAnnotText" title="PopplerAnnotText"><span class="type">PopplerAnnotText</span></a> *poppler_annot</code></em>,
- <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *icon</code></em>);
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="PopplerAnnot.html#poppler-annot-text-get-is-open" title="poppler_annot_text_get_is_open ()">poppler_annot_text_get_is_open</a> (<em class="parameter"><code><a class="link" href="PopplerAnnot.html#PopplerAnnotText" title="PopplerAnnotText"><span class="type">PopplerAnnotText</span></a> *poppler_annot</code></em>);
-<span class="returnvalue">void</span> <a class="link" href="PopplerAnnot.html#poppler-annot-text-set-is-open" title="poppler_annot_text_set_is_open ()">poppler_annot_text_set_is_open</a> (<em class="parameter"><code><a class="link" href="PopplerAnnot.html#PopplerAnnotText" title="PopplerAnnotText"><span class="type">PopplerAnnotText</span></a> *poppler_annot</code></em>,
- <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> is_open</code></em>);
-<a class="link" href="PopplerAnnot.html#PopplerAnnotTextState" title="enum PopplerAnnotTextState"><span class="returnvalue">PopplerAnnotTextState</span></a> <a class="link" href="PopplerAnnot.html#poppler-annot-text-get-state" title="poppler_annot_text_get_state ()">poppler_annot_text_get_state</a> (<em class="parameter"><code><a class="link" href="PopplerAnnot.html#PopplerAnnotText" title="PopplerAnnotText"><span class="type">PopplerAnnotText</span></a> *poppler_annot</code></em>);
-<a class="link" href="PopplerAnnot.html#PopplerAnnotCalloutLine" title="PopplerAnnotCalloutLine"><span class="returnvalue">PopplerAnnotCalloutLine</span></a> * <a class="link" href="PopplerAnnot.html#poppler-annot-free-text-get-callout-line" title="poppler_annot_free_text_get_callout_line ()">poppler_annot_free_text_get_callout_line</a>
- (<em class="parameter"><code><a class="link" href="PopplerAnnot.html#PopplerAnnotFreeText" title="PopplerAnnotFreeText"><span class="type">PopplerAnnotFreeText</span></a> *poppler_annot</code></em>);
-<a class="link" href="PopplerAnnot.html#PopplerAnnotFreeTextQuadding" title="enum PopplerAnnotFreeTextQuadding"><span class="returnvalue">PopplerAnnotFreeTextQuadding</span></a> <a class="link" href="PopplerAnnot.html#poppler-annot-free-text-get-quadding" title="poppler_annot_free_text_get_quadding ()">poppler_annot_free_text_get_quadding</a>
- (<em class="parameter"><code><a class="link" href="PopplerAnnot.html#PopplerAnnotFreeText" title="PopplerAnnotFreeText"><span class="type">PopplerAnnotFreeText</span></a> *poppler_annot</code></em>);
-<a class="link" href="PopplerAttachment.html" title="PopplerAttachment"><span class="returnvalue">PopplerAttachment</span></a> * <a class="link" href="PopplerAnnot.html#poppler-annot-file-attachment-get-attachment" title="poppler_annot_file_attachment_get_attachment ()">poppler_annot_file_attachment_get_attachment</a>
- (<em class="parameter"><code><a class="link" href="PopplerAnnot.html#PopplerAnnotFileAttachment" title="PopplerAnnotFileAttachment"><span class="type">PopplerAnnotFileAttachment</span></a> *poppler_annot</code></em>);
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> * <a class="link" href="PopplerAnnot.html#poppler-annot-file-attachment-get-name" title="poppler_annot_file_attachment_get_name ()">poppler_annot_file_attachment_get_name</a>
- (<em class="parameter"><code><a class="link" href="PopplerAnnot.html#PopplerAnnotFileAttachment" title="PopplerAnnotFileAttachment"><span class="type">PopplerAnnotFileAttachment</span></a> *poppler_annot</code></em>);
-<a class="link" href="poppler-PopplerAction.html#PopplerAction" title="union PopplerAction"><span class="returnvalue">PopplerAction</span></a> * <a class="link" href="PopplerAnnot.html#poppler-annot-screen-get-action" title="poppler_annot_screen_get_action ()">poppler_annot_screen_get_action</a> (<em class="parameter"><code><a class="link" href="PopplerAnnot.html#PopplerAnnotScreen" title="PopplerAnnotScreen"><span class="type">PopplerAnnotScreen</span></a> *poppler_annot</code></em>);
-<a class="link" href="PopplerMovie.html" title="PopplerMovie"><span class="returnvalue">PopplerMovie</span></a> * <a class="link" href="PopplerAnnot.html#poppler-annot-movie-get-movie" title="poppler_annot_movie_get_movie ()">poppler_annot_movie_get_movie</a> (<em class="parameter"><code><a class="link" href="PopplerAnnot.html#PopplerAnnotMovie" title="PopplerAnnotMovie"><span class="type">PopplerAnnotMovie</span></a> *poppler_annot</code></em>);
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> * <a class="link" href="PopplerAnnot.html#poppler-annot-movie-get-title" title="poppler_annot_movie_get_title ()">poppler_annot_movie_get_title</a> (<em class="parameter"><code><a class="link" href="PopplerAnnot.html#PopplerAnnotMovie" title="PopplerAnnotMovie"><span class="type">PopplerAnnotMovie</span></a> *poppler_annot</code></em>);
-<a class="link" href="PopplerAnnot.html#PopplerAnnotCalloutLine" title="PopplerAnnotCalloutLine"><span class="returnvalue">PopplerAnnotCalloutLine</span></a> * <a class="link" href="PopplerAnnot.html#poppler-annot-callout-line-new" title="poppler_annot_callout_line_new ()">poppler_annot_callout_line_new</a>
- (<em class="parameter"><code><span class="type">void</span></code></em>);
-<a class="link" href="PopplerAnnot.html#PopplerAnnotCalloutLine" title="PopplerAnnotCalloutLine"><span class="returnvalue">PopplerAnnotCalloutLine</span></a> * <a class="link" href="PopplerAnnot.html#poppler-annot-callout-line-copy" title="poppler_annot_callout_line_copy ()">poppler_annot_callout_line_copy</a>
- (<em class="parameter"><code><a class="link" href="PopplerAnnot.html#PopplerAnnotCalloutLine" title="PopplerAnnotCalloutLine"><span class="type">PopplerAnnotCalloutLine</span></a> *callout</code></em>);
-<span class="returnvalue">void</span> <a class="link" href="PopplerAnnot.html#poppler-annot-callout-line-free" title="poppler_annot_callout_line_free ()">poppler_annot_callout_line_free</a> (<em class="parameter"><code><a class="link" href="PopplerAnnot.html#PopplerAnnotCalloutLine" title="PopplerAnnotCalloutLine"><span class="type">PopplerAnnotCalloutLine</span></a> *callout</code></em>);
-</pre>
-</div>
<div class="refsect1">
-<a name="PopplerAnnot.object-hierarchy"></a><h2>Object Hierarchy</h2>
-<pre class="synopsis">
- <a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObject">GObject</a>
- +----PopplerAnnot
-</pre>
-</div>
-<div class="refsect1">
-<a name="PopplerAnnot.description"></a><h2>Description</h2>
-</div>
-<div class="refsect1">
-<a name="PopplerAnnot.details"></a><h2>Details</h2>
-<div class="refsect2">
-<a name="PopplerAnnot-struct"></a><h3>PopplerAnnot</h3>
-<pre class="programlisting">typedef struct _PopplerAnnot PopplerAnnot;</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="PopplerAnnotMarkup"></a><h3>PopplerAnnotMarkup</h3>
-<pre class="programlisting">typedef struct _PopplerAnnotMarkup PopplerAnnotMarkup;</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="PopplerAnnotText"></a><h3>PopplerAnnotText</h3>
-<pre class="programlisting">typedef struct _PopplerAnnotText PopplerAnnotText;</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="PopplerAnnotFreeText"></a><h3>PopplerAnnotFreeText</h3>
-<pre class="programlisting">typedef struct _PopplerAnnotFreeText PopplerAnnotFreeText;</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="PopplerAnnotFileAttachment"></a><h3>PopplerAnnotFileAttachment</h3>
-<pre class="programlisting">typedef struct _PopplerAnnotFileAttachment PopplerAnnotFileAttachment;</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="PopplerAnnotMovie"></a><h3>PopplerAnnotMovie</h3>
-<pre class="programlisting">typedef struct _PopplerAnnotMovie PopplerAnnotMovie;</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="PopplerAnnotScreen"></a><h3>PopplerAnnotScreen</h3>
-<pre class="programlisting">typedef struct _PopplerAnnotScreen PopplerAnnotScreen;</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="PopplerAnnotType"></a><h3>enum PopplerAnnotType</h3>
-<pre class="programlisting">typedef enum {
- POPPLER_ANNOT_UNKNOWN,
- POPPLER_ANNOT_TEXT,
- POPPLER_ANNOT_LINK,
- POPPLER_ANNOT_FREE_TEXT,
- POPPLER_ANNOT_LINE,
- POPPLER_ANNOT_SQUARE,
- POPPLER_ANNOT_CIRCLE,
- POPPLER_ANNOT_POLYGON,
- POPPLER_ANNOT_POLY_LINE,
- POPPLER_ANNOT_HIGHLIGHT,
- POPPLER_ANNOT_UNDERLINE,
- POPPLER_ANNOT_SQUIGGLY,
- POPPLER_ANNOT_STRIKE_OUT,
- POPPLER_ANNOT_STAMP,
- POPPLER_ANNOT_CARET,
- POPPLER_ANNOT_INK,
- POPPLER_ANNOT_POPUP,
- POPPLER_ANNOT_FILE_ATTACHMENT,
- POPPLER_ANNOT_SOUND,
- POPPLER_ANNOT_MOVIE,
- POPPLER_ANNOT_WIDGET,
- POPPLER_ANNOT_SCREEN,
- POPPLER_ANNOT_PRINTER_MARK,
- POPPLER_ANNOT_TRAP_NET,
- POPPLER_ANNOT_WATERMARK,
- POPPLER_ANNOT_3D
-} PopplerAnnotType;
-</pre>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="PopplerAnnot.functions"></a><h2>Functions</h2>
+<div class="informaltable"><table width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="functions_return">
+<col class="functions_name">
</colgroup>
<tbody>
<tr>
-<td><p><a name="POPPLER-ANNOT-UNKNOWN:CAPS"></a><span class="term"><code class="literal">POPPLER_ANNOT_UNKNOWN</code></span></p></td>
-<td></td>
+<td class="function_type">
+<a class="link" href="PopplerAnnot.html#PopplerAnnotType" title="enum PopplerAnnotType"><span class="returnvalue">PopplerAnnotType</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="PopplerAnnot.html#poppler-annot-get-annot-type" title="poppler_annot_get_annot_type ()">poppler_annot_get_annot_type</a> <span class="c_punctuation">()</span>
+</td>
</tr>
<tr>
-<td><p><a name="POPPLER-ANNOT-TEXT:CAPS"></a><span class="term"><code class="literal">POPPLER_ANNOT_TEXT</code></span></p></td>
-<td></td>
+<td class="function_type">
+<a class="link" href="PopplerAnnot.html#PopplerAnnotFlag" title="enum PopplerAnnotFlag"><span class="returnvalue">PopplerAnnotFlag</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="PopplerAnnot.html#poppler-annot-get-flags" title="poppler_annot_get_flags ()">poppler_annot_get_flags</a> <span class="c_punctuation">()</span>
+</td>
</tr>
<tr>
-<td><p><a name="POPPLER-ANNOT-LINK:CAPS"></a><span class="term"><code class="literal">POPPLER_ANNOT_LINK</code></span></p></td>
-<td></td>
+<td class="function_type">
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="PopplerAnnot.html#poppler-annot-get-name" title="poppler_annot_get_name ()">poppler_annot_get_name</a> <span class="c_punctuation">()</span>
+</td>
</tr>
<tr>
-<td><p><a name="POPPLER-ANNOT-FREE-TEXT:CAPS"></a><span class="term"><code class="literal">POPPLER_ANNOT_FREE_TEXT</code></span></p></td>
-<td></td>
+<td class="function_type">
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="returnvalue">gint</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="PopplerAnnot.html#poppler-annot-get-page-index" title="poppler_annot_get_page_index ()">poppler_annot_get_page_index</a> <span class="c_punctuation">()</span>
+</td>
</tr>
<tr>
-<td><p><a name="POPPLER-ANNOT-LINE:CAPS"></a><span class="term"><code class="literal">POPPLER_ANNOT_LINE</code></span></p></td>
-<td></td>
+<td class="function_type">
+<a class="link" href="poppler-poppler.html#PopplerColor" title="PopplerColor"><span class="returnvalue">PopplerColor</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="PopplerAnnot.html#poppler-annot-get-color" title="poppler_annot_get_color ()">poppler_annot_get_color</a> <span class="c_punctuation">()</span>
+</td>
</tr>
<tr>
-<td><p><a name="POPPLER-ANNOT-SQUARE:CAPS"></a><span class="term"><code class="literal">POPPLER_ANNOT_SQUARE</code></span></p></td>
-<td></td>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="PopplerAnnot.html#poppler-annot-set-color" title="poppler_annot_set_color ()">poppler_annot_set_color</a> <span class="c_punctuation">()</span>
+</td>
</tr>
<tr>
-<td><p><a name="POPPLER-ANNOT-CIRCLE:CAPS"></a><span class="term"><code class="literal">POPPLER_ANNOT_CIRCLE</code></span></p></td>
-<td></td>
+<td class="function_type">
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="PopplerAnnot.html#poppler-annot-get-contents" title="poppler_annot_get_contents ()">poppler_annot_get_contents</a> <span class="c_punctuation">()</span>
+</td>
</tr>
<tr>
-<td><p><a name="POPPLER-ANNOT-POLYGON:CAPS"></a><span class="term"><code class="literal">POPPLER_ANNOT_POLYGON</code></span></p></td>
-<td></td>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="PopplerAnnot.html#poppler-annot-set-contents" title="poppler_annot_set_contents ()">poppler_annot_set_contents</a> <span class="c_punctuation">()</span>
+</td>
</tr>
<tr>
-<td><p><a name="POPPLER-ANNOT-POLY-LINE:CAPS"></a><span class="term"><code class="literal">POPPLER_ANNOT_POLY_LINE</code></span></p></td>
-<td></td>
+<td class="function_type">
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="PopplerAnnot.html#poppler-annot-get-modified" title="poppler_annot_get_modified ()">poppler_annot_get_modified</a> <span class="c_punctuation">()</span>
+</td>
</tr>
<tr>
-<td><p><a name="POPPLER-ANNOT-HIGHLIGHT:CAPS"></a><span class="term"><code class="literal">POPPLER_ANNOT_HIGHLIGHT</code></span></p></td>
-<td></td>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="PopplerAnnot.html#poppler-annot-get-rectangle" title="poppler_annot_get_rectangle ()">poppler_annot_get_rectangle</a> <span class="c_punctuation">()</span>
+</td>
</tr>
<tr>
-<td><p><a name="POPPLER-ANNOT-UNDERLINE:CAPS"></a><span class="term"><code class="literal">POPPLER_ANNOT_UNDERLINE</code></span></p></td>
-<td></td>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="PopplerAnnot.html#poppler-annot-set-rectangle" title="poppler_annot_set_rectangle ()">poppler_annot_set_rectangle</a> <span class="c_punctuation">()</span>
+</td>
</tr>
<tr>
-<td><p><a name="POPPLER-ANNOT-SQUIGGLY:CAPS"></a><span class="term"><code class="literal">POPPLER_ANNOT_SQUIGGLY</code></span></p></td>
-<td></td>
+<td class="function_type">
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="PopplerAnnot.html#poppler-annot-markup-get-label" title="poppler_annot_markup_get_label ()">poppler_annot_markup_get_label</a> <span class="c_punctuation">()</span>
+</td>
</tr>
<tr>
-<td><p><a name="POPPLER-ANNOT-STRIKE-OUT:CAPS"></a><span class="term"><code class="literal">POPPLER_ANNOT_STRIKE_OUT</code></span></p></td>
-<td></td>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="PopplerAnnot.html#poppler-annot-markup-set-label" title="poppler_annot_markup_set_label ()">poppler_annot_markup_set_label</a> <span class="c_punctuation">()</span>
+</td>
</tr>
<tr>
-<td><p><a name="POPPLER-ANNOT-STAMP:CAPS"></a><span class="term"><code class="literal">POPPLER_ANNOT_STAMP</code></span></p></td>
-<td></td>
+<td class="function_type">
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="PopplerAnnot.html#poppler-annot-markup-get-subject" title="poppler_annot_markup_get_subject ()">poppler_annot_markup_get_subject</a> <span class="c_punctuation">()</span>
+</td>
</tr>
<tr>
-<td><p><a name="POPPLER-ANNOT-CARET:CAPS"></a><span class="term"><code class="literal">POPPLER_ANNOT_CARET</code></span></p></td>
-<td></td>
+<td class="function_type">
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="returnvalue">gdouble</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="PopplerAnnot.html#poppler-annot-markup-get-opacity" title="poppler_annot_markup_get_opacity ()">poppler_annot_markup_get_opacity</a> <span class="c_punctuation">()</span>
+</td>
</tr>
<tr>
-<td><p><a name="POPPLER-ANNOT-INK:CAPS"></a><span class="term"><code class="literal">POPPLER_ANNOT_INK</code></span></p></td>
-<td></td>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="PopplerAnnot.html#poppler-annot-markup-set-opacity" title="poppler_annot_markup_set_opacity ()">poppler_annot_markup_set_opacity</a> <span class="c_punctuation">()</span>
+</td>
</tr>
<tr>
-<td><p><a name="POPPLER-ANNOT-POPUP:CAPS"></a><span class="term"><code class="literal">POPPLER_ANNOT_POPUP</code></span></p></td>
-<td></td>
+<td class="function_type">
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="PopplerAnnot.html#poppler-annot-markup-has-popup" title="poppler_annot_markup_has_popup ()">poppler_annot_markup_has_popup</a> <span class="c_punctuation">()</span>
+</td>
</tr>
<tr>
-<td><p><a name="POPPLER-ANNOT-FILE-ATTACHMENT:CAPS"></a><span class="term"><code class="literal">POPPLER_ANNOT_FILE_ATTACHMENT</code></span></p></td>
-<td></td>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="PopplerAnnot.html#poppler-annot-markup-set-popup" title="poppler_annot_markup_set_popup ()">poppler_annot_markup_set_popup</a> <span class="c_punctuation">()</span>
+</td>
</tr>
<tr>
-<td><p><a name="POPPLER-ANNOT-SOUND:CAPS"></a><span class="term"><code class="literal">POPPLER_ANNOT_SOUND</code></span></p></td>
-<td></td>
+<td class="function_type">
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="PopplerAnnot.html#poppler-annot-markup-get-popup-is-open" title="poppler_annot_markup_get_popup_is_open ()">poppler_annot_markup_get_popup_is_open</a> <span class="c_punctuation">()</span>
+</td>
</tr>
<tr>
-<td><p><a name="POPPLER-ANNOT-MOVIE:CAPS"></a><span class="term"><code class="literal">POPPLER_ANNOT_MOVIE</code></span></p></td>
-<td></td>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="PopplerAnnot.html#poppler-annot-markup-set-popup-is-open" title="poppler_annot_markup_set_popup_is_open ()">poppler_annot_markup_set_popup_is_open</a> <span class="c_punctuation">()</span>
+</td>
</tr>
<tr>
-<td><p><a name="POPPLER-ANNOT-WIDGET:CAPS"></a><span class="term"><code class="literal">POPPLER_ANNOT_WIDGET</code></span></p></td>
-<td></td>
+<td class="function_type">
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="PopplerAnnot.html#poppler-annot-markup-get-popup-rectangle" title="poppler_annot_markup_get_popup_rectangle ()">poppler_annot_markup_get_popup_rectangle</a> <span class="c_punctuation">()</span>
+</td>
</tr>
<tr>
-<td><p><a name="POPPLER-ANNOT-SCREEN:CAPS"></a><span class="term"><code class="literal">POPPLER_ANNOT_SCREEN</code></span></p></td>
-<td></td>
+<td class="function_type">
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Date-and-Time-Functions.html#GDate"><span class="returnvalue">GDate</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="PopplerAnnot.html#poppler-annot-markup-get-date" title="poppler_annot_markup_get_date ()">poppler_annot_markup_get_date</a> <span class="c_punctuation">()</span>
+</td>
</tr>
<tr>
-<td><p><a name="POPPLER-ANNOT-PRINTER-MARK:CAPS"></a><span class="term"><code class="literal">POPPLER_ANNOT_PRINTER_MARK</code></span></p></td>
-<td></td>
+<td class="function_type">
+<a class="link" href="PopplerAnnot.html#PopplerAnnotExternalDataType" title="enum PopplerAnnotExternalDataType"><span class="returnvalue">PopplerAnnotExternalDataType</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="PopplerAnnot.html#poppler-annot-markup-get-external-data" title="poppler_annot_markup_get_external_data ()">poppler_annot_markup_get_external_data</a> <span class="c_punctuation">()</span>
+</td>
</tr>
<tr>
-<td><p><a name="POPPLER-ANNOT-TRAP-NET:CAPS"></a><span class="term"><code class="literal">POPPLER_ANNOT_TRAP_NET</code></span></p></td>
-<td></td>
+<td class="function_type">
+<a class="link" href="PopplerAnnot.html#PopplerAnnotMarkupReplyType" title="enum PopplerAnnotMarkupReplyType"><span class="returnvalue">PopplerAnnotMarkupReplyType</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="PopplerAnnot.html#poppler-annot-markup-get-reply-to" title="poppler_annot_markup_get_reply_to ()">poppler_annot_markup_get_reply_to</a> <span class="c_punctuation">()</span>
+</td>
</tr>
<tr>
-<td><p><a name="POPPLER-ANNOT-WATERMARK:CAPS"></a><span class="term"><code class="literal">POPPLER_ANNOT_WATERMARK</code></span></p></td>
-<td></td>
+<td class="function_type">
+<a class="link" href="PopplerAnnot.html" title="PopplerAnnot"><span class="returnvalue">PopplerAnnot</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="PopplerAnnot.html#poppler-annot-text-new" title="poppler_annot_text_new ()">poppler_annot_text_new</a> <span class="c_punctuation">()</span>
+</td>
</tr>
<tr>
-<td><p><a name="POPPLER-ANNOT-3D:CAPS"></a><span class="term"><code class="literal">POPPLER_ANNOT_3D</code></span></p></td>
-<td></td>
+<td class="function_type">
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="PopplerAnnot.html#poppler-annot-text-get-icon" title="poppler_annot_text_get_icon ()">poppler_annot_text_get_icon</a> <span class="c_punctuation">()</span>
+</td>
</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2">
-<a name="PopplerAnnotFlag"></a><h3>enum PopplerAnnotFlag</h3>
-<pre class="programlisting">typedef enum {
- POPPLER_ANNOT_FLAG_UNKNOWN = 0,
- POPPLER_ANNOT_FLAG_INVISIBLE = 1 &lt;&lt; 0,
- POPPLER_ANNOT_FLAG_HIDDEN = 1 &lt;&lt; 1,
- POPPLER_ANNOT_FLAG_PRINT = 1 &lt;&lt; 2,
- POPPLER_ANNOT_FLAG_NO_ZOOM = 1 &lt;&lt; 3,
- POPPLER_ANNOT_FLAG_NO_ROTATE = 1 &lt;&lt; 4,
- POPPLER_ANNOT_FLAG_NO_VIEW = 1 &lt;&lt; 5,
- POPPLER_ANNOT_FLAG_READ_ONLY = 1 &lt;&lt; 6,
- POPPLER_ANNOT_FLAG_LOCKED = 1 &lt;&lt; 7,
- POPPLER_ANNOT_FLAG_TOGGLE_NO_VIEW = 1 &lt;&lt; 8,
- POPPLER_ANNOT_FLAG_LOCKED_CONTENTS = 1 &lt;&lt; 9
-} PopplerAnnotFlag;
-</pre>
-<div class="variablelist"><table border="0" class="variablelist">
-<colgroup>
-<col align="left" valign="top">
-<col>
-</colgroup>
-<tbody>
<tr>
-<td><p><a name="POPPLER-ANNOT-FLAG-UNKNOWN:CAPS"></a><span class="term"><code class="literal">POPPLER_ANNOT_FLAG_UNKNOWN</code></span></p></td>
-<td></td>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="PopplerAnnot.html#poppler-annot-text-set-icon" title="poppler_annot_text_set_icon ()">poppler_annot_text_set_icon</a> <span class="c_punctuation">()</span>
+</td>
</tr>
<tr>
-<td><p><a name="POPPLER-ANNOT-FLAG-INVISIBLE:CAPS"></a><span class="term"><code class="literal">POPPLER_ANNOT_FLAG_INVISIBLE</code></span></p></td>
-<td></td>
+<td class="function_type">
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="PopplerAnnot.html#poppler-annot-text-get-is-open" title="poppler_annot_text_get_is_open ()">poppler_annot_text_get_is_open</a> <span class="c_punctuation">()</span>
+</td>
</tr>
<tr>
-<td><p><a name="POPPLER-ANNOT-FLAG-HIDDEN:CAPS"></a><span class="term"><code class="literal">POPPLER_ANNOT_FLAG_HIDDEN</code></span></p></td>
-<td></td>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="PopplerAnnot.html#poppler-annot-text-set-is-open" title="poppler_annot_text_set_is_open ()">poppler_annot_text_set_is_open</a> <span class="c_punctuation">()</span>
+</td>
</tr>
<tr>
-<td><p><a name="POPPLER-ANNOT-FLAG-PRINT:CAPS"></a><span class="term"><code class="literal">POPPLER_ANNOT_FLAG_PRINT</code></span></p></td>
-<td></td>
+<td class="function_type">
+<a class="link" href="PopplerAnnot.html#PopplerAnnotTextState" title="enum PopplerAnnotTextState"><span class="returnvalue">PopplerAnnotTextState</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="PopplerAnnot.html#poppler-annot-text-get-state" title="poppler_annot_text_get_state ()">poppler_annot_text_get_state</a> <span class="c_punctuation">()</span>
+</td>
</tr>
<tr>
-<td><p><a name="POPPLER-ANNOT-FLAG-NO-ZOOM:CAPS"></a><span class="term"><code class="literal">POPPLER_ANNOT_FLAG_NO_ZOOM</code></span></p></td>
-<td></td>
+<td class="function_type">
+<a class="link" href="PopplerAnnot.html" title="PopplerAnnot"><span class="returnvalue">PopplerAnnot</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="PopplerAnnot.html#poppler-annot-text-markup-new-highlight" title="poppler_annot_text_markup_new_highlight ()">poppler_annot_text_markup_new_highlight</a> <span class="c_punctuation">()</span>
+</td>
</tr>
<tr>
-<td><p><a name="POPPLER-ANNOT-FLAG-NO-ROTATE:CAPS"></a><span class="term"><code class="literal">POPPLER_ANNOT_FLAG_NO_ROTATE</code></span></p></td>
-<td></td>
+<td class="function_type">
+<a class="link" href="PopplerAnnot.html" title="PopplerAnnot"><span class="returnvalue">PopplerAnnot</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="PopplerAnnot.html#poppler-annot-text-markup-new-squiggly" title="poppler_annot_text_markup_new_squiggly ()">poppler_annot_text_markup_new_squiggly</a> <span class="c_punctuation">()</span>
+</td>
</tr>
<tr>
-<td><p><a name="POPPLER-ANNOT-FLAG-NO-VIEW:CAPS"></a><span class="term"><code class="literal">POPPLER_ANNOT_FLAG_NO_VIEW</code></span></p></td>
-<td></td>
+<td class="function_type">
+<a class="link" href="PopplerAnnot.html" title="PopplerAnnot"><span class="returnvalue">PopplerAnnot</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="PopplerAnnot.html#poppler-annot-text-markup-new-strikeout" title="poppler_annot_text_markup_new_strikeout ()">poppler_annot_text_markup_new_strikeout</a> <span class="c_punctuation">()</span>
+</td>
</tr>
<tr>
-<td><p><a name="POPPLER-ANNOT-FLAG-READ-ONLY:CAPS"></a><span class="term"><code class="literal">POPPLER_ANNOT_FLAG_READ_ONLY</code></span></p></td>
-<td></td>
+<td class="function_type">
+<a class="link" href="PopplerAnnot.html" title="PopplerAnnot"><span class="returnvalue">PopplerAnnot</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="PopplerAnnot.html#poppler-annot-text-markup-new-underline" title="poppler_annot_text_markup_new_underline ()">poppler_annot_text_markup_new_underline</a> <span class="c_punctuation">()</span>
+</td>
</tr>
<tr>
-<td><p><a name="POPPLER-ANNOT-FLAG-LOCKED:CAPS"></a><span class="term"><code class="literal">POPPLER_ANNOT_FLAG_LOCKED</code></span></p></td>
-<td></td>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="PopplerAnnot.html#poppler-annot-text-markup-set-quadrilaterals" title="poppler_annot_text_markup_set_quadrilaterals ()">poppler_annot_text_markup_set_quadrilaterals</a> <span class="c_punctuation">()</span>
+</td>
</tr>
<tr>
-<td><p><a name="POPPLER-ANNOT-FLAG-TOGGLE-NO-VIEW:CAPS"></a><span class="term"><code class="literal">POPPLER_ANNOT_FLAG_TOGGLE_NO_VIEW</code></span></p></td>
-<td></td>
+<td class="function_type">
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Arrays.html#GArray"><span class="returnvalue">GArray</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="PopplerAnnot.html#poppler-annot-text-markup-get-quadrilaterals" title="poppler_annot_text_markup_get_quadrilaterals ()">poppler_annot_text_markup_get_quadrilaterals</a> <span class="c_punctuation">()</span>
+</td>
</tr>
<tr>
-<td><p><a name="POPPLER-ANNOT-FLAG-LOCKED-CONTENTS:CAPS"></a><span class="term"><code class="literal">POPPLER_ANNOT_FLAG_LOCKED_CONTENTS</code></span></p></td>
-<td></td>
+<td class="function_type">
+<a class="link" href="PopplerAnnot.html#PopplerAnnotCalloutLine" title="PopplerAnnotCalloutLine"><span class="returnvalue">PopplerAnnotCalloutLine</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="PopplerAnnot.html#poppler-annot-free-text-get-callout-line" title="poppler_annot_free_text_get_callout_line ()">poppler_annot_free_text_get_callout_line</a> <span class="c_punctuation">()</span>
+</td>
</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2">
-<a name="PopplerAnnotExternalDataType"></a><h3>enum PopplerAnnotExternalDataType</h3>
-<pre class="programlisting">typedef enum {
- POPPLER_ANNOT_EXTERNAL_DATA_MARKUP_3D,
- POPPLER_ANNOT_EXTERNAL_DATA_MARKUP_UNKNOWN
-} PopplerAnnotExternalDataType;
-</pre>
-<div class="variablelist"><table border="0" class="variablelist">
-<colgroup>
-<col align="left" valign="top">
-<col>
-</colgroup>
-<tbody>
<tr>
-<td><p><a name="POPPLER-ANNOT-EXTERNAL-DATA-MARKUP-3D:CAPS"></a><span class="term"><code class="literal">POPPLER_ANNOT_EXTERNAL_DATA_MARKUP_3D</code></span></p></td>
-<td></td>
+<td class="function_type">
+<a class="link" href="PopplerAnnot.html#PopplerAnnotFreeTextQuadding" title="enum PopplerAnnotFreeTextQuadding"><span class="returnvalue">PopplerAnnotFreeTextQuadding</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="PopplerAnnot.html#poppler-annot-free-text-get-quadding" title="poppler_annot_free_text_get_quadding ()">poppler_annot_free_text_get_quadding</a> <span class="c_punctuation">()</span>
+</td>
</tr>
<tr>
-<td><p><a name="POPPLER-ANNOT-EXTERNAL-DATA-MARKUP-UNKNOWN:CAPS"></a><span class="term"><code class="literal">POPPLER_ANNOT_EXTERNAL_DATA_MARKUP_UNKNOWN</code></span></p></td>
-<td></td>
+<td class="function_type">
+<a class="link" href="PopplerAttachment.html" title="PopplerAttachment"><span class="returnvalue">PopplerAttachment</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="PopplerAnnot.html#poppler-annot-file-attachment-get-attachment" title="poppler_annot_file_attachment_get_attachment ()">poppler_annot_file_attachment_get_attachment</a> <span class="c_punctuation">()</span>
+</td>
</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2">
-<a name="PopplerAnnotMarkupReplyType"></a><h3>enum PopplerAnnotMarkupReplyType</h3>
-<pre class="programlisting">typedef enum {
- POPPLER_ANNOT_MARKUP_REPLY_TYPE_R,
- POPPLER_ANNOT_MARKUP_REPLY_TYPE_GROUP
-} PopplerAnnotMarkupReplyType;
-</pre>
-<div class="variablelist"><table border="0" class="variablelist">
-<colgroup>
-<col align="left" valign="top">
-<col>
-</colgroup>
-<tbody>
<tr>
-<td><p><a name="POPPLER-ANNOT-MARKUP-REPLY-TYPE-R:CAPS"></a><span class="term"><code class="literal">POPPLER_ANNOT_MARKUP_REPLY_TYPE_R</code></span></p></td>
-<td></td>
+<td class="function_type">
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="PopplerAnnot.html#poppler-annot-file-attachment-get-name" title="poppler_annot_file_attachment_get_name ()">poppler_annot_file_attachment_get_name</a> <span class="c_punctuation">()</span>
+</td>
</tr>
<tr>
-<td><p><a name="POPPLER-ANNOT-MARKUP-REPLY-TYPE-GROUP:CAPS"></a><span class="term"><code class="literal">POPPLER_ANNOT_MARKUP_REPLY_TYPE_GROUP</code></span></p></td>
-<td></td>
+<td class="function_type">
+<a class="link" href="poppler-PopplerAction.html#PopplerAction" title="union PopplerAction"><span class="returnvalue">PopplerAction</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="PopplerAnnot.html#poppler-annot-screen-get-action" title="poppler_annot_screen_get_action ()">poppler_annot_screen_get_action</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="PopplerMovie.html" title="PopplerMovie"><span class="returnvalue">PopplerMovie</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="PopplerAnnot.html#poppler-annot-movie-get-movie" title="poppler_annot_movie_get_movie ()">poppler_annot_movie_get_movie</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="PopplerAnnot.html#poppler-annot-movie-get-title" title="poppler_annot_movie_get_title ()">poppler_annot_movie_get_title</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="PopplerAnnot.html#PopplerAnnotCalloutLine" title="PopplerAnnotCalloutLine"><span class="returnvalue">PopplerAnnotCalloutLine</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="PopplerAnnot.html#poppler-annot-callout-line-new" title="poppler_annot_callout_line_new ()">poppler_annot_callout_line_new</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="PopplerAnnot.html#PopplerAnnotCalloutLine" title="PopplerAnnotCalloutLine"><span class="returnvalue">PopplerAnnotCalloutLine</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="PopplerAnnot.html#poppler-annot-callout-line-copy" title="poppler_annot_callout_line_copy ()">poppler_annot_callout_line_copy</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="PopplerAnnot.html#poppler-annot-callout-line-free" title="poppler_annot_callout_line_free ()">poppler_annot_callout_line_free</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="PopplerAnnot.html" title="PopplerAnnot"><span class="returnvalue">PopplerAnnot</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="PopplerAnnot.html#poppler-annot-circle-new" title="poppler_annot_circle_new ()">poppler_annot_circle_new</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="poppler-poppler.html#PopplerColor" title="PopplerColor"><span class="returnvalue">PopplerColor</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="PopplerAnnot.html#poppler-annot-circle-get-interior-color" title="poppler_annot_circle_get_interior_color ()">poppler_annot_circle_get_interior_color</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="PopplerAnnot.html#poppler-annot-circle-set-interior-color" title="poppler_annot_circle_set_interior_color ()">poppler_annot_circle_set_interior_color</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="PopplerAnnot.html" title="PopplerAnnot"><span class="returnvalue">PopplerAnnot</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="PopplerAnnot.html#poppler-annot-line-new" title="poppler_annot_line_new ()">poppler_annot_line_new</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="PopplerAnnot.html#poppler-annot-line-set-vertices" title="poppler_annot_line_set_vertices ()">poppler_annot_line_set_vertices</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="PopplerAnnot.html" title="PopplerAnnot"><span class="returnvalue">PopplerAnnot</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="PopplerAnnot.html#poppler-annot-square-new" title="poppler_annot_square_new ()">poppler_annot_square_new</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="poppler-poppler.html#PopplerColor" title="PopplerColor"><span class="returnvalue">PopplerColor</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="PopplerAnnot.html#poppler-annot-square-get-interior-color" title="poppler_annot_square_get_interior_color ()">poppler_annot_square_get_interior_color</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="PopplerAnnot.html#poppler-annot-square-set-interior-color" title="poppler_annot_square_set_interior_color ()">poppler_annot_square_set_interior_color</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="PopplerAnnot.html#PopplerPoint" title="PopplerPoint"><span class="returnvalue">PopplerPoint</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="PopplerAnnot.html#poppler-point-copy" title="poppler_point_copy ()">poppler_point_copy</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="PopplerAnnot.html#poppler-point-free" title="poppler_point_free ()">poppler_point_free</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GType"><span class="returnvalue">GType</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="PopplerAnnot.html#poppler-point-get-type" title="poppler_point_get_type ()">poppler_point_get_type</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="PopplerAnnot.html#PopplerPoint" title="PopplerPoint"><span class="returnvalue">PopplerPoint</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="PopplerAnnot.html#poppler-point-new" title="poppler_point_new ()">poppler_point_new</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="PopplerAnnot.html#PopplerQuadrilateral" title="PopplerQuadrilateral"><span class="returnvalue">PopplerQuadrilateral</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="PopplerAnnot.html#poppler-quadrilateral-copy" title="poppler_quadrilateral_copy ()">poppler_quadrilateral_copy</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="PopplerAnnot.html#poppler-quadrilateral-free" title="poppler_quadrilateral_free ()">poppler_quadrilateral_free</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GType"><span class="returnvalue">GType</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="PopplerAnnot.html#poppler-quadrilateral-get-type" title="poppler_quadrilateral_get_type ()">poppler_quadrilateral_get_type</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="PopplerAnnot.html#PopplerQuadrilateral" title="PopplerQuadrilateral"><span class="returnvalue">PopplerQuadrilateral</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="PopplerAnnot.html#poppler-quadrilateral-new" title="poppler_quadrilateral_new ()">poppler_quadrilateral_new</a> <span class="c_punctuation">()</span>
+</td>
</tr>
</tbody>
</table></div>
</div>
-<hr>
-<div class="refsect2">
-<a name="PopplerAnnotTextState"></a><h3>enum PopplerAnnotTextState</h3>
-<pre class="programlisting">typedef enum {
- POPPLER_ANNOT_TEXT_STATE_MARKED,
- POPPLER_ANNOT_TEXT_STATE_UNMARKED,
- POPPLER_ANNOT_TEXT_STATE_ACCEPTED,
- POPPLER_ANNOT_TEXT_STATE_REJECTED,
- POPPLER_ANNOT_TEXT_STATE_CANCELLED,
- POPPLER_ANNOT_TEXT_STATE_COMPLETED,
- POPPLER_ANNOT_TEXT_STATE_NONE,
- POPPLER_ANNOT_TEXT_STATE_UNKNOWN
-} PopplerAnnotTextState;
-</pre>
-<div class="variablelist"><table border="0" class="variablelist">
+<div class="refsect1">
+<a name="PopplerAnnot.other"></a><h2>Types and Values</h2>
+<div class="informaltable"><table width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="name">
+<col class="description">
</colgroup>
<tbody>
<tr>
-<td><p><a name="POPPLER-ANNOT-TEXT-STATE-MARKED:CAPS"></a><span class="term"><code class="literal">POPPLER_ANNOT_TEXT_STATE_MARKED</code></span></p></td>
-<td></td>
+<td class="datatype_keyword"> </td>
+<td class="function_name"><a class="link" href="PopplerAnnot.html#PopplerAnnot-struct" title="PopplerAnnot">PopplerAnnot</a></td>
</tr>
<tr>
-<td><p><a name="POPPLER-ANNOT-TEXT-STATE-UNMARKED:CAPS"></a><span class="term"><code class="literal">POPPLER_ANNOT_TEXT_STATE_UNMARKED</code></span></p></td>
-<td></td>
+<td class="datatype_keyword"> </td>
+<td class="function_name"><a class="link" href="PopplerAnnot.html#PopplerAnnotMarkup" title="PopplerAnnotMarkup">PopplerAnnotMarkup</a></td>
</tr>
<tr>
-<td><p><a name="POPPLER-ANNOT-TEXT-STATE-ACCEPTED:CAPS"></a><span class="term"><code class="literal">POPPLER_ANNOT_TEXT_STATE_ACCEPTED</code></span></p></td>
-<td></td>
+<td class="datatype_keyword"> </td>
+<td class="function_name"><a class="link" href="PopplerAnnot.html#PopplerAnnotCircle" title="PopplerAnnotCircle">PopplerAnnotCircle</a></td>
</tr>
<tr>
-<td><p><a name="POPPLER-ANNOT-TEXT-STATE-REJECTED:CAPS"></a><span class="term"><code class="literal">POPPLER_ANNOT_TEXT_STATE_REJECTED</code></span></p></td>
-<td></td>
+<td class="datatype_keyword"> </td>
+<td class="function_name"><a class="link" href="PopplerAnnot.html#PopplerAnnotText" title="PopplerAnnotText">PopplerAnnotText</a></td>
</tr>
<tr>
-<td><p><a name="POPPLER-ANNOT-TEXT-STATE-CANCELLED:CAPS"></a><span class="term"><code class="literal">POPPLER_ANNOT_TEXT_STATE_CANCELLED</code></span></p></td>
-<td></td>
+<td class="datatype_keyword"> </td>
+<td class="function_name"><a class="link" href="PopplerAnnot.html#PopplerAnnotTextMarkup" title="PopplerAnnotTextMarkup">PopplerAnnotTextMarkup</a></td>
</tr>
<tr>
-<td><p><a name="POPPLER-ANNOT-TEXT-STATE-COMPLETED:CAPS"></a><span class="term"><code class="literal">POPPLER_ANNOT_TEXT_STATE_COMPLETED</code></span></p></td>
-<td></td>
+<td class="datatype_keyword"> </td>
+<td class="function_name"><a class="link" href="PopplerAnnot.html#PopplerAnnotFreeText" title="PopplerAnnotFreeText">PopplerAnnotFreeText</a></td>
</tr>
<tr>
-<td><p><a name="POPPLER-ANNOT-TEXT-STATE-NONE:CAPS"></a><span class="term"><code class="literal">POPPLER_ANNOT_TEXT_STATE_NONE</code></span></p></td>
-<td></td>
+<td class="datatype_keyword"> </td>
+<td class="function_name"><a class="link" href="PopplerAnnot.html#PopplerAnnotFileAttachment" title="PopplerAnnotFileAttachment">PopplerAnnotFileAttachment</a></td>
</tr>
<tr>
-<td><p><a name="POPPLER-ANNOT-TEXT-STATE-UNKNOWN:CAPS"></a><span class="term"><code class="literal">POPPLER_ANNOT_TEXT_STATE_UNKNOWN</code></span></p></td>
-<td></td>
+<td class="datatype_keyword"> </td>
+<td class="function_name"><a class="link" href="PopplerAnnot.html#PopplerAnnotLine" title="PopplerAnnotLine">PopplerAnnotLine</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword"> </td>
+<td class="function_name"><a class="link" href="PopplerAnnot.html#PopplerAnnotMovie" title="PopplerAnnotMovie">PopplerAnnotMovie</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword"> </td>
+<td class="function_name"><a class="link" href="PopplerAnnot.html#PopplerAnnotScreen" title="PopplerAnnotScreen">PopplerAnnotScreen</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword">enum</td>
+<td class="function_name"><a class="link" href="PopplerAnnot.html#PopplerAnnotType" title="enum PopplerAnnotType">PopplerAnnotType</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword">enum</td>
+<td class="function_name"><a class="link" href="PopplerAnnot.html#PopplerAnnotFlag" title="enum PopplerAnnotFlag">PopplerAnnotFlag</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword">enum</td>
+<td class="function_name"><a class="link" href="PopplerAnnot.html#PopplerAnnotExternalDataType" title="enum PopplerAnnotExternalDataType">PopplerAnnotExternalDataType</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword">enum</td>
+<td class="function_name"><a class="link" href="PopplerAnnot.html#PopplerAnnotMarkupReplyType" title="enum PopplerAnnotMarkupReplyType">PopplerAnnotMarkupReplyType</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword">enum</td>
+<td class="function_name"><a class="link" href="PopplerAnnot.html#PopplerAnnotTextState" title="enum PopplerAnnotTextState">PopplerAnnotTextState</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword"> </td>
+<td class="function_name"><a class="link" href="PopplerAnnot.html#PopplerAnnotCalloutLine" title="PopplerAnnotCalloutLine">PopplerAnnotCalloutLine</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword">enum</td>
+<td class="function_name"><a class="link" href="PopplerAnnot.html#PopplerAnnotFreeTextQuadding" title="enum PopplerAnnotFreeTextQuadding">PopplerAnnotFreeTextQuadding</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword"> </td>
+<td class="function_name"><a class="link" href="PopplerAnnot.html#PopplerAnnotSquare" title="PopplerAnnotSquare">PopplerAnnotSquare</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword"> </td>
+<td class="function_name"><a class="link" href="PopplerAnnot.html#PopplerPoint" title="PopplerPoint">PopplerPoint</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword"> </td>
+<td class="function_name"><a class="link" href="PopplerAnnot.html#PopplerQuadrilateral" title="PopplerQuadrilateral">PopplerQuadrilateral</a></td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="PopplerAnnot.html#POPPLER-ANNOT-TEXT-ICON-NOTE:CAPS" title="POPPLER_ANNOT_TEXT_ICON_NOTE">POPPLER_ANNOT_TEXT_ICON_NOTE</a></td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="PopplerAnnot.html#POPPLER-ANNOT-TEXT-ICON-COMMENT:CAPS" title="POPPLER_ANNOT_TEXT_ICON_COMMENT">POPPLER_ANNOT_TEXT_ICON_COMMENT</a></td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="PopplerAnnot.html#POPPLER-ANNOT-TEXT-ICON-KEY:CAPS" title="POPPLER_ANNOT_TEXT_ICON_KEY">POPPLER_ANNOT_TEXT_ICON_KEY</a></td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="PopplerAnnot.html#POPPLER-ANNOT-TEXT-ICON-HELP:CAPS" title="POPPLER_ANNOT_TEXT_ICON_HELP">POPPLER_ANNOT_TEXT_ICON_HELP</a></td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="PopplerAnnot.html#POPPLER-ANNOT-TEXT-ICON-NEW-PARAGRAPH:CAPS" title="POPPLER_ANNOT_TEXT_ICON_NEW_PARAGRAPH">POPPLER_ANNOT_TEXT_ICON_NEW_PARAGRAPH</a></td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="PopplerAnnot.html#POPPLER-ANNOT-TEXT-ICON-PARAGRAPH:CAPS" title="POPPLER_ANNOT_TEXT_ICON_PARAGRAPH">POPPLER_ANNOT_TEXT_ICON_PARAGRAPH</a></td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="PopplerAnnot.html#POPPLER-ANNOT-TEXT-ICON-INSERT:CAPS" title="POPPLER_ANNOT_TEXT_ICON_INSERT">POPPLER_ANNOT_TEXT_ICON_INSERT</a></td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="PopplerAnnot.html#POPPLER-ANNOT-TEXT-ICON-CROSS:CAPS" title="POPPLER_ANNOT_TEXT_ICON_CROSS">POPPLER_ANNOT_TEXT_ICON_CROSS</a></td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="PopplerAnnot.html#POPPLER-ANNOT-TEXT-ICON-CIRCLE:CAPS" title="POPPLER_ANNOT_TEXT_ICON_CIRCLE">POPPLER_ANNOT_TEXT_ICON_CIRCLE</a></td>
</tr>
</tbody>
</table></div>
</div>
+<div class="refsect1">
+<a name="PopplerAnnot.object-hierarchy"></a><h2>Object Hierarchy</h2>
+<pre class="screen"> <a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObject">GObject</a>
+ <span class="lineart">╰──</span> PopplerAnnot
+</pre>
+</div>
+<div class="refsect1">
+<a name="PopplerAnnot.includes"></a><h2>Includes</h2>
+<pre class="synopsis">#include &lt;poppler.h&gt;
+</pre>
+</div>
+<div class="refsect1">
+<a name="PopplerAnnot.description"></a><h2>Description</h2>
+</div>
+<div class="refsect1">
+<a name="PopplerAnnot.functions_details"></a><h2>Functions</h2>
+<div class="refsect2">
+<a name="poppler-annot-get-annot-type"></a><h3>poppler_annot_get_annot_type ()</h3>
+<pre class="programlisting"><a class="link" href="PopplerAnnot.html#PopplerAnnotType" title="enum PopplerAnnotType"><span class="returnvalue">PopplerAnnotType</span></a>
+poppler_annot_get_annot_type (<em class="parameter"><code><a class="link" href="PopplerAnnot.html" title="PopplerAnnot"><span class="type">PopplerAnnot</span></a> *poppler_annot</code></em>);</pre>
+<p>Gets the type of <em class="parameter"><code>poppler_annot</code></em>
+</p>
+<div class="refsect3">
+<a name="id-1.2.8.8.2.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>poppler_annot</p></td>
+<td class="parameter_description"><p>a <a class="link" href="PopplerAnnot.html" title="PopplerAnnot"><span class="type">PopplerAnnot</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.2.8.8.2.6"></a><h4>Returns</h4>
+<p> <a class="link" href="PopplerAnnot.html#PopplerAnnotType" title="enum PopplerAnnotType"><span class="type">PopplerAnnotType</span></a> of <em class="parameter"><code>poppler_annot</code></em>
+.</p>
+<p></p>
+</div>
+</div>
<hr>
<div class="refsect2">
-<a name="PopplerAnnotCalloutLine"></a><h3>PopplerAnnotCalloutLine</h3>
-<pre class="programlisting">typedef struct {
- gboolean multiline;
- gdouble x1;
- gdouble y1;
- gdouble x2;
- gdouble y2;
- gdouble x3;
- gdouble y3;
-} PopplerAnnotCalloutLine;
-</pre>
+<a name="poppler-annot-get-flags"></a><h3>poppler_annot_get_flags ()</h3>
+<pre class="programlisting"><a class="link" href="PopplerAnnot.html#PopplerAnnotFlag" title="enum PopplerAnnotFlag"><span class="returnvalue">PopplerAnnotFlag</span></a>
+poppler_annot_get_flags (<em class="parameter"><code><a class="link" href="PopplerAnnot.html" title="PopplerAnnot"><span class="type">PopplerAnnot</span></a> *poppler_annot</code></em>);</pre>
+<p>Retrieves the flag field specifying various characteristics of the
+<em class="parameter"><code>poppler_annot</code></em>
+.</p>
+<div class="refsect3">
+<a name="id-1.2.8.8.3.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>poppler_annot</p></td>
+<td class="parameter_description"><p>a <a class="link" href="PopplerAnnot.html" title="PopplerAnnot"><span class="type">PopplerAnnot</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.2.8.8.3.6"></a><h4>Returns</h4>
+<p> the flag field of <em class="parameter"><code>poppler_annot</code></em>
+.</p>
+<p></p>
+</div>
</div>
<hr>
<div class="refsect2">
-<a name="PopplerAnnotFreeTextQuadding"></a><h3>enum PopplerAnnotFreeTextQuadding</h3>
-<pre class="programlisting">typedef enum {
- POPPLER_ANNOT_FREE_TEXT_QUADDING_LEFT_JUSTIFIED,
- POPPLER_ANNOT_FREE_TEXT_QUADDING_CENTERED,
- POPPLER_ANNOT_FREE_TEXT_QUADDING_RIGHT_JUSTIFIED
-} PopplerAnnotFreeTextQuadding;
-</pre>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="poppler-annot-get-name"></a><h3>poppler_annot_get_name ()</h3>
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+poppler_annot_get_name (<em class="parameter"><code><a class="link" href="PopplerAnnot.html" title="PopplerAnnot"><span class="type">PopplerAnnot</span></a> *poppler_annot</code></em>);</pre>
+<p>Retrieves the name of <em class="parameter"><code>poppler_annot</code></em>
+.</p>
+<div class="refsect3">
+<a name="id-1.2.8.8.4.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>poppler_annot</p></td>
+<td class="parameter_description"><p>a <a class="link" href="PopplerAnnot.html" title="PopplerAnnot"><span class="type">PopplerAnnot</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.2.8.8.4.6"></a><h4>Returns</h4>
+<p> a new allocated string with the name of <em class="parameter"><code>poppler_annot</code></em>
+. It must
+be freed with <a href="http://library.gnome.org/devel/glib/unstable/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a> when done.</p>
+<p></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="poppler-annot-get-page-index"></a><h3>poppler_annot_get_page_index ()</h3>
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="returnvalue">gint</span></a>
+poppler_annot_get_page_index (<em class="parameter"><code><a class="link" href="PopplerAnnot.html" title="PopplerAnnot"><span class="type">PopplerAnnot</span></a> *poppler_annot</code></em>);</pre>
+<p>Returns the page index to which <em class="parameter"><code>poppler_annot</code></em>
+ is associated, or -1 if unknown</p>
+<div class="refsect3">
+<a name="id-1.2.8.8.5.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>poppler_annot</p></td>
+<td class="parameter_description"><p>a <a class="link" href="PopplerAnnot.html" title="PopplerAnnot"><span class="type">PopplerAnnot</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.2.8.8.5.6"></a><h4>Returns</h4>
+<p> page index or -1</p>
+<p></p>
+</div>
+<p class="since">Since 0.14</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="poppler-annot-get-color"></a><h3>poppler_annot_get_color ()</h3>
+<pre class="programlisting"><a class="link" href="poppler-poppler.html#PopplerColor" title="PopplerColor"><span class="returnvalue">PopplerColor</span></a> *
+poppler_annot_get_color (<em class="parameter"><code><a class="link" href="PopplerAnnot.html" title="PopplerAnnot"><span class="type">PopplerAnnot</span></a> *poppler_annot</code></em>);</pre>
+<p>Retrieves the color of <em class="parameter"><code>poppler_annot</code></em>
+.</p>
+<div class="refsect3">
+<a name="id-1.2.8.8.6.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>poppler_annot</p></td>
+<td class="parameter_description"><p>a <a class="link" href="PopplerAnnot.html" title="PopplerAnnot"><span class="type">PopplerAnnot</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.2.8.8.6.6"></a><h4>Returns</h4>
+<p> a new allocated <a class="link" href="poppler-poppler.html#PopplerColor" title="PopplerColor"><span class="type">PopplerColor</span></a> with the color values of
+<em class="parameter"><code>poppler_annot</code></em>
+, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. It must be freed with <a href="http://library.gnome.org/devel/glib/unstable/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a> when done.</p>
+<p></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="poppler-annot-set-color"></a><h3>poppler_annot_set_color ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+poppler_annot_set_color (<em class="parameter"><code><a class="link" href="PopplerAnnot.html" title="PopplerAnnot"><span class="type">PopplerAnnot</span></a> *poppler_annot</code></em>,
+ <em class="parameter"><code><a class="link" href="poppler-poppler.html#PopplerColor" title="PopplerColor"><span class="type">PopplerColor</span></a> *poppler_color</code></em>);</pre>
+<p>Sets the color of <em class="parameter"><code>poppler_annot</code></em>
+.</p>
+<div class="refsect3">
+<a name="id-1.2.8.8.7.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
-<td><p><a name="POPPLER-ANNOT-FREE-TEXT-QUADDING-LEFT-JUSTIFIED:CAPS"></a><span class="term"><code class="literal">POPPLER_ANNOT_FREE_TEXT_QUADDING_LEFT_JUSTIFIED</code></span></p></td>
-<td></td>
-</tr>
-<tr>
-<td><p><a name="POPPLER-ANNOT-FREE-TEXT-QUADDING-CENTERED:CAPS"></a><span class="term"><code class="literal">POPPLER_ANNOT_FREE_TEXT_QUADDING_CENTERED</code></span></p></td>
-<td></td>
+<td class="parameter_name"><p>poppler_annot</p></td>
+<td class="parameter_description"><p>a <a class="link" href="PopplerAnnot.html" title="PopplerAnnot"><span class="type">PopplerAnnot</span></a></p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><a name="POPPLER-ANNOT-FREE-TEXT-QUADDING-RIGHT-JUSTIFIED:CAPS"></a><span class="term"><code class="literal">POPPLER_ANNOT_FREE_TEXT_QUADDING_RIGHT_JUSTIFIED</code></span></p></td>
-<td></td>
+<td class="parameter_name"><p>poppler_color</p></td>
+<td class="parameter_description"><p> a <a class="link" href="poppler-poppler.html#PopplerColor" title="PopplerColor"><span class="type">PopplerColor</span></a>, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
</tbody>
</table></div>
</div>
+<p class="since">Since 0.16</p>
+</div>
<hr>
<div class="refsect2">
-<a name="poppler-annot-get-annot-type"></a><h3>poppler_annot_get_annot_type ()</h3>
-<pre class="programlisting"><a class="link" href="PopplerAnnot.html#PopplerAnnotType" title="enum PopplerAnnotType"><span class="returnvalue">PopplerAnnotType</span></a> poppler_annot_get_annot_type (<em class="parameter"><code><a class="link" href="PopplerAnnot.html" title="PopplerAnnot"><span class="type">PopplerAnnot</span></a> *poppler_annot</code></em>);</pre>
-<p>
-Gets the type of <em class="parameter"><code>poppler_annot</code></em>
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="poppler-annot-get-contents"></a><h3>poppler_annot_get_contents ()</h3>
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+poppler_annot_get_contents (<em class="parameter"><code><a class="link" href="PopplerAnnot.html" title="PopplerAnnot"><span class="type">PopplerAnnot</span></a> *poppler_annot</code></em>);</pre>
+<p>Retrieves the contents of <em class="parameter"><code>poppler_annot</code></em>
+.</p>
+<div class="refsect3">
+<a name="id-1.2.8.8.8.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>poppler_annot</p></td>
+<td class="parameter_description"><p>a <a class="link" href="PopplerAnnot.html" title="PopplerAnnot"><span class="type">PopplerAnnot</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.2.8.8.8.6"></a><h4>Returns</h4>
+<p> a new allocated string with the contents of <em class="parameter"><code>poppler_annot</code></em>
+. It
+must be freed with <a href="http://library.gnome.org/devel/glib/unstable/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a> when done.</p>
+<p></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="poppler-annot-set-contents"></a><h3>poppler_annot_set_contents ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+poppler_annot_set_contents (<em class="parameter"><code><a class="link" href="PopplerAnnot.html" title="PopplerAnnot"><span class="type">PopplerAnnot</span></a> *poppler_annot</code></em>,
+ <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *contents</code></em>);</pre>
+<p>Sets the contents of <em class="parameter"><code>poppler_annot</code></em>
+ to the given value,
+replacing the current contents.</p>
+<div class="refsect3">
+<a name="id-1.2.8.8.9.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><em class="parameter"><code>poppler_annot</code></em> :</span></p></td>
-<td>a <a class="link" href="PopplerAnnot.html" title="PopplerAnnot"><span class="type">PopplerAnnot</span></a>
-</td>
+<td class="parameter_name"><p>poppler_annot</p></td>
+<td class="parameter_description"><p>a <a class="link" href="PopplerAnnot.html" title="PopplerAnnot"><span class="type">PopplerAnnot</span></a></p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>
-<a class="link" href="PopplerAnnot.html#PopplerAnnotType" title="enum PopplerAnnotType"><span class="type">PopplerAnnotType</span></a> of <em class="parameter"><code>poppler_annot</code></em>.</td>
+<td class="parameter_name"><p>contents</p></td>
+<td class="parameter_description"><p>a text string containing the new contents</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
+<p class="since">Since 0.12</p>
+</div>
<hr>
<div class="refsect2">
-<a name="poppler-annot-get-flags"></a><h3>poppler_annot_get_flags ()</h3>
-<pre class="programlisting"><a class="link" href="PopplerAnnot.html#PopplerAnnotFlag" title="enum PopplerAnnotFlag"><span class="returnvalue">PopplerAnnotFlag</span></a> poppler_annot_get_flags (<em class="parameter"><code><a class="link" href="PopplerAnnot.html" title="PopplerAnnot"><span class="type">PopplerAnnot</span></a> *poppler_annot</code></em>);</pre>
-<p>
-Retrieves the flag field specifying various characteristics of the
-<em class="parameter"><code>poppler_annot</code></em>.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="poppler-annot-get-modified"></a><h3>poppler_annot_get_modified ()</h3>
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+poppler_annot_get_modified (<em class="parameter"><code><a class="link" href="PopplerAnnot.html" title="PopplerAnnot"><span class="type">PopplerAnnot</span></a> *poppler_annot</code></em>);</pre>
+<p>Retrieves the last modification data of <em class="parameter"><code>poppler_annot</code></em>
+. The returned
+string will be either a PDF format date or a text string.
+See also <a class="link" href="poppler-poppler.html#poppler-date-parse" title="poppler_date_parse ()"><code class="function">poppler_date_parse()</code></a></p>
+<div class="refsect3">
+<a name="id-1.2.8.8.10.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>poppler_annot</p></td>
+<td class="parameter_description"><p>a <a class="link" href="PopplerAnnot.html" title="PopplerAnnot"><span class="type">PopplerAnnot</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.2.8.8.10.6"></a><h4>Returns</h4>
+<p> a new allocated string with the last modification data of
+<em class="parameter"><code>poppler_annot</code></em>
+. It must be freed with <a href="http://library.gnome.org/devel/glib/unstable/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a> when done.</p>
+<p></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="poppler-annot-get-rectangle"></a><h3>poppler_annot_get_rectangle ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+poppler_annot_get_rectangle (<em class="parameter"><code><a class="link" href="PopplerAnnot.html" title="PopplerAnnot"><span class="type">PopplerAnnot</span></a> *poppler_annot</code></em>,
+ <em class="parameter"><code><a class="link" href="PopplerPage.html#PopplerRectangle" title="PopplerRectangle"><span class="type">PopplerRectangle</span></a> *poppler_rect</code></em>);</pre>
+<p>Retrieves the rectangle representing the page coordinates where the
+annotation <em class="parameter"><code>poppler_annot</code></em>
+ is placed.</p>
+<div class="refsect3">
+<a name="id-1.2.8.8.11.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><em class="parameter"><code>poppler_annot</code></em> :</span></p></td>
-<td>a <a class="link" href="PopplerAnnot.html" title="PopplerAnnot"><span class="type">PopplerAnnot</span></a>
-</td>
+<td class="parameter_name"><p>poppler_annot</p></td>
+<td class="parameter_description"><p>a <a class="link" href="PopplerAnnot.html" title="PopplerAnnot"><span class="type">PopplerAnnot</span></a></p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>the flag field of <em class="parameter"><code>poppler_annot</code></em>.</td>
+<td class="parameter_name"><p>poppler_rect</p></td>
+<td class="parameter_description"><p> a <a class="link" href="PopplerPage.html#PopplerRectangle" title="PopplerRectangle"><span class="type">PopplerRectangle</span></a> to store the annotation's coordinates. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span></td>
</tr>
</tbody>
</table></div>
</div>
+<p class="since">Since 0.26</p>
+</div>
<hr>
<div class="refsect2">
-<a name="poppler-annot-get-name"></a><h3>poppler_annot_get_name ()</h3>
-<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> * poppler_annot_get_name (<em class="parameter"><code><a class="link" href="PopplerAnnot.html" title="PopplerAnnot"><span class="type">PopplerAnnot</span></a> *poppler_annot</code></em>);</pre>
-<p>
-Retrieves the name of <em class="parameter"><code>poppler_annot</code></em>.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="poppler-annot-set-rectangle"></a><h3>poppler_annot_set_rectangle ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+poppler_annot_set_rectangle (<em class="parameter"><code><a class="link" href="PopplerAnnot.html" title="PopplerAnnot"><span class="type">PopplerAnnot</span></a> *poppler_annot</code></em>,
+ <em class="parameter"><code><a class="link" href="PopplerPage.html#PopplerRectangle" title="PopplerRectangle"><span class="type">PopplerRectangle</span></a> *poppler_rect</code></em>);</pre>
+<p>Move the annotation to the rectangle representing the page coordinates
+where the annotation <em class="parameter"><code>poppler_annot</code></em>
+ should be placed.</p>
+<div class="refsect3">
+<a name="id-1.2.8.8.12.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><em class="parameter"><code>poppler_annot</code></em> :</span></p></td>
-<td>a <a class="link" href="PopplerAnnot.html" title="PopplerAnnot"><span class="type">PopplerAnnot</span></a>
-</td>
+<td class="parameter_name"><p>poppler_annot</p></td>
+<td class="parameter_description"><p>a <a class="link" href="PopplerAnnot.html" title="PopplerAnnot"><span class="type">PopplerAnnot</span></a></p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>a new allocated string with the name of <em class="parameter"><code>poppler_annot</code></em>. It must
-be freed with <a href="http://library.gnome.org/devel/glib/unstable/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a> when done.</td>
+<td class="parameter_name"><p>poppler_rect</p></td>
+<td class="parameter_description"><p>a <a class="link" href="PopplerPage.html#PopplerRectangle" title="PopplerRectangle"><span class="type">PopplerRectangle</span></a> with the new annotation's coordinates</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
+<p class="since">Since 0.26</p>
+</div>
<hr>
<div class="refsect2">
-<a name="poppler-annot-get-page-index"></a><h3>poppler_annot_get_page_index ()</h3>
-<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="returnvalue">gint</span></a> poppler_annot_get_page_index (<em class="parameter"><code><a class="link" href="PopplerAnnot.html" title="PopplerAnnot"><span class="type">PopplerAnnot</span></a> *poppler_annot</code></em>);</pre>
-<p>
-Returns the page index to which <em class="parameter"><code>poppler_annot</code></em> is associated, or -1 if unknown
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="poppler-annot-markup-get-label"></a><h3>poppler_annot_markup_get_label ()</h3>
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+poppler_annot_markup_get_label (<em class="parameter"><code><a class="link" href="PopplerAnnot.html#PopplerAnnotMarkup" title="PopplerAnnotMarkup"><span class="type">PopplerAnnotMarkup</span></a> *poppler_annot</code></em>);</pre>
+<p>Retrieves the label text of <em class="parameter"><code>poppler_annot</code></em>
+.</p>
+<div class="refsect3">
+<a name="id-1.2.8.8.13.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>poppler_annot</p></td>
+<td class="parameter_description"><p>a <a class="link" href="PopplerAnnot.html#PopplerAnnotMarkup" title="PopplerAnnotMarkup"><span class="type">PopplerAnnotMarkup</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.2.8.8.13.6"></a><h4>Returns</h4>
+<p> the label text of <em class="parameter"><code>poppler_annot</code></em>
+.</p>
+<p></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="poppler-annot-markup-set-label"></a><h3>poppler_annot_markup_set_label ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+poppler_annot_markup_set_label (<em class="parameter"><code><a class="link" href="PopplerAnnot.html#PopplerAnnotMarkup" title="PopplerAnnotMarkup"><span class="type">PopplerAnnotMarkup</span></a> *poppler_annot</code></em>,
+ <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *label</code></em>);</pre>
+<p>Sets the label text of <em class="parameter"><code>poppler_annot</code></em>
+, replacing the current one</p>
+<div class="refsect3">
+<a name="id-1.2.8.8.14.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><em class="parameter"><code>poppler_annot</code></em> :</span></p></td>
-<td>a <a class="link" href="PopplerAnnot.html" title="PopplerAnnot"><span class="type">PopplerAnnot</span></a>
-</td>
+<td class="parameter_name"><p>poppler_annot</p></td>
+<td class="parameter_description"><p>a <a class="link" href="PopplerAnnot.html#PopplerAnnotMarkup" title="PopplerAnnotMarkup"><span class="type">PopplerAnnotMarkup</span></a></p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>page index or -1</td>
+<td class="parameter_name"><p>label</p></td>
+<td class="parameter_description"><p> a text string containing the new label, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
</tbody>
</table></div>
-<p class="since">Since 0.14</p>
+</div>
+<p class="since">Since 0.16</p>
</div>
<hr>
<div class="refsect2">
-<a name="poppler-annot-get-color"></a><h3>poppler_annot_get_color ()</h3>
-<pre class="programlisting"><a class="link" href="poppler-poppler.html#PopplerColor" title="PopplerColor"><span class="returnvalue">PopplerColor</span></a> * poppler_annot_get_color (<em class="parameter"><code><a class="link" href="PopplerAnnot.html" title="PopplerAnnot"><span class="type">PopplerAnnot</span></a> *poppler_annot</code></em>);</pre>
-<p>
-Retrieves the color of <em class="parameter"><code>poppler_annot</code></em>.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="poppler-annot-markup-get-subject"></a><h3>poppler_annot_markup_get_subject ()</h3>
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+poppler_annot_markup_get_subject (<em class="parameter"><code><a class="link" href="PopplerAnnot.html#PopplerAnnotMarkup" title="PopplerAnnotMarkup"><span class="type">PopplerAnnotMarkup</span></a> *poppler_annot</code></em>);</pre>
+<p>Retrives the subject text of <em class="parameter"><code>poppler_annot</code></em>
+.</p>
+<div class="refsect3">
+<a name="id-1.2.8.8.15.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>poppler_annot</p></td>
+<td class="parameter_description"><p>a <a class="link" href="PopplerAnnot.html#PopplerAnnotMarkup" title="PopplerAnnotMarkup"><span class="type">PopplerAnnotMarkup</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.2.8.8.15.6"></a><h4>Returns</h4>
+<p> the subject text of <em class="parameter"><code>poppler_annot</code></em>
+.</p>
+<p></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="poppler-annot-markup-get-opacity"></a><h3>poppler_annot_markup_get_opacity ()</h3>
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="returnvalue">gdouble</span></a>
+poppler_annot_markup_get_opacity (<em class="parameter"><code><a class="link" href="PopplerAnnot.html#PopplerAnnotMarkup" title="PopplerAnnotMarkup"><span class="type">PopplerAnnotMarkup</span></a> *poppler_annot</code></em>);</pre>
+<p>Retrieves the opacity value of <em class="parameter"><code>poppler_annot</code></em>
+.</p>
+<div class="refsect3">
+<a name="id-1.2.8.8.16.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>poppler_annot</p></td>
+<td class="parameter_description"><p>a <a class="link" href="PopplerAnnot.html#PopplerAnnotMarkup" title="PopplerAnnotMarkup"><span class="type">PopplerAnnotMarkup</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.2.8.8.16.6"></a><h4>Returns</h4>
+<p> the opacity value of <em class="parameter"><code>poppler_annot</code></em>
+,
+between 0 (transparent) and 1 (opaque)</p>
+<p></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="poppler-annot-markup-set-opacity"></a><h3>poppler_annot_markup_set_opacity ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+poppler_annot_markup_set_opacity (<em class="parameter"><code><a class="link" href="PopplerAnnot.html#PopplerAnnotMarkup" title="PopplerAnnotMarkup"><span class="type">PopplerAnnotMarkup</span></a> *poppler_annot</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> opacity</code></em>);</pre>
+<p>Sets the opacity of <em class="parameter"><code>poppler_annot</code></em>
+. This value applies to
+all visible elements of <em class="parameter"><code>poppler_annot</code></em>
+ in its closed state,
+but not to the pop-up window that appears when it's openened</p>
+<div class="refsect3">
+<a name="id-1.2.8.8.17.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><em class="parameter"><code>poppler_annot</code></em> :</span></p></td>
-<td>a <a class="link" href="PopplerAnnot.html" title="PopplerAnnot"><span class="type">PopplerAnnot</span></a>
-</td>
+<td class="parameter_name"><p>poppler_annot</p></td>
+<td class="parameter_description"><p>a <a class="link" href="PopplerAnnot.html#PopplerAnnotMarkup" title="PopplerAnnotMarkup"><span class="type">PopplerAnnotMarkup</span></a></p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>a new allocated <a class="link" href="poppler-poppler.html#PopplerColor" title="PopplerColor"><span class="type">PopplerColor</span></a> with the color values of
-<em class="parameter"><code>poppler_annot</code></em>, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. It must be freed with <a href="http://library.gnome.org/devel/glib/unstable/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a> when done.</td>
+<td class="parameter_name"><p>opacity</p></td>
+<td class="parameter_description"><p>a constant opacity value, between 0 (transparent) and 1 (opaque)</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
+<p class="since">Since 0.16</p>
+</div>
<hr>
<div class="refsect2">
-<a name="poppler-annot-set-color"></a><h3>poppler_annot_set_color ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span> poppler_annot_set_color (<em class="parameter"><code><a class="link" href="PopplerAnnot.html" title="PopplerAnnot"><span class="type">PopplerAnnot</span></a> *poppler_annot</code></em>,
- <em class="parameter"><code><a class="link" href="poppler-poppler.html#PopplerColor" title="PopplerColor"><span class="type">PopplerColor</span></a> *poppler_color</code></em>);</pre>
-<p>
-Sets the color of <em class="parameter"><code>poppler_annot</code></em>.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="poppler-annot-markup-has-popup"></a><h3>poppler_annot_markup_has_popup ()</h3>
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+poppler_annot_markup_has_popup (<em class="parameter"><code><a class="link" href="PopplerAnnot.html#PopplerAnnotMarkup" title="PopplerAnnotMarkup"><span class="type">PopplerAnnotMarkup</span></a> *poppler_annot</code></em>);</pre>
+<p>Return <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the markup annotation has a popup window associated</p>
+<div class="refsect3">
+<a name="id-1.2.8.8.18.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>poppler_annot</p></td>
+<td class="parameter_description"><p>a <a class="link" href="PopplerAnnot.html#PopplerAnnotMarkup" title="PopplerAnnotMarkup"><span class="type">PopplerAnnotMarkup</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.2.8.8.18.6"></a><h4>Returns</h4>
+<p> <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>, if <em class="parameter"><code>poppler_annot</code></em>
+has popup, <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise</p>
+<p></p>
+</div>
+<p class="since">Since 0.12</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="poppler-annot-markup-set-popup"></a><h3>poppler_annot_markup_set_popup ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+poppler_annot_markup_set_popup (<em class="parameter"><code><a class="link" href="PopplerAnnot.html#PopplerAnnotMarkup" title="PopplerAnnotMarkup"><span class="type">PopplerAnnotMarkup</span></a> *poppler_annot</code></em>,
+ <em class="parameter"><code><a class="link" href="PopplerPage.html#PopplerRectangle" title="PopplerRectangle"><span class="type">PopplerRectangle</span></a> *popup_rect</code></em>);</pre>
+<p>Associates a new popup window for editing contents of <em class="parameter"><code>poppler_annot</code></em>
+.
+Popup window shall be displayed by viewers at <em class="parameter"><code>popup_rect</code></em>
+ on the page.</p>
+<div class="refsect3">
+<a name="id-1.2.8.8.19.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><em class="parameter"><code>poppler_annot</code></em> :</span></p></td>
-<td>a <a class="link" href="PopplerAnnot.html" title="PopplerAnnot"><span class="type">PopplerAnnot</span></a>
-</td>
+<td class="parameter_name"><p>poppler_annot</p></td>
+<td class="parameter_description"><p>a <a class="link" href="PopplerAnnot.html#PopplerAnnotMarkup" title="PopplerAnnotMarkup"><span class="type">PopplerAnnotMarkup</span></a></p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><em class="parameter"><code>poppler_color</code></em> :</span></p></td>
-<td>a <a class="link" href="poppler-poppler.html#PopplerColor" title="PopplerColor"><span class="type">PopplerColor</span></a>, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. <span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
-</td>
+<td class="parameter_name"><p>popup_rect</p></td>
+<td class="parameter_description"><p>a <a class="link" href="PopplerPage.html#PopplerRectangle" title="PopplerRectangle"><span class="type">PopplerRectangle</span></a></p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
+</div>
<p class="since">Since 0.16</p>
</div>
<hr>
<div class="refsect2">
-<a name="poppler-annot-get-contents"></a><h3>poppler_annot_get_contents ()</h3>
-<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> * poppler_annot_get_contents (<em class="parameter"><code><a class="link" href="PopplerAnnot.html" title="PopplerAnnot"><span class="type">PopplerAnnot</span></a> *poppler_annot</code></em>);</pre>
-<p>
-Retrieves the contents of <em class="parameter"><code>poppler_annot</code></em>.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="poppler-annot-markup-get-popup-is-open"></a><h3>poppler_annot_markup_get_popup_is_open ()</h3>
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+poppler_annot_markup_get_popup_is_open
+ (<em class="parameter"><code><a class="link" href="PopplerAnnot.html#PopplerAnnotMarkup" title="PopplerAnnotMarkup"><span class="type">PopplerAnnotMarkup</span></a> *poppler_annot</code></em>);</pre>
+<p>Retrieves the state of the popup window related to <em class="parameter"><code>poppler_annot</code></em>
+.</p>
+<div class="refsect3">
+<a name="id-1.2.8.8.20.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>poppler_annot</p></td>
+<td class="parameter_description"><p>a <a class="link" href="PopplerAnnot.html#PopplerAnnotMarkup" title="PopplerAnnotMarkup"><span class="type">PopplerAnnotMarkup</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.2.8.8.20.6"></a><h4>Returns</h4>
+<p> the state of <em class="parameter"><code>poppler_annot</code></em>
+. <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if it's open, <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> in
+other case.</p>
+<p></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="poppler-annot-markup-set-popup-is-open"></a><h3>poppler_annot_markup_set_popup_is_open ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+poppler_annot_markup_set_popup_is_open
+ (<em class="parameter"><code><a class="link" href="PopplerAnnot.html#PopplerAnnotMarkup" title="PopplerAnnotMarkup"><span class="type">PopplerAnnotMarkup</span></a> *poppler_annot</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> is_open</code></em>);</pre>
+<p>Sets the state of the popup window related to <em class="parameter"><code>poppler_annot</code></em>
+.</p>
+<div class="refsect3">
+<a name="id-1.2.8.8.21.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><em class="parameter"><code>poppler_annot</code></em> :</span></p></td>
-<td>a <a class="link" href="PopplerAnnot.html" title="PopplerAnnot"><span class="type">PopplerAnnot</span></a>
-</td>
+<td class="parameter_name"><p>poppler_annot</p></td>
+<td class="parameter_description"><p>a <a class="link" href="PopplerAnnot.html#PopplerAnnotMarkup" title="PopplerAnnotMarkup"><span class="type">PopplerAnnotMarkup</span></a></p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>a new allocated string with the contents of <em class="parameter"><code>poppler_annot</code></em>. It
-must be freed with <a href="http://library.gnome.org/devel/glib/unstable/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a> when done.</td>
+<td class="parameter_name"><p>is_open</p></td>
+<td class="parameter_description"><p>whether popup window should initially be displayed open</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
+<p class="since">Since 0.16</p>
+</div>
<hr>
<div class="refsect2">
-<a name="poppler-annot-set-contents"></a><h3>poppler_annot_set_contents ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span> poppler_annot_set_contents (<em class="parameter"><code><a class="link" href="PopplerAnnot.html" title="PopplerAnnot"><span class="type">PopplerAnnot</span></a> *poppler_annot</code></em>,
- <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *contents</code></em>);</pre>
-<p>
-Sets the contents of <em class="parameter"><code>poppler_annot</code></em> to the given value,
-replacing the current contents.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="poppler-annot-markup-get-popup-rectangle"></a><h3>poppler_annot_markup_get_popup_rectangle ()</h3>
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+poppler_annot_markup_get_popup_rectangle
+ (<em class="parameter"><code><a class="link" href="PopplerAnnot.html#PopplerAnnotMarkup" title="PopplerAnnotMarkup"><span class="type">PopplerAnnotMarkup</span></a> *poppler_annot</code></em>,
+ <em class="parameter"><code><a class="link" href="PopplerPage.html#PopplerRectangle" title="PopplerRectangle"><span class="type">PopplerRectangle</span></a> *poppler_rect</code></em>);</pre>
+<p>Retrieves the rectangle of the popup window related to <em class="parameter"><code>poppler_annot</code></em>
+.</p>
+<div class="refsect3">
+<a name="id-1.2.8.8.22.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><em class="parameter"><code>poppler_annot</code></em> :</span></p></td>
-<td>a <a class="link" href="PopplerAnnot.html" title="PopplerAnnot"><span class="type">PopplerAnnot</span></a>
-</td>
+<td class="parameter_name"><p>poppler_annot</p></td>
+<td class="parameter_description"><p>a <a class="link" href="PopplerAnnot.html#PopplerAnnotMarkup" title="PopplerAnnotMarkup"><span class="type">PopplerAnnotMarkup</span></a></p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><em class="parameter"><code>contents</code></em> :</span></p></td>
-<td>a text string containing the new contents</td>
+<td class="parameter_name"><p>poppler_rect</p></td>
+<td class="parameter_description"><p> a <a class="link" href="PopplerPage.html#PopplerRectangle" title="PopplerRectangle"><span class="type">PopplerRectangle</span></a> to store the popup rectangle. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span></td>
</tr>
</tbody>
</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.2.8.8.22.6"></a><h4>Returns</h4>
+<p> <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if <a class="link" href="PopplerPage.html#PopplerRectangle" title="PopplerRectangle"><span class="type">PopplerRectangle</span></a> was correctly filled, <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise</p>
+<p></p>
+</div>
<p class="since">Since 0.12</p>
</div>
<hr>
<div class="refsect2">
-<a name="poppler-annot-get-modified"></a><h3>poppler_annot_get_modified ()</h3>
-<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> * poppler_annot_get_modified (<em class="parameter"><code><a class="link" href="PopplerAnnot.html" title="PopplerAnnot"><span class="type">PopplerAnnot</span></a> *poppler_annot</code></em>);</pre>
-<p>
-Retrieves the last modification data of <em class="parameter"><code>poppler_annot</code></em>. The returned
-string will be either a PDF format date or a text string.
-See also #<a class="link" href="poppler-poppler.html#poppler-date-parse" title="poppler_date_parse ()"><code class="function">poppler_date_parse()</code></a>
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="poppler-annot-markup-get-date"></a><h3>poppler_annot_markup_get_date ()</h3>
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Date-and-Time-Functions.html#GDate"><span class="returnvalue">GDate</span></a> *
+poppler_annot_markup_get_date (<em class="parameter"><code><a class="link" href="PopplerAnnot.html#PopplerAnnotMarkup" title="PopplerAnnotMarkup"><span class="type">PopplerAnnotMarkup</span></a> *poppler_annot</code></em>);</pre>
+<p>Returns the date and time when the annotation was created</p>
+<div class="refsect3">
+<a name="id-1.2.8.8.23.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>poppler_annot</p></td>
+<td class="parameter_description"><p>a <a class="link" href="PopplerAnnot.html#PopplerAnnotMarkup" title="PopplerAnnotMarkup"><span class="type">PopplerAnnotMarkup</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.2.8.8.23.6"></a><h4>Returns</h4>
+<p> a <a href="http://library.gnome.org/devel/glib/unstable/glib-Date-and-Time-Functions.html#GDate"><span class="type">GDate</span></a> representing the date and time
+when the annotation was created, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="poppler-annot-markup-get-external-data"></a><h3>poppler_annot_markup_get_external_data ()</h3>
+<pre class="programlisting"><a class="link" href="PopplerAnnot.html#PopplerAnnotExternalDataType" title="enum PopplerAnnotExternalDataType"><span class="returnvalue">PopplerAnnotExternalDataType</span></a>
+poppler_annot_markup_get_external_data
+ (<em class="parameter"><code><a class="link" href="PopplerAnnot.html#PopplerAnnotMarkup" title="PopplerAnnotMarkup"><span class="type">PopplerAnnotMarkup</span></a> *poppler_annot</code></em>);</pre>
+<p>Gets the external data type of <em class="parameter"><code>poppler_annot</code></em>
+.</p>
+<div class="refsect3">
+<a name="id-1.2.8.8.24.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>poppler_annot</p></td>
+<td class="parameter_description"><p>a <a class="link" href="PopplerAnnot.html#PopplerAnnotMarkup" title="PopplerAnnotMarkup"><span class="type">PopplerAnnotMarkup</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.2.8.8.24.6"></a><h4>Returns</h4>
+<p> <a class="link" href="PopplerAnnot.html#PopplerAnnotExternalDataType" title="enum PopplerAnnotExternalDataType"><span class="type">PopplerAnnotExternalDataType</span></a> of <em class="parameter"><code>poppler_annot</code></em>
+.</p>
+<p></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="poppler-annot-markup-get-reply-to"></a><h3>poppler_annot_markup_get_reply_to ()</h3>
+<pre class="programlisting"><a class="link" href="PopplerAnnot.html#PopplerAnnotMarkupReplyType" title="enum PopplerAnnotMarkupReplyType"><span class="returnvalue">PopplerAnnotMarkupReplyType</span></a>
+poppler_annot_markup_get_reply_to (<em class="parameter"><code><a class="link" href="PopplerAnnot.html#PopplerAnnotMarkup" title="PopplerAnnotMarkup"><span class="type">PopplerAnnotMarkup</span></a> *poppler_annot</code></em>);</pre>
+<p>Gets the reply type of <em class="parameter"><code>poppler_annot</code></em>
+.</p>
+<div class="refsect3">
+<a name="id-1.2.8.8.25.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>poppler_annot</p></td>
+<td class="parameter_description"><p>a <a class="link" href="PopplerAnnot.html#PopplerAnnotMarkup" title="PopplerAnnotMarkup"><span class="type">PopplerAnnotMarkup</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.2.8.8.25.6"></a><h4>Returns</h4>
+<p> <a class="link" href="PopplerAnnot.html#PopplerAnnotMarkupReplyType" title="enum PopplerAnnotMarkupReplyType"><span class="type">PopplerAnnotMarkupReplyType</span></a> of <em class="parameter"><code>poppler_annot</code></em>
+.</p>
+<p></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="poppler-annot-text-new"></a><h3>poppler_annot_text_new ()</h3>
+<pre class="programlisting"><a class="link" href="PopplerAnnot.html" title="PopplerAnnot"><span class="returnvalue">PopplerAnnot</span></a> *
+poppler_annot_text_new (<em class="parameter"><code><a class="link" href="PopplerDocument.html" title="PopplerDocument"><span class="type">PopplerDocument</span></a> *doc</code></em>,
+ <em class="parameter"><code><a class="link" href="PopplerPage.html#PopplerRectangle" title="PopplerRectangle"><span class="type">PopplerRectangle</span></a> *rect</code></em>);</pre>
+<p>Creates a new Text annotation that will be
+located on <em class="parameter"><code>rect</code></em>
+ when added to a page. See
+<a class="link" href="PopplerPage.html#poppler-page-add-annot" title="poppler_page_add_annot ()"><code class="function">poppler_page_add_annot()</code></a></p>
+<div class="refsect3">
+<a name="id-1.2.8.8.26.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><em class="parameter"><code>poppler_annot</code></em> :</span></p></td>
-<td>a <a class="link" href="PopplerAnnot.html" title="PopplerAnnot"><span class="type">PopplerAnnot</span></a>
-</td>
+<td class="parameter_name"><p>doc</p></td>
+<td class="parameter_description"><p>a <a class="link" href="PopplerDocument.html" title="PopplerDocument"><span class="type">PopplerDocument</span></a></p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>a new allocated string with the last modification data of
-<em class="parameter"><code>poppler_annot</code></em>. It must be freed with <a href="http://library.gnome.org/devel/glib/unstable/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a> when done.</td>
+<td class="parameter_name"><p>rect</p></td>
+<td class="parameter_description"><p>a <a class="link" href="PopplerPage.html#PopplerRectangle" title="PopplerRectangle"><span class="type">PopplerRectangle</span></a></p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="id-1.2.8.8.26.6"></a><h4>Returns</h4>
+<p> A newly created <a class="link" href="PopplerAnnot.html#PopplerAnnotText" title="PopplerAnnotText"><span class="type">PopplerAnnotText</span></a> annotation</p>
+<p></p>
+</div>
+<p class="since">Since 0.16</p>
+</div>
<hr>
<div class="refsect2">
-<a name="poppler-annot-markup-get-label"></a><h3>poppler_annot_markup_get_label ()</h3>
-<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> * poppler_annot_markup_get_label (<em class="parameter"><code><a class="link" href="PopplerAnnot.html#PopplerAnnotMarkup" title="PopplerAnnotMarkup"><span class="type">PopplerAnnotMarkup</span></a> *poppler_annot</code></em>);</pre>
-<p>
-Retrieves the label text of <em class="parameter"><code>poppler_annot</code></em>.
-</p>
+<a name="poppler-annot-text-get-icon"></a><h3>poppler_annot_text_get_icon ()</h3>
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+poppler_annot_text_get_icon (<em class="parameter"><code><a class="link" href="PopplerAnnot.html#PopplerAnnotText" title="PopplerAnnotText"><span class="type">PopplerAnnotText</span></a> *poppler_annot</code></em>);</pre>
+<p>Gets name of the icon of <em class="parameter"><code>poppler_annot</code></em>
+.</p>
+<div class="refsect3">
+<a name="id-1.2.8.8.27.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>poppler_annot</p></td>
+<td class="parameter_description"><p>a <a class="link" href="PopplerAnnot.html#PopplerAnnotText" title="PopplerAnnotText"><span class="type">PopplerAnnotText</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.2.8.8.27.6"></a><h4>Returns</h4>
+<p> a new allocated string containing the icon name</p>
+<p></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="poppler-annot-text-set-icon"></a><h3>poppler_annot_text_set_icon ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+poppler_annot_text_set_icon (<em class="parameter"><code><a class="link" href="PopplerAnnot.html#PopplerAnnotText" title="PopplerAnnotText"><span class="type">PopplerAnnotText</span></a> *poppler_annot</code></em>,
+ <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *icon</code></em>);</pre>
+<p>Sets the icon of <em class="parameter"><code>poppler_annot</code></em>
+. The following predefined
+icons are currently supported:</p>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
@@ -790,882 +1512,1697 @@ Retrieves the label text of <em class="parameter"><code>poppler_annot</code></em
</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><em class="parameter"><code>poppler_annot</code></em> :</span></p></td>
-<td>a <a class="link" href="PopplerAnnot.html#PopplerAnnotMarkup" title="PopplerAnnotMarkup"><span class="type">PopplerAnnotMarkup</span></a>
-</td>
+<td><p><span class="term"><a class="link" href="PopplerAnnot.html#POPPLER-ANNOT-TEXT-ICON-NOTE:CAPS" title="POPPLER_ANNOT_TEXT_ICON_NOTE"><span class="type">POPPLER_ANNOT_TEXT_ICON_NOTE</span></a></span></p></td>
+<td></td>
+</tr>
+<tr>
+<td><p><span class="term"><a class="link" href="PopplerAnnot.html#POPPLER-ANNOT-TEXT-ICON-COMMENT:CAPS" title="POPPLER_ANNOT_TEXT_ICON_COMMENT"><span class="type">POPPLER_ANNOT_TEXT_ICON_COMMENT</span></a></span></p></td>
+<td></td>
+</tr>
+<tr>
+<td><p><span class="term"><a class="link" href="PopplerAnnot.html#POPPLER-ANNOT-TEXT-ICON-KEY:CAPS" title="POPPLER_ANNOT_TEXT_ICON_KEY"><span class="type">POPPLER_ANNOT_TEXT_ICON_KEY</span></a></span></p></td>
+<td></td>
+</tr>
+<tr>
+<td><p><span class="term"><a class="link" href="PopplerAnnot.html#POPPLER-ANNOT-TEXT-ICON-HELP:CAPS" title="POPPLER_ANNOT_TEXT_ICON_HELP"><span class="type">POPPLER_ANNOT_TEXT_ICON_HELP</span></a></span></p></td>
+<td></td>
+</tr>
+<tr>
+<td><p><span class="term"><a class="link" href="PopplerAnnot.html#POPPLER-ANNOT-TEXT-ICON-NEW-PARAGRAPH:CAPS" title="POPPLER_ANNOT_TEXT_ICON_NEW_PARAGRAPH"><span class="type">POPPLER_ANNOT_TEXT_ICON_NEW_PARAGRAPH</span></a></span></p></td>
+<td></td>
+</tr>
+<tr>
+<td><p><span class="term"><a class="link" href="PopplerAnnot.html#POPPLER-ANNOT-TEXT-ICON-PARAGRAPH:CAPS" title="POPPLER_ANNOT_TEXT_ICON_PARAGRAPH"><span class="type">POPPLER_ANNOT_TEXT_ICON_PARAGRAPH</span></a></span></p></td>
+<td></td>
+</tr>
+<tr>
+<td><p><span class="term"><a class="link" href="PopplerAnnot.html#POPPLER-ANNOT-TEXT-ICON-INSERT:CAPS" title="POPPLER_ANNOT_TEXT_ICON_INSERT"><span class="type">POPPLER_ANNOT_TEXT_ICON_INSERT</span></a></span></p></td>
+<td></td>
</tr>
<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>the label text of <em class="parameter"><code>poppler_annot</code></em>.</td>
+<td><p><span class="term"><a class="link" href="PopplerAnnot.html#POPPLER-ANNOT-TEXT-ICON-CROSS:CAPS" title="POPPLER_ANNOT_TEXT_ICON_CROSS"><span class="type">POPPLER_ANNOT_TEXT_ICON_CROSS</span></a></span></p></td>
+<td></td>
+</tr>
+<tr>
+<td><p><span class="term"><a class="link" href="PopplerAnnot.html#POPPLER-ANNOT-TEXT-ICON-CIRCLE:CAPS" title="POPPLER_ANNOT_TEXT_ICON_CIRCLE"><span class="type">POPPLER_ANNOT_TEXT_ICON_CIRCLE</span></a></span></p></td>
+<td></td>
</tr>
</tbody>
</table></div>
-</div>
-<hr>
-<div class="refsect2">
-<a name="poppler-annot-markup-set-label"></a><h3>poppler_annot_markup_set_label ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span> poppler_annot_markup_set_label (<em class="parameter"><code><a class="link" href="PopplerAnnot.html#PopplerAnnotMarkup" title="PopplerAnnotMarkup"><span class="type">PopplerAnnotMarkup</span></a> *poppler_annot</code></em>,
- <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *label</code></em>);</pre>
-<p>
-Sets the label text of <em class="parameter"><code>poppler_annot</code></em>, replacing the current one
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<div class="refsect3">
+<a name="id-1.2.8.8.28.6"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><em class="parameter"><code>poppler_annot</code></em> :</span></p></td>
-<td>a <a class="link" href="PopplerAnnot.html#PopplerAnnotMarkup" title="PopplerAnnotMarkup"><span class="type">PopplerAnnotMarkup</span></a>
-</td>
+<td class="parameter_name"><p>poppler_annot</p></td>
+<td class="parameter_description"><p>a <a class="link" href="PopplerAnnot.html#PopplerAnnotText" title="PopplerAnnotText"><span class="type">PopplerAnnotText</span></a></p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><em class="parameter"><code>label</code></em> :</span></p></td>
-<td>a text string containing the new label, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. <span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
-</td>
+<td class="parameter_name"><p>icon</p></td>
+<td class="parameter_description"><p>the name of an icon</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
+</div>
<p class="since">Since 0.16</p>
</div>
<hr>
<div class="refsect2">
-<a name="poppler-annot-markup-get-subject"></a><h3>poppler_annot_markup_get_subject ()</h3>
-<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> * poppler_annot_markup_get_subject (<em class="parameter"><code><a class="link" href="PopplerAnnot.html#PopplerAnnotMarkup" title="PopplerAnnotMarkup"><span class="type">PopplerAnnotMarkup</span></a> *poppler_annot</code></em>);</pre>
-<p>
-Retrives the subject text of <em class="parameter"><code>poppler_annot</code></em>.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="poppler-annot-text-get-is-open"></a><h3>poppler_annot_text_get_is_open ()</h3>
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+poppler_annot_text_get_is_open (<em class="parameter"><code><a class="link" href="PopplerAnnot.html#PopplerAnnotText" title="PopplerAnnotText"><span class="type">PopplerAnnotText</span></a> *poppler_annot</code></em>);</pre>
+<p>Retrieves the state of <em class="parameter"><code>poppler_annot</code></em>
+.</p>
+<div class="refsect3">
+<a name="id-1.2.8.8.29.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>poppler_annot</p></td>
+<td class="parameter_description"><p>a <a class="link" href="PopplerAnnot.html#PopplerAnnotText" title="PopplerAnnotText"><span class="type">PopplerAnnotText</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.2.8.8.29.6"></a><h4>Returns</h4>
+<p> the state of <em class="parameter"><code>poppler_annot</code></em>
+. <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if it's open, <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> in
+other case.</p>
+<p></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="poppler-annot-text-set-is-open"></a><h3>poppler_annot_text_set_is_open ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+poppler_annot_text_set_is_open (<em class="parameter"><code><a class="link" href="PopplerAnnot.html#PopplerAnnotText" title="PopplerAnnotText"><span class="type">PopplerAnnotText</span></a> *poppler_annot</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> is_open</code></em>);</pre>
+<p>Sets whether <em class="parameter"><code>poppler_annot</code></em>
+ should initially be displayed open</p>
+<div class="refsect3">
+<a name="id-1.2.8.8.30.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><em class="parameter"><code>poppler_annot</code></em> :</span></p></td>
-<td>a <a class="link" href="PopplerAnnot.html#PopplerAnnotMarkup" title="PopplerAnnotMarkup"><span class="type">PopplerAnnotMarkup</span></a>
-</td>
+<td class="parameter_name"><p>poppler_annot</p></td>
+<td class="parameter_description"><p>a <a class="link" href="PopplerAnnot.html#PopplerAnnotText" title="PopplerAnnotText"><span class="type">PopplerAnnotText</span></a></p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>the subject text of <em class="parameter"><code>poppler_annot</code></em>.</td>
+<td class="parameter_name"><p>is_open</p></td>
+<td class="parameter_description"><p>whether annotation should initially be displayed open</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
+<p class="since">Since 0.16</p>
+</div>
<hr>
<div class="refsect2">
-<a name="poppler-annot-markup-get-opacity"></a><h3>poppler_annot_markup_get_opacity ()</h3>
-<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="returnvalue">gdouble</span></a> poppler_annot_markup_get_opacity (<em class="parameter"><code><a class="link" href="PopplerAnnot.html#PopplerAnnotMarkup" title="PopplerAnnotMarkup"><span class="type">PopplerAnnotMarkup</span></a> *poppler_annot</code></em>);</pre>
-<p>
-Retrieves the opacity value of <em class="parameter"><code>poppler_annot</code></em>.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="poppler-annot-text-get-state"></a><h3>poppler_annot_text_get_state ()</h3>
+<pre class="programlisting"><a class="link" href="PopplerAnnot.html#PopplerAnnotTextState" title="enum PopplerAnnotTextState"><span class="returnvalue">PopplerAnnotTextState</span></a>
+poppler_annot_text_get_state (<em class="parameter"><code><a class="link" href="PopplerAnnot.html#PopplerAnnotText" title="PopplerAnnotText"><span class="type">PopplerAnnotText</span></a> *poppler_annot</code></em>);</pre>
+<p>Retrieves the state of <em class="parameter"><code>poppler_annot</code></em>
+.</p>
+<div class="refsect3">
+<a name="id-1.2.8.8.31.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>poppler_annot</p></td>
+<td class="parameter_description"><p>a <a class="link" href="PopplerAnnot.html#PopplerAnnotText" title="PopplerAnnotText"><span class="type">PopplerAnnotText</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.2.8.8.31.6"></a><h4>Returns</h4>
+<p> <a class="link" href="PopplerAnnot.html#PopplerAnnotTextState" title="enum PopplerAnnotTextState"><span class="type">PopplerAnnotTextState</span></a> of <em class="parameter"><code>poppler_annot</code></em>
+.</p>
+<p></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="poppler-annot-text-markup-new-highlight"></a><h3>poppler_annot_text_markup_new_highlight ()</h3>
+<pre class="programlisting"><a class="link" href="PopplerAnnot.html" title="PopplerAnnot"><span class="returnvalue">PopplerAnnot</span></a> *
+poppler_annot_text_markup_new_highlight
+ (<em class="parameter"><code><a class="link" href="PopplerDocument.html" title="PopplerDocument"><span class="type">PopplerDocument</span></a> *doc</code></em>,
+ <em class="parameter"><code><a class="link" href="PopplerPage.html#PopplerRectangle" title="PopplerRectangle"><span class="type">PopplerRectangle</span></a> *rect</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Arrays.html#GArray"><span class="type">GArray</span></a> *quadrilaterals</code></em>);</pre>
+<p>Creates a new Highlight Text annotation that will be
+located on <em class="parameter"><code>rect</code></em>
+ when added to a page. See <a class="link" href="PopplerPage.html#poppler-page-add-annot" title="poppler_page_add_annot ()"><code class="function">poppler_page_add_annot()</code></a></p>
+<div class="refsect3">
+<a name="id-1.2.8.8.32.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><em class="parameter"><code>poppler_annot</code></em> :</span></p></td>
-<td>a <a class="link" href="PopplerAnnot.html#PopplerAnnotMarkup" title="PopplerAnnotMarkup"><span class="type">PopplerAnnotMarkup</span></a>
-</td>
+<td class="parameter_name"><p>doc</p></td>
+<td class="parameter_description"><p>a <a class="link" href="PopplerDocument.html" title="PopplerDocument"><span class="type">PopplerDocument</span></a></p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>the opacity value of <em class="parameter"><code>poppler_annot</code></em>,
-between 0 (transparent) and 1 (opaque)</td>
+<td class="parameter_name"><p>rect</p></td>
+<td class="parameter_description"><p>a <a class="link" href="PopplerPage.html#PopplerRectangle" title="PopplerRectangle"><span class="type">PopplerRectangle</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>quadrilaterals</p></td>
+<td class="parameter_description"><p> A <a href="http://library.gnome.org/devel/glib/unstable/glib-Arrays.html#GArray"><span class="type">GArray</span></a> of
+<a class="link" href="PopplerAnnot.html#PopplerQuadrilateral" title="PopplerQuadrilateral"><span class="type">PopplerQuadrilateral</span></a>s. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> PopplerQuadrilateral]</span></td>
</tr>
</tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="id-1.2.8.8.32.6"></a><h4>Returns</h4>
+<p> A newly created <a class="link" href="PopplerAnnot.html#PopplerAnnotTextMarkup" title="PopplerAnnotTextMarkup"><span class="type">PopplerAnnotTextMarkup</span></a> annotation. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+<p class="since">Since 0.26</p>
+</div>
<hr>
<div class="refsect2">
-<a name="poppler-annot-markup-set-opacity"></a><h3>poppler_annot_markup_set_opacity ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span> poppler_annot_markup_set_opacity (<em class="parameter"><code><a class="link" href="PopplerAnnot.html#PopplerAnnotMarkup" title="PopplerAnnotMarkup"><span class="type">PopplerAnnotMarkup</span></a> *poppler_annot</code></em>,
- <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> opacity</code></em>);</pre>
-<p>
-Sets the opacity of <em class="parameter"><code>poppler_annot</code></em>. This value applies to
-all visible elements of <em class="parameter"><code>poppler_annot</code></em> in its closed state,
-but not to the pop-up window that appears when it's openened
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="poppler-annot-text-markup-new-squiggly"></a><h3>poppler_annot_text_markup_new_squiggly ()</h3>
+<pre class="programlisting"><a class="link" href="PopplerAnnot.html" title="PopplerAnnot"><span class="returnvalue">PopplerAnnot</span></a> *
+poppler_annot_text_markup_new_squiggly
+ (<em class="parameter"><code><a class="link" href="PopplerDocument.html" title="PopplerDocument"><span class="type">PopplerDocument</span></a> *doc</code></em>,
+ <em class="parameter"><code><a class="link" href="PopplerPage.html#PopplerRectangle" title="PopplerRectangle"><span class="type">PopplerRectangle</span></a> *rect</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Arrays.html#GArray"><span class="type">GArray</span></a> *quadrilaterals</code></em>);</pre>
+<p>Creates a new Squiggly Text annotation that will be
+located on <em class="parameter"><code>rect</code></em>
+ when added to a page. See <a class="link" href="PopplerPage.html#poppler-page-add-annot" title="poppler_page_add_annot ()"><code class="function">poppler_page_add_annot()</code></a></p>
+<div class="refsect3">
+<a name="id-1.2.8.8.33.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><em class="parameter"><code>poppler_annot</code></em> :</span></p></td>
-<td>a <a class="link" href="PopplerAnnot.html#PopplerAnnotMarkup" title="PopplerAnnotMarkup"><span class="type">PopplerAnnotMarkup</span></a>
-</td>
+<td class="parameter_name"><p>doc</p></td>
+<td class="parameter_description"><p>a <a class="link" href="PopplerDocument.html" title="PopplerDocument"><span class="type">PopplerDocument</span></a></p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><em class="parameter"><code>opacity</code></em> :</span></p></td>
-<td>a constant opacity value, between 0 (transparent) and 1 (opaque)</td>
+<td class="parameter_name"><p>rect</p></td>
+<td class="parameter_description"><p>a <a class="link" href="PopplerPage.html#PopplerRectangle" title="PopplerRectangle"><span class="type">PopplerRectangle</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>quadrilaterals</p></td>
+<td class="parameter_description"><p> A <a href="http://library.gnome.org/devel/glib/unstable/glib-Arrays.html#GArray"><span class="type">GArray</span></a> of
+<a class="link" href="PopplerAnnot.html#PopplerQuadrilateral" title="PopplerQuadrilateral"><span class="type">PopplerQuadrilateral</span></a>s. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> PopplerQuadrilateral]</span></td>
</tr>
</tbody>
</table></div>
-<p class="since">Since 0.16</p>
+</div>
+<div class="refsect3">
+<a name="id-1.2.8.8.33.6"></a><h4>Returns</h4>
+<p> A newly created <a class="link" href="PopplerAnnot.html#PopplerAnnotTextMarkup" title="PopplerAnnotTextMarkup"><span class="type">PopplerAnnotTextMarkup</span></a> annotation. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+<p class="since">Since 0.26</p>
</div>
<hr>
<div class="refsect2">
-<a name="poppler-annot-markup-has-popup"></a><h3>poppler_annot_markup_has_popup ()</h3>
-<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> poppler_annot_markup_has_popup (<em class="parameter"><code><a class="link" href="PopplerAnnot.html#PopplerAnnotMarkup" title="PopplerAnnotMarkup"><span class="type">PopplerAnnotMarkup</span></a> *poppler_annot</code></em>);</pre>
-<p>
-Return <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the markup annotation has a popup window associated
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="poppler-annot-text-markup-new-strikeout"></a><h3>poppler_annot_text_markup_new_strikeout ()</h3>
+<pre class="programlisting"><a class="link" href="PopplerAnnot.html" title="PopplerAnnot"><span class="returnvalue">PopplerAnnot</span></a> *
+poppler_annot_text_markup_new_strikeout
+ (<em class="parameter"><code><a class="link" href="PopplerDocument.html" title="PopplerDocument"><span class="type">PopplerDocument</span></a> *doc</code></em>,
+ <em class="parameter"><code><a class="link" href="PopplerPage.html#PopplerRectangle" title="PopplerRectangle"><span class="type">PopplerRectangle</span></a> *rect</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Arrays.html#GArray"><span class="type">GArray</span></a> *quadrilaterals</code></em>);</pre>
+<p>Creates a new Strike Out Text annotation that will be
+located on <em class="parameter"><code>rect</code></em>
+ when added to a page. See <a class="link" href="PopplerPage.html#poppler-page-add-annot" title="poppler_page_add_annot ()"><code class="function">poppler_page_add_annot()</code></a></p>
+<div class="refsect3">
+<a name="id-1.2.8.8.34.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><em class="parameter"><code>poppler_annot</code></em> :</span></p></td>
-<td>a <a class="link" href="PopplerAnnot.html#PopplerAnnotMarkup" title="PopplerAnnotMarkup"><span class="type">PopplerAnnotMarkup</span></a>
-</td>
+<td class="parameter_name"><p>doc</p></td>
+<td class="parameter_description"><p>a <a class="link" href="PopplerDocument.html" title="PopplerDocument"><span class="type">PopplerDocument</span></a></p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>, if <em class="parameter"><code>poppler_annot</code></em> has popup, <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise</td>
+<td class="parameter_name"><p>rect</p></td>
+<td class="parameter_description"><p>a <a class="link" href="PopplerPage.html#PopplerRectangle" title="PopplerRectangle"><span class="type">PopplerRectangle</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>quadrilaterals</p></td>
+<td class="parameter_description"><p> A <a href="http://library.gnome.org/devel/glib/unstable/glib-Arrays.html#GArray"><span class="type">GArray</span></a> of
+<a class="link" href="PopplerAnnot.html#PopplerQuadrilateral" title="PopplerQuadrilateral"><span class="type">PopplerQuadrilateral</span></a>s. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> PopplerQuadrilateral]</span></td>
</tr>
</tbody>
</table></div>
-<p class="since">Since 0.12</p>
+</div>
+<div class="refsect3">
+<a name="id-1.2.8.8.34.6"></a><h4>Returns</h4>
+<p> A newly created <a class="link" href="PopplerAnnot.html#PopplerAnnotTextMarkup" title="PopplerAnnotTextMarkup"><span class="type">PopplerAnnotTextMarkup</span></a> annotation. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+<p class="since">Since 0.26</p>
</div>
<hr>
<div class="refsect2">
-<a name="poppler-annot-markup-set-popup"></a><h3>poppler_annot_markup_set_popup ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span> poppler_annot_markup_set_popup (<em class="parameter"><code><a class="link" href="PopplerAnnot.html#PopplerAnnotMarkup" title="PopplerAnnotMarkup"><span class="type">PopplerAnnotMarkup</span></a> *poppler_annot</code></em>,
- <em class="parameter"><code><a class="link" href="PopplerPage.html#PopplerRectangle" title="PopplerRectangle"><span class="type">PopplerRectangle</span></a> *popup_rect</code></em>);</pre>
-<p>
-Associates a new popup window for editing contents of <em class="parameter"><code>poppler_annot</code></em>.
-Popup window shall be displayed by viewers at <em class="parameter"><code>popup_rect</code></em> on the page.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="poppler-annot-text-markup-new-underline"></a><h3>poppler_annot_text_markup_new_underline ()</h3>
+<pre class="programlisting"><a class="link" href="PopplerAnnot.html" title="PopplerAnnot"><span class="returnvalue">PopplerAnnot</span></a> *
+poppler_annot_text_markup_new_underline
+ (<em class="parameter"><code><a class="link" href="PopplerDocument.html" title="PopplerDocument"><span class="type">PopplerDocument</span></a> *doc</code></em>,
+ <em class="parameter"><code><a class="link" href="PopplerPage.html#PopplerRectangle" title="PopplerRectangle"><span class="type">PopplerRectangle</span></a> *rect</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Arrays.html#GArray"><span class="type">GArray</span></a> *quadrilaterals</code></em>);</pre>
+<p>Creates a new Underline Text annotation that will be
+located on <em class="parameter"><code>rect</code></em>
+ when added to a page. See <a class="link" href="PopplerPage.html#poppler-page-add-annot" title="poppler_page_add_annot ()"><code class="function">poppler_page_add_annot()</code></a></p>
+<div class="refsect3">
+<a name="id-1.2.8.8.35.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><em class="parameter"><code>poppler_annot</code></em> :</span></p></td>
-<td>a <a class="link" href="PopplerAnnot.html#PopplerAnnotMarkup" title="PopplerAnnotMarkup"><span class="type">PopplerAnnotMarkup</span></a>
-</td>
+<td class="parameter_name"><p>doc</p></td>
+<td class="parameter_description"><p>a <a class="link" href="PopplerDocument.html" title="PopplerDocument"><span class="type">PopplerDocument</span></a></p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><em class="parameter"><code>popup_rect</code></em> :</span></p></td>
-<td>a <a class="link" href="PopplerPage.html#PopplerRectangle" title="PopplerRectangle"><span class="type">PopplerRectangle</span></a>
-</td>
+<td class="parameter_name"><p>rect</p></td>
+<td class="parameter_description"><p>a <a class="link" href="PopplerPage.html#PopplerRectangle" title="PopplerRectangle"><span class="type">PopplerRectangle</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>quadrilaterals</p></td>
+<td class="parameter_description"><p> A <a href="http://library.gnome.org/devel/glib/unstable/glib-Arrays.html#GArray"><span class="type">GArray</span></a> of
+<a class="link" href="PopplerAnnot.html#PopplerQuadrilateral" title="PopplerQuadrilateral"><span class="type">PopplerQuadrilateral</span></a>s. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> PopplerQuadrilateral]</span></td>
</tr>
</tbody>
</table></div>
-<p class="since">Since 0.16</p>
+</div>
+<div class="refsect3">
+<a name="id-1.2.8.8.35.6"></a><h4>Returns</h4>
+<p> A newly created <a class="link" href="PopplerAnnot.html#PopplerAnnotTextMarkup" title="PopplerAnnotTextMarkup"><span class="type">PopplerAnnotTextMarkup</span></a> annotation. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+<p class="since">Since 0.26</p>
</div>
<hr>
<div class="refsect2">
-<a name="poppler-annot-markup-get-popup-is-open"></a><h3>poppler_annot_markup_get_popup_is_open ()</h3>
-<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> poppler_annot_markup_get_popup_is_open
- (<em class="parameter"><code><a class="link" href="PopplerAnnot.html#PopplerAnnotMarkup" title="PopplerAnnotMarkup"><span class="type">PopplerAnnotMarkup</span></a> *poppler_annot</code></em>);</pre>
-<p>
-Retrieves the state of the popup window related to <em class="parameter"><code>poppler_annot</code></em>.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="poppler-annot-text-markup-set-quadrilaterals"></a><h3>poppler_annot_text_markup_set_quadrilaterals ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+poppler_annot_text_markup_set_quadrilaterals
+ (<em class="parameter"><code><a class="link" href="PopplerAnnot.html#PopplerAnnotTextMarkup" title="PopplerAnnotTextMarkup"><span class="type">PopplerAnnotTextMarkup</span></a> *poppler_annot</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Arrays.html#GArray"><span class="type">GArray</span></a> *quadrilaterals</code></em>);</pre>
+<p>Set the regions (Quadrilaterals) to apply the text markup in <em class="parameter"><code>poppler_annot</code></em>
+.</p>
+<div class="refsect3">
+<a name="id-1.2.8.8.36.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><em class="parameter"><code>poppler_annot</code></em> :</span></p></td>
-<td>a <a class="link" href="PopplerAnnot.html#PopplerAnnotMarkup" title="PopplerAnnotMarkup"><span class="type">PopplerAnnotMarkup</span></a>
-</td>
+<td class="parameter_name"><p>poppler_annot</p></td>
+<td class="parameter_description"><p>A <a class="link" href="PopplerAnnot.html#PopplerAnnotTextMarkup" title="PopplerAnnotTextMarkup"><span class="type">PopplerAnnotTextMarkup</span></a></p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>the state of <em class="parameter"><code>poppler_annot</code></em>. <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if it's open, <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> in
-other case.</td>
+<td class="parameter_name"><p>quadrilaterals</p></td>
+<td class="parameter_description"><p> A <a href="http://library.gnome.org/devel/glib/unstable/glib-Arrays.html#GArray"><span class="type">GArray</span></a> of
+<a class="link" href="PopplerAnnot.html#PopplerQuadrilateral" title="PopplerQuadrilateral"><span class="type">PopplerQuadrilateral</span></a>s. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> PopplerQuadrilateral]</span></td>
</tr>
</tbody>
</table></div>
</div>
+<p class="since">Since 0.26</p>
+</div>
<hr>
<div class="refsect2">
-<a name="poppler-annot-markup-set-popup-is-open"></a><h3>poppler_annot_markup_set_popup_is_open ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span> poppler_annot_markup_set_popup_is_open
- (<em class="parameter"><code><a class="link" href="PopplerAnnot.html#PopplerAnnotMarkup" title="PopplerAnnotMarkup"><span class="type">PopplerAnnotMarkup</span></a> *poppler_annot</code></em>,
- <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> is_open</code></em>);</pre>
-<p>
-Sets the state of the popup window related to <em class="parameter"><code>poppler_annot</code></em>.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="poppler-annot-text-markup-get-quadrilaterals"></a><h3>poppler_annot_text_markup_get_quadrilaterals ()</h3>
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Arrays.html#GArray"><span class="returnvalue">GArray</span></a> *
+poppler_annot_text_markup_get_quadrilaterals
+ (<em class="parameter"><code><a class="link" href="PopplerAnnot.html#PopplerAnnotTextMarkup" title="PopplerAnnotTextMarkup"><span class="type">PopplerAnnotTextMarkup</span></a> *poppler_annot</code></em>);</pre>
+<p>Returns a <a href="http://library.gnome.org/devel/glib/unstable/glib-Arrays.html#GArray"><span class="type">GArray</span></a> of <a class="link" href="PopplerAnnot.html#PopplerQuadrilateral" title="PopplerQuadrilateral"><span class="type">PopplerQuadrilateral</span></a> items that map from a
+location on <em class="parameter"><code>page</code></em>
+ to a <a class="link" href="PopplerAnnot.html#PopplerAnnotTextMarkup" title="PopplerAnnotTextMarkup"><span class="type">PopplerAnnotTextMarkup</span></a>. This array must be freed
+when done.</p>
+<div class="refsect3">
+<a name="id-1.2.8.8.37.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>poppler_annot</p></td>
+<td class="parameter_description"><p>A <a class="link" href="PopplerAnnot.html#PopplerAnnotTextMarkup" title="PopplerAnnotTextMarkup"><span class="type">PopplerAnnotTextMarkup</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.2.8.8.37.6"></a><h4>Returns</h4>
+<p> A <a href="http://library.gnome.org/devel/glib/unstable/glib-Arrays.html#GArray"><span class="type">GArray</span></a> of <a class="link" href="PopplerAnnot.html#PopplerQuadrilateral" title="PopplerQuadrilateral"><span class="type">PopplerQuadrilateral</span></a>. </p>
+<p><span class="annotation">[<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> PopplerQuadrilateral][<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+<p class="since">Since 0.26</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="poppler-annot-free-text-get-callout-line"></a><h3>poppler_annot_free_text_get_callout_line ()</h3>
+<pre class="programlisting"><a class="link" href="PopplerAnnot.html#PopplerAnnotCalloutLine" title="PopplerAnnotCalloutLine"><span class="returnvalue">PopplerAnnotCalloutLine</span></a> *
+poppler_annot_free_text_get_callout_line
+ (<em class="parameter"><code><a class="link" href="PopplerAnnot.html#PopplerAnnotFreeText" title="PopplerAnnotFreeText"><span class="type">PopplerAnnotFreeText</span></a> *poppler_annot</code></em>);</pre>
+<p>Retrieves a <a class="link" href="PopplerAnnot.html#PopplerAnnotCalloutLine" title="PopplerAnnotCalloutLine"><span class="type">PopplerAnnotCalloutLine</span></a> of four or six numbers specifying a callout
+line attached to the <em class="parameter"><code>poppler_annot</code></em>
+.</p>
+<div class="refsect3">
+<a name="id-1.2.8.8.38.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>poppler_annot</p></td>
+<td class="parameter_description"><p>a <a class="link" href="PopplerAnnot.html#PopplerAnnotFreeText" title="PopplerAnnotFreeText"><span class="type">PopplerAnnotFreeText</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.2.8.8.38.6"></a><h4>Returns</h4>
+<p> a new allocated <a class="link" href="PopplerAnnot.html#PopplerAnnotCalloutLine" title="PopplerAnnotCalloutLine"><span class="type">PopplerAnnotCalloutLine</span></a> if the annot has a callout
+line, <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> in other case. It must be freed with <a href="http://library.gnome.org/devel/glib/unstable/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a> when
+done.</p>
+<p></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="poppler-annot-free-text-get-quadding"></a><h3>poppler_annot_free_text_get_quadding ()</h3>
+<pre class="programlisting"><a class="link" href="PopplerAnnot.html#PopplerAnnotFreeTextQuadding" title="enum PopplerAnnotFreeTextQuadding"><span class="returnvalue">PopplerAnnotFreeTextQuadding</span></a>
+poppler_annot_free_text_get_quadding (<em class="parameter"><code><a class="link" href="PopplerAnnot.html#PopplerAnnotFreeText" title="PopplerAnnotFreeText"><span class="type">PopplerAnnotFreeText</span></a> *poppler_annot</code></em>);</pre>
+<p>Retrieves the justification of the text of <em class="parameter"><code>poppler_annot</code></em>
+.</p>
+<div class="refsect3">
+<a name="id-1.2.8.8.39.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>poppler_annot</p></td>
+<td class="parameter_description"><p>a <a class="link" href="PopplerAnnot.html#PopplerAnnotFreeText" title="PopplerAnnotFreeText"><span class="type">PopplerAnnotFreeText</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.2.8.8.39.6"></a><h4>Returns</h4>
+<p> <a class="link" href="PopplerAnnot.html#PopplerAnnotFreeTextQuadding" title="enum PopplerAnnotFreeTextQuadding"><span class="type">PopplerAnnotFreeTextQuadding</span></a> of <em class="parameter"><code>poppler_annot</code></em>
+.</p>
+<p></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="poppler-annot-file-attachment-get-attachment"></a><h3>poppler_annot_file_attachment_get_attachment ()</h3>
+<pre class="programlisting"><a class="link" href="PopplerAttachment.html" title="PopplerAttachment"><span class="returnvalue">PopplerAttachment</span></a> *
+poppler_annot_file_attachment_get_attachment
+ (<em class="parameter"><code><a class="link" href="PopplerAnnot.html#PopplerAnnotFileAttachment" title="PopplerAnnotFileAttachment"><span class="type">PopplerAnnotFileAttachment</span></a> *poppler_annot</code></em>);</pre>
+<p>Creates a <a class="link" href="PopplerAttachment.html" title="PopplerAttachment"><span class="type">PopplerAttachment</span></a> for the file of the file attachment annotation <em class="parameter"><code>annot</code></em>
+.
+The <a class="link" href="PopplerAttachment.html" title="PopplerAttachment"><span class="type">PopplerAttachment</span></a> must be unrefed with g_object_unref by the caller.</p>
+<div class="refsect3">
+<a name="id-1.2.8.8.40.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>poppler_annot</p></td>
+<td class="parameter_description"><p>a <a class="link" href="PopplerAnnot.html#PopplerAnnotFileAttachment" title="PopplerAnnotFileAttachment"><span class="type">PopplerAnnotFileAttachment</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.2.8.8.40.6"></a><h4>Returns</h4>
+<p> <em class="parameter"><code>PopplerAttachment</code></em>
+. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+<p class="since">Since 0.14</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="poppler-annot-file-attachment-get-name"></a><h3>poppler_annot_file_attachment_get_name ()</h3>
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+poppler_annot_file_attachment_get_name
+ (<em class="parameter"><code><a class="link" href="PopplerAnnot.html#PopplerAnnotFileAttachment" title="PopplerAnnotFileAttachment"><span class="type">PopplerAnnotFileAttachment</span></a> *poppler_annot</code></em>);</pre>
+<p>Retrieves the name of <em class="parameter"><code>poppler_annot</code></em>
+.</p>
+<div class="refsect3">
+<a name="id-1.2.8.8.41.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>poppler_annot</p></td>
+<td class="parameter_description"><p>a <a class="link" href="PopplerAnnot.html#PopplerAnnotFileAttachment" title="PopplerAnnotFileAttachment"><span class="type">PopplerAnnotFileAttachment</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.2.8.8.41.6"></a><h4>Returns</h4>
+<p> a new allocated string with the name of <em class="parameter"><code>poppler_annot</code></em>
+. It must
+be freed with <a href="http://library.gnome.org/devel/glib/unstable/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a> when done.</p>
+<p></p>
+</div>
+<p class="since">Since 0.14</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="poppler-annot-screen-get-action"></a><h3>poppler_annot_screen_get_action ()</h3>
+<pre class="programlisting"><a class="link" href="poppler-PopplerAction.html#PopplerAction" title="union PopplerAction"><span class="returnvalue">PopplerAction</span></a> *
+poppler_annot_screen_get_action (<em class="parameter"><code><a class="link" href="PopplerAnnot.html#PopplerAnnotScreen" title="PopplerAnnotScreen"><span class="type">PopplerAnnotScreen</span></a> *poppler_annot</code></em>);</pre>
+<p>Retrieves the action (<a class="link" href="poppler-PopplerAction.html#PopplerAction" title="union PopplerAction"><span class="type">PopplerAction</span></a>) that shall be performed when <em class="parameter"><code>poppler_annot</code></em>
+ is activated</p>
+<div class="refsect3">
+<a name="id-1.2.8.8.42.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>poppler_annot</p></td>
+<td class="parameter_description"><p>a <a class="link" href="PopplerAnnot.html#PopplerAnnotScreen" title="PopplerAnnotScreen"><span class="type">PopplerAnnotScreen</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.2.8.8.42.6"></a><h4>Returns</h4>
+<p> the action to perform. The returned
+object is owned by <em class="parameter"><code>poppler_annot</code></em>
+and should not be freed. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
+<p class="since">Since 0.14</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="poppler-annot-movie-get-movie"></a><h3>poppler_annot_movie_get_movie ()</h3>
+<pre class="programlisting"><a class="link" href="PopplerMovie.html" title="PopplerMovie"><span class="returnvalue">PopplerMovie</span></a> *
+poppler_annot_movie_get_movie (<em class="parameter"><code><a class="link" href="PopplerAnnot.html#PopplerAnnotMovie" title="PopplerAnnotMovie"><span class="type">PopplerAnnotMovie</span></a> *poppler_annot</code></em>);</pre>
+<p>Retrieves the movie object (PopplerMovie) stored in the <em class="parameter"><code>poppler_annot</code></em>
+.</p>
+<div class="refsect3">
+<a name="id-1.2.8.8.43.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>poppler_annot</p></td>
+<td class="parameter_description"><p>a <a class="link" href="PopplerAnnot.html#PopplerAnnotMovie" title="PopplerAnnotMovie"><span class="type">PopplerAnnotMovie</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.2.8.8.43.6"></a><h4>Returns</h4>
+<p> the movie object stored in the <em class="parameter"><code>poppler_annot</code></em>
+. The returned
+object is owned by <a class="link" href="PopplerAnnot.html#PopplerAnnotMovie" title="PopplerAnnotMovie"><span class="type">PopplerAnnotMovie</span></a> and should not be freed. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
+<p class="since">Since 0.14</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="poppler-annot-movie-get-title"></a><h3>poppler_annot_movie_get_title ()</h3>
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+poppler_annot_movie_get_title (<em class="parameter"><code><a class="link" href="PopplerAnnot.html#PopplerAnnotMovie" title="PopplerAnnotMovie"><span class="type">PopplerAnnotMovie</span></a> *poppler_annot</code></em>);</pre>
+<p>Retrieves the movie title of <em class="parameter"><code>poppler_annot</code></em>
+.</p>
+<div class="refsect3">
+<a name="id-1.2.8.8.44.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>poppler_annot</p></td>
+<td class="parameter_description"><p>a <a class="link" href="PopplerAnnot.html#PopplerAnnotMovie" title="PopplerAnnotMovie"><span class="type">PopplerAnnotMovie</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.2.8.8.44.6"></a><h4>Returns</h4>
+<p> the title text of <em class="parameter"><code>poppler_annot</code></em>
+.</p>
+<p></p>
+</div>
+<p class="since">Since 0.14</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="poppler-annot-callout-line-new"></a><h3>poppler_annot_callout_line_new ()</h3>
+<pre class="programlisting"><a class="link" href="PopplerAnnot.html#PopplerAnnotCalloutLine" title="PopplerAnnotCalloutLine"><span class="returnvalue">PopplerAnnotCalloutLine</span></a> *
+poppler_annot_callout_line_new (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
+<p>Creates a new empty <a class="link" href="PopplerAnnot.html#PopplerAnnotCalloutLine" title="PopplerAnnotCalloutLine"><span class="type">PopplerAnnotCalloutLine</span></a>.</p>
+<div class="refsect3">
+<a name="id-1.2.8.8.45.5"></a><h4>Returns</h4>
+<p> a new allocated <a class="link" href="PopplerAnnot.html#PopplerAnnotCalloutLine" title="PopplerAnnotCalloutLine"><span class="type">PopplerAnnotCalloutLine</span></a>, <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> in other case.
+It must be freed when done.</p>
+<p></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="poppler-annot-callout-line-copy"></a><h3>poppler_annot_callout_line_copy ()</h3>
+<pre class="programlisting"><a class="link" href="PopplerAnnot.html#PopplerAnnotCalloutLine" title="PopplerAnnotCalloutLine"><span class="returnvalue">PopplerAnnotCalloutLine</span></a> *
+poppler_annot_callout_line_copy (<em class="parameter"><code><a class="link" href="PopplerAnnot.html#PopplerAnnotCalloutLine" title="PopplerAnnotCalloutLine"><span class="type">PopplerAnnotCalloutLine</span></a> *callout</code></em>);</pre>
+<p>It does copy <em class="parameter"><code>callout</code></em>
+ to a new <a class="link" href="PopplerAnnot.html#PopplerAnnotCalloutLine" title="PopplerAnnotCalloutLine"><span class="type">PopplerAnnotCalloutLine</span></a>.</p>
+<div class="refsect3">
+<a name="id-1.2.8.8.46.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>callout</p></td>
+<td class="parameter_description"><p>the <a class="link" href="PopplerAnnot.html#PopplerAnnotCalloutLine" title="PopplerAnnotCalloutLine"><span class="type">PopplerAnnotCalloutLine</span></a> to be copied.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.2.8.8.46.6"></a><h4>Returns</h4>
+<p> a new allocated <a class="link" href="PopplerAnnot.html#PopplerAnnotCalloutLine" title="PopplerAnnotCalloutLine"><span class="type">PopplerAnnotCalloutLine</span></a> as exact copy of
+<em class="parameter"><code>callout</code></em>
+, <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> in other case. It must be freed when done.</p>
+<p></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="poppler-annot-callout-line-free"></a><h3>poppler_annot_callout_line_free ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+poppler_annot_callout_line_free (<em class="parameter"><code><a class="link" href="PopplerAnnot.html#PopplerAnnotCalloutLine" title="PopplerAnnotCalloutLine"><span class="type">PopplerAnnotCalloutLine</span></a> *callout</code></em>);</pre>
+<p>Frees the memory used by <a class="link" href="PopplerAnnot.html#PopplerAnnotCalloutLine" title="PopplerAnnotCalloutLine"><span class="type">PopplerAnnotCalloutLine</span></a>.</p>
+<div class="refsect3">
+<a name="id-1.2.8.8.47.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>callout</p></td>
+<td class="parameter_description"><p>a <a class="link" href="PopplerAnnot.html#PopplerAnnotCalloutLine" title="PopplerAnnotCalloutLine"><span class="type">PopplerAnnotCalloutLine</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="poppler-annot-circle-new"></a><h3>poppler_annot_circle_new ()</h3>
+<pre class="programlisting"><a class="link" href="PopplerAnnot.html" title="PopplerAnnot"><span class="returnvalue">PopplerAnnot</span></a> *
+poppler_annot_circle_new (<em class="parameter"><code><a class="link" href="PopplerDocument.html" title="PopplerDocument"><span class="type">PopplerDocument</span></a> *doc</code></em>,
+ <em class="parameter"><code><a class="link" href="PopplerPage.html#PopplerRectangle" title="PopplerRectangle"><span class="type">PopplerRectangle</span></a> *rect</code></em>);</pre>
+<p>Creates a new Circle annotation that will be
+located on <em class="parameter"><code>rect</code></em>
+ when added to a page. See
+<a class="link" href="PopplerPage.html#poppler-page-add-annot" title="poppler_page_add_annot ()"><code class="function">poppler_page_add_annot()</code></a></p>
+<div class="refsect3">
+<a name="id-1.2.8.8.48.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><em class="parameter"><code>poppler_annot</code></em> :</span></p></td>
-<td>a <a class="link" href="PopplerAnnot.html#PopplerAnnotMarkup" title="PopplerAnnotMarkup"><span class="type">PopplerAnnotMarkup</span></a>
-</td>
+<td class="parameter_name"><p>doc</p></td>
+<td class="parameter_description"><p>a <a class="link" href="PopplerDocument.html" title="PopplerDocument"><span class="type">PopplerDocument</span></a></p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><em class="parameter"><code>is_open</code></em> :</span></p></td>
-<td>whether popup window should initially be displayed open</td>
+<td class="parameter_name"><p>rect</p></td>
+<td class="parameter_description"><p>a <a class="link" href="PopplerPage.html#PopplerRectangle" title="PopplerRectangle"><span class="type">PopplerRectangle</span></a></p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
-<p class="since">Since 0.16</p>
+</div>
+<div class="refsect3">
+<a name="id-1.2.8.8.48.6"></a><h4>Returns</h4>
+<p> a newly created <a class="link" href="PopplerAnnot.html#PopplerAnnotCircle" title="PopplerAnnotCircle"><span class="type">PopplerAnnotCircle</span></a> annotation</p>
+<p></p>
+</div>
+<p class="since">Since 0.26</p>
</div>
<hr>
<div class="refsect2">
-<a name="poppler-annot-markup-get-popup-rectangle"></a><h3>poppler_annot_markup_get_popup_rectangle ()</h3>
-<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> poppler_annot_markup_get_popup_rectangle
- (<em class="parameter"><code><a class="link" href="PopplerAnnot.html#PopplerAnnotMarkup" title="PopplerAnnotMarkup"><span class="type">PopplerAnnotMarkup</span></a> *poppler_annot</code></em>,
- <em class="parameter"><code><a class="link" href="PopplerPage.html#PopplerRectangle" title="PopplerRectangle"><span class="type">PopplerRectangle</span></a> *poppler_rect</code></em>);</pre>
-<p>
-Retrieves the rectangle of the popup window related to <em class="parameter"><code>poppler_annot</code></em>.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="poppler-annot-circle-get-interior-color"></a><h3>poppler_annot_circle_get_interior_color ()</h3>
+<pre class="programlisting"><a class="link" href="poppler-poppler.html#PopplerColor" title="PopplerColor"><span class="returnvalue">PopplerColor</span></a> *
+poppler_annot_circle_get_interior_color
+ (<em class="parameter"><code><a class="link" href="PopplerAnnot.html#PopplerAnnotCircle" title="PopplerAnnotCircle"><span class="type">PopplerAnnotCircle</span></a> *poppler_annot</code></em>);</pre>
+<p>Retrieves the interior color of <em class="parameter"><code>poppler_annot</code></em>
+.</p>
+<div class="refsect3">
+<a name="id-1.2.8.8.49.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>poppler_annot</p></td>
+<td class="parameter_description"><p>a <a class="link" href="PopplerAnnot.html#PopplerAnnotCircle" title="PopplerAnnotCircle"><span class="type">PopplerAnnotCircle</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.2.8.8.49.6"></a><h4>Returns</h4>
+<p> a new allocated <a class="link" href="poppler-poppler.html#PopplerColor" title="PopplerColor"><span class="type">PopplerColor</span></a> with the color values of
+<em class="parameter"><code>poppler_annot</code></em>
+, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. It must be freed with <a href="http://library.gnome.org/devel/glib/unstable/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a> when done.</p>
+<p></p>
+</div>
+<p class="since">Since 0.26</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="poppler-annot-circle-set-interior-color"></a><h3>poppler_annot_circle_set_interior_color ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+poppler_annot_circle_set_interior_color
+ (<em class="parameter"><code><a class="link" href="PopplerAnnot.html#PopplerAnnotCircle" title="PopplerAnnotCircle"><span class="type">PopplerAnnotCircle</span></a> *poppler_annot</code></em>,
+ <em class="parameter"><code><a class="link" href="poppler-poppler.html#PopplerColor" title="PopplerColor"><span class="type">PopplerColor</span></a> *poppler_color</code></em>);</pre>
+<p>Sets the interior color of <em class="parameter"><code>poppler_annot</code></em>
+.</p>
+<div class="refsect3">
+<a name="id-1.2.8.8.50.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><em class="parameter"><code>poppler_annot</code></em> :</span></p></td>
-<td>a <a class="link" href="PopplerAnnot.html#PopplerAnnotMarkup" title="PopplerAnnotMarkup"><span class="type">PopplerAnnotMarkup</span></a>
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>poppler_rect</code></em> :</span></p></td>
-<td>a <a class="link" href="PopplerPage.html#PopplerRectangle" title="PopplerRectangle"><span class="type">PopplerRectangle</span></a> to store the popup rectangle. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span>
-</td>
+<td class="parameter_name"><p>poppler_annot</p></td>
+<td class="parameter_description"><p>a <a class="link" href="PopplerAnnot.html#PopplerAnnotCircle" title="PopplerAnnotCircle"><span class="type">PopplerAnnotCircle</span></a></p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if <a class="link" href="PopplerPage.html#PopplerRectangle" title="PopplerRectangle"><span class="type">PopplerRectangle</span></a> was correctly filled, <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise</td>
+<td class="parameter_name"><p>poppler_color</p></td>
+<td class="parameter_description"><p> a <a class="link" href="poppler-poppler.html#PopplerColor" title="PopplerColor"><span class="type">PopplerColor</span></a>, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
</tbody>
</table></div>
-<p class="since">Since 0.12</p>
+</div>
+<p class="since">Since 0.26</p>
</div>
<hr>
<div class="refsect2">
-<a name="poppler-annot-markup-get-date"></a><h3>poppler_annot_markup_get_date ()</h3>
-<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Date-and-Time-Functions.html#GDate"><span class="returnvalue">GDate</span></a> * poppler_annot_markup_get_date (<em class="parameter"><code><a class="link" href="PopplerAnnot.html#PopplerAnnotMarkup" title="PopplerAnnotMarkup"><span class="type">PopplerAnnotMarkup</span></a> *poppler_annot</code></em>);</pre>
-<p>
-Returns the date and time when the annotation was created
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="poppler-annot-line-new"></a><h3>poppler_annot_line_new ()</h3>
+<pre class="programlisting"><a class="link" href="PopplerAnnot.html" title="PopplerAnnot"><span class="returnvalue">PopplerAnnot</span></a> *
+poppler_annot_line_new (<em class="parameter"><code><a class="link" href="PopplerDocument.html" title="PopplerDocument"><span class="type">PopplerDocument</span></a> *doc</code></em>,
+ <em class="parameter"><code><a class="link" href="PopplerPage.html#PopplerRectangle" title="PopplerRectangle"><span class="type">PopplerRectangle</span></a> *rect</code></em>,
+ <em class="parameter"><code><a class="link" href="PopplerAnnot.html#PopplerPoint" title="PopplerPoint"><span class="type">PopplerPoint</span></a> *start</code></em>,
+ <em class="parameter"><code><a class="link" href="PopplerAnnot.html#PopplerPoint" title="PopplerPoint"><span class="type">PopplerPoint</span></a> *end</code></em>);</pre>
+<p>Creates a new Line annotation that will be
+located on <em class="parameter"><code>rect</code></em>
+ when added to a page. See
+<a class="link" href="PopplerPage.html#poppler-page-add-annot" title="poppler_page_add_annot ()"><code class="function">poppler_page_add_annot()</code></a></p>
+<div class="refsect3">
+<a name="id-1.2.8.8.51.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><em class="parameter"><code>poppler_annot</code></em> :</span></p></td>
-<td>a <a class="link" href="PopplerAnnot.html#PopplerAnnotMarkup" title="PopplerAnnotMarkup"><span class="type">PopplerAnnotMarkup</span></a>
-</td>
+<td class="parameter_name"><p>doc</p></td>
+<td class="parameter_description"><p>a <a class="link" href="PopplerDocument.html" title="PopplerDocument"><span class="type">PopplerDocument</span></a></p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>a <a href="http://library.gnome.org/devel/glib/unstable/glib-Date-and-Time-Functions.html#GDate"><span class="type">GDate</span></a> representing the date and time
-when the annotation was created, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
-</td>
+<td class="parameter_name"><p>rect</p></td>
+<td class="parameter_description"><p>a <a class="link" href="PopplerPage.html#PopplerRectangle" title="PopplerRectangle"><span class="type">PopplerRectangle</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>start</p></td>
+<td class="parameter_description"><p>a <a class="link" href="PopplerAnnot.html#PopplerPoint" title="PopplerPoint"><span class="type">PopplerPoint</span></a> of the starting vertice</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>end</p></td>
+<td class="parameter_description"><p>a <a class="link" href="PopplerAnnot.html#PopplerPoint" title="PopplerPoint"><span class="type">PopplerPoint</span></a> of the ending vertice</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="id-1.2.8.8.51.6"></a><h4>Returns</h4>
+<p> A newly created <a class="link" href="PopplerAnnot.html#PopplerAnnotLine" title="PopplerAnnotLine"><span class="type">PopplerAnnotLine</span></a> annotation</p>
+<p></p>
+</div>
+<p class="since">Since 0.26</p>
+</div>
<hr>
<div class="refsect2">
-<a name="poppler-annot-markup-get-external-data"></a><h3>poppler_annot_markup_get_external_data ()</h3>
-<pre class="programlisting"><a class="link" href="PopplerAnnot.html#PopplerAnnotExternalDataType" title="enum PopplerAnnotExternalDataType"><span class="returnvalue">PopplerAnnotExternalDataType</span></a> poppler_annot_markup_get_external_data
- (<em class="parameter"><code><a class="link" href="PopplerAnnot.html#PopplerAnnotMarkup" title="PopplerAnnotMarkup"><span class="type">PopplerAnnotMarkup</span></a> *poppler_annot</code></em>);</pre>
-<p>
-Gets the external data type of <em class="parameter"><code>poppler_annot</code></em>.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="poppler-annot-line-set-vertices"></a><h3>poppler_annot_line_set_vertices ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+poppler_annot_line_set_vertices (<em class="parameter"><code><a class="link" href="PopplerAnnot.html#PopplerAnnotLine" title="PopplerAnnotLine"><span class="type">PopplerAnnotLine</span></a> *poppler_annot</code></em>,
+ <em class="parameter"><code><a class="link" href="PopplerAnnot.html#PopplerPoint" title="PopplerPoint"><span class="type">PopplerPoint</span></a> *start</code></em>,
+ <em class="parameter"><code><a class="link" href="PopplerAnnot.html#PopplerPoint" title="PopplerPoint"><span class="type">PopplerPoint</span></a> *end</code></em>);</pre>
+<p>Set the coordinate points where the <em class="parameter"><code>poppler_annot</code></em>
+ starts and ends.</p>
+<div class="refsect3">
+<a name="id-1.2.8.8.52.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><em class="parameter"><code>poppler_annot</code></em> :</span></p></td>
-<td>a <a class="link" href="PopplerAnnot.html#PopplerAnnotMarkup" title="PopplerAnnotMarkup"><span class="type">PopplerAnnotMarkup</span></a>
-</td>
+<td class="parameter_name"><p>poppler_annot</p></td>
+<td class="parameter_description"><p>a <a class="link" href="PopplerAnnot.html#PopplerAnnotLine" title="PopplerAnnotLine"><span class="type">PopplerAnnotLine</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>start</p></td>
+<td class="parameter_description"><p>a <a class="link" href="PopplerAnnot.html#PopplerPoint" title="PopplerPoint"><span class="type">PopplerPoint</span></a> of the starting vertice</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>
-<a class="link" href="PopplerAnnot.html#PopplerAnnotExternalDataType" title="enum PopplerAnnotExternalDataType"><span class="type">PopplerAnnotExternalDataType</span></a> of <em class="parameter"><code>poppler_annot</code></em>.</td>
+<td class="parameter_name"><p>end</p></td>
+<td class="parameter_description"><p>a <a class="link" href="PopplerAnnot.html#PopplerPoint" title="PopplerPoint"><span class="type">PopplerPoint</span></a> of the ending vertice</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
+<p class="since">Since 0.26</p>
+</div>
<hr>
<div class="refsect2">
-<a name="poppler-annot-markup-get-reply-to"></a><h3>poppler_annot_markup_get_reply_to ()</h3>
-<pre class="programlisting"><a class="link" href="PopplerAnnot.html#PopplerAnnotMarkupReplyType" title="enum PopplerAnnotMarkupReplyType"><span class="returnvalue">PopplerAnnotMarkupReplyType</span></a> poppler_annot_markup_get_reply_to
- (<em class="parameter"><code><a class="link" href="PopplerAnnot.html#PopplerAnnotMarkup" title="PopplerAnnotMarkup"><span class="type">PopplerAnnotMarkup</span></a> *poppler_annot</code></em>);</pre>
-<p>
-Gets the reply type of <em class="parameter"><code>poppler_annot</code></em>.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="poppler-annot-square-new"></a><h3>poppler_annot_square_new ()</h3>
+<pre class="programlisting"><a class="link" href="PopplerAnnot.html" title="PopplerAnnot"><span class="returnvalue">PopplerAnnot</span></a> *
+poppler_annot_square_new (<em class="parameter"><code><a class="link" href="PopplerDocument.html" title="PopplerDocument"><span class="type">PopplerDocument</span></a> *doc</code></em>,
+ <em class="parameter"><code><a class="link" href="PopplerPage.html#PopplerRectangle" title="PopplerRectangle"><span class="type">PopplerRectangle</span></a> *rect</code></em>);</pre>
+<p>Creates a new Square annotation that will be
+located on <em class="parameter"><code>rect</code></em>
+ when added to a page. See
+<a class="link" href="PopplerPage.html#poppler-page-add-annot" title="poppler_page_add_annot ()"><code class="function">poppler_page_add_annot()</code></a></p>
+<div class="refsect3">
+<a name="id-1.2.8.8.53.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><em class="parameter"><code>poppler_annot</code></em> :</span></p></td>
-<td>a <a class="link" href="PopplerAnnot.html#PopplerAnnotMarkup" title="PopplerAnnotMarkup"><span class="type">PopplerAnnotMarkup</span></a>
-</td>
+<td class="parameter_name"><p>doc</p></td>
+<td class="parameter_description"><p>a <a class="link" href="PopplerDocument.html" title="PopplerDocument"><span class="type">PopplerDocument</span></a></p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>
-<a class="link" href="PopplerAnnot.html#PopplerAnnotMarkupReplyType" title="enum PopplerAnnotMarkupReplyType"><span class="type">PopplerAnnotMarkupReplyType</span></a> of <em class="parameter"><code>poppler_annot</code></em>.</td>
+<td class="parameter_name"><p>rect</p></td>
+<td class="parameter_description"><p>a <a class="link" href="PopplerPage.html#PopplerRectangle" title="PopplerRectangle"><span class="type">PopplerRectangle</span></a></p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="id-1.2.8.8.53.6"></a><h4>Returns</h4>
+<p> a newly created <a class="link" href="PopplerAnnot.html#PopplerAnnotSquare" title="PopplerAnnotSquare"><span class="type">PopplerAnnotSquare</span></a> annotation</p>
+<p></p>
+</div>
+<p class="since">Since 0.26</p>
+</div>
<hr>
<div class="refsect2">
-<a name="poppler-annot-text-new"></a><h3>poppler_annot_text_new ()</h3>
-<pre class="programlisting"><a class="link" href="PopplerAnnot.html" title="PopplerAnnot"><span class="returnvalue">PopplerAnnot</span></a> * poppler_annot_text_new (<em class="parameter"><code><a class="link" href="PopplerDocument.html" title="PopplerDocument"><span class="type">PopplerDocument</span></a> *doc</code></em>,
- <em class="parameter"><code><a class="link" href="PopplerPage.html#PopplerRectangle" title="PopplerRectangle"><span class="type">PopplerRectangle</span></a> *rect</code></em>);</pre>
-<p>
-Creates a new Text annotation that will be
-located on <em class="parameter"><code>rect</code></em> when added to a page. See
-<a class="link" href="PopplerPage.html#poppler-page-add-annot" title="poppler_page_add_annot ()"><code class="function">poppler_page_add_annot()</code></a>
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="poppler-annot-square-get-interior-color"></a><h3>poppler_annot_square_get_interior_color ()</h3>
+<pre class="programlisting"><a class="link" href="poppler-poppler.html#PopplerColor" title="PopplerColor"><span class="returnvalue">PopplerColor</span></a> *
+poppler_annot_square_get_interior_color
+ (<em class="parameter"><code><a class="link" href="PopplerAnnot.html#PopplerAnnotSquare" title="PopplerAnnotSquare"><span class="type">PopplerAnnotSquare</span></a> *poppler_annot</code></em>);</pre>
+<p>Retrieves the interior color of <em class="parameter"><code>poppler_annot</code></em>
+.</p>
+<div class="refsect3">
+<a name="id-1.2.8.8.54.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>poppler_annot</p></td>
+<td class="parameter_description"><p>a <a class="link" href="PopplerAnnot.html#PopplerAnnotSquare" title="PopplerAnnotSquare"><span class="type">PopplerAnnotSquare</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.2.8.8.54.6"></a><h4>Returns</h4>
+<p> a new allocated <a class="link" href="poppler-poppler.html#PopplerColor" title="PopplerColor"><span class="type">PopplerColor</span></a> with the color values of
+<em class="parameter"><code>poppler_annot</code></em>
+, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. It must be freed with <a href="http://library.gnome.org/devel/glib/unstable/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a> when done.</p>
+<p></p>
+</div>
+<p class="since">Since 0.26</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="poppler-annot-square-set-interior-color"></a><h3>poppler_annot_square_set_interior_color ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+poppler_annot_square_set_interior_color
+ (<em class="parameter"><code><a class="link" href="PopplerAnnot.html#PopplerAnnotSquare" title="PopplerAnnotSquare"><span class="type">PopplerAnnotSquare</span></a> *poppler_annot</code></em>,
+ <em class="parameter"><code><a class="link" href="poppler-poppler.html#PopplerColor" title="PopplerColor"><span class="type">PopplerColor</span></a> *poppler_color</code></em>);</pre>
+<p>Sets the interior color of <em class="parameter"><code>poppler_annot</code></em>
+.</p>
+<div class="refsect3">
+<a name="id-1.2.8.8.55.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><em class="parameter"><code>doc</code></em> :</span></p></td>
-<td>a <a class="link" href="PopplerDocument.html" title="PopplerDocument"><span class="type">PopplerDocument</span></a>
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>rect</code></em> :</span></p></td>
-<td>a <a class="link" href="PopplerPage.html#PopplerRectangle" title="PopplerRectangle"><span class="type">PopplerRectangle</span></a>
-</td>
+<td class="parameter_name"><p>poppler_annot</p></td>
+<td class="parameter_description"><p>a <a class="link" href="PopplerAnnot.html#PopplerAnnotSquare" title="PopplerAnnotSquare"><span class="type">PopplerAnnotSquare</span></a></p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>A newly created <a class="link" href="PopplerAnnot.html#PopplerAnnotText" title="PopplerAnnotText"><span class="type">PopplerAnnotText</span></a> annotation</td>
+<td class="parameter_name"><p>poppler_color</p></td>
+<td class="parameter_description"><p> a <a class="link" href="poppler-poppler.html#PopplerColor" title="PopplerColor"><span class="type">PopplerColor</span></a>, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
</tbody>
</table></div>
-<p class="since">Since 0.16</p>
+</div>
+<p class="since">Since 0.26</p>
</div>
<hr>
<div class="refsect2">
-<a name="poppler-annot-text-get-icon"></a><h3>poppler_annot_text_get_icon ()</h3>
-<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> * poppler_annot_text_get_icon (<em class="parameter"><code><a class="link" href="PopplerAnnot.html#PopplerAnnotText" title="PopplerAnnotText"><span class="type">PopplerAnnotText</span></a> *poppler_annot</code></em>);</pre>
-<p>
-Gets name of the icon of <em class="parameter"><code>poppler_annot</code></em>.
+<a name="poppler-point-copy"></a><h3>poppler_point_copy ()</h3>
+<pre class="programlisting"><a class="link" href="PopplerAnnot.html#PopplerPoint" title="PopplerPoint"><span class="returnvalue">PopplerPoint</span></a> *
+poppler_point_copy (<em class="parameter"><code><a class="link" href="PopplerAnnot.html#PopplerPoint" title="PopplerPoint"><span class="type">PopplerPoint</span></a> *point</code></em>);</pre>
+<p>Creates a copy of <em class="parameter"><code>point</code></em>
+. The copy must be freed with <a class="link" href="PopplerAnnot.html#poppler-point-free" title="poppler_point_free ()"><code class="function">poppler_point_free()</code></a>
+after use.</p>
+<div class="refsect3">
+<a name="id-1.2.8.8.56.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>point</p></td>
+<td class="parameter_description"><p>a <a class="link" href="PopplerAnnot.html#PopplerPoint" title="PopplerPoint"><span class="type">PopplerPoint</span></a> to copy</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.2.8.8.56.6"></a><h4>Returns</h4>
+<p> a new allocated copy of <em class="parameter"><code>point</code></em>
</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<p></p>
+</div>
+<p class="since">Since 0.26</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="poppler-point-free"></a><h3>poppler_point_free ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+poppler_point_free (<em class="parameter"><code><a class="link" href="PopplerAnnot.html#PopplerPoint" title="PopplerPoint"><span class="type">PopplerPoint</span></a> *point</code></em>);</pre>
+<p>Frees the memory used by <em class="parameter"><code>point</code></em>
+</p>
+<div class="refsect3">
+<a name="id-1.2.8.8.57.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>poppler_annot</code></em> :</span></p></td>
-<td>a <a class="link" href="PopplerAnnot.html#PopplerAnnotText" title="PopplerAnnotText"><span class="type">PopplerAnnotText</span></a>
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>a new allocated string containing the icon name</td>
-</tr>
-</tbody>
+<tbody><tr>
+<td class="parameter_name"><p>point</p></td>
+<td class="parameter_description"><p>a <a class="link" href="PopplerAnnot.html#PopplerPoint" title="PopplerPoint"><span class="type">PopplerPoint</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
</table></div>
</div>
+<p class="since">Since 0.26</p>
+</div>
<hr>
<div class="refsect2">
-<a name="POPPLER-ANNOT-TEXT-ICON-NOTE:CAPS"></a><h3>POPPLER_ANNOT_TEXT_ICON_NOTE</h3>
-<pre class="programlisting">#define POPPLER_ANNOT_TEXT_ICON_NOTE "Note"
-</pre>
+<a name="poppler-point-get-type"></a><h3>poppler_point_get_type ()</h3>
+<pre class="programlisting"><a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GType"><span class="returnvalue">GType</span></a>
+poppler_point_get_type (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
</div>
<hr>
<div class="refsect2">
-<a name="POPPLER-ANNOT-TEXT-ICON-COMMENT:CAPS"></a><h3>POPPLER_ANNOT_TEXT_ICON_COMMENT</h3>
-<pre class="programlisting">#define POPPLER_ANNOT_TEXT_ICON_COMMENT "Comment"
-</pre>
+<a name="poppler-point-new"></a><h3>poppler_point_new ()</h3>
+<pre class="programlisting"><a class="link" href="PopplerAnnot.html#PopplerPoint" title="PopplerPoint"><span class="returnvalue">PopplerPoint</span></a> *
+poppler_point_new (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
+<p>Creates a new <a class="link" href="PopplerAnnot.html#PopplerPoint" title="PopplerPoint"><span class="type">PopplerPoint</span></a>. It must be freed with <a class="link" href="PopplerAnnot.html#poppler-point-free" title="poppler_point_free ()"><code class="function">poppler_point_free()</code></a> after use.</p>
+<div class="refsect3">
+<a name="id-1.2.8.8.59.5"></a><h4>Returns</h4>
+<p> a new <a class="link" href="PopplerAnnot.html#PopplerPoint" title="PopplerPoint"><span class="type">PopplerPoint</span></a></p>
+<p></p>
+</div>
+<p class="since">Since 0.26</p>
</div>
<hr>
<div class="refsect2">
-<a name="POPPLER-ANNOT-TEXT-ICON-KEY:CAPS"></a><h3>POPPLER_ANNOT_TEXT_ICON_KEY</h3>
-<pre class="programlisting">#define POPPLER_ANNOT_TEXT_ICON_KEY "Key"
-</pre>
+<a name="poppler-quadrilateral-copy"></a><h3>poppler_quadrilateral_copy ()</h3>
+<pre class="programlisting"><a class="link" href="PopplerAnnot.html#PopplerQuadrilateral" title="PopplerQuadrilateral"><span class="returnvalue">PopplerQuadrilateral</span></a> *
+poppler_quadrilateral_copy (<em class="parameter"><code><a class="link" href="PopplerAnnot.html#PopplerQuadrilateral" title="PopplerQuadrilateral"><span class="type">PopplerQuadrilateral</span></a> *quad</code></em>);</pre>
+<p>Creates a copy of <em class="parameter"><code>quad</code></em>
+. The copy must be freed with <a class="link" href="PopplerAnnot.html#poppler-quadrilateral-free" title="poppler_quadrilateral_free ()"><code class="function">poppler_quadrilateral_free()</code></a> after use.</p>
+<div class="refsect3">
+<a name="id-1.2.8.8.60.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>quad</p></td>
+<td class="parameter_description"><p>a <a class="link" href="PopplerAnnot.html#PopplerQuadrilateral" title="PopplerQuadrilateral"><span class="type">PopplerQuadrilateral</span></a> to copy</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.2.8.8.60.6"></a><h4>Returns</h4>
+<p> a new allocated copy of <em class="parameter"><code>quad</code></em>
+</p>
+<p></p>
+</div>
+<p class="since">Since 0.26</p>
</div>
<hr>
<div class="refsect2">
-<a name="POPPLER-ANNOT-TEXT-ICON-HELP:CAPS"></a><h3>POPPLER_ANNOT_TEXT_ICON_HELP</h3>
-<pre class="programlisting">#define POPPLER_ANNOT_TEXT_ICON_HELP "Help"
-</pre>
+<a name="poppler-quadrilateral-free"></a><h3>poppler_quadrilateral_free ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+poppler_quadrilateral_free (<em class="parameter"><code><a class="link" href="PopplerAnnot.html#PopplerQuadrilateral" title="PopplerQuadrilateral"><span class="type">PopplerQuadrilateral</span></a> *quad</code></em>);</pre>
+<p>Frees the memory used by <em class="parameter"><code>quad</code></em>
+</p>
+<div class="refsect3">
+<a name="id-1.2.8.8.61.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>quad</p></td>
+<td class="parameter_description"><p>a <a class="link" href="PopplerAnnot.html#PopplerQuadrilateral" title="PopplerQuadrilateral"><span class="type">PopplerQuadrilateral</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<p class="since">Since 0.26</p>
</div>
<hr>
<div class="refsect2">
-<a name="POPPLER-ANNOT-TEXT-ICON-NEW-PARAGRAPH:CAPS"></a><h3>POPPLER_ANNOT_TEXT_ICON_NEW_PARAGRAPH</h3>
-<pre class="programlisting">#define POPPLER_ANNOT_TEXT_ICON_NEW_PARAGRAPH "NewParagraph"
-</pre>
+<a name="poppler-quadrilateral-get-type"></a><h3>poppler_quadrilateral_get_type ()</h3>
+<pre class="programlisting"><a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GType"><span class="returnvalue">GType</span></a>
+poppler_quadrilateral_get_type (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
</div>
<hr>
<div class="refsect2">
-<a name="POPPLER-ANNOT-TEXT-ICON-PARAGRAPH:CAPS"></a><h3>POPPLER_ANNOT_TEXT_ICON_PARAGRAPH</h3>
-<pre class="programlisting">#define POPPLER_ANNOT_TEXT_ICON_PARAGRAPH "Paragraph"
-</pre>
+<a name="poppler-quadrilateral-new"></a><h3>poppler_quadrilateral_new ()</h3>
+<pre class="programlisting"><a class="link" href="PopplerAnnot.html#PopplerQuadrilateral" title="PopplerQuadrilateral"><span class="returnvalue">PopplerQuadrilateral</span></a> *
+poppler_quadrilateral_new (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
+<p>Creates a new <a class="link" href="PopplerAnnot.html#PopplerQuadrilateral" title="PopplerQuadrilateral"><span class="type">PopplerQuadrilateral</span></a>. It must be freed with <a class="link" href="PopplerAnnot.html#poppler-quadrilateral-free" title="poppler_quadrilateral_free ()"><code class="function">poppler_quadrilateral_free()</code></a> after use.</p>
+<div class="refsect3">
+<a name="id-1.2.8.8.63.5"></a><h4>Returns</h4>
+<p> a new <a class="link" href="PopplerAnnot.html#PopplerQuadrilateral" title="PopplerQuadrilateral"><span class="type">PopplerQuadrilateral</span></a>.</p>
+<p></p>
+</div>
+<p class="since">Since 0.26</p>
+</div>
+</div>
+<div class="refsect1">
+<a name="PopplerAnnot.other_details"></a><h2>Types and Values</h2>
+<div class="refsect2">
+<a name="PopplerAnnot-struct"></a><h3>PopplerAnnot</h3>
+<pre class="programlisting">typedef struct _PopplerAnnot PopplerAnnot;</pre>
</div>
<hr>
<div class="refsect2">
-<a name="POPPLER-ANNOT-TEXT-ICON-INSERT:CAPS"></a><h3>POPPLER_ANNOT_TEXT_ICON_INSERT</h3>
-<pre class="programlisting">#define POPPLER_ANNOT_TEXT_ICON_INSERT "Insert"
-</pre>
+<a name="PopplerAnnotMarkup"></a><h3>PopplerAnnotMarkup</h3>
+<pre class="programlisting">typedef struct _PopplerAnnotMarkup PopplerAnnotMarkup;</pre>
</div>
<hr>
<div class="refsect2">
-<a name="POPPLER-ANNOT-TEXT-ICON-CROSS:CAPS"></a><h3>POPPLER_ANNOT_TEXT_ICON_CROSS</h3>
-<pre class="programlisting">#define POPPLER_ANNOT_TEXT_ICON_CROSS "Cross"
-</pre>
+<a name="PopplerAnnotCircle"></a><h3>PopplerAnnotCircle</h3>
+<pre class="programlisting">typedef struct _PopplerAnnotCircle PopplerAnnotCircle;</pre>
</div>
<hr>
<div class="refsect2">
-<a name="POPPLER-ANNOT-TEXT-ICON-CIRCLE:CAPS"></a><h3>POPPLER_ANNOT_TEXT_ICON_CIRCLE</h3>
-<pre class="programlisting">#define POPPLER_ANNOT_TEXT_ICON_CIRCLE "Circle"
-</pre>
+<a name="PopplerAnnotText"></a><h3>PopplerAnnotText</h3>
+<pre class="programlisting">typedef struct _PopplerAnnotText PopplerAnnotText;</pre>
</div>
<hr>
<div class="refsect2">
-<a name="poppler-annot-text-set-icon"></a><h3>poppler_annot_text_set_icon ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span> poppler_annot_text_set_icon (<em class="parameter"><code><a class="link" href="PopplerAnnot.html#PopplerAnnotText" title="PopplerAnnotText"><span class="type">PopplerAnnotText</span></a> *poppler_annot</code></em>,
- <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *icon</code></em>);</pre>
-<p>
-Sets the icon of <em class="parameter"><code>poppler_annot</code></em>. The following predefined
-icons are currently supported:
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="PopplerAnnotTextMarkup"></a><h3>PopplerAnnotTextMarkup</h3>
+<pre class="programlisting">typedef struct _PopplerAnnotTextMarkup PopplerAnnotTextMarkup;</pre>
+</div>
+<hr>
+<div class="refsect2">
+<a name="PopplerAnnotFreeText"></a><h3>PopplerAnnotFreeText</h3>
+<pre class="programlisting">typedef struct _PopplerAnnotFreeText PopplerAnnotFreeText;</pre>
+</div>
+<hr>
+<div class="refsect2">
+<a name="PopplerAnnotFileAttachment"></a><h3>PopplerAnnotFileAttachment</h3>
+<pre class="programlisting">typedef struct _PopplerAnnotFileAttachment PopplerAnnotFileAttachment;</pre>
+</div>
+<hr>
+<div class="refsect2">
+<a name="PopplerAnnotLine"></a><h3>PopplerAnnotLine</h3>
+<pre class="programlisting">typedef struct _PopplerAnnotLine PopplerAnnotLine;</pre>
+</div>
+<hr>
+<div class="refsect2">
+<a name="PopplerAnnotMovie"></a><h3>PopplerAnnotMovie</h3>
+<pre class="programlisting">typedef struct _PopplerAnnotMovie PopplerAnnotMovie;</pre>
+</div>
+<hr>
+<div class="refsect2">
+<a name="PopplerAnnotScreen"></a><h3>PopplerAnnotScreen</h3>
+<pre class="programlisting">typedef struct _PopplerAnnotScreen PopplerAnnotScreen;</pre>
+</div>
+<hr>
+<div class="refsect2">
+<a name="PopplerAnnotType"></a><h3>enum PopplerAnnotType</h3>
+<div class="refsect3">
+<a name="id-1.2.8.9.12.3"></a><h4>Members</h4>
+<div class="informaltable"><table width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="300px" class="enum_members_name">
+<col class="enum_members_description">
+<col width="200px" class="enum_members_annotations">
</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><a class="link" href="PopplerAnnot.html#POPPLER-ANNOT-TEXT-ICON-NOTE:CAPS" title="POPPLER_ANNOT_TEXT_ICON_NOTE"><span class="type">POPPLER_ANNOT_TEXT_ICON_NOTE</span></a></span></p></td>
-<td></td>
+<td class="enum_member_name"><p><a name="POPPLER-ANNOT-UNKNOWN:CAPS"></a>POPPLER_ANNOT_UNKNOWN</p></td>
+<td> </td>
+<td> </td>
</tr>
<tr>
-<td><p><span class="term"><a class="link" href="PopplerAnnot.html#POPPLER-ANNOT-TEXT-ICON-COMMENT:CAPS" title="POPPLER_ANNOT_TEXT_ICON_COMMENT"><span class="type">POPPLER_ANNOT_TEXT_ICON_COMMENT</span></a></span></p></td>
-<td></td>
+<td class="enum_member_name"><p><a name="POPPLER-ANNOT-TEXT:CAPS"></a>POPPLER_ANNOT_TEXT</p></td>
+<td> </td>
+<td> </td>
</tr>
<tr>
-<td><p><span class="term"><a class="link" href="PopplerAnnot.html#POPPLER-ANNOT-TEXT-ICON-KEY:CAPS" title="POPPLER_ANNOT_TEXT_ICON_KEY"><span class="type">POPPLER_ANNOT_TEXT_ICON_KEY</span></a></span></p></td>
-<td></td>
+<td class="enum_member_name"><p><a name="POPPLER-ANNOT-LINK:CAPS"></a>POPPLER_ANNOT_LINK</p></td>
+<td> </td>
+<td> </td>
</tr>
<tr>
-<td><p><span class="term"><a class="link" href="PopplerAnnot.html#POPPLER-ANNOT-TEXT-ICON-HELP:CAPS" title="POPPLER_ANNOT_TEXT_ICON_HELP"><span class="type">POPPLER_ANNOT_TEXT_ICON_HELP</span></a></span></p></td>
-<td></td>
+<td class="enum_member_name"><p><a name="POPPLER-ANNOT-FREE-TEXT:CAPS"></a>POPPLER_ANNOT_FREE_TEXT</p></td>
+<td> </td>
+<td> </td>
</tr>
<tr>
-<td><p><span class="term"><a class="link" href="PopplerAnnot.html#POPPLER-ANNOT-TEXT-ICON-NEW-PARAGRAPH:CAPS" title="POPPLER_ANNOT_TEXT_ICON_NEW_PARAGRAPH"><span class="type">POPPLER_ANNOT_TEXT_ICON_NEW_PARAGRAPH</span></a></span></p></td>
-<td></td>
+<td class="enum_member_name"><p><a name="POPPLER-ANNOT-LINE:CAPS"></a>POPPLER_ANNOT_LINE</p></td>
+<td> </td>
+<td> </td>
</tr>
<tr>
-<td><p><span class="term"><a class="link" href="PopplerAnnot.html#POPPLER-ANNOT-TEXT-ICON-PARAGRAPH:CAPS" title="POPPLER_ANNOT_TEXT_ICON_PARAGRAPH"><span class="type">POPPLER_ANNOT_TEXT_ICON_PARAGRAPH</span></a></span></p></td>
-<td></td>
+<td class="enum_member_name"><p><a name="POPPLER-ANNOT-SQUARE:CAPS"></a>POPPLER_ANNOT_SQUARE</p></td>
+<td> </td>
+<td> </td>
</tr>
<tr>
-<td><p><span class="term"><a class="link" href="PopplerAnnot.html#POPPLER-ANNOT-TEXT-ICON-INSERT:CAPS" title="POPPLER_ANNOT_TEXT_ICON_INSERT"><span class="type">POPPLER_ANNOT_TEXT_ICON_INSERT</span></a></span></p></td>
-<td></td>
+<td class="enum_member_name"><p><a name="POPPLER-ANNOT-CIRCLE:CAPS"></a>POPPLER_ANNOT_CIRCLE</p></td>
+<td> </td>
+<td> </td>
</tr>
<tr>
-<td><p><span class="term"><a class="link" href="PopplerAnnot.html#POPPLER-ANNOT-TEXT-ICON-CROSS:CAPS" title="POPPLER_ANNOT_TEXT_ICON_CROSS"><span class="type">POPPLER_ANNOT_TEXT_ICON_CROSS</span></a></span></p></td>
-<td></td>
+<td class="enum_member_name"><p><a name="POPPLER-ANNOT-POLYGON:CAPS"></a>POPPLER_ANNOT_POLYGON</p></td>
+<td> </td>
+<td> </td>
</tr>
<tr>
-<td><p><span class="term"><a class="link" href="PopplerAnnot.html#POPPLER-ANNOT-TEXT-ICON-CIRCLE:CAPS" title="POPPLER_ANNOT_TEXT_ICON_CIRCLE"><span class="type">POPPLER_ANNOT_TEXT_ICON_CIRCLE</span></a></span></p></td>
-<td></td>
+<td class="enum_member_name"><p><a name="POPPLER-ANNOT-POLY-LINE:CAPS"></a>POPPLER_ANNOT_POLY_LINE</p></td>
+<td> </td>
+<td> </td>
</tr>
-</tbody>
-</table></div>
-<p>
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
-<colgroup>
-<col align="left" valign="top">
-<col>
-</colgroup>
-<tbody>
<tr>
-<td><p><span class="term"><em class="parameter"><code>poppler_annot</code></em> :</span></p></td>
-<td>a <a class="link" href="PopplerAnnot.html#PopplerAnnotText" title="PopplerAnnotText"><span class="type">PopplerAnnotText</span></a>
-</td>
+<td class="enum_member_name"><p><a name="POPPLER-ANNOT-HIGHLIGHT:CAPS"></a>POPPLER_ANNOT_HIGHLIGHT</p></td>
+<td> </td>
+<td> </td>
</tr>
<tr>
-<td><p><span class="term"><em class="parameter"><code>icon</code></em> :</span></p></td>
-<td>the name of an icon</td>
+<td class="enum_member_name"><p><a name="POPPLER-ANNOT-UNDERLINE:CAPS"></a>POPPLER_ANNOT_UNDERLINE</p></td>
+<td> </td>
+<td> </td>
</tr>
-</tbody>
-</table></div>
-<p class="since">Since 0.16</p>
-</div>
-<hr>
-<div class="refsect2">
-<a name="poppler-annot-text-get-is-open"></a><h3>poppler_annot_text_get_is_open ()</h3>
-<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> poppler_annot_text_get_is_open (<em class="parameter"><code><a class="link" href="PopplerAnnot.html#PopplerAnnotText" title="PopplerAnnotText"><span class="type">PopplerAnnotText</span></a> *poppler_annot</code></em>);</pre>
-<p>
-Retrieves the state of <em class="parameter"><code>poppler_annot</code></em>.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
-<colgroup>
-<col align="left" valign="top">
-<col>
-</colgroup>
-<tbody>
<tr>
-<td><p><span class="term"><em class="parameter"><code>poppler_annot</code></em> :</span></p></td>
-<td>a <a class="link" href="PopplerAnnot.html#PopplerAnnotText" title="PopplerAnnotText"><span class="type">PopplerAnnotText</span></a>
-</td>
+<td class="enum_member_name"><p><a name="POPPLER-ANNOT-SQUIGGLY:CAPS"></a>POPPLER_ANNOT_SQUIGGLY</p></td>
+<td> </td>
+<td> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>the state of <em class="parameter"><code>poppler_annot</code></em>. <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if it's open, <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> in
-other case.</td>
+<td class="enum_member_name"><p><a name="POPPLER-ANNOT-STRIKE-OUT:CAPS"></a>POPPLER_ANNOT_STRIKE_OUT</p></td>
+<td> </td>
+<td> </td>
</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2">
-<a name="poppler-annot-text-set-is-open"></a><h3>poppler_annot_text_set_is_open ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span> poppler_annot_text_set_is_open (<em class="parameter"><code><a class="link" href="PopplerAnnot.html#PopplerAnnotText" title="PopplerAnnotText"><span class="type">PopplerAnnotText</span></a> *poppler_annot</code></em>,
- <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> is_open</code></em>);</pre>
-<p>
-Sets whether <em class="parameter"><code>poppler_annot</code></em> should initially be displayed open
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
-<colgroup>
-<col align="left" valign="top">
-<col>
-</colgroup>
-<tbody>
<tr>
-<td><p><span class="term"><em class="parameter"><code>poppler_annot</code></em> :</span></p></td>
-<td>a <a class="link" href="PopplerAnnot.html#PopplerAnnotText" title="PopplerAnnotText"><span class="type">PopplerAnnotText</span></a>
-</td>
+<td class="enum_member_name"><p><a name="POPPLER-ANNOT-STAMP:CAPS"></a>POPPLER_ANNOT_STAMP</p></td>
+<td> </td>
+<td> </td>
</tr>
<tr>
-<td><p><span class="term"><em class="parameter"><code>is_open</code></em> :</span></p></td>
-<td>whether annotation should initially be displayed open</td>
+<td class="enum_member_name"><p><a name="POPPLER-ANNOT-CARET:CAPS"></a>POPPLER_ANNOT_CARET</p></td>
+<td> </td>
+<td> </td>
</tr>
-</tbody>
-</table></div>
-<p class="since">Since 0.16</p>
-</div>
-<hr>
-<div class="refsect2">
-<a name="poppler-annot-text-get-state"></a><h3>poppler_annot_text_get_state ()</h3>
-<pre class="programlisting"><a class="link" href="PopplerAnnot.html#PopplerAnnotTextState" title="enum PopplerAnnotTextState"><span class="returnvalue">PopplerAnnotTextState</span></a> poppler_annot_text_get_state (<em class="parameter"><code><a class="link" href="PopplerAnnot.html#PopplerAnnotText" title="PopplerAnnotText"><span class="type">PopplerAnnotText</span></a> *poppler_annot</code></em>);</pre>
-<p>
-Retrieves the state of <em class="parameter"><code>poppler_annot</code></em>.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
-<colgroup>
-<col align="left" valign="top">
-<col>
-</colgroup>
-<tbody>
<tr>
-<td><p><span class="term"><em class="parameter"><code>poppler_annot</code></em> :</span></p></td>
-<td>a <a class="link" href="PopplerAnnot.html#PopplerAnnotText" title="PopplerAnnotText"><span class="type">PopplerAnnotText</span></a>
-</td>
+<td class="enum_member_name"><p><a name="POPPLER-ANNOT-INK:CAPS"></a>POPPLER_ANNOT_INK</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="POPPLER-ANNOT-POPUP:CAPS"></a>POPPLER_ANNOT_POPUP</p></td>
+<td> </td>
+<td> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>
-<a class="link" href="PopplerAnnot.html#PopplerAnnotTextState" title="enum PopplerAnnotTextState"><span class="type">PopplerAnnotTextState</span></a> of <em class="parameter"><code>poppler_annot</code></em>.</td>
+<td class="enum_member_name"><p><a name="POPPLER-ANNOT-FILE-ATTACHMENT:CAPS"></a>POPPLER_ANNOT_FILE_ATTACHMENT</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="POPPLER-ANNOT-SOUND:CAPS"></a>POPPLER_ANNOT_SOUND</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="POPPLER-ANNOT-MOVIE:CAPS"></a>POPPLER_ANNOT_MOVIE</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="POPPLER-ANNOT-WIDGET:CAPS"></a>POPPLER_ANNOT_WIDGET</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="POPPLER-ANNOT-SCREEN:CAPS"></a>POPPLER_ANNOT_SCREEN</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="POPPLER-ANNOT-PRINTER-MARK:CAPS"></a>POPPLER_ANNOT_PRINTER_MARK</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="POPPLER-ANNOT-TRAP-NET:CAPS"></a>POPPLER_ANNOT_TRAP_NET</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="POPPLER-ANNOT-WATERMARK:CAPS"></a>POPPLER_ANNOT_WATERMARK</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="POPPLER-ANNOT-3D:CAPS"></a>POPPLER_ANNOT_3D</p></td>
+<td> </td>
+<td> </td>
</tr>
</tbody>
</table></div>
</div>
+</div>
<hr>
<div class="refsect2">
-<a name="poppler-annot-free-text-get-callout-line"></a><h3>poppler_annot_free_text_get_callout_line ()</h3>
-<pre class="programlisting"><a class="link" href="PopplerAnnot.html#PopplerAnnotCalloutLine" title="PopplerAnnotCalloutLine"><span class="returnvalue">PopplerAnnotCalloutLine</span></a> * poppler_annot_free_text_get_callout_line
- (<em class="parameter"><code><a class="link" href="PopplerAnnot.html#PopplerAnnotFreeText" title="PopplerAnnotFreeText"><span class="type">PopplerAnnotFreeText</span></a> *poppler_annot</code></em>);</pre>
-<p>
-Retrieves a <a class="link" href="PopplerAnnot.html#PopplerAnnotCalloutLine" title="PopplerAnnotCalloutLine"><span class="type">PopplerAnnotCalloutLine</span></a> of four or six numbers specifying a callout
-line attached to the <em class="parameter"><code>poppler_annot</code></em>.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="PopplerAnnotFlag"></a><h3>enum PopplerAnnotFlag</h3>
+<div class="refsect3">
+<a name="id-1.2.8.9.13.3"></a><h4>Members</h4>
+<div class="informaltable"><table width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="300px" class="enum_members_name">
+<col class="enum_members_description">
+<col width="200px" class="enum_members_annotations">
</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><em class="parameter"><code>poppler_annot</code></em> :</span></p></td>
-<td>a <a class="link" href="PopplerAnnot.html#PopplerAnnotFreeText" title="PopplerAnnotFreeText"><span class="type">PopplerAnnotFreeText</span></a>
-</td>
+<td class="enum_member_name"><p><a name="POPPLER-ANNOT-FLAG-UNKNOWN:CAPS"></a>POPPLER_ANNOT_FLAG_UNKNOWN</p></td>
+<td> </td>
+<td> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>a new allocated <a class="link" href="PopplerAnnot.html#PopplerAnnotCalloutLine" title="PopplerAnnotCalloutLine"><span class="type">PopplerAnnotCalloutLine</span></a> if the annot has a callout
-line, <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> in other case. It must be freed with <a href="http://library.gnome.org/devel/glib/unstable/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a> when
-done.</td>
+<td class="enum_member_name"><p><a name="POPPLER-ANNOT-FLAG-INVISIBLE:CAPS"></a>POPPLER_ANNOT_FLAG_INVISIBLE</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="POPPLER-ANNOT-FLAG-HIDDEN:CAPS"></a>POPPLER_ANNOT_FLAG_HIDDEN</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="POPPLER-ANNOT-FLAG-PRINT:CAPS"></a>POPPLER_ANNOT_FLAG_PRINT</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="POPPLER-ANNOT-FLAG-NO-ZOOM:CAPS"></a>POPPLER_ANNOT_FLAG_NO_ZOOM</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="POPPLER-ANNOT-FLAG-NO-ROTATE:CAPS"></a>POPPLER_ANNOT_FLAG_NO_ROTATE</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="POPPLER-ANNOT-FLAG-NO-VIEW:CAPS"></a>POPPLER_ANNOT_FLAG_NO_VIEW</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="POPPLER-ANNOT-FLAG-READ-ONLY:CAPS"></a>POPPLER_ANNOT_FLAG_READ_ONLY</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="POPPLER-ANNOT-FLAG-LOCKED:CAPS"></a>POPPLER_ANNOT_FLAG_LOCKED</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="POPPLER-ANNOT-FLAG-TOGGLE-NO-VIEW:CAPS"></a>POPPLER_ANNOT_FLAG_TOGGLE_NO_VIEW</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="POPPLER-ANNOT-FLAG-LOCKED-CONTENTS:CAPS"></a>POPPLER_ANNOT_FLAG_LOCKED_CONTENTS</p></td>
+<td> </td>
+<td> </td>
</tr>
</tbody>
</table></div>
</div>
+</div>
<hr>
<div class="refsect2">
-<a name="poppler-annot-free-text-get-quadding"></a><h3>poppler_annot_free_text_get_quadding ()</h3>
-<pre class="programlisting"><a class="link" href="PopplerAnnot.html#PopplerAnnotFreeTextQuadding" title="enum PopplerAnnotFreeTextQuadding"><span class="returnvalue">PopplerAnnotFreeTextQuadding</span></a> poppler_annot_free_text_get_quadding
- (<em class="parameter"><code><a class="link" href="PopplerAnnot.html#PopplerAnnotFreeText" title="PopplerAnnotFreeText"><span class="type">PopplerAnnotFreeText</span></a> *poppler_annot</code></em>);</pre>
-<p>
-Retrieves the justification of the text of <em class="parameter"><code>poppler_annot</code></em>.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="PopplerAnnotExternalDataType"></a><h3>enum PopplerAnnotExternalDataType</h3>
+<div class="refsect3">
+<a name="id-1.2.8.9.14.3"></a><h4>Members</h4>
+<div class="informaltable"><table width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="300px" class="enum_members_name">
+<col class="enum_members_description">
+<col width="200px" class="enum_members_annotations">
</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><em class="parameter"><code>poppler_annot</code></em> :</span></p></td>
-<td>a <a class="link" href="PopplerAnnot.html#PopplerAnnotFreeText" title="PopplerAnnotFreeText"><span class="type">PopplerAnnotFreeText</span></a>
-</td>
+<td class="enum_member_name"><p><a name="POPPLER-ANNOT-EXTERNAL-DATA-MARKUP-3D:CAPS"></a>POPPLER_ANNOT_EXTERNAL_DATA_MARKUP_3D</p></td>
+<td> </td>
+<td> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>
-<a class="link" href="PopplerAnnot.html#PopplerAnnotFreeTextQuadding" title="enum PopplerAnnotFreeTextQuadding"><span class="type">PopplerAnnotFreeTextQuadding</span></a> of <em class="parameter"><code>poppler_annot</code></em>.</td>
+<td class="enum_member_name"><p><a name="POPPLER-ANNOT-EXTERNAL-DATA-MARKUP-UNKNOWN:CAPS"></a>POPPLER_ANNOT_EXTERNAL_DATA_MARKUP_UNKNOWN</p></td>
+<td> </td>
+<td> </td>
</tr>
</tbody>
</table></div>
</div>
+</div>
<hr>
<div class="refsect2">
-<a name="poppler-annot-file-attachment-get-attachment"></a><h3>poppler_annot_file_attachment_get_attachment ()</h3>
-<pre class="programlisting"><a class="link" href="PopplerAttachment.html" title="PopplerAttachment"><span class="returnvalue">PopplerAttachment</span></a> * poppler_annot_file_attachment_get_attachment
- (<em class="parameter"><code><a class="link" href="PopplerAnnot.html#PopplerAnnotFileAttachment" title="PopplerAnnotFileAttachment"><span class="type">PopplerAnnotFileAttachment</span></a> *poppler_annot</code></em>);</pre>
-<p>
-Creates a <a class="link" href="PopplerAttachment.html" title="PopplerAttachment"><span class="type">PopplerAttachment</span></a> for the file of the file attachment annotation <em class="parameter"><code>annot</code></em>.
-The <a class="link" href="PopplerAttachment.html" title="PopplerAttachment"><span class="type">PopplerAttachment</span></a> must be unrefed with g_object_unref by the caller.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="PopplerAnnotMarkupReplyType"></a><h3>enum PopplerAnnotMarkupReplyType</h3>
+<div class="refsect3">
+<a name="id-1.2.8.9.15.3"></a><h4>Members</h4>
+<div class="informaltable"><table width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="300px" class="enum_members_name">
+<col class="enum_members_description">
+<col width="200px" class="enum_members_annotations">
</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><em class="parameter"><code>poppler_annot</code></em> :</span></p></td>
-<td>a <a class="link" href="PopplerAnnot.html#PopplerAnnotFileAttachment" title="PopplerAnnotFileAttachment"><span class="type">PopplerAnnotFileAttachment</span></a>
-</td>
+<td class="enum_member_name"><p><a name="POPPLER-ANNOT-MARKUP-REPLY-TYPE-R:CAPS"></a>POPPLER_ANNOT_MARKUP_REPLY_TYPE_R</p></td>
+<td> </td>
+<td> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>
-<em class="parameter"><code>PopplerAttachment</code></em>. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
-</td>
+<td class="enum_member_name"><p><a name="POPPLER-ANNOT-MARKUP-REPLY-TYPE-GROUP:CAPS"></a>POPPLER_ANNOT_MARKUP_REPLY_TYPE_GROUP</p></td>
+<td> </td>
+<td> </td>
</tr>
</tbody>
</table></div>
-<p class="since">Since 0.14</p>
+</div>
</div>
<hr>
<div class="refsect2">
-<a name="poppler-annot-file-attachment-get-name"></a><h3>poppler_annot_file_attachment_get_name ()</h3>
-<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> * poppler_annot_file_attachment_get_name
- (<em class="parameter"><code><a class="link" href="PopplerAnnot.html#PopplerAnnotFileAttachment" title="PopplerAnnotFileAttachment"><span class="type">PopplerAnnotFileAttachment</span></a> *poppler_annot</code></em>);</pre>
-<p>
-Retrieves the name of <em class="parameter"><code>poppler_annot</code></em>.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="PopplerAnnotTextState"></a><h3>enum PopplerAnnotTextState</h3>
+<div class="refsect3">
+<a name="id-1.2.8.9.16.3"></a><h4>Members</h4>
+<div class="informaltable"><table width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="300px" class="enum_members_name">
+<col class="enum_members_description">
+<col width="200px" class="enum_members_annotations">
</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><em class="parameter"><code>poppler_annot</code></em> :</span></p></td>
-<td>a <a class="link" href="PopplerAnnot.html#PopplerAnnotFileAttachment" title="PopplerAnnotFileAttachment"><span class="type">PopplerAnnotFileAttachment</span></a>
-</td>
+<td class="enum_member_name"><p><a name="POPPLER-ANNOT-TEXT-STATE-MARKED:CAPS"></a>POPPLER_ANNOT_TEXT_STATE_MARKED</p></td>
+<td> </td>
+<td> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>a new allocated string with the name of <em class="parameter"><code>poppler_annot</code></em>. It must
-be freed with <a href="http://library.gnome.org/devel/glib/unstable/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a> when done.</td>
+<td class="enum_member_name"><p><a name="POPPLER-ANNOT-TEXT-STATE-UNMARKED:CAPS"></a>POPPLER_ANNOT_TEXT_STATE_UNMARKED</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="POPPLER-ANNOT-TEXT-STATE-ACCEPTED:CAPS"></a>POPPLER_ANNOT_TEXT_STATE_ACCEPTED</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="POPPLER-ANNOT-TEXT-STATE-REJECTED:CAPS"></a>POPPLER_ANNOT_TEXT_STATE_REJECTED</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="POPPLER-ANNOT-TEXT-STATE-CANCELLED:CAPS"></a>POPPLER_ANNOT_TEXT_STATE_CANCELLED</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="POPPLER-ANNOT-TEXT-STATE-COMPLETED:CAPS"></a>POPPLER_ANNOT_TEXT_STATE_COMPLETED</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="POPPLER-ANNOT-TEXT-STATE-NONE:CAPS"></a>POPPLER_ANNOT_TEXT_STATE_NONE</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="POPPLER-ANNOT-TEXT-STATE-UNKNOWN:CAPS"></a>POPPLER_ANNOT_TEXT_STATE_UNKNOWN</p></td>
+<td> </td>
+<td> </td>
</tr>
</tbody>
</table></div>
-<p class="since">Since 0.14</p>
+</div>
</div>
<hr>
<div class="refsect2">
-<a name="poppler-annot-screen-get-action"></a><h3>poppler_annot_screen_get_action ()</h3>
-<pre class="programlisting"><a class="link" href="poppler-PopplerAction.html#PopplerAction" title="union PopplerAction"><span class="returnvalue">PopplerAction</span></a> * poppler_annot_screen_get_action (<em class="parameter"><code><a class="link" href="PopplerAnnot.html#PopplerAnnotScreen" title="PopplerAnnotScreen"><span class="type">PopplerAnnotScreen</span></a> *poppler_annot</code></em>);</pre>
-<p>
-Retrieves the action (<a class="link" href="poppler-PopplerAction.html#PopplerAction" title="union PopplerAction"><span class="type">PopplerAction</span></a>) that shall be performed when <em class="parameter"><code>poppler_annot</code></em> is activated
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="PopplerAnnotCalloutLine"></a><h3>PopplerAnnotCalloutLine</h3>
+<pre class="programlisting">typedef struct {
+ gboolean multiline;
+ gdouble x1;
+ gdouble y1;
+ gdouble x2;
+ gdouble y2;
+ gdouble x3;
+ gdouble y3;
+} PopplerAnnotCalloutLine;
+</pre>
+</div>
+<hr>
+<div class="refsect2">
+<a name="PopplerAnnotFreeTextQuadding"></a><h3>enum PopplerAnnotFreeTextQuadding</h3>
+<div class="refsect3">
+<a name="id-1.2.8.9.18.3"></a><h4>Members</h4>
+<div class="informaltable"><table width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="300px" class="enum_members_name">
+<col class="enum_members_description">
+<col width="200px" class="enum_members_annotations">
</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><em class="parameter"><code>poppler_annot</code></em> :</span></p></td>
-<td>a <a class="link" href="PopplerAnnot.html#PopplerAnnotScreen" title="PopplerAnnotScreen"><span class="type">PopplerAnnotScreen</span></a>
-</td>
+<td class="enum_member_name"><p><a name="POPPLER-ANNOT-FREE-TEXT-QUADDING-LEFT-JUSTIFIED:CAPS"></a>POPPLER_ANNOT_FREE_TEXT_QUADDING_LEFT_JUSTIFIED</p></td>
+<td> </td>
+<td> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>the action to perform. The returned
-object is owned by <em class="parameter"><code>poppler_annot</code></em> and should not be freed. <span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
-</td>
+<td class="enum_member_name"><p><a name="POPPLER-ANNOT-FREE-TEXT-QUADDING-CENTERED:CAPS"></a>POPPLER_ANNOT_FREE_TEXT_QUADDING_CENTERED</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="POPPLER-ANNOT-FREE-TEXT-QUADDING-RIGHT-JUSTIFIED:CAPS"></a>POPPLER_ANNOT_FREE_TEXT_QUADDING_RIGHT_JUSTIFIED</p></td>
+<td> </td>
+<td> </td>
</tr>
</tbody>
</table></div>
-<p class="since">Since 0.14</p>
+</div>
</div>
<hr>
<div class="refsect2">
-<a name="poppler-annot-movie-get-movie"></a><h3>poppler_annot_movie_get_movie ()</h3>
-<pre class="programlisting"><a class="link" href="PopplerMovie.html" title="PopplerMovie"><span class="returnvalue">PopplerMovie</span></a> * poppler_annot_movie_get_movie (<em class="parameter"><code><a class="link" href="PopplerAnnot.html#PopplerAnnotMovie" title="PopplerAnnotMovie"><span class="type">PopplerAnnotMovie</span></a> *poppler_annot</code></em>);</pre>
-<p>
-Retrieves the movie object (PopplerMovie) stored in the <em class="parameter"><code>poppler_annot</code></em>.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="PopplerAnnotSquare"></a><h3>PopplerAnnotSquare</h3>
+<pre class="programlisting">typedef struct _PopplerAnnotSquare PopplerAnnotSquare;</pre>
+</div>
+<hr>
+<div class="refsect2">
+<a name="PopplerPoint"></a><h3>PopplerPoint</h3>
+<pre class="programlisting">typedef struct {
+ gdouble x;
+ gdouble y;
+} PopplerPoint;
+</pre>
+<p>A <a class="link" href="PopplerAnnot.html#PopplerPoint" title="PopplerPoint"><span class="type">PopplerPoint</span></a> is used to describe a location point on a page</p>
+<div class="refsect3">
+<a name="id-1.2.8.9.20.5"></a><h4>Members</h4>
+<div class="informaltable"><table width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="300px" class="struct_members_name">
+<col class="struct_members_description">
+<col width="200px" class="struct_members_annotations">
</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><em class="parameter"><code>poppler_annot</code></em> :</span></p></td>
-<td>a <a class="link" href="PopplerAnnot.html#PopplerAnnotMovie" title="PopplerAnnotMovie"><span class="type">PopplerAnnotMovie</span></a>
-</td>
+<td class="struct_member_name"><p><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> <em class="structfield"><code><a name="PopplerPoint.x"></a>x</code></em>;</p></td>
+<td class="struct_member_description"><p>x coordinate</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>the movie object stored in the <em class="parameter"><code>poppler_annot</code></em>. The returned
-object is owned by <a class="link" href="PopplerAnnot.html#PopplerAnnotMovie" title="PopplerAnnotMovie"><span class="type">PopplerAnnotMovie</span></a> and should not be freed. <span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
-</td>
+<td class="struct_member_name"><p><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> <em class="structfield"><code><a name="PopplerPoint.y"></a>y</code></em>;</p></td>
+<td class="struct_member_description"><p>y coordinate</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
</tbody>
</table></div>
-<p class="since">Since 0.14</p>
+</div>
</div>
<hr>
<div class="refsect2">
-<a name="poppler-annot-movie-get-title"></a><h3>poppler_annot_movie_get_title ()</h3>
-<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> * poppler_annot_movie_get_title (<em class="parameter"><code><a class="link" href="PopplerAnnot.html#PopplerAnnotMovie" title="PopplerAnnotMovie"><span class="type">PopplerAnnotMovie</span></a> *poppler_annot</code></em>);</pre>
-<p>
-Retrieves the movie title of <em class="parameter"><code>poppler_annot</code></em>.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="PopplerQuadrilateral"></a><h3>PopplerQuadrilateral</h3>
+<pre class="programlisting">typedef struct {
+ PopplerPoint p1;
+ PopplerPoint p2;
+ PopplerPoint p3;
+ PopplerPoint p4;
+} PopplerQuadrilateral;
+</pre>
+<p>A <a class="link" href="PopplerAnnot.html#PopplerQuadrilateral" title="PopplerQuadrilateral"><span class="type">PopplerQuadrilateral</span></a> is used to describe rectangle-like polygon
+ with arbitrary inclination on a page.</p>
+<div class="refsect3">
+<a name="id-1.2.8.9.21.5"></a><h4>Members</h4>
+<div class="informaltable"><table width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="300px" class="struct_members_name">
+<col class="struct_members_description">
+<col width="200px" class="struct_members_annotations">
</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><em class="parameter"><code>poppler_annot</code></em> :</span></p></td>
-<td>a <a class="link" href="PopplerAnnot.html#PopplerAnnotMovie" title="PopplerAnnotMovie"><span class="type">PopplerAnnotMovie</span></a>
-</td>
+<td class="struct_member_name"><p><a class="link" href="PopplerAnnot.html#PopplerPoint" title="PopplerPoint"><span class="type">PopplerPoint</span></a> <em class="structfield"><code><a name="PopplerQuadrilateral.p1"></a>p1</code></em>;</p></td>
+<td class="struct_member_description"><p>a <a class="link" href="PopplerAnnot.html#PopplerPoint" title="PopplerPoint"><span class="type">PopplerPoint</span></a> with the first vertex coordinates</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a class="link" href="PopplerAnnot.html#PopplerPoint" title="PopplerPoint"><span class="type">PopplerPoint</span></a> <em class="structfield"><code><a name="PopplerQuadrilateral.p2"></a>p2</code></em>;</p></td>
+<td class="struct_member_description"><p>a <a class="link" href="PopplerAnnot.html#PopplerPoint" title="PopplerPoint"><span class="type">PopplerPoint</span></a> with the second vertex coordinates</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>the title text of <em class="parameter"><code>poppler_annot</code></em>.</td>
+<td class="struct_member_name"><p><a class="link" href="PopplerAnnot.html#PopplerPoint" title="PopplerPoint"><span class="type">PopplerPoint</span></a> <em class="structfield"><code><a name="PopplerQuadrilateral.p3"></a>p3</code></em>;</p></td>
+<td class="struct_member_description"><p>a <a class="link" href="PopplerAnnot.html#PopplerPoint" title="PopplerPoint"><span class="type">PopplerPoint</span></a> with the third vertex coordinates</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a class="link" href="PopplerAnnot.html#PopplerPoint" title="PopplerPoint"><span class="type">PopplerPoint</span></a> <em class="structfield"><code><a name="PopplerQuadrilateral.p4"></a>p4</code></em>;</p></td>
+<td class="struct_member_description"><p>a <a class="link" href="PopplerAnnot.html#PopplerPoint" title="PopplerPoint"><span class="type">PopplerPoint</span></a> with the fourth vertex coordinates</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
</tbody>
</table></div>
-<p class="since">Since 0.14</p>
+</div>
+<p class="since">Since 0.26</p>
</div>
<hr>
<div class="refsect2">
-<a name="poppler-annot-callout-line-new"></a><h3>poppler_annot_callout_line_new ()</h3>
-<pre class="programlisting"><a class="link" href="PopplerAnnot.html#PopplerAnnotCalloutLine" title="PopplerAnnotCalloutLine"><span class="returnvalue">PopplerAnnotCalloutLine</span></a> * poppler_annot_callout_line_new
- (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
-<p>
-Creates a new empty <a class="link" href="PopplerAnnot.html#PopplerAnnotCalloutLine" title="PopplerAnnotCalloutLine"><span class="type">PopplerAnnotCalloutLine</span></a>.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
-<colgroup>
-<col align="left" valign="top">
-<col>
-</colgroup>
-<tbody><tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>a new allocated <a class="link" href="PopplerAnnot.html#PopplerAnnotCalloutLine" title="PopplerAnnotCalloutLine"><span class="type">PopplerAnnotCalloutLine</span></a>, <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> in other case.
-It must be freed when done.</td>
-</tr></tbody>
-</table></div>
+<a name="POPPLER-ANNOT-TEXT-ICON-NOTE:CAPS"></a><h3>POPPLER_ANNOT_TEXT_ICON_NOTE</h3>
+<pre class="programlisting">#define POPPLER_ANNOT_TEXT_ICON_NOTE "Note"
+</pre>
</div>
<hr>
<div class="refsect2">
-<a name="poppler-annot-callout-line-copy"></a><h3>poppler_annot_callout_line_copy ()</h3>
-<pre class="programlisting"><a class="link" href="PopplerAnnot.html#PopplerAnnotCalloutLine" title="PopplerAnnotCalloutLine"><span class="returnvalue">PopplerAnnotCalloutLine</span></a> * poppler_annot_callout_line_copy
- (<em class="parameter"><code><a class="link" href="PopplerAnnot.html#PopplerAnnotCalloutLine" title="PopplerAnnotCalloutLine"><span class="type">PopplerAnnotCalloutLine</span></a> *callout</code></em>);</pre>
-<p>
-It does copy <em class="parameter"><code>callout</code></em> to a new <a class="link" href="PopplerAnnot.html#PopplerAnnotCalloutLine" title="PopplerAnnotCalloutLine"><span class="type">PopplerAnnotCalloutLine</span></a>.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
-<colgroup>
-<col align="left" valign="top">
-<col>
-</colgroup>
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>callout</code></em> :</span></p></td>
-<td>the <a class="link" href="PopplerAnnot.html#PopplerAnnotCalloutLine" title="PopplerAnnotCalloutLine"><span class="type">PopplerAnnotCalloutLine</span></a> to be copied.</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>a new allocated <a class="link" href="PopplerAnnot.html#PopplerAnnotCalloutLine" title="PopplerAnnotCalloutLine"><span class="type">PopplerAnnotCalloutLine</span></a> as exact copy of
-<em class="parameter"><code>callout</code></em>, <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> in other case. It must be freed when done.</td>
-</tr>
-</tbody>
-</table></div>
+<a name="POPPLER-ANNOT-TEXT-ICON-COMMENT:CAPS"></a><h3>POPPLER_ANNOT_TEXT_ICON_COMMENT</h3>
+<pre class="programlisting">#define POPPLER_ANNOT_TEXT_ICON_COMMENT "Comment"
+</pre>
</div>
<hr>
<div class="refsect2">
-<a name="poppler-annot-callout-line-free"></a><h3>poppler_annot_callout_line_free ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span> poppler_annot_callout_line_free (<em class="parameter"><code><a class="link" href="PopplerAnnot.html#PopplerAnnotCalloutLine" title="PopplerAnnotCalloutLine"><span class="type">PopplerAnnotCalloutLine</span></a> *callout</code></em>);</pre>
-<p>
-Frees the memory used by <a class="link" href="PopplerAnnot.html#PopplerAnnotCalloutLine" title="PopplerAnnotCalloutLine"><span class="type">PopplerAnnotCalloutLine</span></a>.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
-<colgroup>
-<col align="left" valign="top">
-<col>
-</colgroup>
-<tbody><tr>
-<td><p><span class="term"><em class="parameter"><code>callout</code></em> :</span></p></td>
-<td>a <a class="link" href="PopplerAnnot.html#PopplerAnnotCalloutLine" title="PopplerAnnotCalloutLine"><span class="type">PopplerAnnotCalloutLine</span></a>
-</td>
-</tr></tbody>
-</table></div>
+<a name="POPPLER-ANNOT-TEXT-ICON-KEY:CAPS"></a><h3>POPPLER_ANNOT_TEXT_ICON_KEY</h3>
+<pre class="programlisting">#define POPPLER_ANNOT_TEXT_ICON_KEY "Key"
+</pre>
+</div>
+<hr>
+<div class="refsect2">
+<a name="POPPLER-ANNOT-TEXT-ICON-HELP:CAPS"></a><h3>POPPLER_ANNOT_TEXT_ICON_HELP</h3>
+<pre class="programlisting">#define POPPLER_ANNOT_TEXT_ICON_HELP "Help"
+</pre>
+</div>
+<hr>
+<div class="refsect2">
+<a name="POPPLER-ANNOT-TEXT-ICON-NEW-PARAGRAPH:CAPS"></a><h3>POPPLER_ANNOT_TEXT_ICON_NEW_PARAGRAPH</h3>
+<pre class="programlisting">#define POPPLER_ANNOT_TEXT_ICON_NEW_PARAGRAPH "NewParagraph"
+</pre>
+</div>
+<hr>
+<div class="refsect2">
+<a name="POPPLER-ANNOT-TEXT-ICON-PARAGRAPH:CAPS"></a><h3>POPPLER_ANNOT_TEXT_ICON_PARAGRAPH</h3>
+<pre class="programlisting">#define POPPLER_ANNOT_TEXT_ICON_PARAGRAPH "Paragraph"
+</pre>
+</div>
+<hr>
+<div class="refsect2">
+<a name="POPPLER-ANNOT-TEXT-ICON-INSERT:CAPS"></a><h3>POPPLER_ANNOT_TEXT_ICON_INSERT</h3>
+<pre class="programlisting">#define POPPLER_ANNOT_TEXT_ICON_INSERT "Insert"
+</pre>
+</div>
+<hr>
+<div class="refsect2">
+<a name="POPPLER-ANNOT-TEXT-ICON-CROSS:CAPS"></a><h3>POPPLER_ANNOT_TEXT_ICON_CROSS</h3>
+<pre class="programlisting">#define POPPLER_ANNOT_TEXT_ICON_CROSS "Cross"
+</pre>
+</div>
+<hr>
+<div class="refsect2">
+<a name="POPPLER-ANNOT-TEXT-ICON-CIRCLE:CAPS"></a><h3>POPPLER_ANNOT_TEXT_ICON_CIRCLE</h3>
+<pre class="programlisting">#define POPPLER_ANNOT_TEXT_ICON_CIRCLE "Circle"
+</pre>
</div>
</div>
</div>
<div class="footer">
<hr>
- Generated by GTK-Doc V1.19</div>
+ Generated by GTK-Doc V1.21</div>
</body>
</html> \ No newline at end of file
diff --git a/glib/reference/html/PopplerAttachment.html b/glib/reference/html/PopplerAttachment.html
index d3333cbd..c1a2176c 100644
--- a/glib/reference/html/PopplerAttachment.html
+++ b/glib/reference/html/PopplerAttachment.html
@@ -2,32 +2,27 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>PopplerAttachment</title>
+<title>Poppler Reference Manual: PopplerAttachment</title>
<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<link rel="home" href="index.html" title="Poppler Reference Manual">
<link rel="up" href="ch01.html" title="Poppler">
<link rel="prev" href="poppler-PopplerAction.html" title="PopplerAction">
<link rel="next" href="PopplerFormField.html" title="PoppplerFormField">
-<meta name="generator" content="GTK-Doc V1.19 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
-<tr valign="middle">
-<td><a accesskey="p" href="poppler-PopplerAction.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
-<td><a accesskey="u" href="ch01.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
-<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
-<th width="100%" align="center">Poppler Reference Manual</th>
-<td><a accesskey="n" href="PopplerFormField.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
-</tr>
-<tr><td colspan="5" class="shortcuts">
-<a href="#PopplerAttachment.synopsis" class="shortcut">Top</a>
-  | 
- <a href="#PopplerAttachment.description" class="shortcut">Description</a>
-  | 
- <a href="#PopplerAttachment.object-hierarchy" class="shortcut">Object Hierarchy</a>
-</td></tr>
-</table>
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts">
+<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
+ <a href="#PopplerAttachment.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
+ <a href="#PopplerAttachment.object-hierarchy" class="shortcut">Object Hierarchy</a></span>
+</td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="ch01.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="poppler-PopplerAction.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="PopplerFormField.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
<div class="refentry">
<a name="PopplerAttachment"></a><div class="titlepage"></div>
<div class="refnamediv"><table width="100%"><tr>
@@ -35,180 +30,238 @@
<h2><span class="refentrytitle"><a name="PopplerAttachment.top_of_page"></a>PopplerAttachment</span></h2>
<p>PopplerAttachment — Attachments</p>
</td>
-<td valign="top" align="right"></td>
+<td class="gallery_image" valign="top" align="right"></td>
</tr></table></div>
-<div class="refsynopsisdiv">
-<a name="PopplerAttachment.synopsis"></a><h2>Synopsis</h2>
-<pre class="synopsis">
-#include &lt;poppler.h&gt;
-
- <a class="link" href="PopplerAttachment.html#PopplerAttachment-struct" title="PopplerAttachment">PopplerAttachment</a>;
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> (<a class="link" href="PopplerAttachment.html#PopplerAttachmentSaveFunc" title="PopplerAttachmentSaveFunc ()">*PopplerAttachmentSaveFunc</a>) (<em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *buf</code></em>,
- <em class="parameter"><code><span class="type">gsize</span> count</code></em>,
- <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> data</code></em>,
- <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="PopplerAttachment.html#poppler-attachment-save" title="poppler_attachment_save ()">poppler_attachment_save</a> (<em class="parameter"><code><a class="link" href="PopplerAttachment.html" title="PopplerAttachment"><span class="type">PopplerAttachment</span></a> *attachment</code></em>,
- <em class="parameter"><code>const <span class="type">char</span> *filename</code></em>,
- <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="PopplerAttachment.html#poppler-attachment-save-to-callback" title="poppler_attachment_save_to_callback ()">poppler_attachment_save_to_callback</a> (<em class="parameter"><code><a class="link" href="PopplerAttachment.html" title="PopplerAttachment"><span class="type">PopplerAttachment</span></a> *attachment</code></em>,
- <em class="parameter"><code><a class="link" href="PopplerAttachment.html#PopplerAttachmentSaveFunc" title="PopplerAttachmentSaveFunc ()"><span class="type">PopplerAttachmentSaveFunc</span></a> save_func</code></em>,
- <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>,
- <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);
-</pre>
+<div class="refsect1">
+<a name="PopplerAttachment.functions"></a><h2>Functions</h2>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="functions_return">
+<col class="functions_name">
+</colgroup>
+<tbody>
+<tr>
+<td class="function_type">
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<span class="c_punctuation">(</span><a class="link" href="PopplerAttachment.html#PopplerAttachmentSaveFunc" title="PopplerAttachmentSaveFunc ()">*PopplerAttachmentSaveFunc</a><span class="c_punctuation">)</span> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="PopplerAttachment.html#poppler-attachment-save" title="poppler_attachment_save ()">poppler_attachment_save</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="PopplerAttachment.html#poppler-attachment-save-to-callback" title="poppler_attachment_save_to_callback ()">poppler_attachment_save_to_callback</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="PopplerAttachment.other"></a><h2>Types and Values</h2>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="name">
+<col class="description">
+</colgroup>
+<tbody><tr>
+<td class="datatype_keyword"> </td>
+<td class="function_name"><a class="link" href="PopplerAttachment.html#PopplerAttachment-struct" title="PopplerAttachment">PopplerAttachment</a></td>
+</tr></tbody>
+</table></div>
</div>
<div class="refsect1">
<a name="PopplerAttachment.object-hierarchy"></a><h2>Object Hierarchy</h2>
-<pre class="synopsis">
- <a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObject">GObject</a>
- +----PopplerAttachment
+<pre class="screen"> <a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObject">GObject</a>
+ <span class="lineart">╰──</span> PopplerAttachment
</pre>
</div>
<div class="refsect1">
-<a name="PopplerAttachment.description"></a><h2>Description</h2>
+<a name="PopplerAttachment.includes"></a><h2>Includes</h2>
+<pre class="synopsis">#include &lt;poppler.h&gt;
+</pre>
</div>
<div class="refsect1">
-<a name="PopplerAttachment.details"></a><h2>Details</h2>
-<div class="refsect2">
-<a name="PopplerAttachment-struct"></a><h3>PopplerAttachment</h3>
-<pre class="programlisting">typedef struct _PopplerAttachment PopplerAttachment;</pre>
+<a name="PopplerAttachment.description"></a><h2>Description</h2>
</div>
-<hr>
+<div class="refsect1">
+<a name="PopplerAttachment.functions_details"></a><h2>Functions</h2>
<div class="refsect2">
-<a name="PopplerAttachmentSaveFunc"></a><h3>PopplerAttachmentSaveFunc ()</h3>
-<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> (*PopplerAttachmentSaveFunc) (<em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *buf</code></em>,
- <em class="parameter"><code><span class="type">gsize</span> count</code></em>,
- <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> data</code></em>,
- <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
-<p>
-Specifies the type of the function passed to
-<a class="link" href="PopplerAttachment.html#poppler-attachment-save-to-callback" title="poppler_attachment_save_to_callback ()"><code class="function">poppler_attachment_save_to_callback()</code></a>. It is called once for each block of
-bytes that is "written" by <a class="link" href="PopplerAttachment.html#poppler-attachment-save-to-callback" title="poppler_attachment_save_to_callback ()"><code class="function">poppler_attachment_save_to_callback()</code></a>. If
+<a name="PopplerAttachmentSaveFunc"></a><h3>PopplerAttachmentSaveFunc ()</h3>
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+<span class="c_punctuation">(</span>*PopplerAttachmentSaveFunc<span class="c_punctuation">)</span> (<em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *buf</code></em>,
+ <em class="parameter"><code><span class="type">gsize</span> count</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> data</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Specifies the type of the function passed to
+<a class="link" href="PopplerAttachment.html#poppler-attachment-save-to-callback" title="poppler_attachment_save_to_callback ()"><code class="function">poppler_attachment_save_to_callback()</code></a>. It is called once for each block of
+bytes that is "written" by <a class="link" href="PopplerAttachment.html#poppler-attachment-save-to-callback" title="poppler_attachment_save_to_callback ()"><code class="function">poppler_attachment_save_to_callback()</code></a>. If
successful it should return <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>. If an error occurs it should set
-<em class="parameter"><code>error</code></em> and return <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a>, in which case <a class="link" href="PopplerAttachment.html#poppler-attachment-save-to-callback" title="poppler_attachment_save_to_callback ()"><code class="function">poppler_attachment_save_to_callback()</code></a>
-will fail with the same error.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<em class="parameter"><code>error</code></em>
+ and return <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a>, in which case <a class="link" href="PopplerAttachment.html#poppler-attachment-save-to-callback" title="poppler_attachment_save_to_callback ()"><code class="function">poppler_attachment_save_to_callback()</code></a>
+will fail with the same error.</p>
+<div class="refsect3">
+<a name="id-1.2.6.8.2.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><em class="parameter"><code>buf</code></em> :</span></p></td>
-<td>buffer containing
-bytes to be written. <span class="annotation">[<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=count][<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> guint8]</span>
-</td>
+<td class="parameter_name"><p>buf</p></td>
+<td class="parameter_description"><p> buffer containing
+bytes to be written. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=count][<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> guint8]</span></td>
</tr>
<tr>
-<td><p><span class="term"><em class="parameter"><code>count</code></em> :</span></p></td>
-<td>number of bytes in <em class="parameter"><code>buf</code></em>.</td>
+<td class="parameter_name"><p>count</p></td>
+<td class="parameter_description"><p>number of bytes in <em class="parameter"><code>buf</code></em>
+.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><em class="parameter"><code>data</code></em> :</span></p></td>
-<td>user data passed to <a class="link" href="PopplerAttachment.html#poppler-attachment-save-to-callback" title="poppler_attachment_save_to_callback ()"><code class="function">poppler_attachment_save_to_callback()</code></a>. <span class="annotation">[<acronym title="This parameter is a 'user_data', for callbacks; many bindings can pass NULL here."><span class="acronym">closure</span></acronym>]</span>
-</td>
+<td class="parameter_name"><p>data</p></td>
+<td class="parameter_description"><p> user data passed to <a class="link" href="PopplerAttachment.html#poppler-attachment-save-to-callback" title="poppler_attachment_save_to_callback ()"><code class="function">poppler_attachment_save_to_callback()</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="This parameter is a 'user_data', for callbacks; many bindings can pass NULL here."><span class="acronym">closure</span></acronym>]</span></td>
</tr>
<tr>
-<td><p><span class="term"><em class="parameter"><code>error</code></em> :</span></p></td>
-<td>GError to set on error, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if successful, <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> (with <em class="parameter"><code>error</code></em> set) if failed.</td>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>GError to set on error, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a></p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="id-1.2.6.8.2.6"></a><h4>Returns</h4>
+<p> <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if successful, <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> (with <em class="parameter"><code>error</code></em>
+set) if failed.</p>
+<p></p>
+</div>
+</div>
<hr>
<div class="refsect2">
-<a name="poppler-attachment-save"></a><h3>poppler_attachment_save ()</h3>
-<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> poppler_attachment_save (<em class="parameter"><code><a class="link" href="PopplerAttachment.html" title="PopplerAttachment"><span class="type">PopplerAttachment</span></a> *attachment</code></em>,
- <em class="parameter"><code>const <span class="type">char</span> *filename</code></em>,
- <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
-<p>
-Saves <em class="parameter"><code>attachment</code></em> to a file indicated by <em class="parameter"><code>filename</code></em>. If <em class="parameter"><code>error</code></em> is set, <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a>
+<a name="poppler-attachment-save"></a><h3>poppler_attachment_save ()</h3>
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+poppler_attachment_save (<em class="parameter"><code><a class="link" href="PopplerAttachment.html" title="PopplerAttachment"><span class="type">PopplerAttachment</span></a> *attachment</code></em>,
+ <em class="parameter"><code>const <span class="type">char</span> *filename</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Saves <em class="parameter"><code>attachment</code></em>
+ to a file indicated by <em class="parameter"><code>filename</code></em>
+. If <em class="parameter"><code>error</code></em>
+ is set, <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a>
will be returned. Possible errors include those in the <a href="http://library.gnome.org/devel/glib/unstable/glib-File-Utilities.html#G-FILE-ERROR:CAPS"><span class="type">G_FILE_ERROR</span></a> domain
-and whatever the save function generates.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+and whatever the save function generates.</p>
+<div class="refsect3">
+<a name="id-1.2.6.8.3.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><em class="parameter"><code>attachment</code></em> :</span></p></td>
-<td>A <a class="link" href="PopplerAttachment.html" title="PopplerAttachment"><span class="type">PopplerAttachment</span></a>.</td>
+<td class="parameter_name"><p>attachment</p></td>
+<td class="parameter_description"><p>A <a class="link" href="PopplerAttachment.html" title="PopplerAttachment"><span class="type">PopplerAttachment</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><em class="parameter"><code>filename</code></em> :</span></p></td>
-<td>name of file to save</td>
-</tr>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>error</code></em> :</span></p></td>
-<td>return location for error, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. <span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
-</td>
+<td class="parameter_name"><p>filename</p></td>
+<td class="parameter_description"><p>name of file to save</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>, if the file successfully saved</td>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p> return location for error, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
</tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="id-1.2.6.8.3.6"></a><h4>Returns</h4>
+<p> <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>, if the file successfully saved</p>
+<p></p>
+</div>
+</div>
<hr>
<div class="refsect2">
-<a name="poppler-attachment-save-to-callback"></a><h3>poppler_attachment_save_to_callback ()</h3>
-<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> poppler_attachment_save_to_callback (<em class="parameter"><code><a class="link" href="PopplerAttachment.html" title="PopplerAttachment"><span class="type">PopplerAttachment</span></a> *attachment</code></em>,
- <em class="parameter"><code><a class="link" href="PopplerAttachment.html#PopplerAttachmentSaveFunc" title="PopplerAttachmentSaveFunc ()"><span class="type">PopplerAttachmentSaveFunc</span></a> save_func</code></em>,
- <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>,
- <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
-<p>
-Saves <em class="parameter"><code>attachment</code></em> by feeding the produced data to <em class="parameter"><code>save_func</code></em>. Can be used
+<a name="poppler-attachment-save-to-callback"></a><h3>poppler_attachment_save_to_callback ()</h3>
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+poppler_attachment_save_to_callback (<em class="parameter"><code><a class="link" href="PopplerAttachment.html" title="PopplerAttachment"><span class="type">PopplerAttachment</span></a> *attachment</code></em>,
+ <em class="parameter"><code><a class="link" href="PopplerAttachment.html#PopplerAttachmentSaveFunc" title="PopplerAttachmentSaveFunc ()"><span class="type">PopplerAttachmentSaveFunc</span></a> save_func</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Saves <em class="parameter"><code>attachment</code></em>
+ by feeding the produced data to <em class="parameter"><code>save_func</code></em>
+. Can be used
when you want to store the attachment to something other than a file, such as
-an in-memory buffer or a socket. If <em class="parameter"><code>error</code></em> is set, <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> will be
+an in-memory buffer or a socket. If <em class="parameter"><code>error</code></em>
+ is set, <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> will be
returned. Possible errors include those in the <a href="http://library.gnome.org/devel/glib/unstable/glib-File-Utilities.html#G-FILE-ERROR:CAPS"><span class="type">G_FILE_ERROR</span></a> domain and
-whatever the save function generates.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+whatever the save function generates.</p>
+<div class="refsect3">
+<a name="id-1.2.6.8.4.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><em class="parameter"><code>attachment</code></em> :</span></p></td>
-<td>A <a class="link" href="PopplerAttachment.html" title="PopplerAttachment"><span class="type">PopplerAttachment</span></a>.</td>
+<td class="parameter_name"><p>attachment</p></td>
+<td class="parameter_description"><p>A <a class="link" href="PopplerAttachment.html" title="PopplerAttachment"><span class="type">PopplerAttachment</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><em class="parameter"><code>save_func</code></em> :</span></p></td>
-<td>a function that is called to save each block of data that the save routine generates. <span class="annotation">[<acronym title="The callback is valid only during the call to the method."><span class="acronym">scope call</span></acronym>]</span>
-</td>
+<td class="parameter_name"><p>save_func</p></td>
+<td class="parameter_description"><p> a function that is called to save each block of data that the save routine generates. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="The callback is valid only during the call to the method."><span class="acronym">scope call</span></acronym>]</span></td>
</tr>
<tr>
-<td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
-<td>user data to pass to the save function.</td>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>user data to pass to the save function.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><em class="parameter"><code>error</code></em> :</span></p></td>
-<td>return location for error, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. <span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>, if the save successfully completed</td>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p> return location for error, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
</tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="id-1.2.6.8.4.6"></a><h4>Returns</h4>
+<p> <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>, if the save successfully completed</p>
+<p></p>
+</div>
+</div>
+</div>
+<div class="refsect1">
+<a name="PopplerAttachment.other_details"></a><h2>Types and Values</h2>
+<div class="refsect2">
+<a name="PopplerAttachment-struct"></a><h3>PopplerAttachment</h3>
+<pre class="programlisting">typedef struct _PopplerAttachment PopplerAttachment;</pre>
+</div>
</div>
</div>
<div class="footer">
<hr>
- Generated by GTK-Doc V1.19</div>
+ Generated by GTK-Doc V1.21</div>
</body>
</html> \ No newline at end of file
diff --git a/glib/reference/html/PopplerDocument.html b/glib/reference/html/PopplerDocument.html
index 170649af..2211c237 100644
--- a/glib/reference/html/PopplerDocument.html
+++ b/glib/reference/html/PopplerDocument.html
@@ -2,34 +2,28 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>PopplerDocument</title>
+<title>Poppler Reference Manual: PopplerDocument</title>
<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<link rel="home" href="index.html" title="Poppler Reference Manual">
<link rel="up" href="ch01.html" title="Poppler">
<link rel="prev" href="poppler-poppler.html" title="poppler">
<link rel="next" href="PopplerPage.html" title="PopplerPage">
-<meta name="generator" content="GTK-Doc V1.19 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
-<tr valign="middle">
-<td><a accesskey="p" href="poppler-poppler.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
-<td><a accesskey="u" href="ch01.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
-<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
-<th width="100%" align="center">Poppler Reference Manual</th>
-<td><a accesskey="n" href="PopplerPage.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
-</tr>
-<tr><td colspan="5" class="shortcuts">
-<a href="#PopplerDocument.synopsis" class="shortcut">Top</a>
-  | 
- <a href="#PopplerDocument.description" class="shortcut">Description</a>
-  | 
- <a href="#PopplerDocument.object-hierarchy" class="shortcut">Object Hierarchy</a>
-  | 
- <a href="#PopplerDocument.properties" class="shortcut">Properties</a>
-</td></tr>
-</table>
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts">
+<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
+ <a href="#PopplerDocument.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
+ <a href="#PopplerDocument.object-hierarchy" class="shortcut">Object Hierarchy</a></span><span id="nav_properties">  <span class="dim">|</span> 
+ <a href="#PopplerDocument.properties" class="shortcut">Properties</a></span>
+</td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="ch01.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="poppler-poppler.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="PopplerPage.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
<div class="refentry">
<a name="PopplerDocument"></a><div class="titlepage"></div>
<div class="refnamediv"><table width="100%"><tr>
@@ -37,1540 +31,1779 @@
<h2><span class="refentrytitle"><a name="PopplerDocument.top_of_page"></a>PopplerDocument</span></h2>
<p>PopplerDocument — Information about a document</p>
</td>
-<td valign="top" align="right"></td>
+<td class="gallery_image" valign="top" align="right"></td>
</tr></table></div>
-<div class="refsynopsisdiv">
-<a name="PopplerDocument.synopsis"></a><h2>Synopsis</h2>
-<pre class="synopsis">
-#include &lt;poppler.h&gt;
-
- <a class="link" href="PopplerDocument.html#PopplerDocument-struct" title="PopplerDocument">PopplerDocument</a>;
- <a class="link" href="PopplerDocument.html#PopplerIndexIter" title="PopplerIndexIter">PopplerIndexIter</a>;
- <a class="link" href="PopplerDocument.html#PopplerFontsIter" title="PopplerFontsIter">PopplerFontsIter</a>;
- <a class="link" href="PopplerDocument.html#PopplerLayersIter" title="PopplerLayersIter">PopplerLayersIter</a>;
-enum <a class="link" href="PopplerDocument.html#PopplerPageLayout" title="enum PopplerPageLayout">PopplerPageLayout</a>;
-enum <a class="link" href="PopplerDocument.html#PopplerPageMode" title="enum PopplerPageMode">PopplerPageMode</a>;
- <a class="link" href="PopplerDocument.html#PopplerFontInfo" title="PopplerFontInfo">PopplerFontInfo</a>;
-enum <a class="link" href="PopplerDocument.html#PopplerFontType" title="enum PopplerFontType">PopplerFontType</a>;
- <a class="link" href="PopplerDocument.html#PopplerPSFile" title="PopplerPSFile">PopplerPSFile</a>;
-enum <a class="link" href="PopplerDocument.html#PopplerViewerPreferences" title="enum PopplerViewerPreferences">PopplerViewerPreferences</a>;
-enum <a class="link" href="PopplerDocument.html#PopplerPermissions" title="enum PopplerPermissions">PopplerPermissions</a>;
-<a class="link" href="PopplerDocument.html" title="PopplerDocument"><span class="returnvalue">PopplerDocument</span></a> * <a class="link" href="PopplerDocument.html#poppler-document-new-from-file" title="poppler_document_new_from_file ()">poppler_document_new_from_file</a> (<em class="parameter"><code>const <span class="type">char</span> *uri</code></em>,
- <em class="parameter"><code>const <span class="type">char</span> *password</code></em>,
- <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);
-<a class="link" href="PopplerDocument.html" title="PopplerDocument"><span class="returnvalue">PopplerDocument</span></a> * <a class="link" href="PopplerDocument.html#poppler-document-new-from-data" title="poppler_document_new_from_data ()">poppler_document_new_from_data</a> (<em class="parameter"><code><span class="type">char</span> *data</code></em>,
- <em class="parameter"><code><span class="type">int</span> length</code></em>,
- <em class="parameter"><code>const <span class="type">char</span> *password</code></em>,
- <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);
-<a class="link" href="PopplerDocument.html" title="PopplerDocument"><span class="returnvalue">PopplerDocument</span></a> * <a class="link" href="PopplerDocument.html#poppler-document-new-from-stream" title="poppler_document_new_from_stream ()">poppler_document_new_from_stream</a> (<em class="parameter"><code><a href="http://library.gnome.org/devel/gio/unstable/GInputStream.html"><span class="type">GInputStream</span></a> *stream</code></em>,
- <em class="parameter"><code><span class="type">goffset</span> length</code></em>,
- <em class="parameter"><code>const <span class="type">char</span> *password</code></em>,
- <em class="parameter"><code><a href="http://library.gnome.org/devel/gio/unstable/GCancellable.html"><span class="type">GCancellable</span></a> *cancellable</code></em>,
- <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);
-<a class="link" href="PopplerDocument.html" title="PopplerDocument"><span class="returnvalue">PopplerDocument</span></a> * <a class="link" href="PopplerDocument.html#poppler-document-new-from-gfile" title="poppler_document_new_from_gfile ()">poppler_document_new_from_gfile</a> (<em class="parameter"><code><a href="http://library.gnome.org/devel/gio/unstable/GFile.html"><span class="type">GFile</span></a> *file</code></em>,
- <em class="parameter"><code>const <span class="type">char</span> *password</code></em>,
- <em class="parameter"><code><a href="http://library.gnome.org/devel/gio/unstable/GCancellable.html"><span class="type">GCancellable</span></a> *cancellable</code></em>,
- <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="PopplerDocument.html#poppler-document-save" title="poppler_document_save ()">poppler_document_save</a> (<em class="parameter"><code><a class="link" href="PopplerDocument.html" title="PopplerDocument"><span class="type">PopplerDocument</span></a> *document</code></em>,
- <em class="parameter"><code>const <span class="type">char</span> *uri</code></em>,
- <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="PopplerDocument.html#poppler-document-save-a-copy" title="poppler_document_save_a_copy ()">poppler_document_save_a_copy</a> (<em class="parameter"><code><a class="link" href="PopplerDocument.html" title="PopplerDocument"><span class="type">PopplerDocument</span></a> *document</code></em>,
- <em class="parameter"><code>const <span class="type">char</span> *uri</code></em>,
- <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="PopplerDocument.html#poppler-document-get-id" title="poppler_document_get_id ()">poppler_document_get_id</a> (<em class="parameter"><code><a class="link" href="PopplerDocument.html" title="PopplerDocument"><span class="type">PopplerDocument</span></a> *document</code></em>,
- <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> **permanent_id</code></em>,
- <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> **update_id</code></em>);
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> * <a class="link" href="PopplerDocument.html#poppler-document-get-pdf-version-string" title="poppler_document_get_pdf_version_string ()">poppler_document_get_pdf_version_string</a>
- (<em class="parameter"><code><a class="link" href="PopplerDocument.html" title="PopplerDocument"><span class="type">PopplerDocument</span></a> *document</code></em>);
-<span class="returnvalue">void</span> <a class="link" href="PopplerDocument.html#poppler-document-get-pdf-version" title="poppler_document_get_pdf_version ()">poppler_document_get_pdf_version</a> (<em class="parameter"><code><a class="link" href="PopplerDocument.html" title="PopplerDocument"><span class="type">PopplerDocument</span></a> *document</code></em>,
- <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> *major_version</code></em>,
- <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> *minor_version</code></em>);
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> * <a class="link" href="PopplerDocument.html#poppler-document-get-title" title="poppler_document_get_title ()">poppler_document_get_title</a> (<em class="parameter"><code><a class="link" href="PopplerDocument.html" title="PopplerDocument"><span class="type">PopplerDocument</span></a> *document</code></em>);
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> * <a class="link" href="PopplerDocument.html#poppler-document-get-author" title="poppler_document_get_author ()">poppler_document_get_author</a> (<em class="parameter"><code><a class="link" href="PopplerDocument.html" title="PopplerDocument"><span class="type">PopplerDocument</span></a> *document</code></em>);
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> * <a class="link" href="PopplerDocument.html#poppler-document-get-subject" title="poppler_document_get_subject ()">poppler_document_get_subject</a> (<em class="parameter"><code><a class="link" href="PopplerDocument.html" title="PopplerDocument"><span class="type">PopplerDocument</span></a> *document</code></em>);
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> * <a class="link" href="PopplerDocument.html#poppler-document-get-keywords" title="poppler_document_get_keywords ()">poppler_document_get_keywords</a> (<em class="parameter"><code><a class="link" href="PopplerDocument.html" title="PopplerDocument"><span class="type">PopplerDocument</span></a> *document</code></em>);
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> * <a class="link" href="PopplerDocument.html#poppler-document-get-creator" title="poppler_document_get_creator ()">poppler_document_get_creator</a> (<em class="parameter"><code><a class="link" href="PopplerDocument.html" title="PopplerDocument"><span class="type">PopplerDocument</span></a> *document</code></em>);
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> * <a class="link" href="PopplerDocument.html#poppler-document-get-producer" title="poppler_document_get_producer ()">poppler_document_get_producer</a> (<em class="parameter"><code><a class="link" href="PopplerDocument.html" title="PopplerDocument"><span class="type">PopplerDocument</span></a> *document</code></em>);
-<span class="returnvalue">time_t</span> <a class="link" href="PopplerDocument.html#poppler-document-get-creation-date" title="poppler_document_get_creation_date ()">poppler_document_get_creation_date</a> (<em class="parameter"><code><a class="link" href="PopplerDocument.html" title="PopplerDocument"><span class="type">PopplerDocument</span></a> *document</code></em>);
-<span class="returnvalue">time_t</span> <a class="link" href="PopplerDocument.html#poppler-document-get-modification-date" title="poppler_document_get_modification_date ()">poppler_document_get_modification_date</a>
- (<em class="parameter"><code><a class="link" href="PopplerDocument.html" title="PopplerDocument"><span class="type">PopplerDocument</span></a> *document</code></em>);
-<a class="link" href="PopplerDocument.html#PopplerPageLayout" title="enum PopplerPageLayout"><span class="returnvalue">PopplerPageLayout</span></a> <a class="link" href="PopplerDocument.html#poppler-document-get-page-layout" title="poppler_document_get_page_layout ()">poppler_document_get_page_layout</a> (<em class="parameter"><code><a class="link" href="PopplerDocument.html" title="PopplerDocument"><span class="type">PopplerDocument</span></a> *document</code></em>);
-<a class="link" href="PopplerDocument.html#PopplerPageMode" title="enum PopplerPageMode"><span class="returnvalue">PopplerPageMode</span></a> <a class="link" href="PopplerDocument.html#poppler-document-get-page-mode" title="poppler_document_get_page_mode ()">poppler_document_get_page_mode</a> (<em class="parameter"><code><a class="link" href="PopplerDocument.html" title="PopplerDocument"><span class="type">PopplerDocument</span></a> *document</code></em>);
-<a class="link" href="PopplerDocument.html#PopplerPermissions" title="enum PopplerPermissions"><span class="returnvalue">PopplerPermissions</span></a> <a class="link" href="PopplerDocument.html#poppler-document-get-permissions" title="poppler_document_get_permissions ()">poppler_document_get_permissions</a> (<em class="parameter"><code><a class="link" href="PopplerDocument.html" title="PopplerDocument"><span class="type">PopplerDocument</span></a> *document</code></em>);
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> * <a class="link" href="PopplerDocument.html#poppler-document-get-metadata" title="poppler_document_get_metadata ()">poppler_document_get_metadata</a> (<em class="parameter"><code><a class="link" href="PopplerDocument.html" title="PopplerDocument"><span class="type">PopplerDocument</span></a> *document</code></em>);
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="PopplerDocument.html#poppler-document-is-linearized" title="poppler_document_is_linearized ()">poppler_document_is_linearized</a> (<em class="parameter"><code><a class="link" href="PopplerDocument.html" title="PopplerDocument"><span class="type">PopplerDocument</span></a> *document</code></em>);
-<span class="returnvalue">int</span> <a class="link" href="PopplerDocument.html#poppler-document-get-n-pages" title="poppler_document_get_n_pages ()">poppler_document_get_n_pages</a> (<em class="parameter"><code><a class="link" href="PopplerDocument.html" title="PopplerDocument"><span class="type">PopplerDocument</span></a> *document</code></em>);
-<a class="link" href="PopplerPage.html" title="PopplerPage"><span class="returnvalue">PopplerPage</span></a> * <a class="link" href="PopplerDocument.html#poppler-document-get-page" title="poppler_document_get_page ()">poppler_document_get_page</a> (<em class="parameter"><code><a class="link" href="PopplerDocument.html" title="PopplerDocument"><span class="type">PopplerDocument</span></a> *document</code></em>,
- <em class="parameter"><code><span class="type">int</span> index</code></em>);
-<a class="link" href="PopplerPage.html" title="PopplerPage"><span class="returnvalue">PopplerPage</span></a> * <a class="link" href="PopplerDocument.html#poppler-document-get-page-by-label" title="poppler_document_get_page_by_label ()">poppler_document_get_page_by_label</a> (<em class="parameter"><code><a class="link" href="PopplerDocument.html" title="PopplerDocument"><span class="type">PopplerDocument</span></a> *document</code></em>,
- <em class="parameter"><code>const <span class="type">char</span> *label</code></em>);
-<a class="link" href="poppler-PopplerAction.html#PopplerDest" title="PopplerDest"><span class="returnvalue">PopplerDest</span></a> * <a class="link" href="PopplerDocument.html#poppler-document-find-dest" title="poppler_document_find_dest ()">poppler_document_find_dest</a> (<em class="parameter"><code><a class="link" href="PopplerDocument.html" title="PopplerDocument"><span class="type">PopplerDocument</span></a> *document</code></em>,
- <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *link_name</code></em>);
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a> <a class="link" href="PopplerDocument.html#poppler-document-get-n-attachments" title="poppler_document_get_n_attachments ()">poppler_document_get_n_attachments</a> (<em class="parameter"><code><a class="link" href="PopplerDocument.html" title="PopplerDocument"><span class="type">PopplerDocument</span></a> *document</code></em>);
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="PopplerDocument.html#poppler-document-has-attachments" title="poppler_document_has_attachments ()">poppler_document_has_attachments</a> (<em class="parameter"><code><a class="link" href="PopplerDocument.html" title="PopplerDocument"><span class="type">PopplerDocument</span></a> *document</code></em>);
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="returnvalue">GList</span></a> * <a class="link" href="PopplerDocument.html#poppler-document-get-attachments" title="poppler_document_get_attachments ()">poppler_document_get_attachments</a> (<em class="parameter"><code><a class="link" href="PopplerDocument.html" title="PopplerDocument"><span class="type">PopplerDocument</span></a> *document</code></em>);
-<a class="link" href="PopplerFormField.html" title="PoppplerFormField"><span class="returnvalue">PopplerFormField</span></a> * <a class="link" href="PopplerDocument.html#poppler-document-get-form-field" title="poppler_document_get_form_field ()">poppler_document_get_form_field</a> (<em class="parameter"><code><a class="link" href="PopplerDocument.html" title="PopplerDocument"><span class="type">PopplerDocument</span></a> *document</code></em>,
- <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> id</code></em>);
-<a class="link" href="PopplerDocument.html#PopplerIndexIter" title="PopplerIndexIter"><span class="returnvalue">PopplerIndexIter</span></a> * <a class="link" href="PopplerDocument.html#poppler-index-iter-new" title="poppler_index_iter_new ()">poppler_index_iter_new</a> (<em class="parameter"><code><a class="link" href="PopplerDocument.html" title="PopplerDocument"><span class="type">PopplerDocument</span></a> *document</code></em>);
-<a class="link" href="PopplerDocument.html#PopplerIndexIter" title="PopplerIndexIter"><span class="returnvalue">PopplerIndexIter</span></a> * <a class="link" href="PopplerDocument.html#poppler-index-iter-copy" title="poppler_index_iter_copy ()">poppler_index_iter_copy</a> (<em class="parameter"><code><a class="link" href="PopplerDocument.html#PopplerIndexIter" title="PopplerIndexIter"><span class="type">PopplerIndexIter</span></a> *iter</code></em>);
-<span class="returnvalue">void</span> <a class="link" href="PopplerDocument.html#poppler-index-iter-free" title="poppler_index_iter_free ()">poppler_index_iter_free</a> (<em class="parameter"><code><a class="link" href="PopplerDocument.html#PopplerIndexIter" title="PopplerIndexIter"><span class="type">PopplerIndexIter</span></a> *iter</code></em>);
-<a class="link" href="PopplerDocument.html#PopplerIndexIter" title="PopplerIndexIter"><span class="returnvalue">PopplerIndexIter</span></a> * <a class="link" href="PopplerDocument.html#poppler-index-iter-get-child" title="poppler_index_iter_get_child ()">poppler_index_iter_get_child</a> (<em class="parameter"><code><a class="link" href="PopplerDocument.html#PopplerIndexIter" title="PopplerIndexIter"><span class="type">PopplerIndexIter</span></a> *parent</code></em>);
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="PopplerDocument.html#poppler-index-iter-is-open" title="poppler_index_iter_is_open ()">poppler_index_iter_is_open</a> (<em class="parameter"><code><a class="link" href="PopplerDocument.html#PopplerIndexIter" title="PopplerIndexIter"><span class="type">PopplerIndexIter</span></a> *iter</code></em>);
-<a class="link" href="poppler-PopplerAction.html#PopplerAction" title="union PopplerAction"><span class="returnvalue">PopplerAction</span></a> * <a class="link" href="PopplerDocument.html#poppler-index-iter-get-action" title="poppler_index_iter_get_action ()">poppler_index_iter_get_action</a> (<em class="parameter"><code><a class="link" href="PopplerDocument.html#PopplerIndexIter" title="PopplerIndexIter"><span class="type">PopplerIndexIter</span></a> *iter</code></em>);
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="PopplerDocument.html#poppler-index-iter-next" title="poppler_index_iter_next ()">poppler_index_iter_next</a> (<em class="parameter"><code><a class="link" href="PopplerDocument.html#PopplerIndexIter" title="PopplerIndexIter"><span class="type">PopplerIndexIter</span></a> *iter</code></em>);
-<a class="link" href="PopplerDocument.html#PopplerFontInfo" title="PopplerFontInfo"><span class="returnvalue">PopplerFontInfo</span></a> * <a class="link" href="PopplerDocument.html#poppler-font-info-new" title="poppler_font_info_new ()">poppler_font_info_new</a> (<em class="parameter"><code><a class="link" href="PopplerDocument.html" title="PopplerDocument"><span class="type">PopplerDocument</span></a> *document</code></em>);
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="PopplerDocument.html#poppler-font-info-scan" title="poppler_font_info_scan ()">poppler_font_info_scan</a> (<em class="parameter"><code><a class="link" href="PopplerDocument.html#PopplerFontInfo" title="PopplerFontInfo"><span class="type">PopplerFontInfo</span></a> *font_info</code></em>,
- <em class="parameter"><code><span class="type">int</span> n_pages</code></em>,
- <em class="parameter"><code><a class="link" href="PopplerDocument.html#PopplerFontsIter" title="PopplerFontsIter"><span class="type">PopplerFontsIter</span></a> **iter</code></em>);
-<span class="returnvalue">void</span> <a class="link" href="PopplerDocument.html#poppler-font-info-free" title="poppler_font_info_free ()">poppler_font_info_free</a> (<em class="parameter"><code><a class="link" href="PopplerDocument.html#PopplerFontInfo" title="PopplerFontInfo"><span class="type">PopplerFontInfo</span></a> *font_info</code></em>);
-<a class="link" href="PopplerDocument.html#PopplerFontsIter" title="PopplerFontsIter"><span class="returnvalue">PopplerFontsIter</span></a> * <a class="link" href="PopplerDocument.html#poppler-fonts-iter-copy" title="poppler_fonts_iter_copy ()">poppler_fonts_iter_copy</a> (<em class="parameter"><code><a class="link" href="PopplerDocument.html#PopplerFontsIter" title="PopplerFontsIter"><span class="type">PopplerFontsIter</span></a> *iter</code></em>);
-<span class="returnvalue">void</span> <a class="link" href="PopplerDocument.html#poppler-fonts-iter-free" title="poppler_fonts_iter_free ()">poppler_fonts_iter_free</a> (<em class="parameter"><code><a class="link" href="PopplerDocument.html#PopplerFontsIter" title="PopplerFontsIter"><span class="type">PopplerFontsIter</span></a> *iter</code></em>);
-const <span class="returnvalue">char</span> * <a class="link" href="PopplerDocument.html#poppler-fonts-iter-get-name" title="poppler_fonts_iter_get_name ()">poppler_fonts_iter_get_name</a> (<em class="parameter"><code><a class="link" href="PopplerDocument.html#PopplerFontsIter" title="PopplerFontsIter"><span class="type">PopplerFontsIter</span></a> *iter</code></em>);
-const <span class="returnvalue">char</span> * <a class="link" href="PopplerDocument.html#poppler-fonts-iter-get-full-name" title="poppler_fonts_iter_get_full_name ()">poppler_fonts_iter_get_full_name</a> (<em class="parameter"><code><a class="link" href="PopplerDocument.html#PopplerFontsIter" title="PopplerFontsIter"><span class="type">PopplerFontsIter</span></a> *iter</code></em>);
-<a class="link" href="PopplerDocument.html#PopplerFontType" title="enum PopplerFontType"><span class="returnvalue">PopplerFontType</span></a> <a class="link" href="PopplerDocument.html#poppler-fonts-iter-get-font-type" title="poppler_fonts_iter_get_font_type ()">poppler_fonts_iter_get_font_type</a> (<em class="parameter"><code><a class="link" href="PopplerDocument.html#PopplerFontsIter" title="PopplerFontsIter"><span class="type">PopplerFontsIter</span></a> *iter</code></em>);
-const <span class="returnvalue">char</span> * <a class="link" href="PopplerDocument.html#poppler-fonts-iter-get-substitute-name" title="poppler_fonts_iter_get_substitute_name ()">poppler_fonts_iter_get_substitute_name</a>
- (<em class="parameter"><code><a class="link" href="PopplerDocument.html#PopplerFontsIter" title="PopplerFontsIter"><span class="type">PopplerFontsIter</span></a> *iter</code></em>);
-const <span class="returnvalue">char</span> * <a class="link" href="PopplerDocument.html#poppler-fonts-iter-get-file-name" title="poppler_fonts_iter_get_file_name ()">poppler_fonts_iter_get_file_name</a> (<em class="parameter"><code><a class="link" href="PopplerDocument.html#PopplerFontsIter" title="PopplerFontsIter"><span class="type">PopplerFontsIter</span></a> *iter</code></em>);
-const <span class="returnvalue">char</span> * <a class="link" href="PopplerDocument.html#poppler-fonts-iter-get-encoding" title="poppler_fonts_iter_get_encoding ()">poppler_fonts_iter_get_encoding</a> (<em class="parameter"><code><a class="link" href="PopplerDocument.html#PopplerFontsIter" title="PopplerFontsIter"><span class="type">PopplerFontsIter</span></a> *iter</code></em>);
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="PopplerDocument.html#poppler-fonts-iter-is-embedded" title="poppler_fonts_iter_is_embedded ()">poppler_fonts_iter_is_embedded</a> (<em class="parameter"><code><a class="link" href="PopplerDocument.html#PopplerFontsIter" title="PopplerFontsIter"><span class="type">PopplerFontsIter</span></a> *iter</code></em>);
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="PopplerDocument.html#poppler-fonts-iter-is-subset" title="poppler_fonts_iter_is_subset ()">poppler_fonts_iter_is_subset</a> (<em class="parameter"><code><a class="link" href="PopplerDocument.html#PopplerFontsIter" title="PopplerFontsIter"><span class="type">PopplerFontsIter</span></a> *iter</code></em>);
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="PopplerDocument.html#poppler-fonts-iter-next" title="poppler_fonts_iter_next ()">poppler_fonts_iter_next</a> (<em class="parameter"><code><a class="link" href="PopplerDocument.html#PopplerFontsIter" title="PopplerFontsIter"><span class="type">PopplerFontsIter</span></a> *iter</code></em>);
-<a class="link" href="PopplerDocument.html#PopplerLayersIter" title="PopplerLayersIter"><span class="returnvalue">PopplerLayersIter</span></a> * <a class="link" href="PopplerDocument.html#poppler-layers-iter-new" title="poppler_layers_iter_new ()">poppler_layers_iter_new</a> (<em class="parameter"><code><a class="link" href="PopplerDocument.html" title="PopplerDocument"><span class="type">PopplerDocument</span></a> *document</code></em>);
-<a class="link" href="PopplerDocument.html#PopplerLayersIter" title="PopplerLayersIter"><span class="returnvalue">PopplerLayersIter</span></a> * <a class="link" href="PopplerDocument.html#poppler-layers-iter-copy" title="poppler_layers_iter_copy ()">poppler_layers_iter_copy</a> (<em class="parameter"><code><a class="link" href="PopplerDocument.html#PopplerLayersIter" title="PopplerLayersIter"><span class="type">PopplerLayersIter</span></a> *iter</code></em>);
-<span class="returnvalue">void</span> <a class="link" href="PopplerDocument.html#poppler-layers-iter-free" title="poppler_layers_iter_free ()">poppler_layers_iter_free</a> (<em class="parameter"><code><a class="link" href="PopplerDocument.html#PopplerLayersIter" title="PopplerLayersIter"><span class="type">PopplerLayersIter</span></a> *iter</code></em>);
-<a class="link" href="PopplerDocument.html#PopplerLayersIter" title="PopplerLayersIter"><span class="returnvalue">PopplerLayersIter</span></a> * <a class="link" href="PopplerDocument.html#poppler-layers-iter-get-child" title="poppler_layers_iter_get_child ()">poppler_layers_iter_get_child</a> (<em class="parameter"><code><a class="link" href="PopplerDocument.html#PopplerLayersIter" title="PopplerLayersIter"><span class="type">PopplerLayersIter</span></a> *parent</code></em>);
-<a class="link" href="PopplerLayer.html" title="PopplerLayer"><span class="returnvalue">PopplerLayer</span></a> * <a class="link" href="PopplerDocument.html#poppler-layers-iter-get-layer" title="poppler_layers_iter_get_layer ()">poppler_layers_iter_get_layer</a> (<em class="parameter"><code><a class="link" href="PopplerDocument.html#PopplerLayersIter" title="PopplerLayersIter"><span class="type">PopplerLayersIter</span></a> *iter</code></em>);
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> * <a class="link" href="PopplerDocument.html#poppler-layers-iter-get-title" title="poppler_layers_iter_get_title ()">poppler_layers_iter_get_title</a> (<em class="parameter"><code><a class="link" href="PopplerDocument.html#PopplerLayersIter" title="PopplerLayersIter"><span class="type">PopplerLayersIter</span></a> *iter</code></em>);
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="PopplerDocument.html#poppler-layers-iter-next" title="poppler_layers_iter_next ()">poppler_layers_iter_next</a> (<em class="parameter"><code><a class="link" href="PopplerDocument.html#PopplerLayersIter" title="PopplerLayersIter"><span class="type">PopplerLayersIter</span></a> *iter</code></em>);
-<a class="link" href="PopplerDocument.html#PopplerPSFile" title="PopplerPSFile"><span class="returnvalue">PopplerPSFile</span></a> * <a class="link" href="PopplerDocument.html#poppler-ps-file-new" title="poppler_ps_file_new ()">poppler_ps_file_new</a> (<em class="parameter"><code><a class="link" href="PopplerDocument.html" title="PopplerDocument"><span class="type">PopplerDocument</span></a> *document</code></em>,
- <em class="parameter"><code>const <span class="type">char</span> *filename</code></em>,
- <em class="parameter"><code><span class="type">int</span> first_page</code></em>,
- <em class="parameter"><code><span class="type">int</span> n_pages</code></em>);
-<span class="returnvalue">void</span> <a class="link" href="PopplerDocument.html#poppler-ps-file-free" title="poppler_ps_file_free ()">poppler_ps_file_free</a> (<em class="parameter"><code><a class="link" href="PopplerDocument.html#PopplerPSFile" title="PopplerPSFile"><span class="type">PopplerPSFile</span></a> *ps_file</code></em>);
-<span class="returnvalue">void</span> <a class="link" href="PopplerDocument.html#poppler-ps-file-set-paper-size" title="poppler_ps_file_set_paper_size ()">poppler_ps_file_set_paper_size</a> (<em class="parameter"><code><a class="link" href="PopplerDocument.html#PopplerPSFile" title="PopplerPSFile"><span class="type">PopplerPSFile</span></a> *ps_file</code></em>,
- <em class="parameter"><code><span class="type">double</span> width</code></em>,
- <em class="parameter"><code><span class="type">double</span> height</code></em>);
-<span class="returnvalue">void</span> <a class="link" href="PopplerDocument.html#poppler-ps-file-set-duplex" title="poppler_ps_file_set_duplex ()">poppler_ps_file_set_duplex</a> (<em class="parameter"><code><a class="link" href="PopplerDocument.html#PopplerPSFile" title="PopplerPSFile"><span class="type">PopplerPSFile</span></a> *ps_file</code></em>,
- <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> duplex</code></em>);
-</pre>
-</div>
<div class="refsect1">
-<a name="PopplerDocument.object-hierarchy"></a><h2>Object Hierarchy</h2>
-<pre class="synopsis">
- <a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObject">GObject</a>
- +----PopplerDocument
-</pre>
-</div>
-<div class="refsect1">
-<a name="PopplerDocument.properties"></a><h2>Properties</h2>
-<pre class="synopsis">
- "<a class="link" href="PopplerDocument.html#PopplerDocument--author" title='The "author" property'>author</a>" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a>* : Read
- "<a class="link" href="PopplerDocument.html#PopplerDocument--creation-date" title='The "creation-date" property'>creation-date</a>" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> : Read
- "<a class="link" href="PopplerDocument.html#PopplerDocument--creator" title='The "creator" property'>creator</a>" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a>* : Read
- "<a class="link" href="PopplerDocument.html#PopplerDocument--format" title='The "format" property'>format</a>" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a>* : Read
- "<a class="link" href="PopplerDocument.html#PopplerDocument--format-major" title='The "format-major" property'>format-major</a>" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> : Read
- "<a class="link" href="PopplerDocument.html#PopplerDocument--format-minor" title='The "format-minor" property'>format-minor</a>" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> : Read
- "<a class="link" href="PopplerDocument.html#PopplerDocument--keywords" title='The "keywords" property'>keywords</a>" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a>* : Read
- "<a class="link" href="PopplerDocument.html#PopplerDocument--linearized" title='The "linearized" property'>linearized</a>" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> : Read
- "<a class="link" href="PopplerDocument.html#PopplerDocument--metadata" title='The "metadata" property'>metadata</a>" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a>* : Read
- "<a class="link" href="PopplerDocument.html#PopplerDocument--mod-date" title='The "mod-date" property'>mod-date</a>" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> : Read
- "<a class="link" href="PopplerDocument.html#PopplerDocument--page-layout" title='The "page-layout" property'>page-layout</a>" <a class="link" href="PopplerDocument.html#PopplerPageLayout" title="enum PopplerPageLayout"><span class="type">PopplerPageLayout</span></a> : Read
- "<a class="link" href="PopplerDocument.html#PopplerDocument--page-mode" title='The "page-mode" property'>page-mode</a>" <a class="link" href="PopplerDocument.html#PopplerPageMode" title="enum PopplerPageMode"><span class="type">PopplerPageMode</span></a> : Read
- "<a class="link" href="PopplerDocument.html#PopplerDocument--permissions" title='The "permissions" property'>permissions</a>" <a class="link" href="PopplerDocument.html#PopplerPermissions" title="enum PopplerPermissions"><span class="type">PopplerPermissions</span></a> : Read
- "<a class="link" href="PopplerDocument.html#PopplerDocument--producer" title='The "producer" property'>producer</a>" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a>* : Read
- "<a class="link" href="PopplerDocument.html#PopplerDocument--subject" title='The "subject" property'>subject</a>" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a>* : Read
- "<a class="link" href="PopplerDocument.html#PopplerDocument--title" title='The "title" property'>title</a>" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a>* : Read
- "<a class="link" href="PopplerDocument.html#PopplerDocument--viewer-preferences" title='The "viewer-preferences" property'>viewer-preferences</a>" <a class="link" href="PopplerDocument.html#PopplerViewerPreferences" title="enum PopplerViewerPreferences"><span class="type">PopplerViewerPreferences</span></a> : Read
-</pre>
-</div>
-<div class="refsect1">
-<a name="PopplerDocument.description"></a><h2>Description</h2>
-<p>
-The <a class="link" href="PopplerDocument.html" title="PopplerDocument"><span class="type">PopplerDocument</span></a> is an object used to refer to a main document.
-</p>
-</div>
-<div class="refsect1">
-<a name="PopplerDocument.details"></a><h2>Details</h2>
-<div class="refsect2">
-<a name="PopplerDocument-struct"></a><h3>PopplerDocument</h3>
-<pre class="programlisting">typedef struct _PopplerDocument PopplerDocument;</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="PopplerIndexIter"></a><h3>PopplerIndexIter</h3>
-<pre class="programlisting">typedef struct _PopplerIndexIter PopplerIndexIter;</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="PopplerFontsIter"></a><h3>PopplerFontsIter</h3>
-<pre class="programlisting">typedef struct _PopplerFontsIter PopplerFontsIter;</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="PopplerLayersIter"></a><h3>PopplerLayersIter</h3>
-<pre class="programlisting">typedef struct _PopplerLayersIter PopplerLayersIter;</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="PopplerPageLayout"></a><h3>enum PopplerPageLayout</h3>
-<pre class="programlisting">typedef enum {
- POPPLER_PAGE_LAYOUT_UNSET,
- POPPLER_PAGE_LAYOUT_SINGLE_PAGE,
- POPPLER_PAGE_LAYOUT_ONE_COLUMN,
- POPPLER_PAGE_LAYOUT_TWO_COLUMN_LEFT,
- POPPLER_PAGE_LAYOUT_TWO_COLUMN_RIGHT,
- POPPLER_PAGE_LAYOUT_TWO_PAGE_LEFT,
- POPPLER_PAGE_LAYOUT_TWO_PAGE_RIGHT
-} PopplerPageLayout;
-</pre>
-<p>
-Page layout types
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="PopplerDocument.functions"></a><h2>Functions</h2>
+<div class="informaltable"><table width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="functions_return">
+<col class="functions_name">
</colgroup>
<tbody>
<tr>
-<td><p><a name="POPPLER-PAGE-LAYOUT-UNSET:CAPS"></a><span class="term"><code class="literal">POPPLER_PAGE_LAYOUT_UNSET</code></span></p></td>
-<td>no specific layout set
+<td class="function_type">
+<a class="link" href="PopplerDocument.html" title="PopplerDocument"><span class="returnvalue">PopplerDocument</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="PopplerDocument.html#poppler-document-new-from-file" title="poppler_document_new_from_file ()">poppler_document_new_from_file</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><p><a name="POPPLER-PAGE-LAYOUT-SINGLE-PAGE:CAPS"></a><span class="term"><code class="literal">POPPLER_PAGE_LAYOUT_SINGLE_PAGE</code></span></p></td>
-<td>one page at a time
+<td class="function_type">
+<a class="link" href="PopplerDocument.html" title="PopplerDocument"><span class="returnvalue">PopplerDocument</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="PopplerDocument.html#poppler-document-new-from-data" title="poppler_document_new_from_data ()">poppler_document_new_from_data</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><p><a name="POPPLER-PAGE-LAYOUT-ONE-COLUMN:CAPS"></a><span class="term"><code class="literal">POPPLER_PAGE_LAYOUT_ONE_COLUMN</code></span></p></td>
-<td>pages in one column
+<td class="function_type">
+<a class="link" href="PopplerDocument.html" title="PopplerDocument"><span class="returnvalue">PopplerDocument</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="PopplerDocument.html#poppler-document-new-from-stream" title="poppler_document_new_from_stream ()">poppler_document_new_from_stream</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><p><a name="POPPLER-PAGE-LAYOUT-TWO-COLUMN-LEFT:CAPS"></a><span class="term"><code class="literal">POPPLER_PAGE_LAYOUT_TWO_COLUMN_LEFT</code></span></p></td>
-<td>pages in two columns with odd numbered pages on the left
+<td class="function_type">
+<a class="link" href="PopplerDocument.html" title="PopplerDocument"><span class="returnvalue">PopplerDocument</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="PopplerDocument.html#poppler-document-new-from-gfile" title="poppler_document_new_from_gfile ()">poppler_document_new_from_gfile</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><p><a name="POPPLER-PAGE-LAYOUT-TWO-COLUMN-RIGHT:CAPS"></a><span class="term"><code class="literal">POPPLER_PAGE_LAYOUT_TWO_COLUMN_RIGHT</code></span></p></td>
-<td>pages in two columns with odd numbered pages on the right
+<td class="function_type">
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="PopplerDocument.html#poppler-document-save" title="poppler_document_save ()">poppler_document_save</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><p><a name="POPPLER-PAGE-LAYOUT-TWO-PAGE-LEFT:CAPS"></a><span class="term"><code class="literal">POPPLER_PAGE_LAYOUT_TWO_PAGE_LEFT</code></span></p></td>
-<td>two pages at a time with odd numbered pages on the left
+<td class="function_type">
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="PopplerDocument.html#poppler-document-save-a-copy" title="poppler_document_save_a_copy ()">poppler_document_save_a_copy</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><p><a name="POPPLER-PAGE-LAYOUT-TWO-PAGE-RIGHT:CAPS"></a><span class="term"><code class="literal">POPPLER_PAGE_LAYOUT_TWO_PAGE_RIGHT</code></span></p></td>
-<td>two pages at a time with odd numbered pages on the right
+<td class="function_type">
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="PopplerDocument.html#poppler-document-get-id" title="poppler_document_get_id ()">poppler_document_get_id</a> <span class="c_punctuation">()</span>
</td>
</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2">
-<a name="PopplerPageMode"></a><h3>enum PopplerPageMode</h3>
-<pre class="programlisting">typedef enum {
- POPPLER_PAGE_MODE_UNSET,
- POPPLER_PAGE_MODE_NONE,
- POPPLER_PAGE_MODE_USE_OUTLINES,
- POPPLER_PAGE_MODE_USE_THUMBS,
- POPPLER_PAGE_MODE_FULL_SCREEN,
- POPPLER_PAGE_MODE_USE_OC,
- POPPLER_PAGE_MODE_USE_ATTACHMENTS
-} PopplerPageMode;
-</pre>
-<p>
-Page modes
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
-<colgroup>
-<col align="left" valign="top">
-<col>
-</colgroup>
-<tbody>
<tr>
-<td><p><a name="POPPLER-PAGE-MODE-UNSET:CAPS"></a><span class="term"><code class="literal">POPPLER_PAGE_MODE_UNSET</code></span></p></td>
-<td>no specific mode set
+<td class="function_type">
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="PopplerDocument.html#poppler-document-get-pdf-version-string" title="poppler_document_get_pdf_version_string ()">poppler_document_get_pdf_version_string</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><p><a name="POPPLER-PAGE-MODE-NONE:CAPS"></a><span class="term"><code class="literal">POPPLER_PAGE_MODE_NONE</code></span></p></td>
-<td>neither document outline nor thumbnails visible
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="PopplerDocument.html#poppler-document-get-pdf-version" title="poppler_document_get_pdf_version ()">poppler_document_get_pdf_version</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><p><a name="POPPLER-PAGE-MODE-USE-OUTLINES:CAPS"></a><span class="term"><code class="literal">POPPLER_PAGE_MODE_USE_OUTLINES</code></span></p></td>
-<td>document outline visible
+<td class="function_type">
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="PopplerDocument.html#poppler-document-get-title" title="poppler_document_get_title ()">poppler_document_get_title</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><p><a name="POPPLER-PAGE-MODE-USE-THUMBS:CAPS"></a><span class="term"><code class="literal">POPPLER_PAGE_MODE_USE_THUMBS</code></span></p></td>
-<td>thumbnails visible
+<td class="function_type">
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="PopplerDocument.html#poppler-document-get-author" title="poppler_document_get_author ()">poppler_document_get_author</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><p><a name="POPPLER-PAGE-MODE-FULL-SCREEN:CAPS"></a><span class="term"><code class="literal">POPPLER_PAGE_MODE_FULL_SCREEN</code></span></p></td>
-<td>full-screen mode
+<td class="function_type">
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="PopplerDocument.html#poppler-document-get-subject" title="poppler_document_get_subject ()">poppler_document_get_subject</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><p><a name="POPPLER-PAGE-MODE-USE-OC:CAPS"></a><span class="term"><code class="literal">POPPLER_PAGE_MODE_USE_OC</code></span></p></td>
-<td>layers panel visible
+<td class="function_type">
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="PopplerDocument.html#poppler-document-get-keywords" title="poppler_document_get_keywords ()">poppler_document_get_keywords</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><p><a name="POPPLER-PAGE-MODE-USE-ATTACHMENTS:CAPS"></a><span class="term"><code class="literal">POPPLER_PAGE_MODE_USE_ATTACHMENTS</code></span></p></td>
-<td>attachments panel visible
+<td class="function_type">
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="PopplerDocument.html#poppler-document-get-creator" title="poppler_document_get_creator ()">poppler_document_get_creator</a> <span class="c_punctuation">()</span>
</td>
</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2">
-<a name="PopplerFontInfo"></a><h3>PopplerFontInfo</h3>
-<pre class="programlisting">typedef struct {
-} PopplerFontInfo;
-</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="PopplerFontType"></a><h3>enum PopplerFontType</h3>
-<pre class="programlisting">typedef enum {
- POPPLER_FONT_TYPE_UNKNOWN,
- POPPLER_FONT_TYPE_TYPE1,
- POPPLER_FONT_TYPE_TYPE1C,
- POPPLER_FONT_TYPE_TYPE1COT,
- POPPLER_FONT_TYPE_TYPE3,
- POPPLER_FONT_TYPE_TRUETYPE,
- POPPLER_FONT_TYPE_TRUETYPEOT,
- POPPLER_FONT_TYPE_CID_TYPE0,
- POPPLER_FONT_TYPE_CID_TYPE0C,
- POPPLER_FONT_TYPE_CID_TYPE0COT,
- POPPLER_FONT_TYPE_CID_TYPE2,
- POPPLER_FONT_TYPE_CID_TYPE2OT
-} PopplerFontType;
-</pre>
-<p>
-Font types
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
-<colgroup>
-<col align="left" valign="top">
-<col>
-</colgroup>
-<tbody>
<tr>
-<td><p><a name="POPPLER-FONT-TYPE-UNKNOWN:CAPS"></a><span class="term"><code class="literal">POPPLER_FONT_TYPE_UNKNOWN</code></span></p></td>
-<td>unknown font type
+<td class="function_type">
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="PopplerDocument.html#poppler-document-get-producer" title="poppler_document_get_producer ()">poppler_document_get_producer</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><p><a name="POPPLER-FONT-TYPE-TYPE1:CAPS"></a><span class="term"><code class="literal">POPPLER_FONT_TYPE_TYPE1</code></span></p></td>
-<td>Type 1 font type
+<td class="function_type">
+<span class="returnvalue">time_t</span>
+</td>
+<td class="function_name">
+<a class="link" href="PopplerDocument.html#poppler-document-get-creation-date" title="poppler_document_get_creation_date ()">poppler_document_get_creation_date</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><p><a name="POPPLER-FONT-TYPE-TYPE1C:CAPS"></a><span class="term"><code class="literal">POPPLER_FONT_TYPE_TYPE1C</code></span></p></td>
-<td>Type 1 font type embedded in Compact Font Format (CFF) font program
+<td class="function_type">
+<span class="returnvalue">time_t</span>
+</td>
+<td class="function_name">
+<a class="link" href="PopplerDocument.html#poppler-document-get-modification-date" title="poppler_document_get_modification_date ()">poppler_document_get_modification_date</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><p><a name="POPPLER-FONT-TYPE-TYPE1COT:CAPS"></a><span class="term"><code class="literal">POPPLER_FONT_TYPE_TYPE1COT</code></span></p></td>
-<td>Type 1 font type embedded in OpenType font program
+<td class="function_type">
+<a class="link" href="PopplerDocument.html#PopplerPageLayout" title="enum PopplerPageLayout"><span class="returnvalue">PopplerPageLayout</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="PopplerDocument.html#poppler-document-get-page-layout" title="poppler_document_get_page_layout ()">poppler_document_get_page_layout</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><p><a name="POPPLER-FONT-TYPE-TYPE3:CAPS"></a><span class="term"><code class="literal">POPPLER_FONT_TYPE_TYPE3</code></span></p></td>
-<td>A font type that is defined with PDF graphics operators
+<td class="function_type">
+<a class="link" href="PopplerDocument.html#PopplerPageMode" title="enum PopplerPageMode"><span class="returnvalue">PopplerPageMode</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="PopplerDocument.html#poppler-document-get-page-mode" title="poppler_document_get_page_mode ()">poppler_document_get_page_mode</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><p><a name="POPPLER-FONT-TYPE-TRUETYPE:CAPS"></a><span class="term"><code class="literal">POPPLER_FONT_TYPE_TRUETYPE</code></span></p></td>
-<td>TrueType font type
+<td class="function_type">
+<a class="link" href="PopplerDocument.html#PopplerPermissions" title="enum PopplerPermissions"><span class="returnvalue">PopplerPermissions</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="PopplerDocument.html#poppler-document-get-permissions" title="poppler_document_get_permissions ()">poppler_document_get_permissions</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><p><a name="POPPLER-FONT-TYPE-TRUETYPEOT:CAPS"></a><span class="term"><code class="literal">POPPLER_FONT_TYPE_TRUETYPEOT</code></span></p></td>
-<td>TrueType font type embedded in OpenType font program
+<td class="function_type">
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="PopplerDocument.html#poppler-document-get-metadata" title="poppler_document_get_metadata ()">poppler_document_get_metadata</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><p><a name="POPPLER-FONT-TYPE-CID-TYPE0:CAPS"></a><span class="term"><code class="literal">POPPLER_FONT_TYPE_CID_TYPE0</code></span></p></td>
-<td>CIDFont type based on Type 1 font technology
+<td class="function_type">
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="PopplerDocument.html#poppler-document-is-linearized" title="poppler_document_is_linearized ()">poppler_document_is_linearized</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><p><a name="POPPLER-FONT-TYPE-CID-TYPE0C:CAPS"></a><span class="term"><code class="literal">POPPLER_FONT_TYPE_CID_TYPE0C</code></span></p></td>
-<td>CIDFont type based on Type 1 font technology embedded in CFF font program
+<td class="function_type">
+<span class="returnvalue">int</span>
+</td>
+<td class="function_name">
+<a class="link" href="PopplerDocument.html#poppler-document-get-n-pages" title="poppler_document_get_n_pages ()">poppler_document_get_n_pages</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><p><a name="POPPLER-FONT-TYPE-CID-TYPE0COT:CAPS"></a><span class="term"><code class="literal">POPPLER_FONT_TYPE_CID_TYPE0COT</code></span></p></td>
-<td>CIDFont type based on Type 1 font technology embedded in OpenType font program
+<td class="function_type">
+<a class="link" href="PopplerPage.html" title="PopplerPage"><span class="returnvalue">PopplerPage</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="PopplerDocument.html#poppler-document-get-page" title="poppler_document_get_page ()">poppler_document_get_page</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><p><a name="POPPLER-FONT-TYPE-CID-TYPE2:CAPS"></a><span class="term"><code class="literal">POPPLER_FONT_TYPE_CID_TYPE2</code></span></p></td>
-<td>CIDFont type based on TrueType font technology
+<td class="function_type">
+<a class="link" href="PopplerPage.html" title="PopplerPage"><span class="returnvalue">PopplerPage</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="PopplerDocument.html#poppler-document-get-page-by-label" title="poppler_document_get_page_by_label ()">poppler_document_get_page_by_label</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><p><a name="POPPLER-FONT-TYPE-CID-TYPE2OT:CAPS"></a><span class="term"><code class="literal">POPPLER_FONT_TYPE_CID_TYPE2OT</code></span></p></td>
-<td>CIDFont type based on TrueType font technology embedded in OpenType font program
+<td class="function_type">
+<a class="link" href="poppler-PopplerAction.html#PopplerDest" title="PopplerDest"><span class="returnvalue">PopplerDest</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="PopplerDocument.html#poppler-document-find-dest" title="poppler_document_find_dest ()">poppler_document_find_dest</a> <span class="c_punctuation">()</span>
</td>
</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2">
-<a name="PopplerPSFile"></a><h3>PopplerPSFile</h3>
-<pre class="programlisting">typedef struct {
-} PopplerPSFile;
-</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="PopplerViewerPreferences"></a><h3>enum PopplerViewerPreferences</h3>
-<pre class="programlisting">typedef enum {
- POPPLER_VIEWER_PREFERENCES_UNSET = 0,
- POPPLER_VIEWER_PREFERENCES_HIDE_TOOLBAR = 1 &lt;&lt; 0,
- POPPLER_VIEWER_PREFERENCES_HIDE_MENUBAR = 1 &lt;&lt; 1,
- POPPLER_VIEWER_PREFERENCES_HIDE_WINDOWUI = 1 &lt;&lt; 2,
- POPPLER_VIEWER_PREFERENCES_FIT_WINDOW = 1 &lt;&lt; 3,
- POPPLER_VIEWER_PREFERENCES_CENTER_WINDOW = 1 &lt;&lt; 4,
- POPPLER_VIEWER_PREFERENCES_DISPLAY_DOC_TITLE = 1 &lt;&lt; 5,
- POPPLER_VIEWER_PREFERENCES_DIRECTION_RTL = 1 &lt;&lt; 6
-} PopplerViewerPreferences;
-</pre>
-<p>
-Viewer preferences
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
-<colgroup>
-<col align="left" valign="top">
-<col>
-</colgroup>
-<tbody>
<tr>
-<td><p><a name="POPPLER-VIEWER-PREFERENCES-UNSET:CAPS"></a><span class="term"><code class="literal">POPPLER_VIEWER_PREFERENCES_UNSET</code></span></p></td>
-<td>no preferences set
+<td class="function_type">
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="PopplerDocument.html#poppler-document-get-n-attachments" title="poppler_document_get_n_attachments ()">poppler_document_get_n_attachments</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="PopplerDocument.html#poppler-document-has-attachments" title="poppler_document_has_attachments ()">poppler_document_has_attachments</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><p><a name="POPPLER-VIEWER-PREFERENCES-HIDE-TOOLBAR:CAPS"></a><span class="term"><code class="literal">POPPLER_VIEWER_PREFERENCES_HIDE_TOOLBAR</code></span></p></td>
-<td>hider toolbars when document is active
+<td class="function_type">
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="returnvalue">GList</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="PopplerDocument.html#poppler-document-get-attachments" title="poppler_document_get_attachments ()">poppler_document_get_attachments</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><p><a name="POPPLER-VIEWER-PREFERENCES-HIDE-MENUBAR:CAPS"></a><span class="term"><code class="literal">POPPLER_VIEWER_PREFERENCES_HIDE_MENUBAR</code></span></p></td>
-<td>hide menu bar when document is active
+<td class="function_type">
+<a class="link" href="PopplerFormField.html" title="PoppplerFormField"><span class="returnvalue">PopplerFormField</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="PopplerDocument.html#poppler-document-get-form-field" title="poppler_document_get_form_field ()">poppler_document_get_form_field</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><p><a name="POPPLER-VIEWER-PREFERENCES-HIDE-WINDOWUI:CAPS"></a><span class="term"><code class="literal">POPPLER_VIEWER_PREFERENCES_HIDE_WINDOWUI</code></span></p></td>
-<td>hide UI elements in document's window
+<td class="function_type">
+<a class="link" href="PopplerDocument.html#PopplerIndexIter" title="PopplerIndexIter"><span class="returnvalue">PopplerIndexIter</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="PopplerDocument.html#poppler-index-iter-new" title="poppler_index_iter_new ()">poppler_index_iter_new</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><p><a name="POPPLER-VIEWER-PREFERENCES-FIT-WINDOW:CAPS"></a><span class="term"><code class="literal">POPPLER_VIEWER_PREFERENCES_FIT_WINDOW</code></span></p></td>
-<td>resize document's window to fit the size of the first displayed page
+<td class="function_type">
+<a class="link" href="PopplerDocument.html#PopplerIndexIter" title="PopplerIndexIter"><span class="returnvalue">PopplerIndexIter</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="PopplerDocument.html#poppler-index-iter-copy" title="poppler_index_iter_copy ()">poppler_index_iter_copy</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><p><a name="POPPLER-VIEWER-PREFERENCES-CENTER-WINDOW:CAPS"></a><span class="term"><code class="literal">POPPLER_VIEWER_PREFERENCES_CENTER_WINDOW</code></span></p></td>
-<td>position the document's window in the center of the screen
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="PopplerDocument.html#poppler-index-iter-free" title="poppler_index_iter_free ()">poppler_index_iter_free</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><p><a name="POPPLER-VIEWER-PREFERENCES-DISPLAY-DOC-TITLE:CAPS"></a><span class="term"><code class="literal">POPPLER_VIEWER_PREFERENCES_DISPLAY_DOC_TITLE</code></span></p></td>
-<td>display document title in window's title bar
+<td class="function_type">
+<a class="link" href="PopplerDocument.html#PopplerIndexIter" title="PopplerIndexIter"><span class="returnvalue">PopplerIndexIter</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="PopplerDocument.html#poppler-index-iter-get-child" title="poppler_index_iter_get_child ()">poppler_index_iter_get_child</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><p><a name="POPPLER-VIEWER-PREFERENCES-DIRECTION-RTL:CAPS"></a><span class="term"><code class="literal">POPPLER_VIEWER_PREFERENCES_DIRECTION_RTL</code></span></p></td>
-<td>the predominant reading order for text is right to left
+<td class="function_type">
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="PopplerDocument.html#poppler-index-iter-is-open" title="poppler_index_iter_is_open ()">poppler_index_iter_is_open</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="poppler-PopplerAction.html#PopplerAction" title="union PopplerAction"><span class="returnvalue">PopplerAction</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="PopplerDocument.html#poppler-index-iter-get-action" title="poppler_index_iter_get_action ()">poppler_index_iter_get_action</a> <span class="c_punctuation">()</span>
</td>
</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2">
-<a name="PopplerPermissions"></a><h3>enum PopplerPermissions</h3>
-<pre class="programlisting">typedef enum {
- POPPLER_PERMISSIONS_OK_TO_PRINT = 1 &lt;&lt; 0,
- POPPLER_PERMISSIONS_OK_TO_MODIFY = 1 &lt;&lt; 1,
- POPPLER_PERMISSIONS_OK_TO_COPY = 1 &lt;&lt; 2,
- POPPLER_PERMISSIONS_OK_TO_ADD_NOTES = 1 &lt;&lt; 3,
- POPPLER_PERMISSIONS_OK_TO_FILL_FORM = 1 &lt;&lt; 4,
- POPPLER_PERMISSIONS_OK_TO_EXTRACT_CONTENTS = 1 &lt;&lt; 5,
- POPPLER_PERMISSIONS_OK_TO_ASSEMBLE = 1 &lt;&lt; 6,
- POPPLER_PERMISSIONS_OK_TO_PRINT_HIGH_RESOLUTION = 1 &lt;&lt; 7,
- POPPLER_PERMISSIONS_FULL = (POPPLER_PERMISSIONS_OK_TO_PRINT | POPPLER_PERMISSIONS_OK_TO_MODIFY | POPPLER_PERMISSIONS_OK_TO_COPY | POPPLER_PERMISSIONS_OK_TO_ADD_NOTES | POPPLER_PERMISSIONS_OK_TO_FILL_FORM | POPPLER_PERMISSIONS_OK_TO_EXTRACT_CONTENTS | POPPLER_PERMISSIONS_OK_TO_ASSEMBLE | POPPLER_PERMISSIONS_OK_TO_PRINT_HIGH_RESOLUTION)
-} PopplerPermissions;
-</pre>
-<p>
-Permissions
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
-<colgroup>
-<col align="left" valign="top">
-<col>
-</colgroup>
-<tbody>
<tr>
-<td><p><a name="POPPLER-PERMISSIONS-OK-TO-PRINT:CAPS"></a><span class="term"><code class="literal">POPPLER_PERMISSIONS_OK_TO_PRINT</code></span></p></td>
-<td>document can be printer
+<td class="function_type">
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="PopplerDocument.html#poppler-index-iter-next" title="poppler_index_iter_next ()">poppler_index_iter_next</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><p><a name="POPPLER-PERMISSIONS-OK-TO-MODIFY:CAPS"></a><span class="term"><code class="literal">POPPLER_PERMISSIONS_OK_TO_MODIFY</code></span></p></td>
-<td>document contents can be modified
+<td class="function_type">
+<a class="link" href="PopplerDocument.html#PopplerFontInfo" title="PopplerFontInfo"><span class="returnvalue">PopplerFontInfo</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="PopplerDocument.html#poppler-font-info-new" title="poppler_font_info_new ()">poppler_font_info_new</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><p><a name="POPPLER-PERMISSIONS-OK-TO-COPY:CAPS"></a><span class="term"><code class="literal">POPPLER_PERMISSIONS_OK_TO_COPY</code></span></p></td>
-<td>document can be copied
+<td class="function_type">
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="PopplerDocument.html#poppler-font-info-scan" title="poppler_font_info_scan ()">poppler_font_info_scan</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><p><a name="POPPLER-PERMISSIONS-OK-TO-ADD-NOTES:CAPS"></a><span class="term"><code class="literal">POPPLER_PERMISSIONS_OK_TO_ADD_NOTES</code></span></p></td>
-<td>annotations can added to the document
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="PopplerDocument.html#poppler-font-info-free" title="poppler_font_info_free ()">poppler_font_info_free</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><p><a name="POPPLER-PERMISSIONS-OK-TO-FILL-FORM:CAPS"></a><span class="term"><code class="literal">POPPLER_PERMISSIONS_OK_TO_FILL_FORM</code></span></p></td>
-<td>interactive form fields can be filled in
+<td class="function_type">
+<a class="link" href="PopplerDocument.html#PopplerFontsIter" title="PopplerFontsIter"><span class="returnvalue">PopplerFontsIter</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="PopplerDocument.html#poppler-fonts-iter-copy" title="poppler_fonts_iter_copy ()">poppler_fonts_iter_copy</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><p><a name="POPPLER-PERMISSIONS-OK-TO-EXTRACT-CONTENTS:CAPS"></a><span class="term"><code class="literal">POPPLER_PERMISSIONS_OK_TO_EXTRACT_CONTENTS</code></span></p></td>
-<td>extract text and graphics
-(in support of accessibility to users with disabilities or for other purposes). Since 0.18
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="PopplerDocument.html#poppler-fonts-iter-free" title="poppler_fonts_iter_free ()">poppler_fonts_iter_free</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><p><a name="POPPLER-PERMISSIONS-OK-TO-ASSEMBLE:CAPS"></a><span class="term"><code class="literal">POPPLER_PERMISSIONS_OK_TO_ASSEMBLE</code></span></p></td>
-<td>assemble the document (insert, rotate, or delete pages and create
-bookmarks or thumbnail images). Since 0.18
+<td class="function_type">const <span class="returnvalue">char</span> *
+</td>
+<td class="function_name">
+<a class="link" href="PopplerDocument.html#poppler-fonts-iter-get-name" title="poppler_fonts_iter_get_name ()">poppler_fonts_iter_get_name</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><p><a name="POPPLER-PERMISSIONS-OK-TO-PRINT-HIGH-RESOLUTION:CAPS"></a><span class="term"><code class="literal">POPPLER_PERMISSIONS_OK_TO_PRINT_HIGH_RESOLUTION</code></span></p></td>
-<td>document can be printer at high resolution. Since 0.18
+<td class="function_type">const <span class="returnvalue">char</span> *
+</td>
+<td class="function_name">
+<a class="link" href="PopplerDocument.html#poppler-fonts-iter-get-full-name" title="poppler_fonts_iter_get_full_name ()">poppler_fonts_iter_get_full_name</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><p><a name="POPPLER-PERMISSIONS-FULL:CAPS"></a><span class="term"><code class="literal">POPPLER_PERMISSIONS_FULL</code></span></p></td>
-<td>document permits all operations
+<td class="function_type">
+<a class="link" href="PopplerDocument.html#PopplerFontType" title="enum PopplerFontType"><span class="returnvalue">PopplerFontType</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="PopplerDocument.html#poppler-fonts-iter-get-font-type" title="poppler_fonts_iter_get_font_type ()">poppler_fonts_iter_get_font_type</a> <span class="c_punctuation">()</span>
</td>
</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2">
-<a name="poppler-document-new-from-file"></a><h3>poppler_document_new_from_file ()</h3>
-<pre class="programlisting"><a class="link" href="PopplerDocument.html" title="PopplerDocument"><span class="returnvalue">PopplerDocument</span></a> * poppler_document_new_from_file (<em class="parameter"><code>const <span class="type">char</span> *uri</code></em>,
- <em class="parameter"><code>const <span class="type">char</span> *password</code></em>,
- <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
-<p>
-Creates a new <a class="link" href="PopplerDocument.html" title="PopplerDocument"><span class="type">PopplerDocument</span></a>. If <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> is returned, then <em class="parameter"><code>error</code></em> will be
-set. Possible errors include those in the <a class="link" href="poppler-poppler.html#POPPLER-ERROR:CAPS" title="POPPLER_ERROR"><span class="type">POPPLER_ERROR</span></a> and <a href="http://library.gnome.org/devel/glib/unstable/glib-File-Utilities.html#G-FILE-ERROR:CAPS"><span class="type">G_FILE_ERROR</span></a>
-domains.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
-<colgroup>
-<col align="left" valign="top">
-<col>
-</colgroup>
-<tbody>
<tr>
-<td><p><span class="term"><em class="parameter"><code>uri</code></em> :</span></p></td>
-<td>uri of the file to load</td>
+<td class="function_type">const <span class="returnvalue">char</span> *
+</td>
+<td class="function_name">
+<a class="link" href="PopplerDocument.html#poppler-fonts-iter-get-substitute-name" title="poppler_fonts_iter_get_substitute_name ()">poppler_fonts_iter_get_substitute_name</a> <span class="c_punctuation">()</span>
+</td>
</tr>
<tr>
-<td><p><span class="term"><em class="parameter"><code>password</code></em> :</span></p></td>
-<td>password to unlock the file with, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. <span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
+<td class="function_type">const <span class="returnvalue">char</span> *
+</td>
+<td class="function_name">
+<a class="link" href="PopplerDocument.html#poppler-fonts-iter-get-file-name" title="poppler_fonts_iter_get_file_name ()">poppler_fonts_iter_get_file_name</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><p><span class="term"><em class="parameter"><code>error</code></em> :</span></p></td>
-<td>Return location for an error, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. <span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
+<td class="function_type">const <span class="returnvalue">char</span> *
+</td>
+<td class="function_name">
+<a class="link" href="PopplerDocument.html#poppler-fonts-iter-get-encoding" title="poppler_fonts_iter_get_encoding ()">poppler_fonts_iter_get_encoding</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>A newly created <a class="link" href="PopplerDocument.html" title="PopplerDocument"><span class="type">PopplerDocument</span></a>, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>
+<td class="function_type">
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="PopplerDocument.html#poppler-fonts-iter-is-embedded" title="poppler_fonts_iter_is_embedded ()">poppler_fonts_iter_is_embedded</a> <span class="c_punctuation">()</span>
</td>
</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2">
-<a name="poppler-document-new-from-data"></a><h3>poppler_document_new_from_data ()</h3>
-<pre class="programlisting"><a class="link" href="PopplerDocument.html" title="PopplerDocument"><span class="returnvalue">PopplerDocument</span></a> * poppler_document_new_from_data (<em class="parameter"><code><span class="type">char</span> *data</code></em>,
- <em class="parameter"><code><span class="type">int</span> length</code></em>,
- <em class="parameter"><code>const <span class="type">char</span> *password</code></em>,
- <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
-<p>
-Creates a new <a class="link" href="PopplerDocument.html" title="PopplerDocument"><span class="type">PopplerDocument</span></a>. If <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> is returned, then <em class="parameter"><code>error</code></em> will be
-set. Possible errors include those in the <a class="link" href="poppler-poppler.html#POPPLER-ERROR:CAPS" title="POPPLER_ERROR"><span class="type">POPPLER_ERROR</span></a> and <a href="http://library.gnome.org/devel/glib/unstable/glib-File-Utilities.html#G-FILE-ERROR:CAPS"><span class="type">G_FILE_ERROR</span></a>
-domains.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
-<colgroup>
-<col align="left" valign="top">
-<col>
-</colgroup>
-<tbody>
<tr>
-<td><p><span class="term"><em class="parameter"><code>data</code></em> :</span></p></td>
-<td>the pdf data contained in a char array</td>
+<td class="function_type">
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="PopplerDocument.html#poppler-fonts-iter-is-subset" title="poppler_fonts_iter_is_subset ()">poppler_fonts_iter_is_subset</a> <span class="c_punctuation">()</span>
+</td>
</tr>
<tr>
-<td><p><span class="term"><em class="parameter"><code>length</code></em> :</span></p></td>
-<td>the length of <span class="type">data</span>
+<td class="function_type">
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="PopplerDocument.html#poppler-fonts-iter-next" title="poppler_fonts_iter_next ()">poppler_fonts_iter_next</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><p><span class="term"><em class="parameter"><code>password</code></em> :</span></p></td>
-<td>password to unlock the file with, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. <span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
+<td class="function_type">
+<a class="link" href="PopplerDocument.html#PopplerLayersIter" title="PopplerLayersIter"><span class="returnvalue">PopplerLayersIter</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="PopplerDocument.html#poppler-layers-iter-new" title="poppler_layers_iter_new ()">poppler_layers_iter_new</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><p><span class="term"><em class="parameter"><code>error</code></em> :</span></p></td>
-<td>Return location for an error, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. <span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
+<td class="function_type">
+<a class="link" href="PopplerDocument.html#PopplerLayersIter" title="PopplerLayersIter"><span class="returnvalue">PopplerLayersIter</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="PopplerDocument.html#poppler-layers-iter-copy" title="poppler_layers_iter_copy ()">poppler_layers_iter_copy</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>A newly created <a class="link" href="PopplerDocument.html" title="PopplerDocument"><span class="type">PopplerDocument</span></a>, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="PopplerDocument.html#poppler-layers-iter-free" title="poppler_layers_iter_free ()">poppler_layers_iter_free</a> <span class="c_punctuation">()</span>
</td>
</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2">
-<a name="poppler-document-new-from-stream"></a><h3>poppler_document_new_from_stream ()</h3>
-<pre class="programlisting"><a class="link" href="PopplerDocument.html" title="PopplerDocument"><span class="returnvalue">PopplerDocument</span></a> * poppler_document_new_from_stream (<em class="parameter"><code><a href="http://library.gnome.org/devel/gio/unstable/GInputStream.html"><span class="type">GInputStream</span></a> *stream</code></em>,
- <em class="parameter"><code><span class="type">goffset</span> length</code></em>,
- <em class="parameter"><code>const <span class="type">char</span> *password</code></em>,
- <em class="parameter"><code><a href="http://library.gnome.org/devel/gio/unstable/GCancellable.html"><span class="type">GCancellable</span></a> *cancellable</code></em>,
- <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
-<p>
-Creates a new <a class="link" href="PopplerDocument.html" title="PopplerDocument"><span class="type">PopplerDocument</span></a> reading the PDF contents from <em class="parameter"><code>stream</code></em>.
-Note that the given <a href="http://library.gnome.org/devel/gio/unstable/GInputStream.html"><span class="type">GInputStream</span></a> must be seekable or <a href="http://library.gnome.org/devel/gio/unstable/gio-GIOError.html#G-IO-ERROR-NOT-SUPPORTED:CAPS"><code class="literal">G_IO_ERROR_NOT_SUPPORTED</code></a>
-will be returned.
-Possible errors include those in the <a class="link" href="poppler-poppler.html#POPPLER-ERROR:CAPS" title="POPPLER_ERROR"><span class="type">POPPLER_ERROR</span></a> and <a href="http://library.gnome.org/devel/glib/unstable/glib-File-Utilities.html#G-FILE-ERROR:CAPS"><span class="type">G_FILE_ERROR</span></a>
-domains.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
-<colgroup>
-<col align="left" valign="top">
-<col>
-</colgroup>
-<tbody>
<tr>
-<td><p><span class="term"><em class="parameter"><code>stream</code></em> :</span></p></td>
-<td>a <a href="http://library.gnome.org/devel/gio/unstable/GInputStream.html"><span class="type">GInputStream</span></a> to read from</td>
+<td class="function_type">
+<a class="link" href="PopplerDocument.html#PopplerLayersIter" title="PopplerLayersIter"><span class="returnvalue">PopplerLayersIter</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="PopplerDocument.html#poppler-layers-iter-get-child" title="poppler_layers_iter_get_child ()">poppler_layers_iter_get_child</a> <span class="c_punctuation">()</span>
+</td>
</tr>
<tr>
-<td><p><span class="term"><em class="parameter"><code>length</code></em> :</span></p></td>
-<td>the stream length, or -1 if not known</td>
+<td class="function_type">
+<a class="link" href="PopplerLayer.html" title="PopplerLayer"><span class="returnvalue">PopplerLayer</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="PopplerDocument.html#poppler-layers-iter-get-layer" title="poppler_layers_iter_get_layer ()">poppler_layers_iter_get_layer</a> <span class="c_punctuation">()</span>
+</td>
</tr>
<tr>
-<td><p><span class="term"><em class="parameter"><code>password</code></em> :</span></p></td>
-<td>password to unlock the file with, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. <span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
+<td class="function_type">
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="PopplerDocument.html#poppler-layers-iter-get-title" title="poppler_layers_iter_get_title ()">poppler_layers_iter_get_title</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><p><span class="term"><em class="parameter"><code>cancellable</code></em> :</span></p></td>
-<td>a <a href="http://library.gnome.org/devel/gio/unstable/GCancellable.html"><span class="type">GCancellable</span></a>, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. <span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
+<td class="function_type">
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="PopplerDocument.html#poppler-layers-iter-next" title="poppler_layers_iter_next ()">poppler_layers_iter_next</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><p><span class="term"><em class="parameter"><code>error</code></em> :</span></p></td>
-<td>Return location for an error, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. <span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
+<td class="function_type">
+<a class="link" href="PopplerDocument.html#PopplerPSFile" title="PopplerPSFile"><span class="returnvalue">PopplerPSFile</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="PopplerDocument.html#poppler-ps-file-new" title="poppler_ps_file_new ()">poppler_ps_file_new</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="PopplerDocument.html#poppler-ps-file-free" title="poppler_ps_file_free ()">poppler_ps_file_free</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="PopplerDocument.html#poppler-ps-file-set-paper-size" title="poppler_ps_file_set_paper_size ()">poppler_ps_file_set_paper_size</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>a new <a class="link" href="PopplerDocument.html" title="PopplerDocument"><span class="type">PopplerDocument</span></a>, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="PopplerDocument.html#poppler-ps-file-set-duplex" title="poppler_ps_file_set_duplex ()">poppler_ps_file_set_duplex</a> <span class="c_punctuation">()</span>
</td>
</tr>
</tbody>
</table></div>
-<p class="since">Since 0.22</p>
</div>
-<hr>
-<div class="refsect2">
-<a name="poppler-document-new-from-gfile"></a><h3>poppler_document_new_from_gfile ()</h3>
-<pre class="programlisting"><a class="link" href="PopplerDocument.html" title="PopplerDocument"><span class="returnvalue">PopplerDocument</span></a> * poppler_document_new_from_gfile (<em class="parameter"><code><a href="http://library.gnome.org/devel/gio/unstable/GFile.html"><span class="type">GFile</span></a> *file</code></em>,
- <em class="parameter"><code>const <span class="type">char</span> *password</code></em>,
- <em class="parameter"><code><a href="http://library.gnome.org/devel/gio/unstable/GCancellable.html"><span class="type">GCancellable</span></a> *cancellable</code></em>,
- <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
-<p>
-Creates a new <a class="link" href="PopplerDocument.html" title="PopplerDocument"><span class="type">PopplerDocument</span></a> reading the PDF contents from <em class="parameter"><code>file</code></em>.
-Possible errors include those in the <a class="link" href="poppler-poppler.html#POPPLER-ERROR:CAPS" title="POPPLER_ERROR"><span class="type">POPPLER_ERROR</span></a> and <a href="http://library.gnome.org/devel/glib/unstable/glib-File-Utilities.html#G-FILE-ERROR:CAPS"><span class="type">G_FILE_ERROR</span></a>
-domains.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<div class="refsect1">
+<a name="PopplerDocument.properties"></a><h2>Properties</h2>
+<div class="informaltable"><table border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="properties_type">
+<col width="300px" class="properties_name">
+<col width="200px" class="properties_flags">
</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><em class="parameter"><code>file</code></em> :</span></p></td>
-<td>a <a href="http://library.gnome.org/devel/gio/unstable/GFile.html"><span class="type">GFile</span></a> to load</td>
+<td class="property_type">
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *</td>
+<td class="property_name"><a class="link" href="PopplerDocument.html#PopplerDocument--author" title="The “author†property">author</a></td>
+<td class="property_flags">Read</td>
</tr>
<tr>
-<td><p><span class="term"><em class="parameter"><code>password</code></em> :</span></p></td>
-<td>password to unlock the file with, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. <span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
-</td>
+<td class="property_type"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a></td>
+<td class="property_name"><a class="link" href="PopplerDocument.html#PopplerDocument--creation-date" title="The “creation-date†property">creation-date</a></td>
+<td class="property_flags">Read</td>
</tr>
<tr>
-<td><p><span class="term"><em class="parameter"><code>cancellable</code></em> :</span></p></td>
-<td>a <a href="http://library.gnome.org/devel/gio/unstable/GCancellable.html"><span class="type">GCancellable</span></a>, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. <span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
-</td>
+<td class="property_type">
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *</td>
+<td class="property_name"><a class="link" href="PopplerDocument.html#PopplerDocument--creator" title="The “creator†property">creator</a></td>
+<td class="property_flags">Read</td>
</tr>
<tr>
-<td><p><span class="term"><em class="parameter"><code>error</code></em> :</span></p></td>
-<td>Return location for an error, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. <span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
-</td>
+<td class="property_type">
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *</td>
+<td class="property_name"><a class="link" href="PopplerDocument.html#PopplerDocument--format" title="The “format†property">format</a></td>
+<td class="property_flags">Read</td>
</tr>
<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>a new <a class="link" href="PopplerDocument.html" title="PopplerDocument"><span class="type">PopplerDocument</span></a>, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
-</td>
+<td class="property_type"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a></td>
+<td class="property_name"><a class="link" href="PopplerDocument.html#PopplerDocument--format-major" title="The “format-major†property">format-major</a></td>
+<td class="property_flags">Read</td>
+</tr>
+<tr>
+<td class="property_type"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a></td>
+<td class="property_name"><a class="link" href="PopplerDocument.html#PopplerDocument--format-minor" title="The “format-minor†property">format-minor</a></td>
+<td class="property_flags">Read</td>
+</tr>
+<tr>
+<td class="property_type">
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *</td>
+<td class="property_name"><a class="link" href="PopplerDocument.html#PopplerDocument--keywords" title="The “keywords†property">keywords</a></td>
+<td class="property_flags">Read</td>
+</tr>
+<tr>
+<td class="property_type"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a></td>
+<td class="property_name"><a class="link" href="PopplerDocument.html#PopplerDocument--linearized" title="The “linearized†property">linearized</a></td>
+<td class="property_flags">Read</td>
+</tr>
+<tr>
+<td class="property_type">
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *</td>
+<td class="property_name"><a class="link" href="PopplerDocument.html#PopplerDocument--metadata" title="The “metadata†property">metadata</a></td>
+<td class="property_flags">Read</td>
+</tr>
+<tr>
+<td class="property_type"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a></td>
+<td class="property_name"><a class="link" href="PopplerDocument.html#PopplerDocument--mod-date" title="The “mod-date†property">mod-date</a></td>
+<td class="property_flags">Read</td>
+</tr>
+<tr>
+<td class="property_type"><a class="link" href="PopplerDocument.html#PopplerPageLayout" title="enum PopplerPageLayout"><span class="type">PopplerPageLayout</span></a></td>
+<td class="property_name"><a class="link" href="PopplerDocument.html#PopplerDocument--page-layout" title="The “page-layout†property">page-layout</a></td>
+<td class="property_flags">Read</td>
+</tr>
+<tr>
+<td class="property_type"><a class="link" href="PopplerDocument.html#PopplerPageMode" title="enum PopplerPageMode"><span class="type">PopplerPageMode</span></a></td>
+<td class="property_name"><a class="link" href="PopplerDocument.html#PopplerDocument--page-mode" title="The “page-mode†property">page-mode</a></td>
+<td class="property_flags">Read</td>
+</tr>
+<tr>
+<td class="property_type"><a class="link" href="PopplerDocument.html#PopplerPermissions" title="enum PopplerPermissions"><span class="type">PopplerPermissions</span></a></td>
+<td class="property_name"><a class="link" href="PopplerDocument.html#PopplerDocument--permissions" title="The “permissions†property">permissions</a></td>
+<td class="property_flags">Read</td>
+</tr>
+<tr>
+<td class="property_type">
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *</td>
+<td class="property_name"><a class="link" href="PopplerDocument.html#PopplerDocument--producer" title="The “producer†property">producer</a></td>
+<td class="property_flags">Read</td>
+</tr>
+<tr>
+<td class="property_type">
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *</td>
+<td class="property_name"><a class="link" href="PopplerDocument.html#PopplerDocument--subject" title="The “subject†property">subject</a></td>
+<td class="property_flags">Read</td>
+</tr>
+<tr>
+<td class="property_type">
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *</td>
+<td class="property_name"><a class="link" href="PopplerDocument.html#PopplerDocument--title" title="The “title†property">title</a></td>
+<td class="property_flags">Read</td>
+</tr>
+<tr>
+<td class="property_type"><a class="link" href="PopplerDocument.html#PopplerViewerPreferences" title="enum PopplerViewerPreferences"><span class="type">PopplerViewerPreferences</span></a></td>
+<td class="property_name"><a class="link" href="PopplerDocument.html#PopplerDocument--viewer-preferences" title="The “viewer-preferences†property">viewer-preferences</a></td>
+<td class="property_flags">Read</td>
</tr>
</tbody>
</table></div>
-<p class="since">Since 0.22</p>
</div>
-<hr>
-<div class="refsect2">
-<a name="poppler-document-save"></a><h3>poppler_document_save ()</h3>
-<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> poppler_document_save (<em class="parameter"><code><a class="link" href="PopplerDocument.html" title="PopplerDocument"><span class="type">PopplerDocument</span></a> *document</code></em>,
- <em class="parameter"><code>const <span class="type">char</span> *uri</code></em>,
- <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
-<p>
-Saves <em class="parameter"><code>document</code></em>. Any change made in the document such as
-form fields filled, annotations added or modified
-will be saved.
-If <em class="parameter"><code>error</code></em> is set, <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> will be returned. Possible errors
-include those in the <a href="http://library.gnome.org/devel/glib/unstable/glib-File-Utilities.html#G-FILE-ERROR:CAPS"><span class="type">G_FILE_ERROR</span></a> domain.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<div class="refsect1">
+<a name="PopplerDocument.other"></a><h2>Types and Values</h2>
+<div class="informaltable"><table width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="name">
+<col class="description">
</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><em class="parameter"><code>document</code></em> :</span></p></td>
-<td>a <a class="link" href="PopplerDocument.html" title="PopplerDocument"><span class="type">PopplerDocument</span></a>
-</td>
+<td class="datatype_keyword"> </td>
+<td class="function_name"><a class="link" href="PopplerDocument.html#PopplerDocument-struct" title="PopplerDocument">PopplerDocument</a></td>
</tr>
<tr>
-<td><p><span class="term"><em class="parameter"><code>uri</code></em> :</span></p></td>
-<td>uri of file to save</td>
+<td class="datatype_keyword"> </td>
+<td class="function_name"><a class="link" href="PopplerDocument.html#PopplerIndexIter" title="PopplerIndexIter">PopplerIndexIter</a></td>
</tr>
<tr>
-<td><p><span class="term"><em class="parameter"><code>error</code></em> :</span></p></td>
-<td>return location for an error, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. <span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
-</td>
+<td class="datatype_keyword"> </td>
+<td class="function_name"><a class="link" href="PopplerDocument.html#PopplerFontsIter" title="PopplerFontsIter">PopplerFontsIter</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword"> </td>
+<td class="function_name"><a class="link" href="PopplerDocument.html#PopplerLayersIter" title="PopplerLayersIter">PopplerLayersIter</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword">enum</td>
+<td class="function_name"><a class="link" href="PopplerDocument.html#PopplerPageLayout" title="enum PopplerPageLayout">PopplerPageLayout</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword">enum</td>
+<td class="function_name"><a class="link" href="PopplerDocument.html#PopplerPageMode" title="enum PopplerPageMode">PopplerPageMode</a></td>
</tr>
<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>, if the document was successfully saved</td>
+<td class="datatype_keyword"> </td>
+<td class="function_name"><a class="link" href="PopplerDocument.html#PopplerFontInfo" title="PopplerFontInfo">PopplerFontInfo</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword">enum</td>
+<td class="function_name"><a class="link" href="PopplerDocument.html#PopplerFontType" title="enum PopplerFontType">PopplerFontType</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword"> </td>
+<td class="function_name"><a class="link" href="PopplerDocument.html#PopplerPSFile" title="PopplerPSFile">PopplerPSFile</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword">enum</td>
+<td class="function_name"><a class="link" href="PopplerDocument.html#PopplerViewerPreferences" title="enum PopplerViewerPreferences">PopplerViewerPreferences</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword">enum</td>
+<td class="function_name"><a class="link" href="PopplerDocument.html#PopplerPermissions" title="enum PopplerPermissions">PopplerPermissions</a></td>
</tr>
</tbody>
</table></div>
</div>
-<hr>
-<div class="refsect2">
-<a name="poppler-document-save-a-copy"></a><h3>poppler_document_save_a_copy ()</h3>
-<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> poppler_document_save_a_copy (<em class="parameter"><code><a class="link" href="PopplerDocument.html" title="PopplerDocument"><span class="type">PopplerDocument</span></a> *document</code></em>,
- <em class="parameter"><code>const <span class="type">char</span> *uri</code></em>,
- <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
-<p>
-Saves a copy of the original <em class="parameter"><code>document</code></em>.
-Any change made in the document such as
-form fields filled by the user will not be saved.
-If <em class="parameter"><code>error</code></em> is set, <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> will be returned. Possible errors
-include those in the <a href="http://library.gnome.org/devel/glib/unstable/glib-File-Utilities.html#G-FILE-ERROR:CAPS"><span class="type">G_FILE_ERROR</span></a> domain.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<div class="refsect1">
+<a name="PopplerDocument.object-hierarchy"></a><h2>Object Hierarchy</h2>
+<pre class="screen"> <a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObject">GObject</a>
+ <span class="lineart">╰──</span> PopplerDocument
+</pre>
+</div>
+<div class="refsect1">
+<a name="PopplerDocument.includes"></a><h2>Includes</h2>
+<pre class="synopsis">#include &lt;poppler.h&gt;
+</pre>
+</div>
+<div class="refsect1">
+<a name="PopplerDocument.description"></a><h2>Description</h2>
+<p>The <a class="link" href="PopplerDocument.html" title="PopplerDocument"><span class="type">PopplerDocument</span></a> is an object used to refer to a main document.</p>
+</div>
+<div class="refsect1">
+<a name="PopplerDocument.functions_details"></a><h2>Functions</h2>
+<div class="refsect2">
+<a name="poppler-document-new-from-file"></a><h3>poppler_document_new_from_file ()</h3>
+<pre class="programlisting"><a class="link" href="PopplerDocument.html" title="PopplerDocument"><span class="returnvalue">PopplerDocument</span></a> *
+poppler_document_new_from_file (<em class="parameter"><code>const <span class="type">char</span> *uri</code></em>,
+ <em class="parameter"><code>const <span class="type">char</span> *password</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Creates a new <a class="link" href="PopplerDocument.html" title="PopplerDocument"><span class="type">PopplerDocument</span></a>. If <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> is returned, then <em class="parameter"><code>error</code></em>
+ will be
+set. Possible errors include those in the <a class="link" href="poppler-poppler.html#POPPLER-ERROR:CAPS" title="POPPLER_ERROR"><span class="type">POPPLER_ERROR</span></a> and <a href="http://library.gnome.org/devel/glib/unstable/glib-File-Utilities.html#G-FILE-ERROR:CAPS"><span class="type">G_FILE_ERROR</span></a>
+domains.</p>
+<div class="refsect3">
+<a name="id-1.2.3.9.2.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><em class="parameter"><code>document</code></em> :</span></p></td>
-<td>a <a class="link" href="PopplerDocument.html" title="PopplerDocument"><span class="type">PopplerDocument</span></a>
-</td>
+<td class="parameter_name"><p>uri</p></td>
+<td class="parameter_description"><p>uri of the file to load</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><em class="parameter"><code>uri</code></em> :</span></p></td>
-<td>uri of file to save</td>
+<td class="parameter_name"><p>password</p></td>
+<td class="parameter_description"><p> password to unlock the file with, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
<tr>
-<td><p><span class="term"><em class="parameter"><code>error</code></em> :</span></p></td>
-<td>return location for an error, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. <span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>, if the document was successfully saved</td>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p> Return location for an error, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
</tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="id-1.2.3.9.2.6"></a><h4>Returns</h4>
+<p> A newly created <a class="link" href="PopplerDocument.html" title="PopplerDocument"><span class="type">PopplerDocument</span></a>, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a></p>
+<p></p>
+</div>
+</div>
<hr>
<div class="refsect2">
-<a name="poppler-document-get-id"></a><h3>poppler_document_get_id ()</h3>
-<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> poppler_document_get_id (<em class="parameter"><code><a class="link" href="PopplerDocument.html" title="PopplerDocument"><span class="type">PopplerDocument</span></a> *document</code></em>,
- <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> **permanent_id</code></em>,
- <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> **update_id</code></em>);</pre>
-<p>
-Returns the PDF file identifier represented as two byte string arrays of size 32.
-<em class="parameter"><code>permanent_id</code></em> is the permanent identifier that is built based on the file
-contents at the time it was originally created, so that this identifer
-never changes. <em class="parameter"><code>update_id</code></em> is the update identifier that is built based on
-the file contents at the time it was last updated.
-</p>
-<p>
-Note that returned strings are not null-terminated, they have a fixed
-size of 32 bytes.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="poppler-document-new-from-data"></a><h3>poppler_document_new_from_data ()</h3>
+<pre class="programlisting"><a class="link" href="PopplerDocument.html" title="PopplerDocument"><span class="returnvalue">PopplerDocument</span></a> *
+poppler_document_new_from_data (<em class="parameter"><code><span class="type">char</span> *data</code></em>,
+ <em class="parameter"><code><span class="type">int</span> length</code></em>,
+ <em class="parameter"><code>const <span class="type">char</span> *password</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Creates a new <a class="link" href="PopplerDocument.html" title="PopplerDocument"><span class="type">PopplerDocument</span></a>. If <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> is returned, then <em class="parameter"><code>error</code></em>
+ will be
+set. Possible errors include those in the <a class="link" href="poppler-poppler.html#POPPLER-ERROR:CAPS" title="POPPLER_ERROR"><span class="type">POPPLER_ERROR</span></a> and <a href="http://library.gnome.org/devel/glib/unstable/glib-File-Utilities.html#G-FILE-ERROR:CAPS"><span class="type">G_FILE_ERROR</span></a>
+domains.</p>
+<div class="refsect3">
+<a name="id-1.2.3.9.3.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><em class="parameter"><code>document</code></em> :</span></p></td>
-<td>A <a class="link" href="PopplerDocument.html" title="PopplerDocument"><span class="type">PopplerDocument</span></a>
-</td>
+<td class="parameter_name"><p>data</p></td>
+<td class="parameter_description"><p>the pdf data contained in a char array</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><em class="parameter"><code>permanent_id</code></em> :</span></p></td>
-<td>location to store an allocated string, use <a href="http://library.gnome.org/devel/glib/unstable/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a> to free the returned string. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
-</td>
+<td class="parameter_name"><p>length</p></td>
+<td class="parameter_description"><p>the length of <span class="type">data</span></p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><em class="parameter"><code>update_id</code></em> :</span></p></td>
-<td>location to store an allocated string, use <a href="http://library.gnome.org/devel/glib/unstable/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a> to free the returned string. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
-</td>
+<td class="parameter_name"><p>password</p></td>
+<td class="parameter_description"><p> password to unlock the file with, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the <em class="parameter"><code>document</code></em> contains an id, <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise</td>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p> Return location for an error, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
</tbody>
</table></div>
-<p class="since">Since 0.16</p>
+</div>
+<div class="refsect3">
+<a name="id-1.2.3.9.3.6"></a><h4>Returns</h4>
+<p> A newly created <a class="link" href="PopplerDocument.html" title="PopplerDocument"><span class="type">PopplerDocument</span></a>, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a></p>
+<p></p>
+</div>
</div>
<hr>
<div class="refsect2">
-<a name="poppler-document-get-pdf-version-string"></a><h3>poppler_document_get_pdf_version_string ()</h3>
-<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> * poppler_document_get_pdf_version_string
- (<em class="parameter"><code><a class="link" href="PopplerDocument.html" title="PopplerDocument"><span class="type">PopplerDocument</span></a> *document</code></em>);</pre>
-<p>
-Returns the PDF version of <em class="parameter"><code>document</code></em> as a string (e.g. PDF-1.6)
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="poppler-document-new-from-stream"></a><h3>poppler_document_new_from_stream ()</h3>
+<pre class="programlisting"><a class="link" href="PopplerDocument.html" title="PopplerDocument"><span class="returnvalue">PopplerDocument</span></a> *
+poppler_document_new_from_stream (<em class="parameter"><code><a href="http://library.gnome.org/devel/gio/unstable/GInputStream.html"><span class="type">GInputStream</span></a> *stream</code></em>,
+ <em class="parameter"><code><span class="type">goffset</span> length</code></em>,
+ <em class="parameter"><code>const <span class="type">char</span> *password</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/gio/unstable/GCancellable.html"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Creates a new <a class="link" href="PopplerDocument.html" title="PopplerDocument"><span class="type">PopplerDocument</span></a> reading the PDF contents from <em class="parameter"><code>stream</code></em>
+.
+Note that the given <a href="http://library.gnome.org/devel/gio/unstable/GInputStream.html"><span class="type">GInputStream</span></a> must be seekable or <code class="literal">G_IO_ERROR_NOT_SUPPORTED</code>
+will be returned.
+Possible errors include those in the <a class="link" href="poppler-poppler.html#POPPLER-ERROR:CAPS" title="POPPLER_ERROR"><span class="type">POPPLER_ERROR</span></a> and <a href="http://library.gnome.org/devel/glib/unstable/glib-File-Utilities.html#G-FILE-ERROR:CAPS"><span class="type">G_FILE_ERROR</span></a>
+domains.</p>
+<div class="refsect3">
+<a name="id-1.2.3.9.4.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><em class="parameter"><code>document</code></em> :</span></p></td>
-<td>A <a class="link" href="PopplerDocument.html" title="PopplerDocument"><span class="type">PopplerDocument</span></a>
-</td>
+<td class="parameter_name"><p>stream</p></td>
+<td class="parameter_description"><p>a <a href="http://library.gnome.org/devel/gio/unstable/GInputStream.html"><span class="type">GInputStream</span></a> to read from</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>a new allocated string containing the PDF version
-of <em class="parameter"><code>document</code></em>, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>
-</td>
+<td class="parameter_name"><p>length</p></td>
+<td class="parameter_description"><p>the stream length, or -1 if not known</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>password</p></td>
+<td class="parameter_description"><p> password to unlock the file with, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p> a <a href="http://library.gnome.org/devel/gio/unstable/GCancellable.html"><span class="type">GCancellable</span></a>, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p> Return location for an error, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
</tbody>
</table></div>
-<p class="since">Since 0.16</p>
+</div>
+<div class="refsect3">
+<a name="id-1.2.3.9.4.6"></a><h4>Returns</h4>
+<p> a new <a class="link" href="PopplerDocument.html" title="PopplerDocument"><span class="type">PopplerDocument</span></a>, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+<p class="since">Since 0.22</p>
</div>
<hr>
<div class="refsect2">
-<a name="poppler-document-get-pdf-version"></a><h3>poppler_document_get_pdf_version ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span> poppler_document_get_pdf_version (<em class="parameter"><code><a class="link" href="PopplerDocument.html" title="PopplerDocument"><span class="type">PopplerDocument</span></a> *document</code></em>,
- <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> *major_version</code></em>,
- <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> *minor_version</code></em>);</pre>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="poppler-document-new-from-gfile"></a><h3>poppler_document_new_from_gfile ()</h3>
+<pre class="programlisting"><a class="link" href="PopplerDocument.html" title="PopplerDocument"><span class="returnvalue">PopplerDocument</span></a> *
+poppler_document_new_from_gfile (<em class="parameter"><code><a href="http://library.gnome.org/devel/gio/unstable/GFile.html"><span class="type">GFile</span></a> *file</code></em>,
+ <em class="parameter"><code>const <span class="type">char</span> *password</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/gio/unstable/GCancellable.html"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Creates a new <a class="link" href="PopplerDocument.html" title="PopplerDocument"><span class="type">PopplerDocument</span></a> reading the PDF contents from <em class="parameter"><code>file</code></em>
+.
+Possible errors include those in the <a class="link" href="poppler-poppler.html#POPPLER-ERROR:CAPS" title="POPPLER_ERROR"><span class="type">POPPLER_ERROR</span></a> and <a href="http://library.gnome.org/devel/glib/unstable/glib-File-Utilities.html#G-FILE-ERROR:CAPS"><span class="type">G_FILE_ERROR</span></a>
+domains.</p>
+<div class="refsect3">
+<a name="id-1.2.3.9.5.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><em class="parameter"><code>document</code></em> :</span></p></td>
-<td>A <a class="link" href="PopplerDocument.html" title="PopplerDocument"><span class="type">PopplerDocument</span></a>
-</td>
+<td class="parameter_name"><p>file</p></td>
+<td class="parameter_description"><p>a <a href="http://library.gnome.org/devel/gio/unstable/GFile.html"><span class="type">GFile</span></a> to load</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><em class="parameter"><code>major_version</code></em> :</span></p></td>
-<td>return location for the PDF major version number. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
-</td>
+<td class="parameter_name"><p>password</p></td>
+<td class="parameter_description"><p> password to unlock the file with, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
<tr>
-<td><p><span class="term"><em class="parameter"><code>minor_version</code></em> :</span></p></td>
-<td>return location for the PDF minor version number. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
-</td>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p> a <a href="http://library.gnome.org/devel/gio/unstable/GCancellable.html"><span class="type">GCancellable</span></a>, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>the major and minor PDF version numbers</td>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p> Return location for an error, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
</tbody>
</table></div>
-<p class="since">Since 0.16</p>
+</div>
+<div class="refsect3">
+<a name="id-1.2.3.9.5.6"></a><h4>Returns</h4>
+<p> a new <a class="link" href="PopplerDocument.html" title="PopplerDocument"><span class="type">PopplerDocument</span></a>, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+<p class="since">Since 0.22</p>
</div>
<hr>
<div class="refsect2">
-<a name="poppler-document-get-title"></a><h3>poppler_document_get_title ()</h3>
-<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> * poppler_document_get_title (<em class="parameter"><code><a class="link" href="PopplerDocument.html" title="PopplerDocument"><span class="type">PopplerDocument</span></a> *document</code></em>);</pre>
-<p>
-Returns the document's title
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="poppler-document-save"></a><h3>poppler_document_save ()</h3>
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+poppler_document_save (<em class="parameter"><code><a class="link" href="PopplerDocument.html" title="PopplerDocument"><span class="type">PopplerDocument</span></a> *document</code></em>,
+ <em class="parameter"><code>const <span class="type">char</span> *uri</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Saves <em class="parameter"><code>document</code></em>
+. Any change made in the document such as
+form fields filled, annotations added or modified
+will be saved.
+If <em class="parameter"><code>error</code></em>
+ is set, <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> will be returned. Possible errors
+include those in the <a href="http://library.gnome.org/devel/glib/unstable/glib-File-Utilities.html#G-FILE-ERROR:CAPS"><span class="type">G_FILE_ERROR</span></a> domain.</p>
+<div class="refsect3">
+<a name="id-1.2.3.9.6.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><em class="parameter"><code>document</code></em> :</span></p></td>
-<td>A <a class="link" href="PopplerDocument.html" title="PopplerDocument"><span class="type">PopplerDocument</span></a>
-</td>
+<td class="parameter_name"><p>document</p></td>
+<td class="parameter_description"><p>a <a class="link" href="PopplerDocument.html" title="PopplerDocument"><span class="type">PopplerDocument</span></a></p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>a new allocated string containing the title
-of <em class="parameter"><code>document</code></em>, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>
-</td>
+<td class="parameter_name"><p>uri</p></td>
+<td class="parameter_description"><p>uri of file to save</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p> return location for an error, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
</tbody>
</table></div>
-<p class="since">Since 0.16</p>
+</div>
+<div class="refsect3">
+<a name="id-1.2.3.9.6.6"></a><h4>Returns</h4>
+<p> <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>, if the document was successfully saved</p>
+<p></p>
+</div>
</div>
<hr>
<div class="refsect2">
-<a name="poppler-document-get-author"></a><h3>poppler_document_get_author ()</h3>
-<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> * poppler_document_get_author (<em class="parameter"><code><a class="link" href="PopplerDocument.html" title="PopplerDocument"><span class="type">PopplerDocument</span></a> *document</code></em>);</pre>
-<p>
-Returns the author of the document
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="poppler-document-save-a-copy"></a><h3>poppler_document_save_a_copy ()</h3>
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+poppler_document_save_a_copy (<em class="parameter"><code><a class="link" href="PopplerDocument.html" title="PopplerDocument"><span class="type">PopplerDocument</span></a> *document</code></em>,
+ <em class="parameter"><code>const <span class="type">char</span> *uri</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Saves a copy of the original <em class="parameter"><code>document</code></em>
+.
+Any change made in the document such as
+form fields filled by the user will not be saved.
+If <em class="parameter"><code>error</code></em>
+ is set, <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> will be returned. Possible errors
+include those in the <a href="http://library.gnome.org/devel/glib/unstable/glib-File-Utilities.html#G-FILE-ERROR:CAPS"><span class="type">G_FILE_ERROR</span></a> domain.</p>
+<div class="refsect3">
+<a name="id-1.2.3.9.7.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><em class="parameter"><code>document</code></em> :</span></p></td>
-<td>A <a class="link" href="PopplerDocument.html" title="PopplerDocument"><span class="type">PopplerDocument</span></a>
-</td>
+<td class="parameter_name"><p>document</p></td>
+<td class="parameter_description"><p>a <a class="link" href="PopplerDocument.html" title="PopplerDocument"><span class="type">PopplerDocument</span></a></p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>a new allocated string containing the author
-of <em class="parameter"><code>document</code></em>, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>
-</td>
+<td class="parameter_name"><p>uri</p></td>
+<td class="parameter_description"><p>uri of file to save</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p> return location for an error, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
</tbody>
</table></div>
-<p class="since">Since 0.16</p>
+</div>
+<div class="refsect3">
+<a name="id-1.2.3.9.7.6"></a><h4>Returns</h4>
+<p> <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>, if the document was successfully saved</p>
+<p></p>
+</div>
</div>
<hr>
<div class="refsect2">
-<a name="poppler-document-get-subject"></a><h3>poppler_document_get_subject ()</h3>
-<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> * poppler_document_get_subject (<em class="parameter"><code><a class="link" href="PopplerDocument.html" title="PopplerDocument"><span class="type">PopplerDocument</span></a> *document</code></em>);</pre>
-<p>
-Returns the subject of the document
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
-<colgroup>
-<col align="left" valign="top">
-<col>
+<a name="poppler-document-get-id"></a><h3>poppler_document_get_id ()</h3>
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+poppler_document_get_id (<em class="parameter"><code><a class="link" href="PopplerDocument.html" title="PopplerDocument"><span class="type">PopplerDocument</span></a> *document</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> **permanent_id</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> **update_id</code></em>);</pre>
+<p>Returns the PDF file identifier represented as two byte string arrays of size 32.
+<em class="parameter"><code>permanent_id</code></em>
+ is the permanent identifier that is built based on the file
+contents at the time it was originally created, so that this identifer
+never changes. <em class="parameter"><code>update_id</code></em>
+ is the update identifier that is built based on
+the file contents at the time it was last updated.</p>
+<p>Note that returned strings are not null-terminated, they have a fixed
+size of 32 bytes.</p>
+<div class="refsect3">
+<a name="id-1.2.3.9.8.6"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><em class="parameter"><code>document</code></em> :</span></p></td>
-<td>A <a class="link" href="PopplerDocument.html" title="PopplerDocument"><span class="type">PopplerDocument</span></a>
-</td>
+<td class="parameter_name"><p>document</p></td>
+<td class="parameter_description"><p>A <a class="link" href="PopplerDocument.html" title="PopplerDocument"><span class="type">PopplerDocument</span></a></p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>a new allocated string containing the subject
-of <em class="parameter"><code>document</code></em>, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>
-</td>
+<td class="parameter_name"><p>permanent_id</p></td>
+<td class="parameter_description"><p> location to store an allocated string, use <a href="http://library.gnome.org/devel/glib/unstable/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a> to free the returned string. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>update_id</p></td>
+<td class="parameter_description"><p> location to store an allocated string, use <a href="http://library.gnome.org/devel/glib/unstable/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a> to free the returned string. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
</tbody>
</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.2.3.9.8.7"></a><h4>Returns</h4>
+<p> <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the <em class="parameter"><code>document</code></em>
+contains an id, <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise</p>
+<p></p>
+</div>
<p class="since">Since 0.16</p>
</div>
<hr>
<div class="refsect2">
-<a name="poppler-document-get-keywords"></a><h3>poppler_document_get_keywords ()</h3>
-<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> * poppler_document_get_keywords (<em class="parameter"><code><a class="link" href="PopplerDocument.html" title="PopplerDocument"><span class="type">PopplerDocument</span></a> *document</code></em>);</pre>
-<p>
-Returns the keywords associated to the document
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="poppler-document-get-pdf-version-string"></a><h3>poppler_document_get_pdf_version_string ()</h3>
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+poppler_document_get_pdf_version_string
+ (<em class="parameter"><code><a class="link" href="PopplerDocument.html" title="PopplerDocument"><span class="type">PopplerDocument</span></a> *document</code></em>);</pre>
+<p>Returns the PDF version of <em class="parameter"><code>document</code></em>
+ as a string (e.g. PDF-1.6)</p>
+<div class="refsect3">
+<a name="id-1.2.3.9.9.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>document</p></td>
+<td class="parameter_description"><p>A <a class="link" href="PopplerDocument.html" title="PopplerDocument"><span class="type">PopplerDocument</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.2.3.9.9.6"></a><h4>Returns</h4>
+<p> a new allocated string containing the PDF version
+of <em class="parameter"><code>document</code></em>
+, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a></p>
+<p></p>
+</div>
+<p class="since">Since 0.16</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="poppler-document-get-pdf-version"></a><h3>poppler_document_get_pdf_version ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+poppler_document_get_pdf_version (<em class="parameter"><code><a class="link" href="PopplerDocument.html" title="PopplerDocument"><span class="type">PopplerDocument</span></a> *document</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> *major_version</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> *minor_version</code></em>);</pre>
+<div class="refsect3">
+<a name="id-1.2.3.9.10.4"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><em class="parameter"><code>document</code></em> :</span></p></td>
-<td>A <a class="link" href="PopplerDocument.html" title="PopplerDocument"><span class="type">PopplerDocument</span></a>
-</td>
+<td class="parameter_name"><p>document</p></td>
+<td class="parameter_description"><p>A <a class="link" href="PopplerDocument.html" title="PopplerDocument"><span class="type">PopplerDocument</span></a></p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>a new allocated string containing keywords associated
-to <em class="parameter"><code>document</code></em>, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>
-</td>
+<td class="parameter_name"><p>major_version</p></td>
+<td class="parameter_description"><p> return location for the PDF major version number. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>minor_version</p></td>
+<td class="parameter_description"><p> return location for the PDF minor version number. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
</tbody>
</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.2.3.9.10.5"></a><h4>Returns</h4>
+<p> the major and minor PDF version numbers</p>
+<p></p>
+</div>
+<p class="since">Since 0.16</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="poppler-document-get-title"></a><h3>poppler_document_get_title ()</h3>
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+poppler_document_get_title (<em class="parameter"><code><a class="link" href="PopplerDocument.html" title="PopplerDocument"><span class="type">PopplerDocument</span></a> *document</code></em>);</pre>
+<p>Returns the document's title</p>
+<div class="refsect3">
+<a name="id-1.2.3.9.11.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>document</p></td>
+<td class="parameter_description"><p>A <a class="link" href="PopplerDocument.html" title="PopplerDocument"><span class="type">PopplerDocument</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.2.3.9.11.6"></a><h4>Returns</h4>
+<p> a new allocated string containing the title
+of <em class="parameter"><code>document</code></em>
+, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a></p>
+<p></p>
+</div>
+<p class="since">Since 0.16</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="poppler-document-get-author"></a><h3>poppler_document_get_author ()</h3>
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+poppler_document_get_author (<em class="parameter"><code><a class="link" href="PopplerDocument.html" title="PopplerDocument"><span class="type">PopplerDocument</span></a> *document</code></em>);</pre>
+<p>Returns the author of the document</p>
+<div class="refsect3">
+<a name="id-1.2.3.9.12.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>document</p></td>
+<td class="parameter_description"><p>A <a class="link" href="PopplerDocument.html" title="PopplerDocument"><span class="type">PopplerDocument</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.2.3.9.12.6"></a><h4>Returns</h4>
+<p> a new allocated string containing the author
+of <em class="parameter"><code>document</code></em>
+, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a></p>
+<p></p>
+</div>
+<p class="since">Since 0.16</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="poppler-document-get-subject"></a><h3>poppler_document_get_subject ()</h3>
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+poppler_document_get_subject (<em class="parameter"><code><a class="link" href="PopplerDocument.html" title="PopplerDocument"><span class="type">PopplerDocument</span></a> *document</code></em>);</pre>
+<p>Returns the subject of the document</p>
+<div class="refsect3">
+<a name="id-1.2.3.9.13.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>document</p></td>
+<td class="parameter_description"><p>A <a class="link" href="PopplerDocument.html" title="PopplerDocument"><span class="type">PopplerDocument</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.2.3.9.13.6"></a><h4>Returns</h4>
+<p> a new allocated string containing the subject
+of <em class="parameter"><code>document</code></em>
+, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a></p>
+<p></p>
+</div>
<p class="since">Since 0.16</p>
</div>
<hr>
<div class="refsect2">
-<a name="poppler-document-get-creator"></a><h3>poppler_document_get_creator ()</h3>
-<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> * poppler_document_get_creator (<em class="parameter"><code><a class="link" href="PopplerDocument.html" title="PopplerDocument"><span class="type">PopplerDocument</span></a> *document</code></em>);</pre>
-<p>
-Returns the creator of the document. If the document was converted
+<a name="poppler-document-get-keywords"></a><h3>poppler_document_get_keywords ()</h3>
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+poppler_document_get_keywords (<em class="parameter"><code><a class="link" href="PopplerDocument.html" title="PopplerDocument"><span class="type">PopplerDocument</span></a> *document</code></em>);</pre>
+<p>Returns the keywords associated to the document</p>
+<div class="refsect3">
+<a name="id-1.2.3.9.14.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>document</p></td>
+<td class="parameter_description"><p>A <a class="link" href="PopplerDocument.html" title="PopplerDocument"><span class="type">PopplerDocument</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.2.3.9.14.6"></a><h4>Returns</h4>
+<p> a new allocated string containing keywords associated
+to <em class="parameter"><code>document</code></em>
+, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a></p>
+<p></p>
+</div>
+<p class="since">Since 0.16</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="poppler-document-get-creator"></a><h3>poppler_document_get_creator ()</h3>
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+poppler_document_get_creator (<em class="parameter"><code><a class="link" href="PopplerDocument.html" title="PopplerDocument"><span class="type">PopplerDocument</span></a> *document</code></em>);</pre>
+<p>Returns the creator of the document. If the document was converted
from another format, the creator is the name of the product
-that created the original document from which it was converted.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+that created the original document from which it was converted.</p>
+<div class="refsect3">
+<a name="id-1.2.3.9.15.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>document</code></em> :</span></p></td>
-<td>A <a class="link" href="PopplerDocument.html" title="PopplerDocument"><span class="type">PopplerDocument</span></a>
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>a new allocated string containing the creator
-of <em class="parameter"><code>document</code></em>, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>
-</td>
-</tr>
-</tbody>
+<tbody><tr>
+<td class="parameter_name"><p>document</p></td>
+<td class="parameter_description"><p>A <a class="link" href="PopplerDocument.html" title="PopplerDocument"><span class="type">PopplerDocument</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.2.3.9.15.6"></a><h4>Returns</h4>
+<p> a new allocated string containing the creator
+of <em class="parameter"><code>document</code></em>
+, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a></p>
+<p></p>
+</div>
<p class="since">Since 0.16</p>
</div>
<hr>
<div class="refsect2">
-<a name="poppler-document-get-producer"></a><h3>poppler_document_get_producer ()</h3>
-<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> * poppler_document_get_producer (<em class="parameter"><code><a class="link" href="PopplerDocument.html" title="PopplerDocument"><span class="type">PopplerDocument</span></a> *document</code></em>);</pre>
-<p>
-Returns the producer of the document. If the document was converted
+<a name="poppler-document-get-producer"></a><h3>poppler_document_get_producer ()</h3>
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+poppler_document_get_producer (<em class="parameter"><code><a class="link" href="PopplerDocument.html" title="PopplerDocument"><span class="type">PopplerDocument</span></a> *document</code></em>);</pre>
+<p>Returns the producer of the document. If the document was converted
from another format, the producer is the name of the product
-that converted it to PDF
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+that converted it to PDF</p>
+<div class="refsect3">
+<a name="id-1.2.3.9.16.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>document</code></em> :</span></p></td>
-<td>A <a class="link" href="PopplerDocument.html" title="PopplerDocument"><span class="type">PopplerDocument</span></a>
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>a new allocated string containing the producer
-of <em class="parameter"><code>document</code></em>, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>
-</td>
-</tr>
-</tbody>
+<tbody><tr>
+<td class="parameter_name"><p>document</p></td>
+<td class="parameter_description"><p>A <a class="link" href="PopplerDocument.html" title="PopplerDocument"><span class="type">PopplerDocument</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.2.3.9.16.6"></a><h4>Returns</h4>
+<p> a new allocated string containing the producer
+of <em class="parameter"><code>document</code></em>
+, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a></p>
+<p></p>
+</div>
<p class="since">Since 0.16</p>
</div>
<hr>
<div class="refsect2">
-<a name="poppler-document-get-creation-date"></a><h3>poppler_document_get_creation_date ()</h3>
-<pre class="programlisting"><span class="returnvalue">time_t</span> poppler_document_get_creation_date (<em class="parameter"><code><a class="link" href="PopplerDocument.html" title="PopplerDocument"><span class="type">PopplerDocument</span></a> *document</code></em>);</pre>
-<p>
-Returns the date the document was created as seconds since the Epoch
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="poppler-document-get-creation-date"></a><h3>poppler_document_get_creation_date ()</h3>
+<pre class="programlisting"><span class="returnvalue">time_t</span>
+poppler_document_get_creation_date (<em class="parameter"><code><a class="link" href="PopplerDocument.html" title="PopplerDocument"><span class="type">PopplerDocument</span></a> *document</code></em>);</pre>
+<p>Returns the date the document was created as seconds since the Epoch</p>
+<div class="refsect3">
+<a name="id-1.2.3.9.17.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>document</code></em> :</span></p></td>
-<td>A <a class="link" href="PopplerDocument.html" title="PopplerDocument"><span class="type">PopplerDocument</span></a>
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>the date the document was created, or -1</td>
-</tr>
-</tbody>
+<tbody><tr>
+<td class="parameter_name"><p>document</p></td>
+<td class="parameter_description"><p>A <a class="link" href="PopplerDocument.html" title="PopplerDocument"><span class="type">PopplerDocument</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.2.3.9.17.6"></a><h4>Returns</h4>
+<p> the date the document was created, or -1</p>
+<p></p>
+</div>
<p class="since">Since 0.16</p>
</div>
<hr>
<div class="refsect2">
-<a name="poppler-document-get-modification-date"></a><h3>poppler_document_get_modification_date ()</h3>
-<pre class="programlisting"><span class="returnvalue">time_t</span> poppler_document_get_modification_date
- (<em class="parameter"><code><a class="link" href="PopplerDocument.html" title="PopplerDocument"><span class="type">PopplerDocument</span></a> *document</code></em>);</pre>
-<p>
-Returns the date the document was most recently modified as seconds since the Epoch
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="poppler-document-get-modification-date"></a><h3>poppler_document_get_modification_date ()</h3>
+<pre class="programlisting"><span class="returnvalue">time_t</span>
+poppler_document_get_modification_date
+ (<em class="parameter"><code><a class="link" href="PopplerDocument.html" title="PopplerDocument"><span class="type">PopplerDocument</span></a> *document</code></em>);</pre>
+<p>Returns the date the document was most recently modified as seconds since the Epoch</p>
+<div class="refsect3">
+<a name="id-1.2.3.9.18.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>document</code></em> :</span></p></td>
-<td>A <a class="link" href="PopplerDocument.html" title="PopplerDocument"><span class="type">PopplerDocument</span></a>
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>the date the document was most recently modified, or -1</td>
-</tr>
-</tbody>
+<tbody><tr>
+<td class="parameter_name"><p>document</p></td>
+<td class="parameter_description"><p>A <a class="link" href="PopplerDocument.html" title="PopplerDocument"><span class="type">PopplerDocument</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.2.3.9.18.6"></a><h4>Returns</h4>
+<p> the date the document was most recently modified, or -1</p>
+<p></p>
+</div>
<p class="since">Since 0.16</p>
</div>
<hr>
<div class="refsect2">
-<a name="poppler-document-get-page-layout"></a><h3>poppler_document_get_page_layout ()</h3>
-<pre class="programlisting"><a class="link" href="PopplerDocument.html#PopplerPageLayout" title="enum PopplerPageLayout"><span class="returnvalue">PopplerPageLayout</span></a> poppler_document_get_page_layout (<em class="parameter"><code><a class="link" href="PopplerDocument.html" title="PopplerDocument"><span class="type">PopplerDocument</span></a> *document</code></em>);</pre>
-<p>
-Returns the page layout that should be used when the document is opened
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="poppler-document-get-page-layout"></a><h3>poppler_document_get_page_layout ()</h3>
+<pre class="programlisting"><a class="link" href="PopplerDocument.html#PopplerPageLayout" title="enum PopplerPageLayout"><span class="returnvalue">PopplerPageLayout</span></a>
+poppler_document_get_page_layout (<em class="parameter"><code><a class="link" href="PopplerDocument.html" title="PopplerDocument"><span class="type">PopplerDocument</span></a> *document</code></em>);</pre>
+<p>Returns the page layout that should be used when the document is opened</p>
+<div class="refsect3">
+<a name="id-1.2.3.9.19.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>document</code></em> :</span></p></td>
-<td>A <a class="link" href="PopplerDocument.html" title="PopplerDocument"><span class="type">PopplerDocument</span></a>
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>a <a class="link" href="PopplerDocument.html#PopplerPageLayout" title="enum PopplerPageLayout"><span class="type">PopplerPageLayout</span></a> that should be used when the document is opened</td>
-</tr>
-</tbody>
+<tbody><tr>
+<td class="parameter_name"><p>document</p></td>
+<td class="parameter_description"><p>A <a class="link" href="PopplerDocument.html" title="PopplerDocument"><span class="type">PopplerDocument</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.2.3.9.19.6"></a><h4>Returns</h4>
+<p> a <a class="link" href="PopplerDocument.html#PopplerPageLayout" title="enum PopplerPageLayout"><span class="type">PopplerPageLayout</span></a> that should be used when the document is opened</p>
+<p></p>
+</div>
<p class="since">Since 0.16</p>
</div>
<hr>
<div class="refsect2">
-<a name="poppler-document-get-page-mode"></a><h3>poppler_document_get_page_mode ()</h3>
-<pre class="programlisting"><a class="link" href="PopplerDocument.html#PopplerPageMode" title="enum PopplerPageMode"><span class="returnvalue">PopplerPageMode</span></a> poppler_document_get_page_mode (<em class="parameter"><code><a class="link" href="PopplerDocument.html" title="PopplerDocument"><span class="type">PopplerDocument</span></a> *document</code></em>);</pre>
-<p>
-Returns a <a class="link" href="PopplerDocument.html#PopplerPageMode" title="enum PopplerPageMode"><span class="type">PopplerPageMode</span></a> representing how the document should
-be initially displayed when opened.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="poppler-document-get-page-mode"></a><h3>poppler_document_get_page_mode ()</h3>
+<pre class="programlisting"><a class="link" href="PopplerDocument.html#PopplerPageMode" title="enum PopplerPageMode"><span class="returnvalue">PopplerPageMode</span></a>
+poppler_document_get_page_mode (<em class="parameter"><code><a class="link" href="PopplerDocument.html" title="PopplerDocument"><span class="type">PopplerDocument</span></a> *document</code></em>);</pre>
+<p>Returns a <a class="link" href="PopplerDocument.html#PopplerPageMode" title="enum PopplerPageMode"><span class="type">PopplerPageMode</span></a> representing how the document should
+be initially displayed when opened.</p>
+<div class="refsect3">
+<a name="id-1.2.3.9.20.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>document</code></em> :</span></p></td>
-<td>A <a class="link" href="PopplerDocument.html" title="PopplerDocument"><span class="type">PopplerDocument</span></a>
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>a <a class="link" href="PopplerDocument.html#PopplerPageMode" title="enum PopplerPageMode"><span class="type">PopplerPageMode</span></a> that should be used when document is opened</td>
-</tr>
-</tbody>
+<tbody><tr>
+<td class="parameter_name"><p>document</p></td>
+<td class="parameter_description"><p>A <a class="link" href="PopplerDocument.html" title="PopplerDocument"><span class="type">PopplerDocument</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.2.3.9.20.6"></a><h4>Returns</h4>
+<p> a <a class="link" href="PopplerDocument.html#PopplerPageMode" title="enum PopplerPageMode"><span class="type">PopplerPageMode</span></a> that should be used when document is opened</p>
+<p></p>
+</div>
<p class="since">Since 0.16</p>
</div>
<hr>
<div class="refsect2">
-<a name="poppler-document-get-permissions"></a><h3>poppler_document_get_permissions ()</h3>
-<pre class="programlisting"><a class="link" href="PopplerDocument.html#PopplerPermissions" title="enum PopplerPermissions"><span class="returnvalue">PopplerPermissions</span></a> poppler_document_get_permissions (<em class="parameter"><code><a class="link" href="PopplerDocument.html" title="PopplerDocument"><span class="type">PopplerDocument</span></a> *document</code></em>);</pre>
-<p>
-Returns the flags specifying which operations are permitted when the document is opened.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="poppler-document-get-permissions"></a><h3>poppler_document_get_permissions ()</h3>
+<pre class="programlisting"><a class="link" href="PopplerDocument.html#PopplerPermissions" title="enum PopplerPermissions"><span class="returnvalue">PopplerPermissions</span></a>
+poppler_document_get_permissions (<em class="parameter"><code><a class="link" href="PopplerDocument.html" title="PopplerDocument"><span class="type">PopplerDocument</span></a> *document</code></em>);</pre>
+<p>Returns the flags specifying which operations are permitted when the document is opened.</p>
+<div class="refsect3">
+<a name="id-1.2.3.9.21.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>document</code></em> :</span></p></td>
-<td>A <a class="link" href="PopplerDocument.html" title="PopplerDocument"><span class="type">PopplerDocument</span></a>
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>a set of falgs from <a class="link" href="PopplerDocument.html#PopplerPermissions" title="enum PopplerPermissions"><span class="type">PopplerPermissions</span></a> enumeration</td>
-</tr>
-</tbody>
+<tbody><tr>
+<td class="parameter_name"><p>document</p></td>
+<td class="parameter_description"><p>A <a class="link" href="PopplerDocument.html" title="PopplerDocument"><span class="type">PopplerDocument</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.2.3.9.21.6"></a><h4>Returns</h4>
+<p> a set of falgs from <a class="link" href="PopplerDocument.html#PopplerPermissions" title="enum PopplerPermissions"><span class="type">PopplerPermissions</span></a> enumeration</p>
+<p></p>
+</div>
<p class="since">Since 0.16</p>
</div>
<hr>
<div class="refsect2">
-<a name="poppler-document-get-metadata"></a><h3>poppler_document_get_metadata ()</h3>
-<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> * poppler_document_get_metadata (<em class="parameter"><code><a class="link" href="PopplerDocument.html" title="PopplerDocument"><span class="type">PopplerDocument</span></a> *document</code></em>);</pre>
-<p>
-Returns the XML metadata string of the document
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="poppler-document-get-metadata"></a><h3>poppler_document_get_metadata ()</h3>
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+poppler_document_get_metadata (<em class="parameter"><code><a class="link" href="PopplerDocument.html" title="PopplerDocument"><span class="type">PopplerDocument</span></a> *document</code></em>);</pre>
+<p>Returns the XML metadata string of the document</p>
+<div class="refsect3">
+<a name="id-1.2.3.9.22.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>document</code></em> :</span></p></td>
-<td>A <a class="link" href="PopplerDocument.html" title="PopplerDocument"><span class="type">PopplerDocument</span></a>
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>a new allocated string containing the XML
-metadata, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>
-</td>
-</tr>
-</tbody>
+<tbody><tr>
+<td class="parameter_name"><p>document</p></td>
+<td class="parameter_description"><p>A <a class="link" href="PopplerDocument.html" title="PopplerDocument"><span class="type">PopplerDocument</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.2.3.9.22.6"></a><h4>Returns</h4>
+<p> a new allocated string containing the XML
+metadata, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a></p>
+<p></p>
+</div>
<p class="since">Since 0.16</p>
</div>
<hr>
<div class="refsect2">
-<a name="poppler-document-is-linearized"></a><h3>poppler_document_is_linearized ()</h3>
-<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> poppler_document_is_linearized (<em class="parameter"><code><a class="link" href="PopplerDocument.html" title="PopplerDocument"><span class="type">PopplerDocument</span></a> *document</code></em>);</pre>
-<p>
-Returns whether <em class="parameter"><code>document</code></em> is linearized or not. Linearization of PDF
-enables efficient incremental access of the PDF file in a network environment.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="poppler-document-is-linearized"></a><h3>poppler_document_is_linearized ()</h3>
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+poppler_document_is_linearized (<em class="parameter"><code><a class="link" href="PopplerDocument.html" title="PopplerDocument"><span class="type">PopplerDocument</span></a> *document</code></em>);</pre>
+<p>Returns whether <em class="parameter"><code>document</code></em>
+ is linearized or not. Linearization of PDF
+enables efficient incremental access of the PDF file in a network environment.</p>
+<div class="refsect3">
+<a name="id-1.2.3.9.23.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>document</code></em> :</span></p></td>
-<td>A <a class="link" href="PopplerDocument.html" title="PopplerDocument"><span class="type">PopplerDocument</span></a>
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if <em class="parameter"><code>document</code></em> is linearized, <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwhise</td>
-</tr>
-</tbody>
+<tbody><tr>
+<td class="parameter_name"><p>document</p></td>
+<td class="parameter_description"><p>A <a class="link" href="PopplerDocument.html" title="PopplerDocument"><span class="type">PopplerDocument</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.2.3.9.23.6"></a><h4>Returns</h4>
+<p> <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if <em class="parameter"><code>document</code></em>
+is linearized, <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwhise</p>
+<p></p>
+</div>
<p class="since">Since 0.16</p>
</div>
<hr>
<div class="refsect2">
-<a name="poppler-document-get-n-pages"></a><h3>poppler_document_get_n_pages ()</h3>
-<pre class="programlisting"><span class="returnvalue">int</span> poppler_document_get_n_pages (<em class="parameter"><code><a class="link" href="PopplerDocument.html" title="PopplerDocument"><span class="type">PopplerDocument</span></a> *document</code></em>);</pre>
-<p>
-Returns the number of pages in a loaded document.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="poppler-document-get-n-pages"></a><h3>poppler_document_get_n_pages ()</h3>
+<pre class="programlisting"><span class="returnvalue">int</span>
+poppler_document_get_n_pages (<em class="parameter"><code><a class="link" href="PopplerDocument.html" title="PopplerDocument"><span class="type">PopplerDocument</span></a> *document</code></em>);</pre>
+<p>Returns the number of pages in a loaded document.</p>
+<div class="refsect3">
+<a name="id-1.2.3.9.24.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>document</code></em> :</span></p></td>
-<td>A <a class="link" href="PopplerDocument.html" title="PopplerDocument"><span class="type">PopplerDocument</span></a>
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>Number of pages</td>
-</tr>
-</tbody>
+<tbody><tr>
+<td class="parameter_name"><p>document</p></td>
+<td class="parameter_description"><p>A <a class="link" href="PopplerDocument.html" title="PopplerDocument"><span class="type">PopplerDocument</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="id-1.2.3.9.24.6"></a><h4>Returns</h4>
+<p> Number of pages</p>
+<p></p>
+</div>
+</div>
<hr>
<div class="refsect2">
-<a name="poppler-document-get-page"></a><h3>poppler_document_get_page ()</h3>
-<pre class="programlisting"><a class="link" href="PopplerPage.html" title="PopplerPage"><span class="returnvalue">PopplerPage</span></a> * poppler_document_get_page (<em class="parameter"><code><a class="link" href="PopplerDocument.html" title="PopplerDocument"><span class="type">PopplerDocument</span></a> *document</code></em>,
- <em class="parameter"><code><span class="type">int</span> index</code></em>);</pre>
-<p>
-Returns the <a class="link" href="PopplerPage.html" title="PopplerPage"><span class="type">PopplerPage</span></a> indexed at <em class="parameter"><code>index</code></em>. This object is owned by the
-caller.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="poppler-document-get-page"></a><h3>poppler_document_get_page ()</h3>
+<pre class="programlisting"><a class="link" href="PopplerPage.html" title="PopplerPage"><span class="returnvalue">PopplerPage</span></a> *
+poppler_document_get_page (<em class="parameter"><code><a class="link" href="PopplerDocument.html" title="PopplerDocument"><span class="type">PopplerDocument</span></a> *document</code></em>,
+ <em class="parameter"><code><span class="type">int</span> index</code></em>);</pre>
+<p>Returns the <a class="link" href="PopplerPage.html" title="PopplerPage"><span class="type">PopplerPage</span></a> indexed at <em class="parameter"><code>index</code></em>
+. This object is owned by the
+caller.</p>
+<div class="refsect3">
+<a name="id-1.2.3.9.25.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><em class="parameter"><code>document</code></em> :</span></p></td>
-<td>A <a class="link" href="PopplerDocument.html" title="PopplerDocument"><span class="type">PopplerDocument</span></a>
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>index</code></em> :</span></p></td>
-<td>a page index</td>
+<td class="parameter_name"><p>document</p></td>
+<td class="parameter_description"><p>A <a class="link" href="PopplerDocument.html" title="PopplerDocument"><span class="type">PopplerDocument</span></a></p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>(transfer full) : The <a class="link" href="PopplerPage.html" title="PopplerPage"><span class="type">PopplerPage</span></a> at <em class="parameter"><code>index</code></em>
-</td>
+<td class="parameter_name"><p>index</p></td>
+<td class="parameter_description"><p>a page index </p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="id-1.2.3.9.25.6"></a><h4>Returns</h4>
+<p> (transfer full) : The <a class="link" href="PopplerPage.html" title="PopplerPage"><span class="type">PopplerPage</span></a> at <em class="parameter"><code>index</code></em>
+</p>
+<p></p>
+</div>
+</div>
<hr>
<div class="refsect2">
-<a name="poppler-document-get-page-by-label"></a><h3>poppler_document_get_page_by_label ()</h3>
-<pre class="programlisting"><a class="link" href="PopplerPage.html" title="PopplerPage"><span class="returnvalue">PopplerPage</span></a> * poppler_document_get_page_by_label (<em class="parameter"><code><a class="link" href="PopplerDocument.html" title="PopplerDocument"><span class="type">PopplerDocument</span></a> *document</code></em>,
- <em class="parameter"><code>const <span class="type">char</span> *label</code></em>);</pre>
-<p>
-Returns the <a class="link" href="PopplerPage.html" title="PopplerPage"><span class="type">PopplerPage</span></a> reference by <em class="parameter"><code>label</code></em>. This object is owned by the
-caller. <em class="parameter"><code>label</code></em> is a human-readable string representation of the page number,
-and can be document specific. Typically, it is a value such as "iii" or "3".
-</p>
-<p>
-By default, "1" refers to the first page.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="poppler-document-get-page-by-label"></a><h3>poppler_document_get_page_by_label ()</h3>
+<pre class="programlisting"><a class="link" href="PopplerPage.html" title="PopplerPage"><span class="returnvalue">PopplerPage</span></a> *
+poppler_document_get_page_by_label (<em class="parameter"><code><a class="link" href="PopplerDocument.html" title="PopplerDocument"><span class="type">PopplerDocument</span></a> *document</code></em>,
+ <em class="parameter"><code>const <span class="type">char</span> *label</code></em>);</pre>
+<p>Returns the <a class="link" href="PopplerPage.html" title="PopplerPage"><span class="type">PopplerPage</span></a> reference by <em class="parameter"><code>label</code></em>
+. This object is owned by the
+caller. <em class="parameter"><code>label</code></em>
+ is a human-readable string representation of the page number,
+and can be document specific. Typically, it is a value such as "iii" or "3".</p>
+<p>By default, "1" refers to the first page.</p>
+<div class="refsect3">
+<a name="id-1.2.3.9.26.6"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><em class="parameter"><code>document</code></em> :</span></p></td>
-<td>A <a class="link" href="PopplerDocument.html" title="PopplerDocument"><span class="type">PopplerDocument</span></a>
-</td>
+<td class="parameter_name"><p>document</p></td>
+<td class="parameter_description"><p>A <a class="link" href="PopplerDocument.html" title="PopplerDocument"><span class="type">PopplerDocument</span></a></p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><em class="parameter"><code>label</code></em> :</span></p></td>
-<td>a page label</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>(transfer full) :The <a class="link" href="PopplerPage.html" title="PopplerPage"><span class="type">PopplerPage</span></a> referenced by <em class="parameter"><code>label</code></em>
-</td>
+<td class="parameter_name"><p>label</p></td>
+<td class="parameter_description"><p>a page label</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="id-1.2.3.9.26.7"></a><h4>Returns</h4>
+<p> (transfer full) :The <a class="link" href="PopplerPage.html" title="PopplerPage"><span class="type">PopplerPage</span></a> referenced by <em class="parameter"><code>label</code></em>
+</p>
+<p></p>
+</div>
+</div>
<hr>
<div class="refsect2">
-<a name="poppler-document-find-dest"></a><h3>poppler_document_find_dest ()</h3>
-<pre class="programlisting"><a class="link" href="poppler-PopplerAction.html#PopplerDest" title="PopplerDest"><span class="returnvalue">PopplerDest</span></a> * poppler_document_find_dest (<em class="parameter"><code><a class="link" href="PopplerDocument.html" title="PopplerDocument"><span class="type">PopplerDocument</span></a> *document</code></em>,
- <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *link_name</code></em>);</pre>
-<p>
-Finds named destination <em class="parameter"><code>link_name</code></em> in <em class="parameter"><code>document</code></em>
+<a name="poppler-document-find-dest"></a><h3>poppler_document_find_dest ()</h3>
+<pre class="programlisting"><a class="link" href="poppler-PopplerAction.html#PopplerDest" title="PopplerDest"><span class="returnvalue">PopplerDest</span></a> *
+poppler_document_find_dest (<em class="parameter"><code><a class="link" href="PopplerDocument.html" title="PopplerDocument"><span class="type">PopplerDocument</span></a> *document</code></em>,
+ <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *link_name</code></em>);</pre>
+<p>Finds named destination <em class="parameter"><code>link_name</code></em>
+ in <em class="parameter"><code>document</code></em>
</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<div class="refsect3">
+<a name="id-1.2.3.9.27.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><em class="parameter"><code>document</code></em> :</span></p></td>
-<td>A <a class="link" href="PopplerDocument.html" title="PopplerDocument"><span class="type">PopplerDocument</span></a>
-</td>
+<td class="parameter_name"><p>document</p></td>
+<td class="parameter_description"><p>A <a class="link" href="PopplerDocument.html" title="PopplerDocument"><span class="type">PopplerDocument</span></a></p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><em class="parameter"><code>link_name</code></em> :</span></p></td>
-<td>a named destination</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>The <a class="link" href="poppler-PopplerAction.html#PopplerDest" title="PopplerDest"><span class="type">PopplerDest</span></a> destination or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if
-<em class="parameter"><code>link_name</code></em> is not a destination. Returned value must
-be freed with <a class="link" href="poppler-PopplerAction.html#poppler-dest-free" title="poppler_dest_free ()"><span class="type">poppler_dest_free</span></a>
-</td>
+<td class="parameter_name"><p>link_name</p></td>
+<td class="parameter_description"><p>a named destination</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="id-1.2.3.9.27.6"></a><h4>Returns</h4>
+<p> The <a class="link" href="poppler-PopplerAction.html#PopplerDest" title="PopplerDest"><span class="type">PopplerDest</span></a> destination or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if
+<em class="parameter"><code>link_name</code></em>
+is not a destination. Returned value must
+be freed with <a class="link" href="poppler-PopplerAction.html#poppler-dest-free" title="poppler_dest_free ()"><span class="type">poppler_dest_free</span></a></p>
+<p></p>
+</div>
+</div>
<hr>
<div class="refsect2">
-<a name="poppler-document-get-n-attachments"></a><h3>poppler_document_get_n_attachments ()</h3>
-<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a> poppler_document_get_n_attachments (<em class="parameter"><code><a class="link" href="PopplerDocument.html" title="PopplerDocument"><span class="type">PopplerDocument</span></a> *document</code></em>);</pre>
-<p>
-Returns the number of attachments in a loaded document.
-See also <a class="link" href="PopplerDocument.html#poppler-document-get-attachments" title="poppler_document_get_attachments ()"><code class="function">poppler_document_get_attachments()</code></a>
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="poppler-document-get-n-attachments"></a><h3>poppler_document_get_n_attachments ()</h3>
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>
+poppler_document_get_n_attachments (<em class="parameter"><code><a class="link" href="PopplerDocument.html" title="PopplerDocument"><span class="type">PopplerDocument</span></a> *document</code></em>);</pre>
+<p>Returns the number of attachments in a loaded document.
+See also <a class="link" href="PopplerDocument.html#poppler-document-get-attachments" title="poppler_document_get_attachments ()"><code class="function">poppler_document_get_attachments()</code></a></p>
+<div class="refsect3">
+<a name="id-1.2.3.9.28.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>document</code></em> :</span></p></td>
-<td>A <a class="link" href="PopplerDocument.html" title="PopplerDocument"><span class="type">PopplerDocument</span></a>
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>Number of attachments</td>
-</tr>
-</tbody>
+<tbody><tr>
+<td class="parameter_name"><p>document</p></td>
+<td class="parameter_description"><p>A <a class="link" href="PopplerDocument.html" title="PopplerDocument"><span class="type">PopplerDocument</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.2.3.9.28.6"></a><h4>Returns</h4>
+<p> Number of attachments</p>
+<p></p>
+</div>
<p class="since">Since 0.18</p>
</div>
<hr>
<div class="refsect2">
-<a name="poppler-document-has-attachments"></a><h3>poppler_document_has_attachments ()</h3>
-<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> poppler_document_has_attachments (<em class="parameter"><code><a class="link" href="PopplerDocument.html" title="PopplerDocument"><span class="type">PopplerDocument</span></a> *document</code></em>);</pre>
-<p>
-Returns <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> of <em class="parameter"><code>document</code></em> has any attachments.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="poppler-document-has-attachments"></a><h3>poppler_document_has_attachments ()</h3>
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+poppler_document_has_attachments (<em class="parameter"><code><a class="link" href="PopplerDocument.html" title="PopplerDocument"><span class="type">PopplerDocument</span></a> *document</code></em>);</pre>
+<p>Returns <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> of <em class="parameter"><code>document</code></em>
+ has any attachments.</p>
+<div class="refsect3">
+<a name="id-1.2.3.9.29.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>document</code></em> :</span></p></td>
-<td>A <a class="link" href="PopplerDocument.html" title="PopplerDocument"><span class="type">PopplerDocument</span></a>
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>, if <em class="parameter"><code>document</code></em> has attachments.</td>
-</tr>
-</tbody>
+<tbody><tr>
+<td class="parameter_name"><p>document</p></td>
+<td class="parameter_description"><p>A <a class="link" href="PopplerDocument.html" title="PopplerDocument"><span class="type">PopplerDocument</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="id-1.2.3.9.29.6"></a><h4>Returns</h4>
+<p> <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>, if <em class="parameter"><code>document</code></em>
+has attachments.</p>
+<p></p>
+</div>
+</div>
<hr>
<div class="refsect2">
-<a name="poppler-document-get-attachments"></a><h3>poppler_document_get_attachments ()</h3>
-<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="returnvalue">GList</span></a> * poppler_document_get_attachments (<em class="parameter"><code><a class="link" href="PopplerDocument.html" title="PopplerDocument"><span class="type">PopplerDocument</span></a> *document</code></em>);</pre>
-<p>
-Returns a <a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> containing <a class="link" href="PopplerAttachment.html" title="PopplerAttachment"><span class="type">PopplerAttachment</span></a>s. These attachments
+<a name="poppler-document-get-attachments"></a><h3>poppler_document_get_attachments ()</h3>
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="returnvalue">GList</span></a> *
+poppler_document_get_attachments (<em class="parameter"><code><a class="link" href="PopplerDocument.html" title="PopplerDocument"><span class="type">PopplerDocument</span></a> *document</code></em>);</pre>
+<p>Returns a <a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> containing <a class="link" href="PopplerAttachment.html" title="PopplerAttachment"><span class="type">PopplerAttachment</span></a>s. These attachments
are unowned, and must be unreffed, and the list must be freed with
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#g-list-free"><code class="function">g_list_free()</code></a>.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#g-list-free"><code class="function">g_list_free()</code></a>.</p>
+<div class="refsect3">
+<a name="id-1.2.3.9.30.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>document</code></em> :</span></p></td>
-<td>A <a class="link" href="PopplerDocument.html" title="PopplerDocument"><span class="type">PopplerDocument</span></a>
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>a list of available attachments. <span class="annotation">[<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> PopplerAttachment][<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
-</td>
-</tr>
-</tbody>
+<tbody><tr>
+<td class="parameter_name"><p>document</p></td>
+<td class="parameter_description"><p>A <a class="link" href="PopplerDocument.html" title="PopplerDocument"><span class="type">PopplerDocument</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="id-1.2.3.9.30.6"></a><h4>Returns</h4>
+<p> a list of available attachments. </p>
+<p><span class="annotation">[<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> PopplerAttachment][<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
<hr>
<div class="refsect2">
-<a name="poppler-document-get-form-field"></a><h3>poppler_document_get_form_field ()</h3>
-<pre class="programlisting"><a class="link" href="PopplerFormField.html" title="PoppplerFormField"><span class="returnvalue">PopplerFormField</span></a> * poppler_document_get_form_field (<em class="parameter"><code><a class="link" href="PopplerDocument.html" title="PopplerDocument"><span class="type">PopplerDocument</span></a> *document</code></em>,
- <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> id</code></em>);</pre>
-<p>
-Returns the <a class="link" href="PopplerFormField.html" title="PoppplerFormField"><span class="type">PopplerFormField</span></a> for the given <em class="parameter"><code>id</code></em>. It must be freed with
-<a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#g-object-unref"><code class="function">g_object_unref()</code></a>
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="poppler-document-get-form-field"></a><h3>poppler_document_get_form_field ()</h3>
+<pre class="programlisting"><a class="link" href="PopplerFormField.html" title="PoppplerFormField"><span class="returnvalue">PopplerFormField</span></a> *
+poppler_document_get_form_field (<em class="parameter"><code><a class="link" href="PopplerDocument.html" title="PopplerDocument"><span class="type">PopplerDocument</span></a> *document</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> id</code></em>);</pre>
+<p>Returns the <a class="link" href="PopplerFormField.html" title="PoppplerFormField"><span class="type">PopplerFormField</span></a> for the given <em class="parameter"><code>id</code></em>
+. It must be freed with
+<a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#g-object-unref"><code class="function">g_object_unref()</code></a></p>
+<div class="refsect3">
+<a name="id-1.2.3.9.31.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><em class="parameter"><code>document</code></em> :</span></p></td>
-<td>a <a class="link" href="PopplerDocument.html" title="PopplerDocument"><span class="type">PopplerDocument</span></a>
-</td>
+<td class="parameter_name"><p>document</p></td>
+<td class="parameter_description"><p>a <a class="link" href="PopplerDocument.html" title="PopplerDocument"><span class="type">PopplerDocument</span></a></p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><em class="parameter"><code>id</code></em> :</span></p></td>
-<td>an id of a <a class="link" href="PopplerFormField.html" title="PoppplerFormField"><span class="type">PopplerFormField</span></a>
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>a new <a class="link" href="PopplerFormField.html" title="PoppplerFormField"><span class="type">PopplerFormField</span></a> or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if
-not found. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
-</td>
+<td class="parameter_name"><p>id</p></td>
+<td class="parameter_description"><p>an id of a <a class="link" href="PopplerFormField.html" title="PoppplerFormField"><span class="type">PopplerFormField</span></a></p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="id-1.2.3.9.31.6"></a><h4>Returns</h4>
+<p> a new <a class="link" href="PopplerFormField.html" title="PoppplerFormField"><span class="type">PopplerFormField</span></a> or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if
+not found. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
<hr>
<div class="refsect2">
-<a name="poppler-index-iter-new"></a><h3>poppler_index_iter_new ()</h3>
-<pre class="programlisting"><a class="link" href="PopplerDocument.html#PopplerIndexIter" title="PopplerIndexIter"><span class="returnvalue">PopplerIndexIter</span></a> * poppler_index_iter_new (<em class="parameter"><code><a class="link" href="PopplerDocument.html" title="PopplerDocument"><span class="type">PopplerDocument</span></a> *document</code></em>);</pre>
-<p>
-Returns the root <a class="link" href="PopplerDocument.html#PopplerIndexIter" title="PopplerIndexIter"><span class="type">PopplerIndexIter</span></a> for <em class="parameter"><code>document</code></em>, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. This must be
-freed with <a class="link" href="PopplerDocument.html#poppler-index-iter-free" title="poppler_index_iter_free ()"><code class="function">poppler_index_iter_free()</code></a>.
-</p>
-<p>
-Certain documents have an index associated with them. This index can be used
+<a name="poppler-index-iter-new"></a><h3>poppler_index_iter_new ()</h3>
+<pre class="programlisting"><a class="link" href="PopplerDocument.html#PopplerIndexIter" title="PopplerIndexIter"><span class="returnvalue">PopplerIndexIter</span></a> *
+poppler_index_iter_new (<em class="parameter"><code><a class="link" href="PopplerDocument.html" title="PopplerDocument"><span class="type">PopplerDocument</span></a> *document</code></em>);</pre>
+<p>Returns the root <a class="link" href="PopplerDocument.html#PopplerIndexIter" title="PopplerIndexIter"><span class="type">PopplerIndexIter</span></a> for <em class="parameter"><code>document</code></em>
+, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. This must be
+freed with <a class="link" href="PopplerDocument.html#poppler-index-iter-free" title="poppler_index_iter_free ()"><code class="function">poppler_index_iter_free()</code></a>.</p>
+<p>Certain documents have an index associated with them. This index can be used
to help the user navigate the document, and is similar to a table of
contents. Each node in the index will contain a <a class="link" href="poppler-PopplerAction.html#PopplerAction" title="union PopplerAction"><span class="type">PopplerAction</span></a> that can be
displayed to the user — typically a <a class="link" href="poppler-PopplerAction.html#POPPLER-ACTION-GOTO-DEST:CAPS"><span class="type">POPPLER_ACTION_GOTO_DEST</span></a> or a
-<a class="link" href="poppler-PopplerAction.html#POPPLER-ACTION-URI:CAPS"><span class="type">POPPLER_ACTION_URI</span></a>.
-</p>
-<p>
-Here is a simple example of some code that walks the full index:
-</p>
-<p>
-</p>
+<a class="link" href="poppler-PopplerAction.html#POPPLER-ACTION-URI:CAPS"><span class="type">POPPLER_ACTION_URI</span></a>.</p>
+<p>Here is a simple example of some code that walks the full index:</p>
<div class="informalexample"><pre class="programlisting">
static void
walk_index (PopplerIndexIter *iter)
@@ -1592,223 +1825,238 @@ walk_index (PopplerIndexIter *iter)
poppler_index_iter_free (iter);
}
</pre></div>
-<p>
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<div class="refsect3">
+<a name="id-1.2.3.9.32.8"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>document</code></em> :</span></p></td>
-<td>a <a class="link" href="PopplerDocument.html" title="PopplerDocument"><span class="type">PopplerDocument</span></a>
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>a new <a class="link" href="PopplerDocument.html#PopplerIndexIter" title="PopplerIndexIter"><span class="type">PopplerIndexIter</span></a>
-</td>
-</tr>
-</tbody>
+<tbody><tr>
+<td class="parameter_name"><p>document</p></td>
+<td class="parameter_description"><p>a <a class="link" href="PopplerDocument.html" title="PopplerDocument"><span class="type">PopplerDocument</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="id-1.2.3.9.32.9"></a><h4>Returns</h4>
+<p> a new <a class="link" href="PopplerDocument.html#PopplerIndexIter" title="PopplerIndexIter"><span class="type">PopplerIndexIter</span></a></p>
+<p></p>
+</div>
+</div>
<hr>
<div class="refsect2">
-<a name="poppler-index-iter-copy"></a><h3>poppler_index_iter_copy ()</h3>
-<pre class="programlisting"><a class="link" href="PopplerDocument.html#PopplerIndexIter" title="PopplerIndexIter"><span class="returnvalue">PopplerIndexIter</span></a> * poppler_index_iter_copy (<em class="parameter"><code><a class="link" href="PopplerDocument.html#PopplerIndexIter" title="PopplerIndexIter"><span class="type">PopplerIndexIter</span></a> *iter</code></em>);</pre>
-<p>
-Creates a new <a class="link" href="PopplerDocument.html#PopplerIndexIter" title="PopplerIndexIter"><span class="type">PopplerIndexIter</span></a> as a copy of <em class="parameter"><code>iter</code></em>. This must be freed with
-<a class="link" href="PopplerDocument.html#poppler-index-iter-free" title="poppler_index_iter_free ()"><code class="function">poppler_index_iter_free()</code></a>.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="poppler-index-iter-copy"></a><h3>poppler_index_iter_copy ()</h3>
+<pre class="programlisting"><a class="link" href="PopplerDocument.html#PopplerIndexIter" title="PopplerIndexIter"><span class="returnvalue">PopplerIndexIter</span></a> *
+poppler_index_iter_copy (<em class="parameter"><code><a class="link" href="PopplerDocument.html#PopplerIndexIter" title="PopplerIndexIter"><span class="type">PopplerIndexIter</span></a> *iter</code></em>);</pre>
+<p>Creates a new <a class="link" href="PopplerDocument.html#PopplerIndexIter" title="PopplerIndexIter"><span class="type">PopplerIndexIter</span></a> as a copy of <em class="parameter"><code>iter</code></em>
+. This must be freed with
+<a class="link" href="PopplerDocument.html#poppler-index-iter-free" title="poppler_index_iter_free ()"><code class="function">poppler_index_iter_free()</code></a>.</p>
+<div class="refsect3">
+<a name="id-1.2.3.9.33.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>iter</code></em> :</span></p></td>
-<td>a <a class="link" href="PopplerDocument.html#PopplerIndexIter" title="PopplerIndexIter"><span class="type">PopplerIndexIter</span></a>
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>a new <a class="link" href="PopplerDocument.html#PopplerIndexIter" title="PopplerIndexIter"><span class="type">PopplerIndexIter</span></a>
-</td>
-</tr>
-</tbody>
+<tbody><tr>
+<td class="parameter_name"><p>iter</p></td>
+<td class="parameter_description"><p>a <a class="link" href="PopplerDocument.html#PopplerIndexIter" title="PopplerIndexIter"><span class="type">PopplerIndexIter</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="id-1.2.3.9.33.6"></a><h4>Returns</h4>
+<p> a new <a class="link" href="PopplerDocument.html#PopplerIndexIter" title="PopplerIndexIter"><span class="type">PopplerIndexIter</span></a></p>
+<p></p>
+</div>
+</div>
<hr>
<div class="refsect2">
-<a name="poppler-index-iter-free"></a><h3>poppler_index_iter_free ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span> poppler_index_iter_free (<em class="parameter"><code><a class="link" href="PopplerDocument.html#PopplerIndexIter" title="PopplerIndexIter"><span class="type">PopplerIndexIter</span></a> *iter</code></em>);</pre>
-<p>
-Frees <em class="parameter"><code>iter</code></em>.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="poppler-index-iter-free"></a><h3>poppler_index_iter_free ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+poppler_index_iter_free (<em class="parameter"><code><a class="link" href="PopplerDocument.html#PopplerIndexIter" title="PopplerIndexIter"><span class="type">PopplerIndexIter</span></a> *iter</code></em>);</pre>
+<p>Frees <em class="parameter"><code>iter</code></em>
+.</p>
+<div class="refsect3">
+<a name="id-1.2.3.9.34.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
-<td><p><span class="term"><em class="parameter"><code>iter</code></em> :</span></p></td>
-<td>a <a class="link" href="PopplerDocument.html#PopplerIndexIter" title="PopplerIndexIter"><span class="type">PopplerIndexIter</span></a>
-</td>
+<td class="parameter_name"><p>iter</p></td>
+<td class="parameter_description"><p>a <a class="link" href="PopplerDocument.html#PopplerIndexIter" title="PopplerIndexIter"><span class="type">PopplerIndexIter</span></a></p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
+</div>
<hr>
<div class="refsect2">
-<a name="poppler-index-iter-get-child"></a><h3>poppler_index_iter_get_child ()</h3>
-<pre class="programlisting"><a class="link" href="PopplerDocument.html#PopplerIndexIter" title="PopplerIndexIter"><span class="returnvalue">PopplerIndexIter</span></a> * poppler_index_iter_get_child (<em class="parameter"><code><a class="link" href="PopplerDocument.html#PopplerIndexIter" title="PopplerIndexIter"><span class="type">PopplerIndexIter</span></a> *parent</code></em>);</pre>
-<p>
-Returns a newly created child of <em class="parameter"><code>parent</code></em>, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if the iter has no child.
-See <a class="link" href="PopplerDocument.html#poppler-index-iter-new" title="poppler_index_iter_new ()"><code class="function">poppler_index_iter_new()</code></a> for more information on this function.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="poppler-index-iter-get-child"></a><h3>poppler_index_iter_get_child ()</h3>
+<pre class="programlisting"><a class="link" href="PopplerDocument.html#PopplerIndexIter" title="PopplerIndexIter"><span class="returnvalue">PopplerIndexIter</span></a> *
+poppler_index_iter_get_child (<em class="parameter"><code><a class="link" href="PopplerDocument.html#PopplerIndexIter" title="PopplerIndexIter"><span class="type">PopplerIndexIter</span></a> *parent</code></em>);</pre>
+<p>Returns a newly created child of <em class="parameter"><code>parent</code></em>
+, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if the iter has no child.
+See <a class="link" href="PopplerDocument.html#poppler-index-iter-new" title="poppler_index_iter_new ()"><code class="function">poppler_index_iter_new()</code></a> for more information on this function.</p>
+<div class="refsect3">
+<a name="id-1.2.3.9.35.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>parent</code></em> :</span></p></td>
-<td>a <a class="link" href="PopplerDocument.html#PopplerIndexIter" title="PopplerIndexIter"><span class="type">PopplerIndexIter</span></a>
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>a new <a class="link" href="PopplerDocument.html#PopplerIndexIter" title="PopplerIndexIter"><span class="type">PopplerIndexIter</span></a>
-</td>
-</tr>
-</tbody>
+<tbody><tr>
+<td class="parameter_name"><p>parent</p></td>
+<td class="parameter_description"><p>a <a class="link" href="PopplerDocument.html#PopplerIndexIter" title="PopplerIndexIter"><span class="type">PopplerIndexIter</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="id-1.2.3.9.35.6"></a><h4>Returns</h4>
+<p> a new <a class="link" href="PopplerDocument.html#PopplerIndexIter" title="PopplerIndexIter"><span class="type">PopplerIndexIter</span></a></p>
+<p></p>
+</div>
+</div>
<hr>
<div class="refsect2">
-<a name="poppler-index-iter-is-open"></a><h3>poppler_index_iter_is_open ()</h3>
-<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> poppler_index_iter_is_open (<em class="parameter"><code><a class="link" href="PopplerDocument.html#PopplerIndexIter" title="PopplerIndexIter"><span class="type">PopplerIndexIter</span></a> *iter</code></em>);</pre>
-<p>
-Returns whether this node should be expanded by default to the user. The
+<a name="poppler-index-iter-is-open"></a><h3>poppler_index_iter_is_open ()</h3>
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+poppler_index_iter_is_open (<em class="parameter"><code><a class="link" href="PopplerDocument.html#PopplerIndexIter" title="PopplerIndexIter"><span class="type">PopplerIndexIter</span></a> *iter</code></em>);</pre>
+<p>Returns whether this node should be expanded by default to the user. The
document can provide a hint as to how the document's index should be expanded
-initially.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+initially.</p>
+<div class="refsect3">
+<a name="id-1.2.3.9.36.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>iter</code></em> :</span></p></td>
-<td>a <a class="link" href="PopplerDocument.html#PopplerIndexIter" title="PopplerIndexIter"><span class="type">PopplerIndexIter</span></a>
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>, if the document wants <em class="parameter"><code>iter</code></em> to be expanded</td>
-</tr>
-</tbody>
+<tbody><tr>
+<td class="parameter_name"><p>iter</p></td>
+<td class="parameter_description"><p>a <a class="link" href="PopplerDocument.html#PopplerIndexIter" title="PopplerIndexIter"><span class="type">PopplerIndexIter</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="id-1.2.3.9.36.6"></a><h4>Returns</h4>
+<p> <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>, if the document wants <em class="parameter"><code>iter</code></em>
+to be expanded</p>
+<p></p>
+</div>
+</div>
<hr>
<div class="refsect2">
-<a name="poppler-index-iter-get-action"></a><h3>poppler_index_iter_get_action ()</h3>
-<pre class="programlisting"><a class="link" href="poppler-PopplerAction.html#PopplerAction" title="union PopplerAction"><span class="returnvalue">PopplerAction</span></a> * poppler_index_iter_get_action (<em class="parameter"><code><a class="link" href="PopplerDocument.html#PopplerIndexIter" title="PopplerIndexIter"><span class="type">PopplerIndexIter</span></a> *iter</code></em>);</pre>
-<p>
-Returns the <a class="link" href="poppler-PopplerAction.html#PopplerAction" title="union PopplerAction"><span class="type">PopplerAction</span></a> associated with <em class="parameter"><code>iter</code></em>. It must be freed with
-<a class="link" href="poppler-PopplerAction.html#poppler-action-free" title="poppler_action_free ()"><code class="function">poppler_action_free()</code></a>.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="poppler-index-iter-get-action"></a><h3>poppler_index_iter_get_action ()</h3>
+<pre class="programlisting"><a class="link" href="poppler-PopplerAction.html#PopplerAction" title="union PopplerAction"><span class="returnvalue">PopplerAction</span></a> *
+poppler_index_iter_get_action (<em class="parameter"><code><a class="link" href="PopplerDocument.html#PopplerIndexIter" title="PopplerIndexIter"><span class="type">PopplerIndexIter</span></a> *iter</code></em>);</pre>
+<p>Returns the <a class="link" href="poppler-PopplerAction.html#PopplerAction" title="union PopplerAction"><span class="type">PopplerAction</span></a> associated with <em class="parameter"><code>iter</code></em>
+. It must be freed with
+<a class="link" href="poppler-PopplerAction.html#poppler-action-free" title="poppler_action_free ()"><code class="function">poppler_action_free()</code></a>.</p>
+<div class="refsect3">
+<a name="id-1.2.3.9.37.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>iter</code></em> :</span></p></td>
-<td>a <a class="link" href="PopplerDocument.html#PopplerIndexIter" title="PopplerIndexIter"><span class="type">PopplerIndexIter</span></a>
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>a new <a class="link" href="poppler-PopplerAction.html#PopplerAction" title="union PopplerAction"><span class="type">PopplerAction</span></a>
-</td>
-</tr>
-</tbody>
+<tbody><tr>
+<td class="parameter_name"><p>iter</p></td>
+<td class="parameter_description"><p>a <a class="link" href="PopplerDocument.html#PopplerIndexIter" title="PopplerIndexIter"><span class="type">PopplerIndexIter</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="id-1.2.3.9.37.6"></a><h4>Returns</h4>
+<p> a new <a class="link" href="poppler-PopplerAction.html#PopplerAction" title="union PopplerAction"><span class="type">PopplerAction</span></a></p>
+<p></p>
+</div>
+</div>
<hr>
<div class="refsect2">
-<a name="poppler-index-iter-next"></a><h3>poppler_index_iter_next ()</h3>
-<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> poppler_index_iter_next (<em class="parameter"><code><a class="link" href="PopplerDocument.html#PopplerIndexIter" title="PopplerIndexIter"><span class="type">PopplerIndexIter</span></a> *iter</code></em>);</pre>
-<p>
-Sets <em class="parameter"><code>iter</code></em> to point to the next action at the current level, if valid. See
-<a class="link" href="PopplerDocument.html#poppler-index-iter-new" title="poppler_index_iter_new ()"><code class="function">poppler_index_iter_new()</code></a> for more information.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="poppler-index-iter-next"></a><h3>poppler_index_iter_next ()</h3>
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+poppler_index_iter_next (<em class="parameter"><code><a class="link" href="PopplerDocument.html#PopplerIndexIter" title="PopplerIndexIter"><span class="type">PopplerIndexIter</span></a> *iter</code></em>);</pre>
+<p>Sets <em class="parameter"><code>iter</code></em>
+ to point to the next action at the current level, if valid. See
+<a class="link" href="PopplerDocument.html#poppler-index-iter-new" title="poppler_index_iter_new ()"><code class="function">poppler_index_iter_new()</code></a> for more information.</p>
+<div class="refsect3">
+<a name="id-1.2.3.9.38.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>iter</code></em> :</span></p></td>
-<td>a <a class="link" href="PopplerDocument.html#PopplerIndexIter" title="PopplerIndexIter"><span class="type">PopplerIndexIter</span></a>
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>, if <em class="parameter"><code>iter</code></em> was set to the next action</td>
-</tr>
-</tbody>
+<tbody><tr>
+<td class="parameter_name"><p>iter</p></td>
+<td class="parameter_description"><p>a <a class="link" href="PopplerDocument.html#PopplerIndexIter" title="PopplerIndexIter"><span class="type">PopplerIndexIter</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="id-1.2.3.9.38.6"></a><h4>Returns</h4>
+<p> <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>, if <em class="parameter"><code>iter</code></em>
+was set to the next action</p>
+<p></p>
+</div>
+</div>
<hr>
<div class="refsect2">
-<a name="poppler-font-info-new"></a><h3>poppler_font_info_new ()</h3>
-<pre class="programlisting"><a class="link" href="PopplerDocument.html#PopplerFontInfo" title="PopplerFontInfo"><span class="returnvalue">PopplerFontInfo</span></a> * poppler_font_info_new (<em class="parameter"><code><a class="link" href="PopplerDocument.html" title="PopplerDocument"><span class="type">PopplerDocument</span></a> *document</code></em>);</pre>
-<p>
-Creates a new <a class="link" href="PopplerDocument.html#PopplerFontInfo" title="PopplerFontInfo"><span class="type">PopplerFontInfo</span></a> object
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="poppler-font-info-new"></a><h3>poppler_font_info_new ()</h3>
+<pre class="programlisting"><a class="link" href="PopplerDocument.html#PopplerFontInfo" title="PopplerFontInfo"><span class="returnvalue">PopplerFontInfo</span></a> *
+poppler_font_info_new (<em class="parameter"><code><a class="link" href="PopplerDocument.html" title="PopplerDocument"><span class="type">PopplerDocument</span></a> *document</code></em>);</pre>
+<p>Creates a new <a class="link" href="PopplerDocument.html#PopplerFontInfo" title="PopplerFontInfo"><span class="type">PopplerFontInfo</span></a> object</p>
+<div class="refsect3">
+<a name="id-1.2.3.9.39.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>document</code></em> :</span></p></td>
-<td>a <a class="link" href="PopplerDocument.html" title="PopplerDocument"><span class="type">PopplerDocument</span></a>
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>a new <a class="link" href="PopplerDocument.html#PopplerFontInfo" title="PopplerFontInfo"><span class="type">PopplerFontInfo</span></a> instance</td>
-</tr>
-</tbody>
+<tbody><tr>
+<td class="parameter_name"><p>document</p></td>
+<td class="parameter_description"><p>a <a class="link" href="PopplerDocument.html" title="PopplerDocument"><span class="type">PopplerDocument</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="id-1.2.3.9.39.6"></a><h4>Returns</h4>
+<p> a new <a class="link" href="PopplerDocument.html#PopplerFontInfo" title="PopplerFontInfo"><span class="type">PopplerFontInfo</span></a> instance</p>
+<p></p>
+</div>
+</div>
<hr>
<div class="refsect2">
-<a name="poppler-font-info-scan"></a><h3>poppler_font_info_scan ()</h3>
-<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> poppler_font_info_scan (<em class="parameter"><code><a class="link" href="PopplerDocument.html#PopplerFontInfo" title="PopplerFontInfo"><span class="type">PopplerFontInfo</span></a> *font_info</code></em>,
- <em class="parameter"><code><span class="type">int</span> n_pages</code></em>,
- <em class="parameter"><code><a class="link" href="PopplerDocument.html#PopplerFontsIter" title="PopplerFontsIter"><span class="type">PopplerFontsIter</span></a> **iter</code></em>);</pre>
-<p>
-Scans the document associated with <em class="parameter"><code>font_info</code></em> for fonts. At most
-<em class="parameter"><code>n_pages</code></em> will be scanned starting from the current iterator. <em class="parameter"><code>iter</code></em> will
-point to the first font scanned.
-</p>
-<p>
-Here is a simple example of code to scan fonts in a document
-</p>
-<p>
-</p>
+<a name="poppler-font-info-scan"></a><h3>poppler_font_info_scan ()</h3>
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+poppler_font_info_scan (<em class="parameter"><code><a class="link" href="PopplerDocument.html#PopplerFontInfo" title="PopplerFontInfo"><span class="type">PopplerFontInfo</span></a> *font_info</code></em>,
+ <em class="parameter"><code><span class="type">int</span> n_pages</code></em>,
+ <em class="parameter"><code><a class="link" href="PopplerDocument.html#PopplerFontsIter" title="PopplerFontsIter"><span class="type">PopplerFontsIter</span></a> **iter</code></em>);</pre>
+<p>Scans the document associated with <em class="parameter"><code>font_info</code></em>
+ for fonts. At most
+<em class="parameter"><code>n_pages</code></em>
+ will be scanned starting from the current iterator. <em class="parameter"><code>iter</code></em>
+ will
+point to the first font scanned.</p>
+<p>Here is a simple example of code to scan fonts in a document</p>
<div class="informalexample"><pre class="programlisting">
font_info = poppler_font_info_new (document);
while (poppler_font_info_scan (font_info, 20, &amp;fonts_iter)) {
@@ -1821,767 +2069,1260 @@ while (poppler_font_info_scan (font_info, 20, &amp;fonts_iter)) {
poppler_fonts_iter_free (fonts_iter);
}
</pre></div>
-<p>
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<div class="refsect3">
+<a name="id-1.2.3.9.40.7"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><em class="parameter"><code>font_info</code></em> :</span></p></td>
-<td>a <a class="link" href="PopplerDocument.html#PopplerFontInfo" title="PopplerFontInfo"><span class="type">PopplerFontInfo</span></a>
-</td>
+<td class="parameter_name"><p>font_info</p></td>
+<td class="parameter_description"><p>a <a class="link" href="PopplerDocument.html#PopplerFontInfo" title="PopplerFontInfo"><span class="type">PopplerFontInfo</span></a></p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><em class="parameter"><code>n_pages</code></em> :</span></p></td>
-<td>number of pages to scan</td>
+<td class="parameter_name"><p>n_pages</p></td>
+<td class="parameter_description"><p>number of pages to scan</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><em class="parameter"><code>iter</code></em> :</span></p></td>
-<td>return location for a <a class="link" href="PopplerDocument.html#PopplerFontsIter" title="PopplerFontsIter"><span class="type">PopplerFontsIter</span></a>. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span>
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>, if there are more fonts left to scan</td>
+<td class="parameter_name"><p>iter</p></td>
+<td class="parameter_description"><p> return location for a <a class="link" href="PopplerDocument.html#PopplerFontsIter" title="PopplerFontsIter"><span class="type">PopplerFontsIter</span></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span></td>
</tr>
</tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="id-1.2.3.9.40.8"></a><h4>Returns</h4>
+<p> <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>, if there are more fonts left to scan</p>
+<p></p>
+</div>
+</div>
<hr>
<div class="refsect2">
-<a name="poppler-font-info-free"></a><h3>poppler_font_info_free ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span> poppler_font_info_free (<em class="parameter"><code><a class="link" href="PopplerDocument.html#PopplerFontInfo" title="PopplerFontInfo"><span class="type">PopplerFontInfo</span></a> *font_info</code></em>);</pre>
+<a name="poppler-font-info-free"></a><h3>poppler_font_info_free ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+poppler_font_info_free (<em class="parameter"><code><a class="link" href="PopplerDocument.html#PopplerFontInfo" title="PopplerFontInfo"><span class="type">PopplerFontInfo</span></a> *font_info</code></em>);</pre>
</div>
<hr>
<div class="refsect2">
-<a name="poppler-fonts-iter-copy"></a><h3>poppler_fonts_iter_copy ()</h3>
-<pre class="programlisting"><a class="link" href="PopplerDocument.html#PopplerFontsIter" title="PopplerFontsIter"><span class="returnvalue">PopplerFontsIter</span></a> * poppler_fonts_iter_copy (<em class="parameter"><code><a class="link" href="PopplerDocument.html#PopplerFontsIter" title="PopplerFontsIter"><span class="type">PopplerFontsIter</span></a> *iter</code></em>);</pre>
-<p>
-Creates a copy of <em class="parameter"><code>iter</code></em>
+<a name="poppler-fonts-iter-copy"></a><h3>poppler_fonts_iter_copy ()</h3>
+<pre class="programlisting"><a class="link" href="PopplerDocument.html#PopplerFontsIter" title="PopplerFontsIter"><span class="returnvalue">PopplerFontsIter</span></a> *
+poppler_fonts_iter_copy (<em class="parameter"><code><a class="link" href="PopplerDocument.html#PopplerFontsIter" title="PopplerFontsIter"><span class="type">PopplerFontsIter</span></a> *iter</code></em>);</pre>
+<p>Creates a copy of <em class="parameter"><code>iter</code></em>
</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<div class="refsect3">
+<a name="id-1.2.3.9.42.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>iter</code></em> :</span></p></td>
-<td>a <a class="link" href="PopplerDocument.html#PopplerFontsIter" title="PopplerFontsIter"><span class="type">PopplerFontsIter</span></a> to copy</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>a new allocated copy of <em class="parameter"><code>iter</code></em>
-</td>
-</tr>
-</tbody>
+<tbody><tr>
+<td class="parameter_name"><p>iter</p></td>
+<td class="parameter_description"><p>a <a class="link" href="PopplerDocument.html#PopplerFontsIter" title="PopplerFontsIter"><span class="type">PopplerFontsIter</span></a> to copy</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="id-1.2.3.9.42.6"></a><h4>Returns</h4>
+<p> a new allocated copy of <em class="parameter"><code>iter</code></em>
+</p>
+<p></p>
+</div>
+</div>
<hr>
<div class="refsect2">
-<a name="poppler-fonts-iter-free"></a><h3>poppler_fonts_iter_free ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span> poppler_fonts_iter_free (<em class="parameter"><code><a class="link" href="PopplerDocument.html#PopplerFontsIter" title="PopplerFontsIter"><span class="type">PopplerFontsIter</span></a> *iter</code></em>);</pre>
-<p>
-Frees the given <a class="link" href="PopplerDocument.html#PopplerFontsIter" title="PopplerFontsIter"><span class="type">PopplerFontsIter</span></a>
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="poppler-fonts-iter-free"></a><h3>poppler_fonts_iter_free ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+poppler_fonts_iter_free (<em class="parameter"><code><a class="link" href="PopplerDocument.html#PopplerFontsIter" title="PopplerFontsIter"><span class="type">PopplerFontsIter</span></a> *iter</code></em>);</pre>
+<p>Frees the given <a class="link" href="PopplerDocument.html#PopplerFontsIter" title="PopplerFontsIter"><span class="type">PopplerFontsIter</span></a></p>
+<div class="refsect3">
+<a name="id-1.2.3.9.43.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
-<td><p><span class="term"><em class="parameter"><code>iter</code></em> :</span></p></td>
-<td>a <a class="link" href="PopplerDocument.html#PopplerFontsIter" title="PopplerFontsIter"><span class="type">PopplerFontsIter</span></a>
-</td>
+<td class="parameter_name"><p>iter</p></td>
+<td class="parameter_description"><p>a <a class="link" href="PopplerDocument.html#PopplerFontsIter" title="PopplerFontsIter"><span class="type">PopplerFontsIter</span></a></p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
+</div>
<hr>
<div class="refsect2">
-<a name="poppler-fonts-iter-get-name"></a><h3>poppler_fonts_iter_get_name ()</h3>
-<pre class="programlisting">const <span class="returnvalue">char</span> * poppler_fonts_iter_get_name (<em class="parameter"><code><a class="link" href="PopplerDocument.html#PopplerFontsIter" title="PopplerFontsIter"><span class="type">PopplerFontsIter</span></a> *iter</code></em>);</pre>
-<p>
-Returns the name of the font associated with <em class="parameter"><code>iter</code></em>
+<a name="poppler-fonts-iter-get-name"></a><h3>poppler_fonts_iter_get_name ()</h3>
+<pre class="programlisting">const <span class="returnvalue">char</span> *
+poppler_fonts_iter_get_name (<em class="parameter"><code><a class="link" href="PopplerDocument.html#PopplerFontsIter" title="PopplerFontsIter"><span class="type">PopplerFontsIter</span></a> *iter</code></em>);</pre>
+<p>Returns the name of the font associated with <em class="parameter"><code>iter</code></em>
</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<div class="refsect3">
+<a name="id-1.2.3.9.44.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>iter</code></em> :</span></p></td>
-<td>a <a class="link" href="PopplerDocument.html#PopplerFontsIter" title="PopplerFontsIter"><span class="type">PopplerFontsIter</span></a>
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>the font name</td>
-</tr>
-</tbody>
+<tbody><tr>
+<td class="parameter_name"><p>iter</p></td>
+<td class="parameter_description"><p>a <a class="link" href="PopplerDocument.html#PopplerFontsIter" title="PopplerFontsIter"><span class="type">PopplerFontsIter</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="id-1.2.3.9.44.6"></a><h4>Returns</h4>
+<p> the font name</p>
+<p></p>
+</div>
+</div>
<hr>
<div class="refsect2">
-<a name="poppler-fonts-iter-get-full-name"></a><h3>poppler_fonts_iter_get_full_name ()</h3>
-<pre class="programlisting">const <span class="returnvalue">char</span> * poppler_fonts_iter_get_full_name (<em class="parameter"><code><a class="link" href="PopplerDocument.html#PopplerFontsIter" title="PopplerFontsIter"><span class="type">PopplerFontsIter</span></a> *iter</code></em>);</pre>
-<p>
-Returns the full name of the font associated with <em class="parameter"><code>iter</code></em>
+<a name="poppler-fonts-iter-get-full-name"></a><h3>poppler_fonts_iter_get_full_name ()</h3>
+<pre class="programlisting">const <span class="returnvalue">char</span> *
+poppler_fonts_iter_get_full_name (<em class="parameter"><code><a class="link" href="PopplerDocument.html#PopplerFontsIter" title="PopplerFontsIter"><span class="type">PopplerFontsIter</span></a> *iter</code></em>);</pre>
+<p>Returns the full name of the font associated with <em class="parameter"><code>iter</code></em>
</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<div class="refsect3">
+<a name="id-1.2.3.9.45.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>iter</code></em> :</span></p></td>
-<td>a <a class="link" href="PopplerDocument.html#PopplerFontsIter" title="PopplerFontsIter"><span class="type">PopplerFontsIter</span></a>
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>the font full name</td>
-</tr>
-</tbody>
+<tbody><tr>
+<td class="parameter_name"><p>iter</p></td>
+<td class="parameter_description"><p>a <a class="link" href="PopplerDocument.html#PopplerFontsIter" title="PopplerFontsIter"><span class="type">PopplerFontsIter</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="id-1.2.3.9.45.6"></a><h4>Returns</h4>
+<p> the font full name</p>
+<p></p>
+</div>
+</div>
<hr>
<div class="refsect2">
-<a name="poppler-fonts-iter-get-font-type"></a><h3>poppler_fonts_iter_get_font_type ()</h3>
-<pre class="programlisting"><a class="link" href="PopplerDocument.html#PopplerFontType" title="enum PopplerFontType"><span class="returnvalue">PopplerFontType</span></a> poppler_fonts_iter_get_font_type (<em class="parameter"><code><a class="link" href="PopplerDocument.html#PopplerFontsIter" title="PopplerFontsIter"><span class="type">PopplerFontsIter</span></a> *iter</code></em>);</pre>
-<p>
-Returns the type of the font associated with <em class="parameter"><code>iter</code></em>
+<a name="poppler-fonts-iter-get-font-type"></a><h3>poppler_fonts_iter_get_font_type ()</h3>
+<pre class="programlisting"><a class="link" href="PopplerDocument.html#PopplerFontType" title="enum PopplerFontType"><span class="returnvalue">PopplerFontType</span></a>
+poppler_fonts_iter_get_font_type (<em class="parameter"><code><a class="link" href="PopplerDocument.html#PopplerFontsIter" title="PopplerFontsIter"><span class="type">PopplerFontsIter</span></a> *iter</code></em>);</pre>
+<p>Returns the type of the font associated with <em class="parameter"><code>iter</code></em>
</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<div class="refsect3">
+<a name="id-1.2.3.9.46.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>iter</code></em> :</span></p></td>
-<td>a <a class="link" href="PopplerDocument.html#PopplerFontsIter" title="PopplerFontsIter"><span class="type">PopplerFontsIter</span></a>
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>the font type</td>
-</tr>
-</tbody>
+<tbody><tr>
+<td class="parameter_name"><p>iter</p></td>
+<td class="parameter_description"><p>a <a class="link" href="PopplerDocument.html#PopplerFontsIter" title="PopplerFontsIter"><span class="type">PopplerFontsIter</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="id-1.2.3.9.46.6"></a><h4>Returns</h4>
+<p> the font type</p>
+<p></p>
+</div>
+</div>
<hr>
<div class="refsect2">
-<a name="poppler-fonts-iter-get-substitute-name"></a><h3>poppler_fonts_iter_get_substitute_name ()</h3>
-<pre class="programlisting">const <span class="returnvalue">char</span> * poppler_fonts_iter_get_substitute_name
- (<em class="parameter"><code><a class="link" href="PopplerDocument.html#PopplerFontsIter" title="PopplerFontsIter"><span class="type">PopplerFontsIter</span></a> *iter</code></em>);</pre>
-<p>
-The name of the substitute font of the font associated with <em class="parameter"><code>iter</code></em> or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if
-the font is embedded
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="poppler-fonts-iter-get-substitute-name"></a><h3>poppler_fonts_iter_get_substitute_name ()</h3>
+<pre class="programlisting">const <span class="returnvalue">char</span> *
+poppler_fonts_iter_get_substitute_name
+ (<em class="parameter"><code><a class="link" href="PopplerDocument.html#PopplerFontsIter" title="PopplerFontsIter"><span class="type">PopplerFontsIter</span></a> *iter</code></em>);</pre>
+<p>The name of the substitute font of the font associated with <em class="parameter"><code>iter</code></em>
+ or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if
+the font is embedded</p>
+<div class="refsect3">
+<a name="id-1.2.3.9.47.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>iter</code></em> :</span></p></td>
-<td>a <a class="link" href="PopplerDocument.html#PopplerFontsIter" title="PopplerFontsIter"><span class="type">PopplerFontsIter</span></a>
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>the name of the substitute font or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if font is embedded</td>
-</tr>
-</tbody>
+<tbody><tr>
+<td class="parameter_name"><p>iter</p></td>
+<td class="parameter_description"><p>a <a class="link" href="PopplerDocument.html#PopplerFontsIter" title="PopplerFontsIter"><span class="type">PopplerFontsIter</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.2.3.9.47.6"></a><h4>Returns</h4>
+<p> the name of the substitute font or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if font is embedded</p>
+<p></p>
+</div>
<p class="since">Since 0.20</p>
</div>
<hr>
<div class="refsect2">
-<a name="poppler-fonts-iter-get-file-name"></a><h3>poppler_fonts_iter_get_file_name ()</h3>
-<pre class="programlisting">const <span class="returnvalue">char</span> * poppler_fonts_iter_get_file_name (<em class="parameter"><code><a class="link" href="PopplerDocument.html#PopplerFontsIter" title="PopplerFontsIter"><span class="type">PopplerFontsIter</span></a> *iter</code></em>);</pre>
-<p>
-The filename of the font associated with <em class="parameter"><code>iter</code></em> or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if
-the font is embedded
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="poppler-fonts-iter-get-file-name"></a><h3>poppler_fonts_iter_get_file_name ()</h3>
+<pre class="programlisting">const <span class="returnvalue">char</span> *
+poppler_fonts_iter_get_file_name (<em class="parameter"><code><a class="link" href="PopplerDocument.html#PopplerFontsIter" title="PopplerFontsIter"><span class="type">PopplerFontsIter</span></a> *iter</code></em>);</pre>
+<p>The filename of the font associated with <em class="parameter"><code>iter</code></em>
+ or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if
+the font is embedded</p>
+<div class="refsect3">
+<a name="id-1.2.3.9.48.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>iter</code></em> :</span></p></td>
-<td>a <a class="link" href="PopplerDocument.html#PopplerFontsIter" title="PopplerFontsIter"><span class="type">PopplerFontsIter</span></a>
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>the filename of the font or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if font is embedded</td>
-</tr>
-</tbody>
+<tbody><tr>
+<td class="parameter_name"><p>iter</p></td>
+<td class="parameter_description"><p>a <a class="link" href="PopplerDocument.html#PopplerFontsIter" title="PopplerFontsIter"><span class="type">PopplerFontsIter</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="id-1.2.3.9.48.6"></a><h4>Returns</h4>
+<p> the filename of the font or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if font is embedded</p>
+<p></p>
+</div>
+</div>
<hr>
<div class="refsect2">
-<a name="poppler-fonts-iter-get-encoding"></a><h3>poppler_fonts_iter_get_encoding ()</h3>
-<pre class="programlisting">const <span class="returnvalue">char</span> * poppler_fonts_iter_get_encoding (<em class="parameter"><code><a class="link" href="PopplerDocument.html#PopplerFontsIter" title="PopplerFontsIter"><span class="type">PopplerFontsIter</span></a> *iter</code></em>);</pre>
-<p>
-Returns the encoding of the font associated with <em class="parameter"><code>iter</code></em>
+<a name="poppler-fonts-iter-get-encoding"></a><h3>poppler_fonts_iter_get_encoding ()</h3>
+<pre class="programlisting">const <span class="returnvalue">char</span> *
+poppler_fonts_iter_get_encoding (<em class="parameter"><code><a class="link" href="PopplerDocument.html#PopplerFontsIter" title="PopplerFontsIter"><span class="type">PopplerFontsIter</span></a> *iter</code></em>);</pre>
+<p>Returns the encoding of the font associated with <em class="parameter"><code>iter</code></em>
</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<div class="refsect3">
+<a name="id-1.2.3.9.49.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>iter</code></em> :</span></p></td>
-<td>a <a class="link" href="PopplerDocument.html#PopplerFontsIter" title="PopplerFontsIter"><span class="type">PopplerFontsIter</span></a>
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>the font encoding</td>
-</tr>
-</tbody>
+<tbody><tr>
+<td class="parameter_name"><p>iter</p></td>
+<td class="parameter_description"><p>a <a class="link" href="PopplerDocument.html#PopplerFontsIter" title="PopplerFontsIter"><span class="type">PopplerFontsIter</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.2.3.9.49.6"></a><h4>Returns</h4>
+<p> the font encoding</p>
+<p></p>
+</div>
<p class="since">Since 0.20</p>
</div>
<hr>
<div class="refsect2">
-<a name="poppler-fonts-iter-is-embedded"></a><h3>poppler_fonts_iter_is_embedded ()</h3>
-<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> poppler_fonts_iter_is_embedded (<em class="parameter"><code><a class="link" href="PopplerDocument.html#PopplerFontsIter" title="PopplerFontsIter"><span class="type">PopplerFontsIter</span></a> *iter</code></em>);</pre>
-<p>
-Returns whether the font associated with <em class="parameter"><code>iter</code></em> is embedded in the document
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="poppler-fonts-iter-is-embedded"></a><h3>poppler_fonts_iter_is_embedded ()</h3>
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+poppler_fonts_iter_is_embedded (<em class="parameter"><code><a class="link" href="PopplerDocument.html#PopplerFontsIter" title="PopplerFontsIter"><span class="type">PopplerFontsIter</span></a> *iter</code></em>);</pre>
+<p>Returns whether the font associated with <em class="parameter"><code>iter</code></em>
+ is embedded in the document</p>
+<div class="refsect3">
+<a name="id-1.2.3.9.50.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>iter</code></em> :</span></p></td>
-<td>a <a class="link" href="PopplerDocument.html#PopplerFontsIter" title="PopplerFontsIter"><span class="type">PopplerFontsIter</span></a>
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if font is emebdded, <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise</td>
-</tr>
-</tbody>
+<tbody><tr>
+<td class="parameter_name"><p>iter</p></td>
+<td class="parameter_description"><p>a <a class="link" href="PopplerDocument.html#PopplerFontsIter" title="PopplerFontsIter"><span class="type">PopplerFontsIter</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="id-1.2.3.9.50.6"></a><h4>Returns</h4>
+<p> <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if font is emebdded, <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise</p>
+<p></p>
+</div>
+</div>
<hr>
<div class="refsect2">
-<a name="poppler-fonts-iter-is-subset"></a><h3>poppler_fonts_iter_is_subset ()</h3>
-<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> poppler_fonts_iter_is_subset (<em class="parameter"><code><a class="link" href="PopplerDocument.html#PopplerFontsIter" title="PopplerFontsIter"><span class="type">PopplerFontsIter</span></a> *iter</code></em>);</pre>
-<p>
-Returns whether the font associated with <em class="parameter"><code>iter</code></em> is a subset of another font
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="poppler-fonts-iter-is-subset"></a><h3>poppler_fonts_iter_is_subset ()</h3>
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+poppler_fonts_iter_is_subset (<em class="parameter"><code><a class="link" href="PopplerDocument.html#PopplerFontsIter" title="PopplerFontsIter"><span class="type">PopplerFontsIter</span></a> *iter</code></em>);</pre>
+<p>Returns whether the font associated with <em class="parameter"><code>iter</code></em>
+ is a subset of another font</p>
+<div class="refsect3">
+<a name="id-1.2.3.9.51.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>iter</code></em> :</span></p></td>
-<td>a <a class="link" href="PopplerDocument.html#PopplerFontsIter" title="PopplerFontsIter"><span class="type">PopplerFontsIter</span></a>
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if font is a subset, <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise</td>
-</tr>
-</tbody>
+<tbody><tr>
+<td class="parameter_name"><p>iter</p></td>
+<td class="parameter_description"><p>a <a class="link" href="PopplerDocument.html#PopplerFontsIter" title="PopplerFontsIter"><span class="type">PopplerFontsIter</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="id-1.2.3.9.51.6"></a><h4>Returns</h4>
+<p> <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if font is a subset, <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise</p>
+<p></p>
+</div>
+</div>
<hr>
<div class="refsect2">
-<a name="poppler-fonts-iter-next"></a><h3>poppler_fonts_iter_next ()</h3>
-<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> poppler_fonts_iter_next (<em class="parameter"><code><a class="link" href="PopplerDocument.html#PopplerFontsIter" title="PopplerFontsIter"><span class="type">PopplerFontsIter</span></a> *iter</code></em>);</pre>
-<p>
-Sets <em class="parameter"><code>iter</code></em> to point to the next font
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="poppler-fonts-iter-next"></a><h3>poppler_fonts_iter_next ()</h3>
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+poppler_fonts_iter_next (<em class="parameter"><code><a class="link" href="PopplerDocument.html#PopplerFontsIter" title="PopplerFontsIter"><span class="type">PopplerFontsIter</span></a> *iter</code></em>);</pre>
+<p>Sets <em class="parameter"><code>iter</code></em>
+ to point to the next font</p>
+<div class="refsect3">
+<a name="id-1.2.3.9.52.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>iter</code></em> :</span></p></td>
-<td>a <a class="link" href="PopplerDocument.html#PopplerFontsIter" title="PopplerFontsIter"><span class="type">PopplerFontsIter</span></a>
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>, if <em class="parameter"><code>iter</code></em> was set to the next font</td>
-</tr>
-</tbody>
+<tbody><tr>
+<td class="parameter_name"><p>iter</p></td>
+<td class="parameter_description"><p>a <a class="link" href="PopplerDocument.html#PopplerFontsIter" title="PopplerFontsIter"><span class="type">PopplerFontsIter</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="id-1.2.3.9.52.6"></a><h4>Returns</h4>
+<p> <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>, if <em class="parameter"><code>iter</code></em>
+was set to the next font</p>
+<p></p>
+</div>
+</div>
<hr>
<div class="refsect2">
-<a name="poppler-layers-iter-new"></a><h3>poppler_layers_iter_new ()</h3>
-<pre class="programlisting"><a class="link" href="PopplerDocument.html#PopplerLayersIter" title="PopplerLayersIter"><span class="returnvalue">PopplerLayersIter</span></a> * poppler_layers_iter_new (<em class="parameter"><code><a class="link" href="PopplerDocument.html" title="PopplerDocument"><span class="type">PopplerDocument</span></a> *document</code></em>);</pre>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="poppler-layers-iter-new"></a><h3>poppler_layers_iter_new ()</h3>
+<pre class="programlisting"><a class="link" href="PopplerDocument.html#PopplerLayersIter" title="PopplerLayersIter"><span class="returnvalue">PopplerLayersIter</span></a> *
+poppler_layers_iter_new (<em class="parameter"><code><a class="link" href="PopplerDocument.html" title="PopplerDocument"><span class="type">PopplerDocument</span></a> *document</code></em>);</pre>
+<div class="refsect3">
+<a name="id-1.2.3.9.53.4"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
-<td><p><span class="term"><em class="parameter"><code>document</code></em> :</span></p></td>
-<td>a <a class="link" href="PopplerDocument.html" title="PopplerDocument"><span class="type">PopplerDocument</span></a>
-</td>
+<td class="parameter_name"><p>document</p></td>
+<td class="parameter_description"><p>a <a class="link" href="PopplerDocument.html" title="PopplerDocument"><span class="type">PopplerDocument</span></a></p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
+</div>
<p class="since">Since 0.12</p>
</div>
<hr>
<div class="refsect2">
-<a name="poppler-layers-iter-copy"></a><h3>poppler_layers_iter_copy ()</h3>
-<pre class="programlisting"><a class="link" href="PopplerDocument.html#PopplerLayersIter" title="PopplerLayersIter"><span class="returnvalue">PopplerLayersIter</span></a> * poppler_layers_iter_copy (<em class="parameter"><code><a class="link" href="PopplerDocument.html#PopplerLayersIter" title="PopplerLayersIter"><span class="type">PopplerLayersIter</span></a> *iter</code></em>);</pre>
-<p>
-Creates a new <a class="link" href="PopplerDocument.html#PopplerLayersIter" title="PopplerLayersIter"><span class="type">PopplerLayersIter</span></a> as a copy of <em class="parameter"><code>iter</code></em>. This must be freed with
-<a class="link" href="PopplerDocument.html#poppler-layers-iter-free" title="poppler_layers_iter_free ()"><code class="function">poppler_layers_iter_free()</code></a>.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="poppler-layers-iter-copy"></a><h3>poppler_layers_iter_copy ()</h3>
+<pre class="programlisting"><a class="link" href="PopplerDocument.html#PopplerLayersIter" title="PopplerLayersIter"><span class="returnvalue">PopplerLayersIter</span></a> *
+poppler_layers_iter_copy (<em class="parameter"><code><a class="link" href="PopplerDocument.html#PopplerLayersIter" title="PopplerLayersIter"><span class="type">PopplerLayersIter</span></a> *iter</code></em>);</pre>
+<p>Creates a new <a class="link" href="PopplerDocument.html#PopplerLayersIter" title="PopplerLayersIter"><span class="type">PopplerLayersIter</span></a> as a copy of <em class="parameter"><code>iter</code></em>
+. This must be freed with
+<a class="link" href="PopplerDocument.html#poppler-layers-iter-free" title="poppler_layers_iter_free ()"><code class="function">poppler_layers_iter_free()</code></a>.</p>
+<div class="refsect3">
+<a name="id-1.2.3.9.54.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>iter</p></td>
+<td class="parameter_description"><p>a <a class="link" href="PopplerDocument.html#PopplerLayersIter" title="PopplerLayersIter"><span class="type">PopplerLayersIter</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.2.3.9.54.6"></a><h4>Returns</h4>
+<p> a new <a class="link" href="PopplerDocument.html#PopplerLayersIter" title="PopplerLayersIter"><span class="type">PopplerLayersIter</span></a></p>
+<p>Since 0.12</p>
+<p></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="poppler-layers-iter-free"></a><h3>poppler_layers_iter_free ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+poppler_layers_iter_free (<em class="parameter"><code><a class="link" href="PopplerDocument.html#PopplerLayersIter" title="PopplerLayersIter"><span class="type">PopplerLayersIter</span></a> *iter</code></em>);</pre>
+<p>Frees <em class="parameter"><code>iter</code></em>
+.</p>
+<div class="refsect3">
+<a name="id-1.2.3.9.55.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>iter</p></td>
+<td class="parameter_description"><p>a <a class="link" href="PopplerDocument.html#PopplerLayersIter" title="PopplerLayersIter"><span class="type">PopplerLayersIter</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<p class="since">Since 0.12</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="poppler-layers-iter-get-child"></a><h3>poppler_layers_iter_get_child ()</h3>
+<pre class="programlisting"><a class="link" href="PopplerDocument.html#PopplerLayersIter" title="PopplerLayersIter"><span class="returnvalue">PopplerLayersIter</span></a> *
+poppler_layers_iter_get_child (<em class="parameter"><code><a class="link" href="PopplerDocument.html#PopplerLayersIter" title="PopplerLayersIter"><span class="type">PopplerLayersIter</span></a> *parent</code></em>);</pre>
+<p>Returns a newly created child of <em class="parameter"><code>parent</code></em>
+, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if the iter has no child.
+See <a class="link" href="PopplerDocument.html#poppler-layers-iter-new" title="poppler_layers_iter_new ()"><code class="function">poppler_layers_iter_new()</code></a> for more information on this function.</p>
+<div class="refsect3">
+<a name="id-1.2.3.9.56.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>parent</p></td>
+<td class="parameter_description"><p>a <a class="link" href="PopplerDocument.html#PopplerLayersIter" title="PopplerLayersIter"><span class="type">PopplerLayersIter</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.2.3.9.56.6"></a><h4>Returns</h4>
+<p> a new <a class="link" href="PopplerDocument.html#PopplerLayersIter" title="PopplerLayersIter"><span class="type">PopplerLayersIter</span></a>, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a></p>
+<p></p>
+</div>
+<p class="since">Since 0.12</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="poppler-layers-iter-get-layer"></a><h3>poppler_layers_iter_get_layer ()</h3>
+<pre class="programlisting"><a class="link" href="PopplerLayer.html" title="PopplerLayer"><span class="returnvalue">PopplerLayer</span></a> *
+poppler_layers_iter_get_layer (<em class="parameter"><code><a class="link" href="PopplerDocument.html#PopplerLayersIter" title="PopplerLayersIter"><span class="type">PopplerLayersIter</span></a> *iter</code></em>);</pre>
+<p>Returns the <a class="link" href="PopplerLayer.html" title="PopplerLayer"><span class="type">PopplerLayer</span></a> associated with <em class="parameter"><code>iter</code></em>
+.</p>
+<div class="refsect3">
+<a name="id-1.2.3.9.57.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>iter</p></td>
+<td class="parameter_description"><p>a <a class="link" href="PopplerDocument.html#PopplerLayersIter" title="PopplerLayersIter"><span class="type">PopplerLayersIter</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.2.3.9.57.6"></a><h4>Returns</h4>
+<p> a new <a class="link" href="PopplerLayer.html" title="PopplerLayer"><span class="type">PopplerLayer</span></a>, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if
+there isn't any layer associated with <em class="parameter"><code>iter</code></em>
+. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+<p class="since">Since 0.12</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="poppler-layers-iter-get-title"></a><h3>poppler_layers_iter_get_title ()</h3>
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+poppler_layers_iter_get_title (<em class="parameter"><code><a class="link" href="PopplerDocument.html#PopplerLayersIter" title="PopplerLayersIter"><span class="type">PopplerLayersIter</span></a> *iter</code></em>);</pre>
+<p>Returns the title associated with <em class="parameter"><code>iter</code></em>
+. It must be freed with
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a>.</p>
+<div class="refsect3">
+<a name="id-1.2.3.9.58.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>iter</p></td>
+<td class="parameter_description"><p>a <a class="link" href="PopplerDocument.html#PopplerLayersIter" title="PopplerLayersIter"><span class="type">PopplerLayersIter</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.2.3.9.58.6"></a><h4>Returns</h4>
+<p> a new string containing the <em class="parameter"><code>iter</code></em>
+'s title or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if <em class="parameter"><code>iter</code></em>
+doesn't have a title.
+The returned string should be freed with <a href="http://library.gnome.org/devel/glib/unstable/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a> when no longer needed.</p>
+<p></p>
+</div>
+<p class="since">Since 0.12</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="poppler-layers-iter-next"></a><h3>poppler_layers_iter_next ()</h3>
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+poppler_layers_iter_next (<em class="parameter"><code><a class="link" href="PopplerDocument.html#PopplerLayersIter" title="PopplerLayersIter"><span class="type">PopplerLayersIter</span></a> *iter</code></em>);</pre>
+<p>Sets <em class="parameter"><code>iter</code></em>
+ to point to the next action at the current level, if valid. See
+<a class="link" href="PopplerDocument.html#poppler-layers-iter-new" title="poppler_layers_iter_new ()"><code class="function">poppler_layers_iter_new()</code></a> for more information.</p>
+<div class="refsect3">
+<a name="id-1.2.3.9.59.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>iter</p></td>
+<td class="parameter_description"><p>a <a class="link" href="PopplerDocument.html#PopplerLayersIter" title="PopplerLayersIter"><span class="type">PopplerLayersIter</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.2.3.9.59.6"></a><h4>Returns</h4>
+<p> <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>, if <em class="parameter"><code>iter</code></em>
+was set to the next action</p>
+<p></p>
+</div>
+<p class="since">Since 0.12</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="poppler-ps-file-new"></a><h3>poppler_ps_file_new ()</h3>
+<pre class="programlisting"><a class="link" href="PopplerDocument.html#PopplerPSFile" title="PopplerPSFile"><span class="returnvalue">PopplerPSFile</span></a> *
+poppler_ps_file_new (<em class="parameter"><code><a class="link" href="PopplerDocument.html" title="PopplerDocument"><span class="type">PopplerDocument</span></a> *document</code></em>,
+ <em class="parameter"><code>const <span class="type">char</span> *filename</code></em>,
+ <em class="parameter"><code><span class="type">int</span> first_page</code></em>,
+ <em class="parameter"><code><span class="type">int</span> n_pages</code></em>);</pre>
+<p>Create a new postscript file to render to</p>
+<div class="refsect3">
+<a name="id-1.2.3.9.60.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><em class="parameter"><code>iter</code></em> :</span></p></td>
-<td>a <a class="link" href="PopplerDocument.html#PopplerLayersIter" title="PopplerLayersIter"><span class="type">PopplerLayersIter</span></a>
-</td>
+<td class="parameter_name"><p>document</p></td>
+<td class="parameter_description"><p>a <a class="link" href="PopplerDocument.html" title="PopplerDocument"><span class="type">PopplerDocument</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>filename</p></td>
+<td class="parameter_description"><p>the path of the output filename</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>a new <a class="link" href="PopplerDocument.html#PopplerLayersIter" title="PopplerLayersIter"><span class="type">PopplerLayersIter</span></a>
-Since 0.12</td>
+<td class="parameter_name"><p>first_page</p></td>
+<td class="parameter_description"><p>the first page to print</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>n_pages</p></td>
+<td class="parameter_description"><p>the number of pages to print</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="id-1.2.3.9.60.6"></a><h4>Returns</h4>
+<p> a PopplerPSFile </p>
+<p></p>
+</div>
+</div>
<hr>
<div class="refsect2">
-<a name="poppler-layers-iter-free"></a><h3>poppler_layers_iter_free ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span> poppler_layers_iter_free (<em class="parameter"><code><a class="link" href="PopplerDocument.html#PopplerLayersIter" title="PopplerLayersIter"><span class="type">PopplerLayersIter</span></a> *iter</code></em>);</pre>
-<p>
-Frees <em class="parameter"><code>iter</code></em>.
+<a name="poppler-ps-file-free"></a><h3>poppler_ps_file_free ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+poppler_ps_file_free (<em class="parameter"><code><a class="link" href="PopplerDocument.html#PopplerPSFile" title="PopplerPSFile"><span class="type">PopplerPSFile</span></a> *ps_file</code></em>);</pre>
+<p>Frees <em class="parameter"><code>ps_file</code></em>
</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<div class="refsect3">
+<a name="id-1.2.3.9.61.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
-<td><p><span class="term"><em class="parameter"><code>iter</code></em> :</span></p></td>
-<td>a <a class="link" href="PopplerDocument.html#PopplerLayersIter" title="PopplerLayersIter"><span class="type">PopplerLayersIter</span></a>
-</td>
+<td class="parameter_name"><p>ps_file</p></td>
+<td class="parameter_description"><p>a PopplerPSFile</p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
-<p class="since">Since 0.12</p>
+</div>
</div>
<hr>
<div class="refsect2">
-<a name="poppler-layers-iter-get-child"></a><h3>poppler_layers_iter_get_child ()</h3>
-<pre class="programlisting"><a class="link" href="PopplerDocument.html#PopplerLayersIter" title="PopplerLayersIter"><span class="returnvalue">PopplerLayersIter</span></a> * poppler_layers_iter_get_child (<em class="parameter"><code><a class="link" href="PopplerDocument.html#PopplerLayersIter" title="PopplerLayersIter"><span class="type">PopplerLayersIter</span></a> *parent</code></em>);</pre>
-<p>
-Returns a newly created child of <em class="parameter"><code>parent</code></em>, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if the iter has no child.
-See <a class="link" href="PopplerDocument.html#poppler-layers-iter-new" title="poppler_layers_iter_new ()"><code class="function">poppler_layers_iter_new()</code></a> for more information on this function.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="poppler-ps-file-set-paper-size"></a><h3>poppler_ps_file_set_paper_size ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+poppler_ps_file_set_paper_size (<em class="parameter"><code><a class="link" href="PopplerDocument.html#PopplerPSFile" title="PopplerPSFile"><span class="type">PopplerPSFile</span></a> *ps_file</code></em>,
+ <em class="parameter"><code><span class="type">double</span> width</code></em>,
+ <em class="parameter"><code><span class="type">double</span> height</code></em>);</pre>
+<p>Set the output paper size. These values will end up in the
+DocumentMedia, the BoundingBox DSC comments and other places in the
+generated PostScript.</p>
+<div class="refsect3">
+<a name="id-1.2.3.9.62.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><em class="parameter"><code>parent</code></em> :</span></p></td>
-<td>a <a class="link" href="PopplerDocument.html#PopplerLayersIter" title="PopplerLayersIter"><span class="type">PopplerLayersIter</span></a>
-</td>
+<td class="parameter_name"><p>ps_file</p></td>
+<td class="parameter_description"><p>a PopplerPSFile which was not yet printed to.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>a new <a class="link" href="PopplerDocument.html#PopplerLayersIter" title="PopplerLayersIter"><span class="type">PopplerLayersIter</span></a>, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>
-</td>
+<td class="parameter_name"><p>width</p></td>
+<td class="parameter_description"><p>the paper width in 1/72 inch</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>height</p></td>
+<td class="parameter_description"><p>the paper height in 1/72 inch</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
-<p class="since">Since 0.12</p>
+</div>
</div>
<hr>
<div class="refsect2">
-<a name="poppler-layers-iter-get-layer"></a><h3>poppler_layers_iter_get_layer ()</h3>
-<pre class="programlisting"><a class="link" href="PopplerLayer.html" title="PopplerLayer"><span class="returnvalue">PopplerLayer</span></a> * poppler_layers_iter_get_layer (<em class="parameter"><code><a class="link" href="PopplerDocument.html#PopplerLayersIter" title="PopplerLayersIter"><span class="type">PopplerLayersIter</span></a> *iter</code></em>);</pre>
-<p>
-Returns the <a class="link" href="PopplerLayer.html" title="PopplerLayer"><span class="type">PopplerLayer</span></a> associated with <em class="parameter"><code>iter</code></em>.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="poppler-ps-file-set-duplex"></a><h3>poppler_ps_file_set_duplex ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+poppler_ps_file_set_duplex (<em class="parameter"><code><a class="link" href="PopplerDocument.html#PopplerPSFile" title="PopplerPSFile"><span class="type">PopplerPSFile</span></a> *ps_file</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> duplex</code></em>);</pre>
+<p>Enable or disable Duplex printing.</p>
+<div class="refsect3">
+<a name="id-1.2.3.9.63.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><em class="parameter"><code>iter</code></em> :</span></p></td>
-<td>a <a class="link" href="PopplerDocument.html#PopplerLayersIter" title="PopplerLayersIter"><span class="type">PopplerLayersIter</span></a>
-</td>
+<td class="parameter_name"><p>ps_file</p></td>
+<td class="parameter_description"><p>a PopplerPSFile which was not yet printed to</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>a new <a class="link" href="PopplerLayer.html" title="PopplerLayer"><span class="type">PopplerLayer</span></a>, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if
-there isn't any layer associated with <em class="parameter"><code>iter</code></em>. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
-</td>
+<td class="parameter_name"><p>duplex</p></td>
+<td class="parameter_description"><p>whether to force duplex printing (on printers which support this)</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
-<p class="since">Since 0.12</p>
+</div>
+</div>
+</div>
+<div class="refsect1">
+<a name="PopplerDocument.other_details"></a><h2>Types and Values</h2>
+<div class="refsect2">
+<a name="PopplerDocument-struct"></a><h3>PopplerDocument</h3>
+<pre class="programlisting">typedef struct _PopplerDocument PopplerDocument;</pre>
</div>
<hr>
<div class="refsect2">
-<a name="poppler-layers-iter-get-title"></a><h3>poppler_layers_iter_get_title ()</h3>
-<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> * poppler_layers_iter_get_title (<em class="parameter"><code><a class="link" href="PopplerDocument.html#PopplerLayersIter" title="PopplerLayersIter"><span class="type">PopplerLayersIter</span></a> *iter</code></em>);</pre>
-<p>
-Returns the title associated with <em class="parameter"><code>iter</code></em>. It must be freed with
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a>.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="PopplerIndexIter"></a><h3>PopplerIndexIter</h3>
+<pre class="programlisting">typedef struct _PopplerIndexIter PopplerIndexIter;</pre>
+</div>
+<hr>
+<div class="refsect2">
+<a name="PopplerFontsIter"></a><h3>PopplerFontsIter</h3>
+<pre class="programlisting">typedef struct _PopplerFontsIter PopplerFontsIter;</pre>
+</div>
+<hr>
+<div class="refsect2">
+<a name="PopplerLayersIter"></a><h3>PopplerLayersIter</h3>
+<pre class="programlisting">typedef struct _PopplerLayersIter PopplerLayersIter;</pre>
+</div>
+<hr>
+<div class="refsect2">
+<a name="PopplerPageLayout"></a><h3>enum PopplerPageLayout</h3>
+<p>Page layout types</p>
+<div class="refsect3">
+<a name="id-1.2.3.10.6.4"></a><h4>Members</h4>
+<div class="informaltable"><table width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="300px" class="enum_members_name">
+<col class="enum_members_description">
+<col width="200px" class="enum_members_annotations">
</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><em class="parameter"><code>iter</code></em> :</span></p></td>
-<td>a <a class="link" href="PopplerDocument.html#PopplerLayersIter" title="PopplerLayersIter"><span class="type">PopplerLayersIter</span></a>
+<td class="enum_member_name"><p><a name="POPPLER-PAGE-LAYOUT-UNSET:CAPS"></a>POPPLER_PAGE_LAYOUT_UNSET</p></td>
+<td class="enum_member_description">
+<p>no specific layout set</p>
</td>
+<td class="enum_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>a new string containing the <em class="parameter"><code>iter</code></em>'s title or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if <em class="parameter"><code>iter</code></em> doesn't have a title.
-The returned string should be freed with <a href="http://library.gnome.org/devel/glib/unstable/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a> when no longer needed.</td>
+<td class="enum_member_name"><p><a name="POPPLER-PAGE-LAYOUT-SINGLE-PAGE:CAPS"></a>POPPLER_PAGE_LAYOUT_SINGLE_PAGE</p></td>
+<td class="enum_member_description">
+<p>one page at a time</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="POPPLER-PAGE-LAYOUT-ONE-COLUMN:CAPS"></a>POPPLER_PAGE_LAYOUT_ONE_COLUMN</p></td>
+<td class="enum_member_description">
+<p>pages in one column</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="POPPLER-PAGE-LAYOUT-TWO-COLUMN-LEFT:CAPS"></a>POPPLER_PAGE_LAYOUT_TWO_COLUMN_LEFT</p></td>
+<td class="enum_member_description">
+<p>pages in two columns with odd numbered pages on the left</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="POPPLER-PAGE-LAYOUT-TWO-COLUMN-RIGHT:CAPS"></a>POPPLER_PAGE_LAYOUT_TWO_COLUMN_RIGHT</p></td>
+<td class="enum_member_description">
+<p>pages in two columns with odd numbered pages on the right</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="POPPLER-PAGE-LAYOUT-TWO-PAGE-LEFT:CAPS"></a>POPPLER_PAGE_LAYOUT_TWO_PAGE_LEFT</p></td>
+<td class="enum_member_description">
+<p>two pages at a time with odd numbered pages on the left</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="POPPLER-PAGE-LAYOUT-TWO-PAGE-RIGHT:CAPS"></a>POPPLER_PAGE_LAYOUT_TWO_PAGE_RIGHT</p></td>
+<td class="enum_member_description">
+<p>two pages at a time with odd numbered pages on the right</p>
+</td>
+<td class="enum_member_annotations"> </td>
</tr>
</tbody>
</table></div>
-<p class="since">Since 0.12</p>
+</div>
</div>
<hr>
<div class="refsect2">
-<a name="poppler-layers-iter-next"></a><h3>poppler_layers_iter_next ()</h3>
-<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> poppler_layers_iter_next (<em class="parameter"><code><a class="link" href="PopplerDocument.html#PopplerLayersIter" title="PopplerLayersIter"><span class="type">PopplerLayersIter</span></a> *iter</code></em>);</pre>
-<p>
-Sets <em class="parameter"><code>iter</code></em> to point to the next action at the current level, if valid. See
-<a class="link" href="PopplerDocument.html#poppler-layers-iter-new" title="poppler_layers_iter_new ()"><code class="function">poppler_layers_iter_new()</code></a> for more information.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="PopplerPageMode"></a><h3>enum PopplerPageMode</h3>
+<p>Page modes</p>
+<div class="refsect3">
+<a name="id-1.2.3.10.7.4"></a><h4>Members</h4>
+<div class="informaltable"><table width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="300px" class="enum_members_name">
+<col class="enum_members_description">
+<col width="200px" class="enum_members_annotations">
</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><em class="parameter"><code>iter</code></em> :</span></p></td>
-<td>a <a class="link" href="PopplerDocument.html#PopplerLayersIter" title="PopplerLayersIter"><span class="type">PopplerLayersIter</span></a>
+<td class="enum_member_name"><p><a name="POPPLER-PAGE-MODE-UNSET:CAPS"></a>POPPLER_PAGE_MODE_UNSET</p></td>
+<td class="enum_member_description">
+<p>no specific mode set</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="POPPLER-PAGE-MODE-NONE:CAPS"></a>POPPLER_PAGE_MODE_NONE</p></td>
+<td class="enum_member_description">
+<p>neither document outline nor thumbnails visible</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="POPPLER-PAGE-MODE-USE-OUTLINES:CAPS"></a>POPPLER_PAGE_MODE_USE_OUTLINES</p></td>
+<td class="enum_member_description">
+<p>document outline visible</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="POPPLER-PAGE-MODE-USE-THUMBS:CAPS"></a>POPPLER_PAGE_MODE_USE_THUMBS</p></td>
+<td class="enum_member_description">
+<p>thumbnails visible</p>
</td>
+<td class="enum_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>, if <em class="parameter"><code>iter</code></em> was set to the next action</td>
+<td class="enum_member_name"><p><a name="POPPLER-PAGE-MODE-FULL-SCREEN:CAPS"></a>POPPLER_PAGE_MODE_FULL_SCREEN</p></td>
+<td class="enum_member_description">
+<p>full-screen mode</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="POPPLER-PAGE-MODE-USE-OC:CAPS"></a>POPPLER_PAGE_MODE_USE_OC</p></td>
+<td class="enum_member_description">
+<p>layers panel visible</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="POPPLER-PAGE-MODE-USE-ATTACHMENTS:CAPS"></a>POPPLER_PAGE_MODE_USE_ATTACHMENTS</p></td>
+<td class="enum_member_description">
+<p>attachments panel visible</p>
+</td>
+<td class="enum_member_annotations"> </td>
</tr>
</tbody>
</table></div>
-<p class="since">Since 0.12</p>
+</div>
</div>
<hr>
<div class="refsect2">
-<a name="poppler-ps-file-new"></a><h3>poppler_ps_file_new ()</h3>
-<pre class="programlisting"><a class="link" href="PopplerDocument.html#PopplerPSFile" title="PopplerPSFile"><span class="returnvalue">PopplerPSFile</span></a> * poppler_ps_file_new (<em class="parameter"><code><a class="link" href="PopplerDocument.html" title="PopplerDocument"><span class="type">PopplerDocument</span></a> *document</code></em>,
- <em class="parameter"><code>const <span class="type">char</span> *filename</code></em>,
- <em class="parameter"><code><span class="type">int</span> first_page</code></em>,
- <em class="parameter"><code><span class="type">int</span> n_pages</code></em>);</pre>
-<p>
-Create a new postscript file to render to
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="PopplerFontInfo"></a><h3>PopplerFontInfo</h3>
+<pre class="programlisting">typedef struct {
+} PopplerFontInfo;
+</pre>
+</div>
+<hr>
+<div class="refsect2">
+<a name="PopplerFontType"></a><h3>enum PopplerFontType</h3>
+<p>Font types</p>
+<div class="refsect3">
+<a name="id-1.2.3.10.9.4"></a><h4>Members</h4>
+<div class="informaltable"><table width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="300px" class="enum_members_name">
+<col class="enum_members_description">
+<col width="200px" class="enum_members_annotations">
</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><em class="parameter"><code>document</code></em> :</span></p></td>
-<td>a <a class="link" href="PopplerDocument.html" title="PopplerDocument"><span class="type">PopplerDocument</span></a>
+<td class="enum_member_name"><p><a name="POPPLER-FONT-TYPE-UNKNOWN:CAPS"></a>POPPLER_FONT_TYPE_UNKNOWN</p></td>
+<td class="enum_member_description">
+<p>unknown font type</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="POPPLER-FONT-TYPE-TYPE1:CAPS"></a>POPPLER_FONT_TYPE_TYPE1</p></td>
+<td class="enum_member_description">
+<p>Type 1 font type</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="POPPLER-FONT-TYPE-TYPE1C:CAPS"></a>POPPLER_FONT_TYPE_TYPE1C</p></td>
+<td class="enum_member_description">
+<p>Type 1 font type embedded in Compact Font Format (CFF) font program</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="POPPLER-FONT-TYPE-TYPE1COT:CAPS"></a>POPPLER_FONT_TYPE_TYPE1COT</p></td>
+<td class="enum_member_description">
+<p>Type 1 font type embedded in OpenType font program</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="POPPLER-FONT-TYPE-TYPE3:CAPS"></a>POPPLER_FONT_TYPE_TYPE3</p></td>
+<td class="enum_member_description">
+<p>A font type that is defined with PDF graphics operators</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="POPPLER-FONT-TYPE-TRUETYPE:CAPS"></a>POPPLER_FONT_TYPE_TRUETYPE</p></td>
+<td class="enum_member_description">
+<p>TrueType font type</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="POPPLER-FONT-TYPE-TRUETYPEOT:CAPS"></a>POPPLER_FONT_TYPE_TRUETYPEOT</p></td>
+<td class="enum_member_description">
+<p>TrueType font type embedded in OpenType font program</p>
</td>
+<td class="enum_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><em class="parameter"><code>filename</code></em> :</span></p></td>
-<td>the path of the output filename</td>
+<td class="enum_member_name"><p><a name="POPPLER-FONT-TYPE-CID-TYPE0:CAPS"></a>POPPLER_FONT_TYPE_CID_TYPE0</p></td>
+<td class="enum_member_description">
+<p>CIDFont type based on Type 1 font technology</p>
+</td>
+<td class="enum_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><em class="parameter"><code>first_page</code></em> :</span></p></td>
-<td>the first page to print</td>
+<td class="enum_member_name"><p><a name="POPPLER-FONT-TYPE-CID-TYPE0C:CAPS"></a>POPPLER_FONT_TYPE_CID_TYPE0C</p></td>
+<td class="enum_member_description">
+<p>CIDFont type based on Type 1 font technology embedded in CFF font program</p>
+</td>
+<td class="enum_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><em class="parameter"><code>n_pages</code></em> :</span></p></td>
-<td>the number of pages to print</td>
+<td class="enum_member_name"><p><a name="POPPLER-FONT-TYPE-CID-TYPE0COT:CAPS"></a>POPPLER_FONT_TYPE_CID_TYPE0COT</p></td>
+<td class="enum_member_description">
+<p>CIDFont type based on Type 1 font technology embedded in OpenType font program</p>
+</td>
+<td class="enum_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>a PopplerPSFile</td>
+<td class="enum_member_name"><p><a name="POPPLER-FONT-TYPE-CID-TYPE2:CAPS"></a>POPPLER_FONT_TYPE_CID_TYPE2</p></td>
+<td class="enum_member_description">
+<p>CIDFont type based on TrueType font technology</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="POPPLER-FONT-TYPE-CID-TYPE2OT:CAPS"></a>POPPLER_FONT_TYPE_CID_TYPE2OT</p></td>
+<td class="enum_member_description">
+<p>CIDFont type based on TrueType font technology embedded in OpenType font program</p>
+</td>
+<td class="enum_member_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
+</div>
<hr>
<div class="refsect2">
-<a name="poppler-ps-file-free"></a><h3>poppler_ps_file_free ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span> poppler_ps_file_free (<em class="parameter"><code><a class="link" href="PopplerDocument.html#PopplerPSFile" title="PopplerPSFile"><span class="type">PopplerPSFile</span></a> *ps_file</code></em>);</pre>
-<p>
-Frees <em class="parameter"><code>ps_file</code></em>
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
-<colgroup>
-<col align="left" valign="top">
-<col>
-</colgroup>
-<tbody><tr>
-<td><p><span class="term"><em class="parameter"><code>ps_file</code></em> :</span></p></td>
-<td>a PopplerPSFile</td>
-</tr></tbody>
-</table></div>
+<a name="PopplerPSFile"></a><h3>PopplerPSFile</h3>
+<pre class="programlisting">typedef struct {
+} PopplerPSFile;
+</pre>
</div>
<hr>
<div class="refsect2">
-<a name="poppler-ps-file-set-paper-size"></a><h3>poppler_ps_file_set_paper_size ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span> poppler_ps_file_set_paper_size (<em class="parameter"><code><a class="link" href="PopplerDocument.html#PopplerPSFile" title="PopplerPSFile"><span class="type">PopplerPSFile</span></a> *ps_file</code></em>,
- <em class="parameter"><code><span class="type">double</span> width</code></em>,
- <em class="parameter"><code><span class="type">double</span> height</code></em>);</pre>
-<p>
-Set the output paper size. These values will end up in the
-DocumentMedia, the BoundingBox DSC comments and other places in the
-generated PostScript.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="PopplerViewerPreferences"></a><h3>enum PopplerViewerPreferences</h3>
+<p>Viewer preferences</p>
+<div class="refsect3">
+<a name="id-1.2.3.10.11.4"></a><h4>Members</h4>
+<div class="informaltable"><table width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="300px" class="enum_members_name">
+<col class="enum_members_description">
+<col width="200px" class="enum_members_annotations">
</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><em class="parameter"><code>ps_file</code></em> :</span></p></td>
-<td>a PopplerPSFile which was not yet printed to.</td>
+<td class="enum_member_name"><p><a name="POPPLER-VIEWER-PREFERENCES-UNSET:CAPS"></a>POPPLER_VIEWER_PREFERENCES_UNSET</p></td>
+<td class="enum_member_description">
+<p>no preferences set</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="POPPLER-VIEWER-PREFERENCES-HIDE-TOOLBAR:CAPS"></a>POPPLER_VIEWER_PREFERENCES_HIDE_TOOLBAR</p></td>
+<td class="enum_member_description">
+<p>hider toolbars when document is active</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="POPPLER-VIEWER-PREFERENCES-HIDE-MENUBAR:CAPS"></a>POPPLER_VIEWER_PREFERENCES_HIDE_MENUBAR</p></td>
+<td class="enum_member_description">
+<p>hide menu bar when document is active</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="POPPLER-VIEWER-PREFERENCES-HIDE-WINDOWUI:CAPS"></a>POPPLER_VIEWER_PREFERENCES_HIDE_WINDOWUI</p></td>
+<td class="enum_member_description">
+<p>hide UI elements in document's window</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="POPPLER-VIEWER-PREFERENCES-FIT-WINDOW:CAPS"></a>POPPLER_VIEWER_PREFERENCES_FIT_WINDOW</p></td>
+<td class="enum_member_description">
+<p>resize document's window to fit the size of the first displayed page</p>
+</td>
+<td class="enum_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><em class="parameter"><code>width</code></em> :</span></p></td>
-<td>the paper width in 1/72 inch</td>
+<td class="enum_member_name"><p><a name="POPPLER-VIEWER-PREFERENCES-CENTER-WINDOW:CAPS"></a>POPPLER_VIEWER_PREFERENCES_CENTER_WINDOW</p></td>
+<td class="enum_member_description">
+<p>position the document's window in the center of the screen</p>
+</td>
+<td class="enum_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><em class="parameter"><code>height</code></em> :</span></p></td>
-<td>the paper height in 1/72 inch</td>
+<td class="enum_member_name"><p><a name="POPPLER-VIEWER-PREFERENCES-DISPLAY-DOC-TITLE:CAPS"></a>POPPLER_VIEWER_PREFERENCES_DISPLAY_DOC_TITLE</p></td>
+<td class="enum_member_description">
+<p>display document title in window's title bar</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="POPPLER-VIEWER-PREFERENCES-DIRECTION-RTL:CAPS"></a>POPPLER_VIEWER_PREFERENCES_DIRECTION_RTL</p></td>
+<td class="enum_member_description">
+<p>the predominant reading order for text is right to left</p>
+</td>
+<td class="enum_member_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
+</div>
<hr>
<div class="refsect2">
-<a name="poppler-ps-file-set-duplex"></a><h3>poppler_ps_file_set_duplex ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span> poppler_ps_file_set_duplex (<em class="parameter"><code><a class="link" href="PopplerDocument.html#PopplerPSFile" title="PopplerPSFile"><span class="type">PopplerPSFile</span></a> *ps_file</code></em>,
- <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> duplex</code></em>);</pre>
-<p>
-Enable or disable Duplex printing.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="PopplerPermissions"></a><h3>enum PopplerPermissions</h3>
+<p>Permissions</p>
+<div class="refsect3">
+<a name="id-1.2.3.10.12.4"></a><h4>Members</h4>
+<div class="informaltable"><table width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="300px" class="enum_members_name">
+<col class="enum_members_description">
+<col width="200px" class="enum_members_annotations">
</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><em class="parameter"><code>ps_file</code></em> :</span></p></td>
-<td>a PopplerPSFile which was not yet printed to</td>
+<td class="enum_member_name"><p><a name="POPPLER-PERMISSIONS-OK-TO-PRINT:CAPS"></a>POPPLER_PERMISSIONS_OK_TO_PRINT</p></td>
+<td class="enum_member_description">
+<p>document can be printer</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="POPPLER-PERMISSIONS-OK-TO-MODIFY:CAPS"></a>POPPLER_PERMISSIONS_OK_TO_MODIFY</p></td>
+<td class="enum_member_description">
+<p>document contents can be modified</p>
+</td>
+<td class="enum_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><em class="parameter"><code>duplex</code></em> :</span></p></td>
-<td>whether to force duplex printing (on printers which support this)</td>
+<td class="enum_member_name"><p><a name="POPPLER-PERMISSIONS-OK-TO-COPY:CAPS"></a>POPPLER_PERMISSIONS_OK_TO_COPY</p></td>
+<td class="enum_member_description">
+<p>document can be copied</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="POPPLER-PERMISSIONS-OK-TO-ADD-NOTES:CAPS"></a>POPPLER_PERMISSIONS_OK_TO_ADD_NOTES</p></td>
+<td class="enum_member_description">
+<p>annotations can added to the document</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="POPPLER-PERMISSIONS-OK-TO-FILL-FORM:CAPS"></a>POPPLER_PERMISSIONS_OK_TO_FILL_FORM</p></td>
+<td class="enum_member_description">
+<p>interactive form fields can be filled in</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="POPPLER-PERMISSIONS-OK-TO-EXTRACT-CONTENTS:CAPS"></a>POPPLER_PERMISSIONS_OK_TO_EXTRACT_CONTENTS</p></td>
+<td class="enum_member_description">
+<p>extract text and graphics
+(in support of accessibility to users with disabilities or for other purposes). Since 0.18</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="POPPLER-PERMISSIONS-OK-TO-ASSEMBLE:CAPS"></a>POPPLER_PERMISSIONS_OK_TO_ASSEMBLE</p></td>
+<td class="enum_member_description">
+<p>assemble the document (insert, rotate, or delete pages and create
+bookmarks or thumbnail images). Since 0.18</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="POPPLER-PERMISSIONS-OK-TO-PRINT-HIGH-RESOLUTION:CAPS"></a>POPPLER_PERMISSIONS_OK_TO_PRINT_HIGH_RESOLUTION</p></td>
+<td class="enum_member_description">
+<p>document can be printer at high resolution. Since 0.18</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="POPPLER-PERMISSIONS-FULL:CAPS"></a>POPPLER_PERMISSIONS_FULL</p></td>
+<td class="enum_member_description">
+<p>document permits all operations</p>
+</td>
+<td class="enum_member_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
+</div>
<div class="refsect1">
<a name="PopplerDocument.property-details"></a><h2>Property Details</h2>
<div class="refsect2">
-<a name="PopplerDocument--author"></a><h3>The <code class="literal">"author"</code> property</h3>
-<pre class="programlisting"> "author" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a>* : Read</pre>
-<p>
-The author of the document
-</p>
+<a name="PopplerDocument--author"></a><h3>The <code class="literal">“authorâ€</code> property</h3>
+<pre class="programlisting"> “author†<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *</pre>
+<p>The author of the document</p>
+<p>Flags: Read</p>
<p>Default value: NULL</p>
</div>
<hr>
<div class="refsect2">
-<a name="PopplerDocument--creation-date"></a><h3>The <code class="literal">"creation-date"</code> property</h3>
-<pre class="programlisting"> "creation-date" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> : Read</pre>
-<p>
-The date the document was created as seconds since the Epoch, or -1
-</p>
+<a name="PopplerDocument--creation-date"></a><h3>The <code class="literal">“creation-dateâ€</code> property</h3>
+<pre class="programlisting"> “creation-date†<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a></pre>
+<p>The date the document was created as seconds since the Epoch, or -1</p>
+<p>Flags: Read</p>
<p>Allowed values: &gt;= -1</p>
<p>Default value: -1</p>
</div>
<hr>
<div class="refsect2">
-<a name="PopplerDocument--creator"></a><h3>The <code class="literal">"creator"</code> property</h3>
-<pre class="programlisting"> "creator" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a>* : Read</pre>
-<p>
-The creator of the document. See also <a class="link" href="PopplerDocument.html#poppler-document-get-creator" title="poppler_document_get_creator ()"><code class="function">poppler_document_get_creator()</code></a>
-</p>
+<a name="PopplerDocument--creator"></a><h3>The <code class="literal">“creatorâ€</code> property</h3>
+<pre class="programlisting"> “creator†<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *</pre>
+<p>The creator of the document. See also <a class="link" href="PopplerDocument.html#poppler-document-get-creator" title="poppler_document_get_creator ()"><code class="function">poppler_document_get_creator()</code></a></p>
+<p>Flags: Read</p>
<p>Default value: NULL</p>
</div>
<hr>
<div class="refsect2">
-<a name="PopplerDocument--format"></a><h3>The <code class="literal">"format"</code> property</h3>
-<pre class="programlisting"> "format" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a>* : Read</pre>
-<p>
-The PDF version as string. See also <a class="link" href="PopplerDocument.html#poppler-document-get-pdf-version-string" title="poppler_document_get_pdf_version_string ()"><code class="function">poppler_document_get_pdf_version_string()</code></a>
-</p>
+<a name="PopplerDocument--format"></a><h3>The <code class="literal">“formatâ€</code> property</h3>
+<pre class="programlisting"> “format†<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *</pre>
+<p>The PDF version as string. See also <a class="link" href="PopplerDocument.html#poppler-document-get-pdf-version-string" title="poppler_document_get_pdf_version_string ()"><code class="function">poppler_document_get_pdf_version_string()</code></a></p>
+<p>Flags: Read</p>
<p>Default value: NULL</p>
</div>
<hr>
<div class="refsect2">
-<a name="PopplerDocument--format-major"></a><h3>The <code class="literal">"format-major"</code> property</h3>
-<pre class="programlisting"> "format-major" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> : Read</pre>
-<p>
-The PDF major version number. See also <a class="link" href="PopplerDocument.html#poppler-document-get-pdf-version" title="poppler_document_get_pdf_version ()"><code class="function">poppler_document_get_pdf_version()</code></a>
-</p>
+<a name="PopplerDocument--format-major"></a><h3>The <code class="literal">“format-majorâ€</code> property</h3>
+<pre class="programlisting"> “format-major†<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a></pre>
+<p>The PDF major version number. See also <a class="link" href="PopplerDocument.html#poppler-document-get-pdf-version" title="poppler_document_get_pdf_version ()"><code class="function">poppler_document_get_pdf_version()</code></a></p>
+<p>Flags: Read</p>
<p>Default value: 1</p>
</div>
<hr>
<div class="refsect2">
-<a name="PopplerDocument--format-minor"></a><h3>The <code class="literal">"format-minor"</code> property</h3>
-<pre class="programlisting"> "format-minor" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> : Read</pre>
-<p>
-The PDF minor version number. See also <a class="link" href="PopplerDocument.html#poppler-document-get-pdf-version" title="poppler_document_get_pdf_version ()"><code class="function">poppler_document_get_pdf_version()</code></a>
-</p>
+<a name="PopplerDocument--format-minor"></a><h3>The <code class="literal">“format-minorâ€</code> property</h3>
+<pre class="programlisting"> “format-minor†<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a></pre>
+<p>The PDF minor version number. See also <a class="link" href="PopplerDocument.html#poppler-document-get-pdf-version" title="poppler_document_get_pdf_version ()"><code class="function">poppler_document_get_pdf_version()</code></a></p>
+<p>Flags: Read</p>
<p>Default value: 0</p>
</div>
<hr>
<div class="refsect2">
-<a name="PopplerDocument--keywords"></a><h3>The <code class="literal">"keywords"</code> property</h3>
-<pre class="programlisting"> "keywords" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a>* : Read</pre>
-<p>
-The keywords associated to the document
-</p>
+<a name="PopplerDocument--keywords"></a><h3>The <code class="literal">“keywordsâ€</code> property</h3>
+<pre class="programlisting"> “keywords†<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *</pre>
+<p>The keywords associated to the document</p>
+<p>Flags: Read</p>
<p>Default value: NULL</p>
</div>
<hr>
<div class="refsect2">
-<a name="PopplerDocument--linearized"></a><h3>The <code class="literal">"linearized"</code> property</h3>
-<pre class="programlisting"> "linearized" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> : Read</pre>
-<p>
-Whether document is linearized. See also <a class="link" href="PopplerDocument.html#poppler-document-is-linearized" title="poppler_document_is_linearized ()"><code class="function">poppler_document_is_linearized()</code></a>
-</p>
+<a name="PopplerDocument--linearized"></a><h3>The <code class="literal">“linearizedâ€</code> property</h3>
+<pre class="programlisting"> “linearized†<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a></pre>
+<p>Whether document is linearized. See also <a class="link" href="PopplerDocument.html#poppler-document-is-linearized" title="poppler_document_is_linearized ()"><code class="function">poppler_document_is_linearized()</code></a></p>
+<p>Flags: Read</p>
<p>Default value: FALSE</p>
</div>
<hr>
<div class="refsect2">
-<a name="PopplerDocument--metadata"></a><h3>The <code class="literal">"metadata"</code> property</h3>
-<pre class="programlisting"> "metadata" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a>* : Read</pre>
-<p>
-Document metadata in XML format, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>
-</p>
+<a name="PopplerDocument--metadata"></a><h3>The <code class="literal">“metadataâ€</code> property</h3>
+<pre class="programlisting"> “metadata†<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *</pre>
+<p>Document metadata in XML format, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a></p>
+<p>Flags: Read</p>
<p>Default value: NULL</p>
</div>
<hr>
<div class="refsect2">
-<a name="PopplerDocument--mod-date"></a><h3>The <code class="literal">"mod-date"</code> property</h3>
-<pre class="programlisting"> "mod-date" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> : Read</pre>
-<p>
-The date the document was most recently modified as seconds since the Epoch, or -1
-</p>
+<a name="PopplerDocument--mod-date"></a><h3>The <code class="literal">“mod-dateâ€</code> property</h3>
+<pre class="programlisting"> “mod-date†<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a></pre>
+<p>The date the document was most recently modified as seconds since the Epoch, or -1</p>
+<p>Flags: Read</p>
<p>Allowed values: &gt;= -1</p>
<p>Default value: -1</p>
</div>
<hr>
<div class="refsect2">
-<a name="PopplerDocument--page-layout"></a><h3>The <code class="literal">"page-layout"</code> property</h3>
-<pre class="programlisting"> "page-layout" <a class="link" href="PopplerDocument.html#PopplerPageLayout" title="enum PopplerPageLayout"><span class="type">PopplerPageLayout</span></a> : Read</pre>
-<p>
-The page layout that should be used when the document is opened
-</p>
+<a name="PopplerDocument--page-layout"></a><h3>The <code class="literal">“page-layoutâ€</code> property</h3>
+<pre class="programlisting"> “page-layout†<a class="link" href="PopplerDocument.html#PopplerPageLayout" title="enum PopplerPageLayout"><span class="type">PopplerPageLayout</span></a></pre>
+<p>The page layout that should be used when the document is opened</p>
+<p>Flags: Read</p>
<p>Default value: POPPLER_PAGE_LAYOUT_UNSET</p>
</div>
<hr>
<div class="refsect2">
-<a name="PopplerDocument--page-mode"></a><h3>The <code class="literal">"page-mode"</code> property</h3>
-<pre class="programlisting"> "page-mode" <a class="link" href="PopplerDocument.html#PopplerPageMode" title="enum PopplerPageMode"><span class="type">PopplerPageMode</span></a> : Read</pre>
-<p>
-The mode that should be used when the document is opened
-</p>
+<a name="PopplerDocument--page-mode"></a><h3>The <code class="literal">“page-modeâ€</code> property</h3>
+<pre class="programlisting"> “page-mode†<a class="link" href="PopplerDocument.html#PopplerPageMode" title="enum PopplerPageMode"><span class="type">PopplerPageMode</span></a></pre>
+<p>The mode that should be used when the document is opened</p>
+<p>Flags: Read</p>
<p>Default value: POPPLER_PAGE_MODE_UNSET</p>
</div>
<hr>
<div class="refsect2">
-<a name="PopplerDocument--permissions"></a><h3>The <code class="literal">"permissions"</code> property</h3>
-<pre class="programlisting"> "permissions" <a class="link" href="PopplerDocument.html#PopplerPermissions" title="enum PopplerPermissions"><span class="type">PopplerPermissions</span></a> : Read</pre>
-<p>
-Flags specifying which operations are permitted when the document is opened
-</p>
-<p>Default value: POPPLER_PERMISSIONS_OK_TO_PRINT|POPPLER_PERMISSIONS_OK_TO_MODIFY|POPPLER_PERMISSIONS_OK_TO_COPY|POPPLER_PERMISSIONS_OK_TO_ADD_NOTES|POPPLER_PERMISSIONS_OK_TO_FILL_FORM|POPPLER_PERMISSIONS_OK_TO_EXTRACT_CONTENTS|POPPLER_PERMISSIONS_OK_TO_ASSEMBLE|POPPLER_PERMISSIONS_OK_TO_PRINT_HIGH_RESOLUTION</p>
+<a name="PopplerDocument--permissions"></a><h3>The <code class="literal">“permissionsâ€</code> property</h3>
+<pre class="programlisting"> “permissions†<a class="link" href="PopplerDocument.html#PopplerPermissions" title="enum PopplerPermissions"><span class="type">PopplerPermissions</span></a></pre>
+<p>Flags specifying which operations are permitted when the document is opened</p>
+<p>Flags: Read</p>
+<p>Default value: POPPLER_PERMISSIONS_OK_TO_PRINT | POPPLER_PERMISSIONS_OK_TO_MODIFY | POPPLER_PERMISSIONS_OK_TO_COPY | POPPLER_PERMISSIONS_OK_TO_ADD_NOTES | POPPLER_PERMISSIONS_OK_TO_FILL_FORM | POPPLER_PERMISSIONS_OK_TO_EXTRACT_CONTENTS | POPPLER_PERMISSIONS_OK_TO_ASSEMBLE | POPPLER_PERMISSIONS_OK_TO_PRINT_HIGH_RESOLUTION</p>
</div>
<hr>
<div class="refsect2">
-<a name="PopplerDocument--producer"></a><h3>The <code class="literal">"producer"</code> property</h3>
-<pre class="programlisting"> "producer" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a>* : Read</pre>
-<p>
-The producer of the document. See also <a class="link" href="PopplerDocument.html#poppler-document-get-producer" title="poppler_document_get_producer ()"><code class="function">poppler_document_get_producer()</code></a>
-</p>
+<a name="PopplerDocument--producer"></a><h3>The <code class="literal">“producerâ€</code> property</h3>
+<pre class="programlisting"> “producer†<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *</pre>
+<p>The producer of the document. See also <a class="link" href="PopplerDocument.html#poppler-document-get-producer" title="poppler_document_get_producer ()"><code class="function">poppler_document_get_producer()</code></a></p>
+<p>Flags: Read</p>
<p>Default value: NULL</p>
</div>
<hr>
<div class="refsect2">
-<a name="PopplerDocument--subject"></a><h3>The <code class="literal">"subject"</code> property</h3>
-<pre class="programlisting"> "subject" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a>* : Read</pre>
-<p>
-The subject of the document
-</p>
+<a name="PopplerDocument--subject"></a><h3>The <code class="literal">“subjectâ€</code> property</h3>
+<pre class="programlisting"> “subject†<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *</pre>
+<p>The subject of the document</p>
+<p>Flags: Read</p>
<p>Default value: NULL</p>
</div>
<hr>
<div class="refsect2">
-<a name="PopplerDocument--title"></a><h3>The <code class="literal">"title"</code> property</h3>
-<pre class="programlisting"> "title" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a>* : Read</pre>
-<p>
-The document's title or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>
-</p>
+<a name="PopplerDocument--title"></a><h3>The <code class="literal">“titleâ€</code> property</h3>
+<pre class="programlisting"> “title†<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *</pre>
+<p>The document's title or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a></p>
+<p>Flags: Read</p>
<p>Default value: NULL</p>
</div>
<hr>
<div class="refsect2">
-<a name="PopplerDocument--viewer-preferences"></a><h3>The <code class="literal">"viewer-preferences"</code> property</h3>
-<pre class="programlisting"> "viewer-preferences" <a class="link" href="PopplerDocument.html#PopplerViewerPreferences" title="enum PopplerViewerPreferences"><span class="type">PopplerViewerPreferences</span></a> : Read</pre>
+<a name="PopplerDocument--viewer-preferences"></a><h3>The <code class="literal">“viewer-preferencesâ€</code> property</h3>
+<pre class="programlisting"> “viewer-preferences†<a class="link" href="PopplerDocument.html#PopplerViewerPreferences" title="enum PopplerViewerPreferences"><span class="type">PopplerViewerPreferences</span></a></pre>
<p>Viewer Preferences.</p>
+<p>Flags: Read</p>
</div>
</div>
</div>
<div class="footer">
<hr>
- Generated by GTK-Doc V1.19</div>
+ Generated by GTK-Doc V1.21</div>
</body>
</html> \ No newline at end of file
diff --git a/glib/reference/html/PopplerFormField.html b/glib/reference/html/PopplerFormField.html
index a380a30d..6f43dfa0 100644
--- a/glib/reference/html/PopplerFormField.html
+++ b/glib/reference/html/PopplerFormField.html
@@ -2,32 +2,27 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>PoppplerFormField</title>
+<title>Poppler Reference Manual: PoppplerFormField</title>
<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<link rel="home" href="index.html" title="Poppler Reference Manual">
<link rel="up" href="ch01.html" title="Poppler">
<link rel="prev" href="PopplerAttachment.html" title="PopplerAttachment">
<link rel="next" href="PopplerAnnot.html" title="PopplerAnnot">
-<meta name="generator" content="GTK-Doc V1.19 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
-<tr valign="middle">
-<td><a accesskey="p" href="PopplerAttachment.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
-<td><a accesskey="u" href="ch01.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
-<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
-<th width="100%" align="center">Poppler Reference Manual</th>
-<td><a accesskey="n" href="PopplerAnnot.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
-</tr>
-<tr><td colspan="5" class="shortcuts">
-<a href="#PopplerFormField.synopsis" class="shortcut">Top</a>
-  | 
- <a href="#PopplerFormField.description" class="shortcut">Description</a>
-  | 
- <a href="#PopplerFormField.object-hierarchy" class="shortcut">Object Hierarchy</a>
-</td></tr>
-</table>
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts">
+<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
+ <a href="#PopplerFormField.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
+ <a href="#PopplerFormField.object-hierarchy" class="shortcut">Object Hierarchy</a></span>
+</td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="ch01.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="PopplerAttachment.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="PopplerAnnot.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
<div class="refentry">
<a name="PopplerFormField"></a><div class="titlepage"></div>
<div class="refnamediv"><table width="100%"><tr>
@@ -35,1036 +30,1374 @@
<h2><span class="refentrytitle"><a name="PopplerFormField.top_of_page"></a>PoppplerFormField</span></h2>
<p>PoppplerFormField — Form Field</p>
</td>
-<td valign="top" align="right"></td>
+<td class="gallery_image" valign="top" align="right"></td>
</tr></table></div>
-<div class="refsynopsisdiv">
-<a name="PopplerFormField.synopsis"></a><h2>Synopsis</h2>
-<pre class="synopsis">
-#include &lt;poppler.h&gt;
-
- <a class="link" href="PopplerFormField.html#PopplerFormField-struct" title="PopplerFormField">PopplerFormField</a>;
-enum <a class="link" href="PopplerFormField.html#PopplerFormFieldType" title="enum PopplerFormFieldType">PopplerFormFieldType</a>;
-enum <a class="link" href="PopplerFormField.html#PopplerFormButtonType" title="enum PopplerFormButtonType">PopplerFormButtonType</a>;
-enum <a class="link" href="PopplerFormField.html#PopplerFormChoiceType" title="enum PopplerFormChoiceType">PopplerFormChoiceType</a>;
-enum <a class="link" href="PopplerFormField.html#PopplerFormTextType" title="enum PopplerFormTextType">PopplerFormTextType</a>;
-<a class="link" href="PopplerFormField.html#PopplerFormFieldType" title="enum PopplerFormFieldType"><span class="returnvalue">PopplerFormFieldType</span></a> <a class="link" href="PopplerFormField.html#poppler-form-field-get-field-type" title="poppler_form_field_get_field_type ()">poppler_form_field_get_field_type</a> (<em class="parameter"><code><a class="link" href="PopplerFormField.html" title="PoppplerFormField"><span class="type">PopplerFormField</span></a> *field</code></em>);
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="returnvalue">gint</span></a> <a class="link" href="PopplerFormField.html#poppler-form-field-get-id" title="poppler_form_field_get_id ()">poppler_form_field_get_id</a> (<em class="parameter"><code><a class="link" href="PopplerFormField.html" title="PoppplerFormField"><span class="type">PopplerFormField</span></a> *field</code></em>);
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="PopplerFormField.html#poppler-form-field-is-read-only" title="poppler_form_field_is_read_only ()">poppler_form_field_is_read_only</a> (<em class="parameter"><code><a class="link" href="PopplerFormField.html" title="PoppplerFormField"><span class="type">PopplerFormField</span></a> *field</code></em>);
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="returnvalue">gdouble</span></a> <a class="link" href="PopplerFormField.html#poppler-form-field-get-font-size" title="poppler_form_field_get_font_size ()">poppler_form_field_get_font_size</a> (<em class="parameter"><code><a class="link" href="PopplerFormField.html" title="PoppplerFormField"><span class="type">PopplerFormField</span></a> *field</code></em>);
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> * <a class="link" href="PopplerFormField.html#poppler-form-field-get-partial-name" title="poppler_form_field_get_partial_name ()">poppler_form_field_get_partial_name</a> (<em class="parameter"><code><a class="link" href="PopplerFormField.html" title="PoppplerFormField"><span class="type">PopplerFormField</span></a> *field</code></em>);
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> * <a class="link" href="PopplerFormField.html#poppler-form-field-get-mapping-name" title="poppler_form_field_get_mapping_name ()">poppler_form_field_get_mapping_name</a> (<em class="parameter"><code><a class="link" href="PopplerFormField.html" title="PoppplerFormField"><span class="type">PopplerFormField</span></a> *field</code></em>);
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> * <a class="link" href="PopplerFormField.html#poppler-form-field-get-name" title="poppler_form_field_get_name ()">poppler_form_field_get_name</a> (<em class="parameter"><code><a class="link" href="PopplerFormField.html" title="PoppplerFormField"><span class="type">PopplerFormField</span></a> *field</code></em>);
-<a class="link" href="poppler-PopplerAction.html#PopplerAction" title="union PopplerAction"><span class="returnvalue">PopplerAction</span></a> * <a class="link" href="PopplerFormField.html#poppler-form-field-get-action" title="poppler_form_field_get_action ()">poppler_form_field_get_action</a> (<em class="parameter"><code><a class="link" href="PopplerFormField.html" title="PoppplerFormField"><span class="type">PopplerFormField</span></a> *field</code></em>);
-<a class="link" href="PopplerFormField.html#PopplerFormButtonType" title="enum PopplerFormButtonType"><span class="returnvalue">PopplerFormButtonType</span></a> <a class="link" href="PopplerFormField.html#poppler-form-field-button-get-button-type" title="poppler_form_field_button_get_button_type ()">poppler_form_field_button_get_button_type</a>
- (<em class="parameter"><code><a class="link" href="PopplerFormField.html" title="PoppplerFormField"><span class="type">PopplerFormField</span></a> *field</code></em>);
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="PopplerFormField.html#poppler-form-field-button-get-state" title="poppler_form_field_button_get_state ()">poppler_form_field_button_get_state</a> (<em class="parameter"><code><a class="link" href="PopplerFormField.html" title="PoppplerFormField"><span class="type">PopplerFormField</span></a> *field</code></em>);
-<span class="returnvalue">void</span> <a class="link" href="PopplerFormField.html#poppler-form-field-button-set-state" title="poppler_form_field_button_set_state ()">poppler_form_field_button_set_state</a> (<em class="parameter"><code><a class="link" href="PopplerFormField.html" title="PoppplerFormField"><span class="type">PopplerFormField</span></a> *field</code></em>,
- <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> state</code></em>);
-<a class="link" href="PopplerFormField.html#PopplerFormChoiceType" title="enum PopplerFormChoiceType"><span class="returnvalue">PopplerFormChoiceType</span></a> <a class="link" href="PopplerFormField.html#poppler-form-field-choice-get-choice-type" title="poppler_form_field_choice_get_choice_type ()">poppler_form_field_choice_get_choice_type</a>
- (<em class="parameter"><code><a class="link" href="PopplerFormField.html" title="PoppplerFormField"><span class="type">PopplerFormField</span></a> *field</code></em>);
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="PopplerFormField.html#poppler-form-field-choice-can-select-multiple" title="poppler_form_field_choice_can_select_multiple ()">poppler_form_field_choice_can_select_multiple</a>
- (<em class="parameter"><code><a class="link" href="PopplerFormField.html" title="PoppplerFormField"><span class="type">PopplerFormField</span></a> *field</code></em>);
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="PopplerFormField.html#poppler-form-field-choice-commit-on-change" title="poppler_form_field_choice_commit_on_change ()">poppler_form_field_choice_commit_on_change</a>
- (<em class="parameter"><code><a class="link" href="PopplerFormField.html" title="PoppplerFormField"><span class="type">PopplerFormField</span></a> *field</code></em>);
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="PopplerFormField.html#poppler-form-field-choice-do-spell-check" title="poppler_form_field_choice_do_spell_check ()">poppler_form_field_choice_do_spell_check</a>
- (<em class="parameter"><code><a class="link" href="PopplerFormField.html" title="PoppplerFormField"><span class="type">PopplerFormField</span></a> *field</code></em>);
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> * <a class="link" href="PopplerFormField.html#poppler-form-field-choice-get-item" title="poppler_form_field_choice_get_item ()">poppler_form_field_choice_get_item</a> (<em class="parameter"><code><a class="link" href="PopplerFormField.html" title="PoppplerFormField"><span class="type">PopplerFormField</span></a> *field</code></em>,
- <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> index</code></em>);
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="returnvalue">gint</span></a> <a class="link" href="PopplerFormField.html#poppler-form-field-choice-get-n-items" title="poppler_form_field_choice_get_n_items ()">poppler_form_field_choice_get_n_items</a>
- (<em class="parameter"><code><a class="link" href="PopplerFormField.html" title="PoppplerFormField"><span class="type">PopplerFormField</span></a> *field</code></em>);
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> * <a class="link" href="PopplerFormField.html#poppler-form-field-choice-get-text" title="poppler_form_field_choice_get_text ()">poppler_form_field_choice_get_text</a> (<em class="parameter"><code><a class="link" href="PopplerFormField.html" title="PoppplerFormField"><span class="type">PopplerFormField</span></a> *field</code></em>);
-<span class="returnvalue">void</span> <a class="link" href="PopplerFormField.html#poppler-form-field-choice-set-text" title="poppler_form_field_choice_set_text ()">poppler_form_field_choice_set_text</a> (<em class="parameter"><code><a class="link" href="PopplerFormField.html" title="PoppplerFormField"><span class="type">PopplerFormField</span></a> *field</code></em>,
- <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *text</code></em>);
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="PopplerFormField.html#poppler-form-field-choice-is-editable" title="poppler_form_field_choice_is_editable ()">poppler_form_field_choice_is_editable</a>
- (<em class="parameter"><code><a class="link" href="PopplerFormField.html" title="PoppplerFormField"><span class="type">PopplerFormField</span></a> *field</code></em>);
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="PopplerFormField.html#poppler-form-field-choice-is-item-selected" title="poppler_form_field_choice_is_item_selected ()">poppler_form_field_choice_is_item_selected</a>
- (<em class="parameter"><code><a class="link" href="PopplerFormField.html" title="PoppplerFormField"><span class="type">PopplerFormField</span></a> *field</code></em>,
- <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> index</code></em>);
-<span class="returnvalue">void</span> <a class="link" href="PopplerFormField.html#poppler-form-field-choice-select-item" title="poppler_form_field_choice_select_item ()">poppler_form_field_choice_select_item</a>
- (<em class="parameter"><code><a class="link" href="PopplerFormField.html" title="PoppplerFormField"><span class="type">PopplerFormField</span></a> *field</code></em>,
- <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> index</code></em>);
-<span class="returnvalue">void</span> <a class="link" href="PopplerFormField.html#poppler-form-field-choice-toggle-item" title="poppler_form_field_choice_toggle_item ()">poppler_form_field_choice_toggle_item</a>
- (<em class="parameter"><code><a class="link" href="PopplerFormField.html" title="PoppplerFormField"><span class="type">PopplerFormField</span></a> *field</code></em>,
- <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> index</code></em>);
-<span class="returnvalue">void</span> <a class="link" href="PopplerFormField.html#poppler-form-field-choice-unselect-all" title="poppler_form_field_choice_unselect_all ()">poppler_form_field_choice_unselect_all</a>
- (<em class="parameter"><code><a class="link" href="PopplerFormField.html" title="PoppplerFormField"><span class="type">PopplerFormField</span></a> *field</code></em>);
-<a class="link" href="PopplerFormField.html#PopplerFormTextType" title="enum PopplerFormTextType"><span class="returnvalue">PopplerFormTextType</span></a> <a class="link" href="PopplerFormField.html#poppler-form-field-text-get-text-type" title="poppler_form_field_text_get_text_type ()">poppler_form_field_text_get_text_type</a>
- (<em class="parameter"><code><a class="link" href="PopplerFormField.html" title="PoppplerFormField"><span class="type">PopplerFormField</span></a> *field</code></em>);
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> * <a class="link" href="PopplerFormField.html#poppler-form-field-text-get-text" title="poppler_form_field_text_get_text ()">poppler_form_field_text_get_text</a> (<em class="parameter"><code><a class="link" href="PopplerFormField.html" title="PoppplerFormField"><span class="type">PopplerFormField</span></a> *field</code></em>);
-<span class="returnvalue">void</span> <a class="link" href="PopplerFormField.html#poppler-form-field-text-set-text" title="poppler_form_field_text_set_text ()">poppler_form_field_text_set_text</a> (<em class="parameter"><code><a class="link" href="PopplerFormField.html" title="PoppplerFormField"><span class="type">PopplerFormField</span></a> *field</code></em>,
- <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *text</code></em>);
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="returnvalue">gint</span></a> <a class="link" href="PopplerFormField.html#poppler-form-field-text-get-max-len" title="poppler_form_field_text_get_max_len ()">poppler_form_field_text_get_max_len</a> (<em class="parameter"><code><a class="link" href="PopplerFormField.html" title="PoppplerFormField"><span class="type">PopplerFormField</span></a> *field</code></em>);
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="PopplerFormField.html#poppler-form-field-text-do-scroll" title="poppler_form_field_text_do_scroll ()">poppler_form_field_text_do_scroll</a> (<em class="parameter"><code><a class="link" href="PopplerFormField.html" title="PoppplerFormField"><span class="type">PopplerFormField</span></a> *field</code></em>);
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="PopplerFormField.html#poppler-form-field-text-do-spell-check" title="poppler_form_field_text_do_spell_check ()">poppler_form_field_text_do_spell_check</a>
- (<em class="parameter"><code><a class="link" href="PopplerFormField.html" title="PoppplerFormField"><span class="type">PopplerFormField</span></a> *field</code></em>);
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="PopplerFormField.html#poppler-form-field-text-is-password" title="poppler_form_field_text_is_password ()">poppler_form_field_text_is_password</a> (<em class="parameter"><code><a class="link" href="PopplerFormField.html" title="PoppplerFormField"><span class="type">PopplerFormField</span></a> *field</code></em>);
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="PopplerFormField.html#poppler-form-field-text-is-rich-text" title="poppler_form_field_text_is_rich_text ()">poppler_form_field_text_is_rich_text</a>
- (<em class="parameter"><code><a class="link" href="PopplerFormField.html" title="PoppplerFormField"><span class="type">PopplerFormField</span></a> *field</code></em>);
-</pre>
-</div>
-<div class="refsect1">
-<a name="PopplerFormField.object-hierarchy"></a><h2>Object Hierarchy</h2>
-<pre class="synopsis">
- <a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObject">GObject</a>
- +----PopplerFormField
-</pre>
-</div>
-<div class="refsect1">
-<a name="PopplerFormField.description"></a><h2>Description</h2>
-</div>
<div class="refsect1">
-<a name="PopplerFormField.details"></a><h2>Details</h2>
-<div class="refsect2">
-<a name="PopplerFormField-struct"></a><h3>PopplerFormField</h3>
-<pre class="programlisting">typedef struct _PopplerFormField PopplerFormField;</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="PopplerFormFieldType"></a><h3>enum PopplerFormFieldType</h3>
-<pre class="programlisting">typedef enum {
- POPPLER_FORM_FIELD_UNKNOWN,
- POPPLER_FORM_FIELD_BUTTON,
- POPPLER_FORM_FIELD_TEXT,
- POPPLER_FORM_FIELD_CHOICE,
- POPPLER_FORM_FIELD_SIGNATURE
-} PopplerFormFieldType;
-</pre>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="PopplerFormField.functions"></a><h2>Functions</h2>
+<div class="informaltable"><table width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="functions_return">
+<col class="functions_name">
</colgroup>
<tbody>
<tr>
-<td><p><a name="POPPLER-FORM-FIELD-UNKNOWN:CAPS"></a><span class="term"><code class="literal">POPPLER_FORM_FIELD_UNKNOWN</code></span></p></td>
-<td></td>
+<td class="function_type">
+<a class="link" href="PopplerFormField.html#PopplerFormFieldType" title="enum PopplerFormFieldType"><span class="returnvalue">PopplerFormFieldType</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="PopplerFormField.html#poppler-form-field-get-field-type" title="poppler_form_field_get_field_type ()">poppler_form_field_get_field_type</a> <span class="c_punctuation">()</span>
+</td>
</tr>
<tr>
-<td><p><a name="POPPLER-FORM-FIELD-BUTTON:CAPS"></a><span class="term"><code class="literal">POPPLER_FORM_FIELD_BUTTON</code></span></p></td>
-<td></td>
+<td class="function_type">
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="returnvalue">gint</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="PopplerFormField.html#poppler-form-field-get-id" title="poppler_form_field_get_id ()">poppler_form_field_get_id</a> <span class="c_punctuation">()</span>
+</td>
</tr>
<tr>
-<td><p><a name="POPPLER-FORM-FIELD-TEXT:CAPS"></a><span class="term"><code class="literal">POPPLER_FORM_FIELD_TEXT</code></span></p></td>
-<td></td>
+<td class="function_type">
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="PopplerFormField.html#poppler-form-field-is-read-only" title="poppler_form_field_is_read_only ()">poppler_form_field_is_read_only</a> <span class="c_punctuation">()</span>
+</td>
</tr>
<tr>
-<td><p><a name="POPPLER-FORM-FIELD-CHOICE:CAPS"></a><span class="term"><code class="literal">POPPLER_FORM_FIELD_CHOICE</code></span></p></td>
-<td></td>
+<td class="function_type">
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="returnvalue">gdouble</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="PopplerFormField.html#poppler-form-field-get-font-size" title="poppler_form_field_get_font_size ()">poppler_form_field_get_font_size</a> <span class="c_punctuation">()</span>
+</td>
</tr>
<tr>
-<td><p><a name="POPPLER-FORM-FIELD-SIGNATURE:CAPS"></a><span class="term"><code class="literal">POPPLER_FORM_FIELD_SIGNATURE</code></span></p></td>
-<td></td>
+<td class="function_type">
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="PopplerFormField.html#poppler-form-field-get-partial-name" title="poppler_form_field_get_partial_name ()">poppler_form_field_get_partial_name</a> <span class="c_punctuation">()</span>
+</td>
</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2">
-<a name="PopplerFormButtonType"></a><h3>enum PopplerFormButtonType</h3>
-<pre class="programlisting">typedef enum {
- POPPLER_FORM_BUTTON_PUSH,
- POPPLER_FORM_BUTTON_CHECK,
- POPPLER_FORM_BUTTON_RADIO
-} PopplerFormButtonType;
-</pre>
-<div class="variablelist"><table border="0" class="variablelist">
-<colgroup>
-<col align="left" valign="top">
-<col>
-</colgroup>
-<tbody>
<tr>
-<td><p><a name="POPPLER-FORM-BUTTON-PUSH:CAPS"></a><span class="term"><code class="literal">POPPLER_FORM_BUTTON_PUSH</code></span></p></td>
-<td></td>
+<td class="function_type">
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="PopplerFormField.html#poppler-form-field-get-mapping-name" title="poppler_form_field_get_mapping_name ()">poppler_form_field_get_mapping_name</a> <span class="c_punctuation">()</span>
+</td>
</tr>
<tr>
-<td><p><a name="POPPLER-FORM-BUTTON-CHECK:CAPS"></a><span class="term"><code class="literal">POPPLER_FORM_BUTTON_CHECK</code></span></p></td>
-<td></td>
+<td class="function_type">
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="PopplerFormField.html#poppler-form-field-get-name" title="poppler_form_field_get_name ()">poppler_form_field_get_name</a> <span class="c_punctuation">()</span>
+</td>
</tr>
<tr>
-<td><p><a name="POPPLER-FORM-BUTTON-RADIO:CAPS"></a><span class="term"><code class="literal">POPPLER_FORM_BUTTON_RADIO</code></span></p></td>
-<td></td>
+<td class="function_type">
+<a class="link" href="poppler-PopplerAction.html#PopplerAction" title="union PopplerAction"><span class="returnvalue">PopplerAction</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="PopplerFormField.html#poppler-form-field-get-action" title="poppler_form_field_get_action ()">poppler_form_field_get_action</a> <span class="c_punctuation">()</span>
+</td>
</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2">
-<a name="PopplerFormChoiceType"></a><h3>enum PopplerFormChoiceType</h3>
-<pre class="programlisting">typedef enum {
- POPPLER_FORM_CHOICE_COMBO,
- POPPLER_FORM_CHOICE_LIST
-} PopplerFormChoiceType;
-</pre>
-<div class="variablelist"><table border="0" class="variablelist">
-<colgroup>
-<col align="left" valign="top">
-<col>
-</colgroup>
-<tbody>
<tr>
-<td><p><a name="POPPLER-FORM-CHOICE-COMBO:CAPS"></a><span class="term"><code class="literal">POPPLER_FORM_CHOICE_COMBO</code></span></p></td>
-<td></td>
+<td class="function_type">
+<a class="link" href="PopplerFormField.html#PopplerFormButtonType" title="enum PopplerFormButtonType"><span class="returnvalue">PopplerFormButtonType</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="PopplerFormField.html#poppler-form-field-button-get-button-type" title="poppler_form_field_button_get_button_type ()">poppler_form_field_button_get_button_type</a> <span class="c_punctuation">()</span>
+</td>
</tr>
<tr>
-<td><p><a name="POPPLER-FORM-CHOICE-LIST:CAPS"></a><span class="term"><code class="literal">POPPLER_FORM_CHOICE_LIST</code></span></p></td>
-<td></td>
+<td class="function_type">
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="PopplerFormField.html#poppler-form-field-button-get-state" title="poppler_form_field_button_get_state ()">poppler_form_field_button_get_state</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="PopplerFormField.html#poppler-form-field-button-set-state" title="poppler_form_field_button_set_state ()">poppler_form_field_button_set_state</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="PopplerFormField.html#PopplerFormChoiceType" title="enum PopplerFormChoiceType"><span class="returnvalue">PopplerFormChoiceType</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="PopplerFormField.html#poppler-form-field-choice-get-choice-type" title="poppler_form_field_choice_get_choice_type ()">poppler_form_field_choice_get_choice_type</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="PopplerFormField.html#poppler-form-field-choice-can-select-multiple" title="poppler_form_field_choice_can_select_multiple ()">poppler_form_field_choice_can_select_multiple</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="PopplerFormField.html#poppler-form-field-choice-commit-on-change" title="poppler_form_field_choice_commit_on_change ()">poppler_form_field_choice_commit_on_change</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="PopplerFormField.html#poppler-form-field-choice-do-spell-check" title="poppler_form_field_choice_do_spell_check ()">poppler_form_field_choice_do_spell_check</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="PopplerFormField.html#poppler-form-field-choice-get-item" title="poppler_form_field_choice_get_item ()">poppler_form_field_choice_get_item</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="returnvalue">gint</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="PopplerFormField.html#poppler-form-field-choice-get-n-items" title="poppler_form_field_choice_get_n_items ()">poppler_form_field_choice_get_n_items</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="PopplerFormField.html#poppler-form-field-choice-get-text" title="poppler_form_field_choice_get_text ()">poppler_form_field_choice_get_text</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="PopplerFormField.html#poppler-form-field-choice-set-text" title="poppler_form_field_choice_set_text ()">poppler_form_field_choice_set_text</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="PopplerFormField.html#poppler-form-field-choice-is-editable" title="poppler_form_field_choice_is_editable ()">poppler_form_field_choice_is_editable</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="PopplerFormField.html#poppler-form-field-choice-is-item-selected" title="poppler_form_field_choice_is_item_selected ()">poppler_form_field_choice_is_item_selected</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="PopplerFormField.html#poppler-form-field-choice-select-item" title="poppler_form_field_choice_select_item ()">poppler_form_field_choice_select_item</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="PopplerFormField.html#poppler-form-field-choice-toggle-item" title="poppler_form_field_choice_toggle_item ()">poppler_form_field_choice_toggle_item</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="PopplerFormField.html#poppler-form-field-choice-unselect-all" title="poppler_form_field_choice_unselect_all ()">poppler_form_field_choice_unselect_all</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="PopplerFormField.html#PopplerFormTextType" title="enum PopplerFormTextType"><span class="returnvalue">PopplerFormTextType</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="PopplerFormField.html#poppler-form-field-text-get-text-type" title="poppler_form_field_text_get_text_type ()">poppler_form_field_text_get_text_type</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="PopplerFormField.html#poppler-form-field-text-get-text" title="poppler_form_field_text_get_text ()">poppler_form_field_text_get_text</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="PopplerFormField.html#poppler-form-field-text-set-text" title="poppler_form_field_text_set_text ()">poppler_form_field_text_set_text</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="returnvalue">gint</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="PopplerFormField.html#poppler-form-field-text-get-max-len" title="poppler_form_field_text_get_max_len ()">poppler_form_field_text_get_max_len</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="PopplerFormField.html#poppler-form-field-text-do-scroll" title="poppler_form_field_text_do_scroll ()">poppler_form_field_text_do_scroll</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="PopplerFormField.html#poppler-form-field-text-do-spell-check" title="poppler_form_field_text_do_spell_check ()">poppler_form_field_text_do_spell_check</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="PopplerFormField.html#poppler-form-field-text-is-password" title="poppler_form_field_text_is_password ()">poppler_form_field_text_is_password</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="PopplerFormField.html#poppler-form-field-text-is-rich-text" title="poppler_form_field_text_is_rich_text ()">poppler_form_field_text_is_rich_text</a> <span class="c_punctuation">()</span>
+</td>
</tr>
</tbody>
</table></div>
</div>
-<hr>
-<div class="refsect2">
-<a name="PopplerFormTextType"></a><h3>enum PopplerFormTextType</h3>
-<pre class="programlisting">typedef enum {
- POPPLER_FORM_TEXT_NORMAL,
- POPPLER_FORM_TEXT_MULTILINE,
- POPPLER_FORM_TEXT_FILE_SELECT
-} PopplerFormTextType;
-</pre>
-<div class="variablelist"><table border="0" class="variablelist">
+<div class="refsect1">
+<a name="PopplerFormField.other"></a><h2>Types and Values</h2>
+<div class="informaltable"><table width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="name">
+<col class="description">
</colgroup>
<tbody>
<tr>
-<td><p><a name="POPPLER-FORM-TEXT-NORMAL:CAPS"></a><span class="term"><code class="literal">POPPLER_FORM_TEXT_NORMAL</code></span></p></td>
-<td></td>
+<td class="datatype_keyword"> </td>
+<td class="function_name"><a class="link" href="PopplerFormField.html#PopplerFormField-struct" title="PopplerFormField">PopplerFormField</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword">enum</td>
+<td class="function_name"><a class="link" href="PopplerFormField.html#PopplerFormFieldType" title="enum PopplerFormFieldType">PopplerFormFieldType</a></td>
</tr>
<tr>
-<td><p><a name="POPPLER-FORM-TEXT-MULTILINE:CAPS"></a><span class="term"><code class="literal">POPPLER_FORM_TEXT_MULTILINE</code></span></p></td>
-<td></td>
+<td class="datatype_keyword">enum</td>
+<td class="function_name"><a class="link" href="PopplerFormField.html#PopplerFormButtonType" title="enum PopplerFormButtonType">PopplerFormButtonType</a></td>
</tr>
<tr>
-<td><p><a name="POPPLER-FORM-TEXT-FILE-SELECT:CAPS"></a><span class="term"><code class="literal">POPPLER_FORM_TEXT_FILE_SELECT</code></span></p></td>
-<td></td>
+<td class="datatype_keyword">enum</td>
+<td class="function_name"><a class="link" href="PopplerFormField.html#PopplerFormChoiceType" title="enum PopplerFormChoiceType">PopplerFormChoiceType</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword">enum</td>
+<td class="function_name"><a class="link" href="PopplerFormField.html#PopplerFormTextType" title="enum PopplerFormTextType">PopplerFormTextType</a></td>
</tr>
</tbody>
</table></div>
</div>
-<hr>
+<div class="refsect1">
+<a name="PopplerFormField.object-hierarchy"></a><h2>Object Hierarchy</h2>
+<pre class="screen"> <a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObject">GObject</a>
+ <span class="lineart">╰──</span> PopplerFormField
+</pre>
+</div>
+<div class="refsect1">
+<a name="PopplerFormField.includes"></a><h2>Includes</h2>
+<pre class="synopsis">#include &lt;poppler.h&gt;
+</pre>
+</div>
+<div class="refsect1">
+<a name="PopplerFormField.description"></a><h2>Description</h2>
+</div>
+<div class="refsect1">
+<a name="PopplerFormField.functions_details"></a><h2>Functions</h2>
<div class="refsect2">
-<a name="poppler-form-field-get-field-type"></a><h3>poppler_form_field_get_field_type ()</h3>
-<pre class="programlisting"><a class="link" href="PopplerFormField.html#PopplerFormFieldType" title="enum PopplerFormFieldType"><span class="returnvalue">PopplerFormFieldType</span></a> poppler_form_field_get_field_type (<em class="parameter"><code><a class="link" href="PopplerFormField.html" title="PoppplerFormField"><span class="type">PopplerFormField</span></a> *field</code></em>);</pre>
-<p>
-Gets the type of <em class="parameter"><code>field</code></em>
+<a name="poppler-form-field-get-field-type"></a><h3>poppler_form_field_get_field_type ()</h3>
+<pre class="programlisting"><a class="link" href="PopplerFormField.html#PopplerFormFieldType" title="enum PopplerFormFieldType"><span class="returnvalue">PopplerFormFieldType</span></a>
+poppler_form_field_get_field_type (<em class="parameter"><code><a class="link" href="PopplerFormField.html" title="PoppplerFormField"><span class="type">PopplerFormField</span></a> *field</code></em>);</pre>
+<p>Gets the type of <em class="parameter"><code>field</code></em>
</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<div class="refsect3">
+<a name="id-1.2.7.8.2.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>field</code></em> :</span></p></td>
-<td>a <a class="link" href="PopplerFormField.html" title="PoppplerFormField"><span class="type">PopplerFormField</span></a>
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>
-<a class="link" href="PopplerFormField.html#PopplerFormFieldType" title="enum PopplerFormFieldType"><span class="type">PopplerFormFieldType</span></a> of <em class="parameter"><code>field</code></em>
-</td>
-</tr>
-</tbody>
+<tbody><tr>
+<td class="parameter_name"><p>field</p></td>
+<td class="parameter_description"><p>a <a class="link" href="PopplerFormField.html" title="PoppplerFormField"><span class="type">PopplerFormField</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="id-1.2.7.8.2.6"></a><h4>Returns</h4>
+<p> <a class="link" href="PopplerFormField.html#PopplerFormFieldType" title="enum PopplerFormFieldType"><span class="type">PopplerFormFieldType</span></a> of <em class="parameter"><code>field</code></em>
+</p>
+<p></p>
+</div>
+</div>
<hr>
<div class="refsect2">
-<a name="poppler-form-field-get-id"></a><h3>poppler_form_field_get_id ()</h3>
-<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="returnvalue">gint</span></a> poppler_form_field_get_id (<em class="parameter"><code><a class="link" href="PopplerFormField.html" title="PoppplerFormField"><span class="type">PopplerFormField</span></a> *field</code></em>);</pre>
-<p>
-Gets the id of <em class="parameter"><code>field</code></em>
+<a name="poppler-form-field-get-id"></a><h3>poppler_form_field_get_id ()</h3>
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="returnvalue">gint</span></a>
+poppler_form_field_get_id (<em class="parameter"><code><a class="link" href="PopplerFormField.html" title="PoppplerFormField"><span class="type">PopplerFormField</span></a> *field</code></em>);</pre>
+<p>Gets the id of <em class="parameter"><code>field</code></em>
</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<div class="refsect3">
+<a name="id-1.2.7.8.3.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>field</code></em> :</span></p></td>
-<td>a <a class="link" href="PopplerFormField.html" title="PoppplerFormField"><span class="type">PopplerFormField</span></a>
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>the id of <em class="parameter"><code>field</code></em>
-</td>
-</tr>
-</tbody>
+<tbody><tr>
+<td class="parameter_name"><p>field</p></td>
+<td class="parameter_description"><p>a <a class="link" href="PopplerFormField.html" title="PoppplerFormField"><span class="type">PopplerFormField</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="id-1.2.7.8.3.6"></a><h4>Returns</h4>
+<p> the id of <em class="parameter"><code>field</code></em>
+</p>
+<p></p>
+</div>
+</div>
<hr>
<div class="refsect2">
-<a name="poppler-form-field-is-read-only"></a><h3>poppler_form_field_is_read_only ()</h3>
-<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> poppler_form_field_is_read_only (<em class="parameter"><code><a class="link" href="PopplerFormField.html" title="PoppplerFormField"><span class="type">PopplerFormField</span></a> *field</code></em>);</pre>
-<p>
-Checks whether <em class="parameter"><code>field</code></em> is read only
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="poppler-form-field-is-read-only"></a><h3>poppler_form_field_is_read_only ()</h3>
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+poppler_form_field_is_read_only (<em class="parameter"><code><a class="link" href="PopplerFormField.html" title="PoppplerFormField"><span class="type">PopplerFormField</span></a> *field</code></em>);</pre>
+<p>Checks whether <em class="parameter"><code>field</code></em>
+ is read only</p>
+<div class="refsect3">
+<a name="id-1.2.7.8.4.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>field</code></em> :</span></p></td>
-<td>a <a class="link" href="PopplerFormField.html" title="PoppplerFormField"><span class="type">PopplerFormField</span></a>
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if <em class="parameter"><code>field</code></em> is read only</td>
-</tr>
-</tbody>
+<tbody><tr>
+<td class="parameter_name"><p>field</p></td>
+<td class="parameter_description"><p>a <a class="link" href="PopplerFormField.html" title="PoppplerFormField"><span class="type">PopplerFormField</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="id-1.2.7.8.4.6"></a><h4>Returns</h4>
+<p> <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if <em class="parameter"><code>field</code></em>
+is read only</p>
+<p></p>
+</div>
+</div>
<hr>
<div class="refsect2">
-<a name="poppler-form-field-get-font-size"></a><h3>poppler_form_field_get_font_size ()</h3>
-<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="returnvalue">gdouble</span></a> poppler_form_field_get_font_size (<em class="parameter"><code><a class="link" href="PopplerFormField.html" title="PoppplerFormField"><span class="type">PopplerFormField</span></a> *field</code></em>);</pre>
-<p>
-Gets the font size of <em class="parameter"><code>field</code></em>
+<a name="poppler-form-field-get-font-size"></a><h3>poppler_form_field_get_font_size ()</h3>
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="returnvalue">gdouble</span></a>
+poppler_form_field_get_font_size (<em class="parameter"><code><a class="link" href="PopplerFormField.html" title="PoppplerFormField"><span class="type">PopplerFormField</span></a> *field</code></em>);</pre>
+<p>Gets the font size of <em class="parameter"><code>field</code></em>
</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<div class="refsect3">
+<a name="id-1.2.7.8.5.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>field</code></em> :</span></p></td>
-<td>a <a class="link" href="PopplerFormField.html" title="PoppplerFormField"><span class="type">PopplerFormField</span></a>
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>the font size of <em class="parameter"><code>field</code></em>
-</td>
-</tr>
-</tbody>
+<tbody><tr>
+<td class="parameter_name"><p>field</p></td>
+<td class="parameter_description"><p>a <a class="link" href="PopplerFormField.html" title="PoppplerFormField"><span class="type">PopplerFormField</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="id-1.2.7.8.5.6"></a><h4>Returns</h4>
+<p> the font size of <em class="parameter"><code>field</code></em>
+</p>
+<p></p>
+</div>
+</div>
<hr>
<div class="refsect2">
-<a name="poppler-form-field-get-partial-name"></a><h3>poppler_form_field_get_partial_name ()</h3>
-<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> * poppler_form_field_get_partial_name (<em class="parameter"><code><a class="link" href="PopplerFormField.html" title="PoppplerFormField"><span class="type">PopplerFormField</span></a> *field</code></em>);</pre>
-<p>
-Gets the partial name of <em class="parameter"><code>field</code></em>.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="poppler-form-field-get-partial-name"></a><h3>poppler_form_field_get_partial_name ()</h3>
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+poppler_form_field_get_partial_name (<em class="parameter"><code><a class="link" href="PopplerFormField.html" title="PoppplerFormField"><span class="type">PopplerFormField</span></a> *field</code></em>);</pre>
+<p>Gets the partial name of <em class="parameter"><code>field</code></em>
+.</p>
+<div class="refsect3">
+<a name="id-1.2.7.8.6.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>field</code></em> :</span></p></td>
-<td>a <a class="link" href="PopplerFormField.html" title="PoppplerFormField"><span class="type">PopplerFormField</span></a>
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>a new allocated string. It must be freed with <a href="http://library.gnome.org/devel/glib/unstable/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a> when done.</td>
-</tr>
-</tbody>
+<tbody><tr>
+<td class="parameter_name"><p>field</p></td>
+<td class="parameter_description"><p>a <a class="link" href="PopplerFormField.html" title="PoppplerFormField"><span class="type">PopplerFormField</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.2.7.8.6.6"></a><h4>Returns</h4>
+<p> a new allocated string. It must be freed with <a href="http://library.gnome.org/devel/glib/unstable/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a> when done.</p>
+<p></p>
+</div>
<p class="since">Since 0.16</p>
</div>
<hr>
<div class="refsect2">
-<a name="poppler-form-field-get-mapping-name"></a><h3>poppler_form_field_get_mapping_name ()</h3>
-<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> * poppler_form_field_get_mapping_name (<em class="parameter"><code><a class="link" href="PopplerFormField.html" title="PoppplerFormField"><span class="type">PopplerFormField</span></a> *field</code></em>);</pre>
-<p>
-Gets the mapping name of <em class="parameter"><code>field</code></em> that is used when
-exporting interactive form field data from the document
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="poppler-form-field-get-mapping-name"></a><h3>poppler_form_field_get_mapping_name ()</h3>
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+poppler_form_field_get_mapping_name (<em class="parameter"><code><a class="link" href="PopplerFormField.html" title="PoppplerFormField"><span class="type">PopplerFormField</span></a> *field</code></em>);</pre>
+<p>Gets the mapping name of <em class="parameter"><code>field</code></em>
+ that is used when
+exporting interactive form field data from the document</p>
+<div class="refsect3">
+<a name="id-1.2.7.8.7.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>field</code></em> :</span></p></td>
-<td>a <a class="link" href="PopplerFormField.html" title="PoppplerFormField"><span class="type">PopplerFormField</span></a>
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>a new allocated string. It must be freed with <a href="http://library.gnome.org/devel/glib/unstable/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a> when done.</td>
-</tr>
-</tbody>
+<tbody><tr>
+<td class="parameter_name"><p>field</p></td>
+<td class="parameter_description"><p>a <a class="link" href="PopplerFormField.html" title="PoppplerFormField"><span class="type">PopplerFormField</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.2.7.8.7.6"></a><h4>Returns</h4>
+<p> a new allocated string. It must be freed with <a href="http://library.gnome.org/devel/glib/unstable/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a> when done.</p>
+<p></p>
+</div>
<p class="since">Since 0.16</p>
</div>
<hr>
<div class="refsect2">
-<a name="poppler-form-field-get-name"></a><h3>poppler_form_field_get_name ()</h3>
-<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> * poppler_form_field_get_name (<em class="parameter"><code><a class="link" href="PopplerFormField.html" title="PoppplerFormField"><span class="type">PopplerFormField</span></a> *field</code></em>);</pre>
-<p>
-Gets the fully qualified name of <em class="parameter"><code>field</code></em>. It's constructed by concatenating
-the partial field names of the field and all of its ancestors.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="poppler-form-field-get-name"></a><h3>poppler_form_field_get_name ()</h3>
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+poppler_form_field_get_name (<em class="parameter"><code><a class="link" href="PopplerFormField.html" title="PoppplerFormField"><span class="type">PopplerFormField</span></a> *field</code></em>);</pre>
+<p>Gets the fully qualified name of <em class="parameter"><code>field</code></em>
+. It's constructed by concatenating
+the partial field names of the field and all of its ancestors.</p>
+<div class="refsect3">
+<a name="id-1.2.7.8.8.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>field</code></em> :</span></p></td>
-<td>a <a class="link" href="PopplerFormField.html" title="PoppplerFormField"><span class="type">PopplerFormField</span></a>
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>a new allocated string. It must be freed with <a href="http://library.gnome.org/devel/glib/unstable/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a> when done.</td>
-</tr>
-</tbody>
+<tbody><tr>
+<td class="parameter_name"><p>field</p></td>
+<td class="parameter_description"><p>a <a class="link" href="PopplerFormField.html" title="PoppplerFormField"><span class="type">PopplerFormField</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.2.7.8.8.6"></a><h4>Returns</h4>
+<p> a new allocated string. It must be freed with <a href="http://library.gnome.org/devel/glib/unstable/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a> when done.</p>
+<p></p>
+</div>
<p class="since">Since 0.16</p>
</div>
<hr>
<div class="refsect2">
-<a name="poppler-form-field-get-action"></a><h3>poppler_form_field_get_action ()</h3>
-<pre class="programlisting"><a class="link" href="poppler-PopplerAction.html#PopplerAction" title="union PopplerAction"><span class="returnvalue">PopplerAction</span></a> * poppler_form_field_get_action (<em class="parameter"><code><a class="link" href="PopplerFormField.html" title="PoppplerFormField"><span class="type">PopplerFormField</span></a> *field</code></em>);</pre>
-<p>
-Retrieves the action (<a class="link" href="poppler-PopplerAction.html#PopplerAction" title="union PopplerAction"><span class="type">PopplerAction</span></a>) that shall be
-performed when <em class="parameter"><code>field</code></em> is activated, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="poppler-form-field-get-action"></a><h3>poppler_form_field_get_action ()</h3>
+<pre class="programlisting"><a class="link" href="poppler-PopplerAction.html#PopplerAction" title="union PopplerAction"><span class="returnvalue">PopplerAction</span></a> *
+poppler_form_field_get_action (<em class="parameter"><code><a class="link" href="PopplerFormField.html" title="PoppplerFormField"><span class="type">PopplerFormField</span></a> *field</code></em>);</pre>
+<p>Retrieves the action (<a class="link" href="poppler-PopplerAction.html#PopplerAction" title="union PopplerAction"><span class="type">PopplerAction</span></a>) that shall be
+performed when <em class="parameter"><code>field</code></em>
+ is activated, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a></p>
+<div class="refsect3">
+<a name="id-1.2.7.8.9.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>field</code></em> :</span></p></td>
-<td>a <a class="link" href="PopplerFormField.html" title="PoppplerFormField"><span class="type">PopplerFormField</span></a>
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>the action to perform. The returned
-object is owned by <em class="parameter"><code>field</code></em> and should not be freed. <span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
-</td>
-</tr>
-</tbody>
+<tbody><tr>
+<td class="parameter_name"><p>field</p></td>
+<td class="parameter_description"><p>a <a class="link" href="PopplerFormField.html" title="PoppplerFormField"><span class="type">PopplerFormField</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.2.7.8.9.6"></a><h4>Returns</h4>
+<p> the action to perform. The returned
+object is owned by <em class="parameter"><code>field</code></em>
+and should not be freed. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
<p class="since">Since 0.18</p>
</div>
<hr>
<div class="refsect2">
-<a name="poppler-form-field-button-get-button-type"></a><h3>poppler_form_field_button_get_button_type ()</h3>
-<pre class="programlisting"><a class="link" href="PopplerFormField.html#PopplerFormButtonType" title="enum PopplerFormButtonType"><span class="returnvalue">PopplerFormButtonType</span></a> poppler_form_field_button_get_button_type
- (<em class="parameter"><code><a class="link" href="PopplerFormField.html" title="PoppplerFormField"><span class="type">PopplerFormField</span></a> *field</code></em>);</pre>
-<p>
-Gets the button type of <em class="parameter"><code>field</code></em>
+<a name="poppler-form-field-button-get-button-type"></a><h3>poppler_form_field_button_get_button_type ()</h3>
+<pre class="programlisting"><a class="link" href="PopplerFormField.html#PopplerFormButtonType" title="enum PopplerFormButtonType"><span class="returnvalue">PopplerFormButtonType</span></a>
+poppler_form_field_button_get_button_type
+ (<em class="parameter"><code><a class="link" href="PopplerFormField.html" title="PoppplerFormField"><span class="type">PopplerFormField</span></a> *field</code></em>);</pre>
+<p>Gets the button type of <em class="parameter"><code>field</code></em>
</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<div class="refsect3">
+<a name="id-1.2.7.8.10.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>field</code></em> :</span></p></td>
-<td>a <a class="link" href="PopplerFormField.html" title="PoppplerFormField"><span class="type">PopplerFormField</span></a>
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>
-<a class="link" href="PopplerFormField.html#PopplerFormButtonType" title="enum PopplerFormButtonType"><span class="type">PopplerFormButtonType</span></a> of <em class="parameter"><code>field</code></em>
-</td>
-</tr>
-</tbody>
+<tbody><tr>
+<td class="parameter_name"><p>field</p></td>
+<td class="parameter_description"><p>a <a class="link" href="PopplerFormField.html" title="PoppplerFormField"><span class="type">PopplerFormField</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="id-1.2.7.8.10.6"></a><h4>Returns</h4>
+<p> <a class="link" href="PopplerFormField.html#PopplerFormButtonType" title="enum PopplerFormButtonType"><span class="type">PopplerFormButtonType</span></a> of <em class="parameter"><code>field</code></em>
+</p>
+<p></p>
+</div>
+</div>
<hr>
<div class="refsect2">
-<a name="poppler-form-field-button-get-state"></a><h3>poppler_form_field_button_get_state ()</h3>
-<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> poppler_form_field_button_get_state (<em class="parameter"><code><a class="link" href="PopplerFormField.html" title="PoppplerFormField"><span class="type">PopplerFormField</span></a> *field</code></em>);</pre>
-<p>
-Queries a <a class="link" href="PopplerFormField.html" title="PoppplerFormField"><span class="type">PopplerFormField</span></a> and returns its current state. Returns <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if
-<em class="parameter"><code>field</code></em> is pressed in and <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if it is raised.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="poppler-form-field-button-get-state"></a><h3>poppler_form_field_button_get_state ()</h3>
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+poppler_form_field_button_get_state (<em class="parameter"><code><a class="link" href="PopplerFormField.html" title="PoppplerFormField"><span class="type">PopplerFormField</span></a> *field</code></em>);</pre>
+<p>Queries a <a class="link" href="PopplerFormField.html" title="PoppplerFormField"><span class="type">PopplerFormField</span></a> and returns its current state. Returns <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if
+<em class="parameter"><code>field</code></em>
+ is pressed in and <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if it is raised.</p>
+<div class="refsect3">
+<a name="id-1.2.7.8.11.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>field</code></em> :</span></p></td>
-<td>a <a class="link" href="PopplerFormField.html" title="PoppplerFormField"><span class="type">PopplerFormField</span></a>
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>current state of <em class="parameter"><code>field</code></em>
-</td>
-</tr>
-</tbody>
+<tbody><tr>
+<td class="parameter_name"><p>field</p></td>
+<td class="parameter_description"><p>a <a class="link" href="PopplerFormField.html" title="PoppplerFormField"><span class="type">PopplerFormField</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="id-1.2.7.8.11.6"></a><h4>Returns</h4>
+<p> current state of <em class="parameter"><code>field</code></em>
+</p>
+<p></p>
+</div>
+</div>
<hr>
<div class="refsect2">
-<a name="poppler-form-field-button-set-state"></a><h3>poppler_form_field_button_set_state ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span> poppler_form_field_button_set_state (<em class="parameter"><code><a class="link" href="PopplerFormField.html" title="PoppplerFormField"><span class="type">PopplerFormField</span></a> *field</code></em>,
- <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> state</code></em>);</pre>
-<p>
-Sets the status of <em class="parameter"><code>field</code></em>. Set to <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if you want the <a class="link" href="PopplerFormField.html" title="PoppplerFormField"><span class="type">PopplerFormField</span></a>
-to be 'pressed in', and <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> to raise it.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="poppler-form-field-button-set-state"></a><h3>poppler_form_field_button_set_state ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+poppler_form_field_button_set_state (<em class="parameter"><code><a class="link" href="PopplerFormField.html" title="PoppplerFormField"><span class="type">PopplerFormField</span></a> *field</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> state</code></em>);</pre>
+<p>Sets the status of <em class="parameter"><code>field</code></em>
+. Set to <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if you want the <a class="link" href="PopplerFormField.html" title="PoppplerFormField"><span class="type">PopplerFormField</span></a>
+to be 'pressed in', and <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> to raise it.</p>
+<div class="refsect3">
+<a name="id-1.2.7.8.12.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><em class="parameter"><code>field</code></em> :</span></p></td>
-<td>a <a class="link" href="PopplerFormField.html" title="PoppplerFormField"><span class="type">PopplerFormField</span></a>
-</td>
+<td class="parameter_name"><p>field</p></td>
+<td class="parameter_description"><p>a <a class="link" href="PopplerFormField.html" title="PoppplerFormField"><span class="type">PopplerFormField</span></a></p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><em class="parameter"><code>state</code></em> :</span></p></td>
-<td>
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a>
-</td>
+<td class="parameter_name"><p>state</p></td>
+<td class="parameter_description"><p><a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a></p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
+</div>
<hr>
<div class="refsect2">
-<a name="poppler-form-field-choice-get-choice-type"></a><h3>poppler_form_field_choice_get_choice_type ()</h3>
-<pre class="programlisting"><a class="link" href="PopplerFormField.html#PopplerFormChoiceType" title="enum PopplerFormChoiceType"><span class="returnvalue">PopplerFormChoiceType</span></a> poppler_form_field_choice_get_choice_type
- (<em class="parameter"><code><a class="link" href="PopplerFormField.html" title="PoppplerFormField"><span class="type">PopplerFormField</span></a> *field</code></em>);</pre>
-<p>
-Gets the choice type of <em class="parameter"><code>field</code></em>
+<a name="poppler-form-field-choice-get-choice-type"></a><h3>poppler_form_field_choice_get_choice_type ()</h3>
+<pre class="programlisting"><a class="link" href="PopplerFormField.html#PopplerFormChoiceType" title="enum PopplerFormChoiceType"><span class="returnvalue">PopplerFormChoiceType</span></a>
+poppler_form_field_choice_get_choice_type
+ (<em class="parameter"><code><a class="link" href="PopplerFormField.html" title="PoppplerFormField"><span class="type">PopplerFormField</span></a> *field</code></em>);</pre>
+<p>Gets the choice type of <em class="parameter"><code>field</code></em>
</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<div class="refsect3">
+<a name="id-1.2.7.8.13.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>field</code></em> :</span></p></td>
-<td>a <a class="link" href="PopplerFormField.html" title="PoppplerFormField"><span class="type">PopplerFormField</span></a>
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>
-<a class="link" href="PopplerFormField.html#PopplerFormChoiceType" title="enum PopplerFormChoiceType"><span class="type">PopplerFormChoiceType</span></a> of <em class="parameter"><code>field</code></em>
-</td>
-</tr>
-</tbody>
+<tbody><tr>
+<td class="parameter_name"><p>field</p></td>
+<td class="parameter_description"><p>a <a class="link" href="PopplerFormField.html" title="PoppplerFormField"><span class="type">PopplerFormField</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="id-1.2.7.8.13.6"></a><h4>Returns</h4>
+<p> <a class="link" href="PopplerFormField.html#PopplerFormChoiceType" title="enum PopplerFormChoiceType"><span class="type">PopplerFormChoiceType</span></a> of <em class="parameter"><code>field</code></em>
+</p>
+<p></p>
+</div>
+</div>
<hr>
<div class="refsect2">
-<a name="poppler-form-field-choice-can-select-multiple"></a><h3>poppler_form_field_choice_can_select_multiple ()</h3>
-<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> poppler_form_field_choice_can_select_multiple
- (<em class="parameter"><code><a class="link" href="PopplerFormField.html" title="PoppplerFormField"><span class="type">PopplerFormField</span></a> *field</code></em>);</pre>
-<p>
-Checks whether <em class="parameter"><code>field</code></em> allows multiple choices to be selected
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="poppler-form-field-choice-can-select-multiple"></a><h3>poppler_form_field_choice_can_select_multiple ()</h3>
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+poppler_form_field_choice_can_select_multiple
+ (<em class="parameter"><code><a class="link" href="PopplerFormField.html" title="PoppplerFormField"><span class="type">PopplerFormField</span></a> *field</code></em>);</pre>
+<p>Checks whether <em class="parameter"><code>field</code></em>
+ allows multiple choices to be selected</p>
+<div class="refsect3">
+<a name="id-1.2.7.8.14.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>field</code></em> :</span></p></td>
-<td>a <a class="link" href="PopplerFormField.html" title="PoppplerFormField"><span class="type">PopplerFormField</span></a>
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if <em class="parameter"><code>field</code></em> allows multiple choices to be selected</td>
-</tr>
-</tbody>
+<tbody><tr>
+<td class="parameter_name"><p>field</p></td>
+<td class="parameter_description"><p>a <a class="link" href="PopplerFormField.html" title="PoppplerFormField"><span class="type">PopplerFormField</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="id-1.2.7.8.14.6"></a><h4>Returns</h4>
+<p> <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if <em class="parameter"><code>field</code></em>
+allows multiple choices to be selected</p>
+<p></p>
+</div>
+</div>
<hr>
<div class="refsect2">
-<a name="poppler-form-field-choice-commit-on-change"></a><h3>poppler_form_field_choice_commit_on_change ()</h3>
-<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> poppler_form_field_choice_commit_on_change
- (<em class="parameter"><code><a class="link" href="PopplerFormField.html" title="PoppplerFormField"><span class="type">PopplerFormField</span></a> *field</code></em>);</pre>
+<a name="poppler-form-field-choice-commit-on-change"></a><h3>poppler_form_field_choice_commit_on_change ()</h3>
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+poppler_form_field_choice_commit_on_change
+ (<em class="parameter"><code><a class="link" href="PopplerFormField.html" title="PoppplerFormField"><span class="type">PopplerFormField</span></a> *field</code></em>);</pre>
</div>
<hr>
<div class="refsect2">
-<a name="poppler-form-field-choice-do-spell-check"></a><h3>poppler_form_field_choice_do_spell_check ()</h3>
-<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> poppler_form_field_choice_do_spell_check
- (<em class="parameter"><code><a class="link" href="PopplerFormField.html" title="PoppplerFormField"><span class="type">PopplerFormField</span></a> *field</code></em>);</pre>
-<p>
-Checks whether spell checking should be done for the contents of <em class="parameter"><code>field</code></em>
+<a name="poppler-form-field-choice-do-spell-check"></a><h3>poppler_form_field_choice_do_spell_check ()</h3>
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+poppler_form_field_choice_do_spell_check
+ (<em class="parameter"><code><a class="link" href="PopplerFormField.html" title="PoppplerFormField"><span class="type">PopplerFormField</span></a> *field</code></em>);</pre>
+<p>Checks whether spell checking should be done for the contents of <em class="parameter"><code>field</code></em>
</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<div class="refsect3">
+<a name="id-1.2.7.8.16.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>field</code></em> :</span></p></td>
-<td>a <a class="link" href="PopplerFormField.html" title="PoppplerFormField"><span class="type">PopplerFormField</span></a>
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if spell checking should be done for <em class="parameter"><code>field</code></em>
-</td>
-</tr>
-</tbody>
+<tbody><tr>
+<td class="parameter_name"><p>field</p></td>
+<td class="parameter_description"><p>a <a class="link" href="PopplerFormField.html" title="PoppplerFormField"><span class="type">PopplerFormField</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="id-1.2.7.8.16.6"></a><h4>Returns</h4>
+<p> <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if spell checking should be done for <em class="parameter"><code>field</code></em>
+</p>
+<p></p>
+</div>
+</div>
<hr>
<div class="refsect2">
-<a name="poppler-form-field-choice-get-item"></a><h3>poppler_form_field_choice_get_item ()</h3>
-<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> * poppler_form_field_choice_get_item (<em class="parameter"><code><a class="link" href="PopplerFormField.html" title="PoppplerFormField"><span class="type">PopplerFormField</span></a> *field</code></em>,
- <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> index</code></em>);</pre>
-<p>
-Returns the contents of the item on <em class="parameter"><code>field</code></em> at the given index
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="poppler-form-field-choice-get-item"></a><h3>poppler_form_field_choice_get_item ()</h3>
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+poppler_form_field_choice_get_item (<em class="parameter"><code><a class="link" href="PopplerFormField.html" title="PoppplerFormField"><span class="type">PopplerFormField</span></a> *field</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> index</code></em>);</pre>
+<p>Returns the contents of the item on <em class="parameter"><code>field</code></em>
+ at the given index</p>
+<div class="refsect3">
+<a name="id-1.2.7.8.17.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><em class="parameter"><code>field</code></em> :</span></p></td>
-<td>a <a class="link" href="PopplerFormField.html" title="PoppplerFormField"><span class="type">PopplerFormField</span></a>
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>index</code></em> :</span></p></td>
-<td>the index of the item</td>
+<td class="parameter_name"><p>field</p></td>
+<td class="parameter_description"><p>a <a class="link" href="PopplerFormField.html" title="PoppplerFormField"><span class="type">PopplerFormField</span></a></p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>a new allocated string. It must be freed with <a href="http://library.gnome.org/devel/glib/unstable/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a> when done.</td>
+<td class="parameter_name"><p>index</p></td>
+<td class="parameter_description"><p>the index of the item</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="id-1.2.7.8.17.6"></a><h4>Returns</h4>
+<p> a new allocated string. It must be freed with <a href="http://library.gnome.org/devel/glib/unstable/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a> when done.</p>
+<p></p>
+</div>
+</div>
<hr>
<div class="refsect2">
-<a name="poppler-form-field-choice-get-n-items"></a><h3>poppler_form_field_choice_get_n_items ()</h3>
-<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="returnvalue">gint</span></a> poppler_form_field_choice_get_n_items
- (<em class="parameter"><code><a class="link" href="PopplerFormField.html" title="PoppplerFormField"><span class="type">PopplerFormField</span></a> *field</code></em>);</pre>
-<p>
-Returns the number of items on <em class="parameter"><code>field</code></em>
+<a name="poppler-form-field-choice-get-n-items"></a><h3>poppler_form_field_choice_get_n_items ()</h3>
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="returnvalue">gint</span></a>
+poppler_form_field_choice_get_n_items (<em class="parameter"><code><a class="link" href="PopplerFormField.html" title="PoppplerFormField"><span class="type">PopplerFormField</span></a> *field</code></em>);</pre>
+<p>Returns the number of items on <em class="parameter"><code>field</code></em>
</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<div class="refsect3">
+<a name="id-1.2.7.8.18.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>field</code></em> :</span></p></td>
-<td>a <a class="link" href="PopplerFormField.html" title="PoppplerFormField"><span class="type">PopplerFormField</span></a>
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>the number of items on <em class="parameter"><code>field</code></em>
-</td>
-</tr>
-</tbody>
+<tbody><tr>
+<td class="parameter_name"><p>field</p></td>
+<td class="parameter_description"><p>a <a class="link" href="PopplerFormField.html" title="PoppplerFormField"><span class="type">PopplerFormField</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="id-1.2.7.8.18.6"></a><h4>Returns</h4>
+<p> the number of items on <em class="parameter"><code>field</code></em>
+</p>
+<p></p>
+</div>
+</div>
<hr>
<div class="refsect2">
-<a name="poppler-form-field-choice-get-text"></a><h3>poppler_form_field_choice_get_text ()</h3>
-<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> * poppler_form_field_choice_get_text (<em class="parameter"><code><a class="link" href="PopplerFormField.html" title="PoppplerFormField"><span class="type">PopplerFormField</span></a> *field</code></em>);</pre>
-<p>
-Retrieves the contents of <em class="parameter"><code>field</code></em>.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="poppler-form-field-choice-get-text"></a><h3>poppler_form_field_choice_get_text ()</h3>
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+poppler_form_field_choice_get_text (<em class="parameter"><code><a class="link" href="PopplerFormField.html" title="PoppplerFormField"><span class="type">PopplerFormField</span></a> *field</code></em>);</pre>
+<p>Retrieves the contents of <em class="parameter"><code>field</code></em>
+.</p>
+<div class="refsect3">
+<a name="id-1.2.7.8.19.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>field</code></em> :</span></p></td>
-<td>a <a class="link" href="PopplerFormField.html" title="PoppplerFormField"><span class="type">PopplerFormField</span></a>
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>a new allocated string. It must be freed with <a href="http://library.gnome.org/devel/glib/unstable/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a> when done.</td>
-</tr>
-</tbody>
+<tbody><tr>
+<td class="parameter_name"><p>field</p></td>
+<td class="parameter_description"><p>a <a class="link" href="PopplerFormField.html" title="PoppplerFormField"><span class="type">PopplerFormField</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="id-1.2.7.8.19.6"></a><h4>Returns</h4>
+<p> a new allocated string. It must be freed with <a href="http://library.gnome.org/devel/glib/unstable/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a> when done.</p>
+<p></p>
+</div>
+</div>
<hr>
<div class="refsect2">
-<a name="poppler-form-field-choice-set-text"></a><h3>poppler_form_field_choice_set_text ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span> poppler_form_field_choice_set_text (<em class="parameter"><code><a class="link" href="PopplerFormField.html" title="PoppplerFormField"><span class="type">PopplerFormField</span></a> *field</code></em>,
- <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *text</code></em>);</pre>
-<p>
-Sets the text in <em class="parameter"><code>field</code></em> to the given value, replacing the current contents
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="poppler-form-field-choice-set-text"></a><h3>poppler_form_field_choice_set_text ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+poppler_form_field_choice_set_text (<em class="parameter"><code><a class="link" href="PopplerFormField.html" title="PoppplerFormField"><span class="type">PopplerFormField</span></a> *field</code></em>,
+ <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *text</code></em>);</pre>
+<p>Sets the text in <em class="parameter"><code>field</code></em>
+ to the given value, replacing the current contents</p>
+<div class="refsect3">
+<a name="id-1.2.7.8.20.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><em class="parameter"><code>field</code></em> :</span></p></td>
-<td>a <a class="link" href="PopplerFormField.html" title="PoppplerFormField"><span class="type">PopplerFormField</span></a>
-</td>
+<td class="parameter_name"><p>field</p></td>
+<td class="parameter_description"><p>a <a class="link" href="PopplerFormField.html" title="PoppplerFormField"><span class="type">PopplerFormField</span></a></p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><em class="parameter"><code>text</code></em> :</span></p></td>
-<td>the new text</td>
+<td class="parameter_name"><p>text</p></td>
+<td class="parameter_description"><p>the new text</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
+</div>
<hr>
<div class="refsect2">
-<a name="poppler-form-field-choice-is-editable"></a><h3>poppler_form_field_choice_is_editable ()</h3>
-<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> poppler_form_field_choice_is_editable
- (<em class="parameter"><code><a class="link" href="PopplerFormField.html" title="PoppplerFormField"><span class="type">PopplerFormField</span></a> *field</code></em>);</pre>
-<p>
-Checks whether <em class="parameter"><code>field</code></em> is editable
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="poppler-form-field-choice-is-editable"></a><h3>poppler_form_field_choice_is_editable ()</h3>
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+poppler_form_field_choice_is_editable (<em class="parameter"><code><a class="link" href="PopplerFormField.html" title="PoppplerFormField"><span class="type">PopplerFormField</span></a> *field</code></em>);</pre>
+<p>Checks whether <em class="parameter"><code>field</code></em>
+ is editable</p>
+<div class="refsect3">
+<a name="id-1.2.7.8.21.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>field</code></em> :</span></p></td>
-<td>a <a class="link" href="PopplerFormField.html" title="PoppplerFormField"><span class="type">PopplerFormField</span></a>
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if <em class="parameter"><code>field</code></em> is editable</td>
-</tr>
-</tbody>
+<tbody><tr>
+<td class="parameter_name"><p>field</p></td>
+<td class="parameter_description"><p>a <a class="link" href="PopplerFormField.html" title="PoppplerFormField"><span class="type">PopplerFormField</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="id-1.2.7.8.21.6"></a><h4>Returns</h4>
+<p> <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if <em class="parameter"><code>field</code></em>
+is editable</p>
+<p></p>
+</div>
+</div>
<hr>
<div class="refsect2">
-<a name="poppler-form-field-choice-is-item-selected"></a><h3>poppler_form_field_choice_is_item_selected ()</h3>
-<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> poppler_form_field_choice_is_item_selected
- (<em class="parameter"><code><a class="link" href="PopplerFormField.html" title="PoppplerFormField"><span class="type">PopplerFormField</span></a> *field</code></em>,
- <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> index</code></em>);</pre>
-<p>
-Checks whether the item at the given index on <em class="parameter"><code>field</code></em> is currently selected
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="poppler-form-field-choice-is-item-selected"></a><h3>poppler_form_field_choice_is_item_selected ()</h3>
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+poppler_form_field_choice_is_item_selected
+ (<em class="parameter"><code><a class="link" href="PopplerFormField.html" title="PoppplerFormField"><span class="type">PopplerFormField</span></a> *field</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> index</code></em>);</pre>
+<p>Checks whether the item at the given index on <em class="parameter"><code>field</code></em>
+ is currently selected</p>
+<div class="refsect3">
+<a name="id-1.2.7.8.22.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><em class="parameter"><code>field</code></em> :</span></p></td>
-<td>a <a class="link" href="PopplerFormField.html" title="PoppplerFormField"><span class="type">PopplerFormField</span></a>
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>index</code></em> :</span></p></td>
-<td>the index of the item</td>
+<td class="parameter_name"><p>field</p></td>
+<td class="parameter_description"><p>a <a class="link" href="PopplerFormField.html" title="PoppplerFormField"><span class="type">PopplerFormField</span></a></p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if item at <em class="parameter"><code>index</code></em> is currently selected</td>
+<td class="parameter_name"><p>index</p></td>
+<td class="parameter_description"><p>the index of the item</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="id-1.2.7.8.22.6"></a><h4>Returns</h4>
+<p> <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if item at <em class="parameter"><code>index</code></em>
+is currently selected</p>
+<p></p>
+</div>
+</div>
<hr>
<div class="refsect2">
-<a name="poppler-form-field-choice-select-item"></a><h3>poppler_form_field_choice_select_item ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span> poppler_form_field_choice_select_item
- (<em class="parameter"><code><a class="link" href="PopplerFormField.html" title="PoppplerFormField"><span class="type">PopplerFormField</span></a> *field</code></em>,
- <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> index</code></em>);</pre>
-<p>
-Selects the item at the given index on <em class="parameter"><code>field</code></em>
+<a name="poppler-form-field-choice-select-item"></a><h3>poppler_form_field_choice_select_item ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+poppler_form_field_choice_select_item (<em class="parameter"><code><a class="link" href="PopplerFormField.html" title="PoppplerFormField"><span class="type">PopplerFormField</span></a> *field</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> index</code></em>);</pre>
+<p>Selects the item at the given index on <em class="parameter"><code>field</code></em>
</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<div class="refsect3">
+<a name="id-1.2.7.8.23.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><em class="parameter"><code>field</code></em> :</span></p></td>
-<td>a <a class="link" href="PopplerFormField.html" title="PoppplerFormField"><span class="type">PopplerFormField</span></a>
-</td>
+<td class="parameter_name"><p>field</p></td>
+<td class="parameter_description"><p>a <a class="link" href="PopplerFormField.html" title="PoppplerFormField"><span class="type">PopplerFormField</span></a></p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><em class="parameter"><code>index</code></em> :</span></p></td>
-<td>the index of the item</td>
+<td class="parameter_name"><p>index</p></td>
+<td class="parameter_description"><p>the index of the item</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
+</div>
<hr>
<div class="refsect2">
-<a name="poppler-form-field-choice-toggle-item"></a><h3>poppler_form_field_choice_toggle_item ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span> poppler_form_field_choice_toggle_item
- (<em class="parameter"><code><a class="link" href="PopplerFormField.html" title="PoppplerFormField"><span class="type">PopplerFormField</span></a> *field</code></em>,
- <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> index</code></em>);</pre>
-<p>
-Changes the state of the item at the given index
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="poppler-form-field-choice-toggle-item"></a><h3>poppler_form_field_choice_toggle_item ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+poppler_form_field_choice_toggle_item (<em class="parameter"><code><a class="link" href="PopplerFormField.html" title="PoppplerFormField"><span class="type">PopplerFormField</span></a> *field</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> index</code></em>);</pre>
+<p>Changes the state of the item at the given index</p>
+<div class="refsect3">
+<a name="id-1.2.7.8.24.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><em class="parameter"><code>field</code></em> :</span></p></td>
-<td>a <a class="link" href="PopplerFormField.html" title="PoppplerFormField"><span class="type">PopplerFormField</span></a>
-</td>
+<td class="parameter_name"><p>field</p></td>
+<td class="parameter_description"><p>a <a class="link" href="PopplerFormField.html" title="PoppplerFormField"><span class="type">PopplerFormField</span></a></p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><em class="parameter"><code>index</code></em> :</span></p></td>
-<td>the index of the item</td>
+<td class="parameter_name"><p>index</p></td>
+<td class="parameter_description"><p>the index of the item</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
+</div>
<hr>
<div class="refsect2">
-<a name="poppler-form-field-choice-unselect-all"></a><h3>poppler_form_field_choice_unselect_all ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span> poppler_form_field_choice_unselect_all
- (<em class="parameter"><code><a class="link" href="PopplerFormField.html" title="PoppplerFormField"><span class="type">PopplerFormField</span></a> *field</code></em>);</pre>
-<p>
-Unselects all the items on <em class="parameter"><code>field</code></em>
+<a name="poppler-form-field-choice-unselect-all"></a><h3>poppler_form_field_choice_unselect_all ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+poppler_form_field_choice_unselect_all
+ (<em class="parameter"><code><a class="link" href="PopplerFormField.html" title="PoppplerFormField"><span class="type">PopplerFormField</span></a> *field</code></em>);</pre>
+<p>Unselects all the items on <em class="parameter"><code>field</code></em>
</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<div class="refsect3">
+<a name="id-1.2.7.8.25.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
-<td><p><span class="term"><em class="parameter"><code>field</code></em> :</span></p></td>
-<td>a <a class="link" href="PopplerFormField.html" title="PoppplerFormField"><span class="type">PopplerFormField</span></a>
-</td>
+<td class="parameter_name"><p>field</p></td>
+<td class="parameter_description"><p>a <a class="link" href="PopplerFormField.html" title="PoppplerFormField"><span class="type">PopplerFormField</span></a></p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
+</div>
<hr>
<div class="refsect2">
-<a name="poppler-form-field-text-get-text-type"></a><h3>poppler_form_field_text_get_text_type ()</h3>
-<pre class="programlisting"><a class="link" href="PopplerFormField.html#PopplerFormTextType" title="enum PopplerFormTextType"><span class="returnvalue">PopplerFormTextType</span></a> poppler_form_field_text_get_text_type
- (<em class="parameter"><code><a class="link" href="PopplerFormField.html" title="PoppplerFormField"><span class="type">PopplerFormField</span></a> *field</code></em>);</pre>
-<p>
-Gets the text type of <em class="parameter"><code>field</code></em>.
+<a name="poppler-form-field-text-get-text-type"></a><h3>poppler_form_field_text_get_text_type ()</h3>
+<pre class="programlisting"><a class="link" href="PopplerFormField.html#PopplerFormTextType" title="enum PopplerFormTextType"><span class="returnvalue">PopplerFormTextType</span></a>
+poppler_form_field_text_get_text_type (<em class="parameter"><code><a class="link" href="PopplerFormField.html" title="PoppplerFormField"><span class="type">PopplerFormField</span></a> *field</code></em>);</pre>
+<p>Gets the text type of <em class="parameter"><code>field</code></em>
+.</p>
+<div class="refsect3">
+<a name="id-1.2.7.8.26.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>field</p></td>
+<td class="parameter_description"><p>a <a class="link" href="PopplerFormField.html" title="PoppplerFormField"><span class="type">PopplerFormField</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.2.7.8.26.6"></a><h4>Returns</h4>
+<p> <a class="link" href="PopplerFormField.html#PopplerFormTextType" title="enum PopplerFormTextType"><span class="type">PopplerFormTextType</span></a> of <em class="parameter"><code>field</code></em>
</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<p></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="poppler-form-field-text-get-text"></a><h3>poppler_form_field_text_get_text ()</h3>
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+poppler_form_field_text_get_text (<em class="parameter"><code><a class="link" href="PopplerFormField.html" title="PoppplerFormField"><span class="type">PopplerFormField</span></a> *field</code></em>);</pre>
+<p>Retrieves the contents of <em class="parameter"><code>field</code></em>
+.</p>
+<div class="refsect3">
+<a name="id-1.2.7.8.27.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>field</code></em> :</span></p></td>
-<td>a <a class="link" href="PopplerFormField.html" title="PoppplerFormField"><span class="type">PopplerFormField</span></a>
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>
-<a class="link" href="PopplerFormField.html#PopplerFormTextType" title="enum PopplerFormTextType"><span class="type">PopplerFormTextType</span></a> of <em class="parameter"><code>field</code></em>
-</td>
-</tr>
-</tbody>
+<tbody><tr>
+<td class="parameter_name"><p>field</p></td>
+<td class="parameter_description"><p>a <a class="link" href="PopplerFormField.html" title="PoppplerFormField"><span class="type">PopplerFormField</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="id-1.2.7.8.27.6"></a><h4>Returns</h4>
+<p> a new allocated string. It must be freed with <a href="http://library.gnome.org/devel/glib/unstable/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a> when done.</p>
+<p></p>
+</div>
+</div>
<hr>
<div class="refsect2">
-<a name="poppler-form-field-text-get-text"></a><h3>poppler_form_field_text_get_text ()</h3>
-<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> * poppler_form_field_text_get_text (<em class="parameter"><code><a class="link" href="PopplerFormField.html" title="PoppplerFormField"><span class="type">PopplerFormField</span></a> *field</code></em>);</pre>
-<p>
-Retrieves the contents of <em class="parameter"><code>field</code></em>.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="poppler-form-field-text-set-text"></a><h3>poppler_form_field_text_set_text ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+poppler_form_field_text_set_text (<em class="parameter"><code><a class="link" href="PopplerFormField.html" title="PoppplerFormField"><span class="type">PopplerFormField</span></a> *field</code></em>,
+ <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *text</code></em>);</pre>
+<p>Sets the text in <em class="parameter"><code>field</code></em>
+ to the given value, replacing the current contents.</p>
+<div class="refsect3">
+<a name="id-1.2.7.8.28.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><em class="parameter"><code>field</code></em> :</span></p></td>
-<td>a <a class="link" href="PopplerFormField.html" title="PoppplerFormField"><span class="type">PopplerFormField</span></a>
-</td>
+<td class="parameter_name"><p>field</p></td>
+<td class="parameter_description"><p>a <a class="link" href="PopplerFormField.html" title="PoppplerFormField"><span class="type">PopplerFormField</span></a></p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>a new allocated string. It must be freed with <a href="http://library.gnome.org/devel/glib/unstable/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a> when done.</td>
+<td class="parameter_name"><p>text</p></td>
+<td class="parameter_description"><p>the new text</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
+</div>
<hr>
<div class="refsect2">
-<a name="poppler-form-field-text-set-text"></a><h3>poppler_form_field_text_set_text ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span> poppler_form_field_text_set_text (<em class="parameter"><code><a class="link" href="PopplerFormField.html" title="PoppplerFormField"><span class="type">PopplerFormField</span></a> *field</code></em>,
- <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *text</code></em>);</pre>
-<p>
-Sets the text in <em class="parameter"><code>field</code></em> to the given value, replacing the current contents.
+<a name="poppler-form-field-text-get-max-len"></a><h3>poppler_form_field_text_get_max_len ()</h3>
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="returnvalue">gint</span></a>
+poppler_form_field_text_get_max_len (<em class="parameter"><code><a class="link" href="PopplerFormField.html" title="PoppplerFormField"><span class="type">PopplerFormField</span></a> *field</code></em>);</pre>
+<p>Retrieves the maximum allowed length of the text in <em class="parameter"><code>field</code></em>
</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<div class="refsect3">
+<a name="id-1.2.7.8.29.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>field</code></em> :</span></p></td>
-<td>a <a class="link" href="PopplerFormField.html" title="PoppplerFormField"><span class="type">PopplerFormField</span></a>
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>text</code></em> :</span></p></td>
-<td>the new text</td>
-</tr>
-</tbody>
+<tbody><tr>
+<td class="parameter_name"><p>field</p></td>
+<td class="parameter_description"><p>a <a class="link" href="PopplerFormField.html" title="PoppplerFormField"><span class="type">PopplerFormField</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="id-1.2.7.8.29.6"></a><h4>Returns</h4>
+<p> the maximum allowed number of characters in <em class="parameter"><code>field</code></em>
+, or -1 if there is no maximum.</p>
+<p></p>
+</div>
+</div>
<hr>
<div class="refsect2">
-<a name="poppler-form-field-text-get-max-len"></a><h3>poppler_form_field_text_get_max_len ()</h3>
-<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="returnvalue">gint</span></a> poppler_form_field_text_get_max_len (<em class="parameter"><code><a class="link" href="PopplerFormField.html" title="PoppplerFormField"><span class="type">PopplerFormField</span></a> *field</code></em>);</pre>
-<p>
-Retrieves the maximum allowed length of the text in <em class="parameter"><code>field</code></em>
+<a name="poppler-form-field-text-do-scroll"></a><h3>poppler_form_field_text_do_scroll ()</h3>
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+poppler_form_field_text_do_scroll (<em class="parameter"><code><a class="link" href="PopplerFormField.html" title="PoppplerFormField"><span class="type">PopplerFormField</span></a> *field</code></em>);</pre>
+</div>
+<hr>
+<div class="refsect2">
+<a name="poppler-form-field-text-do-spell-check"></a><h3>poppler_form_field_text_do_spell_check ()</h3>
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+poppler_form_field_text_do_spell_check
+ (<em class="parameter"><code><a class="link" href="PopplerFormField.html" title="PoppplerFormField"><span class="type">PopplerFormField</span></a> *field</code></em>);</pre>
+<p>Checks whether spell checking should be done for the contents of <em class="parameter"><code>field</code></em>
+</p>
+<div class="refsect3">
+<a name="id-1.2.7.8.31.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>field</p></td>
+<td class="parameter_description"><p>a <a class="link" href="PopplerFormField.html" title="PoppplerFormField"><span class="type">PopplerFormField</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.2.7.8.31.6"></a><h4>Returns</h4>
+<p> <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if spell checking should be done for <em class="parameter"><code>field</code></em>
</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<p></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="poppler-form-field-text-is-password"></a><h3>poppler_form_field_text_is_password ()</h3>
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+poppler_form_field_text_is_password (<em class="parameter"><code><a class="link" href="PopplerFormField.html" title="PoppplerFormField"><span class="type">PopplerFormField</span></a> *field</code></em>);</pre>
+<p>Checks whether content of <em class="parameter"><code>field</code></em>
+ is a password and it must be hidden</p>
+<div class="refsect3">
+<a name="id-1.2.7.8.32.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>field</p></td>
+<td class="parameter_description"><p>a <a class="link" href="PopplerFormField.html" title="PoppplerFormField"><span class="type">PopplerFormField</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.2.7.8.32.6"></a><h4>Returns</h4>
+<p> <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the content of <em class="parameter"><code>field</code></em>
+is a password</p>
+<p></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="poppler-form-field-text-is-rich-text"></a><h3>poppler_form_field_text_is_rich_text ()</h3>
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+poppler_form_field_text_is_rich_text (<em class="parameter"><code><a class="link" href="PopplerFormField.html" title="PoppplerFormField"><span class="type">PopplerFormField</span></a> *field</code></em>);</pre>
+<p>Checks whether the contents of <em class="parameter"><code>field</code></em>
+ are rich text</p>
+<div class="refsect3">
+<a name="id-1.2.7.8.33.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>field</p></td>
+<td class="parameter_description"><p>a <a class="link" href="PopplerFormField.html" title="PoppplerFormField"><span class="type">PopplerFormField</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.2.7.8.33.6"></a><h4>Returns</h4>
+<p> <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the contents of <em class="parameter"><code>field</code></em>
+are rich text</p>
+<p></p>
+</div>
+</div>
+</div>
+<div class="refsect1">
+<a name="PopplerFormField.other_details"></a><h2>Types and Values</h2>
+<div class="refsect2">
+<a name="PopplerFormField-struct"></a><h3>PopplerFormField</h3>
+<pre class="programlisting">typedef struct _PopplerFormField PopplerFormField;</pre>
+</div>
+<hr>
+<div class="refsect2">
+<a name="PopplerFormFieldType"></a><h3>enum PopplerFormFieldType</h3>
+<div class="refsect3">
+<a name="id-1.2.7.9.3.3"></a><h4>Members</h4>
+<div class="informaltable"><table width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="300px" class="enum_members_name">
+<col class="enum_members_description">
+<col width="200px" class="enum_members_annotations">
</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><em class="parameter"><code>field</code></em> :</span></p></td>
-<td>a <a class="link" href="PopplerFormField.html" title="PoppplerFormField"><span class="type">PopplerFormField</span></a>
-</td>
+<td class="enum_member_name"><p><a name="POPPLER-FORM-FIELD-UNKNOWN:CAPS"></a>POPPLER_FORM_FIELD_UNKNOWN</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="POPPLER-FORM-FIELD-BUTTON:CAPS"></a>POPPLER_FORM_FIELD_BUTTON</p></td>
+<td> </td>
+<td> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>the maximum allowed number of characters in <em class="parameter"><code>field</code></em>, or -1 if there is no maximum.</td>
+<td class="enum_member_name"><p><a name="POPPLER-FORM-FIELD-TEXT:CAPS"></a>POPPLER_FORM_FIELD_TEXT</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="POPPLER-FORM-FIELD-CHOICE:CAPS"></a>POPPLER_FORM_FIELD_CHOICE</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="POPPLER-FORM-FIELD-SIGNATURE:CAPS"></a>POPPLER_FORM_FIELD_SIGNATURE</p></td>
+<td> </td>
+<td> </td>
</tr>
</tbody>
</table></div>
</div>
-<hr>
-<div class="refsect2">
-<a name="poppler-form-field-text-do-scroll"></a><h3>poppler_form_field_text_do_scroll ()</h3>
-<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> poppler_form_field_text_do_scroll (<em class="parameter"><code><a class="link" href="PopplerFormField.html" title="PoppplerFormField"><span class="type">PopplerFormField</span></a> *field</code></em>);</pre>
</div>
<hr>
<div class="refsect2">
-<a name="poppler-form-field-text-do-spell-check"></a><h3>poppler_form_field_text_do_spell_check ()</h3>
-<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> poppler_form_field_text_do_spell_check
- (<em class="parameter"><code><a class="link" href="PopplerFormField.html" title="PoppplerFormField"><span class="type">PopplerFormField</span></a> *field</code></em>);</pre>
-<p>
-Checks whether spell checking should be done for the contents of <em class="parameter"><code>field</code></em>
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="PopplerFormButtonType"></a><h3>enum PopplerFormButtonType</h3>
+<div class="refsect3">
+<a name="id-1.2.7.9.4.3"></a><h4>Members</h4>
+<div class="informaltable"><table width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="300px" class="enum_members_name">
+<col class="enum_members_description">
+<col width="200px" class="enum_members_annotations">
</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><em class="parameter"><code>field</code></em> :</span></p></td>
-<td>a <a class="link" href="PopplerFormField.html" title="PoppplerFormField"><span class="type">PopplerFormField</span></a>
-</td>
+<td class="enum_member_name"><p><a name="POPPLER-FORM-BUTTON-PUSH:CAPS"></a>POPPLER_FORM_BUTTON_PUSH</p></td>
+<td> </td>
+<td> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if spell checking should be done for <em class="parameter"><code>field</code></em>
-</td>
+<td class="enum_member_name"><p><a name="POPPLER-FORM-BUTTON-CHECK:CAPS"></a>POPPLER_FORM_BUTTON_CHECK</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="POPPLER-FORM-BUTTON-RADIO:CAPS"></a>POPPLER_FORM_BUTTON_RADIO</p></td>
+<td> </td>
+<td> </td>
</tr>
</tbody>
</table></div>
</div>
+</div>
<hr>
<div class="refsect2">
-<a name="poppler-form-field-text-is-password"></a><h3>poppler_form_field_text_is_password ()</h3>
-<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> poppler_form_field_text_is_password (<em class="parameter"><code><a class="link" href="PopplerFormField.html" title="PoppplerFormField"><span class="type">PopplerFormField</span></a> *field</code></em>);</pre>
-<p>
-Checks whether content of <em class="parameter"><code>field</code></em> is a password and it must be hidden
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="PopplerFormChoiceType"></a><h3>enum PopplerFormChoiceType</h3>
+<div class="refsect3">
+<a name="id-1.2.7.9.5.3"></a><h4>Members</h4>
+<div class="informaltable"><table width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="300px" class="enum_members_name">
+<col class="enum_members_description">
+<col width="200px" class="enum_members_annotations">
</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><em class="parameter"><code>field</code></em> :</span></p></td>
-<td>a <a class="link" href="PopplerFormField.html" title="PoppplerFormField"><span class="type">PopplerFormField</span></a>
-</td>
+<td class="enum_member_name"><p><a name="POPPLER-FORM-CHOICE-COMBO:CAPS"></a>POPPLER_FORM_CHOICE_COMBO</p></td>
+<td> </td>
+<td> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the content of <em class="parameter"><code>field</code></em> is a password</td>
+<td class="enum_member_name"><p><a name="POPPLER-FORM-CHOICE-LIST:CAPS"></a>POPPLER_FORM_CHOICE_LIST</p></td>
+<td> </td>
+<td> </td>
</tr>
</tbody>
</table></div>
</div>
+</div>
<hr>
<div class="refsect2">
-<a name="poppler-form-field-text-is-rich-text"></a><h3>poppler_form_field_text_is_rich_text ()</h3>
-<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> poppler_form_field_text_is_rich_text
- (<em class="parameter"><code><a class="link" href="PopplerFormField.html" title="PoppplerFormField"><span class="type">PopplerFormField</span></a> *field</code></em>);</pre>
-<p>
-Checks whether the contents of <em class="parameter"><code>field</code></em> are rich text
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="PopplerFormTextType"></a><h3>enum PopplerFormTextType</h3>
+<div class="refsect3">
+<a name="id-1.2.7.9.6.3"></a><h4>Members</h4>
+<div class="informaltable"><table width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="300px" class="enum_members_name">
+<col class="enum_members_description">
+<col width="200px" class="enum_members_annotations">
</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><em class="parameter"><code>field</code></em> :</span></p></td>
-<td>a <a class="link" href="PopplerFormField.html" title="PoppplerFormField"><span class="type">PopplerFormField</span></a>
-</td>
+<td class="enum_member_name"><p><a name="POPPLER-FORM-TEXT-NORMAL:CAPS"></a>POPPLER_FORM_TEXT_NORMAL</p></td>
+<td> </td>
+<td> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the contents of <em class="parameter"><code>field</code></em> are rich text</td>
+<td class="enum_member_name"><p><a name="POPPLER-FORM-TEXT-MULTILINE:CAPS"></a>POPPLER_FORM_TEXT_MULTILINE</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="POPPLER-FORM-TEXT-FILE-SELECT:CAPS"></a>POPPLER_FORM_TEXT_FILE_SELECT</p></td>
+<td> </td>
+<td> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
</div>
+</div>
<div class="footer">
<hr>
- Generated by GTK-Doc V1.19</div>
+ Generated by GTK-Doc V1.21</div>
</body>
</html> \ No newline at end of file
diff --git a/glib/reference/html/PopplerLayer.html b/glib/reference/html/PopplerLayer.html
index 18172633..42a27b43 100644
--- a/glib/reference/html/PopplerLayer.html
+++ b/glib/reference/html/PopplerLayer.html
@@ -2,32 +2,27 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>PopplerLayer</title>
+<title>Poppler Reference Manual: PopplerLayer</title>
<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<link rel="home" href="index.html" title="Poppler Reference Manual">
<link rel="up" href="ch01.html" title="Poppler">
<link rel="prev" href="PopplerAnnot.html" title="PopplerAnnot">
<link rel="next" href="PopplerMedia.html" title="PopplerMedia">
-<meta name="generator" content="GTK-Doc V1.19 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
-<tr valign="middle">
-<td><a accesskey="p" href="PopplerAnnot.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
-<td><a accesskey="u" href="ch01.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
-<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
-<th width="100%" align="center">Poppler Reference Manual</th>
-<td><a accesskey="n" href="PopplerMedia.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
-</tr>
-<tr><td colspan="5" class="shortcuts">
-<a href="#PopplerLayer.synopsis" class="shortcut">Top</a>
-  | 
- <a href="#PopplerLayer.description" class="shortcut">Description</a>
-  | 
- <a href="#PopplerLayer.object-hierarchy" class="shortcut">Object Hierarchy</a>
-</td></tr>
-</table>
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts">
+<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
+ <a href="#PopplerLayer.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
+ <a href="#PopplerLayer.object-hierarchy" class="shortcut">Object Hierarchy</a></span>
+</td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="ch01.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="PopplerAnnot.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="PopplerMedia.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
<div class="refentry">
<a name="PopplerLayer"></a><div class="titlepage"></div>
<div class="refnamediv"><table width="100%"><tr>
@@ -35,194 +30,278 @@
<h2><span class="refentrytitle"><a name="PopplerLayer.top_of_page"></a>PopplerLayer</span></h2>
<p>PopplerLayer — Layers</p>
</td>
-<td valign="top" align="right"></td>
+<td class="gallery_image" valign="top" align="right"></td>
</tr></table></div>
-<div class="refsynopsisdiv">
-<a name="PopplerLayer.synopsis"></a><h2>Synopsis</h2>
-<pre class="synopsis">
-#include &lt;poppler.h&gt;
-
- <a class="link" href="PopplerLayer.html#PopplerLayer-struct" title="PopplerLayer">PopplerLayer</a>;
-const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> * <a class="link" href="PopplerLayer.html#poppler-layer-get-title" title="poppler_layer_get_title ()">poppler_layer_get_title</a> (<em class="parameter"><code><a class="link" href="PopplerLayer.html" title="PopplerLayer"><span class="type">PopplerLayer</span></a> *layer</code></em>);
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="PopplerLayer.html#poppler-layer-is-visible" title="poppler_layer_is_visible ()">poppler_layer_is_visible</a> (<em class="parameter"><code><a class="link" href="PopplerLayer.html" title="PopplerLayer"><span class="type">PopplerLayer</span></a> *layer</code></em>);
-<span class="returnvalue">void</span> <a class="link" href="PopplerLayer.html#poppler-layer-show" title="poppler_layer_show ()">poppler_layer_show</a> (<em class="parameter"><code><a class="link" href="PopplerLayer.html" title="PopplerLayer"><span class="type">PopplerLayer</span></a> *layer</code></em>);
-<span class="returnvalue">void</span> <a class="link" href="PopplerLayer.html#poppler-layer-hide" title="poppler_layer_hide ()">poppler_layer_hide</a> (<em class="parameter"><code><a class="link" href="PopplerLayer.html" title="PopplerLayer"><span class="type">PopplerLayer</span></a> *layer</code></em>);
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="PopplerLayer.html#poppler-layer-is-parent" title="poppler_layer_is_parent ()">poppler_layer_is_parent</a> (<em class="parameter"><code><a class="link" href="PopplerLayer.html" title="PopplerLayer"><span class="type">PopplerLayer</span></a> *layer</code></em>);
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="returnvalue">gint</span></a> <a class="link" href="PopplerLayer.html#poppler-layer-get-radio-button-group-id" title="poppler_layer_get_radio_button_group_id ()">poppler_layer_get_radio_button_group_id</a>
- (<em class="parameter"><code><a class="link" href="PopplerLayer.html" title="PopplerLayer"><span class="type">PopplerLayer</span></a> *layer</code></em>);
-</pre>
+<div class="refsect1">
+<a name="PopplerLayer.functions"></a><h2>Functions</h2>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="functions_return">
+<col class="functions_name">
+</colgroup>
+<tbody>
+<tr>
+<td class="function_type">const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="PopplerLayer.html#poppler-layer-get-title" title="poppler_layer_get_title ()">poppler_layer_get_title</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="PopplerLayer.html#poppler-layer-is-visible" title="poppler_layer_is_visible ()">poppler_layer_is_visible</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="PopplerLayer.html#poppler-layer-show" title="poppler_layer_show ()">poppler_layer_show</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="PopplerLayer.html#poppler-layer-hide" title="poppler_layer_hide ()">poppler_layer_hide</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="PopplerLayer.html#poppler-layer-is-parent" title="poppler_layer_is_parent ()">poppler_layer_is_parent</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="returnvalue">gint</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="PopplerLayer.html#poppler-layer-get-radio-button-group-id" title="poppler_layer_get_radio_button_group_id ()">poppler_layer_get_radio_button_group_id</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="PopplerLayer.other"></a><h2>Types and Values</h2>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="name">
+<col class="description">
+</colgroup>
+<tbody><tr>
+<td class="datatype_keyword"> </td>
+<td class="function_name"><a class="link" href="PopplerLayer.html#PopplerLayer-struct" title="PopplerLayer">PopplerLayer</a></td>
+</tr></tbody>
+</table></div>
</div>
<div class="refsect1">
<a name="PopplerLayer.object-hierarchy"></a><h2>Object Hierarchy</h2>
-<pre class="synopsis">
- <a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObject">GObject</a>
- +----PopplerLayer
+<pre class="screen"> <a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObject">GObject</a>
+ <span class="lineart">╰──</span> PopplerLayer
</pre>
</div>
<div class="refsect1">
-<a name="PopplerLayer.description"></a><h2>Description</h2>
+<a name="PopplerLayer.includes"></a><h2>Includes</h2>
+<pre class="synopsis">#include &lt;poppler.h&gt;
+</pre>
</div>
<div class="refsect1">
-<a name="PopplerLayer.details"></a><h2>Details</h2>
-<div class="refsect2">
-<a name="PopplerLayer-struct"></a><h3>PopplerLayer</h3>
-<pre class="programlisting">typedef struct _PopplerLayer PopplerLayer;</pre>
+<a name="PopplerLayer.description"></a><h2>Description</h2>
</div>
-<hr>
+<div class="refsect1">
+<a name="PopplerLayer.functions_details"></a><h2>Functions</h2>
<div class="refsect2">
-<a name="poppler-layer-get-title"></a><h3>poppler_layer_get_title ()</h3>
-<pre class="programlisting">const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> * poppler_layer_get_title (<em class="parameter"><code><a class="link" href="PopplerLayer.html" title="PopplerLayer"><span class="type">PopplerLayer</span></a> *layer</code></em>);</pre>
-<p>
-Returns the name of the layer suitable for
-presentation as a title in a viewer's GUI
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="poppler-layer-get-title"></a><h3>poppler_layer_get_title ()</h3>
+<pre class="programlisting">const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+poppler_layer_get_title (<em class="parameter"><code><a class="link" href="PopplerLayer.html" title="PopplerLayer"><span class="type">PopplerLayer</span></a> *layer</code></em>);</pre>
+<p>Returns the name of the layer suitable for
+presentation as a title in a viewer's GUI</p>
+<div class="refsect3">
+<a name="id-1.2.9.8.2.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>layer</code></em> :</span></p></td>
-<td>a <a class="link" href="PopplerLayer.html" title="PopplerLayer"><span class="type">PopplerLayer</span></a>
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>a string containing the title of the layer</td>
-</tr>
-</tbody>
+<tbody><tr>
+<td class="parameter_name"><p>layer</p></td>
+<td class="parameter_description"><p>a <a class="link" href="PopplerLayer.html" title="PopplerLayer"><span class="type">PopplerLayer</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.2.9.8.2.6"></a><h4>Returns</h4>
+<p> a string containing the title of the layer</p>
+<p></p>
+</div>
<p class="since">Since 0.12</p>
</div>
<hr>
<div class="refsect2">
-<a name="poppler-layer-is-visible"></a><h3>poppler_layer_is_visible ()</h3>
-<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> poppler_layer_is_visible (<em class="parameter"><code><a class="link" href="PopplerLayer.html" title="PopplerLayer"><span class="type">PopplerLayer</span></a> *layer</code></em>);</pre>
-<p>
-Returns whether <em class="parameter"><code>layer</code></em> is visible
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="poppler-layer-is-visible"></a><h3>poppler_layer_is_visible ()</h3>
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+poppler_layer_is_visible (<em class="parameter"><code><a class="link" href="PopplerLayer.html" title="PopplerLayer"><span class="type">PopplerLayer</span></a> *layer</code></em>);</pre>
+<p>Returns whether <em class="parameter"><code>layer</code></em>
+ is visible</p>
+<div class="refsect3">
+<a name="id-1.2.9.8.3.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>layer</code></em> :</span></p></td>
-<td>a <a class="link" href="PopplerLayer.html" title="PopplerLayer"><span class="type">PopplerLayer</span></a>
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if <em class="parameter"><code>layer</code></em> is visible</td>
-</tr>
-</tbody>
+<tbody><tr>
+<td class="parameter_name"><p>layer</p></td>
+<td class="parameter_description"><p>a <a class="link" href="PopplerLayer.html" title="PopplerLayer"><span class="type">PopplerLayer</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.2.9.8.3.6"></a><h4>Returns</h4>
+<p> <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if <em class="parameter"><code>layer</code></em>
+is visible</p>
+<p></p>
+</div>
<p class="since">Since 0.12</p>
</div>
<hr>
<div class="refsect2">
-<a name="poppler-layer-show"></a><h3>poppler_layer_show ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span> poppler_layer_show (<em class="parameter"><code><a class="link" href="PopplerLayer.html" title="PopplerLayer"><span class="type">PopplerLayer</span></a> *layer</code></em>);</pre>
-<p>
-Shows <em class="parameter"><code>layer</code></em>
+<a name="poppler-layer-show"></a><h3>poppler_layer_show ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+poppler_layer_show (<em class="parameter"><code><a class="link" href="PopplerLayer.html" title="PopplerLayer"><span class="type">PopplerLayer</span></a> *layer</code></em>);</pre>
+<p>Shows <em class="parameter"><code>layer</code></em>
</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<div class="refsect3">
+<a name="id-1.2.9.8.4.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
-<td><p><span class="term"><em class="parameter"><code>layer</code></em> :</span></p></td>
-<td>a <a class="link" href="PopplerLayer.html" title="PopplerLayer"><span class="type">PopplerLayer</span></a>
-</td>
+<td class="parameter_name"><p>layer</p></td>
+<td class="parameter_description"><p>a <a class="link" href="PopplerLayer.html" title="PopplerLayer"><span class="type">PopplerLayer</span></a></p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
+</div>
<p class="since">Since 0.12</p>
</div>
<hr>
<div class="refsect2">
-<a name="poppler-layer-hide"></a><h3>poppler_layer_hide ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span> poppler_layer_hide (<em class="parameter"><code><a class="link" href="PopplerLayer.html" title="PopplerLayer"><span class="type">PopplerLayer</span></a> *layer</code></em>);</pre>
-<p>
-Hides <em class="parameter"><code>layer</code></em>. If <em class="parameter"><code>layer</code></em> is the parent of other nested layers,
+<a name="poppler-layer-hide"></a><h3>poppler_layer_hide ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+poppler_layer_hide (<em class="parameter"><code><a class="link" href="PopplerLayer.html" title="PopplerLayer"><span class="type">PopplerLayer</span></a> *layer</code></em>);</pre>
+<p>Hides <em class="parameter"><code>layer</code></em>
+. If <em class="parameter"><code>layer</code></em>
+ is the parent of other nested layers,
such layers will be also hidden and will be blocked until <em class="parameter"><code>layer</code></em>
-is shown again
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+
+is shown again</p>
+<div class="refsect3">
+<a name="id-1.2.9.8.5.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
-<td><p><span class="term"><em class="parameter"><code>layer</code></em> :</span></p></td>
-<td>a <a class="link" href="PopplerLayer.html" title="PopplerLayer"><span class="type">PopplerLayer</span></a>
-</td>
+<td class="parameter_name"><p>layer</p></td>
+<td class="parameter_description"><p>a <a class="link" href="PopplerLayer.html" title="PopplerLayer"><span class="type">PopplerLayer</span></a></p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
+</div>
<p class="since">Since 0.12</p>
</div>
<hr>
<div class="refsect2">
-<a name="poppler-layer-is-parent"></a><h3>poppler_layer_is_parent ()</h3>
-<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> poppler_layer_is_parent (<em class="parameter"><code><a class="link" href="PopplerLayer.html" title="PopplerLayer"><span class="type">PopplerLayer</span></a> *layer</code></em>);</pre>
-<p>
-Returns whether <em class="parameter"><code>layer</code></em> is parent of other nested layers.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="poppler-layer-is-parent"></a><h3>poppler_layer_is_parent ()</h3>
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+poppler_layer_is_parent (<em class="parameter"><code><a class="link" href="PopplerLayer.html" title="PopplerLayer"><span class="type">PopplerLayer</span></a> *layer</code></em>);</pre>
+<p>Returns whether <em class="parameter"><code>layer</code></em>
+ is parent of other nested layers.</p>
+<div class="refsect3">
+<a name="id-1.2.9.8.6.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>layer</code></em> :</span></p></td>
-<td>a <a class="link" href="PopplerLayer.html" title="PopplerLayer"><span class="type">PopplerLayer</span></a>
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if <em class="parameter"><code>layer</code></em> is a parent layer</td>
-</tr>
-</tbody>
+<tbody><tr>
+<td class="parameter_name"><p>layer</p></td>
+<td class="parameter_description"><p>a <a class="link" href="PopplerLayer.html" title="PopplerLayer"><span class="type">PopplerLayer</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.2.9.8.6.6"></a><h4>Returns</h4>
+<p> <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if <em class="parameter"><code>layer</code></em>
+is a parent layer</p>
+<p></p>
+</div>
<p class="since">Since 0.12</p>
</div>
<hr>
<div class="refsect2">
-<a name="poppler-layer-get-radio-button-group-id"></a><h3>poppler_layer_get_radio_button_group_id ()</h3>
-<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="returnvalue">gint</span></a> poppler_layer_get_radio_button_group_id
- (<em class="parameter"><code><a class="link" href="PopplerLayer.html" title="PopplerLayer"><span class="type">PopplerLayer</span></a> *layer</code></em>);</pre>
-<p>
-Returns the numeric ID the radio button group associated with <em class="parameter"><code>layer</code></em>.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="poppler-layer-get-radio-button-group-id"></a><h3>poppler_layer_get_radio_button_group_id ()</h3>
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="returnvalue">gint</span></a>
+poppler_layer_get_radio_button_group_id
+ (<em class="parameter"><code><a class="link" href="PopplerLayer.html" title="PopplerLayer"><span class="type">PopplerLayer</span></a> *layer</code></em>);</pre>
+<p>Returns the numeric ID the radio button group associated with <em class="parameter"><code>layer</code></em>
+.</p>
+<div class="refsect3">
+<a name="id-1.2.9.8.7.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>layer</code></em> :</span></p></td>
-<td>a <a class="link" href="PopplerLayer.html" title="PopplerLayer"><span class="type">PopplerLayer</span></a>
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>the ID of the radio button group associated with <em class="parameter"><code>layer</code></em>,
-or 0 if the layer is not associated to any radio button group</td>
-</tr>
-</tbody>
+<tbody><tr>
+<td class="parameter_name"><p>layer</p></td>
+<td class="parameter_description"><p>a <a class="link" href="PopplerLayer.html" title="PopplerLayer"><span class="type">PopplerLayer</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.2.9.8.7.6"></a><h4>Returns</h4>
+<p> the ID of the radio button group associated with <em class="parameter"><code>layer</code></em>
+,
+or 0 if the layer is not associated to any radio button group</p>
+<p></p>
+</div>
<p class="since">Since 0.12</p>
</div>
</div>
+<div class="refsect1">
+<a name="PopplerLayer.other_details"></a><h2>Types and Values</h2>
+<div class="refsect2">
+<a name="PopplerLayer-struct"></a><h3>PopplerLayer</h3>
+<pre class="programlisting">typedef struct _PopplerLayer PopplerLayer;</pre>
+</div>
+</div>
</div>
<div class="footer">
<hr>
- Generated by GTK-Doc V1.19</div>
+ Generated by GTK-Doc V1.21</div>
</body>
</html> \ No newline at end of file
diff --git a/glib/reference/html/PopplerMedia.html b/glib/reference/html/PopplerMedia.html
index f3974b25..b89bed12 100644
--- a/glib/reference/html/PopplerMedia.html
+++ b/glib/reference/html/PopplerMedia.html
@@ -2,32 +2,27 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>PopplerMedia</title>
+<title>Poppler Reference Manual: PopplerMedia</title>
<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<link rel="home" href="index.html" title="Poppler Reference Manual">
<link rel="up" href="ch01.html" title="Poppler">
<link rel="prev" href="PopplerLayer.html" title="PopplerLayer">
<link rel="next" href="PopplerMovie.html" title="PopplerMovie">
-<meta name="generator" content="GTK-Doc V1.19 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
-<tr valign="middle">
-<td><a accesskey="p" href="PopplerLayer.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
-<td><a accesskey="u" href="ch01.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
-<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
-<th width="100%" align="center">Poppler Reference Manual</th>
-<td><a accesskey="n" href="PopplerMovie.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
-</tr>
-<tr><td colspan="5" class="shortcuts">
-<a href="#PopplerMedia.synopsis" class="shortcut">Top</a>
-  | 
- <a href="#PopplerMedia.description" class="shortcut">Description</a>
-  | 
- <a href="#PopplerMedia.object-hierarchy" class="shortcut">Object Hierarchy</a>
-</td></tr>
-</table>
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts">
+<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
+ <a href="#PopplerMedia.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
+ <a href="#PopplerMedia.object-hierarchy" class="shortcut">Object Hierarchy</a></span>
+</td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="ch01.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="PopplerLayer.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="PopplerMovie.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
<div class="refentry">
<a name="PopplerMedia"></a><div class="titlepage"></div>
<div class="refnamediv"><table width="100%"><tr>
@@ -35,272 +30,352 @@
<h2><span class="refentrytitle"><a name="PopplerMedia.top_of_page"></a>PopplerMedia</span></h2>
<p>PopplerMedia — Media</p>
</td>
-<td valign="top" align="right"></td>
+<td class="gallery_image" valign="top" align="right"></td>
</tr></table></div>
-<div class="refsynopsisdiv">
-<a name="PopplerMedia.synopsis"></a><h2>Synopsis</h2>
-<pre class="synopsis">
-#include &lt;poppler.h&gt;
-
- <a class="link" href="PopplerMedia.html#PopplerMedia-struct" title="PopplerMedia">PopplerMedia</a>;
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> (<a class="link" href="PopplerMedia.html#PopplerMediaSaveFunc" title="PopplerMediaSaveFunc ()">*PopplerMediaSaveFunc</a>) (<em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *buf</code></em>,
- <em class="parameter"><code><span class="type">gsize</span> count</code></em>,
- <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> data</code></em>,
- <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);
-const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> * <a class="link" href="PopplerMedia.html#poppler-media-get-filename" title="poppler_media_get_filename ()">poppler_media_get_filename</a> (<em class="parameter"><code><a class="link" href="PopplerMedia.html" title="PopplerMedia"><span class="type">PopplerMedia</span></a> *poppler_media</code></em>);
-const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> * <a class="link" href="PopplerMedia.html#poppler-media-get-mime-type" title="poppler_media_get_mime_type ()">poppler_media_get_mime_type</a> (<em class="parameter"><code><a class="link" href="PopplerMedia.html" title="PopplerMedia"><span class="type">PopplerMedia</span></a> *poppler_media</code></em>);
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="PopplerMedia.html#poppler-media-is-embedded" title="poppler_media_is_embedded ()">poppler_media_is_embedded</a> (<em class="parameter"><code><a class="link" href="PopplerMedia.html" title="PopplerMedia"><span class="type">PopplerMedia</span></a> *poppler_media</code></em>);
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="PopplerMedia.html#poppler-media-save" title="poppler_media_save ()">poppler_media_save</a> (<em class="parameter"><code><a class="link" href="PopplerMedia.html" title="PopplerMedia"><span class="type">PopplerMedia</span></a> *poppler_media</code></em>,
- <em class="parameter"><code>const <span class="type">char</span> *filename</code></em>,
- <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="PopplerMedia.html#poppler-media-save-to-callback" title="poppler_media_save_to_callback ()">poppler_media_save_to_callback</a> (<em class="parameter"><code><a class="link" href="PopplerMedia.html" title="PopplerMedia"><span class="type">PopplerMedia</span></a> *poppler_media</code></em>,
- <em class="parameter"><code><a class="link" href="PopplerMedia.html#PopplerMediaSaveFunc" title="PopplerMediaSaveFunc ()"><span class="type">PopplerMediaSaveFunc</span></a> save_func</code></em>,
- <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>,
- <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);
-</pre>
+<div class="refsect1">
+<a name="PopplerMedia.functions"></a><h2>Functions</h2>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="functions_return">
+<col class="functions_name">
+</colgroup>
+<tbody>
+<tr>
+<td class="function_type">
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<span class="c_punctuation">(</span><a class="link" href="PopplerMedia.html#PopplerMediaSaveFunc" title="PopplerMediaSaveFunc ()">*PopplerMediaSaveFunc</a><span class="c_punctuation">)</span> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="PopplerMedia.html#poppler-media-get-filename" title="poppler_media_get_filename ()">poppler_media_get_filename</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="PopplerMedia.html#poppler-media-get-mime-type" title="poppler_media_get_mime_type ()">poppler_media_get_mime_type</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="PopplerMedia.html#poppler-media-is-embedded" title="poppler_media_is_embedded ()">poppler_media_is_embedded</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="PopplerMedia.html#poppler-media-save" title="poppler_media_save ()">poppler_media_save</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="PopplerMedia.html#poppler-media-save-to-callback" title="poppler_media_save_to_callback ()">poppler_media_save_to_callback</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="PopplerMedia.other"></a><h2>Types and Values</h2>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="name">
+<col class="description">
+</colgroup>
+<tbody><tr>
+<td class="datatype_keyword"> </td>
+<td class="function_name"><a class="link" href="PopplerMedia.html#PopplerMedia-struct" title="PopplerMedia">PopplerMedia</a></td>
+</tr></tbody>
+</table></div>
</div>
<div class="refsect1">
<a name="PopplerMedia.object-hierarchy"></a><h2>Object Hierarchy</h2>
-<pre class="synopsis">
- <a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObject">GObject</a>
- +----PopplerMedia
+<pre class="screen"> <a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObject">GObject</a>
+ <span class="lineart">╰──</span> PopplerMedia
</pre>
</div>
<div class="refsect1">
-<a name="PopplerMedia.description"></a><h2>Description</h2>
+<a name="PopplerMedia.includes"></a><h2>Includes</h2>
+<pre class="synopsis">#include &lt;poppler.h&gt;
+</pre>
</div>
<div class="refsect1">
-<a name="PopplerMedia.details"></a><h2>Details</h2>
-<div class="refsect2">
-<a name="PopplerMedia-struct"></a><h3>PopplerMedia</h3>
-<pre class="programlisting">typedef struct _PopplerMedia PopplerMedia;</pre>
+<a name="PopplerMedia.description"></a><h2>Description</h2>
</div>
-<hr>
+<div class="refsect1">
+<a name="PopplerMedia.functions_details"></a><h2>Functions</h2>
<div class="refsect2">
-<a name="PopplerMediaSaveFunc"></a><h3>PopplerMediaSaveFunc ()</h3>
-<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> (*PopplerMediaSaveFunc) (<em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *buf</code></em>,
- <em class="parameter"><code><span class="type">gsize</span> count</code></em>,
- <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> data</code></em>,
- <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
-<p>
-Specifies the type of the function passed to
-<a class="link" href="PopplerMedia.html#poppler-media-save-to-callback" title="poppler_media_save_to_callback ()"><code class="function">poppler_media_save_to_callback()</code></a>. It is called once for each block of
-bytes that is "written" by <a class="link" href="PopplerMedia.html#poppler-media-save-to-callback" title="poppler_media_save_to_callback ()"><code class="function">poppler_media_save_to_callback()</code></a>. If
+<a name="PopplerMediaSaveFunc"></a><h3>PopplerMediaSaveFunc ()</h3>
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+<span class="c_punctuation">(</span>*PopplerMediaSaveFunc<span class="c_punctuation">)</span> (<em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *buf</code></em>,
+ <em class="parameter"><code><span class="type">gsize</span> count</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> data</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Specifies the type of the function passed to
+<a class="link" href="PopplerMedia.html#poppler-media-save-to-callback" title="poppler_media_save_to_callback ()"><code class="function">poppler_media_save_to_callback()</code></a>. It is called once for each block of
+bytes that is "written" by <a class="link" href="PopplerMedia.html#poppler-media-save-to-callback" title="poppler_media_save_to_callback ()"><code class="function">poppler_media_save_to_callback()</code></a>. If
successful it should return <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>. If an error occurs it should set
-<em class="parameter"><code>error</code></em> and return <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a>, in which case <a class="link" href="PopplerMedia.html#poppler-media-save-to-callback" title="poppler_media_save_to_callback ()"><code class="function">poppler_media_save_to_callback()</code></a>
-will fail with the same error.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<em class="parameter"><code>error</code></em>
+ and return <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a>, in which case <a class="link" href="PopplerMedia.html#poppler-media-save-to-callback" title="poppler_media_save_to_callback ()"><code class="function">poppler_media_save_to_callback()</code></a>
+will fail with the same error.</p>
+<div class="refsect3">
+<a name="id-1.2.10.8.2.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><em class="parameter"><code>buf</code></em> :</span></p></td>
-<td>buffer containing
-bytes to be written. <span class="annotation">[<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=count][<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> guint8]</span>
-</td>
+<td class="parameter_name"><p>buf</p></td>
+<td class="parameter_description"><p> buffer containing
+bytes to be written. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=count][<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> guint8]</span></td>
</tr>
<tr>
-<td><p><span class="term"><em class="parameter"><code>count</code></em> :</span></p></td>
-<td>number of bytes in <em class="parameter"><code>buf</code></em>.</td>
+<td class="parameter_name"><p>count</p></td>
+<td class="parameter_description"><p>number of bytes in <em class="parameter"><code>buf</code></em>
+.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><em class="parameter"><code>data</code></em> :</span></p></td>
-<td>user data passed to <a class="link" href="PopplerMedia.html#poppler-media-save-to-callback" title="poppler_media_save_to_callback ()"><code class="function">poppler_media_save_to_callback()</code></a>. <span class="annotation">[<acronym title="This parameter is a 'user_data', for callbacks; many bindings can pass NULL here."><span class="acronym">closure</span></acronym>]</span>
-</td>
+<td class="parameter_name"><p>data</p></td>
+<td class="parameter_description"><p> user data passed to <a class="link" href="PopplerMedia.html#poppler-media-save-to-callback" title="poppler_media_save_to_callback ()"><code class="function">poppler_media_save_to_callback()</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="This parameter is a 'user_data', for callbacks; many bindings can pass NULL here."><span class="acronym">closure</span></acronym>]</span></td>
</tr>
<tr>
-<td><p><span class="term"><em class="parameter"><code>error</code></em> :</span></p></td>
-<td>GError to set on error, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if successful, <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> (with <em class="parameter"><code>error</code></em> set) if failed.</td>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>GError to set on error, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a></p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.2.10.8.2.6"></a><h4>Returns</h4>
+<p> <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if successful, <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> (with <em class="parameter"><code>error</code></em>
+set) if failed.</p>
+<p></p>
+</div>
<p class="since">Since 0.14</p>
</div>
<hr>
<div class="refsect2">
-<a name="poppler-media-get-filename"></a><h3>poppler_media_get_filename ()</h3>
-<pre class="programlisting">const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> * poppler_media_get_filename (<em class="parameter"><code><a class="link" href="PopplerMedia.html" title="PopplerMedia"><span class="type">PopplerMedia</span></a> *poppler_media</code></em>);</pre>
-<p>
-Returns the media clip filename, in case of non-embedded media. filename might be
-a local relative or absolute path or a URI
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="poppler-media-get-filename"></a><h3>poppler_media_get_filename ()</h3>
+<pre class="programlisting">const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+poppler_media_get_filename (<em class="parameter"><code><a class="link" href="PopplerMedia.html" title="PopplerMedia"><span class="type">PopplerMedia</span></a> *poppler_media</code></em>);</pre>
+<p>Returns the media clip filename, in case of non-embedded media. filename might be
+a local relative or absolute path or a URI</p>
+<div class="refsect3">
+<a name="id-1.2.10.8.3.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>poppler_media</code></em> :</span></p></td>
-<td>a <a class="link" href="PopplerMedia.html" title="PopplerMedia"><span class="type">PopplerMedia</span></a>
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>a filename, return value is owned by <a class="link" href="PopplerMedia.html" title="PopplerMedia"><span class="type">PopplerMedia</span></a> and should not be freed</td>
-</tr>
-</tbody>
+<tbody><tr>
+<td class="parameter_name"><p>poppler_media</p></td>
+<td class="parameter_description"><p>a <a class="link" href="PopplerMedia.html" title="PopplerMedia"><span class="type">PopplerMedia</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.2.10.8.3.6"></a><h4>Returns</h4>
+<p> a filename, return value is owned by <a class="link" href="PopplerMedia.html" title="PopplerMedia"><span class="type">PopplerMedia</span></a> and should not be freed</p>
+<p></p>
+</div>
<p class="since">Since 0.14</p>
</div>
<hr>
<div class="refsect2">
-<a name="poppler-media-get-mime-type"></a><h3>poppler_media_get_mime_type ()</h3>
-<pre class="programlisting">const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> * poppler_media_get_mime_type (<em class="parameter"><code><a class="link" href="PopplerMedia.html" title="PopplerMedia"><span class="type">PopplerMedia</span></a> *poppler_media</code></em>);</pre>
-<p>
-Returns the media clip mime-type
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="poppler-media-get-mime-type"></a><h3>poppler_media_get_mime_type ()</h3>
+<pre class="programlisting">const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+poppler_media_get_mime_type (<em class="parameter"><code><a class="link" href="PopplerMedia.html" title="PopplerMedia"><span class="type">PopplerMedia</span></a> *poppler_media</code></em>);</pre>
+<p>Returns the media clip mime-type</p>
+<div class="refsect3">
+<a name="id-1.2.10.8.4.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>poppler_media</code></em> :</span></p></td>
-<td>a <a class="link" href="PopplerMedia.html" title="PopplerMedia"><span class="type">PopplerMedia</span></a>
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>the mime-type, return value is owned by <a class="link" href="PopplerMedia.html" title="PopplerMedia"><span class="type">PopplerMedia</span></a> and should not be freed</td>
-</tr>
-</tbody>
+<tbody><tr>
+<td class="parameter_name"><p>poppler_media</p></td>
+<td class="parameter_description"><p>a <a class="link" href="PopplerMedia.html" title="PopplerMedia"><span class="type">PopplerMedia</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.2.10.8.4.6"></a><h4>Returns</h4>
+<p> the mime-type, return value is owned by <a class="link" href="PopplerMedia.html" title="PopplerMedia"><span class="type">PopplerMedia</span></a> and should not be freed</p>
+<p></p>
+</div>
<p class="since">Since 0.14</p>
</div>
<hr>
<div class="refsect2">
-<a name="poppler-media-is-embedded"></a><h3>poppler_media_is_embedded ()</h3>
-<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> poppler_media_is_embedded (<em class="parameter"><code><a class="link" href="PopplerMedia.html" title="PopplerMedia"><span class="type">PopplerMedia</span></a> *poppler_media</code></em>);</pre>
-<p>
-Whether the media clip is embedded in the PDF. If the result is <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>, the embedded stream
-can be saved with <a class="link" href="PopplerMedia.html#poppler-media-save" title="poppler_media_save ()"><code class="function">poppler_media_save()</code></a> or <a class="link" href="PopplerMedia.html#poppler-media-save-to-callback" title="poppler_media_save_to_callback ()"><code class="function">poppler_media_save_to_callback()</code></a> function.
+<a name="poppler-media-is-embedded"></a><h3>poppler_media_is_embedded ()</h3>
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+poppler_media_is_embedded (<em class="parameter"><code><a class="link" href="PopplerMedia.html" title="PopplerMedia"><span class="type">PopplerMedia</span></a> *poppler_media</code></em>);</pre>
+<p>Whether the media clip is embedded in the PDF. If the result is <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>, the embedded stream
+can be saved with <a class="link" href="PopplerMedia.html#poppler-media-save" title="poppler_media_save ()"><code class="function">poppler_media_save()</code></a> or <a class="link" href="PopplerMedia.html#poppler-media-save-to-callback" title="poppler_media_save_to_callback ()"><code class="function">poppler_media_save_to_callback()</code></a> function.
If the result is <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a>, the media clip filename can be retrieved with
-<a class="link" href="PopplerMedia.html#poppler-media-get-filename" title="poppler_media_get_filename ()"><code class="function">poppler_media_get_filename()</code></a> function.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a class="link" href="PopplerMedia.html#poppler-media-get-filename" title="poppler_media_get_filename ()"><code class="function">poppler_media_get_filename()</code></a> function.</p>
+<div class="refsect3">
+<a name="id-1.2.10.8.5.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>poppler_media</code></em> :</span></p></td>
-<td>a <a class="link" href="PopplerMedia.html" title="PopplerMedia"><span class="type">PopplerMedia</span></a>
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if media clip is embedded, <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise</td>
-</tr>
-</tbody>
+<tbody><tr>
+<td class="parameter_name"><p>poppler_media</p></td>
+<td class="parameter_description"><p>a <a class="link" href="PopplerMedia.html" title="PopplerMedia"><span class="type">PopplerMedia</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.2.10.8.5.6"></a><h4>Returns</h4>
+<p> <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if media clip is embedded, <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise</p>
+<p></p>
+</div>
<p class="since">Since 0.14</p>
</div>
<hr>
<div class="refsect2">
-<a name="poppler-media-save"></a><h3>poppler_media_save ()</h3>
-<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> poppler_media_save (<em class="parameter"><code><a class="link" href="PopplerMedia.html" title="PopplerMedia"><span class="type">PopplerMedia</span></a> *poppler_media</code></em>,
- <em class="parameter"><code>const <span class="type">char</span> *filename</code></em>,
- <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
-<p>
-Saves embedded stream of <em class="parameter"><code>poppler_media</code></em> to a file indicated by <em class="parameter"><code>filename</code></em>.
-If <em class="parameter"><code>error</code></em> is set, <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> will be returned.
+<a name="poppler-media-save"></a><h3>poppler_media_save ()</h3>
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+poppler_media_save (<em class="parameter"><code><a class="link" href="PopplerMedia.html" title="PopplerMedia"><span class="type">PopplerMedia</span></a> *poppler_media</code></em>,
+ <em class="parameter"><code>const <span class="type">char</span> *filename</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Saves embedded stream of <em class="parameter"><code>poppler_media</code></em>
+ to a file indicated by <em class="parameter"><code>filename</code></em>
+.
+If <em class="parameter"><code>error</code></em>
+ is set, <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> will be returned.
Possible errors include those in the <a href="http://library.gnome.org/devel/glib/unstable/glib-File-Utilities.html#G-FILE-ERROR:CAPS"><span class="type">G_FILE_ERROR</span></a> domain
-and whatever the save function generates.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+and whatever the save function generates.</p>
+<div class="refsect3">
+<a name="id-1.2.10.8.6.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><em class="parameter"><code>poppler_media</code></em> :</span></p></td>
-<td>a <a class="link" href="PopplerMedia.html" title="PopplerMedia"><span class="type">PopplerMedia</span></a>
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>filename</code></em> :</span></p></td>
-<td>name of file to save</td>
+<td class="parameter_name"><p>poppler_media</p></td>
+<td class="parameter_description"><p>a <a class="link" href="PopplerMedia.html" title="PopplerMedia"><span class="type">PopplerMedia</span></a></p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><em class="parameter"><code>error</code></em> :</span></p></td>
-<td>return location for error, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. <span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
-</td>
+<td class="parameter_name"><p>filename</p></td>
+<td class="parameter_description"><p>name of file to save</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>, if the file successfully saved</td>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p> return location for error, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
</tbody>
</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.2.10.8.6.6"></a><h4>Returns</h4>
+<p> <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>, if the file successfully saved</p>
+<p></p>
+</div>
<p class="since">Since 0.14</p>
</div>
<hr>
<div class="refsect2">
-<a name="poppler-media-save-to-callback"></a><h3>poppler_media_save_to_callback ()</h3>
-<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> poppler_media_save_to_callback (<em class="parameter"><code><a class="link" href="PopplerMedia.html" title="PopplerMedia"><span class="type">PopplerMedia</span></a> *poppler_media</code></em>,
- <em class="parameter"><code><a class="link" href="PopplerMedia.html#PopplerMediaSaveFunc" title="PopplerMediaSaveFunc ()"><span class="type">PopplerMediaSaveFunc</span></a> save_func</code></em>,
- <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>,
- <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
-<p>
-Saves embedded stream of <em class="parameter"><code>poppler_media</code></em> by feeding the produced data to <em class="parameter"><code>save_func</code></em>. Can be used
+<a name="poppler-media-save-to-callback"></a><h3>poppler_media_save_to_callback ()</h3>
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+poppler_media_save_to_callback (<em class="parameter"><code><a class="link" href="PopplerMedia.html" title="PopplerMedia"><span class="type">PopplerMedia</span></a> *poppler_media</code></em>,
+ <em class="parameter"><code><a class="link" href="PopplerMedia.html#PopplerMediaSaveFunc" title="PopplerMediaSaveFunc ()"><span class="type">PopplerMediaSaveFunc</span></a> save_func</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Saves embedded stream of <em class="parameter"><code>poppler_media</code></em>
+ by feeding the produced data to <em class="parameter"><code>save_func</code></em>
+. Can be used
when you want to store the media clip stream to something other than a file, such as
-an in-memory buffer or a socket. If <em class="parameter"><code>error</code></em> is set, <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> will be
+an in-memory buffer or a socket. If <em class="parameter"><code>error</code></em>
+ is set, <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> will be
returned. Possible errors include those in the <a href="http://library.gnome.org/devel/glib/unstable/glib-File-Utilities.html#G-FILE-ERROR:CAPS"><span class="type">G_FILE_ERROR</span></a> domain and
-whatever the save function generates.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+whatever the save function generates.</p>
+<div class="refsect3">
+<a name="id-1.2.10.8.7.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><em class="parameter"><code>poppler_media</code></em> :</span></p></td>
-<td>a <a class="link" href="PopplerMedia.html" title="PopplerMedia"><span class="type">PopplerMedia</span></a>
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>save_func</code></em> :</span></p></td>
-<td>a function that is called to save each block of data that the save routine generates. <span class="annotation">[<acronym title="The callback is valid only during the call to the method."><span class="acronym">scope call</span></acronym>]</span>
-</td>
+<td class="parameter_name"><p>poppler_media</p></td>
+<td class="parameter_description"><p>a <a class="link" href="PopplerMedia.html" title="PopplerMedia"><span class="type">PopplerMedia</span></a></p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
-<td>user data to pass to the save function.</td>
+<td class="parameter_name"><p>save_func</p></td>
+<td class="parameter_description"><p> a function that is called to save each block of data that the save routine generates. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="The callback is valid only during the call to the method."><span class="acronym">scope call</span></acronym>]</span></td>
</tr>
<tr>
-<td><p><span class="term"><em class="parameter"><code>error</code></em> :</span></p></td>
-<td>return location for error, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. <span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
-</td>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>user data to pass to the save function.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>, if the save successfully completed</td>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p> return location for error, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
</tbody>
</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.2.10.8.7.6"></a><h4>Returns</h4>
+<p> <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>, if the save successfully completed</p>
+<p></p>
+</div>
<p class="since">Since 0.14</p>
</div>
</div>
+<div class="refsect1">
+<a name="PopplerMedia.other_details"></a><h2>Types and Values</h2>
+<div class="refsect2">
+<a name="PopplerMedia-struct"></a><h3>PopplerMedia</h3>
+<pre class="programlisting">typedef struct _PopplerMedia PopplerMedia;</pre>
+</div>
+</div>
</div>
<div class="footer">
<hr>
- Generated by GTK-Doc V1.19</div>
+ Generated by GTK-Doc V1.21</div>
</body>
</html> \ No newline at end of file
diff --git a/glib/reference/html/PopplerMovie.html b/glib/reference/html/PopplerMovie.html
index ec720d91..6fcc9236 100644
--- a/glib/reference/html/PopplerMovie.html
+++ b/glib/reference/html/PopplerMovie.html
@@ -2,32 +2,27 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>PopplerMovie</title>
+<title>Poppler Reference Manual: PopplerMovie</title>
<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<link rel="home" href="index.html" title="Poppler Reference Manual">
<link rel="up" href="ch01.html" title="Poppler">
<link rel="prev" href="PopplerMedia.html" title="PopplerMedia">
-<link rel="next" href="poppler-Version-and-Features-Information.html" title="Version and Features Information">
-<meta name="generator" content="GTK-Doc V1.19 (XML mode)">
+<link rel="next" href="PopplerStructureElement.html" title="PopplerStructureElement">
+<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
-<tr valign="middle">
-<td><a accesskey="p" href="PopplerMedia.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
-<td><a accesskey="u" href="ch01.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
-<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
-<th width="100%" align="center">Poppler Reference Manual</th>
-<td><a accesskey="n" href="poppler-Version-and-Features-Information.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
-</tr>
-<tr><td colspan="5" class="shortcuts">
-<a href="#PopplerMovie.synopsis" class="shortcut">Top</a>
-  | 
- <a href="#PopplerMovie.description" class="shortcut">Description</a>
-  | 
- <a href="#PopplerMovie.object-hierarchy" class="shortcut">Object Hierarchy</a>
-</td></tr>
-</table>
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts">
+<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
+ <a href="#PopplerMovie.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
+ <a href="#PopplerMovie.object-hierarchy" class="shortcut">Object Hierarchy</a></span>
+</td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="ch01.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="PopplerMedia.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="PopplerStructureElement.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
<div class="refentry">
<a name="PopplerMovie"></a><div class="titlepage"></div>
<div class="refnamediv"><table width="100%"><tr>
@@ -35,122 +30,168 @@
<h2><span class="refentrytitle"><a name="PopplerMovie.top_of_page"></a>PopplerMovie</span></h2>
<p>PopplerMovie — Movies</p>
</td>
-<td valign="top" align="right"></td>
+<td class="gallery_image" valign="top" align="right"></td>
</tr></table></div>
-<div class="refsynopsisdiv">
-<a name="PopplerMovie.synopsis"></a><h2>Synopsis</h2>
-<pre class="synopsis">
-#include &lt;poppler.h&gt;
-
- <a class="link" href="PopplerMovie.html#PopplerMovie-struct" title="PopplerMovie">PopplerMovie</a>;
-const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> * <a class="link" href="PopplerMovie.html#poppler-movie-get-filename" title="poppler_movie_get_filename ()">poppler_movie_get_filename</a> (<em class="parameter"><code><a class="link" href="PopplerMovie.html" title="PopplerMovie"><span class="type">PopplerMovie</span></a> *poppler_movie</code></em>);
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="PopplerMovie.html#poppler-movie-need-poster" title="poppler_movie_need_poster ()">poppler_movie_need_poster</a> (<em class="parameter"><code><a class="link" href="PopplerMovie.html" title="PopplerMovie"><span class="type">PopplerMovie</span></a> *poppler_movie</code></em>);
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="PopplerMovie.html#poppler-movie-show-controls" title="poppler_movie_show_controls ()">poppler_movie_show_controls</a> (<em class="parameter"><code><a class="link" href="PopplerMovie.html" title="PopplerMovie"><span class="type">PopplerMovie</span></a> *poppler_movie</code></em>);
-</pre>
+<div class="refsect1">
+<a name="PopplerMovie.functions"></a><h2>Functions</h2>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="functions_return">
+<col class="functions_name">
+</colgroup>
+<tbody>
+<tr>
+<td class="function_type">const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="PopplerMovie.html#poppler-movie-get-filename" title="poppler_movie_get_filename ()">poppler_movie_get_filename</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="PopplerMovie.html#poppler-movie-need-poster" title="poppler_movie_need_poster ()">poppler_movie_need_poster</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="PopplerMovie.html#poppler-movie-show-controls" title="poppler_movie_show_controls ()">poppler_movie_show_controls</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="PopplerMovie.other"></a><h2>Types and Values</h2>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="name">
+<col class="description">
+</colgroup>
+<tbody><tr>
+<td class="datatype_keyword"> </td>
+<td class="function_name"><a class="link" href="PopplerMovie.html#PopplerMovie-struct" title="PopplerMovie">PopplerMovie</a></td>
+</tr></tbody>
+</table></div>
</div>
<div class="refsect1">
<a name="PopplerMovie.object-hierarchy"></a><h2>Object Hierarchy</h2>
-<pre class="synopsis">
- <a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObject">GObject</a>
- +----PopplerMovie
+<pre class="screen"> <a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObject">GObject</a>
+ <span class="lineart">╰──</span> PopplerMovie
</pre>
</div>
<div class="refsect1">
-<a name="PopplerMovie.description"></a><h2>Description</h2>
+<a name="PopplerMovie.includes"></a><h2>Includes</h2>
+<pre class="synopsis">#include &lt;poppler.h&gt;
+</pre>
</div>
<div class="refsect1">
-<a name="PopplerMovie.details"></a><h2>Details</h2>
-<div class="refsect2">
-<a name="PopplerMovie-struct"></a><h3>PopplerMovie</h3>
-<pre class="programlisting">typedef struct _PopplerMovie PopplerMovie;</pre>
+<a name="PopplerMovie.description"></a><h2>Description</h2>
</div>
-<hr>
+<div class="refsect1">
+<a name="PopplerMovie.functions_details"></a><h2>Functions</h2>
<div class="refsect2">
-<a name="poppler-movie-get-filename"></a><h3>poppler_movie_get_filename ()</h3>
-<pre class="programlisting">const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> * poppler_movie_get_filename (<em class="parameter"><code><a class="link" href="PopplerMovie.html" title="PopplerMovie"><span class="type">PopplerMovie</span></a> *poppler_movie</code></em>);</pre>
-<p>
-Returns the local filename identifying a self-describing movie file
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="poppler-movie-get-filename"></a><h3>poppler_movie_get_filename ()</h3>
+<pre class="programlisting">const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+poppler_movie_get_filename (<em class="parameter"><code><a class="link" href="PopplerMovie.html" title="PopplerMovie"><span class="type">PopplerMovie</span></a> *poppler_movie</code></em>);</pre>
+<p>Returns the local filename identifying a self-describing movie file</p>
+<div class="refsect3">
+<a name="id-1.2.11.8.2.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>poppler_movie</code></em> :</span></p></td>
-<td>a <a class="link" href="PopplerMovie.html" title="PopplerMovie"><span class="type">PopplerMovie</span></a>
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>a local filename, return value is owned by <a class="link" href="PopplerMovie.html" title="PopplerMovie"><span class="type">PopplerMovie</span></a> and
-should not be freed</td>
-</tr>
-</tbody>
+<tbody><tr>
+<td class="parameter_name"><p>poppler_movie</p></td>
+<td class="parameter_description"><p>a <a class="link" href="PopplerMovie.html" title="PopplerMovie"><span class="type">PopplerMovie</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.2.11.8.2.6"></a><h4>Returns</h4>
+<p> a local filename, return value is owned by <a class="link" href="PopplerMovie.html" title="PopplerMovie"><span class="type">PopplerMovie</span></a> and
+should not be freed</p>
+<p></p>
+</div>
<p class="since">Since 0.14</p>
</div>
<hr>
<div class="refsect2">
-<a name="poppler-movie-need-poster"></a><h3>poppler_movie_need_poster ()</h3>
-<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> poppler_movie_need_poster (<em class="parameter"><code><a class="link" href="PopplerMovie.html" title="PopplerMovie"><span class="type">PopplerMovie</span></a> *poppler_movie</code></em>);</pre>
-<p>
-Returns whether a poster image representing the Movie
+<a name="poppler-movie-need-poster"></a><h3>poppler_movie_need_poster ()</h3>
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+poppler_movie_need_poster (<em class="parameter"><code><a class="link" href="PopplerMovie.html" title="PopplerMovie"><span class="type">PopplerMovie</span></a> *poppler_movie</code></em>);</pre>
+<p>Returns whether a poster image representing the Movie
shall be displayed. The poster image must be retrieved
-from the movie file.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+from the movie file.</p>
+<div class="refsect3">
+<a name="id-1.2.11.8.3.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>poppler_movie</code></em> :</span></p></td>
-<td>a <a class="link" href="PopplerMovie.html" title="PopplerMovie"><span class="type">PopplerMovie</span></a>
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if move needs a poster image, <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise</td>
-</tr>
-</tbody>
+<tbody><tr>
+<td class="parameter_name"><p>poppler_movie</p></td>
+<td class="parameter_description"><p>a <a class="link" href="PopplerMovie.html" title="PopplerMovie"><span class="type">PopplerMovie</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.2.11.8.3.6"></a><h4>Returns</h4>
+<p> <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if move needs a poster image, <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise</p>
+<p></p>
+</div>
<p class="since">Since 0.14</p>
</div>
<hr>
<div class="refsect2">
-<a name="poppler-movie-show-controls"></a><h3>poppler_movie_show_controls ()</h3>
-<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> poppler_movie_show_controls (<em class="parameter"><code><a class="link" href="PopplerMovie.html" title="PopplerMovie"><span class="type">PopplerMovie</span></a> *poppler_movie</code></em>);</pre>
-<p>
-Returns whether to display a movie controller bar while playing the movie
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="poppler-movie-show-controls"></a><h3>poppler_movie_show_controls ()</h3>
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+poppler_movie_show_controls (<em class="parameter"><code><a class="link" href="PopplerMovie.html" title="PopplerMovie"><span class="type">PopplerMovie</span></a> *poppler_movie</code></em>);</pre>
+<p>Returns whether to display a movie controller bar while playing the movie</p>
+<div class="refsect3">
+<a name="id-1.2.11.8.4.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>poppler_movie</code></em> :</span></p></td>
-<td>a <a class="link" href="PopplerMovie.html" title="PopplerMovie"><span class="type">PopplerMovie</span></a>
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if controller bar should be displayed, <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise</td>
-</tr>
-</tbody>
+<tbody><tr>
+<td class="parameter_name"><p>poppler_movie</p></td>
+<td class="parameter_description"><p>a <a class="link" href="PopplerMovie.html" title="PopplerMovie"><span class="type">PopplerMovie</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.2.11.8.4.6"></a><h4>Returns</h4>
+<p> <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if controller bar should be displayed, <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise</p>
+<p></p>
+</div>
<p class="since">Since 0.14</p>
</div>
</div>
+<div class="refsect1">
+<a name="PopplerMovie.other_details"></a><h2>Types and Values</h2>
+<div class="refsect2">
+<a name="PopplerMovie-struct"></a><h3>PopplerMovie</h3>
+<pre class="programlisting">typedef struct _PopplerMovie PopplerMovie;</pre>
+</div>
+</div>
</div>
<div class="footer">
<hr>
- Generated by GTK-Doc V1.19</div>
+ Generated by GTK-Doc V1.21</div>
</body>
</html> \ No newline at end of file
diff --git a/glib/reference/html/PopplerPage.html b/glib/reference/html/PopplerPage.html
index fb367de9..fe949963 100644
--- a/glib/reference/html/PopplerPage.html
+++ b/glib/reference/html/PopplerPage.html
@@ -2,34 +2,28 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>PopplerPage</title>
+<title>Poppler Reference Manual: PopplerPage</title>
<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<link rel="home" href="index.html" title="Poppler Reference Manual">
<link rel="up" href="ch01.html" title="Poppler">
<link rel="prev" href="PopplerDocument.html" title="PopplerDocument">
<link rel="next" href="poppler-PopplerAction.html" title="PopplerAction">
-<meta name="generator" content="GTK-Doc V1.19 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
-<tr valign="middle">
-<td><a accesskey="p" href="PopplerDocument.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
-<td><a accesskey="u" href="ch01.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
-<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
-<th width="100%" align="center">Poppler Reference Manual</th>
-<td><a accesskey="n" href="poppler-PopplerAction.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
-</tr>
-<tr><td colspan="5" class="shortcuts">
-<a href="#PopplerPage.synopsis" class="shortcut">Top</a>
-  | 
- <a href="#PopplerPage.description" class="shortcut">Description</a>
-  | 
- <a href="#PopplerPage.object-hierarchy" class="shortcut">Object Hierarchy</a>
-  | 
- <a href="#PopplerPage.properties" class="shortcut">Properties</a>
-</td></tr>
-</table>
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts">
+<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
+ <a href="#PopplerPage.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
+ <a href="#PopplerPage.object-hierarchy" class="shortcut">Object Hierarchy</a></span><span id="nav_properties">  <span class="dim">|</span> 
+ <a href="#PopplerPage.properties" class="shortcut">Properties</a></span>
+</td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="ch01.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="PopplerDocument.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="poppler-PopplerAction.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
<div class="refentry">
<a name="PopplerPage"></a><div class="titlepage"></div>
<div class="refnamediv"><table width="100%"><tr>
@@ -37,2096 +31,2872 @@
<h2><span class="refentrytitle"><a name="PopplerPage.top_of_page"></a>PopplerPage</span></h2>
<p>PopplerPage — Information about a page in a document</p>
</td>
-<td valign="top" align="right"></td>
+<td class="gallery_image" valign="top" align="right"></td>
</tr></table></div>
-<div class="refsynopsisdiv">
-<a name="PopplerPage.synopsis"></a><h2>Synopsis</h2>
-<pre class="synopsis">
-#include &lt;poppler.h&gt;
-
- <a class="link" href="PopplerPage.html#PopplerPage-struct" title="PopplerPage">PopplerPage</a>;
- <a class="link" href="PopplerPage.html#PopplerRectangle" title="PopplerRectangle">PopplerRectangle</a>;
- <a class="link" href="PopplerPage.html#PopplerPageTransition" title="PopplerPageTransition">PopplerPageTransition</a>;
- <a class="link" href="PopplerPage.html#PopplerLinkMapping" title="PopplerLinkMapping">PopplerLinkMapping</a>;
- <a class="link" href="PopplerPage.html#PopplerImageMapping" title="PopplerImageMapping">PopplerImageMapping</a>;
- <a class="link" href="PopplerPage.html#PopplerFormFieldMapping" title="PopplerFormFieldMapping">PopplerFormFieldMapping</a>;
- <a class="link" href="PopplerPage.html#PopplerAnnotMapping" title="PopplerAnnotMapping">PopplerAnnotMapping</a>;
-enum <a class="link" href="PopplerPage.html#PopplerPageTransitionType" title="enum PopplerPageTransitionType">PopplerPageTransitionType</a>;
-enum <a class="link" href="PopplerPage.html#PopplerPageTransitionAlignment" title="enum PopplerPageTransitionAlignment">PopplerPageTransitionAlignment</a>;
-enum <a class="link" href="PopplerPage.html#PopplerPageTransitionDirection" title="enum PopplerPageTransitionDirection">PopplerPageTransitionDirection</a>;
-enum <a class="link" href="PopplerPage.html#PopplerSelectionStyle" title="enum PopplerSelectionStyle">PopplerSelectionStyle</a>;
- <a class="link" href="PopplerPage.html#PopplerTextAttributes" title="PopplerTextAttributes">PopplerTextAttributes</a>;
-<span class="returnvalue">int</span> <a class="link" href="PopplerPage.html#poppler-page-get-index" title="poppler_page_get_index ()">poppler_page_get_index</a> (<em class="parameter"><code><a class="link" href="PopplerPage.html" title="PopplerPage"><span class="type">PopplerPage</span></a> *page</code></em>);
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> * <a class="link" href="PopplerPage.html#poppler-page-get-label" title="poppler_page_get_label ()">poppler_page_get_label</a> (<em class="parameter"><code><a class="link" href="PopplerPage.html" title="PopplerPage"><span class="type">PopplerPage</span></a> *page</code></em>);
-<span class="returnvalue">void</span> <a class="link" href="PopplerPage.html#poppler-page-get-size" title="poppler_page_get_size ()">poppler_page_get_size</a> (<em class="parameter"><code><a class="link" href="PopplerPage.html" title="PopplerPage"><span class="type">PopplerPage</span></a> *page</code></em>,
- <em class="parameter"><code><span class="type">double</span> *width</code></em>,
- <em class="parameter"><code><span class="type">double</span> *height</code></em>);
-<span class="returnvalue">void</span> <a class="link" href="PopplerPage.html#poppler-page-get-crop-box" title="poppler_page_get_crop_box ()">poppler_page_get_crop_box</a> (<em class="parameter"><code><a class="link" href="PopplerPage.html" title="PopplerPage"><span class="type">PopplerPage</span></a> *page</code></em>,
- <em class="parameter"><code><a class="link" href="PopplerPage.html#PopplerRectangle" title="PopplerRectangle"><span class="type">PopplerRectangle</span></a> *rect</code></em>);
-<span class="returnvalue">double</span> <a class="link" href="PopplerPage.html#poppler-page-get-duration" title="poppler_page_get_duration ()">poppler_page_get_duration</a> (<em class="parameter"><code><a class="link" href="PopplerPage.html" title="PopplerPage"><span class="type">PopplerPage</span></a> *page</code></em>);
-<a class="link" href="PopplerPage.html#PopplerPageTransition" title="PopplerPageTransition"><span class="returnvalue">PopplerPageTransition</span></a> * <a class="link" href="PopplerPage.html#poppler-page-get-transition" title="poppler_page_get_transition ()">poppler_page_get_transition</a> (<em class="parameter"><code><a class="link" href="PopplerPage.html" title="PopplerPage"><span class="type">PopplerPage</span></a> *page</code></em>);
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="PopplerPage.html#poppler-page-get-thumbnail-size" title="poppler_page_get_thumbnail_size ()">poppler_page_get_thumbnail_size</a> (<em class="parameter"><code><a class="link" href="PopplerPage.html" title="PopplerPage"><span class="type">PopplerPage</span></a> *page</code></em>,
- <em class="parameter"><code><span class="type">int</span> *width</code></em>,
- <em class="parameter"><code><span class="type">int</span> *height</code></em>);
-<a href="/usr/share/gtk-doc/html/cairo/cairo-cairo-surface-t.html#cairo-surface-t"><span class="returnvalue">cairo_surface_t</span></a> * <a class="link" href="PopplerPage.html#poppler-page-get-thumbnail" title="poppler_page_get_thumbnail ()">poppler_page_get_thumbnail</a> (<em class="parameter"><code><a class="link" href="PopplerPage.html" title="PopplerPage"><span class="type">PopplerPage</span></a> *page</code></em>);
-<span class="returnvalue">void</span> <a class="link" href="PopplerPage.html#poppler-page-render" title="poppler_page_render ()">poppler_page_render</a> (<em class="parameter"><code><a class="link" href="PopplerPage.html" title="PopplerPage"><span class="type">PopplerPage</span></a> *page</code></em>,
- <em class="parameter"><code><a href="/usr/share/gtk-doc/html/cairo/cairo-cairo-t.html#cairo-t"><span class="type">cairo_t</span></a> *cairo</code></em>);
-<span class="returnvalue">void</span> <a class="link" href="PopplerPage.html#poppler-page-render-for-printing" title="poppler_page_render_for_printing ()">poppler_page_render_for_printing</a> (<em class="parameter"><code><a class="link" href="PopplerPage.html" title="PopplerPage"><span class="type">PopplerPage</span></a> *page</code></em>,
- <em class="parameter"><code><a href="/usr/share/gtk-doc/html/cairo/cairo-cairo-t.html#cairo-t"><span class="type">cairo_t</span></a> *cairo</code></em>);
-<span class="returnvalue">void</span> <a class="link" href="PopplerPage.html#poppler-page-render-for-printing-with-options" title="poppler_page_render_for_printing_with_options ()">poppler_page_render_for_printing_with_options</a>
- (<em class="parameter"><code><a class="link" href="PopplerPage.html" title="PopplerPage"><span class="type">PopplerPage</span></a> *page</code></em>,
- <em class="parameter"><code><a href="/usr/share/gtk-doc/html/cairo/cairo-cairo-t.html#cairo-t"><span class="type">cairo_t</span></a> *cairo</code></em>,
- <em class="parameter"><code><a class="link" href="poppler-poppler.html#PopplerPrintFlags" title="enum PopplerPrintFlags"><span class="type">PopplerPrintFlags</span></a> options</code></em>);
-<span class="returnvalue">void</span> <a class="link" href="PopplerPage.html#poppler-page-render-to-ps" title="poppler_page_render_to_ps ()">poppler_page_render_to_ps</a> (<em class="parameter"><code><a class="link" href="PopplerPage.html" title="PopplerPage"><span class="type">PopplerPage</span></a> *page</code></em>,
- <em class="parameter"><code><a class="link" href="PopplerDocument.html#PopplerPSFile" title="PopplerPSFile"><span class="type">PopplerPSFile</span></a> *ps_file</code></em>);
-<span class="returnvalue">void</span> <a class="link" href="PopplerPage.html#poppler-page-render-selection" title="poppler_page_render_selection ()">poppler_page_render_selection</a> (<em class="parameter"><code><a class="link" href="PopplerPage.html" title="PopplerPage"><span class="type">PopplerPage</span></a> *page</code></em>,
- <em class="parameter"><code><a href="/usr/share/gtk-doc/html/cairo/cairo-cairo-t.html#cairo-t"><span class="type">cairo_t</span></a> *cairo</code></em>,
- <em class="parameter"><code><a class="link" href="PopplerPage.html#PopplerRectangle" title="PopplerRectangle"><span class="type">PopplerRectangle</span></a> *selection</code></em>,
- <em class="parameter"><code><a class="link" href="PopplerPage.html#PopplerRectangle" title="PopplerRectangle"><span class="type">PopplerRectangle</span></a> *old_selection</code></em>,
- <em class="parameter"><code><a class="link" href="PopplerPage.html#PopplerSelectionStyle" title="enum PopplerSelectionStyle"><span class="type">PopplerSelectionStyle</span></a> style</code></em>,
- <em class="parameter"><code><a class="link" href="poppler-poppler.html#PopplerColor" title="PopplerColor"><span class="type">PopplerColor</span></a> *glyph_color</code></em>,
- <em class="parameter"><code><a class="link" href="poppler-poppler.html#PopplerColor" title="PopplerColor"><span class="type">PopplerColor</span></a> *background_color</code></em>);
-<a href="/usr/share/gtk-doc/html/cairo/cairo-Regions.html#cairo-region-t"><span class="returnvalue">cairo_region_t</span></a> * <a class="link" href="PopplerPage.html#poppler-page-get-selected-region" title="poppler_page_get_selected_region ()">poppler_page_get_selected_region</a> (<em class="parameter"><code><a class="link" href="PopplerPage.html" title="PopplerPage"><span class="type">PopplerPage</span></a> *page</code></em>,
- <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> scale</code></em>,
- <em class="parameter"><code><a class="link" href="PopplerPage.html#PopplerSelectionStyle" title="enum PopplerSelectionStyle"><span class="type">PopplerSelectionStyle</span></a> style</code></em>,
- <em class="parameter"><code><a class="link" href="PopplerPage.html#PopplerRectangle" title="PopplerRectangle"><span class="type">PopplerRectangle</span></a> *selection</code></em>);
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="returnvalue">GList</span></a> * <a class="link" href="PopplerPage.html#poppler-page-get-selection-region" title="poppler_page_get_selection_region ()">poppler_page_get_selection_region</a> (<em class="parameter"><code><a class="link" href="PopplerPage.html" title="PopplerPage"><span class="type">PopplerPage</span></a> *page</code></em>,
- <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> scale</code></em>,
- <em class="parameter"><code><a class="link" href="PopplerPage.html#PopplerSelectionStyle" title="enum PopplerSelectionStyle"><span class="type">PopplerSelectionStyle</span></a> style</code></em>,
- <em class="parameter"><code><a class="link" href="PopplerPage.html#PopplerRectangle" title="PopplerRectangle"><span class="type">PopplerRectangle</span></a> *selection</code></em>);
-<span class="returnvalue">void</span> <a class="link" href="PopplerPage.html#poppler-page-selection-region-free" title="poppler_page_selection_region_free ()">poppler_page_selection_region_free</a> (<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> *region</code></em>);
-<span class="returnvalue">char</span> * <a class="link" href="PopplerPage.html#poppler-page-get-selected-text" title="poppler_page_get_selected_text ()">poppler_page_get_selected_text</a> (<em class="parameter"><code><a class="link" href="PopplerPage.html" title="PopplerPage"><span class="type">PopplerPage</span></a> *page</code></em>,
- <em class="parameter"><code><a class="link" href="PopplerPage.html#PopplerSelectionStyle" title="enum PopplerSelectionStyle"><span class="type">PopplerSelectionStyle</span></a> style</code></em>,
- <em class="parameter"><code><a class="link" href="PopplerPage.html#PopplerRectangle" title="PopplerRectangle"><span class="type">PopplerRectangle</span></a> *selection</code></em>);
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="returnvalue">GList</span></a> * <a class="link" href="PopplerPage.html#poppler-page-find-text" title="poppler_page_find_text ()">poppler_page_find_text</a> (<em class="parameter"><code><a class="link" href="PopplerPage.html" title="PopplerPage"><span class="type">PopplerPage</span></a> *page</code></em>,
- <em class="parameter"><code>const <span class="type">char</span> *text</code></em>);
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="returnvalue">GList</span></a> * <a class="link" href="PopplerPage.html#poppler-page-find-text-with-options" title="poppler_page_find_text_with_options ()">poppler_page_find_text_with_options</a> (<em class="parameter"><code><a class="link" href="PopplerPage.html" title="PopplerPage"><span class="type">PopplerPage</span></a> *page</code></em>,
- <em class="parameter"><code>const <span class="type">char</span> *text</code></em>,
- <em class="parameter"><code><a class="link" href="poppler-poppler.html#PopplerFindFlags" title="enum PopplerFindFlags"><span class="type">PopplerFindFlags</span></a> options</code></em>);
-<span class="returnvalue">char</span> * <a class="link" href="PopplerPage.html#poppler-page-get-text" title="poppler_page_get_text ()">poppler_page_get_text</a> (<em class="parameter"><code><a class="link" href="PopplerPage.html" title="PopplerPage"><span class="type">PopplerPage</span></a> *page</code></em>);
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="PopplerPage.html#poppler-page-get-text-layout" title="poppler_page_get_text_layout ()">poppler_page_get_text_layout</a> (<em class="parameter"><code><a class="link" href="PopplerPage.html" title="PopplerPage"><span class="type">PopplerPage</span></a> *page</code></em>,
- <em class="parameter"><code><a class="link" href="PopplerPage.html#PopplerRectangle" title="PopplerRectangle"><span class="type">PopplerRectangle</span></a> **rectangles</code></em>,
- <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> *n_rectangles</code></em>);
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="returnvalue">GList</span></a> * <a class="link" href="PopplerPage.html#poppler-page-get-text-attributes" title="poppler_page_get_text_attributes ()">poppler_page_get_text_attributes</a> (<em class="parameter"><code><a class="link" href="PopplerPage.html" title="PopplerPage"><span class="type">PopplerPage</span></a> *page</code></em>);
-<span class="returnvalue">void</span> <a class="link" href="PopplerPage.html#poppler-page-free-text-attributes" title="poppler_page_free_text_attributes ()">poppler_page_free_text_attributes</a> (<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> *list</code></em>);
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="returnvalue">GList</span></a> * <a class="link" href="PopplerPage.html#poppler-page-get-link-mapping" title="poppler_page_get_link_mapping ()">poppler_page_get_link_mapping</a> (<em class="parameter"><code><a class="link" href="PopplerPage.html" title="PopplerPage"><span class="type">PopplerPage</span></a> *page</code></em>);
-<span class="returnvalue">void</span> <a class="link" href="PopplerPage.html#poppler-page-free-link-mapping" title="poppler_page_free_link_mapping ()">poppler_page_free_link_mapping</a> (<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> *list</code></em>);
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="returnvalue">GList</span></a> * <a class="link" href="PopplerPage.html#poppler-page-get-image-mapping" title="poppler_page_get_image_mapping ()">poppler_page_get_image_mapping</a> (<em class="parameter"><code><a class="link" href="PopplerPage.html" title="PopplerPage"><span class="type">PopplerPage</span></a> *page</code></em>);
-<a href="/usr/share/gtk-doc/html/cairo/cairo-cairo-surface-t.html#cairo-surface-t"><span class="returnvalue">cairo_surface_t</span></a> * <a class="link" href="PopplerPage.html#poppler-page-get-image" title="poppler_page_get_image ()">poppler_page_get_image</a> (<em class="parameter"><code><a class="link" href="PopplerPage.html" title="PopplerPage"><span class="type">PopplerPage</span></a> *page</code></em>,
- <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> image_id</code></em>);
-<span class="returnvalue">void</span> <a class="link" href="PopplerPage.html#poppler-page-free-image-mapping" title="poppler_page_free_image_mapping ()">poppler_page_free_image_mapping</a> (<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> *list</code></em>);
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="returnvalue">GList</span></a> * <a class="link" href="PopplerPage.html#poppler-page-get-form-field-mapping" title="poppler_page_get_form_field_mapping ()">poppler_page_get_form_field_mapping</a> (<em class="parameter"><code><a class="link" href="PopplerPage.html" title="PopplerPage"><span class="type">PopplerPage</span></a> *page</code></em>);
-<span class="returnvalue">void</span> <a class="link" href="PopplerPage.html#poppler-page-free-form-field-mapping" title="poppler_page_free_form_field_mapping ()">poppler_page_free_form_field_mapping</a>
- (<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> *list</code></em>);
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="returnvalue">GList</span></a> * <a class="link" href="PopplerPage.html#poppler-page-get-annot-mapping" title="poppler_page_get_annot_mapping ()">poppler_page_get_annot_mapping</a> (<em class="parameter"><code><a class="link" href="PopplerPage.html" title="PopplerPage"><span class="type">PopplerPage</span></a> *page</code></em>);
-<span class="returnvalue">void</span> <a class="link" href="PopplerPage.html#poppler-page-free-annot-mapping" title="poppler_page_free_annot_mapping ()">poppler_page_free_annot_mapping</a> (<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> *list</code></em>);
-<span class="returnvalue">void</span> <a class="link" href="PopplerPage.html#poppler-page-add-annot" title="poppler_page_add_annot ()">poppler_page_add_annot</a> (<em class="parameter"><code><a class="link" href="PopplerPage.html" title="PopplerPage"><span class="type">PopplerPage</span></a> *page</code></em>,
- <em class="parameter"><code><a class="link" href="PopplerAnnot.html" title="PopplerAnnot"><span class="type">PopplerAnnot</span></a> *annot</code></em>);
-<span class="returnvalue">void</span> <a class="link" href="PopplerPage.html#poppler-page-remove-annot" title="poppler_page_remove_annot ()">poppler_page_remove_annot</a> (<em class="parameter"><code><a class="link" href="PopplerPage.html" title="PopplerPage"><span class="type">PopplerPage</span></a> *page</code></em>,
- <em class="parameter"><code><a class="link" href="PopplerAnnot.html" title="PopplerAnnot"><span class="type">PopplerAnnot</span></a> *annot</code></em>);
-<a class="link" href="PopplerPage.html#PopplerRectangle" title="PopplerRectangle"><span class="returnvalue">PopplerRectangle</span></a> * <a class="link" href="PopplerPage.html#poppler-rectangle-new" title="poppler_rectangle_new ()">poppler_rectangle_new</a> (<em class="parameter"><code><span class="type">void</span></code></em>);
-<a class="link" href="PopplerPage.html#PopplerRectangle" title="PopplerRectangle"><span class="returnvalue">PopplerRectangle</span></a> * <a class="link" href="PopplerPage.html#poppler-rectangle-copy" title="poppler_rectangle_copy ()">poppler_rectangle_copy</a> (<em class="parameter"><code><a class="link" href="PopplerPage.html#PopplerRectangle" title="PopplerRectangle"><span class="type">PopplerRectangle</span></a> *rectangle</code></em>);
-<span class="returnvalue">void</span> <a class="link" href="PopplerPage.html#poppler-rectangle-free" title="poppler_rectangle_free ()">poppler_rectangle_free</a> (<em class="parameter"><code><a class="link" href="PopplerPage.html#PopplerRectangle" title="PopplerRectangle"><span class="type">PopplerRectangle</span></a> *rectangle</code></em>);
-<a class="link" href="PopplerPage.html#PopplerPageTransition" title="PopplerPageTransition"><span class="returnvalue">PopplerPageTransition</span></a> * <a class="link" href="PopplerPage.html#poppler-page-transition-new" title="poppler_page_transition_new ()">poppler_page_transition_new</a> (<em class="parameter"><code><span class="type">void</span></code></em>);
-<a class="link" href="PopplerPage.html#PopplerPageTransition" title="PopplerPageTransition"><span class="returnvalue">PopplerPageTransition</span></a> * <a class="link" href="PopplerPage.html#poppler-page-transition-copy" title="poppler_page_transition_copy ()">poppler_page_transition_copy</a> (<em class="parameter"><code><a class="link" href="PopplerPage.html#PopplerPageTransition" title="PopplerPageTransition"><span class="type">PopplerPageTransition</span></a> *transition</code></em>);
-<span class="returnvalue">void</span> <a class="link" href="PopplerPage.html#poppler-page-transition-free" title="poppler_page_transition_free ()">poppler_page_transition_free</a> (<em class="parameter"><code><a class="link" href="PopplerPage.html#PopplerPageTransition" title="PopplerPageTransition"><span class="type">PopplerPageTransition</span></a> *transition</code></em>);
-<a class="link" href="PopplerPage.html#PopplerLinkMapping" title="PopplerLinkMapping"><span class="returnvalue">PopplerLinkMapping</span></a> * <a class="link" href="PopplerPage.html#poppler-link-mapping-new" title="poppler_link_mapping_new ()">poppler_link_mapping_new</a> (<em class="parameter"><code><span class="type">void</span></code></em>);
-<a class="link" href="PopplerPage.html#PopplerLinkMapping" title="PopplerLinkMapping"><span class="returnvalue">PopplerLinkMapping</span></a> * <a class="link" href="PopplerPage.html#poppler-link-mapping-copy" title="poppler_link_mapping_copy ()">poppler_link_mapping_copy</a> (<em class="parameter"><code><a class="link" href="PopplerPage.html#PopplerLinkMapping" title="PopplerLinkMapping"><span class="type">PopplerLinkMapping</span></a> *mapping</code></em>);
-<span class="returnvalue">void</span> <a class="link" href="PopplerPage.html#poppler-link-mapping-free" title="poppler_link_mapping_free ()">poppler_link_mapping_free</a> (<em class="parameter"><code><a class="link" href="PopplerPage.html#PopplerLinkMapping" title="PopplerLinkMapping"><span class="type">PopplerLinkMapping</span></a> *mapping</code></em>);
-<a class="link" href="PopplerPage.html#PopplerImageMapping" title="PopplerImageMapping"><span class="returnvalue">PopplerImageMapping</span></a> * <a class="link" href="PopplerPage.html#poppler-image-mapping-new" title="poppler_image_mapping_new ()">poppler_image_mapping_new</a> (<em class="parameter"><code><span class="type">void</span></code></em>);
-<a class="link" href="PopplerPage.html#PopplerImageMapping" title="PopplerImageMapping"><span class="returnvalue">PopplerImageMapping</span></a> * <a class="link" href="PopplerPage.html#poppler-image-mapping-copy" title="poppler_image_mapping_copy ()">poppler_image_mapping_copy</a> (<em class="parameter"><code><a class="link" href="PopplerPage.html#PopplerImageMapping" title="PopplerImageMapping"><span class="type">PopplerImageMapping</span></a> *mapping</code></em>);
-<span class="returnvalue">void</span> <a class="link" href="PopplerPage.html#poppler-image-mapping-free" title="poppler_image_mapping_free ()">poppler_image_mapping_free</a> (<em class="parameter"><code><a class="link" href="PopplerPage.html#PopplerImageMapping" title="PopplerImageMapping"><span class="type">PopplerImageMapping</span></a> *mapping</code></em>);
-<a class="link" href="PopplerPage.html#PopplerFormFieldMapping" title="PopplerFormFieldMapping"><span class="returnvalue">PopplerFormFieldMapping</span></a> * <a class="link" href="PopplerPage.html#poppler-form-field-mapping-new" title="poppler_form_field_mapping_new ()">poppler_form_field_mapping_new</a>
- (<em class="parameter"><code><span class="type">void</span></code></em>);
-<a class="link" href="PopplerPage.html#PopplerFormFieldMapping" title="PopplerFormFieldMapping"><span class="returnvalue">PopplerFormFieldMapping</span></a> * <a class="link" href="PopplerPage.html#poppler-form-field-mapping-copy" title="poppler_form_field_mapping_copy ()">poppler_form_field_mapping_copy</a>
- (<em class="parameter"><code><a class="link" href="PopplerPage.html#PopplerFormFieldMapping" title="PopplerFormFieldMapping"><span class="type">PopplerFormFieldMapping</span></a> *mapping</code></em>);
-<span class="returnvalue">void</span> <a class="link" href="PopplerPage.html#poppler-form-field-mapping-free" title="poppler_form_field_mapping_free ()">poppler_form_field_mapping_free</a> (<em class="parameter"><code><a class="link" href="PopplerPage.html#PopplerFormFieldMapping" title="PopplerFormFieldMapping"><span class="type">PopplerFormFieldMapping</span></a> *mapping</code></em>);
-<a class="link" href="PopplerPage.html#PopplerAnnotMapping" title="PopplerAnnotMapping"><span class="returnvalue">PopplerAnnotMapping</span></a> * <a class="link" href="PopplerPage.html#poppler-annot-mapping-new" title="poppler_annot_mapping_new ()">poppler_annot_mapping_new</a> (<em class="parameter"><code><span class="type">void</span></code></em>);
-<a class="link" href="PopplerPage.html#PopplerAnnotMapping" title="PopplerAnnotMapping"><span class="returnvalue">PopplerAnnotMapping</span></a> * <a class="link" href="PopplerPage.html#poppler-annot-mapping-copy" title="poppler_annot_mapping_copy ()">poppler_annot_mapping_copy</a> (<em class="parameter"><code><a class="link" href="PopplerPage.html#PopplerAnnotMapping" title="PopplerAnnotMapping"><span class="type">PopplerAnnotMapping</span></a> *mapping</code></em>);
-<span class="returnvalue">void</span> <a class="link" href="PopplerPage.html#poppler-annot-mapping-free" title="poppler_annot_mapping_free ()">poppler_annot_mapping_free</a> (<em class="parameter"><code><a class="link" href="PopplerPage.html#PopplerAnnotMapping" title="PopplerAnnotMapping"><span class="type">PopplerAnnotMapping</span></a> *mapping</code></em>);
-<a class="link" href="PopplerPage.html#PopplerTextAttributes" title="PopplerTextAttributes"><span class="returnvalue">PopplerTextAttributes</span></a> * <a class="link" href="PopplerPage.html#poppler-text-attributes-new" title="poppler_text_attributes_new ()">poppler_text_attributes_new</a> (<em class="parameter"><code><span class="type">void</span></code></em>);
-<a class="link" href="PopplerPage.html#PopplerTextAttributes" title="PopplerTextAttributes"><span class="returnvalue">PopplerTextAttributes</span></a> * <a class="link" href="PopplerPage.html#poppler-text-attributes-copy" title="poppler_text_attributes_copy ()">poppler_text_attributes_copy</a> (<em class="parameter"><code><a class="link" href="PopplerPage.html#PopplerTextAttributes" title="PopplerTextAttributes"><span class="type">PopplerTextAttributes</span></a> *text_attrs</code></em>);
-<span class="returnvalue">void</span> <a class="link" href="PopplerPage.html#poppler-text-attributes-free" title="poppler_text_attributes_free ()">poppler_text_attributes_free</a> (<em class="parameter"><code><a class="link" href="PopplerPage.html#PopplerTextAttributes" title="PopplerTextAttributes"><span class="type">PopplerTextAttributes</span></a> *text_attrs</code></em>);
-</pre>
-</div>
-<div class="refsect1">
-<a name="PopplerPage.object-hierarchy"></a><h2>Object Hierarchy</h2>
-<pre class="synopsis">
- <a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObject">GObject</a>
- +----PopplerPage
-</pre>
-</div>
<div class="refsect1">
-<a name="PopplerPage.properties"></a><h2>Properties</h2>
-<pre class="synopsis">
- "<a class="link" href="PopplerPage.html#PopplerPage--label" title='The "label" property'>label</a>" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a>* : Read
-</pre>
-</div>
-<div class="refsect1">
-<a name="PopplerPage.description"></a><h2>Description</h2>
-</div>
-<div class="refsect1">
-<a name="PopplerPage.details"></a><h2>Details</h2>
-<div class="refsect2">
-<a name="PopplerPage-struct"></a><h3>PopplerPage</h3>
-<pre class="programlisting">typedef struct _PopplerPage PopplerPage;</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="PopplerRectangle"></a><h3>PopplerRectangle</h3>
-<pre class="programlisting">typedef struct {
- gdouble x1;
- gdouble y1;
- gdouble x2;
- gdouble y2;
-} PopplerRectangle;
-</pre>
-<p>
-A <a class="link" href="PopplerPage.html#PopplerRectangle" title="PopplerRectangle"><span class="type">PopplerRectangle</span></a> is used to describe
-locations on a page and bounding boxes
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="PopplerPage.functions"></a><h2>Functions</h2>
+<div class="informaltable"><table width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="functions_return">
+<col class="functions_name">
</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> <em class="structfield"><code><a name="PopplerRectangle.x1"></a>x1</code></em>;</span></p></td>
-<td>x coordinate of lower left corner</td>
+<td class="function_type">
+<span class="returnvalue">int</span>
+</td>
+<td class="function_name">
+<a class="link" href="PopplerPage.html#poppler-page-get-index" title="poppler_page_get_index ()">poppler_page_get_index</a> <span class="c_punctuation">()</span>
+</td>
</tr>
<tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> <em class="structfield"><code><a name="PopplerRectangle.y1"></a>y1</code></em>;</span></p></td>
-<td>y coordinate of lower left corner</td>
+<td class="function_type">
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="PopplerPage.html#poppler-page-get-label" title="poppler_page_get_label ()">poppler_page_get_label</a> <span class="c_punctuation">()</span>
+</td>
</tr>
<tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> <em class="structfield"><code><a name="PopplerRectangle.x2"></a>x2</code></em>;</span></p></td>
-<td>x coordinate of upper right corner</td>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="PopplerPage.html#poppler-page-get-size" title="poppler_page_get_size ()">poppler_page_get_size</a> <span class="c_punctuation">()</span>
+</td>
</tr>
<tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> <em class="structfield"><code><a name="PopplerRectangle.y2"></a>y2</code></em>;</span></p></td>
-<td>y coordinate of upper right corner</td>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="PopplerPage.html#poppler-page-get-crop-box" title="poppler_page_get_crop_box ()">poppler_page_get_crop_box</a> <span class="c_punctuation">()</span>
+</td>
</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2">
-<a name="PopplerPageTransition"></a><h3>PopplerPageTransition</h3>
-<pre class="programlisting">typedef struct {
- PopplerPageTransitionType type;
- PopplerPageTransitionAlignment alignment;
- PopplerPageTransitionDirection direction;
- gint duration;
- gint angle;
- gdouble scale;
- gboolean rectangular;
-} PopplerPageTransition;
-</pre>
-<p>
-A <a class="link" href="PopplerPage.html#PopplerPageTransition" title="PopplerPageTransition"><span class="type">PopplerPageTransition</span></a> structures describes a visual transition
-to use when moving between pages during a presentation
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
-<colgroup>
-<col align="left" valign="top">
-<col>
-</colgroup>
-<tbody>
<tr>
-<td><p><span class="term"><a class="link" href="PopplerPage.html#PopplerPageTransitionType" title="enum PopplerPageTransitionType"><span class="type">PopplerPageTransitionType</span></a> <em class="structfield"><code><a name="PopplerPageTransition.type"></a>type</code></em>;</span></p></td>
-<td>the type of transtition</td>
+<td class="function_type">
+<span class="returnvalue">double</span>
+</td>
+<td class="function_name">
+<a class="link" href="PopplerPage.html#poppler-page-get-duration" title="poppler_page_get_duration ()">poppler_page_get_duration</a> <span class="c_punctuation">()</span>
+</td>
</tr>
<tr>
-<td><p><span class="term"><a class="link" href="PopplerPage.html#PopplerPageTransitionAlignment" title="enum PopplerPageTransitionAlignment"><span class="type">PopplerPageTransitionAlignment</span></a> <em class="structfield"><code><a name="PopplerPageTransition.alignment"></a>alignment</code></em>;</span></p></td>
-<td>the dimension in which the transition effect shall occur.
-Only for <a class="link" href="PopplerPage.html#POPPLER-PAGE-TRANSITION-SPLIT:CAPS"><span class="type">POPPLER_PAGE_TRANSITION_SPLIT</span></a> and <a class="link" href="PopplerPage.html#POPPLER-PAGE-TRANSITION-BLINDS:CAPS"><span class="type">POPPLER_PAGE_TRANSITION_BLINDS</span></a> transition types</td>
+<td class="function_type">
+<a class="link" href="PopplerPage.html#PopplerPageTransition" title="PopplerPageTransition"><span class="returnvalue">PopplerPageTransition</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="PopplerPage.html#poppler-page-get-transition" title="poppler_page_get_transition ()">poppler_page_get_transition</a> <span class="c_punctuation">()</span>
+</td>
</tr>
<tr>
-<td><p><span class="term"><a class="link" href="PopplerPage.html#PopplerPageTransitionDirection" title="enum PopplerPageTransitionDirection"><span class="type">PopplerPageTransitionDirection</span></a> <em class="structfield"><code><a name="PopplerPageTransition.direction"></a>direction</code></em>;</span></p></td>
-<td>the direccion of motion for the transition effect.
-Only for <a class="link" href="PopplerPage.html#POPPLER-PAGE-TRANSITION-SPLIT:CAPS"><span class="type">POPPLER_PAGE_TRANSITION_SPLIT</span></a>, <a class="link" href="PopplerPage.html#POPPLER-PAGE-TRANSITION-BOX:CAPS"><span class="type">POPPLER_PAGE_TRANSITION_BOX</span></a> and <a class="link" href="PopplerPage.html#POPPLER-PAGE-TRANSITION-FLY:CAPS"><span class="type">POPPLER_PAGE_TRANSITION_FLY</span></a>
-transition types</td>
+<td class="function_type">
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="PopplerPage.html#poppler-page-get-thumbnail-size" title="poppler_page_get_thumbnail_size ()">poppler_page_get_thumbnail_size</a> <span class="c_punctuation">()</span>
+</td>
</tr>
<tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> <em class="structfield"><code><a name="PopplerPageTransition.duration"></a>duration</code></em>;</span></p></td>
-<td>the duration of the transition effect</td>
+<td class="function_type">
+<a href="/usr/share/gtk-doc/html/cairo/cairo-cairo-surface-t.html#cairo-surface-t"><span class="returnvalue">cairo_surface_t</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="PopplerPage.html#poppler-page-get-thumbnail" title="poppler_page_get_thumbnail ()">poppler_page_get_thumbnail</a> <span class="c_punctuation">()</span>
+</td>
</tr>
<tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> <em class="structfield"><code><a name="PopplerPageTransition.angle"></a>angle</code></em>;</span></p></td>
-<td>the direction in which the specified transition effect shall moves,
-expressed in degrees counterclockwise starting from a left-to-right direction.
-Only for <a class="link" href="PopplerPage.html#POPPLER-PAGE-TRANSITION-WIPE:CAPS"><span class="type">POPPLER_PAGE_TRANSITION_WIPE</span></a>, <a class="link" href="PopplerPage.html#POPPLER-PAGE-TRANSITION-GLITTER:CAPS"><span class="type">POPPLER_PAGE_TRANSITION_GLITTER</span></a>, <a class="link" href="PopplerPage.html#POPPLER-PAGE-TRANSITION-FLY:CAPS"><span class="type">POPPLER_PAGE_TRANSITION_FLY</span></a>,
-<a class="link" href="PopplerPage.html#POPPLER-PAGE-TRANSITION-COVER:CAPS"><span class="type">POPPLER_PAGE_TRANSITION_COVER</span></a>, <a class="link" href="PopplerPage.html#POPPLER-PAGE-TRANSITION-UNCOVER:CAPS"><span class="type">POPPLER_PAGE_TRANSITION_UNCOVER</span></a> and <a class="link" href="PopplerPage.html#POPPLER-PAGE-TRANSITION-PUSH:CAPS"><span class="type">POPPLER_PAGE_TRANSITION_PUSH</span></a>
-transition types</td>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="PopplerPage.html#poppler-page-render" title="poppler_page_render ()">poppler_page_render</a> <span class="c_punctuation">()</span>
+</td>
</tr>
<tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> <em class="structfield"><code><a name="PopplerPageTransition.scale"></a>scale</code></em>;</span></p></td>
-<td>the starting or ending scale at which the changes shall be drawn.
-Only for <a class="link" href="PopplerPage.html#POPPLER-PAGE-TRANSITION-FLY:CAPS"><span class="type">POPPLER_PAGE_TRANSITION_FLY</span></a> transition type</td>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="PopplerPage.html#poppler-page-render-for-printing" title="poppler_page_render_for_printing ()">poppler_page_render_for_printing</a> <span class="c_punctuation">()</span>
+</td>
</tr>
<tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> <em class="structfield"><code><a name="PopplerPageTransition.rectangular"></a>rectangular</code></em>;</span></p></td>
-<td>whether the area that will be flown is rectangular and opaque.
-Only for <a class="link" href="PopplerPage.html#POPPLER-PAGE-TRANSITION-FLY:CAPS"><span class="type">POPPLER_PAGE_TRANSITION_FLY</span></a> transition type</td>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="PopplerPage.html#poppler-page-render-for-printing-with-options" title="poppler_page_render_for_printing_with_options ()">poppler_page_render_for_printing_with_options</a> <span class="c_punctuation">()</span>
+</td>
</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2">
-<a name="PopplerLinkMapping"></a><h3>PopplerLinkMapping</h3>
-<pre class="programlisting">typedef struct {
- PopplerRectangle area;
- PopplerAction *action;
-} PopplerLinkMapping;
-</pre>
-<p>
-A <a class="link" href="PopplerPage.html#PopplerLinkMapping" title="PopplerLinkMapping"><span class="type">PopplerLinkMapping</span></a> structure represents the location
-of <em class="parameter"><code>action</code></em> on the page
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
-<colgroup>
-<col align="left" valign="top">
-<col>
-</colgroup>
-<tbody>
<tr>
-<td><p><span class="term"><a class="link" href="PopplerPage.html#PopplerRectangle" title="PopplerRectangle"><span class="type">PopplerRectangle</span></a> <em class="structfield"><code><a name="PopplerLinkMapping.area"></a>area</code></em>;</span></p></td>
-<td>a <a class="link" href="PopplerPage.html#PopplerRectangle" title="PopplerRectangle"><span class="type">PopplerRectangle</span></a> representing an area of the page</td>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="PopplerPage.html#poppler-page-render-to-ps" title="poppler_page_render_to_ps ()">poppler_page_render_to_ps</a> <span class="c_punctuation">()</span>
+</td>
</tr>
<tr>
-<td><p><span class="term"><a class="link" href="poppler-PopplerAction.html#PopplerAction" title="union PopplerAction"><span class="type">PopplerAction</span></a> *<em class="structfield"><code><a name="PopplerLinkMapping.action"></a>action</code></em>;</span></p></td>
-<td>a <a class="link" href="poppler-PopplerAction.html#PopplerAction" title="union PopplerAction"><span class="type">PopplerAction</span></a>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="PopplerPage.html#poppler-page-render-selection" title="poppler_page_render_selection ()">poppler_page_render_selection</a> <span class="c_punctuation">()</span>
</td>
</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2">
-<a name="PopplerImageMapping"></a><h3>PopplerImageMapping</h3>
-<pre class="programlisting">typedef struct {
- PopplerRectangle area;
- gint image_id;
-} PopplerImageMapping;
-</pre>
-<p>
-A <a class="link" href="PopplerPage.html#PopplerImageMapping" title="PopplerImageMapping"><span class="type">PopplerImageMapping</span></a> structure represents the location
-of an image on the page
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
-<colgroup>
-<col align="left" valign="top">
-<col>
-</colgroup>
-<tbody>
<tr>
-<td><p><span class="term"><a class="link" href="PopplerPage.html#PopplerRectangle" title="PopplerRectangle"><span class="type">PopplerRectangle</span></a> <em class="structfield"><code><a name="PopplerImageMapping.area"></a>area</code></em>;</span></p></td>
-<td>a <a class="link" href="PopplerPage.html#PopplerRectangle" title="PopplerRectangle"><span class="type">PopplerRectangle</span></a> representing an area of the page</td>
+<td class="function_type">
+<a href="/usr/share/gtk-doc/html/cairo/cairo-Regions.html#cairo-region-t"><span class="returnvalue">cairo_region_t</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="PopplerPage.html#poppler-page-get-selected-region" title="poppler_page_get_selected_region ()">poppler_page_get_selected_region</a> <span class="c_punctuation">()</span>
+</td>
</tr>
<tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> <em class="structfield"><code><a name="PopplerImageMapping.image-id"></a>image_id</code></em>;</span></p></td>
-<td>an image identifier</td>
+<td class="function_type">
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="returnvalue">GList</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="PopplerPage.html#poppler-page-get-selection-region" title="poppler_page_get_selection_region ()">poppler_page_get_selection_region</a> <span class="c_punctuation">()</span>
+</td>
</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2">
-<a name="PopplerFormFieldMapping"></a><h3>PopplerFormFieldMapping</h3>
-<pre class="programlisting">typedef struct {
- PopplerRectangle area;
- PopplerFormField *field;
-} PopplerFormFieldMapping;
-</pre>
-<p>
-A <a class="link" href="PopplerPage.html#PopplerFormFieldMapping" title="PopplerFormFieldMapping"><span class="type">PopplerFormFieldMapping</span></a> structure represents the location
-of <em class="parameter"><code>field</code></em> on the page
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
-<colgroup>
-<col align="left" valign="top">
-<col>
-</colgroup>
-<tbody>
<tr>
-<td><p><span class="term"><a class="link" href="PopplerPage.html#PopplerRectangle" title="PopplerRectangle"><span class="type">PopplerRectangle</span></a> <em class="structfield"><code><a name="PopplerFormFieldMapping.area"></a>area</code></em>;</span></p></td>
-<td>a <a class="link" href="PopplerPage.html#PopplerRectangle" title="PopplerRectangle"><span class="type">PopplerRectangle</span></a> representing an area of the page</td>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="PopplerPage.html#poppler-page-selection-region-free" title="poppler_page_selection_region_free ()">poppler_page_selection_region_free</a> <span class="c_punctuation">()</span>
+</td>
</tr>
<tr>
-<td><p><span class="term"><a class="link" href="PopplerFormField.html" title="PoppplerFormField"><span class="type">PopplerFormField</span></a> *<em class="structfield"><code><a name="PopplerFormFieldMapping.field"></a>field</code></em>;</span></p></td>
-<td>a <a class="link" href="PopplerFormField.html" title="PoppplerFormField"><span class="type">PopplerFormField</span></a>
+<td class="function_type">
+<span class="returnvalue">char</span> *
+</td>
+<td class="function_name">
+<a class="link" href="PopplerPage.html#poppler-page-get-selected-text" title="poppler_page_get_selected_text ()">poppler_page_get_selected_text</a> <span class="c_punctuation">()</span>
</td>
</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2">
-<a name="PopplerAnnotMapping"></a><h3>PopplerAnnotMapping</h3>
-<pre class="programlisting">typedef struct {
- PopplerRectangle area;
- PopplerAnnot *annot;
-} PopplerAnnotMapping;
-</pre>
-<p>
-A <a class="link" href="PopplerPage.html#PopplerAnnotMapping" title="PopplerAnnotMapping"><span class="type">PopplerAnnotMapping</span></a> structure represents the location
-of <em class="parameter"><code>annot</code></em> on the page
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
-<colgroup>
-<col align="left" valign="top">
-<col>
-</colgroup>
-<tbody>
<tr>
-<td><p><span class="term"><a class="link" href="PopplerPage.html#PopplerRectangle" title="PopplerRectangle"><span class="type">PopplerRectangle</span></a> <em class="structfield"><code><a name="PopplerAnnotMapping.area"></a>area</code></em>;</span></p></td>
-<td>a <a class="link" href="PopplerPage.html#PopplerRectangle" title="PopplerRectangle"><span class="type">PopplerRectangle</span></a> representing an area of the page</td>
+<td class="function_type">
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="returnvalue">GList</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="PopplerPage.html#poppler-page-find-text" title="poppler_page_find_text ()">poppler_page_find_text</a> <span class="c_punctuation">()</span>
+</td>
</tr>
<tr>
-<td><p><span class="term"><a class="link" href="PopplerAnnot.html" title="PopplerAnnot"><span class="type">PopplerAnnot</span></a> *<em class="structfield"><code><a name="PopplerAnnotMapping.annot"></a>annot</code></em>;</span></p></td>
-<td>a <a class="link" href="PopplerAnnot.html" title="PopplerAnnot"><span class="type">PopplerAnnot</span></a>
+<td class="function_type">
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="returnvalue">GList</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="PopplerPage.html#poppler-page-find-text-with-options" title="poppler_page_find_text_with_options ()">poppler_page_find_text_with_options</a> <span class="c_punctuation">()</span>
</td>
</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2">
-<a name="PopplerPageTransitionType"></a><h3>enum PopplerPageTransitionType</h3>
-<pre class="programlisting">typedef enum {
- POPPLER_PAGE_TRANSITION_REPLACE,
- POPPLER_PAGE_TRANSITION_SPLIT,
- POPPLER_PAGE_TRANSITION_BLINDS,
- POPPLER_PAGE_TRANSITION_BOX,
- POPPLER_PAGE_TRANSITION_WIPE,
- POPPLER_PAGE_TRANSITION_DISSOLVE,
- POPPLER_PAGE_TRANSITION_GLITTER,
- POPPLER_PAGE_TRANSITION_FLY,
- POPPLER_PAGE_TRANSITION_PUSH,
- POPPLER_PAGE_TRANSITION_COVER,
- POPPLER_PAGE_TRANSITION_UNCOVER,
- POPPLER_PAGE_TRANSITION_FADE
-} PopplerPageTransitionType;
-</pre>
-<p>
-Page transition types
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
-<colgroup>
-<col align="left" valign="top">
-<col>
-</colgroup>
-<tbody>
<tr>
-<td><p><a name="POPPLER-PAGE-TRANSITION-REPLACE:CAPS"></a><span class="term"><code class="literal">POPPLER_PAGE_TRANSITION_REPLACE</code></span></p></td>
-<td>the new page replace the old one
+<td class="function_type">
+<span class="returnvalue">char</span> *
+</td>
+<td class="function_name">
+<a class="link" href="PopplerPage.html#poppler-page-get-text" title="poppler_page_get_text ()">poppler_page_get_text</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><p><a name="POPPLER-PAGE-TRANSITION-SPLIT:CAPS"></a><span class="term"><code class="literal">POPPLER_PAGE_TRANSITION_SPLIT</code></span></p></td>
-<td>two lines sweep across the screen, revealing the new page
+<td class="function_type">
+<span class="returnvalue">char</span> *
+</td>
+<td class="function_name">
+<a class="link" href="PopplerPage.html#poppler-page-get-text-for-area" title="poppler_page_get_text_for_area ()">poppler_page_get_text_for_area</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><p><a name="POPPLER-PAGE-TRANSITION-BLINDS:CAPS"></a><span class="term"><code class="literal">POPPLER_PAGE_TRANSITION_BLINDS</code></span></p></td>
-<td>multiple lines, evenly spaced across the screen, synchronously
-sweep in the same direction to reveal the new page
+<td class="function_type">
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="PopplerPage.html#poppler-page-get-text-layout" title="poppler_page_get_text_layout ()">poppler_page_get_text_layout</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><p><a name="POPPLER-PAGE-TRANSITION-BOX:CAPS"></a><span class="term"><code class="literal">POPPLER_PAGE_TRANSITION_BOX</code></span></p></td>
-<td>a rectangular box sweeps inward from the edges of the page or
-outward from the center revealing the new page
+<td class="function_type">
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="PopplerPage.html#poppler-page-get-text-layout-for-area" title="poppler_page_get_text_layout_for_area ()">poppler_page_get_text_layout_for_area</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><p><a name="POPPLER-PAGE-TRANSITION-WIPE:CAPS"></a><span class="term"><code class="literal">POPPLER_PAGE_TRANSITION_WIPE</code></span></p></td>
-<td>a single line sweeps across the screen from one edge to the other
-revealing the new page
+<td class="function_type">
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="returnvalue">GList</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="PopplerPage.html#poppler-page-get-text-attributes" title="poppler_page_get_text_attributes ()">poppler_page_get_text_attributes</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><p><a name="POPPLER-PAGE-TRANSITION-DISSOLVE:CAPS"></a><span class="term"><code class="literal">POPPLER_PAGE_TRANSITION_DISSOLVE</code></span></p></td>
-<td>the old page dissolves gradually to reveal the new one
+<td class="function_type">
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="returnvalue">GList</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="PopplerPage.html#poppler-page-get-text-attributes-for-area" title="poppler_page_get_text_attributes_for_area ()">poppler_page_get_text_attributes_for_area</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><p><a name="POPPLER-PAGE-TRANSITION-GLITTER:CAPS"></a><span class="term"><code class="literal">POPPLER_PAGE_TRANSITION_GLITTER</code></span></p></td>
-<td>similar to <a class="link" href="PopplerPage.html#POPPLER-PAGE-TRANSITION-DISSOLVE:CAPS"><span class="type">POPPLER_PAGE_TRANSITION_DISSOLVE</span></a>, except that the effect
-sweeps across the page in a wide band moving from one side of the screen to the other
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="PopplerPage.html#poppler-page-free-text-attributes" title="poppler_page_free_text_attributes ()">poppler_page_free_text_attributes</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><p><a name="POPPLER-PAGE-TRANSITION-FLY:CAPS"></a><span class="term"><code class="literal">POPPLER_PAGE_TRANSITION_FLY</code></span></p></td>
-<td>changes are flown out or in to or from a location that is offscreen
+<td class="function_type">
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="returnvalue">GList</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="PopplerPage.html#poppler-page-get-link-mapping" title="poppler_page_get_link_mapping ()">poppler_page_get_link_mapping</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><p><a name="POPPLER-PAGE-TRANSITION-PUSH:CAPS"></a><span class="term"><code class="literal">POPPLER_PAGE_TRANSITION_PUSH</code></span></p></td>
-<td>the old page slides off the screen while the new page slides in
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="PopplerPage.html#poppler-page-free-link-mapping" title="poppler_page_free_link_mapping ()">poppler_page_free_link_mapping</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><p><a name="POPPLER-PAGE-TRANSITION-COVER:CAPS"></a><span class="term"><code class="literal">POPPLER_PAGE_TRANSITION_COVER</code></span></p></td>
-<td>the new page slides on to the screen covering the old page
+<td class="function_type">
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="returnvalue">GList</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="PopplerPage.html#poppler-page-get-image-mapping" title="poppler_page_get_image_mapping ()">poppler_page_get_image_mapping</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><p><a name="POPPLER-PAGE-TRANSITION-UNCOVER:CAPS"></a><span class="term"><code class="literal">POPPLER_PAGE_TRANSITION_UNCOVER</code></span></p></td>
-<td>the old page slides off the screen uncovering the new page
+<td class="function_type">
+<a href="/usr/share/gtk-doc/html/cairo/cairo-cairo-surface-t.html#cairo-surface-t"><span class="returnvalue">cairo_surface_t</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="PopplerPage.html#poppler-page-get-image" title="poppler_page_get_image ()">poppler_page_get_image</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><p><a name="POPPLER-PAGE-TRANSITION-FADE:CAPS"></a><span class="term"><code class="literal">POPPLER_PAGE_TRANSITION_FADE</code></span></p></td>
-<td>the new page gradually becomes visible through the old one
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="PopplerPage.html#poppler-page-free-image-mapping" title="poppler_page_free_image_mapping ()">poppler_page_free_image_mapping</a> <span class="c_punctuation">()</span>
</td>
</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2">
-<a name="PopplerPageTransitionAlignment"></a><h3>enum PopplerPageTransitionAlignment</h3>
-<pre class="programlisting">typedef enum {
- POPPLER_PAGE_TRANSITION_HORIZONTAL,
- POPPLER_PAGE_TRANSITION_VERTICAL
-} PopplerPageTransitionAlignment;
-</pre>
-<p>
-Page transition alignment types for <a class="link" href="PopplerPage.html#POPPLER-PAGE-TRANSITION-SPLIT:CAPS"><span class="type">POPPLER_PAGE_TRANSITION_SPLIT</span></a>
-and <a class="link" href="PopplerPage.html#POPPLER-PAGE-TRANSITION-BLINDS:CAPS"><span class="type">POPPLER_PAGE_TRANSITION_BLINDS</span></a> transition types
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
-<colgroup>
-<col align="left" valign="top">
-<col>
-</colgroup>
-<tbody>
<tr>
-<td><p><a name="POPPLER-PAGE-TRANSITION-HORIZONTAL:CAPS"></a><span class="term"><code class="literal">POPPLER_PAGE_TRANSITION_HORIZONTAL</code></span></p></td>
-<td>horizontal dimension
+<td class="function_type">
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="returnvalue">GList</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="PopplerPage.html#poppler-page-get-form-field-mapping" title="poppler_page_get_form_field_mapping ()">poppler_page_get_form_field_mapping</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><p><a name="POPPLER-PAGE-TRANSITION-VERTICAL:CAPS"></a><span class="term"><code class="literal">POPPLER_PAGE_TRANSITION_VERTICAL</code></span></p></td>
-<td>vertical dimension
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="PopplerPage.html#poppler-page-free-form-field-mapping" title="poppler_page_free_form_field_mapping ()">poppler_page_free_form_field_mapping</a> <span class="c_punctuation">()</span>
</td>
</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2">
-<a name="PopplerPageTransitionDirection"></a><h3>enum PopplerPageTransitionDirection</h3>
-<pre class="programlisting">typedef enum {
- POPPLER_PAGE_TRANSITION_INWARD,
- POPPLER_PAGE_TRANSITION_OUTWARD
-} PopplerPageTransitionDirection;
-</pre>
-<p>
-Page transition direction types for <a class="link" href="PopplerPage.html#POPPLER-PAGE-TRANSITION-SPLIT:CAPS"><span class="type">POPPLER_PAGE_TRANSITION_SPLIT</span></a>,
-<a class="link" href="PopplerPage.html#POPPLER-PAGE-TRANSITION-BOX:CAPS"><span class="type">POPPLER_PAGE_TRANSITION_BOX</span></a> and <a class="link" href="PopplerPage.html#POPPLER-PAGE-TRANSITION-FLY:CAPS"><span class="type">POPPLER_PAGE_TRANSITION_FLY</span></a> transition types
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
-<colgroup>
-<col align="left" valign="top">
-<col>
-</colgroup>
-<tbody>
<tr>
-<td><p><a name="POPPLER-PAGE-TRANSITION-INWARD:CAPS"></a><span class="term"><code class="literal">POPPLER_PAGE_TRANSITION_INWARD</code></span></p></td>
-<td>inward from the edges of the page
+<td class="function_type">
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="returnvalue">GList</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="PopplerPage.html#poppler-page-get-annot-mapping" title="poppler_page_get_annot_mapping ()">poppler_page_get_annot_mapping</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><p><a name="POPPLER-PAGE-TRANSITION-OUTWARD:CAPS"></a><span class="term"><code class="literal">POPPLER_PAGE_TRANSITION_OUTWARD</code></span></p></td>
-<td>outward from the center of the page
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="PopplerPage.html#poppler-page-free-annot-mapping" title="poppler_page_free_annot_mapping ()">poppler_page_free_annot_mapping</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="PopplerPage.html#poppler-page-add-annot" title="poppler_page_add_annot ()">poppler_page_add_annot</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="PopplerPage.html#poppler-page-remove-annot" title="poppler_page_remove_annot ()">poppler_page_remove_annot</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="PopplerPage.html#PopplerRectangle" title="PopplerRectangle"><span class="returnvalue">PopplerRectangle</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="PopplerPage.html#poppler-rectangle-new" title="poppler_rectangle_new ()">poppler_rectangle_new</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="PopplerPage.html#PopplerRectangle" title="PopplerRectangle"><span class="returnvalue">PopplerRectangle</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="PopplerPage.html#poppler-rectangle-copy" title="poppler_rectangle_copy ()">poppler_rectangle_copy</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="PopplerPage.html#poppler-rectangle-free" title="poppler_rectangle_free ()">poppler_rectangle_free</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="PopplerPage.html#PopplerPageTransition" title="PopplerPageTransition"><span class="returnvalue">PopplerPageTransition</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="PopplerPage.html#poppler-page-transition-new" title="poppler_page_transition_new ()">poppler_page_transition_new</a> <span class="c_punctuation">()</span>
</td>
</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2">
-<a name="PopplerSelectionStyle"></a><h3>enum PopplerSelectionStyle</h3>
-<pre class="programlisting">typedef enum {
- POPPLER_SELECTION_GLYPH,
- POPPLER_SELECTION_WORD,
- POPPLER_SELECTION_LINE
-} PopplerSelectionStyle;
-</pre>
-<p>
-Selection styles
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
-<colgroup>
-<col align="left" valign="top">
-<col>
-</colgroup>
-<tbody>
<tr>
-<td><p><a name="POPPLER-SELECTION-GLYPH:CAPS"></a><span class="term"><code class="literal">POPPLER_SELECTION_GLYPH</code></span></p></td>
-<td>glyph is the minimum unit for selection
+<td class="function_type">
+<a class="link" href="PopplerPage.html#PopplerPageTransition" title="PopplerPageTransition"><span class="returnvalue">PopplerPageTransition</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="PopplerPage.html#poppler-page-transition-copy" title="poppler_page_transition_copy ()">poppler_page_transition_copy</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="PopplerPage.html#poppler-page-transition-free" title="poppler_page_transition_free ()">poppler_page_transition_free</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="PopplerPage.html#PopplerLinkMapping" title="PopplerLinkMapping"><span class="returnvalue">PopplerLinkMapping</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="PopplerPage.html#poppler-link-mapping-new" title="poppler_link_mapping_new ()">poppler_link_mapping_new</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="PopplerPage.html#PopplerLinkMapping" title="PopplerLinkMapping"><span class="returnvalue">PopplerLinkMapping</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="PopplerPage.html#poppler-link-mapping-copy" title="poppler_link_mapping_copy ()">poppler_link_mapping_copy</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="PopplerPage.html#poppler-link-mapping-free" title="poppler_link_mapping_free ()">poppler_link_mapping_free</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="PopplerPage.html#PopplerImageMapping" title="PopplerImageMapping"><span class="returnvalue">PopplerImageMapping</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="PopplerPage.html#poppler-image-mapping-new" title="poppler_image_mapping_new ()">poppler_image_mapping_new</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="PopplerPage.html#PopplerImageMapping" title="PopplerImageMapping"><span class="returnvalue">PopplerImageMapping</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="PopplerPage.html#poppler-image-mapping-copy" title="poppler_image_mapping_copy ()">poppler_image_mapping_copy</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="PopplerPage.html#poppler-image-mapping-free" title="poppler_image_mapping_free ()">poppler_image_mapping_free</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><p><a name="POPPLER-SELECTION-WORD:CAPS"></a><span class="term"><code class="literal">POPPLER_SELECTION_WORD</code></span></p></td>
-<td>word is the minimum unit for selection
+<td class="function_type">
+<a class="link" href="PopplerPage.html#PopplerFormFieldMapping" title="PopplerFormFieldMapping"><span class="returnvalue">PopplerFormFieldMapping</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="PopplerPage.html#poppler-form-field-mapping-new" title="poppler_form_field_mapping_new ()">poppler_form_field_mapping_new</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="PopplerPage.html#PopplerFormFieldMapping" title="PopplerFormFieldMapping"><span class="returnvalue">PopplerFormFieldMapping</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="PopplerPage.html#poppler-form-field-mapping-copy" title="poppler_form_field_mapping_copy ()">poppler_form_field_mapping_copy</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="PopplerPage.html#poppler-form-field-mapping-free" title="poppler_form_field_mapping_free ()">poppler_form_field_mapping_free</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="PopplerPage.html#PopplerAnnotMapping" title="PopplerAnnotMapping"><span class="returnvalue">PopplerAnnotMapping</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="PopplerPage.html#poppler-annot-mapping-new" title="poppler_annot_mapping_new ()">poppler_annot_mapping_new</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="PopplerPage.html#PopplerAnnotMapping" title="PopplerAnnotMapping"><span class="returnvalue">PopplerAnnotMapping</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="PopplerPage.html#poppler-annot-mapping-copy" title="poppler_annot_mapping_copy ()">poppler_annot_mapping_copy</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="PopplerPage.html#poppler-annot-mapping-free" title="poppler_annot_mapping_free ()">poppler_annot_mapping_free</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="PopplerPage.html#PopplerTextAttributes" title="PopplerTextAttributes"><span class="returnvalue">PopplerTextAttributes</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="PopplerPage.html#poppler-text-attributes-new" title="poppler_text_attributes_new ()">poppler_text_attributes_new</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="PopplerPage.html#PopplerTextAttributes" title="PopplerTextAttributes"><span class="returnvalue">PopplerTextAttributes</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="PopplerPage.html#poppler-text-attributes-copy" title="poppler_text_attributes_copy ()">poppler_text_attributes_copy</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><p><a name="POPPLER-SELECTION-LINE:CAPS"></a><span class="term"><code class="literal">POPPLER_SELECTION_LINE</code></span></p></td>
-<td>line is the minimum unit for selection
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="PopplerPage.html#poppler-text-attributes-free" title="poppler_text_attributes_free ()">poppler_text_attributes_free</a> <span class="c_punctuation">()</span>
</td>
</tr>
</tbody>
</table></div>
</div>
-<hr>
-<div class="refsect2">
-<a name="PopplerTextAttributes"></a><h3>PopplerTextAttributes</h3>
-<pre class="programlisting">typedef struct {
- gchar *font_name;
- gdouble font_size;
- gboolean is_underlined;
- PopplerColor color;
-
- gint start_index;
- gint end_index;
-} PopplerTextAttributes;
-</pre>
-<p>
-A <a class="link" href="PopplerPage.html#PopplerTextAttributes" title="PopplerTextAttributes"><span class="type">PopplerTextAttributes</span></a> is used to describe text attributes of a range of text
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<div class="refsect1">
+<a name="PopplerPage.properties"></a><h2>Properties</h2>
+<div class="informaltable"><table border="0">
+<colgroup>
+<col width="150px" class="properties_type">
+<col width="300px" class="properties_name">
+<col width="200px" class="properties_flags">
+</colgroup>
+<tbody><tr>
+<td class="property_type">
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *</td>
+<td class="property_name"><a class="link" href="PopplerPage.html#PopplerPage--label" title="The “label†property">label</a></td>
+<td class="property_flags">Read</td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="PopplerPage.other"></a><h2>Types and Values</h2>
+<div class="informaltable"><table width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="name">
+<col class="description">
</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *<em class="structfield"><code><a name="PopplerTextAttributes.font-name"></a>font_name</code></em>;</span></p></td>
-<td>font name</td>
+<td class="datatype_keyword"> </td>
+<td class="function_name"><a class="link" href="PopplerPage.html#PopplerPage-struct" title="PopplerPage">PopplerPage</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword"> </td>
+<td class="function_name"><a class="link" href="PopplerPage.html#PopplerRectangle" title="PopplerRectangle">PopplerRectangle</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword"> </td>
+<td class="function_name"><a class="link" href="PopplerPage.html#PopplerPageTransition" title="PopplerPageTransition">PopplerPageTransition</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword"> </td>
+<td class="function_name"><a class="link" href="PopplerPage.html#PopplerLinkMapping" title="PopplerLinkMapping">PopplerLinkMapping</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword"> </td>
+<td class="function_name"><a class="link" href="PopplerPage.html#PopplerImageMapping" title="PopplerImageMapping">PopplerImageMapping</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword"> </td>
+<td class="function_name"><a class="link" href="PopplerPage.html#PopplerFormFieldMapping" title="PopplerFormFieldMapping">PopplerFormFieldMapping</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword"> </td>
+<td class="function_name"><a class="link" href="PopplerPage.html#PopplerAnnotMapping" title="PopplerAnnotMapping">PopplerAnnotMapping</a></td>
</tr>
<tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> <em class="structfield"><code><a name="PopplerTextAttributes.font-size"></a>font_size</code></em>;</span></p></td>
-<td>font size</td>
+<td class="datatype_keyword">enum</td>
+<td class="function_name"><a class="link" href="PopplerPage.html#PopplerPageTransitionType" title="enum PopplerPageTransitionType">PopplerPageTransitionType</a></td>
</tr>
<tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> <em class="structfield"><code><a name="PopplerTextAttributes.is-underlined"></a>is_underlined</code></em>;</span></p></td>
-<td>if text is underlined</td>
+<td class="datatype_keyword">enum</td>
+<td class="function_name"><a class="link" href="PopplerPage.html#PopplerPageTransitionAlignment" title="enum PopplerPageTransitionAlignment">PopplerPageTransitionAlignment</a></td>
</tr>
<tr>
-<td><p><span class="term"><a class="link" href="poppler-poppler.html#PopplerColor" title="PopplerColor"><span class="type">PopplerColor</span></a> <em class="structfield"><code><a name="PopplerTextAttributes.color"></a>color</code></em>;</span></p></td>
-<td>a <a class="link" href="poppler-poppler.html#PopplerColor" title="PopplerColor"><span class="type">PopplerColor</span></a>, the foreground color</td>
+<td class="datatype_keyword">enum</td>
+<td class="function_name"><a class="link" href="PopplerPage.html#PopplerPageTransitionDirection" title="enum PopplerPageTransitionDirection">PopplerPageTransitionDirection</a></td>
</tr>
<tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> <em class="structfield"><code><a name="PopplerTextAttributes.start-index"></a>start_index</code></em>;</span></p></td>
-<td>start position this text attributes apply</td>
+<td class="datatype_keyword">enum</td>
+<td class="function_name"><a class="link" href="PopplerPage.html#PopplerSelectionStyle" title="enum PopplerSelectionStyle">PopplerSelectionStyle</a></td>
</tr>
<tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> <em class="structfield"><code><a name="PopplerTextAttributes.end-index"></a>end_index</code></em>;</span></p></td>
-<td>end position this text text attributes apply</td>
+<td class="datatype_keyword"> </td>
+<td class="function_name"><a class="link" href="PopplerPage.html#PopplerTextAttributes" title="PopplerTextAttributes">PopplerTextAttributes</a></td>
</tr>
</tbody>
</table></div>
-<p class="since">Since 0.18</p>
</div>
-<hr>
+<div class="refsect1">
+<a name="PopplerPage.object-hierarchy"></a><h2>Object Hierarchy</h2>
+<pre class="screen"> <a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObject">GObject</a>
+ <span class="lineart">╰──</span> PopplerPage
+</pre>
+</div>
+<div class="refsect1">
+<a name="PopplerPage.includes"></a><h2>Includes</h2>
+<pre class="synopsis">#include &lt;poppler.h&gt;
+</pre>
+</div>
+<div class="refsect1">
+<a name="PopplerPage.description"></a><h2>Description</h2>
+</div>
+<div class="refsect1">
+<a name="PopplerPage.functions_details"></a><h2>Functions</h2>
<div class="refsect2">
-<a name="poppler-page-get-index"></a><h3>poppler_page_get_index ()</h3>
-<pre class="programlisting"><span class="returnvalue">int</span> poppler_page_get_index (<em class="parameter"><code><a class="link" href="PopplerPage.html" title="PopplerPage"><span class="type">PopplerPage</span></a> *page</code></em>);</pre>
-<p>
-Returns the index of <em class="parameter"><code>page</code></em>
+<a name="poppler-page-get-index"></a><h3>poppler_page_get_index ()</h3>
+<pre class="programlisting"><span class="returnvalue">int</span>
+poppler_page_get_index (<em class="parameter"><code><a class="link" href="PopplerPage.html" title="PopplerPage"><span class="type">PopplerPage</span></a> *page</code></em>);</pre>
+<p>Returns the index of <em class="parameter"><code>page</code></em>
</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<div class="refsect3">
+<a name="id-1.2.4.9.2.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>page</code></em> :</span></p></td>
-<td>a <a class="link" href="PopplerPage.html" title="PopplerPage"><span class="type">PopplerPage</span></a>
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>index value of <em class="parameter"><code>page</code></em>
-</td>
-</tr>
-</tbody>
+<tbody><tr>
+<td class="parameter_name"><p>page</p></td>
+<td class="parameter_description"><p>a <a class="link" href="PopplerPage.html" title="PopplerPage"><span class="type">PopplerPage</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="id-1.2.4.9.2.6"></a><h4>Returns</h4>
+<p> index value of <em class="parameter"><code>page</code></em>
+</p>
+<p></p>
+</div>
+</div>
<hr>
<div class="refsect2">
-<a name="poppler-page-get-label"></a><h3>poppler_page_get_label ()</h3>
-<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> * poppler_page_get_label (<em class="parameter"><code><a class="link" href="PopplerPage.html" title="PopplerPage"><span class="type">PopplerPage</span></a> *page</code></em>);</pre>
-<p>
-Returns the label of <em class="parameter"><code>page</code></em>. Note that page labels
-and page indices might not coincide.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="poppler-page-get-label"></a><h3>poppler_page_get_label ()</h3>
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+poppler_page_get_label (<em class="parameter"><code><a class="link" href="PopplerPage.html" title="PopplerPage"><span class="type">PopplerPage</span></a> *page</code></em>);</pre>
+<p>Returns the label of <em class="parameter"><code>page</code></em>
+. Note that page labels
+and page indices might not coincide.</p>
+<div class="refsect3">
+<a name="id-1.2.4.9.3.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>page</code></em> :</span></p></td>
-<td>a <a class="link" href="PopplerPage.html" title="PopplerPage"><span class="type">PopplerPage</span></a>
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>a new allocated string containing the label of <em class="parameter"><code>page</code></em>,
-or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if <em class="parameter"><code>page</code></em> doesn't have a label</td>
-</tr>
-</tbody>
+<tbody><tr>
+<td class="parameter_name"><p>page</p></td>
+<td class="parameter_description"><p>a <a class="link" href="PopplerPage.html" title="PopplerPage"><span class="type">PopplerPage</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.2.4.9.3.6"></a><h4>Returns</h4>
+<p> a new allocated string containing the label of <em class="parameter"><code>page</code></em>
+,
+or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if <em class="parameter"><code>page</code></em>
+doesn't have a label</p>
+<p></p>
+</div>
<p class="since">Since 0.16</p>
</div>
<hr>
<div class="refsect2">
-<a name="poppler-page-get-size"></a><h3>poppler_page_get_size ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span> poppler_page_get_size (<em class="parameter"><code><a class="link" href="PopplerPage.html" title="PopplerPage"><span class="type">PopplerPage</span></a> *page</code></em>,
- <em class="parameter"><code><span class="type">double</span> *width</code></em>,
- <em class="parameter"><code><span class="type">double</span> *height</code></em>);</pre>
-<p>
-Gets the size of <em class="parameter"><code>page</code></em> at the current scale and rotation.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="poppler-page-get-size"></a><h3>poppler_page_get_size ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+poppler_page_get_size (<em class="parameter"><code><a class="link" href="PopplerPage.html" title="PopplerPage"><span class="type">PopplerPage</span></a> *page</code></em>,
+ <em class="parameter"><code><span class="type">double</span> *width</code></em>,
+ <em class="parameter"><code><span class="type">double</span> *height</code></em>);</pre>
+<p>Gets the size of <em class="parameter"><code>page</code></em>
+ at the current scale and rotation.</p>
+<div class="refsect3">
+<a name="id-1.2.4.9.4.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><em class="parameter"><code>page</code></em> :</span></p></td>
-<td>A <a class="link" href="PopplerPage.html" title="PopplerPage"><span class="type">PopplerPage</span></a>
-</td>
+<td class="parameter_name"><p>page</p></td>
+<td class="parameter_description"><p>A <a class="link" href="PopplerPage.html" title="PopplerPage"><span class="type">PopplerPage</span></a></p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><em class="parameter"><code>width</code></em> :</span></p></td>
-<td>return location for the width of <em class="parameter"><code>page</code></em>. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
-</td>
+<td class="parameter_name"><p>width</p></td>
+<td class="parameter_description"><p> return location for the width of <em class="parameter"><code>page</code></em>
+. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
<tr>
-<td><p><span class="term"><em class="parameter"><code>height</code></em> :</span></p></td>
-<td>return location for the height of <em class="parameter"><code>page</code></em>. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
-</td>
+<td class="parameter_name"><p>height</p></td>
+<td class="parameter_description"><p> return location for the height of <em class="parameter"><code>page</code></em>
+. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
</tbody>
</table></div>
</div>
+</div>
<hr>
<div class="refsect2">
-<a name="poppler-page-get-crop-box"></a><h3>poppler_page_get_crop_box ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span> poppler_page_get_crop_box (<em class="parameter"><code><a class="link" href="PopplerPage.html" title="PopplerPage"><span class="type">PopplerPage</span></a> *page</code></em>,
- <em class="parameter"><code><a class="link" href="PopplerPage.html#PopplerRectangle" title="PopplerRectangle"><span class="type">PopplerRectangle</span></a> *rect</code></em>);</pre>
-<p>
-Retrurns the crop box of <em class="parameter"><code>page</code></em>
+<a name="poppler-page-get-crop-box"></a><h3>poppler_page_get_crop_box ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+poppler_page_get_crop_box (<em class="parameter"><code><a class="link" href="PopplerPage.html" title="PopplerPage"><span class="type">PopplerPage</span></a> *page</code></em>,
+ <em class="parameter"><code><a class="link" href="PopplerPage.html#PopplerRectangle" title="PopplerRectangle"><span class="type">PopplerRectangle</span></a> *rect</code></em>);</pre>
+<p>Retrurns the crop box of <em class="parameter"><code>page</code></em>
</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<div class="refsect3">
+<a name="id-1.2.4.9.5.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><em class="parameter"><code>page</code></em> :</span></p></td>
-<td>a <a class="link" href="PopplerPage.html" title="PopplerPage"><span class="type">PopplerPage</span></a>
-</td>
+<td class="parameter_name"><p>page</p></td>
+<td class="parameter_description"><p>a <a class="link" href="PopplerPage.html" title="PopplerPage"><span class="type">PopplerPage</span></a></p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><em class="parameter"><code>rect</code></em> :</span></p></td>
-<td>a <a class="link" href="PopplerPage.html#PopplerRectangle" title="PopplerRectangle"><span class="type">PopplerRectangle</span></a> to fill. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span>
-</td>
+<td class="parameter_name"><p>rect</p></td>
+<td class="parameter_description"><p> a <a class="link" href="PopplerPage.html#PopplerRectangle" title="PopplerRectangle"><span class="type">PopplerRectangle</span></a> to fill. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span></td>
</tr>
</tbody>
</table></div>
</div>
+</div>
<hr>
<div class="refsect2">
-<a name="poppler-page-get-duration"></a><h3>poppler_page_get_duration ()</h3>
-<pre class="programlisting"><span class="returnvalue">double</span> poppler_page_get_duration (<em class="parameter"><code><a class="link" href="PopplerPage.html" title="PopplerPage"><span class="type">PopplerPage</span></a> *page</code></em>);</pre>
-<p>
-Returns the duration of <em class="parameter"><code>page</code></em>
+<a name="poppler-page-get-duration"></a><h3>poppler_page_get_duration ()</h3>
+<pre class="programlisting"><span class="returnvalue">double</span>
+poppler_page_get_duration (<em class="parameter"><code><a class="link" href="PopplerPage.html" title="PopplerPage"><span class="type">PopplerPage</span></a> *page</code></em>);</pre>
+<p>Returns the duration of <em class="parameter"><code>page</code></em>
</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<div class="refsect3">
+<a name="id-1.2.4.9.6.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>page</code></em> :</span></p></td>
-<td>a <a class="link" href="PopplerPage.html" title="PopplerPage"><span class="type">PopplerPage</span></a>
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>duration in seconds of <em class="parameter"><code>page</code></em> or -1.</td>
-</tr>
-</tbody>
+<tbody><tr>
+<td class="parameter_name"><p>page</p></td>
+<td class="parameter_description"><p>a <a class="link" href="PopplerPage.html" title="PopplerPage"><span class="type">PopplerPage</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="id-1.2.4.9.6.6"></a><h4>Returns</h4>
+<p> duration in seconds of <em class="parameter"><code>page</code></em>
+or -1.</p>
+<p></p>
+</div>
+</div>
<hr>
<div class="refsect2">
-<a name="poppler-page-get-transition"></a><h3>poppler_page_get_transition ()</h3>
-<pre class="programlisting"><a class="link" href="PopplerPage.html#PopplerPageTransition" title="PopplerPageTransition"><span class="returnvalue">PopplerPageTransition</span></a> * poppler_page_get_transition (<em class="parameter"><code><a class="link" href="PopplerPage.html" title="PopplerPage"><span class="type">PopplerPage</span></a> *page</code></em>);</pre>
-<p>
-Returns the transition effect of <em class="parameter"><code>page</code></em>
+<a name="poppler-page-get-transition"></a><h3>poppler_page_get_transition ()</h3>
+<pre class="programlisting"><a class="link" href="PopplerPage.html#PopplerPageTransition" title="PopplerPageTransition"><span class="returnvalue">PopplerPageTransition</span></a> *
+poppler_page_get_transition (<em class="parameter"><code><a class="link" href="PopplerPage.html" title="PopplerPage"><span class="type">PopplerPage</span></a> *page</code></em>);</pre>
+<p>Returns the transition effect of <em class="parameter"><code>page</code></em>
</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<div class="refsect3">
+<a name="id-1.2.4.9.7.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>page</code></em> :</span></p></td>
-<td>a <a class="link" href="PopplerPage.html" title="PopplerPage"><span class="type">PopplerPage</span></a>
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>a <a class="link" href="PopplerPage.html#PopplerPageTransition" title="PopplerPageTransition"><span class="type">PopplerPageTransition</span></a> or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</td>
-</tr>
-</tbody>
+<tbody><tr>
+<td class="parameter_name"><p>page</p></td>
+<td class="parameter_description"><p>a <a class="link" href="PopplerPage.html" title="PopplerPage"><span class="type">PopplerPage</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="id-1.2.4.9.7.6"></a><h4>Returns</h4>
+<p> a <a class="link" href="PopplerPage.html#PopplerPageTransition" title="PopplerPageTransition"><span class="type">PopplerPageTransition</span></a> or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p>
+<p></p>
+</div>
+</div>
<hr>
<div class="refsect2">
-<a name="poppler-page-get-thumbnail-size"></a><h3>poppler_page_get_thumbnail_size ()</h3>
-<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> poppler_page_get_thumbnail_size (<em class="parameter"><code><a class="link" href="PopplerPage.html" title="PopplerPage"><span class="type">PopplerPage</span></a> *page</code></em>,
- <em class="parameter"><code><span class="type">int</span> *width</code></em>,
- <em class="parameter"><code><span class="type">int</span> *height</code></em>);</pre>
-<p>
-Returns <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if <em class="parameter"><code>page</code></em> has a thumbnail associated with it. It also
-fills in <em class="parameter"><code>width</code></em> and <em class="parameter"><code>height</code></em> with the width and height of the
+<a name="poppler-page-get-thumbnail-size"></a><h3>poppler_page_get_thumbnail_size ()</h3>
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+poppler_page_get_thumbnail_size (<em class="parameter"><code><a class="link" href="PopplerPage.html" title="PopplerPage"><span class="type">PopplerPage</span></a> *page</code></em>,
+ <em class="parameter"><code><span class="type">int</span> *width</code></em>,
+ <em class="parameter"><code><span class="type">int</span> *height</code></em>);</pre>
+<p>Returns <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if <em class="parameter"><code>page</code></em>
+ has a thumbnail associated with it. It also
+fills in <em class="parameter"><code>width</code></em>
+ and <em class="parameter"><code>height</code></em>
+ with the width and height of the
thumbnail. The values of width and height are not changed if no
-appropriate thumbnail exists.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+appropriate thumbnail exists.</p>
+<div class="refsect3">
+<a name="id-1.2.4.9.8.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><em class="parameter"><code>page</code></em> :</span></p></td>
-<td>A <a class="link" href="PopplerPage.html" title="PopplerPage"><span class="type">PopplerPage</span></a>
-</td>
+<td class="parameter_name"><p>page</p></td>
+<td class="parameter_description"><p>A <a class="link" href="PopplerPage.html" title="PopplerPage"><span class="type">PopplerPage</span></a></p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><em class="parameter"><code>width</code></em> :</span></p></td>
-<td>(out) return location for width</td>
+<td class="parameter_name"><p>width</p></td>
+<td class="parameter_description"><p> return location for width. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span></td>
</tr>
<tr>
-<td><p><span class="term"><em class="parameter"><code>height</code></em> :</span></p></td>
-<td>(out) return location for height</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>, if <em class="parameter"><code>page</code></em> has a thumbnail associated with it.</td>
+<td class="parameter_name"><p>height</p></td>
+<td class="parameter_description"><p> return location for height. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span></td>
</tr>
</tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="id-1.2.4.9.8.6"></a><h4>Returns</h4>
+<p> <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>, if <em class="parameter"><code>page</code></em>
+has a thumbnail associated with it.</p>
+<p></p>
+</div>
+</div>
<hr>
<div class="refsect2">
-<a name="poppler-page-get-thumbnail"></a><h3>poppler_page_get_thumbnail ()</h3>
-<pre class="programlisting"><a href="/usr/share/gtk-doc/html/cairo/cairo-cairo-surface-t.html#cairo-surface-t"><span class="returnvalue">cairo_surface_t</span></a> * poppler_page_get_thumbnail (<em class="parameter"><code><a class="link" href="PopplerPage.html" title="PopplerPage"><span class="type">PopplerPage</span></a> *page</code></em>);</pre>
-<p>
-Get the embedded thumbnail for the specified page. If the document
+<a name="poppler-page-get-thumbnail"></a><h3>poppler_page_get_thumbnail ()</h3>
+<pre class="programlisting"><a href="/usr/share/gtk-doc/html/cairo/cairo-cairo-surface-t.html#cairo-surface-t"><span class="returnvalue">cairo_surface_t</span></a> *
+poppler_page_get_thumbnail (<em class="parameter"><code><a class="link" href="PopplerPage.html" title="PopplerPage"><span class="type">PopplerPage</span></a> *page</code></em>);</pre>
+<p>Get the embedded thumbnail for the specified page. If the document
doesn't have an embedded thumbnail for the page, this function
-returns <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+returns <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p>
+<div class="refsect3">
+<a name="id-1.2.4.9.9.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>page</code></em> :</span></p></td>
-<td>the <a class="link" href="PopplerPage.html" title="PopplerPage"><span class="type">PopplerPage</span></a> to get the thumbnail for</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>the tumbnail as a cairo_surface_t or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if the document
-doesn't have a thumbnail for this page.</td>
-</tr>
-</tbody>
+<tbody><tr>
+<td class="parameter_name"><p>page</p></td>
+<td class="parameter_description"><p>the <a class="link" href="PopplerPage.html" title="PopplerPage"><span class="type">PopplerPage</span></a> to get the thumbnail for</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="id-1.2.4.9.9.6"></a><h4>Returns</h4>
+<p> the tumbnail as a cairo_surface_t or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if the document
+doesn't have a thumbnail for this page.</p>
+<p></p>
+</div>
+</div>
<hr>
<div class="refsect2">
-<a name="poppler-page-render"></a><h3>poppler_page_render ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span> poppler_page_render (<em class="parameter"><code><a class="link" href="PopplerPage.html" title="PopplerPage"><span class="type">PopplerPage</span></a> *page</code></em>,
- <em class="parameter"><code><a href="/usr/share/gtk-doc/html/cairo/cairo-cairo-t.html#cairo-t"><span class="type">cairo_t</span></a> *cairo</code></em>);</pre>
-<p>
-Render the page to the given cairo context. This function
+<a name="poppler-page-render"></a><h3>poppler_page_render ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+poppler_page_render (<em class="parameter"><code><a class="link" href="PopplerPage.html" title="PopplerPage"><span class="type">PopplerPage</span></a> *page</code></em>,
+ <em class="parameter"><code><a href="/usr/share/gtk-doc/html/cairo/cairo-cairo-t.html#cairo-t"><span class="type">cairo_t</span></a> *cairo</code></em>);</pre>
+<p>Render the page to the given cairo context. This function
is for rendering a page that will be displayed. If you want
to render a page that will be printed use
-<a class="link" href="PopplerPage.html#poppler-page-render-for-printing" title="poppler_page_render_for_printing ()"><code class="function">poppler_page_render_for_printing()</code></a> instead
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a class="link" href="PopplerPage.html#poppler-page-render-for-printing" title="poppler_page_render_for_printing ()"><code class="function">poppler_page_render_for_printing()</code></a> instead</p>
+<div class="refsect3">
+<a name="id-1.2.4.9.10.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><em class="parameter"><code>page</code></em> :</span></p></td>
-<td>the page to render from</td>
+<td class="parameter_name"><p>page</p></td>
+<td class="parameter_description"><p>the page to render from</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><em class="parameter"><code>cairo</code></em> :</span></p></td>
-<td>cairo context to render to</td>
+<td class="parameter_name"><p>cairo</p></td>
+<td class="parameter_description"><p>cairo context to render to</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
+</div>
<hr>
<div class="refsect2">
-<a name="poppler-page-render-for-printing"></a><h3>poppler_page_render_for_printing ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span> poppler_page_render_for_printing (<em class="parameter"><code><a class="link" href="PopplerPage.html" title="PopplerPage"><span class="type">PopplerPage</span></a> *page</code></em>,
- <em class="parameter"><code><a href="/usr/share/gtk-doc/html/cairo/cairo-cairo-t.html#cairo-t"><span class="type">cairo_t</span></a> *cairo</code></em>);</pre>
-<p>
-Render the page to the given cairo context for printing.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="poppler-page-render-for-printing"></a><h3>poppler_page_render_for_printing ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+poppler_page_render_for_printing (<em class="parameter"><code><a class="link" href="PopplerPage.html" title="PopplerPage"><span class="type">PopplerPage</span></a> *page</code></em>,
+ <em class="parameter"><code><a href="/usr/share/gtk-doc/html/cairo/cairo-cairo-t.html#cairo-t"><span class="type">cairo_t</span></a> *cairo</code></em>);</pre>
+<p>Render the page to the given cairo context for printing.</p>
+<div class="refsect3">
+<a name="id-1.2.4.9.11.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><em class="parameter"><code>page</code></em> :</span></p></td>
-<td>the page to render from</td>
+<td class="parameter_name"><p>page</p></td>
+<td class="parameter_description"><p>the page to render from</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><em class="parameter"><code>cairo</code></em> :</span></p></td>
-<td>cairo context to render to</td>
+<td class="parameter_name"><p>cairo</p></td>
+<td class="parameter_description"><p>cairo context to render to</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
+</div>
<hr>
<div class="refsect2">
-<a name="poppler-page-render-for-printing-with-options"></a><h3>poppler_page_render_for_printing_with_options ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span> poppler_page_render_for_printing_with_options
- (<em class="parameter"><code><a class="link" href="PopplerPage.html" title="PopplerPage"><span class="type">PopplerPage</span></a> *page</code></em>,
- <em class="parameter"><code><a href="/usr/share/gtk-doc/html/cairo/cairo-cairo-t.html#cairo-t"><span class="type">cairo_t</span></a> *cairo</code></em>,
- <em class="parameter"><code><a class="link" href="poppler-poppler.html#PopplerPrintFlags" title="enum PopplerPrintFlags"><span class="type">PopplerPrintFlags</span></a> options</code></em>);</pre>
-<p>
-Render the page to the given cairo context for printing
-with the specified options
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="poppler-page-render-for-printing-with-options"></a><h3>poppler_page_render_for_printing_with_options ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+poppler_page_render_for_printing_with_options
+ (<em class="parameter"><code><a class="link" href="PopplerPage.html" title="PopplerPage"><span class="type">PopplerPage</span></a> *page</code></em>,
+ <em class="parameter"><code><a href="/usr/share/gtk-doc/html/cairo/cairo-cairo-t.html#cairo-t"><span class="type">cairo_t</span></a> *cairo</code></em>,
+ <em class="parameter"><code><a class="link" href="poppler-poppler.html#PopplerPrintFlags" title="enum PopplerPrintFlags"><span class="type">PopplerPrintFlags</span></a> options</code></em>);</pre>
+<p>Render the page to the given cairo context for printing
+with the specified options</p>
+<div class="refsect3">
+<a name="id-1.2.4.9.12.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><em class="parameter"><code>page</code></em> :</span></p></td>
-<td>the page to render from</td>
+<td class="parameter_name"><p>page</p></td>
+<td class="parameter_description"><p>the page to render from</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><em class="parameter"><code>cairo</code></em> :</span></p></td>
-<td>cairo context to render to</td>
+<td class="parameter_name"><p>cairo</p></td>
+<td class="parameter_description"><p>cairo context to render to</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><em class="parameter"><code>options</code></em> :</span></p></td>
-<td>print options</td>
+<td class="parameter_name"><p>options</p></td>
+<td class="parameter_description"><p>print options</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
+</div>
<p class="since">Since 0.16</p>
</div>
<hr>
<div class="refsect2">
-<a name="poppler-page-render-to-ps"></a><h3>poppler_page_render_to_ps ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span> poppler_page_render_to_ps (<em class="parameter"><code><a class="link" href="PopplerPage.html" title="PopplerPage"><span class="type">PopplerPage</span></a> *page</code></em>,
- <em class="parameter"><code><a class="link" href="PopplerDocument.html#PopplerPSFile" title="PopplerPSFile"><span class="type">PopplerPSFile</span></a> *ps_file</code></em>);</pre>
-<p>
-Render the page on a postscript file
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="poppler-page-render-to-ps"></a><h3>poppler_page_render_to_ps ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+poppler_page_render_to_ps (<em class="parameter"><code><a class="link" href="PopplerPage.html" title="PopplerPage"><span class="type">PopplerPage</span></a> *page</code></em>,
+ <em class="parameter"><code><a class="link" href="PopplerDocument.html#PopplerPSFile" title="PopplerPSFile"><span class="type">PopplerPSFile</span></a> *ps_file</code></em>);</pre>
+<p>Render the page on a postscript file</p>
+<div class="refsect3">
+<a name="id-1.2.4.9.13.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><em class="parameter"><code>page</code></em> :</span></p></td>
-<td>a <a class="link" href="PopplerPage.html" title="PopplerPage"><span class="type">PopplerPage</span></a>
-</td>
+<td class="parameter_name"><p>page</p></td>
+<td class="parameter_description"><p>a <a class="link" href="PopplerPage.html" title="PopplerPage"><span class="type">PopplerPage</span></a></p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><em class="parameter"><code>ps_file</code></em> :</span></p></td>
-<td>the PopplerPSFile to render to</td>
+<td class="parameter_name"><p>ps_file</p></td>
+<td class="parameter_description"><p>the PopplerPSFile to render to</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
+</div>
<hr>
<div class="refsect2">
-<a name="poppler-page-render-selection"></a><h3>poppler_page_render_selection ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span> poppler_page_render_selection (<em class="parameter"><code><a class="link" href="PopplerPage.html" title="PopplerPage"><span class="type">PopplerPage</span></a> *page</code></em>,
- <em class="parameter"><code><a href="/usr/share/gtk-doc/html/cairo/cairo-cairo-t.html#cairo-t"><span class="type">cairo_t</span></a> *cairo</code></em>,
- <em class="parameter"><code><a class="link" href="PopplerPage.html#PopplerRectangle" title="PopplerRectangle"><span class="type">PopplerRectangle</span></a> *selection</code></em>,
- <em class="parameter"><code><a class="link" href="PopplerPage.html#PopplerRectangle" title="PopplerRectangle"><span class="type">PopplerRectangle</span></a> *old_selection</code></em>,
- <em class="parameter"><code><a class="link" href="PopplerPage.html#PopplerSelectionStyle" title="enum PopplerSelectionStyle"><span class="type">PopplerSelectionStyle</span></a> style</code></em>,
- <em class="parameter"><code><a class="link" href="poppler-poppler.html#PopplerColor" title="PopplerColor"><span class="type">PopplerColor</span></a> *glyph_color</code></em>,
- <em class="parameter"><code><a class="link" href="poppler-poppler.html#PopplerColor" title="PopplerColor"><span class="type">PopplerColor</span></a> *background_color</code></em>);</pre>
-<p>
-Render the selection specified by <em class="parameter"><code>selection</code></em> for <em class="parameter"><code>page</code></em> to
+<a name="poppler-page-render-selection"></a><h3>poppler_page_render_selection ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+poppler_page_render_selection (<em class="parameter"><code><a class="link" href="PopplerPage.html" title="PopplerPage"><span class="type">PopplerPage</span></a> *page</code></em>,
+ <em class="parameter"><code><a href="/usr/share/gtk-doc/html/cairo/cairo-cairo-t.html#cairo-t"><span class="type">cairo_t</span></a> *cairo</code></em>,
+ <em class="parameter"><code><a class="link" href="PopplerPage.html#PopplerRectangle" title="PopplerRectangle"><span class="type">PopplerRectangle</span></a> *selection</code></em>,
+ <em class="parameter"><code><a class="link" href="PopplerPage.html#PopplerRectangle" title="PopplerRectangle"><span class="type">PopplerRectangle</span></a> *old_selection</code></em>,
+ <em class="parameter"><code><a class="link" href="PopplerPage.html#PopplerSelectionStyle" title="enum PopplerSelectionStyle"><span class="type">PopplerSelectionStyle</span></a> style</code></em>,
+ <em class="parameter"><code><a class="link" href="poppler-poppler.html#PopplerColor" title="PopplerColor"><span class="type">PopplerColor</span></a> *glyph_color</code></em>,
+ <em class="parameter"><code><a class="link" href="poppler-poppler.html#PopplerColor" title="PopplerColor"><span class="type">PopplerColor</span></a> *background_color</code></em>);</pre>
+<p>Render the selection specified by <em class="parameter"><code>selection</code></em>
+ for <em class="parameter"><code>page</code></em>
+ to
the given cairo context. The selection will be rendered, using
-<em class="parameter"><code>glyph_color</code></em> for the glyphs and <em class="parameter"><code>background_color</code></em> for the selection
-background.
-</p>
-<p>
-If non-NULL, <em class="parameter"><code>old_selection</code></em> specifies the selection that is already
-rendered to <em class="parameter"><code>cairo</code></em>, in which case this function will (some day)
-only render the changed part of the selection.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
-<colgroup>
-<col align="left" valign="top">
-<col>
+<em class="parameter"><code>glyph_color</code></em>
+ for the glyphs and <em class="parameter"><code>background_color</code></em>
+ for the selection
+background.</p>
+<p>If non-NULL, <em class="parameter"><code>old_selection</code></em>
+ specifies the selection that is already
+rendered to <em class="parameter"><code>cairo</code></em>
+, in which case this function will (some day)
+only render the changed part of the selection.</p>
+<div class="refsect3">
+<a name="id-1.2.4.9.14.6"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><em class="parameter"><code>page</code></em> :</span></p></td>
-<td>the <a class="link" href="PopplerPage.html" title="PopplerPage"><span class="type">PopplerPage</span></a> for which to render selection</td>
+<td class="parameter_name"><p>page</p></td>
+<td class="parameter_description"><p>the <a class="link" href="PopplerPage.html" title="PopplerPage"><span class="type">PopplerPage</span></a> for which to render selection</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><em class="parameter"><code>cairo</code></em> :</span></p></td>
-<td>cairo context to render to</td>
+<td class="parameter_name"><p>cairo</p></td>
+<td class="parameter_description"><p>cairo context to render to</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><em class="parameter"><code>selection</code></em> :</span></p></td>
-<td>start and end point of selection as a rectangle</td>
+<td class="parameter_name"><p>selection</p></td>
+<td class="parameter_description"><p>start and end point of selection as a rectangle</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><em class="parameter"><code>old_selection</code></em> :</span></p></td>
-<td>previous selection</td>
+<td class="parameter_name"><p>old_selection</p></td>
+<td class="parameter_description"><p>previous selection</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><em class="parameter"><code>style</code></em> :</span></p></td>
-<td>a <a class="link" href="PopplerPage.html#PopplerSelectionStyle" title="enum PopplerSelectionStyle"><span class="type">PopplerSelectionStyle</span></a>
-</td>
+<td class="parameter_name"><p>style</p></td>
+<td class="parameter_description"><p>a <a class="link" href="PopplerPage.html#PopplerSelectionStyle" title="enum PopplerSelectionStyle"><span class="type">PopplerSelectionStyle</span></a></p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><em class="parameter"><code>glyph_color</code></em> :</span></p></td>
-<td>color to use for drawing glyphs</td>
+<td class="parameter_name"><p>glyph_color</p></td>
+<td class="parameter_description"><p>color to use for drawing glyphs</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><em class="parameter"><code>background_color</code></em> :</span></p></td>
-<td>color to use for the selection background</td>
+<td class="parameter_name"><p>background_color</p></td>
+<td class="parameter_description"><p>color to use for the selection background</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
+</div>
<hr>
<div class="refsect2">
-<a name="poppler-page-get-selected-region"></a><h3>poppler_page_get_selected_region ()</h3>
-<pre class="programlisting"><a href="/usr/share/gtk-doc/html/cairo/cairo-Regions.html#cairo-region-t"><span class="returnvalue">cairo_region_t</span></a> * poppler_page_get_selected_region (<em class="parameter"><code><a class="link" href="PopplerPage.html" title="PopplerPage"><span class="type">PopplerPage</span></a> *page</code></em>,
- <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> scale</code></em>,
- <em class="parameter"><code><a class="link" href="PopplerPage.html#PopplerSelectionStyle" title="enum PopplerSelectionStyle"><span class="type">PopplerSelectionStyle</span></a> style</code></em>,
- <em class="parameter"><code><a class="link" href="PopplerPage.html#PopplerRectangle" title="PopplerRectangle"><span class="type">PopplerRectangle</span></a> *selection</code></em>);</pre>
-<p>
-Returns a region containing the area that would be rendered by
-<a class="link" href="PopplerPage.html#poppler-page-render-selection" title="poppler_page_render_selection ()"><code class="function">poppler_page_render_selection()</code></a>.
-The returned region must be freed with <a href="/usr/share/gtk-doc/html/cairo/cairo-Regions.html#cairo-region-destroy"><code class="function">cairo_region_destroy()</code></a>
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="poppler-page-get-selected-region"></a><h3>poppler_page_get_selected_region ()</h3>
+<pre class="programlisting"><a href="/usr/share/gtk-doc/html/cairo/cairo-Regions.html#cairo-region-t"><span class="returnvalue">cairo_region_t</span></a> *
+poppler_page_get_selected_region (<em class="parameter"><code><a class="link" href="PopplerPage.html" title="PopplerPage"><span class="type">PopplerPage</span></a> *page</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> scale</code></em>,
+ <em class="parameter"><code><a class="link" href="PopplerPage.html#PopplerSelectionStyle" title="enum PopplerSelectionStyle"><span class="type">PopplerSelectionStyle</span></a> style</code></em>,
+ <em class="parameter"><code><a class="link" href="PopplerPage.html#PopplerRectangle" title="PopplerRectangle"><span class="type">PopplerRectangle</span></a> *selection</code></em>);</pre>
+<p>Returns a region containing the area that would be rendered by
+<a class="link" href="PopplerPage.html#poppler-page-render-selection" title="poppler_page_render_selection ()"><code class="function">poppler_page_render_selection()</code></a>.
+The returned region must be freed with <a href="/usr/share/gtk-doc/html/cairo/cairo-Regions.html#cairo-region-destroy"><code class="function">cairo_region_destroy()</code></a></p>
+<div class="refsect3">
+<a name="id-1.2.4.9.15.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><em class="parameter"><code>page</code></em> :</span></p></td>
-<td>a <a class="link" href="PopplerPage.html" title="PopplerPage"><span class="type">PopplerPage</span></a>
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>scale</code></em> :</span></p></td>
-<td>scale specified as pixels per point</td>
+<td class="parameter_name"><p>page</p></td>
+<td class="parameter_description"><p>a <a class="link" href="PopplerPage.html" title="PopplerPage"><span class="type">PopplerPage</span></a></p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><em class="parameter"><code>style</code></em> :</span></p></td>
-<td>a <a class="link" href="PopplerPage.html#PopplerSelectionStyle" title="enum PopplerSelectionStyle"><span class="type">PopplerSelectionStyle</span></a>
-</td>
+<td class="parameter_name"><p>scale</p></td>
+<td class="parameter_description"><p>scale specified as pixels per point</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><em class="parameter"><code>selection</code></em> :</span></p></td>
-<td>start and end point of selection as a rectangle</td>
+<td class="parameter_name"><p>style</p></td>
+<td class="parameter_description"><p>a <a class="link" href="PopplerPage.html#PopplerSelectionStyle" title="enum PopplerSelectionStyle"><span class="type">PopplerSelectionStyle</span></a></p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>a cairo_region_t. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
-</td>
+<td class="parameter_name"><p>selection</p></td>
+<td class="parameter_description"><p>start and end point of selection as a rectangle</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.2.4.9.15.6"></a><h4>Returns</h4>
+<p> a cairo_region_t. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
<p class="since">Since 0.16</p>
</div>
<hr>
<div class="refsect2">
-<a name="poppler-page-get-selection-region"></a><h3>poppler_page_get_selection_region ()</h3>
-<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="returnvalue">GList</span></a> * poppler_page_get_selection_region (<em class="parameter"><code><a class="link" href="PopplerPage.html" title="PopplerPage"><span class="type">PopplerPage</span></a> *page</code></em>,
- <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> scale</code></em>,
- <em class="parameter"><code><a class="link" href="PopplerPage.html#PopplerSelectionStyle" title="enum PopplerSelectionStyle"><span class="type">PopplerSelectionStyle</span></a> style</code></em>,
- <em class="parameter"><code><a class="link" href="PopplerPage.html#PopplerRectangle" title="PopplerRectangle"><span class="type">PopplerRectangle</span></a> *selection</code></em>);</pre>
-<div class="warning" style="margin-left: 0.5in; margin-right: 0.5in;">
-<h3 class="title">Warning</h3>
-<p><code class="literal">poppler_page_get_selection_region</code> has been deprecated since version 0.16 and should not be used in newly-written code. Use <a class="link" href="PopplerPage.html#poppler-page-get-selected-region" title="poppler_page_get_selected_region ()"><code class="function">poppler_page_get_selected_region()</code></a> instead.</p>
+<a name="poppler-page-get-selection-region"></a><h3>poppler_page_get_selection_region ()</h3>
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="returnvalue">GList</span></a> *
+poppler_page_get_selection_region (<em class="parameter"><code><a class="link" href="PopplerPage.html" title="PopplerPage"><span class="type">PopplerPage</span></a> *page</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> scale</code></em>,
+ <em class="parameter"><code><a class="link" href="PopplerPage.html#PopplerSelectionStyle" title="enum PopplerSelectionStyle"><span class="type">PopplerSelectionStyle</span></a> style</code></em>,
+ <em class="parameter"><code><a class="link" href="PopplerPage.html#PopplerRectangle" title="PopplerRectangle"><span class="type">PopplerRectangle</span></a> *selection</code></em>);</pre>
+<div class="warning">
+<p><code class="literal">poppler_page_get_selection_region</code> has been deprecated since version 0.16 and should not be used in newly-written code.</p>
+<p>Use <a class="link" href="PopplerPage.html#poppler-page-get-selected-region" title="poppler_page_get_selected_region ()"><code class="function">poppler_page_get_selected_region()</code></a> instead.</p>
</div>
-<p>
-Returns a region containing the area that would be rendered by
-<a class="link" href="PopplerPage.html#poppler-page-render-selection" title="poppler_page_render_selection ()"><code class="function">poppler_page_render_selection()</code></a> as a <a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> of
+<p>Returns a region containing the area that would be rendered by
+<a class="link" href="PopplerPage.html#poppler-page-render-selection" title="poppler_page_render_selection ()"><code class="function">poppler_page_render_selection()</code></a> as a <a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> of
<a class="link" href="PopplerPage.html#PopplerRectangle" title="PopplerRectangle"><span class="type">PopplerRectangle</span></a>. The returned list must be freed with
-<a class="link" href="PopplerPage.html#poppler-page-selection-region-free" title="poppler_page_selection_region_free ()"><code class="function">poppler_page_selection_region_free()</code></a>.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a class="link" href="PopplerPage.html#poppler-page-selection-region-free" title="poppler_page_selection_region_free ()"><code class="function">poppler_page_selection_region_free()</code></a>.</p>
+<div class="refsect3">
+<a name="id-1.2.4.9.16.6"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><em class="parameter"><code>page</code></em> :</span></p></td>
-<td>a <a class="link" href="PopplerPage.html" title="PopplerPage"><span class="type">PopplerPage</span></a>
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>scale</code></em> :</span></p></td>
-<td>scale specified as pixels per point</td>
+<td class="parameter_name"><p>page</p></td>
+<td class="parameter_description"><p>a <a class="link" href="PopplerPage.html" title="PopplerPage"><span class="type">PopplerPage</span></a></p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><em class="parameter"><code>style</code></em> :</span></p></td>
-<td>a <a class="link" href="PopplerPage.html#PopplerSelectionStyle" title="enum PopplerSelectionStyle"><span class="type">PopplerSelectionStyle</span></a>
-</td>
+<td class="parameter_name"><p>scale</p></td>
+<td class="parameter_description"><p>scale specified as pixels per point</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><em class="parameter"><code>selection</code></em> :</span></p></td>
-<td>start and end point of selection as a rectangle</td>
+<td class="parameter_name"><p>style</p></td>
+<td class="parameter_description"><p>a <a class="link" href="PopplerPage.html#PopplerSelectionStyle" title="enum PopplerSelectionStyle"><span class="type">PopplerSelectionStyle</span></a></p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>a <a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> of <a class="link" href="PopplerPage.html#PopplerRectangle" title="PopplerRectangle"><span class="type">PopplerRectangle</span></a>. <span class="annotation">[<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> PopplerRectangle][<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
-</td>
+<td class="parameter_name"><p>selection</p></td>
+<td class="parameter_description"><p>start and end point of selection as a rectangle</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="id-1.2.4.9.16.7"></a><h4>Returns</h4>
+<p> a <a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> of <a class="link" href="PopplerPage.html#PopplerRectangle" title="PopplerRectangle"><span class="type">PopplerRectangle</span></a>. </p>
+<p><span class="annotation">[<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> PopplerRectangle][<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
<hr>
<div class="refsect2">
-<a name="poppler-page-selection-region-free"></a><h3>poppler_page_selection_region_free ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span> poppler_page_selection_region_free (<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> *region</code></em>);</pre>
-<div class="warning" style="margin-left: 0.5in; margin-right: 0.5in;">
-<h3 class="title">Warning</h3>
-<p><code class="literal">poppler_page_selection_region_free</code> is deprecated and should not be used in newly-written code. 0.16</p>
-</div>
-<p>
-Frees <em class="parameter"><code>region</code></em>
+<a name="poppler-page-selection-region-free"></a><h3>poppler_page_selection_region_free ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+poppler_page_selection_region_free (<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> *region</code></em>);</pre>
+<div class="warning"><p><code class="literal">poppler_page_selection_region_free</code> has been deprecated since version 0.16 and should not be used in newly-written code.</p></div>
+<p>Frees <em class="parameter"><code>region</code></em>
</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<div class="refsect3">
+<a name="id-1.2.4.9.17.6"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
-<td><p><span class="term"><em class="parameter"><code>region</code></em> :</span></p></td>
-<td>a <a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> of
-<a class="link" href="PopplerPage.html#PopplerRectangle" title="PopplerRectangle"><span class="type">PopplerRectangle</span></a>. <span class="annotation">[<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> PopplerRectangle]</span>
-</td>
+<td class="parameter_name"><p>region</p></td>
+<td class="parameter_description"><p> a <a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> of
+<a class="link" href="PopplerPage.html#PopplerRectangle" title="PopplerRectangle"><span class="type">PopplerRectangle</span></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> PopplerRectangle]</span></td>
</tr></tbody>
</table></div>
</div>
+</div>
<hr>
<div class="refsect2">
-<a name="poppler-page-get-selected-text"></a><h3>poppler_page_get_selected_text ()</h3>
-<pre class="programlisting"><span class="returnvalue">char</span> * poppler_page_get_selected_text (<em class="parameter"><code><a class="link" href="PopplerPage.html" title="PopplerPage"><span class="type">PopplerPage</span></a> *page</code></em>,
- <em class="parameter"><code><a class="link" href="PopplerPage.html#PopplerSelectionStyle" title="enum PopplerSelectionStyle"><span class="type">PopplerSelectionStyle</span></a> style</code></em>,
- <em class="parameter"><code><a class="link" href="PopplerPage.html#PopplerRectangle" title="PopplerRectangle"><span class="type">PopplerRectangle</span></a> *selection</code></em>);</pre>
-<p>
-Retrieves the contents of the specified <em class="parameter"><code>selection</code></em> as text.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="poppler-page-get-selected-text"></a><h3>poppler_page_get_selected_text ()</h3>
+<pre class="programlisting"><span class="returnvalue">char</span> *
+poppler_page_get_selected_text (<em class="parameter"><code><a class="link" href="PopplerPage.html" title="PopplerPage"><span class="type">PopplerPage</span></a> *page</code></em>,
+ <em class="parameter"><code><a class="link" href="PopplerPage.html#PopplerSelectionStyle" title="enum PopplerSelectionStyle"><span class="type">PopplerSelectionStyle</span></a> style</code></em>,
+ <em class="parameter"><code><a class="link" href="PopplerPage.html#PopplerRectangle" title="PopplerRectangle"><span class="type">PopplerRectangle</span></a> *selection</code></em>);</pre>
+<p>Retrieves the contents of the specified <em class="parameter"><code>selection</code></em>
+ as text.</p>
+<div class="refsect3">
+<a name="id-1.2.4.9.18.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><em class="parameter"><code>page</code></em> :</span></p></td>
-<td>a <a class="link" href="PopplerPage.html" title="PopplerPage"><span class="type">PopplerPage</span></a>
-</td>
+<td class="parameter_name"><p>page</p></td>
+<td class="parameter_description"><p>a <a class="link" href="PopplerPage.html" title="PopplerPage"><span class="type">PopplerPage</span></a></p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><em class="parameter"><code>style</code></em> :</span></p></td>
-<td>a <a class="link" href="PopplerPage.html#PopplerSelectionStyle" title="enum PopplerSelectionStyle"><span class="type">PopplerSelectionStyle</span></a>
-</td>
+<td class="parameter_name"><p>style</p></td>
+<td class="parameter_description"><p>a <a class="link" href="PopplerPage.html#PopplerSelectionStyle" title="enum PopplerSelectionStyle"><span class="type">PopplerSelectionStyle</span></a></p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><em class="parameter"><code>selection</code></em> :</span></p></td>
-<td>the <a class="link" href="PopplerPage.html#PopplerRectangle" title="PopplerRectangle"><span class="type">PopplerRectangle</span></a> including the text</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>a pointer to the contents of the <em class="parameter"><code>selection</code></em>
-as a string</td>
+<td class="parameter_name"><p>selection</p></td>
+<td class="parameter_description"><p>the <a class="link" href="PopplerPage.html#PopplerRectangle" title="PopplerRectangle"><span class="type">PopplerRectangle</span></a> including the text</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.2.4.9.18.6"></a><h4>Returns</h4>
+<p> a pointer to the contents of the <em class="parameter"><code>selection</code></em>
+as a string</p>
+<p></p>
+</div>
<p class="since">Since 0.16</p>
</div>
<hr>
<div class="refsect2">
-<a name="poppler-page-find-text"></a><h3>poppler_page_find_text ()</h3>
-<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="returnvalue">GList</span></a> * poppler_page_find_text (<em class="parameter"><code><a class="link" href="PopplerPage.html" title="PopplerPage"><span class="type">PopplerPage</span></a> *page</code></em>,
- <em class="parameter"><code>const <span class="type">char</span> *text</code></em>);</pre>
-<p>
-Finds <em class="parameter"><code>text</code></em> in <em class="parameter"><code>page</code></em> with the default options (<a class="link" href="poppler-poppler.html#POPPLER-FIND-DEFAULT:CAPS"><code class="literal">POPPLER_FIND_DEFAULT</code></a>) and
+<a name="poppler-page-find-text"></a><h3>poppler_page_find_text ()</h3>
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="returnvalue">GList</span></a> *
+poppler_page_find_text (<em class="parameter"><code><a class="link" href="PopplerPage.html" title="PopplerPage"><span class="type">PopplerPage</span></a> *page</code></em>,
+ <em class="parameter"><code>const <span class="type">char</span> *text</code></em>);</pre>
+<p>Finds <em class="parameter"><code>text</code></em>
+ in <em class="parameter"><code>page</code></em>
+ with the default options (<a class="link" href="poppler-poppler.html#POPPLER-FIND-DEFAULT:CAPS"><code class="literal">POPPLER_FIND_DEFAULT</code></a>) and
returns a <a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> of rectangles for each occurance of the text on the page.
-The coordinates are in PDF points.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+The coordinates are in PDF points.</p>
+<div class="refsect3">
+<a name="id-1.2.4.9.19.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><em class="parameter"><code>page</code></em> :</span></p></td>
-<td>a <a class="link" href="PopplerPage.html" title="PopplerPage"><span class="type">PopplerPage</span></a>
-</td>
+<td class="parameter_name"><p>page</p></td>
+<td class="parameter_description"><p>a <a class="link" href="PopplerPage.html" title="PopplerPage"><span class="type">PopplerPage</span></a></p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><em class="parameter"><code>text</code></em> :</span></p></td>
-<td>the text to search for (UTF-8 encoded)</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>a <a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> of <a class="link" href="PopplerPage.html#PopplerRectangle" title="PopplerRectangle"><span class="type">PopplerRectangle</span></a>,. <span class="annotation">[<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> PopplerRectangle][<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
-</td>
+<td class="parameter_name"><p>text</p></td>
+<td class="parameter_description"><p>the text to search for (UTF-8 encoded)</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="id-1.2.4.9.19.6"></a><h4>Returns</h4>
+<p> a <a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> of <a class="link" href="PopplerPage.html#PopplerRectangle" title="PopplerRectangle"><span class="type">PopplerRectangle</span></a>,. </p>
+<p><span class="annotation">[<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> PopplerRectangle][<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
<hr>
<div class="refsect2">
-<a name="poppler-page-find-text-with-options"></a><h3>poppler_page_find_text_with_options ()</h3>
-<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="returnvalue">GList</span></a> * poppler_page_find_text_with_options (<em class="parameter"><code><a class="link" href="PopplerPage.html" title="PopplerPage"><span class="type">PopplerPage</span></a> *page</code></em>,
- <em class="parameter"><code>const <span class="type">char</span> *text</code></em>,
- <em class="parameter"><code><a class="link" href="poppler-poppler.html#PopplerFindFlags" title="enum PopplerFindFlags"><span class="type">PopplerFindFlags</span></a> options</code></em>);</pre>
-<p>
-Finds <em class="parameter"><code>text</code></em> in <em class="parameter"><code>page</code></em> with the given <a class="link" href="poppler-poppler.html#PopplerFindFlags" title="enum PopplerFindFlags"><span class="type">PopplerFindFlags</span></a> options and
+<a name="poppler-page-find-text-with-options"></a><h3>poppler_page_find_text_with_options ()</h3>
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="returnvalue">GList</span></a> *
+poppler_page_find_text_with_options (<em class="parameter"><code><a class="link" href="PopplerPage.html" title="PopplerPage"><span class="type">PopplerPage</span></a> *page</code></em>,
+ <em class="parameter"><code>const <span class="type">char</span> *text</code></em>,
+ <em class="parameter"><code><a class="link" href="poppler-poppler.html#PopplerFindFlags" title="enum PopplerFindFlags"><span class="type">PopplerFindFlags</span></a> options</code></em>);</pre>
+<p>Finds <em class="parameter"><code>text</code></em>
+ in <em class="parameter"><code>page</code></em>
+ with the given <a class="link" href="poppler-poppler.html#PopplerFindFlags" title="enum PopplerFindFlags"><span class="type">PopplerFindFlags</span></a> options and
returns a <a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> of rectangles for each occurance of the text on the page.
-The coordinates are in PDF points.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+The coordinates are in PDF points.</p>
+<div class="refsect3">
+<a name="id-1.2.4.9.20.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><em class="parameter"><code>page</code></em> :</span></p></td>
-<td>a <a class="link" href="PopplerPage.html" title="PopplerPage"><span class="type">PopplerPage</span></a>
-</td>
+<td class="parameter_name"><p>page</p></td>
+<td class="parameter_description"><p>a <a class="link" href="PopplerPage.html" title="PopplerPage"><span class="type">PopplerPage</span></a></p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><em class="parameter"><code>text</code></em> :</span></p></td>
-<td>the text to search for (UTF-8 encoded)</td>
+<td class="parameter_name"><p>text</p></td>
+<td class="parameter_description"><p>the text to search for (UTF-8 encoded)</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><em class="parameter"><code>options</code></em> :</span></p></td>
-<td>find options</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>a <a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> of <a class="link" href="PopplerPage.html#PopplerRectangle" title="PopplerRectangle"><span class="type">PopplerRectangle</span></a>,. <span class="annotation">[<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> PopplerRectangle][<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
-</td>
+<td class="parameter_name"><p>options</p></td>
+<td class="parameter_description"><p>find options</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.2.4.9.20.6"></a><h4>Returns</h4>
+<p> a <a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> of <a class="link" href="PopplerPage.html#PopplerRectangle" title="PopplerRectangle"><span class="type">PopplerRectangle</span></a>,. </p>
+<p><span class="annotation">[<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> PopplerRectangle][<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
<p class="since">Since 0.22</p>
</div>
<hr>
<div class="refsect2">
-<a name="poppler-page-get-text"></a><h3>poppler_page_get_text ()</h3>
-<pre class="programlisting"><span class="returnvalue">char</span> * poppler_page_get_text (<em class="parameter"><code><a class="link" href="PopplerPage.html" title="PopplerPage"><span class="type">PopplerPage</span></a> *page</code></em>);</pre>
-<p>
-Retrieves the text of <em class="parameter"><code>page</code></em>.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="poppler-page-get-text"></a><h3>poppler_page_get_text ()</h3>
+<pre class="programlisting"><span class="returnvalue">char</span> *
+poppler_page_get_text (<em class="parameter"><code><a class="link" href="PopplerPage.html" title="PopplerPage"><span class="type">PopplerPage</span></a> *page</code></em>);</pre>
+<p>Retrieves the text of <em class="parameter"><code>page</code></em>
+.</p>
+<div class="refsect3">
+<a name="id-1.2.4.9.21.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>page</p></td>
+<td class="parameter_description"><p>a <a class="link" href="PopplerPage.html" title="PopplerPage"><span class="type">PopplerPage</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.2.4.9.21.6"></a><h4>Returns</h4>
+<p> a pointer to the text of the <em class="parameter"><code>page</code></em>
+as a string</p>
+<p></p>
+</div>
+<p class="since">Since 0.16</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="poppler-page-get-text-for-area"></a><h3>poppler_page_get_text_for_area ()</h3>
+<pre class="programlisting"><span class="returnvalue">char</span> *
+poppler_page_get_text_for_area (<em class="parameter"><code><a class="link" href="PopplerPage.html" title="PopplerPage"><span class="type">PopplerPage</span></a> *page</code></em>,
+ <em class="parameter"><code><a class="link" href="PopplerPage.html#PopplerRectangle" title="PopplerRectangle"><span class="type">PopplerRectangle</span></a> *area</code></em>);</pre>
+<p>Retrieves the text of <em class="parameter"><code>page</code></em>
+ contained in <em class="parameter"><code>area</code></em>
+.</p>
+<div class="refsect3">
+<a name="id-1.2.4.9.22.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><em class="parameter"><code>page</code></em> :</span></p></td>
-<td>a <a class="link" href="PopplerPage.html" title="PopplerPage"><span class="type">PopplerPage</span></a>
-</td>
+<td class="parameter_name"><p>page</p></td>
+<td class="parameter_description"><p>a <a class="link" href="PopplerPage.html" title="PopplerPage"><span class="type">PopplerPage</span></a></p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>a pointer to the text of the <em class="parameter"><code>page</code></em>
-as a string</td>
+<td class="parameter_name"><p>area</p></td>
+<td class="parameter_description"><p>a <a class="link" href="PopplerPage.html#PopplerRectangle" title="PopplerRectangle"><span class="type">PopplerRectangle</span></a></p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
-<p class="since">Since 0.16</p>
+</div>
+<div class="refsect3">
+<a name="id-1.2.4.9.22.6"></a><h4>Returns</h4>
+<p> a pointer to the text as a string</p>
+<p></p>
+</div>
+<p class="since">Since 0.26</p>
</div>
<hr>
<div class="refsect2">
-<a name="poppler-page-get-text-layout"></a><h3>poppler_page_get_text_layout ()</h3>
-<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> poppler_page_get_text_layout (<em class="parameter"><code><a class="link" href="PopplerPage.html" title="PopplerPage"><span class="type">PopplerPage</span></a> *page</code></em>,
- <em class="parameter"><code><a class="link" href="PopplerPage.html#PopplerRectangle" title="PopplerRectangle"><span class="type">PopplerRectangle</span></a> **rectangles</code></em>,
- <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> *n_rectangles</code></em>);</pre>
-<p>
-Obtains the layout of the text as a list of <a class="link" href="PopplerPage.html#PopplerRectangle" title="PopplerRectangle"><span class="type">PopplerRectangle</span></a>
-This array must be freed with <a href="http://library.gnome.org/devel/glib/unstable/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a> when done.
-</p>
-<p>
-The position in the array represents an offset in the text returned by
-<a class="link" href="PopplerPage.html#poppler-page-get-text" title="poppler_page_get_text ()"><code class="function">poppler_page_get_text()</code></a>
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="poppler-page-get-text-layout"></a><h3>poppler_page_get_text_layout ()</h3>
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+poppler_page_get_text_layout (<em class="parameter"><code><a class="link" href="PopplerPage.html" title="PopplerPage"><span class="type">PopplerPage</span></a> *page</code></em>,
+ <em class="parameter"><code><a class="link" href="PopplerPage.html#PopplerRectangle" title="PopplerRectangle"><span class="type">PopplerRectangle</span></a> **rectangles</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> *n_rectangles</code></em>);</pre>
+<p>Obtains the layout of the text as a list of <a class="link" href="PopplerPage.html#PopplerRectangle" title="PopplerRectangle"><span class="type">PopplerRectangle</span></a>
+This array must be freed with <a href="http://library.gnome.org/devel/glib/unstable/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a> when done.</p>
+<p>The position in the array represents an offset in the text returned by
+<a class="link" href="PopplerPage.html#poppler-page-get-text" title="poppler_page_get_text ()"><code class="function">poppler_page_get_text()</code></a></p>
+<p>See also <a class="link" href="PopplerPage.html#poppler-page-get-text-layout-for-area" title="poppler_page_get_text_layout_for_area ()"><code class="function">poppler_page_get_text_layout_for_area()</code></a>.</p>
+<div class="refsect3">
+<a name="id-1.2.4.9.23.7"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><em class="parameter"><code>page</code></em> :</span></p></td>
-<td>A <a class="link" href="PopplerPage.html" title="PopplerPage"><span class="type">PopplerPage</span></a>
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>rectangles</code></em> :</span></p></td>
-<td>return location for an array of <a class="link" href="PopplerPage.html#PopplerRectangle" title="PopplerRectangle"><span class="type">PopplerRectangle</span></a>. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=n_rectangles][<acronym title="Free data container after the code is done."><span class="acronym">transfer container</span></acronym>]</span>
-</td>
+<td class="parameter_name"><p>page</p></td>
+<td class="parameter_description"><p>A <a class="link" href="PopplerPage.html" title="PopplerPage"><span class="type">PopplerPage</span></a></p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><em class="parameter"><code>n_rectangles</code></em> :</span></p></td>
-<td>(out) length of returned array</td>
+<td class="parameter_name"><p>rectangles</p></td>
+<td class="parameter_description"><p> return location for an array of <a class="link" href="PopplerPage.html#PopplerRectangle" title="PopplerRectangle"><span class="type">PopplerRectangle</span></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=n_rectangles][<acronym title="Free data container after the code is done."><span class="acronym">transfer container</span></acronym>]</span></td>
</tr>
<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the page contains text, <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise</td>
+<td class="parameter_name"><p>n_rectangles</p></td>
+<td class="parameter_description"><p> length of returned array. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span></td>
</tr>
</tbody>
</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.2.4.9.23.8"></a><h4>Returns</h4>
+<p> <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the page contains text, <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise</p>
+<p></p>
+</div>
<p class="since">Since 0.16</p>
</div>
<hr>
<div class="refsect2">
-<a name="poppler-page-get-text-attributes"></a><h3>poppler_page_get_text_attributes ()</h3>
-<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="returnvalue">GList</span></a> * poppler_page_get_text_attributes (<em class="parameter"><code><a class="link" href="PopplerPage.html" title="PopplerPage"><span class="type">PopplerPage</span></a> *page</code></em>);</pre>
-<p>
-Obtains the attributes of the text as a GList of <a class="link" href="PopplerPage.html#PopplerTextAttributes" title="PopplerTextAttributes"><span class="type">PopplerTextAttributes</span></a>.
-This list must be freed with <a class="link" href="PopplerPage.html#poppler-page-free-text-attributes" title="poppler_page_free_text_attributes ()"><code class="function">poppler_page_free_text_attributes()</code></a> when done.
-</p>
-<p>
-Each list element is a <a class="link" href="PopplerPage.html#PopplerTextAttributes" title="PopplerTextAttributes"><span class="type">PopplerTextAttributes</span></a> struct where start_index and
-end_index indicates the range of text (as returned by <a class="link" href="PopplerPage.html#poppler-page-get-text" title="poppler_page_get_text ()"><code class="function">poppler_page_get_text()</code></a>)
-to which text attributes apply.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="poppler-page-get-text-layout-for-area"></a><h3>poppler_page_get_text_layout_for_area ()</h3>
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+poppler_page_get_text_layout_for_area (<em class="parameter"><code><a class="link" href="PopplerPage.html" title="PopplerPage"><span class="type">PopplerPage</span></a> *page</code></em>,
+ <em class="parameter"><code><a class="link" href="PopplerPage.html#PopplerRectangle" title="PopplerRectangle"><span class="type">PopplerRectangle</span></a> *area</code></em>,
+ <em class="parameter"><code><a class="link" href="PopplerPage.html#PopplerRectangle" title="PopplerRectangle"><span class="type">PopplerRectangle</span></a> **rectangles</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> *n_rectangles</code></em>);</pre>
+<p>Obtains the layout of the text contained in <em class="parameter"><code>area</code></em>
+ as a list of <a class="link" href="PopplerPage.html#PopplerRectangle" title="PopplerRectangle"><span class="type">PopplerRectangle</span></a>
+This array must be freed with <a href="http://library.gnome.org/devel/glib/unstable/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a> when done.</p>
+<p>The position in the array represents an offset in the text returned by
+<a class="link" href="PopplerPage.html#poppler-page-get-text-for-area" title="poppler_page_get_text_for_area ()"><code class="function">poppler_page_get_text_for_area()</code></a></p>
+<div class="refsect3">
+<a name="id-1.2.4.9.24.6"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><em class="parameter"><code>page</code></em> :</span></p></td>
-<td>A <a class="link" href="PopplerPage.html" title="PopplerPage"><span class="type">PopplerPage</span></a>
-</td>
+<td class="parameter_name"><p>page</p></td>
+<td class="parameter_description"><p>A <a class="link" href="PopplerPage.html" title="PopplerPage"><span class="type">PopplerPage</span></a></p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>A <a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> of <a class="link" href="PopplerPage.html#PopplerTextAttributes" title="PopplerTextAttributes"><span class="type">PopplerTextAttributes</span></a>. <span class="annotation">[<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> PopplerTextAttributes][<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
-</td>
+<td class="parameter_name"><p>area</p></td>
+<td class="parameter_description"><p>a <a class="link" href="PopplerPage.html#PopplerRectangle" title="PopplerRectangle"><span class="type">PopplerRectangle</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>rectangles</p></td>
+<td class="parameter_description"><p> return location for an array of <a class="link" href="PopplerPage.html#PopplerRectangle" title="PopplerRectangle"><span class="type">PopplerRectangle</span></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=n_rectangles][<acronym title="Free data container after the code is done."><span class="acronym">transfer container</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>n_rectangles</p></td>
+<td class="parameter_description"><p> length of returned array. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span></td>
</tr>
</tbody>
</table></div>
-<p class="since">Since 0.18</p>
+</div>
+<div class="refsect3">
+<a name="id-1.2.4.9.24.7"></a><h4>Returns</h4>
+<p> <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the page contains text, <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise</p>
+<p></p>
+</div>
+<p class="since">Since 0.26</p>
</div>
<hr>
<div class="refsect2">
-<a name="poppler-page-free-text-attributes"></a><h3>poppler_page_free_text_attributes ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span> poppler_page_free_text_attributes (<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> *list</code></em>);</pre>
-<p>
-Frees a list of <a class="link" href="PopplerPage.html#PopplerTextAttributes" title="PopplerTextAttributes"><span class="type">PopplerTextAttributes</span></a>s allocated by
-<a class="link" href="PopplerPage.html#poppler-page-get-text-attributes" title="poppler_page_get_text_attributes ()"><code class="function">poppler_page_get_text_attributes()</code></a>.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="poppler-page-get-text-attributes"></a><h3>poppler_page_get_text_attributes ()</h3>
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="returnvalue">GList</span></a> *
+poppler_page_get_text_attributes (<em class="parameter"><code><a class="link" href="PopplerPage.html" title="PopplerPage"><span class="type">PopplerPage</span></a> *page</code></em>);</pre>
+<p>Obtains the attributes of the text as a <a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> of <a class="link" href="PopplerPage.html#PopplerTextAttributes" title="PopplerTextAttributes"><span class="type">PopplerTextAttributes</span></a>.
+This list must be freed with <a class="link" href="PopplerPage.html#poppler-page-free-text-attributes" title="poppler_page_free_text_attributes ()"><code class="function">poppler_page_free_text_attributes()</code></a> when done.</p>
+<p>Each list element is a <a class="link" href="PopplerPage.html#PopplerTextAttributes" title="PopplerTextAttributes"><span class="type">PopplerTextAttributes</span></a> struct where start_index and
+end_index indicates the range of text (as returned by <a class="link" href="PopplerPage.html#poppler-page-get-text" title="poppler_page_get_text ()"><code class="function">poppler_page_get_text()</code></a>)
+to which text attributes apply.</p>
+<p>See also <a class="link" href="PopplerPage.html#poppler-page-get-text-attributes-for-area" title="poppler_page_get_text_attributes_for_area ()"><code class="function">poppler_page_get_text_attributes_for_area()</code></a></p>
+<div class="refsect3">
+<a name="id-1.2.4.9.25.7"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
-<td><p><span class="term"><em class="parameter"><code>list</code></em> :</span></p></td>
-<td>A list of
-<a class="link" href="PopplerPage.html#PopplerTextAttributes" title="PopplerTextAttributes"><span class="type">PopplerTextAttributes</span></a>s. <span class="annotation">[<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> PopplerTextAttributes]</span>
-</td>
+<td class="parameter_name"><p>page</p></td>
+<td class="parameter_description"><p>A <a class="link" href="PopplerPage.html" title="PopplerPage"><span class="type">PopplerPage</span></a></p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.2.4.9.25.8"></a><h4>Returns</h4>
+<p> A <a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> of <a class="link" href="PopplerPage.html#PopplerTextAttributes" title="PopplerTextAttributes"><span class="type">PopplerTextAttributes</span></a>. </p>
+<p><span class="annotation">[<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> PopplerTextAttributes][<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
<p class="since">Since 0.18</p>
</div>
<hr>
<div class="refsect2">
-<a name="poppler-page-get-link-mapping"></a><h3>poppler_page_get_link_mapping ()</h3>
-<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="returnvalue">GList</span></a> * poppler_page_get_link_mapping (<em class="parameter"><code><a class="link" href="PopplerPage.html" title="PopplerPage"><span class="type">PopplerPage</span></a> *page</code></em>);</pre>
-<p>
-Returns a list of <a class="link" href="PopplerPage.html#PopplerLinkMapping" title="PopplerLinkMapping"><span class="type">PopplerLinkMapping</span></a> items that map from a
-location on <em class="parameter"><code>page</code></em> to a <a class="link" href="poppler-PopplerAction.html#PopplerAction" title="union PopplerAction"><span class="type">PopplerAction</span></a>. This list must be freed
-with <a class="link" href="PopplerPage.html#poppler-page-free-link-mapping" title="poppler_page_free_link_mapping ()"><code class="function">poppler_page_free_link_mapping()</code></a> when done.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="poppler-page-get-text-attributes-for-area"></a><h3>poppler_page_get_text_attributes_for_area ()</h3>
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="returnvalue">GList</span></a> *
+poppler_page_get_text_attributes_for_area
+ (<em class="parameter"><code><a class="link" href="PopplerPage.html" title="PopplerPage"><span class="type">PopplerPage</span></a> *page</code></em>,
+ <em class="parameter"><code><a class="link" href="PopplerPage.html#PopplerRectangle" title="PopplerRectangle"><span class="type">PopplerRectangle</span></a> *area</code></em>);</pre>
+<p>Obtains the attributes of the text in <em class="parameter"><code>area</code></em>
+ as a <a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> of <a class="link" href="PopplerPage.html#PopplerTextAttributes" title="PopplerTextAttributes"><span class="type">PopplerTextAttributes</span></a>.
+This list must be freed with <a class="link" href="PopplerPage.html#poppler-page-free-text-attributes" title="poppler_page_free_text_attributes ()"><code class="function">poppler_page_free_text_attributes()</code></a> when done.</p>
+<p>Each list element is a <a class="link" href="PopplerPage.html#PopplerTextAttributes" title="PopplerTextAttributes"><span class="type">PopplerTextAttributes</span></a> struct where start_index and
+end_index indicates the range of text (as returned by <a class="link" href="PopplerPage.html#poppler-page-get-text-for-area" title="poppler_page_get_text_for_area ()"><code class="function">poppler_page_get_text_for_area()</code></a>)
+to which text attributes apply.</p>
+<div class="refsect3">
+<a name="id-1.2.4.9.26.6"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><em class="parameter"><code>page</code></em> :</span></p></td>
-<td>A <a class="link" href="PopplerPage.html" title="PopplerPage"><span class="type">PopplerPage</span></a>
-</td>
+<td class="parameter_name"><p>page</p></td>
+<td class="parameter_description"><p>A <a class="link" href="PopplerPage.html" title="PopplerPage"><span class="type">PopplerPage</span></a></p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>A <a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> of <a class="link" href="PopplerPage.html#PopplerLinkMapping" title="PopplerLinkMapping"><span class="type">PopplerLinkMapping</span></a>. <span class="annotation">[<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> PopplerLinkMapping][<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
-</td>
+<td class="parameter_name"><p>area</p></td>
+<td class="parameter_description"><p>a <a class="link" href="PopplerPage.html#PopplerRectangle" title="PopplerRectangle"><span class="type">PopplerRectangle</span></a></p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="id-1.2.4.9.26.7"></a><h4>Returns</h4>
+<p> A <a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> of <a class="link" href="PopplerPage.html#PopplerTextAttributes" title="PopplerTextAttributes"><span class="type">PopplerTextAttributes</span></a>. </p>
+<p><span class="annotation">[<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> PopplerTextAttributes][<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+<p class="since">Since 0.26</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="poppler-page-free-text-attributes"></a><h3>poppler_page_free_text_attributes ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+poppler_page_free_text_attributes (<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> *list</code></em>);</pre>
+<p>Frees a list of <a class="link" href="PopplerPage.html#PopplerTextAttributes" title="PopplerTextAttributes"><span class="type">PopplerTextAttributes</span></a>s allocated by
+<a class="link" href="PopplerPage.html#poppler-page-get-text-attributes" title="poppler_page_get_text_attributes ()"><code class="function">poppler_page_get_text_attributes()</code></a>.</p>
+<div class="refsect3">
+<a name="id-1.2.4.9.27.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>list</p></td>
+<td class="parameter_description"><p> A list of
+<a class="link" href="PopplerPage.html#PopplerTextAttributes" title="PopplerTextAttributes"><span class="type">PopplerTextAttributes</span></a>s. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> PopplerTextAttributes]</span></td>
+</tr></tbody>
+</table></div>
+</div>
+<p class="since">Since 0.18</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="poppler-page-get-link-mapping"></a><h3>poppler_page_get_link_mapping ()</h3>
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="returnvalue">GList</span></a> *
+poppler_page_get_link_mapping (<em class="parameter"><code><a class="link" href="PopplerPage.html" title="PopplerPage"><span class="type">PopplerPage</span></a> *page</code></em>);</pre>
+<p>Returns a list of <a class="link" href="PopplerPage.html#PopplerLinkMapping" title="PopplerLinkMapping"><span class="type">PopplerLinkMapping</span></a> items that map from a
+location on <em class="parameter"><code>page</code></em>
+ to a <a class="link" href="poppler-PopplerAction.html#PopplerAction" title="union PopplerAction"><span class="type">PopplerAction</span></a>. This list must be freed
+with <a class="link" href="PopplerPage.html#poppler-page-free-link-mapping" title="poppler_page_free_link_mapping ()"><code class="function">poppler_page_free_link_mapping()</code></a> when done.</p>
+<div class="refsect3">
+<a name="id-1.2.4.9.28.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>page</p></td>
+<td class="parameter_description"><p>A <a class="link" href="PopplerPage.html" title="PopplerPage"><span class="type">PopplerPage</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.2.4.9.28.6"></a><h4>Returns</h4>
+<p> A <a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> of <a class="link" href="PopplerPage.html#PopplerLinkMapping" title="PopplerLinkMapping"><span class="type">PopplerLinkMapping</span></a>. </p>
+<p><span class="annotation">[<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> PopplerLinkMapping][<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
<hr>
<div class="refsect2">
-<a name="poppler-page-free-link-mapping"></a><h3>poppler_page_free_link_mapping ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span> poppler_page_free_link_mapping (<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> *list</code></em>);</pre>
-<p>
-Frees a list of <a class="link" href="PopplerPage.html#PopplerLinkMapping" title="PopplerLinkMapping"><span class="type">PopplerLinkMapping</span></a>s allocated by
-<a class="link" href="PopplerPage.html#poppler-page-get-link-mapping" title="poppler_page_get_link_mapping ()"><code class="function">poppler_page_get_link_mapping()</code></a>. It also frees the <a class="link" href="poppler-PopplerAction.html#PopplerAction" title="union PopplerAction"><span class="type">PopplerAction</span></a>s
+<a name="poppler-page-free-link-mapping"></a><h3>poppler_page_free_link_mapping ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+poppler_page_free_link_mapping (<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> *list</code></em>);</pre>
+<p>Frees a list of <a class="link" href="PopplerPage.html#PopplerLinkMapping" title="PopplerLinkMapping"><span class="type">PopplerLinkMapping</span></a>s allocated by
+<a class="link" href="PopplerPage.html#poppler-page-get-link-mapping" title="poppler_page_get_link_mapping ()"><code class="function">poppler_page_get_link_mapping()</code></a>. It also frees the <a class="link" href="poppler-PopplerAction.html#PopplerAction" title="union PopplerAction"><span class="type">PopplerAction</span></a>s
that each mapping contains, so if you want to keep them around, you need to
-copy them with <a class="link" href="poppler-PopplerAction.html#poppler-action-copy" title="poppler_action_copy ()"><code class="function">poppler_action_copy()</code></a>.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+copy them with <a class="link" href="poppler-PopplerAction.html#poppler-action-copy" title="poppler_action_copy ()"><code class="function">poppler_action_copy()</code></a>.</p>
+<div class="refsect3">
+<a name="id-1.2.4.9.29.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
-<td><p><span class="term"><em class="parameter"><code>list</code></em> :</span></p></td>
-<td>A list of
-<a class="link" href="PopplerPage.html#PopplerLinkMapping" title="PopplerLinkMapping"><span class="type">PopplerLinkMapping</span></a>s. <span class="annotation">[<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> PopplerLinkMapping]</span>
-</td>
+<td class="parameter_name"><p>list</p></td>
+<td class="parameter_description"><p> A list of
+<a class="link" href="PopplerPage.html#PopplerLinkMapping" title="PopplerLinkMapping"><span class="type">PopplerLinkMapping</span></a>s. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> PopplerLinkMapping]</span></td>
</tr></tbody>
</table></div>
</div>
+</div>
<hr>
<div class="refsect2">
-<a name="poppler-page-get-image-mapping"></a><h3>poppler_page_get_image_mapping ()</h3>
-<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="returnvalue">GList</span></a> * poppler_page_get_image_mapping (<em class="parameter"><code><a class="link" href="PopplerPage.html" title="PopplerPage"><span class="type">PopplerPage</span></a> *page</code></em>);</pre>
-<p>
-Returns a list of <a class="link" href="PopplerPage.html#PopplerImageMapping" title="PopplerImageMapping"><span class="type">PopplerImageMapping</span></a> items that map from a
-location on <em class="parameter"><code>page</code></em> to an image of the page. This list must be freed
-with <a class="link" href="PopplerPage.html#poppler-page-free-image-mapping" title="poppler_page_free_image_mapping ()"><code class="function">poppler_page_free_image_mapping()</code></a> when done.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="poppler-page-get-image-mapping"></a><h3>poppler_page_get_image_mapping ()</h3>
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="returnvalue">GList</span></a> *
+poppler_page_get_image_mapping (<em class="parameter"><code><a class="link" href="PopplerPage.html" title="PopplerPage"><span class="type">PopplerPage</span></a> *page</code></em>);</pre>
+<p>Returns a list of <a class="link" href="PopplerPage.html#PopplerImageMapping" title="PopplerImageMapping"><span class="type">PopplerImageMapping</span></a> items that map from a
+location on <em class="parameter"><code>page</code></em>
+ to an image of the page. This list must be freed
+with <a class="link" href="PopplerPage.html#poppler-page-free-image-mapping" title="poppler_page_free_image_mapping ()"><code class="function">poppler_page_free_image_mapping()</code></a> when done.</p>
+<div class="refsect3">
+<a name="id-1.2.4.9.30.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>page</code></em> :</span></p></td>
-<td>A <a class="link" href="PopplerPage.html" title="PopplerPage"><span class="type">PopplerPage</span></a>
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>A <a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> of <a class="link" href="PopplerPage.html#PopplerImageMapping" title="PopplerImageMapping"><span class="type">PopplerImageMapping</span></a>. <span class="annotation">[<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> PopplerImageMapping][<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
-</td>
-</tr>
-</tbody>
+<tbody><tr>
+<td class="parameter_name"><p>page</p></td>
+<td class="parameter_description"><p>A <a class="link" href="PopplerPage.html" title="PopplerPage"><span class="type">PopplerPage</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="id-1.2.4.9.30.6"></a><h4>Returns</h4>
+<p> A <a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> of <a class="link" href="PopplerPage.html#PopplerImageMapping" title="PopplerImageMapping"><span class="type">PopplerImageMapping</span></a>. </p>
+<p><span class="annotation">[<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> PopplerImageMapping][<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
<hr>
<div class="refsect2">
-<a name="poppler-page-get-image"></a><h3>poppler_page_get_image ()</h3>
-<pre class="programlisting"><a href="/usr/share/gtk-doc/html/cairo/cairo-cairo-surface-t.html#cairo-surface-t"><span class="returnvalue">cairo_surface_t</span></a> * poppler_page_get_image (<em class="parameter"><code><a class="link" href="PopplerPage.html" title="PopplerPage"><span class="type">PopplerPage</span></a> *page</code></em>,
- <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> image_id</code></em>);</pre>
-<p>
-Returns a cairo surface for the image of the <em class="parameter"><code>page</code></em>
+<a name="poppler-page-get-image"></a><h3>poppler_page_get_image ()</h3>
+<pre class="programlisting"><a href="/usr/share/gtk-doc/html/cairo/cairo-cairo-surface-t.html#cairo-surface-t"><span class="returnvalue">cairo_surface_t</span></a> *
+poppler_page_get_image (<em class="parameter"><code><a class="link" href="PopplerPage.html" title="PopplerPage"><span class="type">PopplerPage</span></a> *page</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> image_id</code></em>);</pre>
+<p>Returns a cairo surface for the image of the <em class="parameter"><code>page</code></em>
</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<div class="refsect3">
+<a name="id-1.2.4.9.31.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><em class="parameter"><code>page</code></em> :</span></p></td>
-<td>A <a class="link" href="PopplerPage.html" title="PopplerPage"><span class="type">PopplerPage</span></a>
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>image_id</code></em> :</span></p></td>
-<td>The image identifier</td>
+<td class="parameter_name"><p>page</p></td>
+<td class="parameter_description"><p>A <a class="link" href="PopplerPage.html" title="PopplerPage"><span class="type">PopplerPage</span></a></p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>A cairo surface for the image</td>
+<td class="parameter_name"><p>image_id</p></td>
+<td class="parameter_description"><p>The image identifier</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="id-1.2.4.9.31.6"></a><h4>Returns</h4>
+<p> A cairo surface for the image</p>
+<p></p>
+</div>
+</div>
<hr>
<div class="refsect2">
-<a name="poppler-page-free-image-mapping"></a><h3>poppler_page_free_image_mapping ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span> poppler_page_free_image_mapping (<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> *list</code></em>);</pre>
-<p>
-Frees a list of <a class="link" href="PopplerPage.html#PopplerImageMapping" title="PopplerImageMapping"><span class="type">PopplerImageMapping</span></a>s allocated by
-<a class="link" href="PopplerPage.html#poppler-page-get-image-mapping" title="poppler_page_get_image_mapping ()"><code class="function">poppler_page_get_image_mapping()</code></a>.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="poppler-page-free-image-mapping"></a><h3>poppler_page_free_image_mapping ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+poppler_page_free_image_mapping (<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> *list</code></em>);</pre>
+<p>Frees a list of <a class="link" href="PopplerPage.html#PopplerImageMapping" title="PopplerImageMapping"><span class="type">PopplerImageMapping</span></a>s allocated by
+<a class="link" href="PopplerPage.html#poppler-page-get-image-mapping" title="poppler_page_get_image_mapping ()"><code class="function">poppler_page_get_image_mapping()</code></a>.</p>
+<div class="refsect3">
+<a name="id-1.2.4.9.32.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
-<td><p><span class="term"><em class="parameter"><code>list</code></em> :</span></p></td>
-<td>A list of
-<a class="link" href="PopplerPage.html#PopplerImageMapping" title="PopplerImageMapping"><span class="type">PopplerImageMapping</span></a>s. <span class="annotation">[<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> PopplerImageMapping]</span>
-</td>
+<td class="parameter_name"><p>list</p></td>
+<td class="parameter_description"><p> A list of
+<a class="link" href="PopplerPage.html#PopplerImageMapping" title="PopplerImageMapping"><span class="type">PopplerImageMapping</span></a>s. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> PopplerImageMapping]</span></td>
</tr></tbody>
</table></div>
</div>
+</div>
<hr>
<div class="refsect2">
-<a name="poppler-page-get-form-field-mapping"></a><h3>poppler_page_get_form_field_mapping ()</h3>
-<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="returnvalue">GList</span></a> * poppler_page_get_form_field_mapping (<em class="parameter"><code><a class="link" href="PopplerPage.html" title="PopplerPage"><span class="type">PopplerPage</span></a> *page</code></em>);</pre>
-<p>
-Returns a list of <a class="link" href="PopplerPage.html#PopplerFormFieldMapping" title="PopplerFormFieldMapping"><span class="type">PopplerFormFieldMapping</span></a> items that map from a
-location on <em class="parameter"><code>page</code></em> to a form field. This list must be freed
-with <a class="link" href="PopplerPage.html#poppler-page-free-form-field-mapping" title="poppler_page_free_form_field_mapping ()"><code class="function">poppler_page_free_form_field_mapping()</code></a> when done.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="poppler-page-get-form-field-mapping"></a><h3>poppler_page_get_form_field_mapping ()</h3>
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="returnvalue">GList</span></a> *
+poppler_page_get_form_field_mapping (<em class="parameter"><code><a class="link" href="PopplerPage.html" title="PopplerPage"><span class="type">PopplerPage</span></a> *page</code></em>);</pre>
+<p>Returns a list of <a class="link" href="PopplerPage.html#PopplerFormFieldMapping" title="PopplerFormFieldMapping"><span class="type">PopplerFormFieldMapping</span></a> items that map from a
+location on <em class="parameter"><code>page</code></em>
+ to a form field. This list must be freed
+with <a class="link" href="PopplerPage.html#poppler-page-free-form-field-mapping" title="poppler_page_free_form_field_mapping ()"><code class="function">poppler_page_free_form_field_mapping()</code></a> when done.</p>
+<div class="refsect3">
+<a name="id-1.2.4.9.33.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>page</code></em> :</span></p></td>
-<td>A <a class="link" href="PopplerPage.html" title="PopplerPage"><span class="type">PopplerPage</span></a>
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>A <a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> of <a class="link" href="PopplerPage.html#PopplerFormFieldMapping" title="PopplerFormFieldMapping"><span class="type">PopplerFormFieldMapping</span></a>. <span class="annotation">[<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> PopplerFormFieldMapping][<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
-</td>
-</tr>
-</tbody>
+<tbody><tr>
+<td class="parameter_name"><p>page</p></td>
+<td class="parameter_description"><p>A <a class="link" href="PopplerPage.html" title="PopplerPage"><span class="type">PopplerPage</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="id-1.2.4.9.33.6"></a><h4>Returns</h4>
+<p> A <a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> of <a class="link" href="PopplerPage.html#PopplerFormFieldMapping" title="PopplerFormFieldMapping"><span class="type">PopplerFormFieldMapping</span></a>. </p>
+<p><span class="annotation">[<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> PopplerFormFieldMapping][<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
<hr>
<div class="refsect2">
-<a name="poppler-page-free-form-field-mapping"></a><h3>poppler_page_free_form_field_mapping ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span> poppler_page_free_form_field_mapping
- (<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> *list</code></em>);</pre>
-<p>
-Frees a list of <a class="link" href="PopplerPage.html#PopplerFormFieldMapping" title="PopplerFormFieldMapping"><span class="type">PopplerFormFieldMapping</span></a>s allocated by
-<a class="link" href="PopplerPage.html#poppler-page-get-form-field-mapping" title="poppler_page_get_form_field_mapping ()"><code class="function">poppler_page_get_form_field_mapping()</code></a>.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="poppler-page-free-form-field-mapping"></a><h3>poppler_page_free_form_field_mapping ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+poppler_page_free_form_field_mapping (<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> *list</code></em>);</pre>
+<p>Frees a list of <a class="link" href="PopplerPage.html#PopplerFormFieldMapping" title="PopplerFormFieldMapping"><span class="type">PopplerFormFieldMapping</span></a>s allocated by
+<a class="link" href="PopplerPage.html#poppler-page-get-form-field-mapping" title="poppler_page_get_form_field_mapping ()"><code class="function">poppler_page_get_form_field_mapping()</code></a>.</p>
+<div class="refsect3">
+<a name="id-1.2.4.9.34.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
-<td><p><span class="term"><em class="parameter"><code>list</code></em> :</span></p></td>
-<td>A list of
-<a class="link" href="PopplerPage.html#PopplerFormFieldMapping" title="PopplerFormFieldMapping"><span class="type">PopplerFormFieldMapping</span></a>s. <span class="annotation">[<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> PopplerFormFieldMapping]</span>
-</td>
+<td class="parameter_name"><p>list</p></td>
+<td class="parameter_description"><p> A list of
+<a class="link" href="PopplerPage.html#PopplerFormFieldMapping" title="PopplerFormFieldMapping"><span class="type">PopplerFormFieldMapping</span></a>s. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> PopplerFormFieldMapping]</span></td>
</tr></tbody>
</table></div>
</div>
+</div>
<hr>
<div class="refsect2">
-<a name="poppler-page-get-annot-mapping"></a><h3>poppler_page_get_annot_mapping ()</h3>
-<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="returnvalue">GList</span></a> * poppler_page_get_annot_mapping (<em class="parameter"><code><a class="link" href="PopplerPage.html" title="PopplerPage"><span class="type">PopplerPage</span></a> *page</code></em>);</pre>
-<p>
-Returns a list of <a class="link" href="PopplerPage.html#PopplerAnnotMapping" title="PopplerAnnotMapping"><span class="type">PopplerAnnotMapping</span></a> items that map from a location on
-<em class="parameter"><code>page</code></em> to a <a class="link" href="PopplerAnnot.html" title="PopplerAnnot"><span class="type">PopplerAnnot</span></a>. This list must be freed with
-<a class="link" href="PopplerPage.html#poppler-page-free-annot-mapping" title="poppler_page_free_annot_mapping ()"><code class="function">poppler_page_free_annot_mapping()</code></a> when done.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="poppler-page-get-annot-mapping"></a><h3>poppler_page_get_annot_mapping ()</h3>
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="returnvalue">GList</span></a> *
+poppler_page_get_annot_mapping (<em class="parameter"><code><a class="link" href="PopplerPage.html" title="PopplerPage"><span class="type">PopplerPage</span></a> *page</code></em>);</pre>
+<p>Returns a list of <a class="link" href="PopplerPage.html#PopplerAnnotMapping" title="PopplerAnnotMapping"><span class="type">PopplerAnnotMapping</span></a> items that map from a location on
+<em class="parameter"><code>page</code></em>
+ to a <a class="link" href="PopplerAnnot.html" title="PopplerAnnot"><span class="type">PopplerAnnot</span></a>. This list must be freed with
+<a class="link" href="PopplerPage.html#poppler-page-free-annot-mapping" title="poppler_page_free_annot_mapping ()"><code class="function">poppler_page_free_annot_mapping()</code></a> when done.</p>
+<div class="refsect3">
+<a name="id-1.2.4.9.35.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>page</code></em> :</span></p></td>
-<td>A <a class="link" href="PopplerPage.html" title="PopplerPage"><span class="type">PopplerPage</span></a>
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>A <a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> of <a class="link" href="PopplerPage.html#PopplerAnnotMapping" title="PopplerAnnotMapping"><span class="type">PopplerAnnotMapping</span></a>. <span class="annotation">[<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> PopplerAnnotMapping][<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
-</td>
-</tr>
-</tbody>
+<tbody><tr>
+<td class="parameter_name"><p>page</p></td>
+<td class="parameter_description"><p>A <a class="link" href="PopplerPage.html" title="PopplerPage"><span class="type">PopplerPage</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="id-1.2.4.9.35.6"></a><h4>Returns</h4>
+<p> A <a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> of <a class="link" href="PopplerPage.html#PopplerAnnotMapping" title="PopplerAnnotMapping"><span class="type">PopplerAnnotMapping</span></a>. </p>
+<p><span class="annotation">[<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> PopplerAnnotMapping][<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
<hr>
<div class="refsect2">
-<a name="poppler-page-free-annot-mapping"></a><h3>poppler_page_free_annot_mapping ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span> poppler_page_free_annot_mapping (<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> *list</code></em>);</pre>
-<p>
-Frees a list of <a class="link" href="PopplerPage.html#PopplerAnnotMapping" title="PopplerAnnotMapping"><span class="type">PopplerAnnotMapping</span></a>s allocated by
-<a class="link" href="PopplerPage.html#poppler-page-get-annot-mapping" title="poppler_page_get_annot_mapping ()"><code class="function">poppler_page_get_annot_mapping()</code></a>. It also unreferences the <a class="link" href="PopplerAnnot.html" title="PopplerAnnot"><span class="type">PopplerAnnot</span></a>s
+<a name="poppler-page-free-annot-mapping"></a><h3>poppler_page_free_annot_mapping ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+poppler_page_free_annot_mapping (<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> *list</code></em>);</pre>
+<p>Frees a list of <a class="link" href="PopplerPage.html#PopplerAnnotMapping" title="PopplerAnnotMapping"><span class="type">PopplerAnnotMapping</span></a>s allocated by
+<a class="link" href="PopplerPage.html#poppler-page-get-annot-mapping" title="poppler_page_get_annot_mapping ()"><code class="function">poppler_page_get_annot_mapping()</code></a>. It also unreferences the <a class="link" href="PopplerAnnot.html" title="PopplerAnnot"><span class="type">PopplerAnnot</span></a>s
that each mapping contains, so if you want to keep them around, you need to
-reference them with <a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#g-object-ref"><code class="function">g_object_ref()</code></a>.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+reference them with <a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#g-object-ref"><code class="function">g_object_ref()</code></a>.</p>
+<div class="refsect3">
+<a name="id-1.2.4.9.36.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
-<td><p><span class="term"><em class="parameter"><code>list</code></em> :</span></p></td>
-<td>A list of
-<a class="link" href="PopplerPage.html#PopplerAnnotMapping" title="PopplerAnnotMapping"><span class="type">PopplerAnnotMapping</span></a>s. <span class="annotation">[<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> PopplerAnnotMapping]</span>
-</td>
+<td class="parameter_name"><p>list</p></td>
+<td class="parameter_description"><p> A list of
+<a class="link" href="PopplerPage.html#PopplerAnnotMapping" title="PopplerAnnotMapping"><span class="type">PopplerAnnotMapping</span></a>s. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> PopplerAnnotMapping]</span></td>
</tr></tbody>
</table></div>
</div>
+</div>
<hr>
<div class="refsect2">
-<a name="poppler-page-add-annot"></a><h3>poppler_page_add_annot ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span> poppler_page_add_annot (<em class="parameter"><code><a class="link" href="PopplerPage.html" title="PopplerPage"><span class="type">PopplerPage</span></a> *page</code></em>,
- <em class="parameter"><code><a class="link" href="PopplerAnnot.html" title="PopplerAnnot"><span class="type">PopplerAnnot</span></a> *annot</code></em>);</pre>
-<p>
-Adds annotation <em class="parameter"><code>annot</code></em> to <em class="parameter"><code>page</code></em>.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="poppler-page-add-annot"></a><h3>poppler_page_add_annot ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+poppler_page_add_annot (<em class="parameter"><code><a class="link" href="PopplerPage.html" title="PopplerPage"><span class="type">PopplerPage</span></a> *page</code></em>,
+ <em class="parameter"><code><a class="link" href="PopplerAnnot.html" title="PopplerAnnot"><span class="type">PopplerAnnot</span></a> *annot</code></em>);</pre>
+<p>Adds annotation <em class="parameter"><code>annot</code></em>
+ to <em class="parameter"><code>page</code></em>
+.</p>
+<div class="refsect3">
+<a name="id-1.2.4.9.37.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><em class="parameter"><code>page</code></em> :</span></p></td>
-<td>a <a class="link" href="PopplerPage.html" title="PopplerPage"><span class="type">PopplerPage</span></a>
-</td>
+<td class="parameter_name"><p>page</p></td>
+<td class="parameter_description"><p>a <a class="link" href="PopplerPage.html" title="PopplerPage"><span class="type">PopplerPage</span></a></p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><em class="parameter"><code>annot</code></em> :</span></p></td>
-<td>a <a class="link" href="PopplerAnnot.html" title="PopplerAnnot"><span class="type">PopplerAnnot</span></a> to add</td>
+<td class="parameter_name"><p>annot</p></td>
+<td class="parameter_description"><p>a <a class="link" href="PopplerAnnot.html" title="PopplerAnnot"><span class="type">PopplerAnnot</span></a> to add</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
+</div>
<p class="since">Since 0.16</p>
</div>
<hr>
<div class="refsect2">
-<a name="poppler-page-remove-annot"></a><h3>poppler_page_remove_annot ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span> poppler_page_remove_annot (<em class="parameter"><code><a class="link" href="PopplerPage.html" title="PopplerPage"><span class="type">PopplerPage</span></a> *page</code></em>,
- <em class="parameter"><code><a class="link" href="PopplerAnnot.html" title="PopplerAnnot"><span class="type">PopplerAnnot</span></a> *annot</code></em>);</pre>
-<p>
-Removes annotation <em class="parameter"><code>annot</code></em> from <em class="parameter"><code>page</code></em>
+<a name="poppler-page-remove-annot"></a><h3>poppler_page_remove_annot ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+poppler_page_remove_annot (<em class="parameter"><code><a class="link" href="PopplerPage.html" title="PopplerPage"><span class="type">PopplerPage</span></a> *page</code></em>,
+ <em class="parameter"><code><a class="link" href="PopplerAnnot.html" title="PopplerAnnot"><span class="type">PopplerAnnot</span></a> *annot</code></em>);</pre>
+<p>Removes annotation <em class="parameter"><code>annot</code></em>
+ from <em class="parameter"><code>page</code></em>
</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<div class="refsect3">
+<a name="id-1.2.4.9.38.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><em class="parameter"><code>page</code></em> :</span></p></td>
-<td>a <a class="link" href="PopplerPage.html" title="PopplerPage"><span class="type">PopplerPage</span></a>
-</td>
+<td class="parameter_name"><p>page</p></td>
+<td class="parameter_description"><p>a <a class="link" href="PopplerPage.html" title="PopplerPage"><span class="type">PopplerPage</span></a></p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><em class="parameter"><code>annot</code></em> :</span></p></td>
-<td>a <a class="link" href="PopplerAnnot.html" title="PopplerAnnot"><span class="type">PopplerAnnot</span></a> to remove</td>
+<td class="parameter_name"><p>annot</p></td>
+<td class="parameter_description"><p>a <a class="link" href="PopplerAnnot.html" title="PopplerAnnot"><span class="type">PopplerAnnot</span></a> to remove</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
+</div>
<p class="since">Since 0.22</p>
</div>
<hr>
<div class="refsect2">
-<a name="poppler-rectangle-new"></a><h3>poppler_rectangle_new ()</h3>
-<pre class="programlisting"><a class="link" href="PopplerPage.html#PopplerRectangle" title="PopplerRectangle"><span class="returnvalue">PopplerRectangle</span></a> * poppler_rectangle_new (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
-<p>
-Creates a new <a class="link" href="PopplerPage.html#PopplerRectangle" title="PopplerRectangle"><span class="type">PopplerRectangle</span></a>
+<a name="poppler-rectangle-new"></a><h3>poppler_rectangle_new ()</h3>
+<pre class="programlisting"><a class="link" href="PopplerPage.html#PopplerRectangle" title="PopplerRectangle"><span class="returnvalue">PopplerRectangle</span></a> *
+poppler_rectangle_new (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
+<p>Creates a new <a class="link" href="PopplerPage.html#PopplerRectangle" title="PopplerRectangle"><span class="type">PopplerRectangle</span></a></p>
+<div class="refsect3">
+<a name="id-1.2.4.9.39.5"></a><h4>Returns</h4>
+<p> a new <a class="link" href="PopplerPage.html#PopplerRectangle" title="PopplerRectangle"><span class="type">PopplerRectangle</span></a>, use <a class="link" href="PopplerPage.html#poppler-rectangle-free" title="poppler_rectangle_free ()"><code class="function">poppler_rectangle_free()</code></a> to free it</p>
+<p></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="poppler-rectangle-copy"></a><h3>poppler_rectangle_copy ()</h3>
+<pre class="programlisting"><a class="link" href="PopplerPage.html#PopplerRectangle" title="PopplerRectangle"><span class="returnvalue">PopplerRectangle</span></a> *
+poppler_rectangle_copy (<em class="parameter"><code><a class="link" href="PopplerPage.html#PopplerRectangle" title="PopplerRectangle"><span class="type">PopplerRectangle</span></a> *rectangle</code></em>);</pre>
+<p>Creates a copy of <em class="parameter"><code>rectangle</code></em>
</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<div class="refsect3">
+<a name="id-1.2.4.9.40.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>a new <a class="link" href="PopplerPage.html#PopplerRectangle" title="PopplerRectangle"><span class="type">PopplerRectangle</span></a>, use <a class="link" href="PopplerPage.html#poppler-rectangle-free" title="poppler_rectangle_free ()"><code class="function">poppler_rectangle_free()</code></a> to free it</td>
+<td class="parameter_name"><p>rectangle</p></td>
+<td class="parameter_description"><p>a <a class="link" href="PopplerPage.html#PopplerRectangle" title="PopplerRectangle"><span class="type">PopplerRectangle</span></a> to copy</p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="id-1.2.4.9.40.6"></a><h4>Returns</h4>
+<p> a new allocated copy of <em class="parameter"><code>rectangle</code></em>
+</p>
+<p></p>
+</div>
+</div>
<hr>
<div class="refsect2">
-<a name="poppler-rectangle-copy"></a><h3>poppler_rectangle_copy ()</h3>
-<pre class="programlisting"><a class="link" href="PopplerPage.html#PopplerRectangle" title="PopplerRectangle"><span class="returnvalue">PopplerRectangle</span></a> * poppler_rectangle_copy (<em class="parameter"><code><a class="link" href="PopplerPage.html#PopplerRectangle" title="PopplerRectangle"><span class="type">PopplerRectangle</span></a> *rectangle</code></em>);</pre>
-<p>
-Creates a copy of <em class="parameter"><code>rectangle</code></em>
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="poppler-rectangle-free"></a><h3>poppler_rectangle_free ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+poppler_rectangle_free (<em class="parameter"><code><a class="link" href="PopplerPage.html#PopplerRectangle" title="PopplerRectangle"><span class="type">PopplerRectangle</span></a> *rectangle</code></em>);</pre>
+<p>Frees the given <a class="link" href="PopplerPage.html#PopplerRectangle" title="PopplerRectangle"><span class="type">PopplerRectangle</span></a></p>
+<div class="refsect3">
+<a name="id-1.2.4.9.41.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>rectangle</code></em> :</span></p></td>
-<td>a <a class="link" href="PopplerPage.html#PopplerRectangle" title="PopplerRectangle"><span class="type">PopplerRectangle</span></a> to copy</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>a new allocated copy of <em class="parameter"><code>rectangle</code></em>
-</td>
-</tr>
-</tbody>
+<tbody><tr>
+<td class="parameter_name"><p>rectangle</p></td>
+<td class="parameter_description"><p>a <a class="link" href="PopplerPage.html#PopplerRectangle" title="PopplerRectangle"><span class="type">PopplerRectangle</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
</table></div>
</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="poppler-page-transition-new"></a><h3>poppler_page_transition_new ()</h3>
+<pre class="programlisting"><a class="link" href="PopplerPage.html#PopplerPageTransition" title="PopplerPageTransition"><span class="returnvalue">PopplerPageTransition</span></a> *
+poppler_page_transition_new (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
+<p>Creates a new <a class="link" href="PopplerPage.html#PopplerPageTransition" title="PopplerPageTransition"><span class="type">PopplerPageTransition</span></a></p>
+<div class="refsect3">
+<a name="id-1.2.4.9.42.5"></a><h4>Returns</h4>
+<p> a new <a class="link" href="PopplerPage.html#PopplerPageTransition" title="PopplerPageTransition"><span class="type">PopplerPageTransition</span></a>, use <a class="link" href="PopplerPage.html#poppler-page-transition-free" title="poppler_page_transition_free ()"><code class="function">poppler_page_transition_free()</code></a> to free it</p>
+<p></p>
+</div>
+</div>
<hr>
<div class="refsect2">
-<a name="poppler-rectangle-free"></a><h3>poppler_rectangle_free ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span> poppler_rectangle_free (<em class="parameter"><code><a class="link" href="PopplerPage.html#PopplerRectangle" title="PopplerRectangle"><span class="type">PopplerRectangle</span></a> *rectangle</code></em>);</pre>
-<p>
-Frees the given <a class="link" href="PopplerPage.html#PopplerRectangle" title="PopplerRectangle"><span class="type">PopplerRectangle</span></a>
+<a name="poppler-page-transition-copy"></a><h3>poppler_page_transition_copy ()</h3>
+<pre class="programlisting"><a class="link" href="PopplerPage.html#PopplerPageTransition" title="PopplerPageTransition"><span class="returnvalue">PopplerPageTransition</span></a> *
+poppler_page_transition_copy (<em class="parameter"><code><a class="link" href="PopplerPage.html#PopplerPageTransition" title="PopplerPageTransition"><span class="type">PopplerPageTransition</span></a> *transition</code></em>);</pre>
+<p>Creates a copy of <em class="parameter"><code>transition</code></em>
</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<div class="refsect3">
+<a name="id-1.2.4.9.43.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
-<td><p><span class="term"><em class="parameter"><code>rectangle</code></em> :</span></p></td>
-<td>a <a class="link" href="PopplerPage.html#PopplerRectangle" title="PopplerRectangle"><span class="type">PopplerRectangle</span></a>
-</td>
+<td class="parameter_name"><p>transition</p></td>
+<td class="parameter_description"><p>a <a class="link" href="PopplerPage.html#PopplerPageTransition" title="PopplerPageTransition"><span class="type">PopplerPageTransition</span></a> to copy</p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="id-1.2.4.9.43.6"></a><h4>Returns</h4>
+<p> a new allocated copy of <em class="parameter"><code>transition</code></em>
+</p>
+<p></p>
+</div>
+</div>
<hr>
<div class="refsect2">
-<a name="poppler-page-transition-new"></a><h3>poppler_page_transition_new ()</h3>
-<pre class="programlisting"><a class="link" href="PopplerPage.html#PopplerPageTransition" title="PopplerPageTransition"><span class="returnvalue">PopplerPageTransition</span></a> * poppler_page_transition_new (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
-<p>
-Creates a new <a class="link" href="PopplerPage.html#PopplerPageTransition" title="PopplerPageTransition"><span class="type">PopplerPageTransition</span></a>
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="poppler-page-transition-free"></a><h3>poppler_page_transition_free ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+poppler_page_transition_free (<em class="parameter"><code><a class="link" href="PopplerPage.html#PopplerPageTransition" title="PopplerPageTransition"><span class="type">PopplerPageTransition</span></a> *transition</code></em>);</pre>
+<p>Frees the given <a class="link" href="PopplerPage.html#PopplerPageTransition" title="PopplerPageTransition"><span class="type">PopplerPageTransition</span></a></p>
+<div class="refsect3">
+<a name="id-1.2.4.9.44.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>a new <a class="link" href="PopplerPage.html#PopplerPageTransition" title="PopplerPageTransition"><span class="type">PopplerPageTransition</span></a>, use <a class="link" href="PopplerPage.html#poppler-page-transition-free" title="poppler_page_transition_free ()"><code class="function">poppler_page_transition_free()</code></a> to free it</td>
+<td class="parameter_name"><p>transition</p></td>
+<td class="parameter_description"><p>a <a class="link" href="PopplerPage.html#PopplerPageTransition" title="PopplerPageTransition"><span class="type">PopplerPageTransition</span></a></p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
+</div>
<hr>
<div class="refsect2">
-<a name="poppler-page-transition-copy"></a><h3>poppler_page_transition_copy ()</h3>
-<pre class="programlisting"><a class="link" href="PopplerPage.html#PopplerPageTransition" title="PopplerPageTransition"><span class="returnvalue">PopplerPageTransition</span></a> * poppler_page_transition_copy (<em class="parameter"><code><a class="link" href="PopplerPage.html#PopplerPageTransition" title="PopplerPageTransition"><span class="type">PopplerPageTransition</span></a> *transition</code></em>);</pre>
-<p>
-Creates a copy of <em class="parameter"><code>transition</code></em>
+<a name="poppler-link-mapping-new"></a><h3>poppler_link_mapping_new ()</h3>
+<pre class="programlisting"><a class="link" href="PopplerPage.html#PopplerLinkMapping" title="PopplerLinkMapping"><span class="returnvalue">PopplerLinkMapping</span></a> *
+poppler_link_mapping_new (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
+<p>Creates a new <a class="link" href="PopplerPage.html#PopplerLinkMapping" title="PopplerLinkMapping"><span class="type">PopplerLinkMapping</span></a></p>
+<div class="refsect3">
+<a name="id-1.2.4.9.45.5"></a><h4>Returns</h4>
+<p> a new <a class="link" href="PopplerPage.html#PopplerLinkMapping" title="PopplerLinkMapping"><span class="type">PopplerLinkMapping</span></a>, use <a class="link" href="PopplerPage.html#poppler-link-mapping-free" title="poppler_link_mapping_free ()"><code class="function">poppler_link_mapping_free()</code></a> to free it</p>
+<p></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="poppler-link-mapping-copy"></a><h3>poppler_link_mapping_copy ()</h3>
+<pre class="programlisting"><a class="link" href="PopplerPage.html#PopplerLinkMapping" title="PopplerLinkMapping"><span class="returnvalue">PopplerLinkMapping</span></a> *
+poppler_link_mapping_copy (<em class="parameter"><code><a class="link" href="PopplerPage.html#PopplerLinkMapping" title="PopplerLinkMapping"><span class="type">PopplerLinkMapping</span></a> *mapping</code></em>);</pre>
+<p>Creates a copy of <em class="parameter"><code>mapping</code></em>
</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<div class="refsect3">
+<a name="id-1.2.4.9.46.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>transition</code></em> :</span></p></td>
-<td>a <a class="link" href="PopplerPage.html#PopplerPageTransition" title="PopplerPageTransition"><span class="type">PopplerPageTransition</span></a> to copy</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>a new allocated copy of <em class="parameter"><code>transition</code></em>
-</td>
-</tr>
-</tbody>
+<tbody><tr>
+<td class="parameter_name"><p>mapping</p></td>
+<td class="parameter_description"><p>a <a class="link" href="PopplerPage.html#PopplerLinkMapping" title="PopplerLinkMapping"><span class="type">PopplerLinkMapping</span></a> to copy</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="id-1.2.4.9.46.6"></a><h4>Returns</h4>
+<p> a new allocated copy of <em class="parameter"><code>mapping</code></em>
+</p>
+<p></p>
+</div>
+</div>
<hr>
<div class="refsect2">
-<a name="poppler-page-transition-free"></a><h3>poppler_page_transition_free ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span> poppler_page_transition_free (<em class="parameter"><code><a class="link" href="PopplerPage.html#PopplerPageTransition" title="PopplerPageTransition"><span class="type">PopplerPageTransition</span></a> *transition</code></em>);</pre>
-<p>
-Frees the given <a class="link" href="PopplerPage.html#PopplerPageTransition" title="PopplerPageTransition"><span class="type">PopplerPageTransition</span></a>
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="poppler-link-mapping-free"></a><h3>poppler_link_mapping_free ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+poppler_link_mapping_free (<em class="parameter"><code><a class="link" href="PopplerPage.html#PopplerLinkMapping" title="PopplerLinkMapping"><span class="type">PopplerLinkMapping</span></a> *mapping</code></em>);</pre>
+<p>Frees the given <a class="link" href="PopplerPage.html#PopplerLinkMapping" title="PopplerLinkMapping"><span class="type">PopplerLinkMapping</span></a></p>
+<div class="refsect3">
+<a name="id-1.2.4.9.47.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
-<td><p><span class="term"><em class="parameter"><code>transition</code></em> :</span></p></td>
-<td>a <a class="link" href="PopplerPage.html#PopplerPageTransition" title="PopplerPageTransition"><span class="type">PopplerPageTransition</span></a>
-</td>
+<td class="parameter_name"><p>mapping</p></td>
+<td class="parameter_description"><p>a <a class="link" href="PopplerPage.html#PopplerLinkMapping" title="PopplerLinkMapping"><span class="type">PopplerLinkMapping</span></a></p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="poppler-image-mapping-new"></a><h3>poppler_image_mapping_new ()</h3>
+<pre class="programlisting"><a class="link" href="PopplerPage.html#PopplerImageMapping" title="PopplerImageMapping"><span class="returnvalue">PopplerImageMapping</span></a> *
+poppler_image_mapping_new (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
+<p>Creates a new <a class="link" href="PopplerPage.html#PopplerImageMapping" title="PopplerImageMapping"><span class="type">PopplerImageMapping</span></a></p>
+<div class="refsect3">
+<a name="id-1.2.4.9.48.5"></a><h4>Returns</h4>
+<p> a new <a class="link" href="PopplerPage.html#PopplerImageMapping" title="PopplerImageMapping"><span class="type">PopplerImageMapping</span></a>, use <a class="link" href="PopplerPage.html#poppler-image-mapping-free" title="poppler_image_mapping_free ()"><code class="function">poppler_image_mapping_free()</code></a> to free it</p>
+<p></p>
+</div>
+</div>
<hr>
<div class="refsect2">
-<a name="poppler-link-mapping-new"></a><h3>poppler_link_mapping_new ()</h3>
-<pre class="programlisting"><a class="link" href="PopplerPage.html#PopplerLinkMapping" title="PopplerLinkMapping"><span class="returnvalue">PopplerLinkMapping</span></a> * poppler_link_mapping_new (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
-<p>
-Creates a new <a class="link" href="PopplerPage.html#PopplerLinkMapping" title="PopplerLinkMapping"><span class="type">PopplerLinkMapping</span></a>
+<a name="poppler-image-mapping-copy"></a><h3>poppler_image_mapping_copy ()</h3>
+<pre class="programlisting"><a class="link" href="PopplerPage.html#PopplerImageMapping" title="PopplerImageMapping"><span class="returnvalue">PopplerImageMapping</span></a> *
+poppler_image_mapping_copy (<em class="parameter"><code><a class="link" href="PopplerPage.html#PopplerImageMapping" title="PopplerImageMapping"><span class="type">PopplerImageMapping</span></a> *mapping</code></em>);</pre>
+<p>Creates a copy of <em class="parameter"><code>mapping</code></em>
</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<div class="refsect3">
+<a name="id-1.2.4.9.49.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>a new <a class="link" href="PopplerPage.html#PopplerLinkMapping" title="PopplerLinkMapping"><span class="type">PopplerLinkMapping</span></a>, use <a class="link" href="PopplerPage.html#poppler-link-mapping-free" title="poppler_link_mapping_free ()"><code class="function">poppler_link_mapping_free()</code></a> to free it</td>
+<td class="parameter_name"><p>mapping</p></td>
+<td class="parameter_description"><p>a <a class="link" href="PopplerPage.html#PopplerImageMapping" title="PopplerImageMapping"><span class="type">PopplerImageMapping</span></a> to copy</p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="id-1.2.4.9.49.6"></a><h4>Returns</h4>
+<p> a new allocated copy of <em class="parameter"><code>mapping</code></em>
+</p>
+<p></p>
+</div>
+</div>
<hr>
<div class="refsect2">
-<a name="poppler-link-mapping-copy"></a><h3>poppler_link_mapping_copy ()</h3>
-<pre class="programlisting"><a class="link" href="PopplerPage.html#PopplerLinkMapping" title="PopplerLinkMapping"><span class="returnvalue">PopplerLinkMapping</span></a> * poppler_link_mapping_copy (<em class="parameter"><code><a class="link" href="PopplerPage.html#PopplerLinkMapping" title="PopplerLinkMapping"><span class="type">PopplerLinkMapping</span></a> *mapping</code></em>);</pre>
-<p>
-Creates a copy of <em class="parameter"><code>mapping</code></em>
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="poppler-image-mapping-free"></a><h3>poppler_image_mapping_free ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+poppler_image_mapping_free (<em class="parameter"><code><a class="link" href="PopplerPage.html#PopplerImageMapping" title="PopplerImageMapping"><span class="type">PopplerImageMapping</span></a> *mapping</code></em>);</pre>
+<p>Frees the given <a class="link" href="PopplerPage.html#PopplerImageMapping" title="PopplerImageMapping"><span class="type">PopplerImageMapping</span></a></p>
+<div class="refsect3">
+<a name="id-1.2.4.9.50.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>mapping</code></em> :</span></p></td>
-<td>a <a class="link" href="PopplerPage.html#PopplerLinkMapping" title="PopplerLinkMapping"><span class="type">PopplerLinkMapping</span></a> to copy</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>a new allocated copy of <em class="parameter"><code>mapping</code></em>
-</td>
-</tr>
-</tbody>
+<tbody><tr>
+<td class="parameter_name"><p>mapping</p></td>
+<td class="parameter_description"><p>a <a class="link" href="PopplerPage.html#PopplerImageMapping" title="PopplerImageMapping"><span class="type">PopplerImageMapping</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
</table></div>
</div>
+</div>
<hr>
<div class="refsect2">
-<a name="poppler-link-mapping-free"></a><h3>poppler_link_mapping_free ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span> poppler_link_mapping_free (<em class="parameter"><code><a class="link" href="PopplerPage.html#PopplerLinkMapping" title="PopplerLinkMapping"><span class="type">PopplerLinkMapping</span></a> *mapping</code></em>);</pre>
-<p>
-Frees the given <a class="link" href="PopplerPage.html#PopplerLinkMapping" title="PopplerLinkMapping"><span class="type">PopplerLinkMapping</span></a>
+<a name="poppler-form-field-mapping-new"></a><h3>poppler_form_field_mapping_new ()</h3>
+<pre class="programlisting"><a class="link" href="PopplerPage.html#PopplerFormFieldMapping" title="PopplerFormFieldMapping"><span class="returnvalue">PopplerFormFieldMapping</span></a> *
+poppler_form_field_mapping_new (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
+<p>Creates a new <a class="link" href="PopplerPage.html#PopplerFormFieldMapping" title="PopplerFormFieldMapping"><span class="type">PopplerFormFieldMapping</span></a></p>
+<div class="refsect3">
+<a name="id-1.2.4.9.51.5"></a><h4>Returns</h4>
+<p> a new <a class="link" href="PopplerPage.html#PopplerFormFieldMapping" title="PopplerFormFieldMapping"><span class="type">PopplerFormFieldMapping</span></a>, use <a class="link" href="PopplerPage.html#poppler-form-field-mapping-free" title="poppler_form_field_mapping_free ()"><code class="function">poppler_form_field_mapping_free()</code></a> to free it</p>
+<p></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="poppler-form-field-mapping-copy"></a><h3>poppler_form_field_mapping_copy ()</h3>
+<pre class="programlisting"><a class="link" href="PopplerPage.html#PopplerFormFieldMapping" title="PopplerFormFieldMapping"><span class="returnvalue">PopplerFormFieldMapping</span></a> *
+poppler_form_field_mapping_copy (<em class="parameter"><code><a class="link" href="PopplerPage.html#PopplerFormFieldMapping" title="PopplerFormFieldMapping"><span class="type">PopplerFormFieldMapping</span></a> *mapping</code></em>);</pre>
+<p>Creates a copy of <em class="parameter"><code>mapping</code></em>
</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<div class="refsect3">
+<a name="id-1.2.4.9.52.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
-<td><p><span class="term"><em class="parameter"><code>mapping</code></em> :</span></p></td>
-<td>a <a class="link" href="PopplerPage.html#PopplerLinkMapping" title="PopplerLinkMapping"><span class="type">PopplerLinkMapping</span></a>
-</td>
+<td class="parameter_name"><p>mapping</p></td>
+<td class="parameter_description"><p>a <a class="link" href="PopplerPage.html#PopplerFormFieldMapping" title="PopplerFormFieldMapping"><span class="type">PopplerFormFieldMapping</span></a> to copy</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.2.4.9.52.6"></a><h4>Returns</h4>
+<p> a new allocated copy of <em class="parameter"><code>mapping</code></em>
+</p>
+<p></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="poppler-form-field-mapping-free"></a><h3>poppler_form_field_mapping_free ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+poppler_form_field_mapping_free (<em class="parameter"><code><a class="link" href="PopplerPage.html#PopplerFormFieldMapping" title="PopplerFormFieldMapping"><span class="type">PopplerFormFieldMapping</span></a> *mapping</code></em>);</pre>
+<p>Frees the given <a class="link" href="PopplerPage.html#PopplerFormFieldMapping" title="PopplerFormFieldMapping"><span class="type">PopplerFormFieldMapping</span></a></p>
+<div class="refsect3">
+<a name="id-1.2.4.9.53.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>mapping</p></td>
+<td class="parameter_description"><p>a <a class="link" href="PopplerPage.html#PopplerFormFieldMapping" title="PopplerFormFieldMapping"><span class="type">PopplerFormFieldMapping</span></a></p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
+</div>
<hr>
<div class="refsect2">
-<a name="poppler-image-mapping-new"></a><h3>poppler_image_mapping_new ()</h3>
-<pre class="programlisting"><a class="link" href="PopplerPage.html#PopplerImageMapping" title="PopplerImageMapping"><span class="returnvalue">PopplerImageMapping</span></a> * poppler_image_mapping_new (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
-<p>
-Creates a new <a class="link" href="PopplerPage.html#PopplerImageMapping" title="PopplerImageMapping"><span class="type">PopplerImageMapping</span></a>
+<a name="poppler-annot-mapping-new"></a><h3>poppler_annot_mapping_new ()</h3>
+<pre class="programlisting"><a class="link" href="PopplerPage.html#PopplerAnnotMapping" title="PopplerAnnotMapping"><span class="returnvalue">PopplerAnnotMapping</span></a> *
+poppler_annot_mapping_new (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
+<p>Creates a new <a class="link" href="PopplerPage.html#PopplerAnnotMapping" title="PopplerAnnotMapping"><span class="type">PopplerAnnotMapping</span></a></p>
+<div class="refsect3">
+<a name="id-1.2.4.9.54.5"></a><h4>Returns</h4>
+<p> a new <a class="link" href="PopplerPage.html#PopplerAnnotMapping" title="PopplerAnnotMapping"><span class="type">PopplerAnnotMapping</span></a>, use <a class="link" href="PopplerPage.html#poppler-annot-mapping-free" title="poppler_annot_mapping_free ()"><code class="function">poppler_annot_mapping_free()</code></a> to free it</p>
+<p></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="poppler-annot-mapping-copy"></a><h3>poppler_annot_mapping_copy ()</h3>
+<pre class="programlisting"><a class="link" href="PopplerPage.html#PopplerAnnotMapping" title="PopplerAnnotMapping"><span class="returnvalue">PopplerAnnotMapping</span></a> *
+poppler_annot_mapping_copy (<em class="parameter"><code><a class="link" href="PopplerPage.html#PopplerAnnotMapping" title="PopplerAnnotMapping"><span class="type">PopplerAnnotMapping</span></a> *mapping</code></em>);</pre>
+<p>Creates a copy of <em class="parameter"><code>mapping</code></em>
</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<div class="refsect3">
+<a name="id-1.2.4.9.55.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>a new <a class="link" href="PopplerPage.html#PopplerImageMapping" title="PopplerImageMapping"><span class="type">PopplerImageMapping</span></a>, use <a class="link" href="PopplerPage.html#poppler-image-mapping-free" title="poppler_image_mapping_free ()"><code class="function">poppler_image_mapping_free()</code></a> to free it</td>
+<td class="parameter_name"><p>mapping</p></td>
+<td class="parameter_description"><p>a <a class="link" href="PopplerPage.html#PopplerAnnotMapping" title="PopplerAnnotMapping"><span class="type">PopplerAnnotMapping</span></a> to copy</p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="id-1.2.4.9.55.6"></a><h4>Returns</h4>
+<p> a new allocated copy of <em class="parameter"><code>mapping</code></em>
+</p>
+<p></p>
+</div>
+</div>
<hr>
<div class="refsect2">
-<a name="poppler-image-mapping-copy"></a><h3>poppler_image_mapping_copy ()</h3>
-<pre class="programlisting"><a class="link" href="PopplerPage.html#PopplerImageMapping" title="PopplerImageMapping"><span class="returnvalue">PopplerImageMapping</span></a> * poppler_image_mapping_copy (<em class="parameter"><code><a class="link" href="PopplerPage.html#PopplerImageMapping" title="PopplerImageMapping"><span class="type">PopplerImageMapping</span></a> *mapping</code></em>);</pre>
-<p>
-Creates a copy of <em class="parameter"><code>mapping</code></em>
+<a name="poppler-annot-mapping-free"></a><h3>poppler_annot_mapping_free ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+poppler_annot_mapping_free (<em class="parameter"><code><a class="link" href="PopplerPage.html#PopplerAnnotMapping" title="PopplerAnnotMapping"><span class="type">PopplerAnnotMapping</span></a> *mapping</code></em>);</pre>
+<p>Frees the given <a class="link" href="PopplerPage.html#PopplerAnnotMapping" title="PopplerAnnotMapping"><span class="type">PopplerAnnotMapping</span></a></p>
+<div class="refsect3">
+<a name="id-1.2.4.9.56.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>mapping</p></td>
+<td class="parameter_description"><p>a <a class="link" href="PopplerPage.html#PopplerAnnotMapping" title="PopplerAnnotMapping"><span class="type">PopplerAnnotMapping</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="poppler-text-attributes-new"></a><h3>poppler_text_attributes_new ()</h3>
+<pre class="programlisting"><a class="link" href="PopplerPage.html#PopplerTextAttributes" title="PopplerTextAttributes"><span class="returnvalue">PopplerTextAttributes</span></a> *
+poppler_text_attributes_new (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
+<p>Creates a new <a class="link" href="PopplerPage.html#PopplerTextAttributes" title="PopplerTextAttributes"><span class="type">PopplerTextAttributes</span></a></p>
+<div class="refsect3">
+<a name="id-1.2.4.9.57.5"></a><h4>Returns</h4>
+<p> a new <a class="link" href="PopplerPage.html#PopplerTextAttributes" title="PopplerTextAttributes"><span class="type">PopplerTextAttributes</span></a>, use <a class="link" href="PopplerPage.html#poppler-text-attributes-free" title="poppler_text_attributes_free ()"><code class="function">poppler_text_attributes_free()</code></a> to free it</p>
+<p></p>
+</div>
+<p class="since">Since 0.18</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="poppler-text-attributes-copy"></a><h3>poppler_text_attributes_copy ()</h3>
+<pre class="programlisting"><a class="link" href="PopplerPage.html#PopplerTextAttributes" title="PopplerTextAttributes"><span class="returnvalue">PopplerTextAttributes</span></a> *
+poppler_text_attributes_copy (<em class="parameter"><code><a class="link" href="PopplerPage.html#PopplerTextAttributes" title="PopplerTextAttributes"><span class="type">PopplerTextAttributes</span></a> *text_attrs</code></em>);</pre>
+<p>Creates a copy of <em class="parameter"><code>text_attrs</code></em>
+</p>
+<div class="refsect3">
+<a name="id-1.2.4.9.58.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>text_attrs</p></td>
+<td class="parameter_description"><p>a <a class="link" href="PopplerPage.html#PopplerTextAttributes" title="PopplerTextAttributes"><span class="type">PopplerTextAttributes</span></a> to copy</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.2.4.9.58.6"></a><h4>Returns</h4>
+<p> a new allocated copy of <em class="parameter"><code>text_attrs</code></em>
</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<p></p>
+</div>
+<p class="since">Since 0.18</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="poppler-text-attributes-free"></a><h3>poppler_text_attributes_free ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+poppler_text_attributes_free (<em class="parameter"><code><a class="link" href="PopplerPage.html#PopplerTextAttributes" title="PopplerTextAttributes"><span class="type">PopplerTextAttributes</span></a> *text_attrs</code></em>);</pre>
+<p>Frees the given <a class="link" href="PopplerPage.html#PopplerTextAttributes" title="PopplerTextAttributes"><span class="type">PopplerTextAttributes</span></a></p>
+<div class="refsect3">
+<a name="id-1.2.4.9.59.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>text_attrs</p></td>
+<td class="parameter_description"><p>a <a class="link" href="PopplerPage.html#PopplerTextAttributes" title="PopplerTextAttributes"><span class="type">PopplerTextAttributes</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<p class="since">Since 0.18</p>
+</div>
+</div>
+<div class="refsect1">
+<a name="PopplerPage.other_details"></a><h2>Types and Values</h2>
+<div class="refsect2">
+<a name="PopplerPage-struct"></a><h3>PopplerPage</h3>
+<pre class="programlisting">typedef struct _PopplerPage PopplerPage;</pre>
+</div>
+<hr>
+<div class="refsect2">
+<a name="PopplerRectangle"></a><h3>PopplerRectangle</h3>
+<pre class="programlisting">typedef struct {
+ gdouble x1;
+ gdouble y1;
+ gdouble x2;
+ gdouble y2;
+} PopplerRectangle;
+</pre>
+<p>A <a class="link" href="PopplerPage.html#PopplerRectangle" title="PopplerRectangle"><span class="type">PopplerRectangle</span></a> is used to describe
+locations on a page and bounding boxes</p>
+<div class="refsect3">
+<a name="id-1.2.4.10.3.5"></a><h4>Members</h4>
+<div class="informaltable"><table width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="300px" class="struct_members_name">
+<col class="struct_members_description">
+<col width="200px" class="struct_members_annotations">
</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><em class="parameter"><code>mapping</code></em> :</span></p></td>
-<td>a <a class="link" href="PopplerPage.html#PopplerImageMapping" title="PopplerImageMapping"><span class="type">PopplerImageMapping</span></a> to copy</td>
+<td class="struct_member_name"><p><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> <em class="structfield"><code><a name="PopplerRectangle.x1"></a>x1</code></em>;</p></td>
+<td class="struct_member_description"><p>x coordinate of lower left corner</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>a new allocated copy of <em class="parameter"><code>mapping</code></em>
-</td>
+<td class="struct_member_name"><p><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> <em class="structfield"><code><a name="PopplerRectangle.y1"></a>y1</code></em>;</p></td>
+<td class="struct_member_description"><p>y coordinate of lower left corner</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> <em class="structfield"><code><a name="PopplerRectangle.x2"></a>x2</code></em>;</p></td>
+<td class="struct_member_description"><p>x coordinate of upper right corner</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> <em class="structfield"><code><a name="PopplerRectangle.y2"></a>y2</code></em>;</p></td>
+<td class="struct_member_description"><p>y coordinate of upper right corner</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
+</div>
<hr>
<div class="refsect2">
-<a name="poppler-image-mapping-free"></a><h3>poppler_image_mapping_free ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span> poppler_image_mapping_free (<em class="parameter"><code><a class="link" href="PopplerPage.html#PopplerImageMapping" title="PopplerImageMapping"><span class="type">PopplerImageMapping</span></a> *mapping</code></em>);</pre>
-<p>
-Frees the given <a class="link" href="PopplerPage.html#PopplerImageMapping" title="PopplerImageMapping"><span class="type">PopplerImageMapping</span></a>
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="PopplerPageTransition"></a><h3>PopplerPageTransition</h3>
+<pre class="programlisting">typedef struct {
+ PopplerPageTransitionType type;
+ PopplerPageTransitionAlignment alignment;
+ PopplerPageTransitionDirection direction;
+ gint duration;
+ gint angle;
+ gdouble scale;
+ gboolean rectangular;
+} PopplerPageTransition;
+</pre>
+<p>A <a class="link" href="PopplerPage.html#PopplerPageTransition" title="PopplerPageTransition"><span class="type">PopplerPageTransition</span></a> structures describes a visual transition
+to use when moving between pages during a presentation</p>
+<div class="refsect3">
+<a name="id-1.2.4.10.4.5"></a><h4>Members</h4>
+<div class="informaltable"><table width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="300px" class="struct_members_name">
+<col class="struct_members_description">
+<col width="200px" class="struct_members_annotations">
</colgroup>
-<tbody><tr>
-<td><p><span class="term"><em class="parameter"><code>mapping</code></em> :</span></p></td>
-<td>a <a class="link" href="PopplerPage.html#PopplerImageMapping" title="PopplerImageMapping"><span class="type">PopplerImageMapping</span></a>
-</td>
-</tr></tbody>
+<tbody>
+<tr>
+<td class="struct_member_name"><p><a class="link" href="PopplerPage.html#PopplerPageTransitionType" title="enum PopplerPageTransitionType"><span class="type">PopplerPageTransitionType</span></a> <em class="structfield"><code><a name="PopplerPageTransition.type"></a>type</code></em>;</p></td>
+<td class="struct_member_description"><p>the type of transtition</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a class="link" href="PopplerPage.html#PopplerPageTransitionAlignment" title="enum PopplerPageTransitionAlignment"><span class="type">PopplerPageTransitionAlignment</span></a> <em class="structfield"><code><a name="PopplerPageTransition.alignment"></a>alignment</code></em>;</p></td>
+<td class="struct_member_description"><p>the dimension in which the transition effect shall occur.
+Only for <a class="link" href="PopplerPage.html#POPPLER-PAGE-TRANSITION-SPLIT:CAPS"><span class="type">POPPLER_PAGE_TRANSITION_SPLIT</span></a> and <a class="link" href="PopplerPage.html#POPPLER-PAGE-TRANSITION-BLINDS:CAPS"><span class="type">POPPLER_PAGE_TRANSITION_BLINDS</span></a> transition types</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a class="link" href="PopplerPage.html#PopplerPageTransitionDirection" title="enum PopplerPageTransitionDirection"><span class="type">PopplerPageTransitionDirection</span></a> <em class="structfield"><code><a name="PopplerPageTransition.direction"></a>direction</code></em>;</p></td>
+<td class="struct_member_description"><p>the direccion of motion for the transition effect.
+Only for <a class="link" href="PopplerPage.html#POPPLER-PAGE-TRANSITION-SPLIT:CAPS"><span class="type">POPPLER_PAGE_TRANSITION_SPLIT</span></a>, <a class="link" href="PopplerPage.html#POPPLER-PAGE-TRANSITION-BOX:CAPS"><span class="type">POPPLER_PAGE_TRANSITION_BOX</span></a> and <a class="link" href="PopplerPage.html#POPPLER-PAGE-TRANSITION-FLY:CAPS"><span class="type">POPPLER_PAGE_TRANSITION_FLY</span></a>
+transition types</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> <em class="structfield"><code><a name="PopplerPageTransition.duration"></a>duration</code></em>;</p></td>
+<td class="struct_member_description"><p>the duration of the transition effect</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> <em class="structfield"><code><a name="PopplerPageTransition.angle"></a>angle</code></em>;</p></td>
+<td class="struct_member_description"><p>the direction in which the specified transition effect shall moves,
+expressed in degrees counterclockwise starting from a left-to-right direction.
+Only for <a class="link" href="PopplerPage.html#POPPLER-PAGE-TRANSITION-WIPE:CAPS"><span class="type">POPPLER_PAGE_TRANSITION_WIPE</span></a>, <a class="link" href="PopplerPage.html#POPPLER-PAGE-TRANSITION-GLITTER:CAPS"><span class="type">POPPLER_PAGE_TRANSITION_GLITTER</span></a>, <a class="link" href="PopplerPage.html#POPPLER-PAGE-TRANSITION-FLY:CAPS"><span class="type">POPPLER_PAGE_TRANSITION_FLY</span></a>,
+<a class="link" href="PopplerPage.html#POPPLER-PAGE-TRANSITION-COVER:CAPS"><span class="type">POPPLER_PAGE_TRANSITION_COVER</span></a>, <a class="link" href="PopplerPage.html#POPPLER-PAGE-TRANSITION-UNCOVER:CAPS"><span class="type">POPPLER_PAGE_TRANSITION_UNCOVER</span></a> and <a class="link" href="PopplerPage.html#POPPLER-PAGE-TRANSITION-PUSH:CAPS"><span class="type">POPPLER_PAGE_TRANSITION_PUSH</span></a>
+transition types</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> <em class="structfield"><code><a name="PopplerPageTransition.scale"></a>scale</code></em>;</p></td>
+<td class="struct_member_description"><p>the starting or ending scale at which the changes shall be drawn.
+Only for <a class="link" href="PopplerPage.html#POPPLER-PAGE-TRANSITION-FLY:CAPS"><span class="type">POPPLER_PAGE_TRANSITION_FLY</span></a> transition type</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> <em class="structfield"><code><a name="PopplerPageTransition.rectangular"></a>rectangular</code></em>;</p></td>
+<td class="struct_member_description"><p>whether the area that will be flown is rectangular and opaque.
+Only for <a class="link" href="PopplerPage.html#POPPLER-PAGE-TRANSITION-FLY:CAPS"><span class="type">POPPLER_PAGE_TRANSITION_FLY</span></a> transition type</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+</tbody>
</table></div>
</div>
+</div>
<hr>
<div class="refsect2">
-<a name="poppler-form-field-mapping-new"></a><h3>poppler_form_field_mapping_new ()</h3>
-<pre class="programlisting"><a class="link" href="PopplerPage.html#PopplerFormFieldMapping" title="PopplerFormFieldMapping"><span class="returnvalue">PopplerFormFieldMapping</span></a> * poppler_form_field_mapping_new
- (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
-<p>
-Creates a new <a class="link" href="PopplerPage.html#PopplerFormFieldMapping" title="PopplerFormFieldMapping"><span class="type">PopplerFormFieldMapping</span></a>
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="PopplerLinkMapping"></a><h3>PopplerLinkMapping</h3>
+<pre class="programlisting">typedef struct {
+ PopplerRectangle area;
+ PopplerAction *action;
+} PopplerLinkMapping;
+</pre>
+<p>A <a class="link" href="PopplerPage.html#PopplerLinkMapping" title="PopplerLinkMapping"><span class="type">PopplerLinkMapping</span></a> structure represents the location
+of <em class="parameter"><code>action</code></em>
+ on the page</p>
+<div class="refsect3">
+<a name="id-1.2.4.10.5.5"></a><h4>Members</h4>
+<div class="informaltable"><table width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="300px" class="struct_members_name">
+<col class="struct_members_description">
+<col width="200px" class="struct_members_annotations">
</colgroup>
-<tbody><tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>a new <a class="link" href="PopplerPage.html#PopplerFormFieldMapping" title="PopplerFormFieldMapping"><span class="type">PopplerFormFieldMapping</span></a>, use <a class="link" href="PopplerPage.html#poppler-form-field-mapping-free" title="poppler_form_field_mapping_free ()"><code class="function">poppler_form_field_mapping_free()</code></a> to free it</td>
-</tr></tbody>
+<tbody>
+<tr>
+<td class="struct_member_name"><p><a class="link" href="PopplerPage.html#PopplerRectangle" title="PopplerRectangle"><span class="type">PopplerRectangle</span></a> <em class="structfield"><code><a name="PopplerLinkMapping.area"></a>area</code></em>;</p></td>
+<td class="struct_member_description"><p>a <a class="link" href="PopplerPage.html#PopplerRectangle" title="PopplerRectangle"><span class="type">PopplerRectangle</span></a> representing an area of the page</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a class="link" href="poppler-PopplerAction.html#PopplerAction" title="union PopplerAction"><span class="type">PopplerAction</span></a> *<em class="structfield"><code><a name="PopplerLinkMapping.action"></a>action</code></em>;</p></td>
+<td class="struct_member_description"><p>a <a class="link" href="poppler-PopplerAction.html#PopplerAction" title="union PopplerAction"><span class="type">PopplerAction</span></a></p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+</tbody>
</table></div>
</div>
+</div>
<hr>
<div class="refsect2">
-<a name="poppler-form-field-mapping-copy"></a><h3>poppler_form_field_mapping_copy ()</h3>
-<pre class="programlisting"><a class="link" href="PopplerPage.html#PopplerFormFieldMapping" title="PopplerFormFieldMapping"><span class="returnvalue">PopplerFormFieldMapping</span></a> * poppler_form_field_mapping_copy
- (<em class="parameter"><code><a class="link" href="PopplerPage.html#PopplerFormFieldMapping" title="PopplerFormFieldMapping"><span class="type">PopplerFormFieldMapping</span></a> *mapping</code></em>);</pre>
-<p>
-Creates a copy of <em class="parameter"><code>mapping</code></em>
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="PopplerImageMapping"></a><h3>PopplerImageMapping</h3>
+<pre class="programlisting">typedef struct {
+ PopplerRectangle area;
+ gint image_id;
+} PopplerImageMapping;
+</pre>
+<p>A <a class="link" href="PopplerPage.html#PopplerImageMapping" title="PopplerImageMapping"><span class="type">PopplerImageMapping</span></a> structure represents the location
+of an image on the page</p>
+<div class="refsect3">
+<a name="id-1.2.4.10.6.5"></a><h4>Members</h4>
+<div class="informaltable"><table width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="300px" class="struct_members_name">
+<col class="struct_members_description">
+<col width="200px" class="struct_members_annotations">
</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><em class="parameter"><code>mapping</code></em> :</span></p></td>
-<td>a <a class="link" href="PopplerPage.html#PopplerFormFieldMapping" title="PopplerFormFieldMapping"><span class="type">PopplerFormFieldMapping</span></a> to copy</td>
+<td class="struct_member_name"><p><a class="link" href="PopplerPage.html#PopplerRectangle" title="PopplerRectangle"><span class="type">PopplerRectangle</span></a> <em class="structfield"><code><a name="PopplerImageMapping.area"></a>area</code></em>;</p></td>
+<td class="struct_member_description"><p>a <a class="link" href="PopplerPage.html#PopplerRectangle" title="PopplerRectangle"><span class="type">PopplerRectangle</span></a> representing an area of the page</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>a new allocated copy of <em class="parameter"><code>mapping</code></em>
-</td>
+<td class="struct_member_name"><p><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> <em class="structfield"><code><a name="PopplerImageMapping.image-id"></a>image_id</code></em>;</p></td>
+<td class="struct_member_description"><p>an image identifier</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
+</div>
<hr>
<div class="refsect2">
-<a name="poppler-form-field-mapping-free"></a><h3>poppler_form_field_mapping_free ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span> poppler_form_field_mapping_free (<em class="parameter"><code><a class="link" href="PopplerPage.html#PopplerFormFieldMapping" title="PopplerFormFieldMapping"><span class="type">PopplerFormFieldMapping</span></a> *mapping</code></em>);</pre>
-<p>
-Frees the given <a class="link" href="PopplerPage.html#PopplerFormFieldMapping" title="PopplerFormFieldMapping"><span class="type">PopplerFormFieldMapping</span></a>
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="PopplerFormFieldMapping"></a><h3>PopplerFormFieldMapping</h3>
+<pre class="programlisting">typedef struct {
+ PopplerRectangle area;
+ PopplerFormField *field;
+} PopplerFormFieldMapping;
+</pre>
+<p>A <a class="link" href="PopplerPage.html#PopplerFormFieldMapping" title="PopplerFormFieldMapping"><span class="type">PopplerFormFieldMapping</span></a> structure represents the location
+of <em class="parameter"><code>field</code></em>
+ on the page</p>
+<div class="refsect3">
+<a name="id-1.2.4.10.7.5"></a><h4>Members</h4>
+<div class="informaltable"><table width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="300px" class="struct_members_name">
+<col class="struct_members_description">
+<col width="200px" class="struct_members_annotations">
</colgroup>
-<tbody><tr>
-<td><p><span class="term"><em class="parameter"><code>mapping</code></em> :</span></p></td>
-<td>a <a class="link" href="PopplerPage.html#PopplerFormFieldMapping" title="PopplerFormFieldMapping"><span class="type">PopplerFormFieldMapping</span></a>
-</td>
-</tr></tbody>
+<tbody>
+<tr>
+<td class="struct_member_name"><p><a class="link" href="PopplerPage.html#PopplerRectangle" title="PopplerRectangle"><span class="type">PopplerRectangle</span></a> <em class="structfield"><code><a name="PopplerFormFieldMapping.area"></a>area</code></em>;</p></td>
+<td class="struct_member_description"><p>a <a class="link" href="PopplerPage.html#PopplerRectangle" title="PopplerRectangle"><span class="type">PopplerRectangle</span></a> representing an area of the page</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a class="link" href="PopplerFormField.html" title="PoppplerFormField"><span class="type">PopplerFormField</span></a> *<em class="structfield"><code><a name="PopplerFormFieldMapping.field"></a>field</code></em>;</p></td>
+<td class="struct_member_description"><p>a <a class="link" href="PopplerFormField.html" title="PoppplerFormField"><span class="type">PopplerFormField</span></a></p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+</tbody>
</table></div>
</div>
+</div>
<hr>
<div class="refsect2">
-<a name="poppler-annot-mapping-new"></a><h3>poppler_annot_mapping_new ()</h3>
-<pre class="programlisting"><a class="link" href="PopplerPage.html#PopplerAnnotMapping" title="PopplerAnnotMapping"><span class="returnvalue">PopplerAnnotMapping</span></a> * poppler_annot_mapping_new (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
-<p>
-Creates a new <a class="link" href="PopplerPage.html#PopplerAnnotMapping" title="PopplerAnnotMapping"><span class="type">PopplerAnnotMapping</span></a>
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="PopplerAnnotMapping"></a><h3>PopplerAnnotMapping</h3>
+<pre class="programlisting">typedef struct {
+ PopplerRectangle area;
+ PopplerAnnot *annot;
+} PopplerAnnotMapping;
+</pre>
+<p>A <a class="link" href="PopplerPage.html#PopplerAnnotMapping" title="PopplerAnnotMapping"><span class="type">PopplerAnnotMapping</span></a> structure represents the location
+of <em class="parameter"><code>annot</code></em>
+ on the page</p>
+<div class="refsect3">
+<a name="id-1.2.4.10.8.5"></a><h4>Members</h4>
+<div class="informaltable"><table width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="300px" class="struct_members_name">
+<col class="struct_members_description">
+<col width="200px" class="struct_members_annotations">
</colgroup>
-<tbody><tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>a new <a class="link" href="PopplerPage.html#PopplerAnnotMapping" title="PopplerAnnotMapping"><span class="type">PopplerAnnotMapping</span></a>, use <a class="link" href="PopplerPage.html#poppler-annot-mapping-free" title="poppler_annot_mapping_free ()"><code class="function">poppler_annot_mapping_free()</code></a> to free it</td>
-</tr></tbody>
+<tbody>
+<tr>
+<td class="struct_member_name"><p><a class="link" href="PopplerPage.html#PopplerRectangle" title="PopplerRectangle"><span class="type">PopplerRectangle</span></a> <em class="structfield"><code><a name="PopplerAnnotMapping.area"></a>area</code></em>;</p></td>
+<td class="struct_member_description"><p>a <a class="link" href="PopplerPage.html#PopplerRectangle" title="PopplerRectangle"><span class="type">PopplerRectangle</span></a> representing an area of the page</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a class="link" href="PopplerAnnot.html" title="PopplerAnnot"><span class="type">PopplerAnnot</span></a> *<em class="structfield"><code><a name="PopplerAnnotMapping.annot"></a>annot</code></em>;</p></td>
+<td class="struct_member_description"><p>a <a class="link" href="PopplerAnnot.html" title="PopplerAnnot"><span class="type">PopplerAnnot</span></a></p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+</tbody>
</table></div>
</div>
+</div>
<hr>
<div class="refsect2">
-<a name="poppler-annot-mapping-copy"></a><h3>poppler_annot_mapping_copy ()</h3>
-<pre class="programlisting"><a class="link" href="PopplerPage.html#PopplerAnnotMapping" title="PopplerAnnotMapping"><span class="returnvalue">PopplerAnnotMapping</span></a> * poppler_annot_mapping_copy (<em class="parameter"><code><a class="link" href="PopplerPage.html#PopplerAnnotMapping" title="PopplerAnnotMapping"><span class="type">PopplerAnnotMapping</span></a> *mapping</code></em>);</pre>
-<p>
-Creates a copy of <em class="parameter"><code>mapping</code></em>
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="PopplerPageTransitionType"></a><h3>enum PopplerPageTransitionType</h3>
+<p>Page transition types</p>
+<div class="refsect3">
+<a name="id-1.2.4.10.9.4"></a><h4>Members</h4>
+<div class="informaltable"><table width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="300px" class="enum_members_name">
+<col class="enum_members_description">
+<col width="200px" class="enum_members_annotations">
</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><em class="parameter"><code>mapping</code></em> :</span></p></td>
-<td>a <a class="link" href="PopplerPage.html#PopplerAnnotMapping" title="PopplerAnnotMapping"><span class="type">PopplerAnnotMapping</span></a> to copy</td>
+<td class="enum_member_name"><p><a name="POPPLER-PAGE-TRANSITION-REPLACE:CAPS"></a>POPPLER_PAGE_TRANSITION_REPLACE</p></td>
+<td class="enum_member_description">
+<p>the new page replace the old one</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="POPPLER-PAGE-TRANSITION-SPLIT:CAPS"></a>POPPLER_PAGE_TRANSITION_SPLIT</p></td>
+<td class="enum_member_description">
+<p>two lines sweep across the screen, revealing the new page</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="POPPLER-PAGE-TRANSITION-BLINDS:CAPS"></a>POPPLER_PAGE_TRANSITION_BLINDS</p></td>
+<td class="enum_member_description">
+<p>multiple lines, evenly spaced across the screen, synchronously
+sweep in the same direction to reveal the new page</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="POPPLER-PAGE-TRANSITION-BOX:CAPS"></a>POPPLER_PAGE_TRANSITION_BOX</p></td>
+<td class="enum_member_description">
+<p>a rectangular box sweeps inward from the edges of the page or
+outward from the center revealing the new page</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="POPPLER-PAGE-TRANSITION-WIPE:CAPS"></a>POPPLER_PAGE_TRANSITION_WIPE</p></td>
+<td class="enum_member_description">
+<p>a single line sweeps across the screen from one edge to the other
+revealing the new page</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="POPPLER-PAGE-TRANSITION-DISSOLVE:CAPS"></a>POPPLER_PAGE_TRANSITION_DISSOLVE</p></td>
+<td class="enum_member_description">
+<p>the old page dissolves gradually to reveal the new one</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="POPPLER-PAGE-TRANSITION-GLITTER:CAPS"></a>POPPLER_PAGE_TRANSITION_GLITTER</p></td>
+<td class="enum_member_description">
+<p>similar to <a class="link" href="PopplerPage.html#POPPLER-PAGE-TRANSITION-DISSOLVE:CAPS"><span class="type">POPPLER_PAGE_TRANSITION_DISSOLVE</span></a>, except that the effect
+sweeps across the page in a wide band moving from one side of the screen to the other</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="POPPLER-PAGE-TRANSITION-FLY:CAPS"></a>POPPLER_PAGE_TRANSITION_FLY</p></td>
+<td class="enum_member_description">
+<p>changes are flown out or in to or from a location that is offscreen</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="POPPLER-PAGE-TRANSITION-PUSH:CAPS"></a>POPPLER_PAGE_TRANSITION_PUSH</p></td>
+<td class="enum_member_description">
+<p>the old page slides off the screen while the new page slides in</p>
+</td>
+<td class="enum_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>a new allocated copy of <em class="parameter"><code>mapping</code></em>
+<td class="enum_member_name"><p><a name="POPPLER-PAGE-TRANSITION-COVER:CAPS"></a>POPPLER_PAGE_TRANSITION_COVER</p></td>
+<td class="enum_member_description">
+<p>the new page slides on to the screen covering the old page</p>
</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="POPPLER-PAGE-TRANSITION-UNCOVER:CAPS"></a>POPPLER_PAGE_TRANSITION_UNCOVER</p></td>
+<td class="enum_member_description">
+<p>the old page slides off the screen uncovering the new page</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="POPPLER-PAGE-TRANSITION-FADE:CAPS"></a>POPPLER_PAGE_TRANSITION_FADE</p></td>
+<td class="enum_member_description">
+<p>the new page gradually becomes visible through the old one</p>
+</td>
+<td class="enum_member_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
+</div>
<hr>
<div class="refsect2">
-<a name="poppler-annot-mapping-free"></a><h3>poppler_annot_mapping_free ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span> poppler_annot_mapping_free (<em class="parameter"><code><a class="link" href="PopplerPage.html#PopplerAnnotMapping" title="PopplerAnnotMapping"><span class="type">PopplerAnnotMapping</span></a> *mapping</code></em>);</pre>
-<p>
-Frees the given <a class="link" href="PopplerPage.html#PopplerAnnotMapping" title="PopplerAnnotMapping"><span class="type">PopplerAnnotMapping</span></a>
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="PopplerPageTransitionAlignment"></a><h3>enum PopplerPageTransitionAlignment</h3>
+<p>Page transition alignment types for <a class="link" href="PopplerPage.html#POPPLER-PAGE-TRANSITION-SPLIT:CAPS"><span class="type">POPPLER_PAGE_TRANSITION_SPLIT</span></a>
+and <a class="link" href="PopplerPage.html#POPPLER-PAGE-TRANSITION-BLINDS:CAPS"><span class="type">POPPLER_PAGE_TRANSITION_BLINDS</span></a> transition types</p>
+<div class="refsect3">
+<a name="id-1.2.4.10.10.4"></a><h4>Members</h4>
+<div class="informaltable"><table width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="300px" class="enum_members_name">
+<col class="enum_members_description">
+<col width="200px" class="enum_members_annotations">
</colgroup>
-<tbody><tr>
-<td><p><span class="term"><em class="parameter"><code>mapping</code></em> :</span></p></td>
-<td>a <a class="link" href="PopplerPage.html#PopplerAnnotMapping" title="PopplerAnnotMapping"><span class="type">PopplerAnnotMapping</span></a>
+<tbody>
+<tr>
+<td class="enum_member_name"><p><a name="POPPLER-PAGE-TRANSITION-HORIZONTAL:CAPS"></a>POPPLER_PAGE_TRANSITION_HORIZONTAL</p></td>
+<td class="enum_member_description">
+<p>horizontal dimension</p>
</td>
-</tr></tbody>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="POPPLER-PAGE-TRANSITION-VERTICAL:CAPS"></a>POPPLER_PAGE_TRANSITION_VERTICAL</p></td>
+<td class="enum_member_description">
+<p>vertical dimension</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+</tbody>
</table></div>
</div>
+</div>
<hr>
<div class="refsect2">
-<a name="poppler-text-attributes-new"></a><h3>poppler_text_attributes_new ()</h3>
-<pre class="programlisting"><a class="link" href="PopplerPage.html#PopplerTextAttributes" title="PopplerTextAttributes"><span class="returnvalue">PopplerTextAttributes</span></a> * poppler_text_attributes_new (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
-<p>
-Creates a new <a class="link" href="PopplerPage.html#PopplerTextAttributes" title="PopplerTextAttributes"><span class="type">PopplerTextAttributes</span></a>
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="PopplerPageTransitionDirection"></a><h3>enum PopplerPageTransitionDirection</h3>
+<p>Page transition direction types for <a class="link" href="PopplerPage.html#POPPLER-PAGE-TRANSITION-SPLIT:CAPS"><span class="type">POPPLER_PAGE_TRANSITION_SPLIT</span></a>,
+<a class="link" href="PopplerPage.html#POPPLER-PAGE-TRANSITION-BOX:CAPS"><span class="type">POPPLER_PAGE_TRANSITION_BOX</span></a> and <a class="link" href="PopplerPage.html#POPPLER-PAGE-TRANSITION-FLY:CAPS"><span class="type">POPPLER_PAGE_TRANSITION_FLY</span></a> transition types</p>
+<div class="refsect3">
+<a name="id-1.2.4.10.11.4"></a><h4>Members</h4>
+<div class="informaltable"><table width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="300px" class="enum_members_name">
+<col class="enum_members_description">
+<col width="200px" class="enum_members_annotations">
</colgroup>
-<tbody><tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>a new <a class="link" href="PopplerPage.html#PopplerTextAttributes" title="PopplerTextAttributes"><span class="type">PopplerTextAttributes</span></a>, use <a class="link" href="PopplerPage.html#poppler-text-attributes-free" title="poppler_text_attributes_free ()"><code class="function">poppler_text_attributes_free()</code></a> to free it</td>
-</tr></tbody>
+<tbody>
+<tr>
+<td class="enum_member_name"><p><a name="POPPLER-PAGE-TRANSITION-INWARD:CAPS"></a>POPPLER_PAGE_TRANSITION_INWARD</p></td>
+<td class="enum_member_description">
+<p>inward from the edges of the page</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="POPPLER-PAGE-TRANSITION-OUTWARD:CAPS"></a>POPPLER_PAGE_TRANSITION_OUTWARD</p></td>
+<td class="enum_member_description">
+<p>outward from the center of the page</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+</tbody>
</table></div>
-<p class="since">Since 0.18</p>
+</div>
</div>
<hr>
<div class="refsect2">
-<a name="poppler-text-attributes-copy"></a><h3>poppler_text_attributes_copy ()</h3>
-<pre class="programlisting"><a class="link" href="PopplerPage.html#PopplerTextAttributes" title="PopplerTextAttributes"><span class="returnvalue">PopplerTextAttributes</span></a> * poppler_text_attributes_copy (<em class="parameter"><code><a class="link" href="PopplerPage.html#PopplerTextAttributes" title="PopplerTextAttributes"><span class="type">PopplerTextAttributes</span></a> *text_attrs</code></em>);</pre>
-<p>
-Creates a copy of <em class="parameter"><code>text_attrs</code></em>
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="PopplerSelectionStyle"></a><h3>enum PopplerSelectionStyle</h3>
+<p>Selection styles</p>
+<div class="refsect3">
+<a name="id-1.2.4.10.12.4"></a><h4>Members</h4>
+<div class="informaltable"><table width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="300px" class="enum_members_name">
+<col class="enum_members_description">
+<col width="200px" class="enum_members_annotations">
</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><em class="parameter"><code>text_attrs</code></em> :</span></p></td>
-<td>a <a class="link" href="PopplerPage.html#PopplerTextAttributes" title="PopplerTextAttributes"><span class="type">PopplerTextAttributes</span></a> to copy</td>
+<td class="enum_member_name"><p><a name="POPPLER-SELECTION-GLYPH:CAPS"></a>POPPLER_SELECTION_GLYPH</p></td>
+<td class="enum_member_description">
+<p>glyph is the minimum unit for selection</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="POPPLER-SELECTION-WORD:CAPS"></a>POPPLER_SELECTION_WORD</p></td>
+<td class="enum_member_description">
+<p>word is the minimum unit for selection</p>
+</td>
+<td class="enum_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>a new allocated copy of <em class="parameter"><code>text_attrs</code></em>
+<td class="enum_member_name"><p><a name="POPPLER-SELECTION-LINE:CAPS"></a>POPPLER_SELECTION_LINE</p></td>
+<td class="enum_member_description">
+<p>line is the minimum unit for selection</p>
</td>
+<td class="enum_member_annotations"> </td>
</tr>
</tbody>
</table></div>
-<p class="since">Since 0.18</p>
+</div>
</div>
<hr>
<div class="refsect2">
-<a name="poppler-text-attributes-free"></a><h3>poppler_text_attributes_free ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span> poppler_text_attributes_free (<em class="parameter"><code><a class="link" href="PopplerPage.html#PopplerTextAttributes" title="PopplerTextAttributes"><span class="type">PopplerTextAttributes</span></a> *text_attrs</code></em>);</pre>
-<p>
-Frees the given <a class="link" href="PopplerPage.html#PopplerTextAttributes" title="PopplerTextAttributes"><span class="type">PopplerTextAttributes</span></a>
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="PopplerTextAttributes"></a><h3>PopplerTextAttributes</h3>
+<pre class="programlisting">typedef struct {
+ gchar *font_name;
+ gdouble font_size;
+ gboolean is_underlined;
+ PopplerColor color;
+
+ gint start_index;
+ gint end_index;
+} PopplerTextAttributes;
+</pre>
+<p>A <a class="link" href="PopplerPage.html#PopplerTextAttributes" title="PopplerTextAttributes"><span class="type">PopplerTextAttributes</span></a> is used to describe text attributes of a range of text</p>
+<div class="refsect3">
+<a name="id-1.2.4.10.13.5"></a><h4>Members</h4>
+<div class="informaltable"><table width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="300px" class="struct_members_name">
+<col class="struct_members_description">
+<col width="200px" class="struct_members_annotations">
</colgroup>
-<tbody><tr>
-<td><p><span class="term"><em class="parameter"><code>text_attrs</code></em> :</span></p></td>
-<td>a <a class="link" href="PopplerPage.html#PopplerTextAttributes" title="PopplerTextAttributes"><span class="type">PopplerTextAttributes</span></a>
-</td>
-</tr></tbody>
+<tbody>
+<tr>
+<td class="struct_member_name"><p><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *<em class="structfield"><code><a name="PopplerTextAttributes.font-name"></a>font_name</code></em>;</p></td>
+<td class="struct_member_description"><p>font name</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> <em class="structfield"><code><a name="PopplerTextAttributes.font-size"></a>font_size</code></em>;</p></td>
+<td class="struct_member_description"><p>font size</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> <em class="structfield"><code><a name="PopplerTextAttributes.is-underlined"></a>is_underlined</code></em>;</p></td>
+<td class="struct_member_description"><p>if text is underlined</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a class="link" href="poppler-poppler.html#PopplerColor" title="PopplerColor"><span class="type">PopplerColor</span></a> <em class="structfield"><code><a name="PopplerTextAttributes.color"></a>color</code></em>;</p></td>
+<td class="struct_member_description"><p>a <a class="link" href="poppler-poppler.html#PopplerColor" title="PopplerColor"><span class="type">PopplerColor</span></a>, the foreground color</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> <em class="structfield"><code><a name="PopplerTextAttributes.start-index"></a>start_index</code></em>;</p></td>
+<td class="struct_member_description"><p>start position this text attributes apply</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> <em class="structfield"><code><a name="PopplerTextAttributes.end-index"></a>end_index</code></em>;</p></td>
+<td class="struct_member_description"><p>end position this text text attributes apply</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+</tbody>
</table></div>
+</div>
<p class="since">Since 0.18</p>
</div>
</div>
<div class="refsect1">
<a name="PopplerPage.property-details"></a><h2>Property Details</h2>
<div class="refsect2">
-<a name="PopplerPage--label"></a><h3>The <code class="literal">"label"</code> property</h3>
-<pre class="programlisting"> "label" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a>* : Read</pre>
-<p>
-The label of the page or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. See also <a class="link" href="PopplerPage.html#poppler-page-get-label" title="poppler_page_get_label ()"><code class="function">poppler_page_get_label()</code></a>
-</p>
+<a name="PopplerPage--label"></a><h3>The <code class="literal">“labelâ€</code> property</h3>
+<pre class="programlisting"> “label†<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *</pre>
+<p>The label of the page or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. See also <a class="link" href="PopplerPage.html#poppler-page-get-label" title="poppler_page_get_label ()"><code class="function">poppler_page_get_label()</code></a></p>
+<p>Flags: Read</p>
<p>Default value: NULL</p>
</div>
</div>
</div>
<div class="footer">
<hr>
- Generated by GTK-Doc V1.19</div>
+ Generated by GTK-Doc V1.21</div>
</body>
</html> \ No newline at end of file
diff --git a/glib/reference/html/PopplerStructureElement.html b/glib/reference/html/PopplerStructureElement.html
new file mode 100644
index 00000000..580b8898
--- /dev/null
+++ b/glib/reference/html/PopplerStructureElement.html
@@ -0,0 +1,3781 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Poppler Reference Manual: PopplerStructureElement</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="index.html" title="Poppler Reference Manual">
+<link rel="up" href="ch01.html" title="Poppler">
+<link rel="prev" href="PopplerMovie.html" title="PopplerMovie">
+<link rel="next" href="poppler-Version-and-Features-Information.html" title="Version and Features Information">
+<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts">
+<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
+ <a href="#PopplerStructureElement.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
+ <a href="#PopplerStructureElement.object-hierarchy" class="shortcut">Object Hierarchy</a></span>
+</td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="ch01.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="PopplerMovie.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="poppler-Version-and-Features-Information.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="refentry">
+<a name="PopplerStructureElement"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="PopplerStructureElement.top_of_page"></a>PopplerStructureElement</span></h2>
+<p>PopplerStructureElement — Document structure element.</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsect1">
+<a name="PopplerStructureElement.functions"></a><h2>Functions</h2>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="functions_return">
+<col class="functions_name">
+</colgroup>
+<tbody>
+<tr>
+<td class="function_type">
+<a class="link" href="PopplerStructureElement.html#PopplerStructureElementIter"><span class="returnvalue">PopplerStructureElementIter</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="PopplerStructureElement.html#poppler-structure-element-iter-new" title="poppler_structure_element_iter_new ()">poppler_structure_element_iter_new</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="PopplerStructureElement.html#poppler-structure-element-iter-next" title="poppler_structure_element_iter_next ()">poppler_structure_element_iter_next</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="PopplerStructureElement.html#PopplerStructureElementIter"><span class="returnvalue">PopplerStructureElementIter</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="PopplerStructureElement.html#poppler-structure-element-iter-copy" title="poppler_structure_element_iter_copy ()">poppler_structure_element_iter_copy</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="PopplerStructureElement.html#poppler-structure-element-iter-free" title="poppler_structure_element_iter_free ()">poppler_structure_element_iter_free</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="PopplerStructureElement.html#PopplerStructureElementIter"><span class="returnvalue">PopplerStructureElementIter</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="PopplerStructureElement.html#poppler-structure-element-iter-get-child" title="poppler_structure_element_iter_get_child ()">poppler_structure_element_iter_get_child</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="PopplerStructureElement.html" title="PopplerStructureElement"><span class="returnvalue">PopplerStructureElement</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="PopplerStructureElement.html#poppler-structure-element-iter-get-element" title="poppler_structure_element_iter_get_element ()">poppler_structure_element_iter_get_element</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="PopplerStructureElement.html#PopplerStructureElementKind" title="enum PopplerStructureElementKind"><span class="returnvalue">PopplerStructureElementKind</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="PopplerStructureElement.html#poppler-structure-element-get-kind" title="poppler_structure_element_get_kind ()">poppler_structure_element_get_kind</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="returnvalue">gint</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="PopplerStructureElement.html#poppler-structure-element-get-page" title="poppler_structure_element_get_page ()">poppler_structure_element_get_page</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="PopplerStructureElement.html#poppler-structure-element-is-content" title="poppler_structure_element_is_content ()">poppler_structure_element_is_content</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="PopplerStructureElement.html#poppler-structure-element-is-inline" title="poppler_structure_element_is_inline ()">poppler_structure_element_is_inline</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="PopplerStructureElement.html#poppler-structure-element-is-block" title="poppler_structure_element_is_block ()">poppler_structure_element_is_block</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="PopplerStructureElement.html#poppler-structure-element-is-grouping" title="poppler_structure_element_is_grouping ()">poppler_structure_element_is_grouping</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="PopplerStructureElement.html#poppler-structure-element-get-id" title="poppler_structure_element_get_id ()">poppler_structure_element_get_id</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="PopplerStructureElement.html#poppler-structure-element-get-title" title="poppler_structure_element_get_title ()">poppler_structure_element_get_title</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="PopplerStructureElement.html#poppler-structure-element-get-abbreviation" title="poppler_structure_element_get_abbreviation ()">poppler_structure_element_get_abbreviation</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="PopplerStructureElement.html#poppler-structure-element-get-language" title="poppler_structure_element_get_language ()">poppler_structure_element_get_language</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="PopplerStructureElement.html#poppler-structure-element-get-text" title="poppler_structure_element_get_text ()">poppler_structure_element_get_text</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="PopplerStructureElement.html#poppler-structure-element-get-alt-text" title="poppler_structure_element_get_alt_text ()">poppler_structure_element_get_alt_text</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="PopplerStructureElement.html#poppler-structure-element-get-actual-text" title="poppler_structure_element_get_actual_text ()">poppler_structure_element_get_actual_text</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="PopplerStructureElement.html#PopplerTextSpan" title="PopplerTextSpan"><span class="returnvalue">PopplerTextSpan</span></a> **
+</td>
+<td class="function_name">
+<a class="link" href="PopplerStructureElement.html#poppler-structure-element-get-text-spans" title="poppler_structure_element_get_text_spans ()">poppler_structure_element_get_text_spans</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="PopplerStructureElement.html#PopplerStructurePlacement" title="enum PopplerStructurePlacement"><span class="returnvalue">PopplerStructurePlacement</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="PopplerStructureElement.html#poppler-structure-element-get-placement" title="poppler_structure_element_get_placement ()">poppler_structure_element_get_placement</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="PopplerStructureElement.html#PopplerStructureWritingMode" title="enum PopplerStructureWritingMode"><span class="returnvalue">PopplerStructureWritingMode</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="PopplerStructureElement.html#poppler-structure-element-get-writing-mode" title="poppler_structure_element_get_writing_mode ()">poppler_structure_element_get_writing_mode</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="PopplerStructureElement.html#poppler-structure-element-get-background-color" title="poppler_structure_element_get_background_color ()">poppler_structure_element_get_background_color</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="PopplerStructureElement.html#poppler-structure-element-get-border-color" title="poppler_structure_element_get_border_color ()">poppler_structure_element_get_border_color</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="PopplerStructureElement.html#poppler-structure-element-get-border-style" title="poppler_structure_element_get_border_style ()">poppler_structure_element_get_border_style</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="PopplerStructureElement.html#poppler-structure-element-get-border-thickness" title="poppler_structure_element_get_border_thickness ()">poppler_structure_element_get_border_thickness</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="PopplerStructureElement.html#poppler-structure-element-get-padding" title="poppler_structure_element_get_padding ()">poppler_structure_element_get_padding</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="PopplerStructureElement.html#poppler-structure-element-get-color" title="poppler_structure_element_get_color ()">poppler_structure_element_get_color</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="returnvalue">gdouble</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="PopplerStructureElement.html#poppler-structure-element-get-space-before" title="poppler_structure_element_get_space_before ()">poppler_structure_element_get_space_before</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="returnvalue">gdouble</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="PopplerStructureElement.html#poppler-structure-element-get-space-after" title="poppler_structure_element_get_space_after ()">poppler_structure_element_get_space_after</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="returnvalue">gdouble</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="PopplerStructureElement.html#poppler-structure-element-get-start-indent" title="poppler_structure_element_get_start_indent ()">poppler_structure_element_get_start_indent</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="returnvalue">gdouble</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="PopplerStructureElement.html#poppler-structure-element-get-end-indent" title="poppler_structure_element_get_end_indent ()">poppler_structure_element_get_end_indent</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="returnvalue">gdouble</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="PopplerStructureElement.html#poppler-structure-element-get-text-indent" title="poppler_structure_element_get_text_indent ()">poppler_structure_element_get_text_indent</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="PopplerStructureElement.html#PopplerStructureTextAlign" title="enum PopplerStructureTextAlign"><span class="returnvalue">PopplerStructureTextAlign</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="PopplerStructureElement.html#poppler-structure-element-get-text-align" title="poppler_structure_element_get_text_align ()">poppler_structure_element_get_text_align</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="PopplerStructureElement.html#poppler-structure-element-get-bounding-box" title="poppler_structure_element_get_bounding_box ()">poppler_structure_element_get_bounding_box</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="returnvalue">gdouble</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="PopplerStructureElement.html#poppler-structure-element-get-width" title="poppler_structure_element_get_width ()">poppler_structure_element_get_width</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="returnvalue">gdouble</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="PopplerStructureElement.html#poppler-structure-element-get-height" title="poppler_structure_element_get_height ()">poppler_structure_element_get_height</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="PopplerStructureElement.html#PopplerStructureBlockAlign" title="enum PopplerStructureBlockAlign"><span class="returnvalue">PopplerStructureBlockAlign</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="PopplerStructureElement.html#poppler-structure-element-get-block-align" title="poppler_structure_element_get_block_align ()">poppler_structure_element_get_block_align</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="PopplerStructureElement.html#PopplerStructureInlineAlign" title="enum PopplerStructureInlineAlign"><span class="returnvalue">PopplerStructureInlineAlign</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="PopplerStructureElement.html#poppler-structure-element-get-inline-align" title="poppler_structure_element_get_inline_align ()">poppler_structure_element_get_inline_align</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="PopplerStructureElement.html#poppler-structure-element-get-table-border-style" title="poppler_structure_element_get_table_border_style ()">poppler_structure_element_get_table_border_style</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="PopplerStructureElement.html#poppler-structure-element-get-table-padding" title="poppler_structure_element_get_table_padding ()">poppler_structure_element_get_table_padding</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="returnvalue">gdouble</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="PopplerStructureElement.html#poppler-structure-element-get-baseline-shift" title="poppler_structure_element_get_baseline_shift ()">poppler_structure_element_get_baseline_shift</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="returnvalue">gdouble</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="PopplerStructureElement.html#poppler-structure-element-get-line-height" title="poppler_structure_element_get_line_height ()">poppler_structure_element_get_line_height</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="PopplerStructureElement.html#poppler-structure-element-get-text-decoration-color" title="poppler_structure_element_get_text_decoration_color ()">poppler_structure_element_get_text_decoration_color</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="returnvalue">gdouble</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="PopplerStructureElement.html#poppler-structure-element-get-text-decoration-thickness" title="poppler_structure_element_get_text_decoration_thickness ()">poppler_structure_element_get_text_decoration_thickness</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="PopplerStructureElement.html#PopplerStructureTextDecoration" title="enum PopplerStructureTextDecoration"><span class="returnvalue">PopplerStructureTextDecoration</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="PopplerStructureElement.html#poppler-structure-element-get-text-decoration-type" title="poppler_structure_element_get_text_decoration_type ()">poppler_structure_element_get_text_decoration_type</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="PopplerStructureElement.html#PopplerStructureRubyAlign" title="enum PopplerStructureRubyAlign"><span class="returnvalue">PopplerStructureRubyAlign</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="PopplerStructureElement.html#poppler-structure-element-get-ruby-align" title="poppler_structure_element_get_ruby_align ()">poppler_structure_element_get_ruby_align</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="PopplerStructureElement.html#PopplerStructureRubyPosition" title="enum PopplerStructureRubyPosition"><span class="returnvalue">PopplerStructureRubyPosition</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="PopplerStructureElement.html#poppler-structure-element-get-ruby-position" title="poppler_structure_element_get_ruby_position ()">poppler_structure_element_get_ruby_position</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="PopplerStructureElement.html#PopplerStructureGlyphOrientation" title="enum PopplerStructureGlyphOrientation"><span class="returnvalue">PopplerStructureGlyphOrientation</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="PopplerStructureElement.html#poppler-structure-element-get-glyph-orientation" title="poppler_structure_element_get_glyph_orientation ()">poppler_structure_element_get_glyph_orientation</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="PopplerStructureElement.html#poppler-structure-element-get-column-count" title="poppler_structure_element_get_column_count ()">poppler_structure_element_get_column_count</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="returnvalue">gdouble</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="PopplerStructureElement.html#poppler-structure-element-get-column-gaps" title="poppler_structure_element_get_column_gaps ()">poppler_structure_element_get_column_gaps</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="returnvalue">gdouble</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="PopplerStructureElement.html#poppler-structure-element-get-column-widths" title="poppler_structure_element_get_column_widths ()">poppler_structure_element_get_column_widths</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="PopplerStructureElement.html#PopplerStructureListNumbering" title="enum PopplerStructureListNumbering"><span class="returnvalue">PopplerStructureListNumbering</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="PopplerStructureElement.html#poppler-structure-element-get-list-numbering" title="poppler_structure_element_get_list_numbering ()">poppler_structure_element_get_list_numbering</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="PopplerStructureElement.html#PopplerStructureFormRole" title="enum PopplerStructureFormRole"><span class="returnvalue">PopplerStructureFormRole</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="PopplerStructureElement.html#poppler-structure-element-get-form-role" title="poppler_structure_element_get_form_role ()">poppler_structure_element_get_form_role</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="PopplerStructureElement.html#PopplerStructureFormState" title="enum PopplerStructureFormState"><span class="returnvalue">PopplerStructureFormState</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="PopplerStructureElement.html#poppler-structure-element-get-form-state" title="poppler_structure_element_get_form_state ()">poppler_structure_element_get_form_state</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="PopplerStructureElement.html#poppler-structure-element-get-form-description" title="poppler_structure_element_get_form_description ()">poppler_structure_element_get_form_description</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="PopplerStructureElement.html#poppler-structure-element-get-table-row-span" title="poppler_structure_element_get_table_row_span ()">poppler_structure_element_get_table_row_span</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="PopplerStructureElement.html#poppler-structure-element-get-table-column-span" title="poppler_structure_element_get_table_column_span ()">poppler_structure_element_get_table_column_span</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> **
+</td>
+<td class="function_name">
+<a class="link" href="PopplerStructureElement.html#poppler-structure-element-get-table-headers" title="poppler_structure_element_get_table_headers ()">poppler_structure_element_get_table_headers</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="PopplerStructureElement.html#PopplerStructureTableScope" title="enum PopplerStructureTableScope"><span class="returnvalue">PopplerStructureTableScope</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="PopplerStructureElement.html#poppler-structure-element-get-table-scope" title="poppler_structure_element_get_table_scope ()">poppler_structure_element_get_table_scope</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="PopplerStructureElement.html#poppler-structure-element-get-table-summary" title="poppler_structure_element_get_table_summary ()">poppler_structure_element_get_table_summary</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="PopplerStructureElement.html#PopplerTextSpan" title="PopplerTextSpan"><span class="returnvalue">PopplerTextSpan</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="PopplerStructureElement.html#poppler-text-span-copy" title="poppler_text_span_copy ()">poppler_text_span_copy</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="PopplerStructureElement.html#poppler-text-span-free" title="poppler_text_span_free ()">poppler_text_span_free</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="PopplerStructureElement.html#poppler-text-span-is-fixed-width-font" title="poppler_text_span_is_fixed_width_font ()">poppler_text_span_is_fixed_width_font</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="PopplerStructureElement.html#poppler-text-span-is-serif-font" title="poppler_text_span_is_serif_font ()">poppler_text_span_is_serif_font</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="PopplerStructureElement.html#poppler-text-span-is-bold-font" title="poppler_text_span_is_bold_font ()">poppler_text_span_is_bold_font</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="PopplerStructureElement.html#poppler-text-span-get-color" title="poppler_text_span_get_color ()">poppler_text_span_get_color</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="PopplerStructureElement.html#poppler-text-span-get-text" title="poppler_text_span_get_text ()">poppler_text_span_get_text</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="PopplerStructureElement.html#poppler-text-span-get-font-name" title="poppler_text_span_get_font_name ()">poppler_text_span_get_font_name</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<a name="PopplerStructureElementIter"></a><div class="refsect1">
+<a name="PopplerStructureElement.other"></a><h2>Types and Values</h2>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="name">
+<col class="description">
+</colgroup>
+<tbody>
+<tr>
+<td class="datatype_keyword"> </td>
+<td class="function_name"><a class="link" href="PopplerStructureElement.html#PopplerStructureElement-struct" title="PopplerStructureElement">PopplerStructureElement</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword">enum</td>
+<td class="function_name"><a class="link" href="PopplerStructureElement.html#PopplerStructureElementKind" title="enum PopplerStructureElementKind">PopplerStructureElementKind</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword"> </td>
+<td class="function_name"><a class="link" href="PopplerStructureElement.html#PopplerStructureElementIter-struct" title="PopplerStructureElementIter">PopplerStructureElementIter</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword">enum</td>
+<td class="function_name"><a class="link" href="PopplerStructureElement.html#PopplerStructureGetTextFlags" title="enum PopplerStructureGetTextFlags">PopplerStructureGetTextFlags</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword">enum</td>
+<td class="function_name"><a class="link" href="PopplerStructureElement.html#PopplerStructurePlacement" title="enum PopplerStructurePlacement">PopplerStructurePlacement</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword">enum</td>
+<td class="function_name"><a class="link" href="PopplerStructureElement.html#PopplerStructureWritingMode" title="enum PopplerStructureWritingMode">PopplerStructureWritingMode</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword">enum</td>
+<td class="function_name"><a class="link" href="PopplerStructureElement.html#PopplerStructureBorderStyle" title="enum PopplerStructureBorderStyle">PopplerStructureBorderStyle</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword">enum</td>
+<td class="function_name"><a class="link" href="PopplerStructureElement.html#PopplerStructureTextAlign" title="enum PopplerStructureTextAlign">PopplerStructureTextAlign</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword">enum</td>
+<td class="function_name"><a class="link" href="PopplerStructureElement.html#PopplerStructureBlockAlign" title="enum PopplerStructureBlockAlign">PopplerStructureBlockAlign</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword">enum</td>
+<td class="function_name"><a class="link" href="PopplerStructureElement.html#PopplerStructureInlineAlign" title="enum PopplerStructureInlineAlign">PopplerStructureInlineAlign</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword">enum</td>
+<td class="function_name"><a class="link" href="PopplerStructureElement.html#PopplerStructureTextDecoration" title="enum PopplerStructureTextDecoration">PopplerStructureTextDecoration</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword">enum</td>
+<td class="function_name"><a class="link" href="PopplerStructureElement.html#PopplerStructureRubyAlign" title="enum PopplerStructureRubyAlign">PopplerStructureRubyAlign</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword">enum</td>
+<td class="function_name"><a class="link" href="PopplerStructureElement.html#PopplerStructureRubyPosition" title="enum PopplerStructureRubyPosition">PopplerStructureRubyPosition</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword">enum</td>
+<td class="function_name"><a class="link" href="PopplerStructureElement.html#PopplerStructureGlyphOrientation" title="enum PopplerStructureGlyphOrientation">PopplerStructureGlyphOrientation</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword">enum</td>
+<td class="function_name"><a class="link" href="PopplerStructureElement.html#PopplerStructureListNumbering" title="enum PopplerStructureListNumbering">PopplerStructureListNumbering</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword">enum</td>
+<td class="function_name"><a class="link" href="PopplerStructureElement.html#PopplerStructureTableScope" title="enum PopplerStructureTableScope">PopplerStructureTableScope</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword">enum</td>
+<td class="function_name"><a class="link" href="PopplerStructureElement.html#PopplerStructureFormRole" title="enum PopplerStructureFormRole">PopplerStructureFormRole</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword">enum</td>
+<td class="function_name"><a class="link" href="PopplerStructureElement.html#PopplerStructureFormState" title="enum PopplerStructureFormState">PopplerStructureFormState</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword"> </td>
+<td class="function_name"><a class="link" href="PopplerStructureElement.html#PopplerTextSpan" title="PopplerTextSpan">PopplerTextSpan</a></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="PopplerStructureElement.object-hierarchy"></a><h2>Object Hierarchy</h2>
+<pre class="screen"> <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Boxed-Types.html">GBoxed</a>
+ <span class="lineart">╰──</span> PopplerStructureElementIter
+ <a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObject">GObject</a>
+ <span class="lineart">╰──</span> PopplerStructureElement
+</pre>
+</div>
+<div class="refsect1">
+<a name="PopplerStructureElement.includes"></a><h2>Includes</h2>
+<pre class="synopsis">#include &lt;poppler.h&gt;
+</pre>
+</div>
+<div class="refsect1">
+<a name="PopplerStructureElement.description"></a><h2>Description</h2>
+<p>Instances of <a class="link" href="PopplerStructureElement.html" title="PopplerStructureElement"><span class="type">PopplerStructureElement</span></a> are used to describe the structure
+of a <a class="link" href="PopplerDocument.html" title="PopplerDocument"><span class="type">PopplerDocument</span></a>. To access the elements in the structure of the
+document, use <a class="link" href="PopplerStructureElement.html#poppler-structure-element-iter-new" title="poppler_structure_element_iter_new ()"><code class="function">poppler_structure_element_iter_new()</code></a> to obtain an iterator
+for the top-level <span class="type">PopplerStructure</span>, and then use the
+<a class="link" href="PopplerStructureElement.html#PopplerStructureElementIter"><span class="type">PopplerStructureElementIter</span></a> methods to traverse the structure tree.</p>
+</div>
+<div class="refsect1">
+<a name="PopplerStructureElement.functions_details"></a><h2>Functions</h2>
+<div class="refsect2">
+<a name="poppler-structure-element-iter-new"></a><h3>poppler_structure_element_iter_new ()</h3>
+<pre class="programlisting"><a class="link" href="PopplerStructureElement.html#PopplerStructureElementIter"><span class="returnvalue">PopplerStructureElementIter</span></a> *
+poppler_structure_element_iter_new (<em class="parameter"><code><a class="link" href="PopplerDocument.html" title="PopplerDocument"><span class="type">PopplerDocument</span></a> *poppler_document</code></em>);</pre>
+<p>Returns the root <a class="link" href="PopplerStructureElement.html#PopplerStructureElementIter"><span class="type">PopplerStructureElementIter</span></a> for <em class="parameter"><code>document</code></em>
+, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. The
+returned value must be freed with <a class="link" href="PopplerStructureElement.html#poppler-structure-element-iter-free" title="poppler_structure_element_iter_free ()"><code class="function">poppler_structure_element_iter_free()</code></a>.</p>
+<p>Documents may have an associated structure tree &amp;mdashmostly, Tagged-PDF
+compliant documents— which can be used to obtain information about
+the document structure and its contents. Each node in the tree contains
+a <a class="link" href="PopplerStructureElement.html" title="PopplerStructureElement"><span class="type">PopplerStructureElement</span></a>.</p>
+<p>Here is a simple example that walks the whole tree:</p>
+<div class="informalexample"><pre class="programlisting">
+static void
+walk_structure (PopplerStructureElementIter *iter)
+{
+ do {
+ /* Get the element and do something with it */
+ PopplerStructureElementIter *child = poppler_structure_element_iter_get_child (iter);
+ if (child)
+ walk_structure (child);
+ poppler_structure_element_iter_free (child);
+ } while (poppler_structure_element_iter_next (iter));
+}
+...
+{
+ iter = poppler_structure_element_iter_new (document);
+ walk_structure (iter);
+ poppler_structure_element_iter_free (iter);
+}
+</pre></div>
+<div class="refsect3">
+<a name="id-1.2.12.9.2.8"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>poppler_document</p></td>
+<td class="parameter_description"><p>a <a class="link" href="PopplerDocument.html" title="PopplerDocument"><span class="type">PopplerDocument</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.2.12.9.2.9"></a><h4>Returns</h4>
+<p> a new <a class="link" href="PopplerStructureElement.html#PopplerStructureElementIter"><span class="type">PopplerStructureElementIter</span></a>, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if document
+doesn't have structure tree. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+<p class="since">Since 0.26</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="poppler-structure-element-iter-next"></a><h3>poppler_structure_element_iter_next ()</h3>
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+poppler_structure_element_iter_next (<em class="parameter"><code><a class="link" href="PopplerStructureElement.html#PopplerStructureElementIter"><span class="type">PopplerStructureElementIter</span></a> *iter</code></em>);</pre>
+<p>Sets <em class="parameter"><code>iter</code></em>
+ to point to the next structure element at the current level
+of the tree, if valid. See <a class="link" href="PopplerStructureElement.html#poppler-structure-element-iter-new" title="poppler_structure_element_iter_new ()"><code class="function">poppler_structure_element_iter_new()</code></a> for more
+information.</p>
+<div class="refsect3">
+<a name="id-1.2.12.9.3.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>iter</p></td>
+<td class="parameter_description"><p>a <a class="link" href="PopplerStructureElement.html#PopplerStructureElementIter"><span class="type">PopplerStructureElementIter</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.2.12.9.3.6"></a><h4>Returns</h4>
+<p> <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>, if <em class="parameter"><code>iter</code></em>
+was set to the next structure element</p>
+<p></p>
+</div>
+<p class="since">Since 0.26</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="poppler-structure-element-iter-copy"></a><h3>poppler_structure_element_iter_copy ()</h3>
+<pre class="programlisting"><a class="link" href="PopplerStructureElement.html#PopplerStructureElementIter"><span class="returnvalue">PopplerStructureElementIter</span></a> *
+poppler_structure_element_iter_copy (<em class="parameter"><code><a class="link" href="PopplerStructureElement.html#PopplerStructureElementIter"><span class="type">PopplerStructureElementIter</span></a> *iter</code></em>);</pre>
+<p>Creates a new <a class="link" href="PopplerStructureElement.html#PopplerStructureElementIter"><span class="type">PopplerStructureElementIter</span></a> as a copy of <em class="parameter"><code>iter</code></em>
+. The
+returned value must be freed with <a class="link" href="PopplerStructureElement.html#poppler-structure-element-iter-free" title="poppler_structure_element_iter_free ()"><code class="function">poppler_structure_element_iter_free()</code></a>.</p>
+<div class="refsect3">
+<a name="id-1.2.12.9.4.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>iter</p></td>
+<td class="parameter_description"><p>a <a class="link" href="PopplerStructureElement.html#PopplerStructureElementIter"><span class="type">PopplerStructureElementIter</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.2.12.9.4.6"></a><h4>Returns</h4>
+<p> a new <a class="link" href="PopplerStructureElement.html#PopplerStructureElementIter"><span class="type">PopplerStructureElementIter</span></a>. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+<p class="since">Since 0.26</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="poppler-structure-element-iter-free"></a><h3>poppler_structure_element_iter_free ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+poppler_structure_element_iter_free (<em class="parameter"><code><a class="link" href="PopplerStructureElement.html#PopplerStructureElementIter"><span class="type">PopplerStructureElementIter</span></a> *iter</code></em>);</pre>
+<p>Frees <em class="parameter"><code>iter</code></em>
+.</p>
+<div class="refsect3">
+<a name="id-1.2.12.9.5.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>iter</p></td>
+<td class="parameter_description"><p>a <a class="link" href="PopplerStructureElement.html#PopplerStructureElementIter"><span class="type">PopplerStructureElementIter</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<p class="since">Since 0.26</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="poppler-structure-element-iter-get-child"></a><h3>poppler_structure_element_iter_get_child ()</h3>
+<pre class="programlisting"><a class="link" href="PopplerStructureElement.html#PopplerStructureElementIter"><span class="returnvalue">PopplerStructureElementIter</span></a> *
+poppler_structure_element_iter_get_child
+ (<em class="parameter"><code><a class="link" href="PopplerStructureElement.html#PopplerStructureElementIter"><span class="type">PopplerStructureElementIter</span></a> *parent</code></em>);</pre>
+<p>Returns a new iterator to the children elements of the
+<a class="link" href="PopplerStructureElement.html" title="PopplerStructureElement"><span class="type">PopplerStructureElement</span></a> associated with <em class="parameter"><code>iter</code></em>
+. The returned value must
+be freed with <a class="link" href="PopplerStructureElement.html#poppler-structure-element-iter-free" title="poppler_structure_element_iter_free ()"><code class="function">poppler_structure_element_iter_free()</code></a>.</p>
+<div class="refsect3">
+<a name="id-1.2.12.9.6.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>parent</p></td>
+<td class="parameter_description"><p>a <a class="link" href="PopplerStructureElement.html#PopplerStructureElementIter"><span class="type">PopplerStructureElementIter</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.2.12.9.6.6"></a><h4>Returns</h4>
+<p> a new <a class="link" href="PopplerStructureElement.html#PopplerStructureElementIter"><span class="type">PopplerStructureElementIter</span></a></p>
+<p></p>
+</div>
+<p class="since">Since 0.26</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="poppler-structure-element-iter-get-element"></a><h3>poppler_structure_element_iter_get_element ()</h3>
+<pre class="programlisting"><a class="link" href="PopplerStructureElement.html" title="PopplerStructureElement"><span class="returnvalue">PopplerStructureElement</span></a> *
+poppler_structure_element_iter_get_element
+ (<em class="parameter"><code><a class="link" href="PopplerStructureElement.html#PopplerStructureElementIter"><span class="type">PopplerStructureElementIter</span></a> *iter</code></em>);</pre>
+<p>Returns the <a class="link" href="PopplerStructureElement.html#PopplerStructureElementIter"><span class="type">PopplerStructureElementIter</span></a> associated with <em class="parameter"><code>iter</code></em>
+.</p>
+<div class="refsect3">
+<a name="id-1.2.12.9.7.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>iter</p></td>
+<td class="parameter_description"><p>a <a class="link" href="PopplerStructureElement.html#PopplerStructureElementIter"><span class="type">PopplerStructureElementIter</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.2.12.9.7.6"></a><h4>Returns</h4>
+<p> a new <a class="link" href="PopplerStructureElement.html#PopplerStructureElementIter"><span class="type">PopplerStructureElementIter</span></a>. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+<p class="since">Since 0.26</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="poppler-structure-element-get-kind"></a><h3>poppler_structure_element_get_kind ()</h3>
+<pre class="programlisting"><a class="link" href="PopplerStructureElement.html#PopplerStructureElementKind" title="enum PopplerStructureElementKind"><span class="returnvalue">PopplerStructureElementKind</span></a>
+poppler_structure_element_get_kind (<em class="parameter"><code><a class="link" href="PopplerStructureElement.html" title="PopplerStructureElement"><span class="type">PopplerStructureElement</span></a> *poppler_structure_element</code></em>);</pre>
+<div class="refsect3">
+<a name="id-1.2.12.9.8.4"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>poppler_structure_element</p></td>
+<td class="parameter_description"><p>A <a class="link" href="PopplerStructureElement.html" title="PopplerStructureElement"><span class="type">PopplerStructureElement</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.2.12.9.8.5"></a><h4>Returns</h4>
+<p> A <a class="link" href="PopplerStructureElement.html#PopplerStructureElementKind" title="enum PopplerStructureElementKind"><span class="type">PopplerStructureElementKind</span></a> value.</p>
+<p></p>
+</div>
+<p class="since">Since 0.26</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="poppler-structure-element-get-page"></a><h3>poppler_structure_element_get_page ()</h3>
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="returnvalue">gint</span></a>
+poppler_structure_element_get_page (<em class="parameter"><code><a class="link" href="PopplerStructureElement.html" title="PopplerStructureElement"><span class="type">PopplerStructureElement</span></a> *poppler_structure_element</code></em>);</pre>
+<p>Obtains the page number in which the element is contained.</p>
+<div class="refsect3">
+<a name="id-1.2.12.9.9.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>poppler_structure_element</p></td>
+<td class="parameter_description"><p>A <a class="link" href="PopplerStructureElement.html" title="PopplerStructureElement"><span class="type">PopplerStructureElement</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.2.12.9.9.6"></a><h4>Returns</h4>
+<p> Number of the page that contains the element, of</p>
+<code class="code">-1</code> if not defined.
+<p></p>
+</div>
+<p class="since">Since 0.26</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="poppler-structure-element-is-content"></a><h3>poppler_structure_element_is_content ()</h3>
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+poppler_structure_element_is_content (<em class="parameter"><code><a class="link" href="PopplerStructureElement.html" title="PopplerStructureElement"><span class="type">PopplerStructureElement</span></a> *poppler_structure_element</code></em>);</pre>
+<p>Checks whether an element is actual document content.</p>
+<div class="refsect3">
+<a name="id-1.2.12.9.10.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>poppler_structure_element</p></td>
+<td class="parameter_description"><p>A <a class="link" href="PopplerStructureElement.html" title="PopplerStructureElement"><span class="type">PopplerStructureElement</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.2.12.9.10.6"></a><h4>Returns</h4>
+<p> <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the element is content, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise.</p>
+<p></p>
+</div>
+<p class="since">Since 0.26</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="poppler-structure-element-is-inline"></a><h3>poppler_structure_element_is_inline ()</h3>
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+poppler_structure_element_is_inline (<em class="parameter"><code><a class="link" href="PopplerStructureElement.html" title="PopplerStructureElement"><span class="type">PopplerStructureElement</span></a> *poppler_structure_element</code></em>);</pre>
+<p>Checks whether an element is an inline element.</p>
+<div class="refsect3">
+<a name="id-1.2.12.9.11.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>poppler_structure_element</p></td>
+<td class="parameter_description"><p>A <a class="link" href="PopplerStructureElement.html" title="PopplerStructureElement"><span class="type">PopplerStructureElement</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.2.12.9.11.6"></a><h4>Returns</h4>
+<p> <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the element is an inline element, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise.</p>
+<p></p>
+</div>
+<p class="since">Since 0.26</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="poppler-structure-element-is-block"></a><h3>poppler_structure_element_is_block ()</h3>
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+poppler_structure_element_is_block (<em class="parameter"><code><a class="link" href="PopplerStructureElement.html" title="PopplerStructureElement"><span class="type">PopplerStructureElement</span></a> *poppler_structure_element</code></em>);</pre>
+<p>Checks whether an element is a block element.</p>
+<div class="refsect3">
+<a name="id-1.2.12.9.12.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>poppler_structure_element</p></td>
+<td class="parameter_description"><p>A <a class="link" href="PopplerStructureElement.html" title="PopplerStructureElement"><span class="type">PopplerStructureElement</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.2.12.9.12.6"></a><h4>Returns</h4>
+<p> <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the element is a block element, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise.</p>
+<p></p>
+</div>
+<p class="since">Since 0.26</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="poppler-structure-element-is-grouping"></a><h3>poppler_structure_element_is_grouping ()</h3>
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+poppler_structure_element_is_grouping (<em class="parameter"><code><a class="link" href="PopplerStructureElement.html" title="PopplerStructureElement"><span class="type">PopplerStructureElement</span></a> *poppler_structure_element</code></em>);</pre>
+<p>Checks whether an element is a grouping element.</p>
+<div class="refsect3">
+<a name="id-1.2.12.9.13.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>poppler_structure_element</p></td>
+<td class="parameter_description"><p>A <a class="link" href="PopplerStructureElement.html" title="PopplerStructureElement"><span class="type">PopplerStructureElement</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.2.12.9.13.6"></a><h4>Returns</h4>
+<p> <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the element is a grouping element, <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a>
+otherwise.</p>
+<p></p>
+</div>
+<p class="since">Since 0.26</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="poppler-structure-element-get-id"></a><h3>poppler_structure_element_get_id ()</h3>
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+poppler_structure_element_get_id (<em class="parameter"><code><a class="link" href="PopplerStructureElement.html" title="PopplerStructureElement"><span class="type">PopplerStructureElement</span></a> *poppler_structure_element</code></em>);</pre>
+<p>Obtains the identifier of an element.</p>
+<div class="refsect3">
+<a name="id-1.2.12.9.14.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>poppler_structure_element</p></td>
+<td class="parameter_description"><p>A <a class="link" href="PopplerStructureElement.html" title="PopplerStructureElement"><span class="type">PopplerStructureElement</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.2.12.9.14.6"></a><h4>Returns</h4>
+<p> The identifier of the element (if
+defined), or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+<p class="since">Since 0.26</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="poppler-structure-element-get-title"></a><h3>poppler_structure_element_get_title ()</h3>
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+poppler_structure_element_get_title (<em class="parameter"><code><a class="link" href="PopplerStructureElement.html" title="PopplerStructureElement"><span class="type">PopplerStructureElement</span></a> *poppler_structure_element</code></em>);</pre>
+<p>Obtains the title of an element.</p>
+<div class="refsect3">
+<a name="id-1.2.12.9.15.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>poppler_structure_element</p></td>
+<td class="parameter_description"><p>A <a class="link" href="PopplerStructureElement.html" title="PopplerStructureElement"><span class="type">PopplerStructureElement</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.2.12.9.15.6"></a><h4>Returns</h4>
+<p> The title of the element, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+<p class="since">Since 0.26</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="poppler-structure-element-get-abbreviation"></a><h3>poppler_structure_element_get_abbreviation ()</h3>
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+poppler_structure_element_get_abbreviation
+ (<em class="parameter"><code><a class="link" href="PopplerStructureElement.html" title="PopplerStructureElement"><span class="type">PopplerStructureElement</span></a> *poppler_structure_element</code></em>);</pre>
+</div>
+<hr>
+<div class="refsect2">
+<a name="poppler-structure-element-get-language"></a><h3>poppler_structure_element_get_language ()</h3>
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+poppler_structure_element_get_language
+ (<em class="parameter"><code><a class="link" href="PopplerStructureElement.html" title="PopplerStructureElement"><span class="type">PopplerStructureElement</span></a> *poppler_structure_element</code></em>);</pre>
+<p>Obtains the language and country code for the content in an element,
+in two-letter ISO format, e.g. <code class="code">en_ES</code>, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if not
+defined.</p>
+<div class="refsect3">
+<a name="id-1.2.12.9.17.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>poppler_structure_element</p></td>
+<td class="parameter_description"><p>A <a class="link" href="PopplerStructureElement.html" title="PopplerStructureElement"><span class="type">PopplerStructureElement</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.2.12.9.17.6"></a><h4>Returns</h4>
+<p> language and country code, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+<p class="since">Since 0.26</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="poppler-structure-element-get-text"></a><h3>poppler_structure_element_get_text ()</h3>
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+poppler_structure_element_get_text (<em class="parameter"><code><a class="link" href="PopplerStructureElement.html" title="PopplerStructureElement"><span class="type">PopplerStructureElement</span></a> *poppler_structure_element</code></em>,
+ <em class="parameter"><code><a class="link" href="PopplerStructureElement.html#PopplerStructureGetTextFlags" title="enum PopplerStructureGetTextFlags"><span class="type">PopplerStructureGetTextFlags</span></a> flags</code></em>);</pre>
+<p>Obtains the text enclosed by an element, or the text enclosed by the
+elements in the subtree (including the element itself).</p>
+<div class="refsect3">
+<a name="id-1.2.12.9.18.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>poppler_structure_element</p></td>
+<td class="parameter_description"><p>A <a class="link" href="PopplerStructureElement.html" title="PopplerStructureElement"><span class="type">PopplerStructureElement</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>flags</p></td>
+<td class="parameter_description"><p>A <a class="link" href="PopplerStructureElement.html#PopplerStructureGetTextFlags" title="enum PopplerStructureGetTextFlags"><span class="type">PopplerStructureGetTextFlags</span></a> value, or
+<a class="link" href="PopplerStructureElement.html#POPPLER-STRUCTURE-GET-TEXT-NONE:CAPS"><code class="literal">POPPLER_STRUCTURE_GET_TEXT_NONE</code></a> to disable all the flags.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.2.12.9.18.6"></a><h4>Returns</h4>
+<p> A string. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+<p class="since">Since 0.26</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="poppler-structure-element-get-alt-text"></a><h3>poppler_structure_element_get_alt_text ()</h3>
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+poppler_structure_element_get_alt_text
+ (<em class="parameter"><code><a class="link" href="PopplerStructureElement.html" title="PopplerStructureElement"><span class="type">PopplerStructureElement</span></a> *poppler_structure_element</code></em>);</pre>
+<p>Obtains the “alternate†text representation of the element (and its child
+elements). This is mostly used for non-text elements like images and
+figures, to specify a textual description of the element.</p>
+<p>Note that for elements containing proper text, the function
+<a class="link" href="PopplerStructureElement.html#poppler-structure-element-get-text" title="poppler_structure_element_get_text ()"><code class="function">poppler_structure_element_get_text()</code></a> must be used instead.</p>
+<div class="refsect3">
+<a name="id-1.2.12.9.19.6"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>poppler_structure_element</p></td>
+<td class="parameter_description"><p>A <a class="link" href="PopplerStructureElement.html" title="PopplerStructureElement"><span class="type">PopplerStructureElement</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.2.12.9.19.7"></a><h4>Returns</h4>
+<p> The alternate text representation for the
+element, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if not defined. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+<p class="since">Since 0.26</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="poppler-structure-element-get-actual-text"></a><h3>poppler_structure_element_get_actual_text ()</h3>
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+poppler_structure_element_get_actual_text
+ (<em class="parameter"><code><a class="link" href="PopplerStructureElement.html" title="PopplerStructureElement"><span class="type">PopplerStructureElement</span></a> *poppler_structure_element</code></em>);</pre>
+<p>Obtains the actual text enclosed by the element (and its child elements).
+The actual text is mostly used for non-text elements like images and
+figures which <span style="color: red">&lt;em&gt;do&lt;/em&gt;</span> have the graphical appearance of text, like
+a logo. For those the actual text is the equivalent text to those
+graphical elements which look like text when rendered.</p>
+<p>Note that for elements containing proper text, the function
+<a class="link" href="PopplerStructureElement.html#poppler-structure-element-get-text" title="poppler_structure_element_get_text ()"><code class="function">poppler_structure_element_get_text()</code></a> must be used instead.</p>
+<div class="refsect3">
+<a name="id-1.2.12.9.20.6"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>poppler_structure_element</p></td>
+<td class="parameter_description"><p>A <a class="link" href="PopplerStructureElement.html" title="PopplerStructureElement"><span class="type">PopplerStructureElement</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.2.12.9.20.7"></a><h4>Returns</h4>
+<p> The actual text for the element, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>
+if not defined. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+<p class="since">Since 0.26</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="poppler-structure-element-get-text-spans"></a><h3>poppler_structure_element_get_text_spans ()</h3>
+<pre class="programlisting"><a class="link" href="PopplerStructureElement.html#PopplerTextSpan" title="PopplerTextSpan"><span class="returnvalue">PopplerTextSpan</span></a> **
+poppler_structure_element_get_text_spans
+ (<em class="parameter"><code><a class="link" href="PopplerStructureElement.html" title="PopplerStructureElement"><span class="type">PopplerStructureElement</span></a> *poppler_structure_element</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> *n_text_spans</code></em>);</pre>
+<p>Obtains the text enclosed by an element, as an array of <a class="link" href="PopplerStructureElement.html#PopplerTextSpan" title="PopplerTextSpan"><span class="type">PopplerTextSpan</span></a>
+structures. Each item in the list is a piece of text which share the same
+attributes, plus its attributes. The following example shows how to
+obtain and free the text spans of an element:</p>
+<div class="informalexample"><pre class="programlisting">
+guint i, n_spans;
+PopplerTextSpan **text_spans =
+ poppler_structure_element_get_text_spans (element, &amp;n_spans);
+/* Use the text spans */
+for (i = 0; i &lt; n_spans; i++)
+ poppler_text_span_free (text_spans[i]);
+g_free (text_spans);
+</pre></div>
+<div class="refsect3">
+<a name="id-1.2.12.9.21.6"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>poppler_structure_element</p></td>
+<td class="parameter_description"><p>A <a class="link" href="PopplerStructureElement.html" title="PopplerStructureElement"><span class="type">PopplerStructureElement</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>n_text_spans</p></td>
+<td class="parameter_description"><p> A pointer to the location where the number of elements in
+the returned array will be stored. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.2.12.9.21.7"></a><h4>Returns</h4>
+<p> An array of <a class="link" href="PopplerStructureElement.html#PopplerTextSpan" title="PopplerTextSpan"><span class="type">PopplerTextSpan</span></a> elments. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>][<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=n_text_spans][<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> PopplerTextSpan]</span></p>
+</div>
+<p class="since">Since 0.26</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="poppler-structure-element-get-placement"></a><h3>poppler_structure_element_get_placement ()</h3>
+<pre class="programlisting"><a class="link" href="PopplerStructureElement.html#PopplerStructurePlacement" title="enum PopplerStructurePlacement"><span class="returnvalue">PopplerStructurePlacement</span></a>
+poppler_structure_element_get_placement
+ (<em class="parameter"><code><a class="link" href="PopplerStructureElement.html" title="PopplerStructureElement"><span class="type">PopplerStructureElement</span></a> *poppler_structure_element</code></em>);</pre>
+<p>Obtains the placement type of the structure element.</p>
+<div class="refsect3">
+<a name="id-1.2.12.9.22.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>poppler_structure_element</p></td>
+<td class="parameter_description"><p>A <a class="link" href="PopplerStructureElement.html" title="PopplerStructureElement"><span class="type">PopplerStructureElement</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.2.12.9.22.6"></a><h4>Returns</h4>
+<p> A <a class="link" href="PopplerStructureElement.html#PopplerStructurePlacement" title="enum PopplerStructurePlacement"><span class="type">PopplerStructurePlacement</span></a> value.</p>
+<p></p>
+</div>
+<p class="since">Since 0.26</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="poppler-structure-element-get-writing-mode"></a><h3>poppler_structure_element_get_writing_mode ()</h3>
+<pre class="programlisting"><a class="link" href="PopplerStructureElement.html#PopplerStructureWritingMode" title="enum PopplerStructureWritingMode"><span class="returnvalue">PopplerStructureWritingMode</span></a>
+poppler_structure_element_get_writing_mode
+ (<em class="parameter"><code><a class="link" href="PopplerStructureElement.html" title="PopplerStructureElement"><span class="type">PopplerStructureElement</span></a> *poppler_structure_element</code></em>);</pre>
+<p>Obtains the writing mode (writing direction) of the content associated
+with a structure element.</p>
+<div class="refsect3">
+<a name="id-1.2.12.9.23.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>poppler_structure_element</p></td>
+<td class="parameter_description"><p>A <a class="link" href="PopplerStructureElement.html" title="PopplerStructureElement"><span class="type">PopplerStructureElement</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.2.12.9.23.6"></a><h4>Returns</h4>
+<p> A <a class="link" href="PopplerStructureElement.html#PopplerStructureWritingMode" title="enum PopplerStructureWritingMode"><span class="type">PopplerStructureWritingMode</span></a> value.</p>
+<p></p>
+</div>
+<p class="since">Since 0.26</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="poppler-structure-element-get-background-color"></a><h3>poppler_structure_element_get_background_color ()</h3>
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+poppler_structure_element_get_background_color
+ (<em class="parameter"><code><a class="link" href="PopplerStructureElement.html" title="PopplerStructureElement"><span class="type">PopplerStructureElement</span></a> *poppler_structure_element</code></em>,
+ <em class="parameter"><code><a class="link" href="poppler-poppler.html#PopplerColor" title="PopplerColor"><span class="type">PopplerColor</span></a> *color</code></em>);</pre>
+<p>Obtains the background color of the element. If this attribute is
+not specified, the element shall be treated as if it were transparent.</p>
+<div class="refsect3">
+<a name="id-1.2.12.9.24.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>poppler_structure_element</p></td>
+<td class="parameter_description"><p>A <a class="link" href="PopplerStructureElement.html" title="PopplerStructureElement"><span class="type">PopplerStructureElement</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>color</p></td>
+<td class="parameter_description"><p> A <a class="link" href="poppler-poppler.html#PopplerColor" title="PopplerColor"><span class="type">PopplerColor</span></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.2.12.9.24.6"></a><h4>Returns</h4>
+<p> <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if a color is defined for the element,
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise.</p>
+<p></p>
+</div>
+<p class="since">Since 0.26</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="poppler-structure-element-get-border-color"></a><h3>poppler_structure_element_get_border_color ()</h3>
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+poppler_structure_element_get_border_color
+ (<em class="parameter"><code><a class="link" href="PopplerStructureElement.html" title="PopplerStructureElement"><span class="type">PopplerStructureElement</span></a> *poppler_structure_element</code></em>,
+ <em class="parameter"><code><a class="link" href="poppler-poppler.html#PopplerColor" title="PopplerColor"><span class="type">PopplerColor</span></a> *colors</code></em>);</pre>
+<p>Obtains the color of border around the element. The result values
+are in before-after-start-end ordering (for the typical Western
+left-to-right writing, that is top-bottom-left-right).
+If this attribute is not specified, the border color for this element shall
+be the current text fill color in effect at the start of its associated
+content.</p>
+<div class="refsect3">
+<a name="id-1.2.12.9.25.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>poppler_structure_element</p></td>
+<td class="parameter_description"><p>A <a class="link" href="PopplerStructureElement.html" title="PopplerStructureElement"><span class="type">PopplerStructureElement</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>colors</p></td>
+<td class="parameter_description"><p> An array
+of four <a class="link" href="poppler-poppler.html#PopplerColor" title="PopplerColor"><span class="type">PopplerColor</span></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> fixed-size=4][<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> PopplerColor]</span></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.2.12.9.25.6"></a><h4>Returns</h4>
+<p> <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if a color is defined for the element,
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise.</p>
+<p></p>
+</div>
+<p class="since">Since 0.26</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="poppler-structure-element-get-border-style"></a><h3>poppler_structure_element_get_border_style ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+poppler_structure_element_get_border_style
+ (<em class="parameter"><code><a class="link" href="PopplerStructureElement.html" title="PopplerStructureElement"><span class="type">PopplerStructureElement</span></a> *poppler_structure_element</code></em>,
+ <em class="parameter"><code><a class="link" href="PopplerStructureElement.html#PopplerStructureBorderStyle" title="enum PopplerStructureBorderStyle"><span class="type">PopplerStructureBorderStyle</span></a> *border_styles</code></em>);</pre>
+<p>Obtains the border style of a structure element. The result values
+are in before-after-start-end ordering. For example, using Western
+left-to-right writing, that is top-bottom-left-right.</p>
+<div class="refsect3">
+<a name="id-1.2.12.9.26.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>poppler_structure_element</p></td>
+<td class="parameter_description"><p>A <a class="link" href="PopplerStructureElement.html" title="PopplerStructureElement"><span class="type">PopplerStructureElement</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>border_styles</p></td>
+<td class="parameter_description"><p> An array of four <a class="link" href="PopplerStructureElement.html#PopplerStructureBorderStyle" title="enum PopplerStructureBorderStyle"><span class="type">PopplerStructureBorderStyle</span></a> elements. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> fixed-size=4][<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> PopplerStructureBorderStyle]</span></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<p class="since">Since 0.26</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="poppler-structure-element-get-border-thickness"></a><h3>poppler_structure_element_get_border_thickness ()</h3>
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+poppler_structure_element_get_border_thickness
+ (<em class="parameter"><code><a class="link" href="PopplerStructureElement.html" title="PopplerStructureElement"><span class="type">PopplerStructureElement</span></a> *poppler_structure_element</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> *border_thicknesses</code></em>);</pre>
+<p>Obtains the thickness of the border of an element. The result values
+are in before-after-start-end ordering (for the typical Western
+left-to-right writing, that is top-bottom-left-right).
+A value of 0 indicates that the border shall not be drawn.</p>
+<div class="refsect3">
+<a name="id-1.2.12.9.27.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>poppler_structure_element</p></td>
+<td class="parameter_description"><p>A <a class="link" href="PopplerStructureElement.html" title="PopplerStructureElement"><span class="type">PopplerStructureElement</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>border_thicknesses</p></td>
+<td class="parameter_description"><p> Array with the four values of border thicknesses. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> fixed-size=4][<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> gdouble]</span></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.2.12.9.27.6"></a><h4>Returns</h4>
+<p> <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the border thickness attribute is defined for
+the element, <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise.</p>
+<p></p>
+</div>
+<p class="since">Since 0.26</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="poppler-structure-element-get-padding"></a><h3>poppler_structure_element_get_padding ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+poppler_structure_element_get_padding (<em class="parameter"><code><a class="link" href="PopplerStructureElement.html" title="PopplerStructureElement"><span class="type">PopplerStructureElement</span></a> *poppler_structure_element</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> *paddings</code></em>);</pre>
+<p>Obtains the padding of an element (space around it). The result
+values are in before-after-start-end ordering. For example using
+Western left-to-right writing, that is top-bottom-left-right.</p>
+<div class="refsect3">
+<a name="id-1.2.12.9.28.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>poppler_structure_element</p></td>
+<td class="parameter_description"><p>A <a class="link" href="PopplerStructureElement.html" title="PopplerStructureElement"><span class="type">PopplerStructureElement</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>paddings</p></td>
+<td class="parameter_description"><p> Padding for the four sides of the element. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> fixed-size=4][<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> gdouble]</span></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<p class="since">Since 0.26</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="poppler-structure-element-get-color"></a><h3>poppler_structure_element_get_color ()</h3>
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+poppler_structure_element_get_color (<em class="parameter"><code><a class="link" href="PopplerStructureElement.html" title="PopplerStructureElement"><span class="type">PopplerStructureElement</span></a> *poppler_structure_element</code></em>,
+ <em class="parameter"><code><a class="link" href="poppler-poppler.html#PopplerColor" title="PopplerColor"><span class="type">PopplerColor</span></a> *color</code></em>);</pre>
+<p>Obtains the color of the content contained in the element.
+If this attribute is not specified, the color for this element shall
+be the current text fill color in effect at the start of its associated content.</p>
+<div class="refsect3">
+<a name="id-1.2.12.9.29.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>poppler_structure_element</p></td>
+<td class="parameter_description"><p>A <a class="link" href="PopplerStructureElement.html" title="PopplerStructureElement"><span class="type">PopplerStructureElement</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>color</p></td>
+<td class="parameter_description"><p> A <a class="link" href="poppler-poppler.html#PopplerColor" title="PopplerColor"><span class="type">PopplerColor</span></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.2.12.9.29.6"></a><h4>Returns</h4>
+<p> <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if a color is defined for the element,
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise.</p>
+<p></p>
+</div>
+<p class="since">Since 0.26</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="poppler-structure-element-get-space-before"></a><h3>poppler_structure_element_get_space_before ()</h3>
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="returnvalue">gdouble</span></a>
+poppler_structure_element_get_space_before
+ (<em class="parameter"><code><a class="link" href="PopplerStructureElement.html" title="PopplerStructureElement"><span class="type">PopplerStructureElement</span></a> *poppler_structure_element</code></em>);</pre>
+<p>Obtains the amount of empty space before the block-level structure element.</p>
+<div class="refsect3">
+<a name="id-1.2.12.9.30.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>poppler_structure_element</p></td>
+<td class="parameter_description"><p>A <a class="link" href="PopplerStructureElement.html" title="PopplerStructureElement"><span class="type">PopplerStructureElement</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.2.12.9.30.6"></a><h4>Returns</h4>
+<p> A positive value.</p>
+<p></p>
+</div>
+<p class="since">Since 0.26</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="poppler-structure-element-get-space-after"></a><h3>poppler_structure_element_get_space_after ()</h3>
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="returnvalue">gdouble</span></a>
+poppler_structure_element_get_space_after
+ (<em class="parameter"><code><a class="link" href="PopplerStructureElement.html" title="PopplerStructureElement"><span class="type">PopplerStructureElement</span></a> *poppler_structure_element</code></em>);</pre>
+<p>Obtains the amount of empty space after the block-level structure element.</p>
+<div class="refsect3">
+<a name="id-1.2.12.9.31.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>poppler_structure_element</p></td>
+<td class="parameter_description"><p>A <a class="link" href="PopplerStructureElement.html" title="PopplerStructureElement"><span class="type">PopplerStructureElement</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.2.12.9.31.6"></a><h4>Returns</h4>
+<p> A positive value.</p>
+<p></p>
+</div>
+<p class="since">Since 0.26</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="poppler-structure-element-get-start-indent"></a><h3>poppler_structure_element_get_start_indent ()</h3>
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="returnvalue">gdouble</span></a>
+poppler_structure_element_get_start_indent
+ (<em class="parameter"><code><a class="link" href="PopplerStructureElement.html" title="PopplerStructureElement"><span class="type">PopplerStructureElement</span></a> *poppler_structure_element</code></em>);</pre>
+<p>Obtains the amount of indentation at the beginning of the block-level structure element.</p>
+<div class="refsect3">
+<a name="id-1.2.12.9.32.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>poppler_structure_element</p></td>
+<td class="parameter_description"><p>A <a class="link" href="PopplerStructureElement.html" title="PopplerStructureElement"><span class="type">PopplerStructureElement</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.2.12.9.32.6"></a><h4>Returns</h4>
+<p> A numeric value.</p>
+<p></p>
+</div>
+<p class="since">Since 0.26</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="poppler-structure-element-get-end-indent"></a><h3>poppler_structure_element_get_end_indent ()</h3>
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="returnvalue">gdouble</span></a>
+poppler_structure_element_get_end_indent
+ (<em class="parameter"><code><a class="link" href="PopplerStructureElement.html" title="PopplerStructureElement"><span class="type">PopplerStructureElement</span></a> *poppler_structure_element</code></em>);</pre>
+<p>Obtains the amount of indentation at the end of the block-level structure element.</p>
+<div class="refsect3">
+<a name="id-1.2.12.9.33.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>poppler_structure_element</p></td>
+<td class="parameter_description"><p>A <a class="link" href="PopplerStructureElement.html" title="PopplerStructureElement"><span class="type">PopplerStructureElement</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.2.12.9.33.6"></a><h4>Returns</h4>
+<p> A numeric value.</p>
+<p></p>
+</div>
+<p class="since">Since 0.26</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="poppler-structure-element-get-text-indent"></a><h3>poppler_structure_element_get_text_indent ()</h3>
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="returnvalue">gdouble</span></a>
+poppler_structure_element_get_text_indent
+ (<em class="parameter"><code><a class="link" href="PopplerStructureElement.html" title="PopplerStructureElement"><span class="type">PopplerStructureElement</span></a> *poppler_structure_element</code></em>);</pre>
+<p>Obtains the amount of indentation of the text contained in the block-level structure element.</p>
+<div class="refsect3">
+<a name="id-1.2.12.9.34.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>poppler_structure_element</p></td>
+<td class="parameter_description"><p>A <a class="link" href="PopplerStructureElement.html" title="PopplerStructureElement"><span class="type">PopplerStructureElement</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.2.12.9.34.6"></a><h4>Returns</h4>
+<p> A numeric value.</p>
+<p></p>
+</div>
+<p class="since">Since 0.26</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="poppler-structure-element-get-text-align"></a><h3>poppler_structure_element_get_text_align ()</h3>
+<pre class="programlisting"><a class="link" href="PopplerStructureElement.html#PopplerStructureTextAlign" title="enum PopplerStructureTextAlign"><span class="returnvalue">PopplerStructureTextAlign</span></a>
+poppler_structure_element_get_text_align
+ (<em class="parameter"><code><a class="link" href="PopplerStructureElement.html" title="PopplerStructureElement"><span class="type">PopplerStructureElement</span></a> *poppler_structure_element</code></em>);</pre>
+<p>Obtains the text alignment mode of the text contained into a
+block-level structure element.</p>
+<div class="refsect3">
+<a name="id-1.2.12.9.35.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>poppler_structure_element</p></td>
+<td class="parameter_description"><p>A <a class="link" href="PopplerStructureElement.html" title="PopplerStructureElement"><span class="type">PopplerStructureElement</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.2.12.9.35.6"></a><h4>Returns</h4>
+<p> A <a class="link" href="PopplerStructureElement.html#PopplerStructureTextAlign" title="enum PopplerStructureTextAlign"><span class="type">PopplerStructureTextAlign</span></a> value.</p>
+<p></p>
+</div>
+<p class="since">Since 0.26</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="poppler-structure-element-get-bounding-box"></a><h3>poppler_structure_element_get_bounding_box ()</h3>
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+poppler_structure_element_get_bounding_box
+ (<em class="parameter"><code><a class="link" href="PopplerStructureElement.html" title="PopplerStructureElement"><span class="type">PopplerStructureElement</span></a> *poppler_structure_element</code></em>,
+ <em class="parameter"><code><a class="link" href="PopplerPage.html#PopplerRectangle" title="PopplerRectangle"><span class="type">PopplerRectangle</span></a> *bounding_box</code></em>);</pre>
+<p>Obtains the size of the bounding box of a block-level structure element.</p>
+<div class="refsect3">
+<a name="id-1.2.12.9.36.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>poppler_structure_element</p></td>
+<td class="parameter_description"><p>A <a class="link" href="PopplerStructureElement.html" title="PopplerStructureElement"><span class="type">PopplerStructureElement</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>bounding_box</p></td>
+<td class="parameter_description"><p> A <a class="link" href="PopplerPage.html#PopplerRectangle" title="PopplerRectangle"><span class="type">PopplerRectangle</span></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.2.12.9.36.6"></a><h4>Returns</h4>
+<p> <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if a bounding box is defined for the element,
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise.</p>
+<p></p>
+</div>
+<p class="since">Since 0.26</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="poppler-structure-element-get-width"></a><h3>poppler_structure_element_get_width ()</h3>
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="returnvalue">gdouble</span></a>
+poppler_structure_element_get_width (<em class="parameter"><code><a class="link" href="PopplerStructureElement.html" title="PopplerStructureElement"><span class="type">PopplerStructureElement</span></a> *poppler_structure_element</code></em>);</pre>
+<p>Obtains the width of the block-level structure element. Note that for elements which do
+not specify a width, it has to be calculated, and in this case -1 is returned.</p>
+<div class="refsect3">
+<a name="id-1.2.12.9.37.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>poppler_structure_element</p></td>
+<td class="parameter_description"><p>A <a class="link" href="PopplerStructureElement.html" title="PopplerStructureElement"><span class="type">PopplerStructureElement</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.2.12.9.37.6"></a><h4>Returns</h4>
+<p> A positive value if a width is defined, or -1
+if the width is to be calculated automatically.</p>
+<p></p>
+</div>
+<p class="since">Since 0.26</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="poppler-structure-element-get-height"></a><h3>poppler_structure_element_get_height ()</h3>
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="returnvalue">gdouble</span></a>
+poppler_structure_element_get_height (<em class="parameter"><code><a class="link" href="PopplerStructureElement.html" title="PopplerStructureElement"><span class="type">PopplerStructureElement</span></a> *poppler_structure_element</code></em>);</pre>
+<p>Obtains the height of the block-level structure element. Note that for elements which do
+not specify a height, it has to be calculated, and in this case -1 is returned.</p>
+<div class="refsect3">
+<a name="id-1.2.12.9.38.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>poppler_structure_element</p></td>
+<td class="parameter_description"><p>A <a class="link" href="PopplerStructureElement.html" title="PopplerStructureElement"><span class="type">PopplerStructureElement</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.2.12.9.38.6"></a><h4>Returns</h4>
+<p> A positive value if a width is defined, or -1
+if the height is to be calculated automatically.</p>
+<p></p>
+</div>
+<p class="since">Since 0.26</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="poppler-structure-element-get-block-align"></a><h3>poppler_structure_element_get_block_align ()</h3>
+<pre class="programlisting"><a class="link" href="PopplerStructureElement.html#PopplerStructureBlockAlign" title="enum PopplerStructureBlockAlign"><span class="returnvalue">PopplerStructureBlockAlign</span></a>
+poppler_structure_element_get_block_align
+ (<em class="parameter"><code><a class="link" href="PopplerStructureElement.html" title="PopplerStructureElement"><span class="type">PopplerStructureElement</span></a> *poppler_structure_element</code></em>);</pre>
+<p>Obtains the block-alignment mode of the block-level structure element.</p>
+<div class="refsect3">
+<a name="id-1.2.12.9.39.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>poppler_structure_element</p></td>
+<td class="parameter_description"><p>A <a class="link" href="PopplerStructureElement.html" title="PopplerStructureElement"><span class="type">PopplerStructureElement</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.2.12.9.39.6"></a><h4>Returns</h4>
+<p> A <a class="link" href="PopplerStructureElement.html#PopplerStructureBlockAlign" title="enum PopplerStructureBlockAlign"><span class="type">PopplerStructureBlockAlign</span></a> value.</p>
+<p></p>
+</div>
+<p class="since">Since 0.26</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="poppler-structure-element-get-inline-align"></a><h3>poppler_structure_element_get_inline_align ()</h3>
+<pre class="programlisting"><a class="link" href="PopplerStructureElement.html#PopplerStructureInlineAlign" title="enum PopplerStructureInlineAlign"><span class="returnvalue">PopplerStructureInlineAlign</span></a>
+poppler_structure_element_get_inline_align
+ (<em class="parameter"><code><a class="link" href="PopplerStructureElement.html" title="PopplerStructureElement"><span class="type">PopplerStructureElement</span></a> *poppler_structure_element</code></em>);</pre>
+<p>Obtains the inline-alignment mode of the block-level structure element.</p>
+<div class="refsect3">
+<a name="id-1.2.12.9.40.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>poppler_structure_element</p></td>
+<td class="parameter_description"><p>A <a class="link" href="PopplerStructureElement.html" title="PopplerStructureElement"><span class="type">PopplerStructureElement</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.2.12.9.40.6"></a><h4>Returns</h4>
+<p> A <a class="link" href="PopplerStructureElement.html#PopplerStructureInlineAlign" title="enum PopplerStructureInlineAlign"><span class="type">PopplerStructureInlineAlign</span></a> value.</p>
+<p></p>
+</div>
+<p class="since">Since 0.26</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="poppler-structure-element-get-table-border-style"></a><h3>poppler_structure_element_get_table_border_style ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+poppler_structure_element_get_table_border_style
+ (<em class="parameter"><code><a class="link" href="PopplerStructureElement.html" title="PopplerStructureElement"><span class="type">PopplerStructureElement</span></a> *poppler_structure_element</code></em>,
+ <em class="parameter"><code><a class="link" href="PopplerStructureElement.html#PopplerStructureBorderStyle" title="enum PopplerStructureBorderStyle"><span class="type">PopplerStructureBorderStyle</span></a> *border_styles</code></em>);</pre>
+<p>Obtains the table cell border style of a block-level structure element. The result values
+are in before-after-start-end ordering. For example, using Western
+left-to-right writing, that is top-bottom-left-right.</p>
+<div class="refsect3">
+<a name="id-1.2.12.9.41.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>poppler_structure_element</p></td>
+<td class="parameter_description"><p>A <a class="link" href="PopplerStructureElement.html" title="PopplerStructureElement"><span class="type">PopplerStructureElement</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>border_styles</p></td>
+<td class="parameter_description"><p> An array of four <a class="link" href="PopplerStructureElement.html#PopplerStructureBorderStyle" title="enum PopplerStructureBorderStyle"><span class="type">PopplerStructureBorderStyle</span></a> elements. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> fixed-size=4][<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> PopplerStructureBorderStyle]</span></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<p class="since">Since 0.26</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="poppler-structure-element-get-table-padding"></a><h3>poppler_structure_element_get_table_padding ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+poppler_structure_element_get_table_padding
+ (<em class="parameter"><code><a class="link" href="PopplerStructureElement.html" title="PopplerStructureElement"><span class="type">PopplerStructureElement</span></a> *poppler_structure_element</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> *paddings</code></em>);</pre>
+<p>Obtains the padding between the table cell’s content rectangle and the
+surrounding border of a block-level structure element. The result
+values are in before-after-start-end ordering (for the typical
+Western left-to-right writing, that is top-bottom-left-right).</p>
+<div class="refsect3">
+<a name="id-1.2.12.9.42.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>poppler_structure_element</p></td>
+<td class="parameter_description"><p>A <a class="link" href="PopplerStructureElement.html" title="PopplerStructureElement"><span class="type">PopplerStructureElement</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>paddings</p></td>
+<td class="parameter_description"><p> Padding for the four sides of the element. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> fixed-size=4][<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> gdouble]</span></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<p class="since">Since 0.26</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="poppler-structure-element-get-baseline-shift"></a><h3>poppler_structure_element_get_baseline_shift ()</h3>
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="returnvalue">gdouble</span></a>
+poppler_structure_element_get_baseline_shift
+ (<em class="parameter"><code><a class="link" href="PopplerStructureElement.html" title="PopplerStructureElement"><span class="type">PopplerStructureElement</span></a> *poppler_structure_element</code></em>);</pre>
+<p>Obtains how much the text contained in the inline-level structure element should be shifted,
+measuring from the baseline of the glyphs.</p>
+<div class="refsect3">
+<a name="id-1.2.12.9.43.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>poppler_structure_element</p></td>
+<td class="parameter_description"><p>A <a class="link" href="PopplerStructureElement.html" title="PopplerStructureElement"><span class="type">PopplerStructureElement</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.2.12.9.43.6"></a><h4>Returns</h4>
+<p> A numeric value.</p>
+<p></p>
+</div>
+<p class="since">Since 0.26</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="poppler-structure-element-get-line-height"></a><h3>poppler_structure_element_get_line_height ()</h3>
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="returnvalue">gdouble</span></a>
+poppler_structure_element_get_line_height
+ (<em class="parameter"><code><a class="link" href="PopplerStructureElement.html" title="PopplerStructureElement"><span class="type">PopplerStructureElement</span></a> *poppler_structure_element</code></em>);</pre>
+<p>Obtains the line height for the text contained in the inline-level structure element.
+Note that for elements which do not specify a line height, it has to be calculated,
+and in this case -1 is returned.</p>
+<div class="refsect3">
+<a name="id-1.2.12.9.44.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>poppler_structure_element</p></td>
+<td class="parameter_description"><p>A <a class="link" href="PopplerStructureElement.html" title="PopplerStructureElement"><span class="type">PopplerStructureElement</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.2.12.9.44.6"></a><h4>Returns</h4>
+<p> A positive value if a line height is defined, or -1
+if the height is to be calculated automatically.</p>
+<p></p>
+</div>
+<p class="since">Since 0.26</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="poppler-structure-element-get-text-decoration-color"></a><h3>poppler_structure_element_get_text_decoration_color ()</h3>
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+poppler_structure_element_get_text_decoration_color
+ (<em class="parameter"><code><a class="link" href="PopplerStructureElement.html" title="PopplerStructureElement"><span class="type">PopplerStructureElement</span></a> *poppler_structure_element</code></em>,
+ <em class="parameter"><code><a class="link" href="poppler-poppler.html#PopplerColor" title="PopplerColor"><span class="type">PopplerColor</span></a> *color</code></em>);</pre>
+<p>Obtains the color of the text decoration for the text contained
+in the inline-level structure element.
+If this attribute is not specified, the color for this element shall be the current fill
+color in effect at the start of its associated content.</p>
+<div class="refsect3">
+<a name="id-1.2.12.9.45.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>poppler_structure_element</p></td>
+<td class="parameter_description"><p>A <a class="link" href="PopplerStructureElement.html" title="PopplerStructureElement"><span class="type">PopplerStructureElement</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>color</p></td>
+<td class="parameter_description"><p> A <a class="link" href="poppler-poppler.html#PopplerColor" title="PopplerColor"><span class="type">PopplerColor</span></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.2.12.9.45.6"></a><h4>Returns</h4>
+<p> <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if a color is defined for the element,
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise.</p>
+<p></p>
+</div>
+<p class="since">Since 0.26</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="poppler-structure-element-get-text-decoration-thickness"></a><h3>poppler_structure_element_get_text_decoration_thickness ()</h3>
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="returnvalue">gdouble</span></a>
+poppler_structure_element_get_text_decoration_thickness
+ (<em class="parameter"><code><a class="link" href="PopplerStructureElement.html" title="PopplerStructureElement"><span class="type">PopplerStructureElement</span></a> *poppler_structure_element</code></em>);</pre>
+<p>Obtains the thickness of the text decoration for the text contained
+in the inline-level structure element.
+If this attribute is not specified, it shall be derived from the current
+stroke thickness in effect at the start of the element’s associated content.</p>
+<div class="refsect3">
+<a name="id-1.2.12.9.46.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>poppler_structure_element</p></td>
+<td class="parameter_description"><p>A <a class="link" href="PopplerStructureElement.html" title="PopplerStructureElement"><span class="type">PopplerStructureElement</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.2.12.9.46.6"></a><h4>Returns</h4>
+<p> Thickness of the text decoration, or <code class="literal">NaN</code> if not defined.</p>
+<p></p>
+</div>
+<p class="since">Since 0.26</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="poppler-structure-element-get-text-decoration-type"></a><h3>poppler_structure_element_get_text_decoration_type ()</h3>
+<pre class="programlisting"><a class="link" href="PopplerStructureElement.html#PopplerStructureTextDecoration" title="enum PopplerStructureTextDecoration"><span class="returnvalue">PopplerStructureTextDecoration</span></a>
+poppler_structure_element_get_text_decoration_type
+ (<em class="parameter"><code><a class="link" href="PopplerStructureElement.html" title="PopplerStructureElement"><span class="type">PopplerStructureElement</span></a> *poppler_structure_element</code></em>);</pre>
+<p>Obtains the text decoration type of the text contained in the
+inline-level structure element.</p>
+<div class="refsect3">
+<a name="id-1.2.12.9.47.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>poppler_structure_element</p></td>
+<td class="parameter_description"><p>A <a class="link" href="PopplerStructureElement.html" title="PopplerStructureElement"><span class="type">PopplerStructureElement</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.2.12.9.47.6"></a><h4>Returns</h4>
+<p> A <a class="link" href="PopplerStructureElement.html#PopplerStructureTextDecoration" title="enum PopplerStructureTextDecoration"><span class="type">PopplerStructureTextDecoration</span></a> value.</p>
+<p></p>
+</div>
+<p class="since">Since 0.26</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="poppler-structure-element-get-ruby-align"></a><h3>poppler_structure_element_get_ruby_align ()</h3>
+<pre class="programlisting"><a class="link" href="PopplerStructureElement.html#PopplerStructureRubyAlign" title="enum PopplerStructureRubyAlign"><span class="returnvalue">PopplerStructureRubyAlign</span></a>
+poppler_structure_element_get_ruby_align
+ (<em class="parameter"><code><a class="link" href="PopplerStructureElement.html" title="PopplerStructureElement"><span class="type">PopplerStructureElement</span></a> *poppler_structure_element</code></em>);</pre>
+<p>Obtains the alignment for the ruby text contained in a
+inline-level structure element.</p>
+<div class="refsect3">
+<a name="id-1.2.12.9.48.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>poppler_structure_element</p></td>
+<td class="parameter_description"><p>A <a class="link" href="PopplerStructureElement.html" title="PopplerStructureElement"><span class="type">PopplerStructureElement</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.2.12.9.48.6"></a><h4>Returns</h4>
+<p> A <a class="link" href="PopplerStructureElement.html#PopplerStructureRubyAlign" title="enum PopplerStructureRubyAlign"><span class="type">PopplerStructureRubyAlign</span></a> value.</p>
+<p></p>
+</div>
+<p class="since">Since 0.26</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="poppler-structure-element-get-ruby-position"></a><h3>poppler_structure_element_get_ruby_position ()</h3>
+<pre class="programlisting"><a class="link" href="PopplerStructureElement.html#PopplerStructureRubyPosition" title="enum PopplerStructureRubyPosition"><span class="returnvalue">PopplerStructureRubyPosition</span></a>
+poppler_structure_element_get_ruby_position
+ (<em class="parameter"><code><a class="link" href="PopplerStructureElement.html" title="PopplerStructureElement"><span class="type">PopplerStructureElement</span></a> *poppler_structure_element</code></em>);</pre>
+<p>Obtains the position for the ruby text contained in a
+inline-level structure element.</p>
+<div class="refsect3">
+<a name="id-1.2.12.9.49.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>poppler_structure_element</p></td>
+<td class="parameter_description"><p>A <a class="link" href="PopplerStructureElement.html" title="PopplerStructureElement"><span class="type">PopplerStructureElement</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.2.12.9.49.6"></a><h4>Returns</h4>
+<p> A <a class="link" href="PopplerStructureElement.html#PopplerStructureRubyPosition" title="enum PopplerStructureRubyPosition"><span class="type">PopplerStructureRubyPosition</span></a> value.</p>
+<p></p>
+</div>
+<p class="since">Since 0.26</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="poppler-structure-element-get-glyph-orientation"></a><h3>poppler_structure_element_get_glyph_orientation ()</h3>
+<pre class="programlisting"><a class="link" href="PopplerStructureElement.html#PopplerStructureGlyphOrientation" title="enum PopplerStructureGlyphOrientation"><span class="returnvalue">PopplerStructureGlyphOrientation</span></a>
+poppler_structure_element_get_glyph_orientation
+ (<em class="parameter"><code><a class="link" href="PopplerStructureElement.html" title="PopplerStructureElement"><span class="type">PopplerStructureElement</span></a> *poppler_structure_element</code></em>);</pre>
+<p>Obtains the glyph orientation for the text contained in a
+inline-level structure element.</p>
+<div class="refsect3">
+<a name="id-1.2.12.9.50.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>poppler_structure_element</p></td>
+<td class="parameter_description"><p>A <a class="link" href="PopplerStructureElement.html" title="PopplerStructureElement"><span class="type">PopplerStructureElement</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.2.12.9.50.6"></a><h4>Returns</h4>
+<p> A <a class="link" href="PopplerStructureElement.html#PopplerStructureGlyphOrientation" title="enum PopplerStructureGlyphOrientation"><span class="type">PopplerStructureGlyphOrientation</span></a> value.</p>
+<p></p>
+</div>
+<p class="since">Since 0.26</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="poppler-structure-element-get-column-count"></a><h3>poppler_structure_element_get_column_count ()</h3>
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>
+poppler_structure_element_get_column_count
+ (<em class="parameter"><code><a class="link" href="PopplerStructureElement.html" title="PopplerStructureElement"><span class="type">PopplerStructureElement</span></a> *poppler_structure_element</code></em>);</pre>
+<p>Obtains the number of columns used to lay out the content contained
+in the grouping element.</p>
+<div class="refsect3">
+<a name="id-1.2.12.9.51.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>poppler_structure_element</p></td>
+<td class="parameter_description"><p>A <a class="link" href="PopplerStructureElement.html" title="PopplerStructureElement"><span class="type">PopplerStructureElement</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.2.12.9.51.6"></a><h4>Returns</h4>
+<p> Number of columns.</p>
+<p></p>
+</div>
+<p class="since">Since 0.26</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="poppler-structure-element-get-column-gaps"></a><h3>poppler_structure_element_get_column_gaps ()</h3>
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="returnvalue">gdouble</span></a> *
+poppler_structure_element_get_column_gaps
+ (<em class="parameter"><code><a class="link" href="PopplerStructureElement.html" title="PopplerStructureElement"><span class="type">PopplerStructureElement</span></a> *poppler_structure_element</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> *n_values</code></em>);</pre>
+<p>Obtains the size of the gaps in between adjacent columns. Returns an
+array of elements: the first one is the size of the gap in between
+columns 1 and 2, second is the size between columns 2 and 3, and so on.</p>
+<p>For elements which use a single column, <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> is returned and <code class="literal">n_values</code>
+is set to zero.</p>
+<p>If the attribute is undefined, <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> is returned and <code class="literal">n_values</code> is set
+to a non-zero value.</p>
+<p>The array with the results is allocated by the function. When it is
+not needed anymore, be sure to call <a href="http://library.gnome.org/devel/glib/unstable/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a> on it.</p>
+<div class="refsect3">
+<a name="id-1.2.12.9.52.8"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>poppler_structure_element</p></td>
+<td class="parameter_description"><p>A <a class="link" href="PopplerStructureElement.html" title="PopplerStructureElement"><span class="type">PopplerStructureElement</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>n_values</p></td>
+<td class="parameter_description"><p> Size of the returned array. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.2.12.9.52.9"></a><h4>Returns</h4>
+<p> Array containing the values for the column gaps, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if the
+array is empty or the attribute is not defined. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>][<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=n_values][<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> gdouble]</span></p>
+</div>
+<p class="since">Since 0.26</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="poppler-structure-element-get-column-widths"></a><h3>poppler_structure_element_get_column_widths ()</h3>
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="returnvalue">gdouble</span></a> *
+poppler_structure_element_get_column_widths
+ (<em class="parameter"><code><a class="link" href="PopplerStructureElement.html" title="PopplerStructureElement"><span class="type">PopplerStructureElement</span></a> *poppler_structure_element</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> *n_values</code></em>);</pre>
+<p>Obtains an array with the widths of the columns.</p>
+<p>The array with the results is allocated by the function. When it is
+not needed anymore, be sure to call <a href="http://library.gnome.org/devel/glib/unstable/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a> on it.</p>
+<div class="refsect3">
+<a name="id-1.2.12.9.53.6"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>poppler_structure_element</p></td>
+<td class="parameter_description"><p>A <a class="link" href="PopplerStructureElement.html" title="PopplerStructureElement"><span class="type">PopplerStructureElement</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>n_values</p></td>
+<td class="parameter_description"><p> Size of the returned array. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.2.12.9.53.7"></a><h4>Returns</h4>
+<p> Array containing widths of the columns, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if the attribute
+is not defined. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>][<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=n_values][<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> gdouble]</span></p>
+</div>
+<p class="since">Since 0.26</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="poppler-structure-element-get-list-numbering"></a><h3>poppler_structure_element_get_list_numbering ()</h3>
+<pre class="programlisting"><a class="link" href="PopplerStructureElement.html#PopplerStructureListNumbering" title="enum PopplerStructureListNumbering"><span class="returnvalue">PopplerStructureListNumbering</span></a>
+poppler_structure_element_get_list_numbering
+ (<em class="parameter"><code><a class="link" href="PopplerStructureElement.html" title="PopplerStructureElement"><span class="type">PopplerStructureElement</span></a> *poppler_structure_element</code></em>);</pre>
+<p>Obtains the list numbering style for list items.</p>
+<div class="refsect3">
+<a name="id-1.2.12.9.54.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>poppler_structure_element</p></td>
+<td class="parameter_description"><p>A <a class="link" href="PopplerStructureElement.html" title="PopplerStructureElement"><span class="type">PopplerStructureElement</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.2.12.9.54.6"></a><h4>Returns</h4>
+<p> A <a class="link" href="PopplerStructureElement.html#PopplerStructureListNumbering" title="enum PopplerStructureListNumbering"><span class="type">PopplerStructureListNumbering</span></a> value.</p>
+<p></p>
+</div>
+<p class="since">Since 0.26</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="poppler-structure-element-get-form-role"></a><h3>poppler_structure_element_get_form_role ()</h3>
+<pre class="programlisting"><a class="link" href="PopplerStructureElement.html#PopplerStructureFormRole" title="enum PopplerStructureFormRole"><span class="returnvalue">PopplerStructureFormRole</span></a>
+poppler_structure_element_get_form_role
+ (<em class="parameter"><code><a class="link" href="PopplerStructureElement.html" title="PopplerStructureElement"><span class="type">PopplerStructureElement</span></a> *poppler_structure_element</code></em>);</pre>
+<p>Obtains the role of a form structure element that is part of a form, or is
+a form field. This hints how the control for the element is intended
+to be rendered.</p>
+<div class="refsect3">
+<a name="id-1.2.12.9.55.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>poppler_structure_element</p></td>
+<td class="parameter_description"><p>A <a class="link" href="PopplerStructureElement.html" title="PopplerStructureElement"><span class="type">PopplerStructureElement</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.2.12.9.55.6"></a><h4>Returns</h4>
+<p> A <a class="link" href="PopplerStructureElement.html#PopplerStructureFormRole" title="enum PopplerStructureFormRole"><span class="type">PopplerStructureFormRole</span></a> value.</p>
+<p></p>
+</div>
+<p class="since">Since 0.26</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="poppler-structure-element-get-form-state"></a><h3>poppler_structure_element_get_form_state ()</h3>
+<pre class="programlisting"><a class="link" href="PopplerStructureElement.html#PopplerStructureFormState" title="enum PopplerStructureFormState"><span class="returnvalue">PopplerStructureFormState</span></a>
+poppler_structure_element_get_form_state
+ (<em class="parameter"><code><a class="link" href="PopplerStructureElement.html" title="PopplerStructureElement"><span class="type">PopplerStructureElement</span></a> *poppler_structure_element</code></em>);</pre>
+<p>For a structure element that is a form field, obtains in which state
+the associated control is expected to be rendered.</p>
+<div class="refsect3">
+<a name="id-1.2.12.9.56.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>poppler_structure_element</p></td>
+<td class="parameter_description"><p>A <a class="link" href="PopplerStructureElement.html" title="PopplerStructureElement"><span class="type">PopplerStructureElement</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.2.12.9.56.6"></a><h4>Returns</h4>
+<p> A <a class="link" href="PopplerStructureElement.html#PopplerStructureFormState" title="enum PopplerStructureFormState"><span class="type">PopplerStructureFormState</span></a> value.</p>
+<p></p>
+</div>
+<p class="since">Since 0.26</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="poppler-structure-element-get-form-description"></a><h3>poppler_structure_element_get_form_description ()</h3>
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+poppler_structure_element_get_form_description
+ (<em class="parameter"><code><a class="link" href="PopplerStructureElement.html" title="PopplerStructureElement"><span class="type">PopplerStructureElement</span></a> *poppler_structure_element</code></em>);</pre>
+<p>Obtains the textual description of the form element. Note that the
+description is for informative purposes, and it is not intended
+to be rendered. For example, assistive technologies may use the
+description field to provide an alternate way of presenting an
+element to the user.</p>
+<p>The returned string is allocated by the function. When it is
+not needed anymore, be sure to call <a href="http://library.gnome.org/devel/glib/unstable/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a> on it.</p>
+<div class="refsect3">
+<a name="id-1.2.12.9.57.6"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>poppler_structure_element</p></td>
+<td class="parameter_description"><p>A <a class="link" href="PopplerStructureElement.html" title="PopplerStructureElement"><span class="type">PopplerStructureElement</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.2.12.9.57.7"></a><h4>Returns</h4>
+<p> A string, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if the attribute
+is not defined. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+<p class="since">Since 0.26</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="poppler-structure-element-get-table-row-span"></a><h3>poppler_structure_element_get_table_row_span ()</h3>
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>
+poppler_structure_element_get_table_row_span
+ (<em class="parameter"><code><a class="link" href="PopplerStructureElement.html" title="PopplerStructureElement"><span class="type">PopplerStructureElement</span></a> *poppler_structure_element</code></em>);</pre>
+<p>Obtains the number of rows the table element spans to.</p>
+<div class="refsect3">
+<a name="id-1.2.12.9.58.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>poppler_structure_element</p></td>
+<td class="parameter_description"><p>A <a class="link" href="PopplerStructureElement.html" title="PopplerStructureElement"><span class="type">PopplerStructureElement</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.2.12.9.58.6"></a><h4>Returns</h4>
+<p> A positive, non-zero value.</p>
+<p></p>
+</div>
+<p class="since">Since 0.26</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="poppler-structure-element-get-table-column-span"></a><h3>poppler_structure_element_get_table_column_span ()</h3>
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>
+poppler_structure_element_get_table_column_span
+ (<em class="parameter"><code><a class="link" href="PopplerStructureElement.html" title="PopplerStructureElement"><span class="type">PopplerStructureElement</span></a> *poppler_structure_element</code></em>);</pre>
+<p>Obtains the number of columns the table element spans to.</p>
+<div class="refsect3">
+<a name="id-1.2.12.9.59.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>poppler_structure_element</p></td>
+<td class="parameter_description"><p>A <a class="link" href="PopplerStructureElement.html" title="PopplerStructureElement"><span class="type">PopplerStructureElement</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.2.12.9.59.6"></a><h4>Returns</h4>
+<p> A positive, non-zero value.</p>
+<p></p>
+</div>
+<p class="since">Since 0.26</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="poppler-structure-element-get-table-headers"></a><h3>poppler_structure_element_get_table_headers ()</h3>
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> **
+poppler_structure_element_get_table_headers
+ (<em class="parameter"><code><a class="link" href="PopplerStructureElement.html" title="PopplerStructureElement"><span class="type">PopplerStructureElement</span></a> *poppler_structure_element</code></em>);</pre>
+<p>Obtains an array with the names of the table column headers. This is only
+useful for table header row elements.</p>
+<p>The array with the results is allocated by the function. The number
+of items in the returned array can be obtained with <a href="http://library.gnome.org/devel/glib/unstable/glib-String-Utility-Functions.html#g-strv-length"><code class="function">g_strv_length()</code></a>.
+The returned value must be freed using <a href="http://library.gnome.org/devel/glib/unstable/glib-String-Utility-Functions.html#g-strfreev"><code class="function">g_strfreev()</code></a>.</p>
+<div class="refsect3">
+<a name="id-1.2.12.9.60.6"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>poppler_structure_element</p></td>
+<td class="parameter_description"><p>A <a class="link" href="PopplerStructureElement.html" title="PopplerStructureElement"><span class="type">PopplerStructureElement</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.2.12.9.60.7"></a><h4>Returns</h4>
+<p> Zero-terminated array of strings with the table header names,
+or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if the attribute is not defined. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>][<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> zero-terminated=1][<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> gchar*]</span></p>
+</div>
+<p class="since">Since 0.26</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="poppler-structure-element-get-table-scope"></a><h3>poppler_structure_element_get_table_scope ()</h3>
+<pre class="programlisting"><a class="link" href="PopplerStructureElement.html#PopplerStructureTableScope" title="enum PopplerStructureTableScope"><span class="returnvalue">PopplerStructureTableScope</span></a>
+poppler_structure_element_get_table_scope
+ (<em class="parameter"><code><a class="link" href="PopplerStructureElement.html" title="PopplerStructureElement"><span class="type">PopplerStructureElement</span></a> *poppler_structure_element</code></em>);</pre>
+<p>Obtains the scope of a table structure element.</p>
+<div class="refsect3">
+<a name="id-1.2.12.9.61.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>poppler_structure_element</p></td>
+<td class="parameter_description"><p>A <a class="link" href="PopplerStructureElement.html" title="PopplerStructureElement"><span class="type">PopplerStructureElement</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.2.12.9.61.6"></a><h4>Returns</h4>
+<p> A <span class="type">PopplerStructureScope</span> value.</p>
+<p></p>
+</div>
+<p class="since">Since 0.26</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="poppler-structure-element-get-table-summary"></a><h3>poppler_structure_element_get_table_summary ()</h3>
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+poppler_structure_element_get_table_summary
+ (<em class="parameter"><code><a class="link" href="PopplerStructureElement.html" title="PopplerStructureElement"><span class="type">PopplerStructureElement</span></a> *poppler_structure_element</code></em>);</pre>
+<p>Obtains the textual summary of the contents of the table element. Note that
+the summary is meant for informative purposes, and it is not intended
+to be rendered. For example, assistive technologies may use the
+description field to provide an alternate way of presenting an element
+to the user, or a document indexer may want to scan it for additional
+keywords.</p>
+<p>The returned string is allocated by the function. When it is
+not needed anymore, be sure to call <a href="http://library.gnome.org/devel/glib/unstable/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a> on it.</p>
+<div class="refsect3">
+<a name="id-1.2.12.9.62.6"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>poppler_structure_element</p></td>
+<td class="parameter_description"><p>A <a class="link" href="PopplerStructureElement.html" title="PopplerStructureElement"><span class="type">PopplerStructureElement</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.2.12.9.62.7"></a><h4>Returns</h4>
+<p> A string, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if the attribute
+is not defined. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+<p class="since">Since 0.26</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="poppler-text-span-copy"></a><h3>poppler_text_span_copy ()</h3>
+<pre class="programlisting"><a class="link" href="PopplerStructureElement.html#PopplerTextSpan" title="PopplerTextSpan"><span class="returnvalue">PopplerTextSpan</span></a> *
+poppler_text_span_copy (<em class="parameter"><code><a class="link" href="PopplerStructureElement.html#PopplerTextSpan" title="PopplerTextSpan"><span class="type">PopplerTextSpan</span></a> *poppler_text_span</code></em>);</pre>
+<p>Makes a copy of a text span.</p>
+<div class="refsect3">
+<a name="id-1.2.12.9.63.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>poppler_text_span</p></td>
+<td class="parameter_description"><p>a <a class="link" href="PopplerStructureElement.html#PopplerTextSpan" title="PopplerTextSpan"><span class="type">PopplerTextSpan</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.2.12.9.63.6"></a><h4>Returns</h4>
+<p> A new <a class="link" href="PopplerStructureElement.html#PopplerTextSpan" title="PopplerTextSpan"><span class="type">PopplerTextSpan</span></a>. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+<p class="since">Since 0.26</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="poppler-text-span-free"></a><h3>poppler_text_span_free ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+poppler_text_span_free (<em class="parameter"><code><a class="link" href="PopplerStructureElement.html#PopplerTextSpan" title="PopplerTextSpan"><span class="type">PopplerTextSpan</span></a> *poppler_text_span</code></em>);</pre>
+<p>Frees a text span.</p>
+<div class="refsect3">
+<a name="id-1.2.12.9.64.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>poppler_text_span</p></td>
+<td class="parameter_description"><p>A <a class="link" href="PopplerStructureElement.html#PopplerTextSpan" title="PopplerTextSpan"><span class="type">PopplerTextSpan</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<p class="since">Since 0.26</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="poppler-text-span-is-fixed-width-font"></a><h3>poppler_text_span_is_fixed_width_font ()</h3>
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+poppler_text_span_is_fixed_width_font (<em class="parameter"><code><a class="link" href="PopplerStructureElement.html#PopplerTextSpan" title="PopplerTextSpan"><span class="type">PopplerTextSpan</span></a> *poppler_text_span</code></em>);</pre>
+<p>Check wether a text span is meant to be rendered using a fixed-width font.</p>
+<div class="refsect3">
+<a name="id-1.2.12.9.65.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>poppler_text_span</p></td>
+<td class="parameter_description"><p>a <a class="link" href="PopplerStructureElement.html#PopplerTextSpan" title="PopplerTextSpan"><span class="type">PopplerTextSpan</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.2.12.9.65.6"></a><h4>Returns</h4>
+<p> Whether the span uses a fixed-width font.</p>
+<p></p>
+</div>
+<p class="since">Since 0.26</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="poppler-text-span-is-serif-font"></a><h3>poppler_text_span_is_serif_font ()</h3>
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+poppler_text_span_is_serif_font (<em class="parameter"><code><a class="link" href="PopplerStructureElement.html#PopplerTextSpan" title="PopplerTextSpan"><span class="type">PopplerTextSpan</span></a> *poppler_text_span</code></em>);</pre>
+<p>Check whether a text span is meant to be rendered using a serif font.</p>
+<div class="refsect3">
+<a name="id-1.2.12.9.66.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>poppler_text_span</p></td>
+<td class="parameter_description"><p>a <a class="link" href="PopplerStructureElement.html#PopplerTextSpan" title="PopplerTextSpan"><span class="type">PopplerTextSpan</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.2.12.9.66.6"></a><h4>Returns</h4>
+<p> Whether the span uses a serif font.</p>
+<p></p>
+</div>
+<p class="since">Since 0.26</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="poppler-text-span-is-bold-font"></a><h3>poppler_text_span_is_bold_font ()</h3>
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+poppler_text_span_is_bold_font (<em class="parameter"><code><a class="link" href="PopplerStructureElement.html#PopplerTextSpan" title="PopplerTextSpan"><span class="type">PopplerTextSpan</span></a> *poppler_text_span</code></em>);</pre>
+<p>Check whether a text span is meant to be rendered using a bold font.</p>
+<div class="refsect3">
+<a name="id-1.2.12.9.67.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>poppler_text_span</p></td>
+<td class="parameter_description"><p>a <a class="link" href="PopplerStructureElement.html#PopplerTextSpan" title="PopplerTextSpan"><span class="type">PopplerTextSpan</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.2.12.9.67.6"></a><h4>Returns</h4>
+<p> Whether the span uses bold font.</p>
+<p></p>
+</div>
+<p class="since">Since 0.26</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="poppler-text-span-get-color"></a><h3>poppler_text_span_get_color ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+poppler_text_span_get_color (<em class="parameter"><code><a class="link" href="PopplerStructureElement.html#PopplerTextSpan" title="PopplerTextSpan"><span class="type">PopplerTextSpan</span></a> *poppler_text_span</code></em>,
+ <em class="parameter"><code><a class="link" href="poppler-poppler.html#PopplerColor" title="PopplerColor"><span class="type">PopplerColor</span></a> *color</code></em>);</pre>
+<p>Obtains the color in which the text is to be rendered.</p>
+<div class="refsect3">
+<a name="id-1.2.12.9.68.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>poppler_text_span</p></td>
+<td class="parameter_description"><p>a <a class="link" href="PopplerStructureElement.html#PopplerTextSpan" title="PopplerTextSpan"><span class="type">PopplerTextSpan</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>color</p></td>
+<td class="parameter_description"><p> a return location for a <a class="link" href="poppler-poppler.html#PopplerColor" title="PopplerColor"><span class="type">PopplerColor</span></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<p class="since">Since 0.26</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="poppler-text-span-get-text"></a><h3>poppler_text_span_get_text ()</h3>
+<pre class="programlisting">const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+poppler_text_span_get_text (<em class="parameter"><code><a class="link" href="PopplerStructureElement.html#PopplerTextSpan" title="PopplerTextSpan"><span class="type">PopplerTextSpan</span></a> *poppler_text_span</code></em>);</pre>
+<p>Obtains the text contained in the span.</p>
+<div class="refsect3">
+<a name="id-1.2.12.9.69.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>poppler_text_span</p></td>
+<td class="parameter_description"><p>a <a class="link" href="PopplerStructureElement.html#PopplerTextSpan" title="PopplerTextSpan"><span class="type">PopplerTextSpan</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.2.12.9.69.6"></a><h4>Returns</h4>
+<p> A string. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
+<p class="since">Since 0.26</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="poppler-text-span-get-font-name"></a><h3>poppler_text_span_get_font_name ()</h3>
+<pre class="programlisting">const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+poppler_text_span_get_font_name (<em class="parameter"><code><a class="link" href="PopplerStructureElement.html#PopplerTextSpan" title="PopplerTextSpan"><span class="type">PopplerTextSpan</span></a> *poppler_text_span</code></em>);</pre>
+<p>Obtains the name of the font in which the span is to be rendered.</p>
+<div class="refsect3">
+<a name="id-1.2.12.9.70.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>poppler_text_span</p></td>
+<td class="parameter_description"><p>a <a class="link" href="PopplerStructureElement.html#PopplerTextSpan" title="PopplerTextSpan"><span class="type">PopplerTextSpan</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.2.12.9.70.6"></a><h4>Returns</h4>
+<p> A string containing the font name, or
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if a font is not defined. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
+<p class="since">Since 0.26</p>
+</div>
+</div>
+<div class="refsect1">
+<a name="PopplerStructureElement.other_details"></a><h2>Types and Values</h2>
+<div class="refsect2">
+<a name="PopplerStructureElement-struct"></a><h3>PopplerStructureElement</h3>
+<pre class="programlisting">typedef struct _PopplerStructureElement PopplerStructureElement;</pre>
+</div>
+<hr>
+<div class="refsect2">
+<a name="PopplerStructureElementKind"></a><h3>enum PopplerStructureElementKind</h3>
+<div class="refsect3">
+<a name="id-1.2.12.10.3.3"></a><h4>Members</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="300px" class="enum_members_name">
+<col class="enum_members_description">
+<col width="200px" class="enum_members_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="enum_member_name"><p><a name="POPPLER-STRUCTURE-ELEMENT-CONTENT:CAPS"></a>POPPLER_STRUCTURE_ELEMENT_CONTENT</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="POPPLER-STRUCTURE-ELEMENT-OBJECT-REFERENCE:CAPS"></a>POPPLER_STRUCTURE_ELEMENT_OBJECT_REFERENCE</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="POPPLER-STRUCTURE-ELEMENT-DOCUMENT:CAPS"></a>POPPLER_STRUCTURE_ELEMENT_DOCUMENT</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="POPPLER-STRUCTURE-ELEMENT-PART:CAPS"></a>POPPLER_STRUCTURE_ELEMENT_PART</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="POPPLER-STRUCTURE-ELEMENT-ARTICLE:CAPS"></a>POPPLER_STRUCTURE_ELEMENT_ARTICLE</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="POPPLER-STRUCTURE-ELEMENT-SECTION:CAPS"></a>POPPLER_STRUCTURE_ELEMENT_SECTION</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="POPPLER-STRUCTURE-ELEMENT-DIV:CAPS"></a>POPPLER_STRUCTURE_ELEMENT_DIV</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="POPPLER-STRUCTURE-ELEMENT-SPAN:CAPS"></a>POPPLER_STRUCTURE_ELEMENT_SPAN</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="POPPLER-STRUCTURE-ELEMENT-QUOTE:CAPS"></a>POPPLER_STRUCTURE_ELEMENT_QUOTE</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="POPPLER-STRUCTURE-ELEMENT-NOTE:CAPS"></a>POPPLER_STRUCTURE_ELEMENT_NOTE</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="POPPLER-STRUCTURE-ELEMENT-REFERENCE:CAPS"></a>POPPLER_STRUCTURE_ELEMENT_REFERENCE</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="POPPLER-STRUCTURE-ELEMENT-BIBENTRY:CAPS"></a>POPPLER_STRUCTURE_ELEMENT_BIBENTRY</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="POPPLER-STRUCTURE-ELEMENT-CODE:CAPS"></a>POPPLER_STRUCTURE_ELEMENT_CODE</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="POPPLER-STRUCTURE-ELEMENT-LINK:CAPS"></a>POPPLER_STRUCTURE_ELEMENT_LINK</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="POPPLER-STRUCTURE-ELEMENT-ANNOT:CAPS"></a>POPPLER_STRUCTURE_ELEMENT_ANNOT</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="POPPLER-STRUCTURE-ELEMENT-BLOCKQUOTE:CAPS"></a>POPPLER_STRUCTURE_ELEMENT_BLOCKQUOTE</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="POPPLER-STRUCTURE-ELEMENT-CAPTION:CAPS"></a>POPPLER_STRUCTURE_ELEMENT_CAPTION</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="POPPLER-STRUCTURE-ELEMENT-NONSTRUCT:CAPS"></a>POPPLER_STRUCTURE_ELEMENT_NONSTRUCT</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="POPPLER-STRUCTURE-ELEMENT-TOC:CAPS"></a>POPPLER_STRUCTURE_ELEMENT_TOC</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="POPPLER-STRUCTURE-ELEMENT-TOC-ITEM:CAPS"></a>POPPLER_STRUCTURE_ELEMENT_TOC_ITEM</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="POPPLER-STRUCTURE-ELEMENT-INDEX:CAPS"></a>POPPLER_STRUCTURE_ELEMENT_INDEX</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="POPPLER-STRUCTURE-ELEMENT-PRIVATE:CAPS"></a>POPPLER_STRUCTURE_ELEMENT_PRIVATE</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="POPPLER-STRUCTURE-ELEMENT-PARAGRAPH:CAPS"></a>POPPLER_STRUCTURE_ELEMENT_PARAGRAPH</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="POPPLER-STRUCTURE-ELEMENT-HEADING:CAPS"></a>POPPLER_STRUCTURE_ELEMENT_HEADING</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="POPPLER-STRUCTURE-ELEMENT-HEADING-1:CAPS"></a>POPPLER_STRUCTURE_ELEMENT_HEADING_1</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="POPPLER-STRUCTURE-ELEMENT-HEADING-2:CAPS"></a>POPPLER_STRUCTURE_ELEMENT_HEADING_2</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="POPPLER-STRUCTURE-ELEMENT-HEADING-3:CAPS"></a>POPPLER_STRUCTURE_ELEMENT_HEADING_3</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="POPPLER-STRUCTURE-ELEMENT-HEADING-4:CAPS"></a>POPPLER_STRUCTURE_ELEMENT_HEADING_4</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="POPPLER-STRUCTURE-ELEMENT-HEADING-5:CAPS"></a>POPPLER_STRUCTURE_ELEMENT_HEADING_5</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="POPPLER-STRUCTURE-ELEMENT-HEADING-6:CAPS"></a>POPPLER_STRUCTURE_ELEMENT_HEADING_6</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="POPPLER-STRUCTURE-ELEMENT-LIST:CAPS"></a>POPPLER_STRUCTURE_ELEMENT_LIST</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="POPPLER-STRUCTURE-ELEMENT-LIST-ITEM:CAPS"></a>POPPLER_STRUCTURE_ELEMENT_LIST_ITEM</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="POPPLER-STRUCTURE-ELEMENT-LIST-LABEL:CAPS"></a>POPPLER_STRUCTURE_ELEMENT_LIST_LABEL</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="POPPLER-STRUCTURE-ELEMENT-LIST-BODY:CAPS"></a>POPPLER_STRUCTURE_ELEMENT_LIST_BODY</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="POPPLER-STRUCTURE-ELEMENT-TABLE:CAPS"></a>POPPLER_STRUCTURE_ELEMENT_TABLE</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="POPPLER-STRUCTURE-ELEMENT-TABLE-ROW:CAPS"></a>POPPLER_STRUCTURE_ELEMENT_TABLE_ROW</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="POPPLER-STRUCTURE-ELEMENT-TABLE-HEADING:CAPS"></a>POPPLER_STRUCTURE_ELEMENT_TABLE_HEADING</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="POPPLER-STRUCTURE-ELEMENT-TABLE-DATA:CAPS"></a>POPPLER_STRUCTURE_ELEMENT_TABLE_DATA</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="POPPLER-STRUCTURE-ELEMENT-TABLE-HEADER:CAPS"></a>POPPLER_STRUCTURE_ELEMENT_TABLE_HEADER</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="POPPLER-STRUCTURE-ELEMENT-TABLE-FOOTER:CAPS"></a>POPPLER_STRUCTURE_ELEMENT_TABLE_FOOTER</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="POPPLER-STRUCTURE-ELEMENT-TABLE-BODY:CAPS"></a>POPPLER_STRUCTURE_ELEMENT_TABLE_BODY</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="POPPLER-STRUCTURE-ELEMENT-RUBY:CAPS"></a>POPPLER_STRUCTURE_ELEMENT_RUBY</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="POPPLER-STRUCTURE-ELEMENT-RUBY-BASE-TEXT:CAPS"></a>POPPLER_STRUCTURE_ELEMENT_RUBY_BASE_TEXT</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="POPPLER-STRUCTURE-ELEMENT-RUBY-ANNOT-TEXT:CAPS"></a>POPPLER_STRUCTURE_ELEMENT_RUBY_ANNOT_TEXT</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="POPPLER-STRUCTURE-ELEMENT-RUBY-PUNCTUATION:CAPS"></a>POPPLER_STRUCTURE_ELEMENT_RUBY_PUNCTUATION</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="POPPLER-STRUCTURE-ELEMENT-WARICHU:CAPS"></a>POPPLER_STRUCTURE_ELEMENT_WARICHU</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="POPPLER-STRUCTURE-ELEMENT-WARICHU-TEXT:CAPS"></a>POPPLER_STRUCTURE_ELEMENT_WARICHU_TEXT</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="POPPLER-STRUCTURE-ELEMENT-WARICHU-PUNCTUATION:CAPS"></a>POPPLER_STRUCTURE_ELEMENT_WARICHU_PUNCTUATION</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="POPPLER-STRUCTURE-ELEMENT-FIGURE:CAPS"></a>POPPLER_STRUCTURE_ELEMENT_FIGURE</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="POPPLER-STRUCTURE-ELEMENT-FORMULA:CAPS"></a>POPPLER_STRUCTURE_ELEMENT_FORMULA</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="POPPLER-STRUCTURE-ELEMENT-FORM:CAPS"></a>POPPLER_STRUCTURE_ELEMENT_FORM</p></td>
+<td> </td>
+<td> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="PopplerStructureElementIter-struct"></a><h3>PopplerStructureElementIter</h3>
+<pre class="programlisting">typedef struct _PopplerStructureElementIter PopplerStructureElementIter;</pre>
+</div>
+<hr>
+<div class="refsect2">
+<a name="PopplerStructureGetTextFlags"></a><h3>enum PopplerStructureGetTextFlags</h3>
+<div class="refsect3">
+<a name="id-1.2.12.10.5.3"></a><h4>Members</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="300px" class="enum_members_name">
+<col class="enum_members_description">
+<col width="200px" class="enum_members_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="enum_member_name"><p><a name="POPPLER-STRUCTURE-GET-TEXT-NONE:CAPS"></a>POPPLER_STRUCTURE_GET_TEXT_NONE</p></td>
+<td class="enum_member_description">
+<p>No flags.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="POPPLER-STRUCTURE-GET-TEXT-RECURSIVE:CAPS"></a>POPPLER_STRUCTURE_GET_TEXT_RECURSIVE</p></td>
+<td class="enum_member_description">
+<p>For non-leaf, non-content
+ elements, recursively obtain the text from all the elements
+ enclosed in the subtree.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="PopplerStructurePlacement"></a><h3>enum PopplerStructurePlacement</h3>
+<div class="refsect3">
+<a name="id-1.2.12.10.6.3"></a><h4>Members</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="300px" class="enum_members_name">
+<col class="enum_members_description">
+<col width="200px" class="enum_members_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="enum_member_name"><p><a name="POPPLER-STRUCTURE-PLACEMENT-BLOCK:CAPS"></a>POPPLER_STRUCTURE_PLACEMENT_BLOCK</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="POPPLER-STRUCTURE-PLACEMENT-INLINE:CAPS"></a>POPPLER_STRUCTURE_PLACEMENT_INLINE</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="POPPLER-STRUCTURE-PLACEMENT-BEFORE:CAPS"></a>POPPLER_STRUCTURE_PLACEMENT_BEFORE</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="POPPLER-STRUCTURE-PLACEMENT-START:CAPS"></a>POPPLER_STRUCTURE_PLACEMENT_START</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="POPPLER-STRUCTURE-PLACEMENT-END:CAPS"></a>POPPLER_STRUCTURE_PLACEMENT_END</p></td>
+<td> </td>
+<td> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="PopplerStructureWritingMode"></a><h3>enum PopplerStructureWritingMode</h3>
+<div class="refsect3">
+<a name="id-1.2.12.10.7.3"></a><h4>Members</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="300px" class="enum_members_name">
+<col class="enum_members_description">
+<col width="200px" class="enum_members_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="enum_member_name"><p><a name="POPPLER-STRUCTURE-WRITING-MODE-LR-TB:CAPS"></a>POPPLER_STRUCTURE_WRITING_MODE_LR_TB</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="POPPLER-STRUCTURE-WRITING-MODE-RL-TB:CAPS"></a>POPPLER_STRUCTURE_WRITING_MODE_RL_TB</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="POPPLER-STRUCTURE-WRITING-MODE-TB-RL:CAPS"></a>POPPLER_STRUCTURE_WRITING_MODE_TB_RL</p></td>
+<td> </td>
+<td> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="PopplerStructureBorderStyle"></a><h3>enum PopplerStructureBorderStyle</h3>
+<div class="refsect3">
+<a name="id-1.2.12.10.8.3"></a><h4>Members</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="300px" class="enum_members_name">
+<col class="enum_members_description">
+<col width="200px" class="enum_members_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="enum_member_name"><p><a name="POPPLER-STRUCTURE-BORDER-STYLE-NONE:CAPS"></a>POPPLER_STRUCTURE_BORDER_STYLE_NONE</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="POPPLER-STRUCTURE-BORDER-STYLE-HIDDEN:CAPS"></a>POPPLER_STRUCTURE_BORDER_STYLE_HIDDEN</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="POPPLER-STRUCTURE-BORDER-STYLE-DOTTED:CAPS"></a>POPPLER_STRUCTURE_BORDER_STYLE_DOTTED</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="POPPLER-STRUCTURE-BORDER-STYLE-DASHED:CAPS"></a>POPPLER_STRUCTURE_BORDER_STYLE_DASHED</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="POPPLER-STRUCTURE-BORDER-STYLE-SOLID:CAPS"></a>POPPLER_STRUCTURE_BORDER_STYLE_SOLID</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="POPPLER-STRUCTURE-BORDER-STYLE-DOUBLE:CAPS"></a>POPPLER_STRUCTURE_BORDER_STYLE_DOUBLE</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="POPPLER-STRUCTURE-BORDER-STYLE-GROOVE:CAPS"></a>POPPLER_STRUCTURE_BORDER_STYLE_GROOVE</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="POPPLER-STRUCTURE-BORDER-STYLE-INSET:CAPS"></a>POPPLER_STRUCTURE_BORDER_STYLE_INSET</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="POPPLER-STRUCTURE-BORDER-STYLE-OUTSET:CAPS"></a>POPPLER_STRUCTURE_BORDER_STYLE_OUTSET</p></td>
+<td> </td>
+<td> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="PopplerStructureTextAlign"></a><h3>enum PopplerStructureTextAlign</h3>
+<div class="refsect3">
+<a name="id-1.2.12.10.9.3"></a><h4>Members</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="300px" class="enum_members_name">
+<col class="enum_members_description">
+<col width="200px" class="enum_members_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="enum_member_name"><p><a name="POPPLER-STRUCTURE-TEXT-ALIGN-START:CAPS"></a>POPPLER_STRUCTURE_TEXT_ALIGN_START</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="POPPLER-STRUCTURE-TEXT-ALIGN-CENTER:CAPS"></a>POPPLER_STRUCTURE_TEXT_ALIGN_CENTER</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="POPPLER-STRUCTURE-TEXT-ALIGN-END:CAPS"></a>POPPLER_STRUCTURE_TEXT_ALIGN_END</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="POPPLER-STRUCTURE-TEXT-ALIGN-JUSTIFY:CAPS"></a>POPPLER_STRUCTURE_TEXT_ALIGN_JUSTIFY</p></td>
+<td> </td>
+<td> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="PopplerStructureBlockAlign"></a><h3>enum PopplerStructureBlockAlign</h3>
+<div class="refsect3">
+<a name="id-1.2.12.10.10.3"></a><h4>Members</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="300px" class="enum_members_name">
+<col class="enum_members_description">
+<col width="200px" class="enum_members_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="enum_member_name"><p><a name="POPPLER-STRUCTURE-BLOCK-ALIGN-BEFORE:CAPS"></a>POPPLER_STRUCTURE_BLOCK_ALIGN_BEFORE</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="POPPLER-STRUCTURE-BLOCK-ALIGN-MIDDLE:CAPS"></a>POPPLER_STRUCTURE_BLOCK_ALIGN_MIDDLE</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="POPPLER-STRUCTURE-BLOCK-ALIGN-AFTER:CAPS"></a>POPPLER_STRUCTURE_BLOCK_ALIGN_AFTER</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="POPPLER-STRUCTURE-BLOCK-ALIGN-JUSTIFY:CAPS"></a>POPPLER_STRUCTURE_BLOCK_ALIGN_JUSTIFY</p></td>
+<td> </td>
+<td> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="PopplerStructureInlineAlign"></a><h3>enum PopplerStructureInlineAlign</h3>
+<div class="refsect3">
+<a name="id-1.2.12.10.11.3"></a><h4>Members</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="300px" class="enum_members_name">
+<col class="enum_members_description">
+<col width="200px" class="enum_members_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="enum_member_name"><p><a name="POPPLER-STRUCTURE-INLINE-ALIGN-START:CAPS"></a>POPPLER_STRUCTURE_INLINE_ALIGN_START</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="POPPLER-STRUCTURE-INLINE-ALIGN-CENTER:CAPS"></a>POPPLER_STRUCTURE_INLINE_ALIGN_CENTER</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="POPPLER-STRUCTURE-INLINE-ALIGN-END:CAPS"></a>POPPLER_STRUCTURE_INLINE_ALIGN_END</p></td>
+<td> </td>
+<td> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="PopplerStructureTextDecoration"></a><h3>enum PopplerStructureTextDecoration</h3>
+<div class="refsect3">
+<a name="id-1.2.12.10.12.3"></a><h4>Members</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="300px" class="enum_members_name">
+<col class="enum_members_description">
+<col width="200px" class="enum_members_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="enum_member_name"><p><a name="POPPLER-STRUCTURE-TEXT-DECORATION-NONE:CAPS"></a>POPPLER_STRUCTURE_TEXT_DECORATION_NONE</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="POPPLER-STRUCTURE-TEXT-DECORATION-UNDERLINE:CAPS"></a>POPPLER_STRUCTURE_TEXT_DECORATION_UNDERLINE</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="POPPLER-STRUCTURE-TEXT-DECORATION-OVERLINE:CAPS"></a>POPPLER_STRUCTURE_TEXT_DECORATION_OVERLINE</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="POPPLER-STRUCTURE-TEXT-DECORATION-LINETHROUGH:CAPS"></a>POPPLER_STRUCTURE_TEXT_DECORATION_LINETHROUGH</p></td>
+<td> </td>
+<td> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="PopplerStructureRubyAlign"></a><h3>enum PopplerStructureRubyAlign</h3>
+<div class="refsect3">
+<a name="id-1.2.12.10.13.3"></a><h4>Members</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="300px" class="enum_members_name">
+<col class="enum_members_description">
+<col width="200px" class="enum_members_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="enum_member_name"><p><a name="POPPLER-STRUCTURE-RUBY-ALIGN-START:CAPS"></a>POPPLER_STRUCTURE_RUBY_ALIGN_START</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="POPPLER-STRUCTURE-RUBY-ALIGN-CENTER:CAPS"></a>POPPLER_STRUCTURE_RUBY_ALIGN_CENTER</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="POPPLER-STRUCTURE-RUBY-ALIGN-END:CAPS"></a>POPPLER_STRUCTURE_RUBY_ALIGN_END</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="POPPLER-STRUCTURE-RUBY-ALIGN-JUSTIFY:CAPS"></a>POPPLER_STRUCTURE_RUBY_ALIGN_JUSTIFY</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="POPPLER-STRUCTURE-RUBY-ALIGN-DISTRIBUTE:CAPS"></a>POPPLER_STRUCTURE_RUBY_ALIGN_DISTRIBUTE</p></td>
+<td> </td>
+<td> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="PopplerStructureRubyPosition"></a><h3>enum PopplerStructureRubyPosition</h3>
+<div class="refsect3">
+<a name="id-1.2.12.10.14.3"></a><h4>Members</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="300px" class="enum_members_name">
+<col class="enum_members_description">
+<col width="200px" class="enum_members_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="enum_member_name"><p><a name="POPPLER-STRUCTURE-RUBY-POSITION-BEFORE:CAPS"></a>POPPLER_STRUCTURE_RUBY_POSITION_BEFORE</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="POPPLER-STRUCTURE-RUBY-POSITION-AFTER:CAPS"></a>POPPLER_STRUCTURE_RUBY_POSITION_AFTER</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="POPPLER-STRUCTURE-RUBY-POSITION-WARICHU:CAPS"></a>POPPLER_STRUCTURE_RUBY_POSITION_WARICHU</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="POPPLER-STRUCTURE-RUBY-POSITION-INLINE:CAPS"></a>POPPLER_STRUCTURE_RUBY_POSITION_INLINE</p></td>
+<td> </td>
+<td> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="PopplerStructureGlyphOrientation"></a><h3>enum PopplerStructureGlyphOrientation</h3>
+<div class="refsect3">
+<a name="id-1.2.12.10.15.3"></a><h4>Members</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="300px" class="enum_members_name">
+<col class="enum_members_description">
+<col width="200px" class="enum_members_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="enum_member_name"><p><a name="POPPLER-STRUCTURE-GLYPH-ORIENTATION-AUTO:CAPS"></a>POPPLER_STRUCTURE_GLYPH_ORIENTATION_AUTO</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="POPPLER-STRUCTURE-GLYPH-ORIENTATION-0:CAPS"></a>POPPLER_STRUCTURE_GLYPH_ORIENTATION_0</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="POPPLER-STRUCTURE-GLYPH-ORIENTATION-90:CAPS"></a>POPPLER_STRUCTURE_GLYPH_ORIENTATION_90</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="POPPLER-STRUCTURE-GLYPH-ORIENTATION-180:CAPS"></a>POPPLER_STRUCTURE_GLYPH_ORIENTATION_180</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="POPPLER-STRUCTURE-GLYPH-ORIENTATION-270:CAPS"></a>POPPLER_STRUCTURE_GLYPH_ORIENTATION_270</p></td>
+<td> </td>
+<td> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="PopplerStructureListNumbering"></a><h3>enum PopplerStructureListNumbering</h3>
+<div class="refsect3">
+<a name="id-1.2.12.10.16.3"></a><h4>Members</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="300px" class="enum_members_name">
+<col class="enum_members_description">
+<col width="200px" class="enum_members_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="enum_member_name"><p><a name="POPPLER-STRUCTURE-LIST-NUMBERING-NONE:CAPS"></a>POPPLER_STRUCTURE_LIST_NUMBERING_NONE</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="POPPLER-STRUCTURE-LIST-NUMBERING-DISC:CAPS"></a>POPPLER_STRUCTURE_LIST_NUMBERING_DISC</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="POPPLER-STRUCTURE-LIST-NUMBERING-CIRCLE:CAPS"></a>POPPLER_STRUCTURE_LIST_NUMBERING_CIRCLE</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="POPPLER-STRUCTURE-LIST-NUMBERING-SQUARE:CAPS"></a>POPPLER_STRUCTURE_LIST_NUMBERING_SQUARE</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="POPPLER-STRUCTURE-LIST-NUMBERING-DECIMAL:CAPS"></a>POPPLER_STRUCTURE_LIST_NUMBERING_DECIMAL</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="POPPLER-STRUCTURE-LIST-NUMBERING-UPPER-ROMAN:CAPS"></a>POPPLER_STRUCTURE_LIST_NUMBERING_UPPER_ROMAN</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="POPPLER-STRUCTURE-LIST-NUMBERING-LOWER-ROMAN:CAPS"></a>POPPLER_STRUCTURE_LIST_NUMBERING_LOWER_ROMAN</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="POPPLER-STRUCTURE-LIST-NUMBERING-UPPER-ALPHA:CAPS"></a>POPPLER_STRUCTURE_LIST_NUMBERING_UPPER_ALPHA</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="POPPLER-STRUCTURE-LIST-NUMBERING-LOWER-ALPHA:CAPS"></a>POPPLER_STRUCTURE_LIST_NUMBERING_LOWER_ALPHA</p></td>
+<td> </td>
+<td> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="PopplerStructureTableScope"></a><h3>enum PopplerStructureTableScope</h3>
+<div class="refsect3">
+<a name="id-1.2.12.10.17.3"></a><h4>Members</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="300px" class="enum_members_name">
+<col class="enum_members_description">
+<col width="200px" class="enum_members_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="enum_member_name"><p><a name="POPPLER-STRUCTURE-TABLE-SCOPE-ROW:CAPS"></a>POPPLER_STRUCTURE_TABLE_SCOPE_ROW</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="POPPLER-STRUCTURE-TABLE-SCOPE-COLUMN:CAPS"></a>POPPLER_STRUCTURE_TABLE_SCOPE_COLUMN</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="POPPLER-STRUCTURE-TABLE-SCOPE-BOTH:CAPS"></a>POPPLER_STRUCTURE_TABLE_SCOPE_BOTH</p></td>
+<td> </td>
+<td> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="PopplerStructureFormRole"></a><h3>enum PopplerStructureFormRole</h3>
+<div class="refsect3">
+<a name="id-1.2.12.10.18.3"></a><h4>Members</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="300px" class="enum_members_name">
+<col class="enum_members_description">
+<col width="200px" class="enum_members_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="enum_member_name"><p><a name="POPPLER-STRUCTURE-FORM-ROLE-UNDEFINED:CAPS"></a>POPPLER_STRUCTURE_FORM_ROLE_UNDEFINED</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="POPPLER-STRUCTURE-FORM-ROLE-RADIO-BUTTON:CAPS"></a>POPPLER_STRUCTURE_FORM_ROLE_RADIO_BUTTON</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="POPPLER-STRUCTURE-FORM-ROLE-PUSH-BUTTON:CAPS"></a>POPPLER_STRUCTURE_FORM_ROLE_PUSH_BUTTON</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="POPPLER-STRUCTURE-FORM-ROLE-TEXT-VALUE:CAPS"></a>POPPLER_STRUCTURE_FORM_ROLE_TEXT_VALUE</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="POPPLER-STRUCTURE-FORM-ROLE-CHECKBOX:CAPS"></a>POPPLER_STRUCTURE_FORM_ROLE_CHECKBOX</p></td>
+<td> </td>
+<td> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="PopplerStructureFormState"></a><h3>enum PopplerStructureFormState</h3>
+<div class="refsect3">
+<a name="id-1.2.12.10.19.3"></a><h4>Members</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="300px" class="enum_members_name">
+<col class="enum_members_description">
+<col width="200px" class="enum_members_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="enum_member_name"><p><a name="POPPLER-STRUCTURE-FORM-STATE-ON:CAPS"></a>POPPLER_STRUCTURE_FORM_STATE_ON</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="POPPLER-STRUCTURE-FORM-STATE-OFF:CAPS"></a>POPPLER_STRUCTURE_FORM_STATE_OFF</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="POPPLER-STRUCTURE-FORM-STATE-NEUTRAL:CAPS"></a>POPPLER_STRUCTURE_FORM_STATE_NEUTRAL</p></td>
+<td> </td>
+<td> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="PopplerTextSpan"></a><h3>PopplerTextSpan</h3>
+<pre class="programlisting">typedef struct _PopplerTextSpan PopplerTextSpan;</pre>
+</div>
+</div>
+<div class="refsect1">
+<a name="PopplerStructureElement.see-also"></a><h2>See Also</h2>
+<p><span class="type">PopplerStructure</span></p>
+</div>
+</div>
+<div class="footer">
+<hr>
+ Generated by GTK-Doc V1.21</div>
+</body>
+</html> \ No newline at end of file
diff --git a/glib/reference/html/annotation-glossary.html b/glib/reference/html/annotation-glossary.html
index 194af489..dacf275c 100644
--- a/glib/reference/html/annotation-glossary.html
+++ b/glib/reference/html/annotation-glossary.html
@@ -2,73 +2,62 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Annotation Glossary</title>
+<title>Poppler Reference Manual: Annotation Glossary</title>
<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<link rel="home" href="index.html" title="Poppler Reference Manual">
<link rel="up" href="index.html" title="Poppler Reference Manual">
<link rel="prev" href="api-index-0-22.html" title="Index of new symbols in 0.22">
-<meta name="generator" content="GTK-Doc V1.19 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
-<tr valign="middle">
-<td><a accesskey="p" href="api-index-0-22.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
-<td> </td>
-<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
-<th width="100%" align="center">Poppler Reference Manual</th>
-<td> </td>
-</tr>
-<tr><td colspan="5" class="shortcuts">
-<a class="shortcut" href="#glsO">O</a>
-  | 
- <a class="shortcut" href="#glsA">A</a>
-  | 
- <a class="shortcut" href="#glsC">C</a>
-  | 
- <a class="shortcut" href="#glsT">T</a>
-  | 
- <a class="shortcut" href="#glsA">A</a>
-  | 
- <a class="shortcut" href="#glsE">E</a>
-  | 
- <a class="shortcut" href="#glsT">T</a>
-  | 
- <a class="shortcut" href="#glsS">S</a>
-</td></tr>
-</table>
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts"><span id="nav_glossary"><a class="shortcut" href="#glsA">A</a>
+  <span class="dim">|</span> 
+ <a class="shortcut" href="#glsC">C</a>
+  <span class="dim">|</span> 
+ <a class="shortcut" href="#glsE">E</a>
+  <span class="dim">|</span> 
+ <a class="shortcut" href="#glsO">O</a>
+  <span class="dim">|</span> 
+ <a class="shortcut" href="#glsS">S</a>
+  <span class="dim">|</span> 
+ <a class="shortcut" href="#glsT">T</a></span></td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><img src="up-insensitive.png" width="16" height="16" border="0"></td>
+<td><a accesskey="p" href="api-index-0-22.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><img src="right-insensitive.png" width="16" height="16" border="0"></td>
+</tr></table>
<div class="glossary">
<div class="titlepage"><div><div><h1 class="title">
<a name="annotation-glossary"></a>Annotation Glossary</h1></div></div></div>
-<a name="glsO"></a><h3 class="title">O</h3>
-<dt><span class="glossterm"><a name="annotation-glossterm-out"></a>out</span></dt>
-<dd class="glossdef"><p>Parameter for returning results. Default is <acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>.</p></dd>
<a name="glsA"></a><h3 class="title">A</h3>
<dt><span class="glossterm"><a name="annotation-glossterm-allow-none"></a>allow-none</span></dt>
-<dd class="glossdef"><p>NULL is ok, both for passing and for returning.</p></dd>
+<dd class="glossdef"><p>NULL is OK, both for passing and for returning.</p></dd>
+<dt><span class="glossterm"><a name="annotation-glossterm-array"></a>array</span></dt>
+<dd class="glossdef"><p>Parameter points to an array of items.</p></dd>
<a name="glsC"></a><h3 class="title">C</h3>
<dt><span class="glossterm"><a name="annotation-glossterm-closure"></a>closure</span></dt>
<dd class="glossdef"><p>This parameter is a 'user_data', for callbacks; many bindings can pass NULL here.</p></dd>
-<a name="glsT"></a><h3 class="title">T</h3>
-<dt><span class="glossterm"><a name="annotation-glossterm-transfer%20none"></a>transfer none</span></dt>
-<dd class="glossdef"><p>Don't free data after the code is done.</p></dd>
-<a name="glsA"></a><h3 class="title">A</h3>
-<dt><span class="glossterm"><a name="annotation-glossterm-array"></a>array</span></dt>
-<dd class="glossdef"><p>Parameter points to an array of items.</p></dd>
<a name="glsE"></a><h3 class="title">E</h3>
<dt><span class="glossterm"><a name="annotation-glossterm-element-type"></a>element-type</span></dt>
<dd class="glossdef"><p>Generics and defining elements of containers and arrays.</p></dd>
+<a name="glsO"></a><h3 class="title">O</h3>
+<dt><span class="glossterm"><a name="annotation-glossterm-out"></a>out</span></dt>
+<dd class="glossdef"><p>Parameter for returning results. Default is <acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>.</p></dd>
+<a name="glsS"></a><h3 class="title">S</h3>
+<dt><span class="glossterm"><a name="annotation-glossterm-scope%20call"></a>scope call</span></dt>
+<dd class="glossdef"><p>The callback is valid only during the call to the method.</p></dd>
<a name="glsT"></a><h3 class="title">T</h3>
<dt><span class="glossterm"><a name="annotation-glossterm-transfer%20container"></a>transfer container</span></dt>
<dd class="glossdef"><p>Free data container after the code is done.</p></dd>
<dt><span class="glossterm"><a name="annotation-glossterm-transfer%20full"></a>transfer full</span></dt>
<dd class="glossdef"><p>Free data after the code is done.</p></dd>
-<a name="glsS"></a><h3 class="title">S</h3>
-<dt><span class="glossterm"><a name="annotation-glossterm-scope%20call"></a>scope call</span></dt>
-<dd class="glossdef"><p>The callback is valid only during the call to the method.</p></dd>
+<dt><span class="glossterm"><a name="annotation-glossterm-transfer%20none"></a>transfer none</span></dt>
+<dd class="glossdef"><p>Don't free data after the code is done.</p></dd>
</div>
<div class="footer">
<hr>
- Generated by GTK-Doc V1.19</div>
+ Generated by GTK-Doc V1.21</div>
</body>
</html> \ No newline at end of file
diff --git a/glib/reference/html/api-index-0-12.html b/glib/reference/html/api-index-0-12.html
index a24f7451..a9161bf8 100644
--- a/glib/reference/html/api-index-0-12.html
+++ b/glib/reference/html/api-index-0-12.html
@@ -2,50 +2,45 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Index of new symbols in 0.12</title>
+<title>Poppler Reference Manual: Index of new symbols in 0.12</title>
<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<link rel="home" href="index.html" title="Poppler Reference Manual">
<link rel="up" href="index.html" title="Poppler Reference Manual">
<link rel="prev" href="api-index-deprecated.html" title="Index of deprecated symbols">
<link rel="next" href="api-index-0-14.html" title="Index of new symbols in 0.14">
-<meta name="generator" content="GTK-Doc V1.19 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
-<tr valign="middle">
-<td><a accesskey="p" href="api-index-deprecated.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
-<td> </td>
-<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
-<th width="100%" align="center">Poppler Reference Manual</th>
-<td><a accesskey="n" href="api-index-0-14.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
-</tr>
-<tr><td colspan="5" class="shortcuts">
-<a class="shortcut" href="#idxA">A</a>
-  | 
- <a class="shortcut" href="#idxC">C</a>
-  | 
- <a class="shortcut" href="#idxD">D</a>
-  | 
- <a class="shortcut" href="#idxL">L</a>
-  | 
- <a class="shortcut" href="#idxM">M</a>
-</td></tr>
-</table>
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts"><span id="nav_index"><a class="shortcut" href="#idxA">A</a>
+  <span class="dim">|</span> 
+ <a class="shortcut" href="#idxC">C</a>
+  <span class="dim">|</span> 
+ <a class="shortcut" href="#idxD">D</a>
+  <span class="dim">|</span> 
+ <a class="shortcut" href="#idxL">L</a>
+  <span class="dim">|</span> 
+ <a class="shortcut" href="#idxM">M</a></span></td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><img src="up-insensitive.png" width="16" height="16" border="0"></td>
+<td><a accesskey="p" href="api-index-deprecated.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="api-index-0-14.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
<div class="index">
<div class="titlepage"><div><div><h1 class="title">
<a name="api-index-0-12"></a>Index of new symbols in 0.12</h1></div></div></div>
<a name="idx"></a><a name="idxA"></a><h3 class="title">A</h3>
<dt>
-<a class="link" href="PopplerAnnot.html#poppler-annot-markup-get-popup-rectangle" title="poppler_annot_markup_get_popup_rectangle ()">poppler_annot_markup_get_popup_rectangle</a>, function in <a class="link" href="PopplerAnnot.html" title="PopplerAnnot">PopplerAnnot</a>
+<a class="link" href="PopplerAnnot.html#poppler-annot-markup-get-popup-rectangle" title="poppler_annot_markup_get_popup_rectangle ()">poppler_annot_markup_get_popup_rectangle</a>, function in <a class="link" href="PopplerAnnot.html" title="PopplerAnnot">PopplerAnnot</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerAnnot.html#poppler-annot-markup-has-popup" title="poppler_annot_markup_has_popup ()">poppler_annot_markup_has_popup</a>, function in <a class="link" href="PopplerAnnot.html" title="PopplerAnnot">PopplerAnnot</a>
+<a class="link" href="PopplerAnnot.html#poppler-annot-markup-has-popup" title="poppler_annot_markup_has_popup ()">poppler_annot_markup_has_popup</a>, function in <a class="link" href="PopplerAnnot.html" title="PopplerAnnot">PopplerAnnot</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerAnnot.html#poppler-annot-set-contents" title="poppler_annot_set_contents ()">poppler_annot_set_contents</a>, function in <a class="link" href="PopplerAnnot.html" title="PopplerAnnot">PopplerAnnot</a>
+<a class="link" href="PopplerAnnot.html#poppler-annot-set-contents" title="poppler_annot_set_contents ()">poppler_annot_set_contents</a>, function in <a class="link" href="PopplerAnnot.html" title="PopplerAnnot">PopplerAnnot</a>
</dt>
<dd></dd>
<a name="idxC"></a><h3 class="title">C</h3>
@@ -55,56 +50,56 @@
<dd></dd>
<a name="idxD"></a><h3 class="title">D</h3>
<dt>
-<a class="link" href="poppler-poppler.html#poppler-date-parse" title="poppler_date_parse ()">poppler_date_parse</a>, function in <a class="link" href="poppler-poppler.html" title="poppler">poppler</a>
+<a class="link" href="poppler-poppler.html#poppler-date-parse" title="poppler_date_parse ()">poppler_date_parse</a>, function in <a class="link" href="poppler-poppler.html" title="poppler">poppler</a>
</dt>
<dd></dd>
<a name="idxL"></a><h3 class="title">L</h3>
<dt>
-<a class="link" href="PopplerDocument.html#poppler-layers-iter-free" title="poppler_layers_iter_free ()">poppler_layers_iter_free</a>, function in <a class="link" href="PopplerDocument.html" title="PopplerDocument">PopplerDocument</a>
+<a class="link" href="PopplerDocument.html#poppler-layers-iter-free" title="poppler_layers_iter_free ()">poppler_layers_iter_free</a>, function in <a class="link" href="PopplerDocument.html" title="PopplerDocument">PopplerDocument</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerDocument.html#poppler-layers-iter-get-child" title="poppler_layers_iter_get_child ()">poppler_layers_iter_get_child</a>, function in <a class="link" href="PopplerDocument.html" title="PopplerDocument">PopplerDocument</a>
+<a class="link" href="PopplerDocument.html#poppler-layers-iter-get-child" title="poppler_layers_iter_get_child ()">poppler_layers_iter_get_child</a>, function in <a class="link" href="PopplerDocument.html" title="PopplerDocument">PopplerDocument</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerDocument.html#poppler-layers-iter-get-layer" title="poppler_layers_iter_get_layer ()">poppler_layers_iter_get_layer</a>, function in <a class="link" href="PopplerDocument.html" title="PopplerDocument">PopplerDocument</a>
+<a class="link" href="PopplerDocument.html#poppler-layers-iter-get-layer" title="poppler_layers_iter_get_layer ()">poppler_layers_iter_get_layer</a>, function in <a class="link" href="PopplerDocument.html" title="PopplerDocument">PopplerDocument</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerDocument.html#poppler-layers-iter-get-title" title="poppler_layers_iter_get_title ()">poppler_layers_iter_get_title</a>, function in <a class="link" href="PopplerDocument.html" title="PopplerDocument">PopplerDocument</a>
+<a class="link" href="PopplerDocument.html#poppler-layers-iter-get-title" title="poppler_layers_iter_get_title ()">poppler_layers_iter_get_title</a>, function in <a class="link" href="PopplerDocument.html" title="PopplerDocument">PopplerDocument</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerDocument.html#poppler-layers-iter-new" title="poppler_layers_iter_new ()">poppler_layers_iter_new</a>, function in <a class="link" href="PopplerDocument.html" title="PopplerDocument">PopplerDocument</a>
+<a class="link" href="PopplerDocument.html#poppler-layers-iter-new" title="poppler_layers_iter_new ()">poppler_layers_iter_new</a>, function in <a class="link" href="PopplerDocument.html" title="PopplerDocument">PopplerDocument</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerDocument.html#poppler-layers-iter-next" title="poppler_layers_iter_next ()">poppler_layers_iter_next</a>, function in <a class="link" href="PopplerDocument.html" title="PopplerDocument">PopplerDocument</a>
+<a class="link" href="PopplerDocument.html#poppler-layers-iter-next" title="poppler_layers_iter_next ()">poppler_layers_iter_next</a>, function in <a class="link" href="PopplerDocument.html" title="PopplerDocument">PopplerDocument</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerLayer.html#poppler-layer-get-radio-button-group-id" title="poppler_layer_get_radio_button_group_id ()">poppler_layer_get_radio_button_group_id</a>, function in <a class="link" href="PopplerLayer.html" title="PopplerLayer">PopplerLayer</a>
+<a class="link" href="PopplerLayer.html#poppler-layer-get-radio-button-group-id" title="poppler_layer_get_radio_button_group_id ()">poppler_layer_get_radio_button_group_id</a>, function in <a class="link" href="PopplerLayer.html" title="PopplerLayer">PopplerLayer</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerLayer.html#poppler-layer-get-title" title="poppler_layer_get_title ()">poppler_layer_get_title</a>, function in <a class="link" href="PopplerLayer.html" title="PopplerLayer">PopplerLayer</a>
+<a class="link" href="PopplerLayer.html#poppler-layer-get-title" title="poppler_layer_get_title ()">poppler_layer_get_title</a>, function in <a class="link" href="PopplerLayer.html" title="PopplerLayer">PopplerLayer</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerLayer.html#poppler-layer-hide" title="poppler_layer_hide ()">poppler_layer_hide</a>, function in <a class="link" href="PopplerLayer.html" title="PopplerLayer">PopplerLayer</a>
+<a class="link" href="PopplerLayer.html#poppler-layer-hide" title="poppler_layer_hide ()">poppler_layer_hide</a>, function in <a class="link" href="PopplerLayer.html" title="PopplerLayer">PopplerLayer</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerLayer.html#poppler-layer-is-parent" title="poppler_layer_is_parent ()">poppler_layer_is_parent</a>, function in <a class="link" href="PopplerLayer.html" title="PopplerLayer">PopplerLayer</a>
+<a class="link" href="PopplerLayer.html#poppler-layer-is-parent" title="poppler_layer_is_parent ()">poppler_layer_is_parent</a>, function in <a class="link" href="PopplerLayer.html" title="PopplerLayer">PopplerLayer</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerLayer.html#poppler-layer-is-visible" title="poppler_layer_is_visible ()">poppler_layer_is_visible</a>, function in <a class="link" href="PopplerLayer.html" title="PopplerLayer">PopplerLayer</a>
+<a class="link" href="PopplerLayer.html#poppler-layer-is-visible" title="poppler_layer_is_visible ()">poppler_layer_is_visible</a>, function in <a class="link" href="PopplerLayer.html" title="PopplerLayer">PopplerLayer</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerLayer.html#poppler-layer-show" title="poppler_layer_show ()">poppler_layer_show</a>, function in <a class="link" href="PopplerLayer.html" title="PopplerLayer">PopplerLayer</a>
+<a class="link" href="PopplerLayer.html#poppler-layer-show" title="poppler_layer_show ()">poppler_layer_show</a>, function in <a class="link" href="PopplerLayer.html" title="PopplerLayer">PopplerLayer</a>
</dt>
<dd></dd>
<a name="idxM"></a><h3 class="title">M</h3>
@@ -123,6 +118,6 @@
</div>
<div class="footer">
<hr>
- Generated by GTK-Doc V1.19</div>
+ Generated by GTK-Doc V1.21</div>
</body>
</html> \ No newline at end of file
diff --git a/glib/reference/html/api-index-0-14.html b/glib/reference/html/api-index-0-14.html
index 2eb917bc..24f22fb7 100644
--- a/glib/reference/html/api-index-0-14.html
+++ b/glib/reference/html/api-index-0-14.html
@@ -2,30 +2,25 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Index of new symbols in 0.14</title>
+<title>Poppler Reference Manual: Index of new symbols in 0.14</title>
<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<link rel="home" href="index.html" title="Poppler Reference Manual">
<link rel="up" href="index.html" title="Poppler Reference Manual">
<link rel="prev" href="api-index-0-12.html" title="Index of new symbols in 0.12">
<link rel="next" href="api-index-0-16.html" title="Index of new symbols in 0.16">
-<meta name="generator" content="GTK-Doc V1.19 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
-<tr valign="middle">
-<td><a accesskey="p" href="api-index-0-12.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
-<td> </td>
-<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
-<th width="100%" align="center">Poppler Reference Manual</th>
-<td><a accesskey="n" href="api-index-0-16.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
-</tr>
-<tr><td colspan="5" class="shortcuts">
-<a class="shortcut" href="#idxA">A</a>
-  | 
- <a class="shortcut" href="#idxM">M</a>
-</td></tr>
-</table>
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts"><span id="nav_index"><a class="shortcut" href="#idxA">A</a>
+  <span class="dim">|</span> 
+ <a class="shortcut" href="#idxM">M</a></span></td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><img src="up-insensitive.png" width="16" height="16" border="0"></td>
+<td><a accesskey="p" href="api-index-0-12.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="api-index-0-16.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
<div class="index">
<div class="titlepage"><div><div><h1 class="title">
<a name="api-index-0-14"></a>Index of new symbols in 0.14</h1></div></div></div>
@@ -39,69 +34,69 @@
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerAnnot.html#poppler-annot-file-attachment-get-attachment" title="poppler_annot_file_attachment_get_attachment ()">poppler_annot_file_attachment_get_attachment</a>, function in <a class="link" href="PopplerAnnot.html" title="PopplerAnnot">PopplerAnnot</a>
+<a class="link" href="PopplerAnnot.html#poppler-annot-file-attachment-get-attachment" title="poppler_annot_file_attachment_get_attachment ()">poppler_annot_file_attachment_get_attachment</a>, function in <a class="link" href="PopplerAnnot.html" title="PopplerAnnot">PopplerAnnot</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerAnnot.html#poppler-annot-file-attachment-get-name" title="poppler_annot_file_attachment_get_name ()">poppler_annot_file_attachment_get_name</a>, function in <a class="link" href="PopplerAnnot.html" title="PopplerAnnot">PopplerAnnot</a>
+<a class="link" href="PopplerAnnot.html#poppler-annot-file-attachment-get-name" title="poppler_annot_file_attachment_get_name ()">poppler_annot_file_attachment_get_name</a>, function in <a class="link" href="PopplerAnnot.html" title="PopplerAnnot">PopplerAnnot</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerAnnot.html#poppler-annot-get-page-index" title="poppler_annot_get_page_index ()">poppler_annot_get_page_index</a>, function in <a class="link" href="PopplerAnnot.html" title="PopplerAnnot">PopplerAnnot</a>
+<a class="link" href="PopplerAnnot.html#poppler-annot-get-page-index" title="poppler_annot_get_page_index ()">poppler_annot_get_page_index</a>, function in <a class="link" href="PopplerAnnot.html" title="PopplerAnnot">PopplerAnnot</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerAnnot.html#poppler-annot-movie-get-movie" title="poppler_annot_movie_get_movie ()">poppler_annot_movie_get_movie</a>, function in <a class="link" href="PopplerAnnot.html" title="PopplerAnnot">PopplerAnnot</a>
+<a class="link" href="PopplerAnnot.html#poppler-annot-movie-get-movie" title="poppler_annot_movie_get_movie ()">poppler_annot_movie_get_movie</a>, function in <a class="link" href="PopplerAnnot.html" title="PopplerAnnot">PopplerAnnot</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerAnnot.html#poppler-annot-movie-get-title" title="poppler_annot_movie_get_title ()">poppler_annot_movie_get_title</a>, function in <a class="link" href="PopplerAnnot.html" title="PopplerAnnot">PopplerAnnot</a>
+<a class="link" href="PopplerAnnot.html#poppler-annot-movie-get-title" title="poppler_annot_movie_get_title ()">poppler_annot_movie_get_title</a>, function in <a class="link" href="PopplerAnnot.html" title="PopplerAnnot">PopplerAnnot</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerAnnot.html#poppler-annot-screen-get-action" title="poppler_annot_screen_get_action ()">poppler_annot_screen_get_action</a>, function in <a class="link" href="PopplerAnnot.html" title="PopplerAnnot">PopplerAnnot</a>
+<a class="link" href="PopplerAnnot.html#poppler-annot-screen-get-action" title="poppler_annot_screen_get_action ()">poppler_annot_screen_get_action</a>, function in <a class="link" href="PopplerAnnot.html" title="PopplerAnnot">PopplerAnnot</a>
</dt>
<dd></dd>
<a name="idxM"></a><h3 class="title">M</h3>
<dt>
-<a class="link" href="PopplerMedia.html#PopplerMediaSaveFunc" title="PopplerMediaSaveFunc ()">PopplerMediaSaveFunc</a>, user_function in <a class="link" href="PopplerMedia.html" title="PopplerMedia">PopplerMedia</a>
+<a class="link" href="PopplerMedia.html#PopplerMediaSaveFunc" title="PopplerMediaSaveFunc ()">PopplerMediaSaveFunc</a>, user_function in <a class="link" href="PopplerMedia.html" title="PopplerMedia">PopplerMedia</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerMedia.html#poppler-media-get-filename" title="poppler_media_get_filename ()">poppler_media_get_filename</a>, function in <a class="link" href="PopplerMedia.html" title="PopplerMedia">PopplerMedia</a>
+<a class="link" href="PopplerMedia.html#poppler-media-get-filename" title="poppler_media_get_filename ()">poppler_media_get_filename</a>, function in <a class="link" href="PopplerMedia.html" title="PopplerMedia">PopplerMedia</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerMedia.html#poppler-media-get-mime-type" title="poppler_media_get_mime_type ()">poppler_media_get_mime_type</a>, function in <a class="link" href="PopplerMedia.html" title="PopplerMedia">PopplerMedia</a>
+<a class="link" href="PopplerMedia.html#poppler-media-get-mime-type" title="poppler_media_get_mime_type ()">poppler_media_get_mime_type</a>, function in <a class="link" href="PopplerMedia.html" title="PopplerMedia">PopplerMedia</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerMedia.html#poppler-media-is-embedded" title="poppler_media_is_embedded ()">poppler_media_is_embedded</a>, function in <a class="link" href="PopplerMedia.html" title="PopplerMedia">PopplerMedia</a>
+<a class="link" href="PopplerMedia.html#poppler-media-is-embedded" title="poppler_media_is_embedded ()">poppler_media_is_embedded</a>, function in <a class="link" href="PopplerMedia.html" title="PopplerMedia">PopplerMedia</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerMedia.html#poppler-media-save" title="poppler_media_save ()">poppler_media_save</a>, function in <a class="link" href="PopplerMedia.html" title="PopplerMedia">PopplerMedia</a>
+<a class="link" href="PopplerMedia.html#poppler-media-save" title="poppler_media_save ()">poppler_media_save</a>, function in <a class="link" href="PopplerMedia.html" title="PopplerMedia">PopplerMedia</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerMedia.html#poppler-media-save-to-callback" title="poppler_media_save_to_callback ()">poppler_media_save_to_callback</a>, function in <a class="link" href="PopplerMedia.html" title="PopplerMedia">PopplerMedia</a>
+<a class="link" href="PopplerMedia.html#poppler-media-save-to-callback" title="poppler_media_save_to_callback ()">poppler_media_save_to_callback</a>, function in <a class="link" href="PopplerMedia.html" title="PopplerMedia">PopplerMedia</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerMovie.html#poppler-movie-get-filename" title="poppler_movie_get_filename ()">poppler_movie_get_filename</a>, function in <a class="link" href="PopplerMovie.html" title="PopplerMovie">PopplerMovie</a>
+<a class="link" href="PopplerMovie.html#poppler-movie-get-filename" title="poppler_movie_get_filename ()">poppler_movie_get_filename</a>, function in <a class="link" href="PopplerMovie.html" title="PopplerMovie">PopplerMovie</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerMovie.html#poppler-movie-need-poster" title="poppler_movie_need_poster ()">poppler_movie_need_poster</a>, function in <a class="link" href="PopplerMovie.html" title="PopplerMovie">PopplerMovie</a>
+<a class="link" href="PopplerMovie.html#poppler-movie-need-poster" title="poppler_movie_need_poster ()">poppler_movie_need_poster</a>, function in <a class="link" href="PopplerMovie.html" title="PopplerMovie">PopplerMovie</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerMovie.html#poppler-movie-show-controls" title="poppler_movie_show_controls ()">poppler_movie_show_controls</a>, function in <a class="link" href="PopplerMovie.html" title="PopplerMovie">PopplerMovie</a>
+<a class="link" href="PopplerMovie.html#poppler-movie-show-controls" title="poppler_movie_show_controls ()">poppler_movie_show_controls</a>, function in <a class="link" href="PopplerMovie.html" title="PopplerMovie">PopplerMovie</a>
</dt>
<dd></dd>
</div>
<div class="footer">
<hr>
- Generated by GTK-Doc V1.19</div>
+ Generated by GTK-Doc V1.21</div>
</body>
</html> \ No newline at end of file
diff --git a/glib/reference/html/api-index-0-16.html b/glib/reference/html/api-index-0-16.html
index 78dd96f1..93cc647a 100644
--- a/glib/reference/html/api-index-0-16.html
+++ b/glib/reference/html/api-index-0-16.html
@@ -2,175 +2,170 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Index of new symbols in 0.16</title>
+<title>Poppler Reference Manual: Index of new symbols in 0.16</title>
<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<link rel="home" href="index.html" title="Poppler Reference Manual">
<link rel="up" href="index.html" title="Poppler Reference Manual">
<link rel="prev" href="api-index-0-14.html" title="Index of new symbols in 0.14">
<link rel="next" href="api-index-0-18.html" title="Index of new symbols in 0.18">
-<meta name="generator" content="GTK-Doc V1.19 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
-<tr valign="middle">
-<td><a accesskey="p" href="api-index-0-14.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
-<td> </td>
-<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
-<th width="100%" align="center">Poppler Reference Manual</th>
-<td><a accesskey="n" href="api-index-0-18.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
-</tr>
-<tr><td colspan="5" class="shortcuts">
-<a class="shortcut" href="#idxA">A</a>
-  | 
- <a class="shortcut" href="#idxD">D</a>
-  | 
- <a class="shortcut" href="#idxF">F</a>
-  | 
- <a class="shortcut" href="#idxP">P</a>
-</td></tr>
-</table>
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts"><span id="nav_index"><a class="shortcut" href="#idxA">A</a>
+  <span class="dim">|</span> 
+ <a class="shortcut" href="#idxD">D</a>
+  <span class="dim">|</span> 
+ <a class="shortcut" href="#idxF">F</a>
+  <span class="dim">|</span> 
+ <a class="shortcut" href="#idxP">P</a></span></td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><img src="up-insensitive.png" width="16" height="16" border="0"></td>
+<td><a accesskey="p" href="api-index-0-14.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="api-index-0-18.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
<div class="index">
<div class="titlepage"><div><div><h1 class="title">
<a name="api-index-0-16"></a>Index of new symbols in 0.16</h1></div></div></div>
<a name="idx"></a><a name="idxA"></a><h3 class="title">A</h3>
<dt>
-<a class="link" href="PopplerAnnot.html#poppler-annot-markup-set-label" title="poppler_annot_markup_set_label ()">poppler_annot_markup_set_label</a>, function in <a class="link" href="PopplerAnnot.html" title="PopplerAnnot">PopplerAnnot</a>
+<a class="link" href="PopplerAnnot.html#poppler-annot-markup-set-label" title="poppler_annot_markup_set_label ()">poppler_annot_markup_set_label</a>, function in <a class="link" href="PopplerAnnot.html" title="PopplerAnnot">PopplerAnnot</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerAnnot.html#poppler-annot-markup-set-opacity" title="poppler_annot_markup_set_opacity ()">poppler_annot_markup_set_opacity</a>, function in <a class="link" href="PopplerAnnot.html" title="PopplerAnnot">PopplerAnnot</a>
+<a class="link" href="PopplerAnnot.html#poppler-annot-markup-set-opacity" title="poppler_annot_markup_set_opacity ()">poppler_annot_markup_set_opacity</a>, function in <a class="link" href="PopplerAnnot.html" title="PopplerAnnot">PopplerAnnot</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerAnnot.html#poppler-annot-markup-set-popup" title="poppler_annot_markup_set_popup ()">poppler_annot_markup_set_popup</a>, function in <a class="link" href="PopplerAnnot.html" title="PopplerAnnot">PopplerAnnot</a>
+<a class="link" href="PopplerAnnot.html#poppler-annot-markup-set-popup" title="poppler_annot_markup_set_popup ()">poppler_annot_markup_set_popup</a>, function in <a class="link" href="PopplerAnnot.html" title="PopplerAnnot">PopplerAnnot</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerAnnot.html#poppler-annot-markup-set-popup-is-open" title="poppler_annot_markup_set_popup_is_open ()">poppler_annot_markup_set_popup_is_open</a>, function in <a class="link" href="PopplerAnnot.html" title="PopplerAnnot">PopplerAnnot</a>
+<a class="link" href="PopplerAnnot.html#poppler-annot-markup-set-popup-is-open" title="poppler_annot_markup_set_popup_is_open ()">poppler_annot_markup_set_popup_is_open</a>, function in <a class="link" href="PopplerAnnot.html" title="PopplerAnnot">PopplerAnnot</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerAnnot.html#poppler-annot-set-color" title="poppler_annot_set_color ()">poppler_annot_set_color</a>, function in <a class="link" href="PopplerAnnot.html" title="PopplerAnnot">PopplerAnnot</a>
+<a class="link" href="PopplerAnnot.html#poppler-annot-set-color" title="poppler_annot_set_color ()">poppler_annot_set_color</a>, function in <a class="link" href="PopplerAnnot.html" title="PopplerAnnot">PopplerAnnot</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerAnnot.html#poppler-annot-text-new" title="poppler_annot_text_new ()">poppler_annot_text_new</a>, function in <a class="link" href="PopplerAnnot.html" title="PopplerAnnot">PopplerAnnot</a>
+<a class="link" href="PopplerAnnot.html#poppler-annot-text-new" title="poppler_annot_text_new ()">poppler_annot_text_new</a>, function in <a class="link" href="PopplerAnnot.html" title="PopplerAnnot">PopplerAnnot</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerAnnot.html#poppler-annot-text-set-icon" title="poppler_annot_text_set_icon ()">poppler_annot_text_set_icon</a>, function in <a class="link" href="PopplerAnnot.html" title="PopplerAnnot">PopplerAnnot</a>
+<a class="link" href="PopplerAnnot.html#poppler-annot-text-set-icon" title="poppler_annot_text_set_icon ()">poppler_annot_text_set_icon</a>, function in <a class="link" href="PopplerAnnot.html" title="PopplerAnnot">PopplerAnnot</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerAnnot.html#poppler-annot-text-set-is-open" title="poppler_annot_text_set_is_open ()">poppler_annot_text_set_is_open</a>, function in <a class="link" href="PopplerAnnot.html" title="PopplerAnnot">PopplerAnnot</a>
+<a class="link" href="PopplerAnnot.html#poppler-annot-text-set-is-open" title="poppler_annot_text_set_is_open ()">poppler_annot_text_set_is_open</a>, function in <a class="link" href="PopplerAnnot.html" title="PopplerAnnot">PopplerAnnot</a>
</dt>
<dd></dd>
<a name="idxD"></a><h3 class="title">D</h3>
<dt>
-<a class="link" href="PopplerDocument.html#poppler-document-get-author" title="poppler_document_get_author ()">poppler_document_get_author</a>, function in <a class="link" href="PopplerDocument.html" title="PopplerDocument">PopplerDocument</a>
+<a class="link" href="PopplerDocument.html#poppler-document-get-author" title="poppler_document_get_author ()">poppler_document_get_author</a>, function in <a class="link" href="PopplerDocument.html" title="PopplerDocument">PopplerDocument</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerDocument.html#poppler-document-get-creation-date" title="poppler_document_get_creation_date ()">poppler_document_get_creation_date</a>, function in <a class="link" href="PopplerDocument.html" title="PopplerDocument">PopplerDocument</a>
+<a class="link" href="PopplerDocument.html#poppler-document-get-creation-date" title="poppler_document_get_creation_date ()">poppler_document_get_creation_date</a>, function in <a class="link" href="PopplerDocument.html" title="PopplerDocument">PopplerDocument</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerDocument.html#poppler-document-get-creator" title="poppler_document_get_creator ()">poppler_document_get_creator</a>, function in <a class="link" href="PopplerDocument.html" title="PopplerDocument">PopplerDocument</a>
+<a class="link" href="PopplerDocument.html#poppler-document-get-creator" title="poppler_document_get_creator ()">poppler_document_get_creator</a>, function in <a class="link" href="PopplerDocument.html" title="PopplerDocument">PopplerDocument</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerDocument.html#poppler-document-get-id" title="poppler_document_get_id ()">poppler_document_get_id</a>, function in <a class="link" href="PopplerDocument.html" title="PopplerDocument">PopplerDocument</a>
+<a class="link" href="PopplerDocument.html#poppler-document-get-id" title="poppler_document_get_id ()">poppler_document_get_id</a>, function in <a class="link" href="PopplerDocument.html" title="PopplerDocument">PopplerDocument</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerDocument.html#poppler-document-get-keywords" title="poppler_document_get_keywords ()">poppler_document_get_keywords</a>, function in <a class="link" href="PopplerDocument.html" title="PopplerDocument">PopplerDocument</a>
+<a class="link" href="PopplerDocument.html#poppler-document-get-keywords" title="poppler_document_get_keywords ()">poppler_document_get_keywords</a>, function in <a class="link" href="PopplerDocument.html" title="PopplerDocument">PopplerDocument</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerDocument.html#poppler-document-get-metadata" title="poppler_document_get_metadata ()">poppler_document_get_metadata</a>, function in <a class="link" href="PopplerDocument.html" title="PopplerDocument">PopplerDocument</a>
+<a class="link" href="PopplerDocument.html#poppler-document-get-metadata" title="poppler_document_get_metadata ()">poppler_document_get_metadata</a>, function in <a class="link" href="PopplerDocument.html" title="PopplerDocument">PopplerDocument</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerDocument.html#poppler-document-get-modification-date" title="poppler_document_get_modification_date ()">poppler_document_get_modification_date</a>, function in <a class="link" href="PopplerDocument.html" title="PopplerDocument">PopplerDocument</a>
+<a class="link" href="PopplerDocument.html#poppler-document-get-modification-date" title="poppler_document_get_modification_date ()">poppler_document_get_modification_date</a>, function in <a class="link" href="PopplerDocument.html" title="PopplerDocument">PopplerDocument</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerDocument.html#poppler-document-get-page-layout" title="poppler_document_get_page_layout ()">poppler_document_get_page_layout</a>, function in <a class="link" href="PopplerDocument.html" title="PopplerDocument">PopplerDocument</a>
+<a class="link" href="PopplerDocument.html#poppler-document-get-page-layout" title="poppler_document_get_page_layout ()">poppler_document_get_page_layout</a>, function in <a class="link" href="PopplerDocument.html" title="PopplerDocument">PopplerDocument</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerDocument.html#poppler-document-get-page-mode" title="poppler_document_get_page_mode ()">poppler_document_get_page_mode</a>, function in <a class="link" href="PopplerDocument.html" title="PopplerDocument">PopplerDocument</a>
+<a class="link" href="PopplerDocument.html#poppler-document-get-page-mode" title="poppler_document_get_page_mode ()">poppler_document_get_page_mode</a>, function in <a class="link" href="PopplerDocument.html" title="PopplerDocument">PopplerDocument</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerDocument.html#poppler-document-get-pdf-version" title="poppler_document_get_pdf_version ()">poppler_document_get_pdf_version</a>, function in <a class="link" href="PopplerDocument.html" title="PopplerDocument">PopplerDocument</a>
+<a class="link" href="PopplerDocument.html#poppler-document-get-pdf-version" title="poppler_document_get_pdf_version ()">poppler_document_get_pdf_version</a>, function in <a class="link" href="PopplerDocument.html" title="PopplerDocument">PopplerDocument</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerDocument.html#poppler-document-get-pdf-version-string" title="poppler_document_get_pdf_version_string ()">poppler_document_get_pdf_version_string</a>, function in <a class="link" href="PopplerDocument.html" title="PopplerDocument">PopplerDocument</a>
+<a class="link" href="PopplerDocument.html#poppler-document-get-pdf-version-string" title="poppler_document_get_pdf_version_string ()">poppler_document_get_pdf_version_string</a>, function in <a class="link" href="PopplerDocument.html" title="PopplerDocument">PopplerDocument</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerDocument.html#poppler-document-get-permissions" title="poppler_document_get_permissions ()">poppler_document_get_permissions</a>, function in <a class="link" href="PopplerDocument.html" title="PopplerDocument">PopplerDocument</a>
+<a class="link" href="PopplerDocument.html#poppler-document-get-permissions" title="poppler_document_get_permissions ()">poppler_document_get_permissions</a>, function in <a class="link" href="PopplerDocument.html" title="PopplerDocument">PopplerDocument</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerDocument.html#poppler-document-get-producer" title="poppler_document_get_producer ()">poppler_document_get_producer</a>, function in <a class="link" href="PopplerDocument.html" title="PopplerDocument">PopplerDocument</a>
+<a class="link" href="PopplerDocument.html#poppler-document-get-producer" title="poppler_document_get_producer ()">poppler_document_get_producer</a>, function in <a class="link" href="PopplerDocument.html" title="PopplerDocument">PopplerDocument</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerDocument.html#poppler-document-get-subject" title="poppler_document_get_subject ()">poppler_document_get_subject</a>, function in <a class="link" href="PopplerDocument.html" title="PopplerDocument">PopplerDocument</a>
+<a class="link" href="PopplerDocument.html#poppler-document-get-subject" title="poppler_document_get_subject ()">poppler_document_get_subject</a>, function in <a class="link" href="PopplerDocument.html" title="PopplerDocument">PopplerDocument</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerDocument.html#poppler-document-get-title" title="poppler_document_get_title ()">poppler_document_get_title</a>, function in <a class="link" href="PopplerDocument.html" title="PopplerDocument">PopplerDocument</a>
+<a class="link" href="PopplerDocument.html#poppler-document-get-title" title="poppler_document_get_title ()">poppler_document_get_title</a>, function in <a class="link" href="PopplerDocument.html" title="PopplerDocument">PopplerDocument</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerDocument.html#poppler-document-is-linearized" title="poppler_document_is_linearized ()">poppler_document_is_linearized</a>, function in <a class="link" href="PopplerDocument.html" title="PopplerDocument">PopplerDocument</a>
+<a class="link" href="PopplerDocument.html#poppler-document-is-linearized" title="poppler_document_is_linearized ()">poppler_document_is_linearized</a>, function in <a class="link" href="PopplerDocument.html" title="PopplerDocument">PopplerDocument</a>
</dt>
<dd></dd>
<a name="idxF"></a><h3 class="title">F</h3>
<dt>
-<a class="link" href="PopplerFormField.html#poppler-form-field-get-mapping-name" title="poppler_form_field_get_mapping_name ()">poppler_form_field_get_mapping_name</a>, function in <a class="link" href="PopplerFormField.html" title="PoppplerFormField">PopplerFormField</a>
+<a class="link" href="PopplerFormField.html#poppler-form-field-get-mapping-name" title="poppler_form_field_get_mapping_name ()">poppler_form_field_get_mapping_name</a>, function in <a class="link" href="PopplerFormField.html" title="PoppplerFormField">PopplerFormField</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerFormField.html#poppler-form-field-get-name" title="poppler_form_field_get_name ()">poppler_form_field_get_name</a>, function in <a class="link" href="PopplerFormField.html" title="PoppplerFormField">PopplerFormField</a>
+<a class="link" href="PopplerFormField.html#poppler-form-field-get-name" title="poppler_form_field_get_name ()">poppler_form_field_get_name</a>, function in <a class="link" href="PopplerFormField.html" title="PoppplerFormField">PopplerFormField</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerFormField.html#poppler-form-field-get-partial-name" title="poppler_form_field_get_partial_name ()">poppler_form_field_get_partial_name</a>, function in <a class="link" href="PopplerFormField.html" title="PoppplerFormField">PopplerFormField</a>
+<a class="link" href="PopplerFormField.html#poppler-form-field-get-partial-name" title="poppler_form_field_get_partial_name ()">poppler_form_field_get_partial_name</a>, function in <a class="link" href="PopplerFormField.html" title="PoppplerFormField">PopplerFormField</a>
</dt>
<dd></dd>
<a name="idxP"></a><h3 class="title">P</h3>
<dt>
-<a class="link" href="PopplerPage.html#poppler-page-add-annot" title="poppler_page_add_annot ()">poppler_page_add_annot</a>, function in <a class="link" href="PopplerPage.html" title="PopplerPage">PopplerPage</a>
+<a class="link" href="PopplerPage.html#poppler-page-add-annot" title="poppler_page_add_annot ()">poppler_page_add_annot</a>, function in <a class="link" href="PopplerPage.html" title="PopplerPage">PopplerPage</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerPage.html#poppler-page-get-label" title="poppler_page_get_label ()">poppler_page_get_label</a>, function in <a class="link" href="PopplerPage.html" title="PopplerPage">PopplerPage</a>
+<a class="link" href="PopplerPage.html#poppler-page-get-label" title="poppler_page_get_label ()">poppler_page_get_label</a>, function in <a class="link" href="PopplerPage.html" title="PopplerPage">PopplerPage</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerPage.html#poppler-page-get-selected-region" title="poppler_page_get_selected_region ()">poppler_page_get_selected_region</a>, function in <a class="link" href="PopplerPage.html" title="PopplerPage">PopplerPage</a>
+<a class="link" href="PopplerPage.html#poppler-page-get-selected-region" title="poppler_page_get_selected_region ()">poppler_page_get_selected_region</a>, function in <a class="link" href="PopplerPage.html" title="PopplerPage">PopplerPage</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerPage.html#poppler-page-get-selected-text" title="poppler_page_get_selected_text ()">poppler_page_get_selected_text</a>, function in <a class="link" href="PopplerPage.html" title="PopplerPage">PopplerPage</a>
+<a class="link" href="PopplerPage.html#poppler-page-get-selected-text" title="poppler_page_get_selected_text ()">poppler_page_get_selected_text</a>, function in <a class="link" href="PopplerPage.html" title="PopplerPage">PopplerPage</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerPage.html#poppler-page-get-text" title="poppler_page_get_text ()">poppler_page_get_text</a>, function in <a class="link" href="PopplerPage.html" title="PopplerPage">PopplerPage</a>
+<a class="link" href="PopplerPage.html#poppler-page-get-text" title="poppler_page_get_text ()">poppler_page_get_text</a>, function in <a class="link" href="PopplerPage.html" title="PopplerPage">PopplerPage</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerPage.html#poppler-page-get-text-layout" title="poppler_page_get_text_layout ()">poppler_page_get_text_layout</a>, function in <a class="link" href="PopplerPage.html" title="PopplerPage">PopplerPage</a>
+<a class="link" href="PopplerPage.html#poppler-page-get-text-layout" title="poppler_page_get_text_layout ()">poppler_page_get_text_layout</a>, function in <a class="link" href="PopplerPage.html" title="PopplerPage">PopplerPage</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerPage.html#poppler-page-render-for-printing-with-options" title="poppler_page_render_for_printing_with_options ()">poppler_page_render_for_printing_with_options</a>, function in <a class="link" href="PopplerPage.html" title="PopplerPage">PopplerPage</a>
+<a class="link" href="PopplerPage.html#poppler-page-render-for-printing-with-options" title="poppler_page_render_for_printing_with_options ()">poppler_page_render_for_printing_with_options</a>, function in <a class="link" href="PopplerPage.html" title="PopplerPage">PopplerPage</a>
</dt>
<dd></dd>
<dt>
@@ -180,6 +175,6 @@
</div>
<div class="footer">
<hr>
- Generated by GTK-Doc V1.19</div>
+ Generated by GTK-Doc V1.21</div>
</body>
</html> \ No newline at end of file
diff --git a/glib/reference/html/api-index-0-18.html b/glib/reference/html/api-index-0-18.html
index ce3fc55b..ebaa2f8f 100644
--- a/glib/reference/html/api-index-0-18.html
+++ b/glib/reference/html/api-index-0-18.html
@@ -2,54 +2,49 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Index of new symbols in 0.18</title>
+<title>Poppler Reference Manual: Index of new symbols in 0.18</title>
<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<link rel="home" href="index.html" title="Poppler Reference Manual">
<link rel="up" href="index.html" title="Poppler Reference Manual">
<link rel="prev" href="api-index-0-16.html" title="Index of new symbols in 0.16">
<link rel="next" href="api-index-0-20.html" title="Index of new symbols in 0.20">
-<meta name="generator" content="GTK-Doc V1.19 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
-<tr valign="middle">
-<td><a accesskey="p" href="api-index-0-16.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
-<td> </td>
-<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
-<th width="100%" align="center">Poppler Reference Manual</th>
-<td><a accesskey="n" href="api-index-0-20.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
-</tr>
-<tr><td colspan="5" class="shortcuts">
-<a class="shortcut" href="#idxD">D</a>
-  | 
- <a class="shortcut" href="#idxF">F</a>
-  | 
- <a class="shortcut" href="#idxP">P</a>
-  | 
- <a class="shortcut" href="#idxT">T</a>
-</td></tr>
-</table>
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts"><span id="nav_index"><a class="shortcut" href="#idxD">D</a>
+  <span class="dim">|</span> 
+ <a class="shortcut" href="#idxF">F</a>
+  <span class="dim">|</span> 
+ <a class="shortcut" href="#idxP">P</a>
+  <span class="dim">|</span> 
+ <a class="shortcut" href="#idxT">T</a></span></td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><img src="up-insensitive.png" width="16" height="16" border="0"></td>
+<td><a accesskey="p" href="api-index-0-16.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="api-index-0-20.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
<div class="index">
<div class="titlepage"><div><div><h1 class="title">
<a name="api-index-0-18"></a>Index of new symbols in 0.18</h1></div></div></div>
<a name="idx"></a><a name="idxD"></a><h3 class="title">D</h3>
<dt>
-<a class="link" href="PopplerDocument.html#poppler-document-get-n-attachments" title="poppler_document_get_n_attachments ()">poppler_document_get_n_attachments</a>, function in <a class="link" href="PopplerDocument.html" title="PopplerDocument">PopplerDocument</a>
+<a class="link" href="PopplerDocument.html#poppler-document-get-n-attachments" title="poppler_document_get_n_attachments ()">poppler_document_get_n_attachments</a>, function in <a class="link" href="PopplerDocument.html" title="PopplerDocument">PopplerDocument</a>
</dt>
<dd></dd>
<a name="idxF"></a><h3 class="title">F</h3>
<dt>
-<a class="link" href="PopplerFormField.html#poppler-form-field-get-action" title="poppler_form_field_get_action ()">poppler_form_field_get_action</a>, function in <a class="link" href="PopplerFormField.html" title="PoppplerFormField">PopplerFormField</a>
+<a class="link" href="PopplerFormField.html#poppler-form-field-get-action" title="poppler_form_field_get_action ()">poppler_form_field_get_action</a>, function in <a class="link" href="PopplerFormField.html" title="PoppplerFormField">PopplerFormField</a>
</dt>
<dd></dd>
<a name="idxP"></a><h3 class="title">P</h3>
<dt>
-<a class="link" href="PopplerPage.html#poppler-page-free-text-attributes" title="poppler_page_free_text_attributes ()">poppler_page_free_text_attributes</a>, function in <a class="link" href="PopplerPage.html" title="PopplerPage">PopplerPage</a>
+<a class="link" href="PopplerPage.html#poppler-page-free-text-attributes" title="poppler_page_free_text_attributes ()">poppler_page_free_text_attributes</a>, function in <a class="link" href="PopplerPage.html" title="PopplerPage">PopplerPage</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerPage.html#poppler-page-get-text-attributes" title="poppler_page_get_text_attributes ()">poppler_page_get_text_attributes</a>, function in <a class="link" href="PopplerPage.html" title="PopplerPage">PopplerPage</a>
+<a class="link" href="PopplerPage.html#poppler-page-get-text-attributes" title="poppler_page_get_text_attributes ()">poppler_page_get_text_attributes</a>, function in <a class="link" href="PopplerPage.html" title="PopplerPage">PopplerPage</a>
</dt>
<dd></dd>
<a name="idxT"></a><h3 class="title">T</h3>
@@ -58,20 +53,20 @@
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerPage.html#poppler-text-attributes-copy" title="poppler_text_attributes_copy ()">poppler_text_attributes_copy</a>, function in <a class="link" href="PopplerPage.html" title="PopplerPage">PopplerPage</a>
+<a class="link" href="PopplerPage.html#poppler-text-attributes-copy" title="poppler_text_attributes_copy ()">poppler_text_attributes_copy</a>, function in <a class="link" href="PopplerPage.html" title="PopplerPage">PopplerPage</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerPage.html#poppler-text-attributes-free" title="poppler_text_attributes_free ()">poppler_text_attributes_free</a>, function in <a class="link" href="PopplerPage.html" title="PopplerPage">PopplerPage</a>
+<a class="link" href="PopplerPage.html#poppler-text-attributes-free" title="poppler_text_attributes_free ()">poppler_text_attributes_free</a>, function in <a class="link" href="PopplerPage.html" title="PopplerPage">PopplerPage</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerPage.html#poppler-text-attributes-new" title="poppler_text_attributes_new ()">poppler_text_attributes_new</a>, function in <a class="link" href="PopplerPage.html" title="PopplerPage">PopplerPage</a>
+<a class="link" href="PopplerPage.html#poppler-text-attributes-new" title="poppler_text_attributes_new ()">poppler_text_attributes_new</a>, function in <a class="link" href="PopplerPage.html" title="PopplerPage">PopplerPage</a>
</dt>
<dd></dd>
</div>
<div class="footer">
<hr>
- Generated by GTK-Doc V1.19</div>
+ Generated by GTK-Doc V1.21</div>
</body>
</html> \ No newline at end of file
diff --git a/glib/reference/html/api-index-0-20.html b/glib/reference/html/api-index-0-20.html
index 76dedf3e..41b347fc 100644
--- a/glib/reference/html/api-index-0-20.html
+++ b/glib/reference/html/api-index-0-20.html
@@ -2,41 +2,38 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Index of new symbols in 0.20</title>
+<title>Poppler Reference Manual: Index of new symbols in 0.20</title>
<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<link rel="home" href="index.html" title="Poppler Reference Manual">
<link rel="up" href="index.html" title="Poppler Reference Manual">
<link rel="prev" href="api-index-0-18.html" title="Index of new symbols in 0.18">
<link rel="next" href="api-index-0-22.html" title="Index of new symbols in 0.22">
-<meta name="generator" content="GTK-Doc V1.19 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
-<tr valign="middle">
-<td><a accesskey="p" href="api-index-0-18.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
-<td> </td>
-<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
-<th width="100%" align="center">Poppler Reference Manual</th>
-<td><a accesskey="n" href="api-index-0-22.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
-</tr>
-<tr><td colspan="5" class="shortcuts"><a class="shortcut" href="#idxF">F</a></td></tr>
-</table>
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts"><span id="nav_index"><a class="shortcut" href="#idxF">F</a></span></td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><img src="up-insensitive.png" width="16" height="16" border="0"></td>
+<td><a accesskey="p" href="api-index-0-18.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="api-index-0-22.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
<div class="index">
<div class="titlepage"><div><div><h1 class="title">
<a name="api-index-0-20"></a>Index of new symbols in 0.20</h1></div></div></div>
<a name="idx"></a><a name="idxF"></a><h3 class="title">F</h3>
<dt>
-<a class="link" href="PopplerDocument.html#poppler-fonts-iter-get-encoding" title="poppler_fonts_iter_get_encoding ()">poppler_fonts_iter_get_encoding</a>, function in <a class="link" href="PopplerDocument.html" title="PopplerDocument">PopplerDocument</a>
+<a class="link" href="PopplerDocument.html#poppler-fonts-iter-get-encoding" title="poppler_fonts_iter_get_encoding ()">poppler_fonts_iter_get_encoding</a>, function in <a class="link" href="PopplerDocument.html" title="PopplerDocument">PopplerDocument</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerDocument.html#poppler-fonts-iter-get-substitute-name" title="poppler_fonts_iter_get_substitute_name ()">poppler_fonts_iter_get_substitute_name</a>, function in <a class="link" href="PopplerDocument.html" title="PopplerDocument">PopplerDocument</a>
+<a class="link" href="PopplerDocument.html#poppler-fonts-iter-get-substitute-name" title="poppler_fonts_iter_get_substitute_name ()">poppler_fonts_iter_get_substitute_name</a>, function in <a class="link" href="PopplerDocument.html" title="PopplerDocument">PopplerDocument</a>
</dt>
<dd></dd>
</div>
<div class="footer">
<hr>
- Generated by GTK-Doc V1.19</div>
+ Generated by GTK-Doc V1.21</div>
</body>
</html> \ No newline at end of file
diff --git a/glib/reference/html/api-index-0-22.html b/glib/reference/html/api-index-0-22.html
index 4848bee7..03eb7e27 100644
--- a/glib/reference/html/api-index-0-22.html
+++ b/glib/reference/html/api-index-0-22.html
@@ -2,42 +2,37 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Index of new symbols in 0.22</title>
+<title>Poppler Reference Manual: Index of new symbols in 0.22</title>
<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<link rel="home" href="index.html" title="Poppler Reference Manual">
<link rel="up" href="index.html" title="Poppler Reference Manual">
<link rel="prev" href="api-index-0-20.html" title="Index of new symbols in 0.20">
<link rel="next" href="annotation-glossary.html" title="Annotation Glossary">
-<meta name="generator" content="GTK-Doc V1.19 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
-<tr valign="middle">
-<td><a accesskey="p" href="api-index-0-20.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
-<td> </td>
-<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
-<th width="100%" align="center">Poppler Reference Manual</th>
-<td><a accesskey="n" href="annotation-glossary.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
-</tr>
-<tr><td colspan="5" class="shortcuts">
-<a class="shortcut" href="#idxD">D</a>
-  | 
- <a class="shortcut" href="#idxF">F</a>
-  | 
- <a class="shortcut" href="#idxP">P</a>
-</td></tr>
-</table>
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts"><span id="nav_index"><a class="shortcut" href="#idxD">D</a>
+  <span class="dim">|</span> 
+ <a class="shortcut" href="#idxF">F</a>
+  <span class="dim">|</span> 
+ <a class="shortcut" href="#idxP">P</a></span></td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><img src="up-insensitive.png" width="16" height="16" border="0"></td>
+<td><a accesskey="p" href="api-index-0-20.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="annotation-glossary.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
<div class="index">
<div class="titlepage"><div><div><h1 class="title">
<a name="api-index-0-22"></a>Index of new symbols in 0.22</h1></div></div></div>
<a name="idx"></a><a name="idxD"></a><h3 class="title">D</h3>
<dt>
-<a class="link" href="PopplerDocument.html#poppler-document-new-from-gfile" title="poppler_document_new_from_gfile ()">poppler_document_new_from_gfile</a>, function in <a class="link" href="PopplerDocument.html" title="PopplerDocument">PopplerDocument</a>
+<a class="link" href="PopplerDocument.html#poppler-document-new-from-gfile" title="poppler_document_new_from_gfile ()">poppler_document_new_from_gfile</a>, function in <a class="link" href="PopplerDocument.html" title="PopplerDocument">PopplerDocument</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerDocument.html#poppler-document-new-from-stream" title="poppler_document_new_from_stream ()">poppler_document_new_from_stream</a>, function in <a class="link" href="PopplerDocument.html" title="PopplerDocument">PopplerDocument</a>
+<a class="link" href="PopplerDocument.html#poppler-document-new-from-stream" title="poppler_document_new_from_stream ()">poppler_document_new_from_stream</a>, function in <a class="link" href="PopplerDocument.html" title="PopplerDocument">PopplerDocument</a>
</dt>
<dd></dd>
<a name="idxF"></a><h3 class="title">F</h3>
@@ -47,16 +42,16 @@
<dd></dd>
<a name="idxP"></a><h3 class="title">P</h3>
<dt>
-<a class="link" href="PopplerPage.html#poppler-page-find-text-with-options" title="poppler_page_find_text_with_options ()">poppler_page_find_text_with_options</a>, function in <a class="link" href="PopplerPage.html" title="PopplerPage">PopplerPage</a>
+<a class="link" href="PopplerPage.html#poppler-page-find-text-with-options" title="poppler_page_find_text_with_options ()">poppler_page_find_text_with_options</a>, function in <a class="link" href="PopplerPage.html" title="PopplerPage">PopplerPage</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerPage.html#poppler-page-remove-annot" title="poppler_page_remove_annot ()">poppler_page_remove_annot</a>, function in <a class="link" href="PopplerPage.html" title="PopplerPage">PopplerPage</a>
+<a class="link" href="PopplerPage.html#poppler-page-remove-annot" title="poppler_page_remove_annot ()">poppler_page_remove_annot</a>, function in <a class="link" href="PopplerPage.html" title="PopplerPage">PopplerPage</a>
</dt>
<dd></dd>
</div>
<div class="footer">
<hr>
- Generated by GTK-Doc V1.19</div>
+ Generated by GTK-Doc V1.21</div>
</body>
</html> \ No newline at end of file
diff --git a/glib/reference/html/api-index-deprecated.html b/glib/reference/html/api-index-deprecated.html
index 2d14560d..7f00f218 100644
--- a/glib/reference/html/api-index-deprecated.html
+++ b/glib/reference/html/api-index-deprecated.html
@@ -2,41 +2,38 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Index of deprecated symbols</title>
+<title>Poppler Reference Manual: Index of deprecated symbols</title>
<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<link rel="home" href="index.html" title="Poppler Reference Manual">
<link rel="up" href="index.html" title="Poppler Reference Manual">
<link rel="prev" href="api-index-full.html" title="Index of all symbols">
<link rel="next" href="api-index-0-12.html" title="Index of new symbols in 0.12">
-<meta name="generator" content="GTK-Doc V1.19 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
-<tr valign="middle">
-<td><a accesskey="p" href="api-index-full.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
-<td> </td>
-<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
-<th width="100%" align="center">Poppler Reference Manual</th>
-<td><a accesskey="n" href="api-index-0-12.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
-</tr>
-<tr><td colspan="5" class="shortcuts"><a class="shortcut" href="#idxP">P</a></td></tr>
-</table>
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts"><span id="nav_index"><a class="shortcut" href="#idxP">P</a></span></td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><img src="up-insensitive.png" width="16" height="16" border="0"></td>
+<td><a accesskey="p" href="api-index-full.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="api-index-0-12.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
<div class="index">
<div class="titlepage"><div><div><h1 class="title">
<a name="api-index-deprecated"></a>Index of deprecated symbols</h1></div></div></div>
<a name="idx"></a><a name="idxP"></a><h3 class="title">P</h3>
<dt>
-<a class="link" href="PopplerPage.html#poppler-page-get-selection-region" title="poppler_page_get_selection_region ()">poppler_page_get_selection_region</a>, function in <a class="link" href="PopplerPage.html" title="PopplerPage">PopplerPage</a>
+<a class="link" href="PopplerPage.html#poppler-page-get-selection-region" title="poppler_page_get_selection_region ()">poppler_page_get_selection_region</a>, function in <a class="link" href="PopplerPage.html" title="PopplerPage">PopplerPage</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerPage.html#poppler-page-selection-region-free" title="poppler_page_selection_region_free ()">poppler_page_selection_region_free</a>, function in <a class="link" href="PopplerPage.html" title="PopplerPage">PopplerPage</a>
+<a class="link" href="PopplerPage.html#poppler-page-selection-region-free" title="poppler_page_selection_region_free ()">poppler_page_selection_region_free</a>, function in <a class="link" href="PopplerPage.html" title="PopplerPage">PopplerPage</a>
</dt>
<dd></dd>
</div>
<div class="footer">
<hr>
- Generated by GTK-Doc V1.19</div>
+ Generated by GTK-Doc V1.21</div>
</body>
</html> \ No newline at end of file
diff --git a/glib/reference/html/api-index-full.html b/glib/reference/html/api-index-full.html
index b35d4735..d375178a 100644
--- a/glib/reference/html/api-index-full.html
+++ b/glib/reference/html/api-index-full.html
@@ -2,60 +2,57 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Index of all symbols</title>
+<title>Poppler Reference Manual: Index of all symbols</title>
<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<link rel="home" href="index.html" title="Poppler Reference Manual">
<link rel="up" href="index.html" title="Poppler Reference Manual">
<link rel="prev" href="poppler-Version-and-Features-Information.html" title="Version and Features Information">
<link rel="next" href="api-index-deprecated.html" title="Index of deprecated symbols">
-<meta name="generator" content="GTK-Doc V1.19 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
-<tr valign="middle">
-<td><a accesskey="p" href="poppler-Version-and-Features-Information.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
-<td> </td>
-<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
-<th width="100%" align="center">Poppler Reference Manual</th>
-<td><a accesskey="n" href="api-index-deprecated.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
-</tr>
-<tr><td colspan="5" class="shortcuts">
-<a class="shortcut" href="#idxA">A</a>
-  | 
- <a class="shortcut" href="#idxB">B</a>
-  | 
- <a class="shortcut" href="#idxC">C</a>
-  | 
- <a class="shortcut" href="#idxD">D</a>
-  | 
- <a class="shortcut" href="#idxE">E</a>
-  | 
- <a class="shortcut" href="#idxF">F</a>
-  | 
- <a class="shortcut" href="#idxG">G</a>
-  | 
- <a class="shortcut" href="#idxH">H</a>
-  | 
- <a class="shortcut" href="#idxI">I</a>
-  | 
- <a class="shortcut" href="#idxL">L</a>
-  | 
- <a class="shortcut" href="#idxM">M</a>
-  | 
- <a class="shortcut" href="#idxO">O</a>
-  | 
- <a class="shortcut" href="#idxP">P</a>
-  | 
- <a class="shortcut" href="#idxR">R</a>
-  | 
- <a class="shortcut" href="#idxS">S</a>
-  | 
- <a class="shortcut" href="#idxT">T</a>
-  | 
- <a class="shortcut" href="#idxV">V</a>
-</td></tr>
-</table>
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts"><span id="nav_index"><a class="shortcut" href="#idxA">A</a>
+  <span class="dim">|</span> 
+ <a class="shortcut" href="#idxB">B</a>
+  <span class="dim">|</span> 
+ <a class="shortcut" href="#idxC">C</a>
+  <span class="dim">|</span> 
+ <a class="shortcut" href="#idxD">D</a>
+  <span class="dim">|</span> 
+ <a class="shortcut" href="#idxE">E</a>
+  <span class="dim">|</span> 
+ <a class="shortcut" href="#idxF">F</a>
+  <span class="dim">|</span> 
+ <a class="shortcut" href="#idxG">G</a>
+  <span class="dim">|</span> 
+ <a class="shortcut" href="#idxH">H</a>
+  <span class="dim">|</span> 
+ <a class="shortcut" href="#idxI">I</a>
+  <span class="dim">|</span> 
+ <a class="shortcut" href="#idxL">L</a>
+  <span class="dim">|</span> 
+ <a class="shortcut" href="#idxM">M</a>
+  <span class="dim">|</span> 
+ <a class="shortcut" href="#idxO">O</a>
+  <span class="dim">|</span> 
+ <a class="shortcut" href="#idxP">P</a>
+  <span class="dim">|</span> 
+ <a class="shortcut" href="#idxQ">Q</a>
+  <span class="dim">|</span> 
+ <a class="shortcut" href="#idxR">R</a>
+  <span class="dim">|</span> 
+ <a class="shortcut" href="#idxS">S</a>
+  <span class="dim">|</span> 
+ <a class="shortcut" href="#idxT">T</a>
+  <span class="dim">|</span> 
+ <a class="shortcut" href="#idxV">V</a></span></td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><img src="up-insensitive.png" width="16" height="16" border="0"></td>
+<td><a accesskey="p" href="poppler-Version-and-Features-Information.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="api-index-deprecated.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
<div class="index">
<div class="titlepage"><div><div><h1 class="title">
<a name="api-index-full"></a>Index of all symbols</h1></div></div></div>
@@ -121,11 +118,11 @@
</dt>
<dd></dd>
<dt>
-<a class="link" href="poppler-PopplerAction.html#poppler-action-copy" title="poppler_action_copy ()">poppler_action_copy</a>, function in <a class="link" href="poppler-PopplerAction.html" title="PopplerAction">PopplerAction</a>
+<a class="link" href="poppler-PopplerAction.html#poppler-action-copy" title="poppler_action_copy ()">poppler_action_copy</a>, function in <a class="link" href="poppler-PopplerAction.html" title="PopplerAction">PopplerAction</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="poppler-PopplerAction.html#poppler-action-free" title="poppler_action_free ()">poppler_action_free</a>, function in <a class="link" href="poppler-PopplerAction.html" title="PopplerAction">PopplerAction</a>
+<a class="link" href="poppler-PopplerAction.html#poppler-action-free" title="poppler_action_free ()">poppler_action_free</a>, function in <a class="link" href="poppler-PopplerAction.html" title="PopplerAction">PopplerAction</a>
</dt>
<dd></dd>
<dt>
@@ -137,6 +134,10 @@
</dt>
<dd></dd>
<dt>
+<a class="link" href="PopplerAnnot.html#PopplerAnnotCircle" title="PopplerAnnotCircle">PopplerAnnotCircle</a>, struct in <a class="link" href="PopplerAnnot.html" title="PopplerAnnot">PopplerAnnot</a>
+</dt>
+<dd></dd>
+<dt>
<a class="link" href="PopplerAnnot.html#PopplerAnnotExternalDataType" title="enum PopplerAnnotExternalDataType">PopplerAnnotExternalDataType</a>, enum in <a class="link" href="PopplerAnnot.html" title="PopplerAnnot">PopplerAnnot</a>
</dt>
<dd></dd>
@@ -157,6 +158,10 @@
</dt>
<dd></dd>
<dt>
+<a class="link" href="PopplerAnnot.html#PopplerAnnotLine" title="PopplerAnnotLine">PopplerAnnotLine</a>, struct in <a class="link" href="PopplerAnnot.html" title="PopplerAnnot">PopplerAnnot</a>
+</dt>
+<dd></dd>
+<dt>
<a class="link" href="PopplerPage.html#PopplerAnnotMapping" title="PopplerAnnotMapping">PopplerAnnotMapping</a>, struct in <a class="link" href="PopplerPage.html" title="PopplerPage">PopplerPage</a>
</dt>
<dd></dd>
@@ -177,10 +182,18 @@
</dt>
<dd></dd>
<dt>
+<a class="link" href="PopplerAnnot.html#PopplerAnnotSquare" title="PopplerAnnotSquare">PopplerAnnotSquare</a>, struct in <a class="link" href="PopplerAnnot.html" title="PopplerAnnot">PopplerAnnot</a>
+</dt>
+<dd></dd>
+<dt>
<a class="link" href="PopplerAnnot.html#PopplerAnnotText" title="PopplerAnnotText">PopplerAnnotText</a>, struct in <a class="link" href="PopplerAnnot.html" title="PopplerAnnot">PopplerAnnot</a>
</dt>
<dd></dd>
<dt>
+<a class="link" href="PopplerAnnot.html#PopplerAnnotTextMarkup" title="PopplerAnnotTextMarkup">PopplerAnnotTextMarkup</a>, struct in <a class="link" href="PopplerAnnot.html" title="PopplerAnnot">PopplerAnnot</a>
+</dt>
+<dd></dd>
+<dt>
<a class="link" href="PopplerAnnot.html#PopplerAnnotTextState" title="enum PopplerAnnotTextState">PopplerAnnotTextState</a>, enum in <a class="link" href="PopplerAnnot.html" title="PopplerAnnot">PopplerAnnot</a>
</dt>
<dd></dd>
@@ -189,155 +202,195 @@
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerAnnot.html#poppler-annot-callout-line-copy" title="poppler_annot_callout_line_copy ()">poppler_annot_callout_line_copy</a>, function in <a class="link" href="PopplerAnnot.html" title="PopplerAnnot">PopplerAnnot</a>
+<a class="link" href="PopplerAnnot.html#poppler-annot-callout-line-copy" title="poppler_annot_callout_line_copy ()">poppler_annot_callout_line_copy</a>, function in <a class="link" href="PopplerAnnot.html" title="PopplerAnnot">PopplerAnnot</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="PopplerAnnot.html#poppler-annot-callout-line-free" title="poppler_annot_callout_line_free ()">poppler_annot_callout_line_free</a>, function in <a class="link" href="PopplerAnnot.html" title="PopplerAnnot">PopplerAnnot</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="PopplerAnnot.html#poppler-annot-callout-line-new" title="poppler_annot_callout_line_new ()">poppler_annot_callout_line_new</a>, function in <a class="link" href="PopplerAnnot.html" title="PopplerAnnot">PopplerAnnot</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="PopplerAnnot.html#poppler-annot-circle-get-interior-color" title="poppler_annot_circle_get_interior_color ()">poppler_annot_circle_get_interior_color</a>, function in <a class="link" href="PopplerAnnot.html" title="PopplerAnnot">PopplerAnnot</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="PopplerAnnot.html#poppler-annot-circle-new" title="poppler_annot_circle_new ()">poppler_annot_circle_new</a>, function in <a class="link" href="PopplerAnnot.html" title="PopplerAnnot">PopplerAnnot</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="PopplerAnnot.html#poppler-annot-circle-set-interior-color" title="poppler_annot_circle_set_interior_color ()">poppler_annot_circle_set_interior_color</a>, function in <a class="link" href="PopplerAnnot.html" title="PopplerAnnot">PopplerAnnot</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="PopplerAnnot.html#poppler-annot-file-attachment-get-attachment" title="poppler_annot_file_attachment_get_attachment ()">poppler_annot_file_attachment_get_attachment</a>, function in <a class="link" href="PopplerAnnot.html" title="PopplerAnnot">PopplerAnnot</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="PopplerAnnot.html#poppler-annot-file-attachment-get-name" title="poppler_annot_file_attachment_get_name ()">poppler_annot_file_attachment_get_name</a>, function in <a class="link" href="PopplerAnnot.html" title="PopplerAnnot">PopplerAnnot</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerAnnot.html#poppler-annot-callout-line-free" title="poppler_annot_callout_line_free ()">poppler_annot_callout_line_free</a>, function in <a class="link" href="PopplerAnnot.html" title="PopplerAnnot">PopplerAnnot</a>
+<a class="link" href="PopplerAnnot.html#poppler-annot-free-text-get-callout-line" title="poppler_annot_free_text_get_callout_line ()">poppler_annot_free_text_get_callout_line</a>, function in <a class="link" href="PopplerAnnot.html" title="PopplerAnnot">PopplerAnnot</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerAnnot.html#poppler-annot-callout-line-new" title="poppler_annot_callout_line_new ()">poppler_annot_callout_line_new</a>, function in <a class="link" href="PopplerAnnot.html" title="PopplerAnnot">PopplerAnnot</a>
+<a class="link" href="PopplerAnnot.html#poppler-annot-free-text-get-quadding" title="poppler_annot_free_text_get_quadding ()">poppler_annot_free_text_get_quadding</a>, function in <a class="link" href="PopplerAnnot.html" title="PopplerAnnot">PopplerAnnot</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerAnnot.html#poppler-annot-file-attachment-get-attachment" title="poppler_annot_file_attachment_get_attachment ()">poppler_annot_file_attachment_get_attachment</a>, function in <a class="link" href="PopplerAnnot.html" title="PopplerAnnot">PopplerAnnot</a>
+<a class="link" href="PopplerAnnot.html#poppler-annot-get-annot-type" title="poppler_annot_get_annot_type ()">poppler_annot_get_annot_type</a>, function in <a class="link" href="PopplerAnnot.html" title="PopplerAnnot">PopplerAnnot</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerAnnot.html#poppler-annot-file-attachment-get-name" title="poppler_annot_file_attachment_get_name ()">poppler_annot_file_attachment_get_name</a>, function in <a class="link" href="PopplerAnnot.html" title="PopplerAnnot">PopplerAnnot</a>
+<a class="link" href="PopplerAnnot.html#poppler-annot-get-color" title="poppler_annot_get_color ()">poppler_annot_get_color</a>, function in <a class="link" href="PopplerAnnot.html" title="PopplerAnnot">PopplerAnnot</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerAnnot.html#poppler-annot-free-text-get-callout-line" title="poppler_annot_free_text_get_callout_line ()">poppler_annot_free_text_get_callout_line</a>, function in <a class="link" href="PopplerAnnot.html" title="PopplerAnnot">PopplerAnnot</a>
+<a class="link" href="PopplerAnnot.html#poppler-annot-get-contents" title="poppler_annot_get_contents ()">poppler_annot_get_contents</a>, function in <a class="link" href="PopplerAnnot.html" title="PopplerAnnot">PopplerAnnot</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerAnnot.html#poppler-annot-free-text-get-quadding" title="poppler_annot_free_text_get_quadding ()">poppler_annot_free_text_get_quadding</a>, function in <a class="link" href="PopplerAnnot.html" title="PopplerAnnot">PopplerAnnot</a>
+<a class="link" href="PopplerAnnot.html#poppler-annot-get-flags" title="poppler_annot_get_flags ()">poppler_annot_get_flags</a>, function in <a class="link" href="PopplerAnnot.html" title="PopplerAnnot">PopplerAnnot</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerAnnot.html#poppler-annot-get-annot-type" title="poppler_annot_get_annot_type ()">poppler_annot_get_annot_type</a>, function in <a class="link" href="PopplerAnnot.html" title="PopplerAnnot">PopplerAnnot</a>
+<a class="link" href="PopplerAnnot.html#poppler-annot-get-modified" title="poppler_annot_get_modified ()">poppler_annot_get_modified</a>, function in <a class="link" href="PopplerAnnot.html" title="PopplerAnnot">PopplerAnnot</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerAnnot.html#poppler-annot-get-color" title="poppler_annot_get_color ()">poppler_annot_get_color</a>, function in <a class="link" href="PopplerAnnot.html" title="PopplerAnnot">PopplerAnnot</a>
+<a class="link" href="PopplerAnnot.html#poppler-annot-get-name" title="poppler_annot_get_name ()">poppler_annot_get_name</a>, function in <a class="link" href="PopplerAnnot.html" title="PopplerAnnot">PopplerAnnot</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerAnnot.html#poppler-annot-get-contents" title="poppler_annot_get_contents ()">poppler_annot_get_contents</a>, function in <a class="link" href="PopplerAnnot.html" title="PopplerAnnot">PopplerAnnot</a>
+<a class="link" href="PopplerAnnot.html#poppler-annot-get-page-index" title="poppler_annot_get_page_index ()">poppler_annot_get_page_index</a>, function in <a class="link" href="PopplerAnnot.html" title="PopplerAnnot">PopplerAnnot</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerAnnot.html#poppler-annot-get-flags" title="poppler_annot_get_flags ()">poppler_annot_get_flags</a>, function in <a class="link" href="PopplerAnnot.html" title="PopplerAnnot">PopplerAnnot</a>
+<a class="link" href="PopplerAnnot.html#poppler-annot-get-rectangle" title="poppler_annot_get_rectangle ()">poppler_annot_get_rectangle</a>, function in <a class="link" href="PopplerAnnot.html" title="PopplerAnnot">PopplerAnnot</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerAnnot.html#poppler-annot-get-modified" title="poppler_annot_get_modified ()">poppler_annot_get_modified</a>, function in <a class="link" href="PopplerAnnot.html" title="PopplerAnnot">PopplerAnnot</a>
+<a class="link" href="PopplerAnnot.html#poppler-annot-line-new" title="poppler_annot_line_new ()">poppler_annot_line_new</a>, function in <a class="link" href="PopplerAnnot.html" title="PopplerAnnot">PopplerAnnot</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerAnnot.html#poppler-annot-get-name" title="poppler_annot_get_name ()">poppler_annot_get_name</a>, function in <a class="link" href="PopplerAnnot.html" title="PopplerAnnot">PopplerAnnot</a>
+<a class="link" href="PopplerAnnot.html#poppler-annot-line-set-vertices" title="poppler_annot_line_set_vertices ()">poppler_annot_line_set_vertices</a>, function in <a class="link" href="PopplerAnnot.html" title="PopplerAnnot">PopplerAnnot</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerAnnot.html#poppler-annot-get-page-index" title="poppler_annot_get_page_index ()">poppler_annot_get_page_index</a>, function in <a class="link" href="PopplerAnnot.html" title="PopplerAnnot">PopplerAnnot</a>
+<a class="link" href="PopplerPage.html#poppler-annot-mapping-copy" title="poppler_annot_mapping_copy ()">poppler_annot_mapping_copy</a>, function in <a class="link" href="PopplerPage.html" title="PopplerPage">PopplerPage</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerPage.html#poppler-annot-mapping-copy" title="poppler_annot_mapping_copy ()">poppler_annot_mapping_copy</a>, function in <a class="link" href="PopplerPage.html" title="PopplerPage">PopplerPage</a>
+<a class="link" href="PopplerPage.html#poppler-annot-mapping-free" title="poppler_annot_mapping_free ()">poppler_annot_mapping_free</a>, function in <a class="link" href="PopplerPage.html" title="PopplerPage">PopplerPage</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerPage.html#poppler-annot-mapping-free" title="poppler_annot_mapping_free ()">poppler_annot_mapping_free</a>, function in <a class="link" href="PopplerPage.html" title="PopplerPage">PopplerPage</a>
+<a class="link" href="PopplerPage.html#poppler-annot-mapping-new" title="poppler_annot_mapping_new ()">poppler_annot_mapping_new</a>, function in <a class="link" href="PopplerPage.html" title="PopplerPage">PopplerPage</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerPage.html#poppler-annot-mapping-new" title="poppler_annot_mapping_new ()">poppler_annot_mapping_new</a>, function in <a class="link" href="PopplerPage.html" title="PopplerPage">PopplerPage</a>
+<a class="link" href="PopplerAnnot.html#poppler-annot-markup-get-date" title="poppler_annot_markup_get_date ()">poppler_annot_markup_get_date</a>, function in <a class="link" href="PopplerAnnot.html" title="PopplerAnnot">PopplerAnnot</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerAnnot.html#poppler-annot-markup-get-date" title="poppler_annot_markup_get_date ()">poppler_annot_markup_get_date</a>, function in <a class="link" href="PopplerAnnot.html" title="PopplerAnnot">PopplerAnnot</a>
+<a class="link" href="PopplerAnnot.html#poppler-annot-markup-get-external-data" title="poppler_annot_markup_get_external_data ()">poppler_annot_markup_get_external_data</a>, function in <a class="link" href="PopplerAnnot.html" title="PopplerAnnot">PopplerAnnot</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerAnnot.html#poppler-annot-markup-get-external-data" title="poppler_annot_markup_get_external_data ()">poppler_annot_markup_get_external_data</a>, function in <a class="link" href="PopplerAnnot.html" title="PopplerAnnot">PopplerAnnot</a>
+<a class="link" href="PopplerAnnot.html#poppler-annot-markup-get-label" title="poppler_annot_markup_get_label ()">poppler_annot_markup_get_label</a>, function in <a class="link" href="PopplerAnnot.html" title="PopplerAnnot">PopplerAnnot</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerAnnot.html#poppler-annot-markup-get-label" title="poppler_annot_markup_get_label ()">poppler_annot_markup_get_label</a>, function in <a class="link" href="PopplerAnnot.html" title="PopplerAnnot">PopplerAnnot</a>
+<a class="link" href="PopplerAnnot.html#poppler-annot-markup-get-opacity" title="poppler_annot_markup_get_opacity ()">poppler_annot_markup_get_opacity</a>, function in <a class="link" href="PopplerAnnot.html" title="PopplerAnnot">PopplerAnnot</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerAnnot.html#poppler-annot-markup-get-opacity" title="poppler_annot_markup_get_opacity ()">poppler_annot_markup_get_opacity</a>, function in <a class="link" href="PopplerAnnot.html" title="PopplerAnnot">PopplerAnnot</a>
+<a class="link" href="PopplerAnnot.html#poppler-annot-markup-get-popup-is-open" title="poppler_annot_markup_get_popup_is_open ()">poppler_annot_markup_get_popup_is_open</a>, function in <a class="link" href="PopplerAnnot.html" title="PopplerAnnot">PopplerAnnot</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerAnnot.html#poppler-annot-markup-get-popup-is-open" title="poppler_annot_markup_get_popup_is_open ()">poppler_annot_markup_get_popup_is_open</a>, function in <a class="link" href="PopplerAnnot.html" title="PopplerAnnot">PopplerAnnot</a>
+<a class="link" href="PopplerAnnot.html#poppler-annot-markup-get-popup-rectangle" title="poppler_annot_markup_get_popup_rectangle ()">poppler_annot_markup_get_popup_rectangle</a>, function in <a class="link" href="PopplerAnnot.html" title="PopplerAnnot">PopplerAnnot</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerAnnot.html#poppler-annot-markup-get-popup-rectangle" title="poppler_annot_markup_get_popup_rectangle ()">poppler_annot_markup_get_popup_rectangle</a>, function in <a class="link" href="PopplerAnnot.html" title="PopplerAnnot">PopplerAnnot</a>
+<a class="link" href="PopplerAnnot.html#poppler-annot-markup-get-reply-to" title="poppler_annot_markup_get_reply_to ()">poppler_annot_markup_get_reply_to</a>, function in <a class="link" href="PopplerAnnot.html" title="PopplerAnnot">PopplerAnnot</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerAnnot.html#poppler-annot-markup-get-reply-to" title="poppler_annot_markup_get_reply_to ()">poppler_annot_markup_get_reply_to</a>, function in <a class="link" href="PopplerAnnot.html" title="PopplerAnnot">PopplerAnnot</a>
+<a class="link" href="PopplerAnnot.html#poppler-annot-markup-get-subject" title="poppler_annot_markup_get_subject ()">poppler_annot_markup_get_subject</a>, function in <a class="link" href="PopplerAnnot.html" title="PopplerAnnot">PopplerAnnot</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerAnnot.html#poppler-annot-markup-get-subject" title="poppler_annot_markup_get_subject ()">poppler_annot_markup_get_subject</a>, function in <a class="link" href="PopplerAnnot.html" title="PopplerAnnot">PopplerAnnot</a>
+<a class="link" href="PopplerAnnot.html#poppler-annot-markup-has-popup" title="poppler_annot_markup_has_popup ()">poppler_annot_markup_has_popup</a>, function in <a class="link" href="PopplerAnnot.html" title="PopplerAnnot">PopplerAnnot</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerAnnot.html#poppler-annot-markup-has-popup" title="poppler_annot_markup_has_popup ()">poppler_annot_markup_has_popup</a>, function in <a class="link" href="PopplerAnnot.html" title="PopplerAnnot">PopplerAnnot</a>
+<a class="link" href="PopplerAnnot.html#poppler-annot-markup-set-label" title="poppler_annot_markup_set_label ()">poppler_annot_markup_set_label</a>, function in <a class="link" href="PopplerAnnot.html" title="PopplerAnnot">PopplerAnnot</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerAnnot.html#poppler-annot-markup-set-label" title="poppler_annot_markup_set_label ()">poppler_annot_markup_set_label</a>, function in <a class="link" href="PopplerAnnot.html" title="PopplerAnnot">PopplerAnnot</a>
+<a class="link" href="PopplerAnnot.html#poppler-annot-markup-set-opacity" title="poppler_annot_markup_set_opacity ()">poppler_annot_markup_set_opacity</a>, function in <a class="link" href="PopplerAnnot.html" title="PopplerAnnot">PopplerAnnot</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerAnnot.html#poppler-annot-markup-set-opacity" title="poppler_annot_markup_set_opacity ()">poppler_annot_markup_set_opacity</a>, function in <a class="link" href="PopplerAnnot.html" title="PopplerAnnot">PopplerAnnot</a>
+<a class="link" href="PopplerAnnot.html#poppler-annot-markup-set-popup" title="poppler_annot_markup_set_popup ()">poppler_annot_markup_set_popup</a>, function in <a class="link" href="PopplerAnnot.html" title="PopplerAnnot">PopplerAnnot</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerAnnot.html#poppler-annot-markup-set-popup" title="poppler_annot_markup_set_popup ()">poppler_annot_markup_set_popup</a>, function in <a class="link" href="PopplerAnnot.html" title="PopplerAnnot">PopplerAnnot</a>
+<a class="link" href="PopplerAnnot.html#poppler-annot-markup-set-popup-is-open" title="poppler_annot_markup_set_popup_is_open ()">poppler_annot_markup_set_popup_is_open</a>, function in <a class="link" href="PopplerAnnot.html" title="PopplerAnnot">PopplerAnnot</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerAnnot.html#poppler-annot-markup-set-popup-is-open" title="poppler_annot_markup_set_popup_is_open ()">poppler_annot_markup_set_popup_is_open</a>, function in <a class="link" href="PopplerAnnot.html" title="PopplerAnnot">PopplerAnnot</a>
+<a class="link" href="PopplerAnnot.html#poppler-annot-movie-get-movie" title="poppler_annot_movie_get_movie ()">poppler_annot_movie_get_movie</a>, function in <a class="link" href="PopplerAnnot.html" title="PopplerAnnot">PopplerAnnot</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerAnnot.html#poppler-annot-movie-get-movie" title="poppler_annot_movie_get_movie ()">poppler_annot_movie_get_movie</a>, function in <a class="link" href="PopplerAnnot.html" title="PopplerAnnot">PopplerAnnot</a>
+<a class="link" href="PopplerAnnot.html#poppler-annot-movie-get-title" title="poppler_annot_movie_get_title ()">poppler_annot_movie_get_title</a>, function in <a class="link" href="PopplerAnnot.html" title="PopplerAnnot">PopplerAnnot</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerAnnot.html#poppler-annot-movie-get-title" title="poppler_annot_movie_get_title ()">poppler_annot_movie_get_title</a>, function in <a class="link" href="PopplerAnnot.html" title="PopplerAnnot">PopplerAnnot</a>
+<a class="link" href="PopplerAnnot.html#poppler-annot-screen-get-action" title="poppler_annot_screen_get_action ()">poppler_annot_screen_get_action</a>, function in <a class="link" href="PopplerAnnot.html" title="PopplerAnnot">PopplerAnnot</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerAnnot.html#poppler-annot-screen-get-action" title="poppler_annot_screen_get_action ()">poppler_annot_screen_get_action</a>, function in <a class="link" href="PopplerAnnot.html" title="PopplerAnnot">PopplerAnnot</a>
+<a class="link" href="PopplerAnnot.html#poppler-annot-set-color" title="poppler_annot_set_color ()">poppler_annot_set_color</a>, function in <a class="link" href="PopplerAnnot.html" title="PopplerAnnot">PopplerAnnot</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerAnnot.html#poppler-annot-set-color" title="poppler_annot_set_color ()">poppler_annot_set_color</a>, function in <a class="link" href="PopplerAnnot.html" title="PopplerAnnot">PopplerAnnot</a>
+<a class="link" href="PopplerAnnot.html#poppler-annot-set-contents" title="poppler_annot_set_contents ()">poppler_annot_set_contents</a>, function in <a class="link" href="PopplerAnnot.html" title="PopplerAnnot">PopplerAnnot</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerAnnot.html#poppler-annot-set-contents" title="poppler_annot_set_contents ()">poppler_annot_set_contents</a>, function in <a class="link" href="PopplerAnnot.html" title="PopplerAnnot">PopplerAnnot</a>
+<a class="link" href="PopplerAnnot.html#poppler-annot-set-rectangle" title="poppler_annot_set_rectangle ()">poppler_annot_set_rectangle</a>, function in <a class="link" href="PopplerAnnot.html" title="PopplerAnnot">PopplerAnnot</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerAnnot.html#poppler-annot-text-get-icon" title="poppler_annot_text_get_icon ()">poppler_annot_text_get_icon</a>, function in <a class="link" href="PopplerAnnot.html" title="PopplerAnnot">PopplerAnnot</a>
+<a class="link" href="PopplerAnnot.html#poppler-annot-square-get-interior-color" title="poppler_annot_square_get_interior_color ()">poppler_annot_square_get_interior_color</a>, function in <a class="link" href="PopplerAnnot.html" title="PopplerAnnot">PopplerAnnot</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerAnnot.html#poppler-annot-text-get-is-open" title="poppler_annot_text_get_is_open ()">poppler_annot_text_get_is_open</a>, function in <a class="link" href="PopplerAnnot.html" title="PopplerAnnot">PopplerAnnot</a>
+<a class="link" href="PopplerAnnot.html#poppler-annot-square-new" title="poppler_annot_square_new ()">poppler_annot_square_new</a>, function in <a class="link" href="PopplerAnnot.html" title="PopplerAnnot">PopplerAnnot</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerAnnot.html#poppler-annot-text-get-state" title="poppler_annot_text_get_state ()">poppler_annot_text_get_state</a>, function in <a class="link" href="PopplerAnnot.html" title="PopplerAnnot">PopplerAnnot</a>
+<a class="link" href="PopplerAnnot.html#poppler-annot-square-set-interior-color" title="poppler_annot_square_set_interior_color ()">poppler_annot_square_set_interior_color</a>, function in <a class="link" href="PopplerAnnot.html" title="PopplerAnnot">PopplerAnnot</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="PopplerAnnot.html#poppler-annot-text-get-icon" title="poppler_annot_text_get_icon ()">poppler_annot_text_get_icon</a>, function in <a class="link" href="PopplerAnnot.html" title="PopplerAnnot">PopplerAnnot</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="PopplerAnnot.html#poppler-annot-text-get-is-open" title="poppler_annot_text_get_is_open ()">poppler_annot_text_get_is_open</a>, function in <a class="link" href="PopplerAnnot.html" title="PopplerAnnot">PopplerAnnot</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="PopplerAnnot.html#poppler-annot-text-get-state" title="poppler_annot_text_get_state ()">poppler_annot_text_get_state</a>, function in <a class="link" href="PopplerAnnot.html" title="PopplerAnnot">PopplerAnnot</a>
</dt>
<dd></dd>
<dt>
@@ -377,15 +430,39 @@
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerAnnot.html#poppler-annot-text-new" title="poppler_annot_text_new ()">poppler_annot_text_new</a>, function in <a class="link" href="PopplerAnnot.html" title="PopplerAnnot">PopplerAnnot</a>
+<a class="link" href="PopplerAnnot.html#poppler-annot-text-markup-get-quadrilaterals" title="poppler_annot_text_markup_get_quadrilaterals ()">poppler_annot_text_markup_get_quadrilaterals</a>, function in <a class="link" href="PopplerAnnot.html" title="PopplerAnnot">PopplerAnnot</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerAnnot.html#poppler-annot-text-set-icon" title="poppler_annot_text_set_icon ()">poppler_annot_text_set_icon</a>, function in <a class="link" href="PopplerAnnot.html" title="PopplerAnnot">PopplerAnnot</a>
+<a class="link" href="PopplerAnnot.html#poppler-annot-text-markup-new-highlight" title="poppler_annot_text_markup_new_highlight ()">poppler_annot_text_markup_new_highlight</a>, function in <a class="link" href="PopplerAnnot.html" title="PopplerAnnot">PopplerAnnot</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerAnnot.html#poppler-annot-text-set-is-open" title="poppler_annot_text_set_is_open ()">poppler_annot_text_set_is_open</a>, function in <a class="link" href="PopplerAnnot.html" title="PopplerAnnot">PopplerAnnot</a>
+<a class="link" href="PopplerAnnot.html#poppler-annot-text-markup-new-squiggly" title="poppler_annot_text_markup_new_squiggly ()">poppler_annot_text_markup_new_squiggly</a>, function in <a class="link" href="PopplerAnnot.html" title="PopplerAnnot">PopplerAnnot</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="PopplerAnnot.html#poppler-annot-text-markup-new-strikeout" title="poppler_annot_text_markup_new_strikeout ()">poppler_annot_text_markup_new_strikeout</a>, function in <a class="link" href="PopplerAnnot.html" title="PopplerAnnot">PopplerAnnot</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="PopplerAnnot.html#poppler-annot-text-markup-new-underline" title="poppler_annot_text_markup_new_underline ()">poppler_annot_text_markup_new_underline</a>, function in <a class="link" href="PopplerAnnot.html" title="PopplerAnnot">PopplerAnnot</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="PopplerAnnot.html#poppler-annot-text-markup-set-quadrilaterals" title="poppler_annot_text_markup_set_quadrilaterals ()">poppler_annot_text_markup_set_quadrilaterals</a>, function in <a class="link" href="PopplerAnnot.html" title="PopplerAnnot">PopplerAnnot</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="PopplerAnnot.html#poppler-annot-text-new" title="poppler_annot_text_new ()">poppler_annot_text_new</a>, function in <a class="link" href="PopplerAnnot.html" title="PopplerAnnot">PopplerAnnot</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="PopplerAnnot.html#poppler-annot-text-set-icon" title="poppler_annot_text_set_icon ()">poppler_annot_text_set_icon</a>, function in <a class="link" href="PopplerAnnot.html" title="PopplerAnnot">PopplerAnnot</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="PopplerAnnot.html#poppler-annot-text-set-is-open" title="poppler_annot_text_set_is_open ()">poppler_annot_text_set_is_open</a>, function in <a class="link" href="PopplerAnnot.html" title="PopplerAnnot">PopplerAnnot</a>
</dt>
<dd></dd>
<dt>
@@ -393,15 +470,15 @@
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerAttachment.html#PopplerAttachmentSaveFunc" title="PopplerAttachmentSaveFunc ()">PopplerAttachmentSaveFunc</a>, user_function in <a class="link" href="PopplerAttachment.html" title="PopplerAttachment">PopplerAttachment</a>
+<a class="link" href="PopplerAttachment.html#PopplerAttachmentSaveFunc" title="PopplerAttachmentSaveFunc ()">PopplerAttachmentSaveFunc</a>, user_function in <a class="link" href="PopplerAttachment.html" title="PopplerAttachment">PopplerAttachment</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerAttachment.html#poppler-attachment-save" title="poppler_attachment_save ()">poppler_attachment_save</a>, function in <a class="link" href="PopplerAttachment.html" title="PopplerAttachment">PopplerAttachment</a>
+<a class="link" href="PopplerAttachment.html#poppler-attachment-save" title="poppler_attachment_save ()">poppler_attachment_save</a>, function in <a class="link" href="PopplerAttachment.html" title="PopplerAttachment">PopplerAttachment</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerAttachment.html#poppler-attachment-save-to-callback" title="poppler_attachment_save_to_callback ()">poppler_attachment_save_to_callback</a>, function in <a class="link" href="PopplerAttachment.html" title="PopplerAttachment">PopplerAttachment</a>
+<a class="link" href="PopplerAttachment.html#poppler-attachment-save-to-callback" title="poppler_attachment_save_to_callback ()">poppler_attachment_save_to_callback</a>, function in <a class="link" href="PopplerAttachment.html" title="PopplerAttachment">PopplerAttachment</a>
</dt>
<dd></dd>
<a name="idxB"></a><h3 class="title">B</h3>
@@ -419,20 +496,20 @@
</dt>
<dd></dd>
<dt>
-<a class="link" href="poppler-poppler.html#poppler-color-copy" title="poppler_color_copy ()">poppler_color_copy</a>, function in <a class="link" href="poppler-poppler.html" title="poppler">poppler</a>
+<a class="link" href="poppler-poppler.html#poppler-color-copy" title="poppler_color_copy ()">poppler_color_copy</a>, function in <a class="link" href="poppler-poppler.html" title="poppler">poppler</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="poppler-poppler.html#poppler-color-free" title="poppler_color_free ()">poppler_color_free</a>, function in <a class="link" href="poppler-poppler.html" title="poppler">poppler</a>
+<a class="link" href="poppler-poppler.html#poppler-color-free" title="poppler_color_free ()">poppler_color_free</a>, function in <a class="link" href="poppler-poppler.html" title="poppler">poppler</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="poppler-poppler.html#poppler-color-new" title="poppler_color_new ()">poppler_color_new</a>, function in <a class="link" href="poppler-poppler.html" title="poppler">poppler</a>
+<a class="link" href="poppler-poppler.html#poppler-color-new" title="poppler_color_new ()">poppler_color_new</a>, function in <a class="link" href="poppler-poppler.html" title="poppler">poppler</a>
</dt>
<dd></dd>
<a name="idxD"></a><h3 class="title">D</h3>
<dt>
-<a class="link" href="poppler-poppler.html#poppler-date-parse" title="poppler_date_parse ()">poppler_date_parse</a>, function in <a class="link" href="poppler-poppler.html" title="poppler">poppler</a>
+<a class="link" href="poppler-poppler.html#poppler-date-parse" title="poppler_date_parse ()">poppler_date_parse</a>, function in <a class="link" href="poppler-poppler.html" title="poppler">poppler</a>
</dt>
<dd></dd>
<dt>
@@ -444,11 +521,11 @@
</dt>
<dd></dd>
<dt>
-<a class="link" href="poppler-PopplerAction.html#poppler-dest-copy" title="poppler_dest_copy ()">poppler_dest_copy</a>, function in <a class="link" href="poppler-PopplerAction.html" title="PopplerAction">PopplerAction</a>
+<a class="link" href="poppler-PopplerAction.html#poppler-dest-copy" title="poppler_dest_copy ()">poppler_dest_copy</a>, function in <a class="link" href="poppler-PopplerAction.html" title="PopplerAction">PopplerAction</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="poppler-PopplerAction.html#poppler-dest-free" title="poppler_dest_free ()">poppler_dest_free</a>, function in <a class="link" href="poppler-PopplerAction.html" title="PopplerAction">PopplerAction</a>
+<a class="link" href="poppler-PopplerAction.html#poppler-dest-free" title="poppler_dest_free ()">poppler_dest_free</a>, function in <a class="link" href="poppler-PopplerAction.html" title="PopplerAction">PopplerAction</a>
</dt>
<dd></dd>
<dt>
@@ -456,191 +533,191 @@
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerDocument.html#PopplerDocument--author" title='The "author" property'>PopplerDocument:author</a>, object property in <a class="link" href="PopplerDocument.html" title="PopplerDocument">PopplerDocument</a>
+<a class="link" href="PopplerDocument.html#PopplerDocument--author" title="The “author†property">PopplerDocument:author</a>, object property in <a class="link" href="PopplerDocument.html" title="PopplerDocument">PopplerDocument</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerDocument.html#PopplerDocument--creation-date" title='The "creation-date" property'>PopplerDocument:creation-date</a>, object property in <a class="link" href="PopplerDocument.html" title="PopplerDocument">PopplerDocument</a>
+<a class="link" href="PopplerDocument.html#PopplerDocument--creation-date" title="The “creation-date†property">PopplerDocument:creation-date</a>, object property in <a class="link" href="PopplerDocument.html" title="PopplerDocument">PopplerDocument</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerDocument.html#PopplerDocument--creator" title='The "creator" property'>PopplerDocument:creator</a>, object property in <a class="link" href="PopplerDocument.html" title="PopplerDocument">PopplerDocument</a>
+<a class="link" href="PopplerDocument.html#PopplerDocument--creator" title="The “creator†property">PopplerDocument:creator</a>, object property in <a class="link" href="PopplerDocument.html" title="PopplerDocument">PopplerDocument</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerDocument.html#PopplerDocument--format" title='The "format" property'>PopplerDocument:format</a>, object property in <a class="link" href="PopplerDocument.html" title="PopplerDocument">PopplerDocument</a>
+<a class="link" href="PopplerDocument.html#PopplerDocument--format" title="The “format†property">PopplerDocument:format</a>, object property in <a class="link" href="PopplerDocument.html" title="PopplerDocument">PopplerDocument</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerDocument.html#PopplerDocument--format-major" title='The "format-major" property'>PopplerDocument:format-major</a>, object property in <a class="link" href="PopplerDocument.html" title="PopplerDocument">PopplerDocument</a>
+<a class="link" href="PopplerDocument.html#PopplerDocument--format-major" title="The “format-major†property">PopplerDocument:format-major</a>, object property in <a class="link" href="PopplerDocument.html" title="PopplerDocument">PopplerDocument</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerDocument.html#PopplerDocument--format-minor" title='The "format-minor" property'>PopplerDocument:format-minor</a>, object property in <a class="link" href="PopplerDocument.html" title="PopplerDocument">PopplerDocument</a>
+<a class="link" href="PopplerDocument.html#PopplerDocument--format-minor" title="The “format-minor†property">PopplerDocument:format-minor</a>, object property in <a class="link" href="PopplerDocument.html" title="PopplerDocument">PopplerDocument</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerDocument.html#PopplerDocument--keywords" title='The "keywords" property'>PopplerDocument:keywords</a>, object property in <a class="link" href="PopplerDocument.html" title="PopplerDocument">PopplerDocument</a>
+<a class="link" href="PopplerDocument.html#PopplerDocument--keywords" title="The “keywords†property">PopplerDocument:keywords</a>, object property in <a class="link" href="PopplerDocument.html" title="PopplerDocument">PopplerDocument</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerDocument.html#PopplerDocument--linearized" title='The "linearized" property'>PopplerDocument:linearized</a>, object property in <a class="link" href="PopplerDocument.html" title="PopplerDocument">PopplerDocument</a>
+<a class="link" href="PopplerDocument.html#PopplerDocument--linearized" title="The “linearized†property">PopplerDocument:linearized</a>, object property in <a class="link" href="PopplerDocument.html" title="PopplerDocument">PopplerDocument</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerDocument.html#PopplerDocument--metadata" title='The "metadata" property'>PopplerDocument:metadata</a>, object property in <a class="link" href="PopplerDocument.html" title="PopplerDocument">PopplerDocument</a>
+<a class="link" href="PopplerDocument.html#PopplerDocument--metadata" title="The “metadata†property">PopplerDocument:metadata</a>, object property in <a class="link" href="PopplerDocument.html" title="PopplerDocument">PopplerDocument</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerDocument.html#PopplerDocument--mod-date" title='The "mod-date" property'>PopplerDocument:mod-date</a>, object property in <a class="link" href="PopplerDocument.html" title="PopplerDocument">PopplerDocument</a>
+<a class="link" href="PopplerDocument.html#PopplerDocument--mod-date" title="The “mod-date†property">PopplerDocument:mod-date</a>, object property in <a class="link" href="PopplerDocument.html" title="PopplerDocument">PopplerDocument</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerDocument.html#PopplerDocument--page-layout" title='The "page-layout" property'>PopplerDocument:page-layout</a>, object property in <a class="link" href="PopplerDocument.html" title="PopplerDocument">PopplerDocument</a>
+<a class="link" href="PopplerDocument.html#PopplerDocument--page-layout" title="The “page-layout†property">PopplerDocument:page-layout</a>, object property in <a class="link" href="PopplerDocument.html" title="PopplerDocument">PopplerDocument</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerDocument.html#PopplerDocument--page-mode" title='The "page-mode" property'>PopplerDocument:page-mode</a>, object property in <a class="link" href="PopplerDocument.html" title="PopplerDocument">PopplerDocument</a>
+<a class="link" href="PopplerDocument.html#PopplerDocument--page-mode" title="The “page-mode†property">PopplerDocument:page-mode</a>, object property in <a class="link" href="PopplerDocument.html" title="PopplerDocument">PopplerDocument</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerDocument.html#PopplerDocument--permissions" title='The "permissions" property'>PopplerDocument:permissions</a>, object property in <a class="link" href="PopplerDocument.html" title="PopplerDocument">PopplerDocument</a>
+<a class="link" href="PopplerDocument.html#PopplerDocument--permissions" title="The “permissions†property">PopplerDocument:permissions</a>, object property in <a class="link" href="PopplerDocument.html" title="PopplerDocument">PopplerDocument</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerDocument.html#PopplerDocument--producer" title='The "producer" property'>PopplerDocument:producer</a>, object property in <a class="link" href="PopplerDocument.html" title="PopplerDocument">PopplerDocument</a>
+<a class="link" href="PopplerDocument.html#PopplerDocument--producer" title="The “producer†property">PopplerDocument:producer</a>, object property in <a class="link" href="PopplerDocument.html" title="PopplerDocument">PopplerDocument</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerDocument.html#PopplerDocument--subject" title='The "subject" property'>PopplerDocument:subject</a>, object property in <a class="link" href="PopplerDocument.html" title="PopplerDocument">PopplerDocument</a>
+<a class="link" href="PopplerDocument.html#PopplerDocument--subject" title="The “subject†property">PopplerDocument:subject</a>, object property in <a class="link" href="PopplerDocument.html" title="PopplerDocument">PopplerDocument</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerDocument.html#PopplerDocument--title" title='The "title" property'>PopplerDocument:title</a>, object property in <a class="link" href="PopplerDocument.html" title="PopplerDocument">PopplerDocument</a>
+<a class="link" href="PopplerDocument.html#PopplerDocument--title" title="The “title†property">PopplerDocument:title</a>, object property in <a class="link" href="PopplerDocument.html" title="PopplerDocument">PopplerDocument</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerDocument.html#PopplerDocument--viewer-preferences" title='The "viewer-preferences" property'>PopplerDocument:viewer-preferences</a>, object property in <a class="link" href="PopplerDocument.html" title="PopplerDocument">PopplerDocument</a>
+<a class="link" href="PopplerDocument.html#PopplerDocument--viewer-preferences" title="The “viewer-preferences†property">PopplerDocument:viewer-preferences</a>, object property in <a class="link" href="PopplerDocument.html" title="PopplerDocument">PopplerDocument</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerDocument.html#poppler-document-find-dest" title="poppler_document_find_dest ()">poppler_document_find_dest</a>, function in <a class="link" href="PopplerDocument.html" title="PopplerDocument">PopplerDocument</a>
+<a class="link" href="PopplerDocument.html#poppler-document-find-dest" title="poppler_document_find_dest ()">poppler_document_find_dest</a>, function in <a class="link" href="PopplerDocument.html" title="PopplerDocument">PopplerDocument</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerDocument.html#poppler-document-get-attachments" title="poppler_document_get_attachments ()">poppler_document_get_attachments</a>, function in <a class="link" href="PopplerDocument.html" title="PopplerDocument">PopplerDocument</a>
+<a class="link" href="PopplerDocument.html#poppler-document-get-attachments" title="poppler_document_get_attachments ()">poppler_document_get_attachments</a>, function in <a class="link" href="PopplerDocument.html" title="PopplerDocument">PopplerDocument</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerDocument.html#poppler-document-get-author" title="poppler_document_get_author ()">poppler_document_get_author</a>, function in <a class="link" href="PopplerDocument.html" title="PopplerDocument">PopplerDocument</a>
+<a class="link" href="PopplerDocument.html#poppler-document-get-author" title="poppler_document_get_author ()">poppler_document_get_author</a>, function in <a class="link" href="PopplerDocument.html" title="PopplerDocument">PopplerDocument</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerDocument.html#poppler-document-get-creation-date" title="poppler_document_get_creation_date ()">poppler_document_get_creation_date</a>, function in <a class="link" href="PopplerDocument.html" title="PopplerDocument">PopplerDocument</a>
+<a class="link" href="PopplerDocument.html#poppler-document-get-creation-date" title="poppler_document_get_creation_date ()">poppler_document_get_creation_date</a>, function in <a class="link" href="PopplerDocument.html" title="PopplerDocument">PopplerDocument</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerDocument.html#poppler-document-get-creator" title="poppler_document_get_creator ()">poppler_document_get_creator</a>, function in <a class="link" href="PopplerDocument.html" title="PopplerDocument">PopplerDocument</a>
+<a class="link" href="PopplerDocument.html#poppler-document-get-creator" title="poppler_document_get_creator ()">poppler_document_get_creator</a>, function in <a class="link" href="PopplerDocument.html" title="PopplerDocument">PopplerDocument</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerDocument.html#poppler-document-get-form-field" title="poppler_document_get_form_field ()">poppler_document_get_form_field</a>, function in <a class="link" href="PopplerDocument.html" title="PopplerDocument">PopplerDocument</a>
+<a class="link" href="PopplerDocument.html#poppler-document-get-form-field" title="poppler_document_get_form_field ()">poppler_document_get_form_field</a>, function in <a class="link" href="PopplerDocument.html" title="PopplerDocument">PopplerDocument</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerDocument.html#poppler-document-get-id" title="poppler_document_get_id ()">poppler_document_get_id</a>, function in <a class="link" href="PopplerDocument.html" title="PopplerDocument">PopplerDocument</a>
+<a class="link" href="PopplerDocument.html#poppler-document-get-id" title="poppler_document_get_id ()">poppler_document_get_id</a>, function in <a class="link" href="PopplerDocument.html" title="PopplerDocument">PopplerDocument</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerDocument.html#poppler-document-get-keywords" title="poppler_document_get_keywords ()">poppler_document_get_keywords</a>, function in <a class="link" href="PopplerDocument.html" title="PopplerDocument">PopplerDocument</a>
+<a class="link" href="PopplerDocument.html#poppler-document-get-keywords" title="poppler_document_get_keywords ()">poppler_document_get_keywords</a>, function in <a class="link" href="PopplerDocument.html" title="PopplerDocument">PopplerDocument</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerDocument.html#poppler-document-get-metadata" title="poppler_document_get_metadata ()">poppler_document_get_metadata</a>, function in <a class="link" href="PopplerDocument.html" title="PopplerDocument">PopplerDocument</a>
+<a class="link" href="PopplerDocument.html#poppler-document-get-metadata" title="poppler_document_get_metadata ()">poppler_document_get_metadata</a>, function in <a class="link" href="PopplerDocument.html" title="PopplerDocument">PopplerDocument</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerDocument.html#poppler-document-get-modification-date" title="poppler_document_get_modification_date ()">poppler_document_get_modification_date</a>, function in <a class="link" href="PopplerDocument.html" title="PopplerDocument">PopplerDocument</a>
+<a class="link" href="PopplerDocument.html#poppler-document-get-modification-date" title="poppler_document_get_modification_date ()">poppler_document_get_modification_date</a>, function in <a class="link" href="PopplerDocument.html" title="PopplerDocument">PopplerDocument</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerDocument.html#poppler-document-get-n-attachments" title="poppler_document_get_n_attachments ()">poppler_document_get_n_attachments</a>, function in <a class="link" href="PopplerDocument.html" title="PopplerDocument">PopplerDocument</a>
+<a class="link" href="PopplerDocument.html#poppler-document-get-n-attachments" title="poppler_document_get_n_attachments ()">poppler_document_get_n_attachments</a>, function in <a class="link" href="PopplerDocument.html" title="PopplerDocument">PopplerDocument</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerDocument.html#poppler-document-get-n-pages" title="poppler_document_get_n_pages ()">poppler_document_get_n_pages</a>, function in <a class="link" href="PopplerDocument.html" title="PopplerDocument">PopplerDocument</a>
+<a class="link" href="PopplerDocument.html#poppler-document-get-n-pages" title="poppler_document_get_n_pages ()">poppler_document_get_n_pages</a>, function in <a class="link" href="PopplerDocument.html" title="PopplerDocument">PopplerDocument</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerDocument.html#poppler-document-get-page" title="poppler_document_get_page ()">poppler_document_get_page</a>, function in <a class="link" href="PopplerDocument.html" title="PopplerDocument">PopplerDocument</a>
+<a class="link" href="PopplerDocument.html#poppler-document-get-page" title="poppler_document_get_page ()">poppler_document_get_page</a>, function in <a class="link" href="PopplerDocument.html" title="PopplerDocument">PopplerDocument</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerDocument.html#poppler-document-get-page-by-label" title="poppler_document_get_page_by_label ()">poppler_document_get_page_by_label</a>, function in <a class="link" href="PopplerDocument.html" title="PopplerDocument">PopplerDocument</a>
+<a class="link" href="PopplerDocument.html#poppler-document-get-page-by-label" title="poppler_document_get_page_by_label ()">poppler_document_get_page_by_label</a>, function in <a class="link" href="PopplerDocument.html" title="PopplerDocument">PopplerDocument</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerDocument.html#poppler-document-get-page-layout" title="poppler_document_get_page_layout ()">poppler_document_get_page_layout</a>, function in <a class="link" href="PopplerDocument.html" title="PopplerDocument">PopplerDocument</a>
+<a class="link" href="PopplerDocument.html#poppler-document-get-page-layout" title="poppler_document_get_page_layout ()">poppler_document_get_page_layout</a>, function in <a class="link" href="PopplerDocument.html" title="PopplerDocument">PopplerDocument</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerDocument.html#poppler-document-get-page-mode" title="poppler_document_get_page_mode ()">poppler_document_get_page_mode</a>, function in <a class="link" href="PopplerDocument.html" title="PopplerDocument">PopplerDocument</a>
+<a class="link" href="PopplerDocument.html#poppler-document-get-page-mode" title="poppler_document_get_page_mode ()">poppler_document_get_page_mode</a>, function in <a class="link" href="PopplerDocument.html" title="PopplerDocument">PopplerDocument</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerDocument.html#poppler-document-get-pdf-version" title="poppler_document_get_pdf_version ()">poppler_document_get_pdf_version</a>, function in <a class="link" href="PopplerDocument.html" title="PopplerDocument">PopplerDocument</a>
+<a class="link" href="PopplerDocument.html#poppler-document-get-pdf-version" title="poppler_document_get_pdf_version ()">poppler_document_get_pdf_version</a>, function in <a class="link" href="PopplerDocument.html" title="PopplerDocument">PopplerDocument</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerDocument.html#poppler-document-get-pdf-version-string" title="poppler_document_get_pdf_version_string ()">poppler_document_get_pdf_version_string</a>, function in <a class="link" href="PopplerDocument.html" title="PopplerDocument">PopplerDocument</a>
+<a class="link" href="PopplerDocument.html#poppler-document-get-pdf-version-string" title="poppler_document_get_pdf_version_string ()">poppler_document_get_pdf_version_string</a>, function in <a class="link" href="PopplerDocument.html" title="PopplerDocument">PopplerDocument</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerDocument.html#poppler-document-get-permissions" title="poppler_document_get_permissions ()">poppler_document_get_permissions</a>, function in <a class="link" href="PopplerDocument.html" title="PopplerDocument">PopplerDocument</a>
+<a class="link" href="PopplerDocument.html#poppler-document-get-permissions" title="poppler_document_get_permissions ()">poppler_document_get_permissions</a>, function in <a class="link" href="PopplerDocument.html" title="PopplerDocument">PopplerDocument</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerDocument.html#poppler-document-get-producer" title="poppler_document_get_producer ()">poppler_document_get_producer</a>, function in <a class="link" href="PopplerDocument.html" title="PopplerDocument">PopplerDocument</a>
+<a class="link" href="PopplerDocument.html#poppler-document-get-producer" title="poppler_document_get_producer ()">poppler_document_get_producer</a>, function in <a class="link" href="PopplerDocument.html" title="PopplerDocument">PopplerDocument</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerDocument.html#poppler-document-get-subject" title="poppler_document_get_subject ()">poppler_document_get_subject</a>, function in <a class="link" href="PopplerDocument.html" title="PopplerDocument">PopplerDocument</a>
+<a class="link" href="PopplerDocument.html#poppler-document-get-subject" title="poppler_document_get_subject ()">poppler_document_get_subject</a>, function in <a class="link" href="PopplerDocument.html" title="PopplerDocument">PopplerDocument</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerDocument.html#poppler-document-get-title" title="poppler_document_get_title ()">poppler_document_get_title</a>, function in <a class="link" href="PopplerDocument.html" title="PopplerDocument">PopplerDocument</a>
+<a class="link" href="PopplerDocument.html#poppler-document-get-title" title="poppler_document_get_title ()">poppler_document_get_title</a>, function in <a class="link" href="PopplerDocument.html" title="PopplerDocument">PopplerDocument</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerDocument.html#poppler-document-has-attachments" title="poppler_document_has_attachments ()">poppler_document_has_attachments</a>, function in <a class="link" href="PopplerDocument.html" title="PopplerDocument">PopplerDocument</a>
+<a class="link" href="PopplerDocument.html#poppler-document-has-attachments" title="poppler_document_has_attachments ()">poppler_document_has_attachments</a>, function in <a class="link" href="PopplerDocument.html" title="PopplerDocument">PopplerDocument</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerDocument.html#poppler-document-is-linearized" title="poppler_document_is_linearized ()">poppler_document_is_linearized</a>, function in <a class="link" href="PopplerDocument.html" title="PopplerDocument">PopplerDocument</a>
+<a class="link" href="PopplerDocument.html#poppler-document-is-linearized" title="poppler_document_is_linearized ()">poppler_document_is_linearized</a>, function in <a class="link" href="PopplerDocument.html" title="PopplerDocument">PopplerDocument</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerDocument.html#poppler-document-new-from-data" title="poppler_document_new_from_data ()">poppler_document_new_from_data</a>, function in <a class="link" href="PopplerDocument.html" title="PopplerDocument">PopplerDocument</a>
+<a class="link" href="PopplerDocument.html#poppler-document-new-from-data" title="poppler_document_new_from_data ()">poppler_document_new_from_data</a>, function in <a class="link" href="PopplerDocument.html" title="PopplerDocument">PopplerDocument</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerDocument.html#poppler-document-new-from-file" title="poppler_document_new_from_file ()">poppler_document_new_from_file</a>, function in <a class="link" href="PopplerDocument.html" title="PopplerDocument">PopplerDocument</a>
+<a class="link" href="PopplerDocument.html#poppler-document-new-from-file" title="poppler_document_new_from_file ()">poppler_document_new_from_file</a>, function in <a class="link" href="PopplerDocument.html" title="PopplerDocument">PopplerDocument</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerDocument.html#poppler-document-new-from-gfile" title="poppler_document_new_from_gfile ()">poppler_document_new_from_gfile</a>, function in <a class="link" href="PopplerDocument.html" title="PopplerDocument">PopplerDocument</a>
+<a class="link" href="PopplerDocument.html#poppler-document-new-from-gfile" title="poppler_document_new_from_gfile ()">poppler_document_new_from_gfile</a>, function in <a class="link" href="PopplerDocument.html" title="PopplerDocument">PopplerDocument</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerDocument.html#poppler-document-new-from-stream" title="poppler_document_new_from_stream ()">poppler_document_new_from_stream</a>, function in <a class="link" href="PopplerDocument.html" title="PopplerDocument">PopplerDocument</a>
+<a class="link" href="PopplerDocument.html#poppler-document-new-from-stream" title="poppler_document_new_from_stream ()">poppler_document_new_from_stream</a>, function in <a class="link" href="PopplerDocument.html" title="PopplerDocument">PopplerDocument</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerDocument.html#poppler-document-save" title="poppler_document_save ()">poppler_document_save</a>, function in <a class="link" href="PopplerDocument.html" title="PopplerDocument">PopplerDocument</a>
+<a class="link" href="PopplerDocument.html#poppler-document-save" title="poppler_document_save ()">poppler_document_save</a>, function in <a class="link" href="PopplerDocument.html" title="PopplerDocument">PopplerDocument</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerDocument.html#poppler-document-save-a-copy" title="poppler_document_save_a_copy ()">poppler_document_save_a_copy</a>, function in <a class="link" href="PopplerDocument.html" title="PopplerDocument">PopplerDocument</a>
+<a class="link" href="PopplerDocument.html#poppler-document-save-a-copy" title="poppler_document_save_a_copy ()">poppler_document_save_a_copy</a>, function in <a class="link" href="PopplerDocument.html" title="PopplerDocument">PopplerDocument</a>
</dt>
<dd></dd>
<a name="idxE"></a><h3 class="title">E</h3>
@@ -666,47 +743,47 @@
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerDocument.html#poppler-fonts-iter-copy" title="poppler_fonts_iter_copy ()">poppler_fonts_iter_copy</a>, function in <a class="link" href="PopplerDocument.html" title="PopplerDocument">PopplerDocument</a>
+<a class="link" href="PopplerDocument.html#poppler-fonts-iter-copy" title="poppler_fonts_iter_copy ()">poppler_fonts_iter_copy</a>, function in <a class="link" href="PopplerDocument.html" title="PopplerDocument">PopplerDocument</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerDocument.html#poppler-fonts-iter-free" title="poppler_fonts_iter_free ()">poppler_fonts_iter_free</a>, function in <a class="link" href="PopplerDocument.html" title="PopplerDocument">PopplerDocument</a>
+<a class="link" href="PopplerDocument.html#poppler-fonts-iter-free" title="poppler_fonts_iter_free ()">poppler_fonts_iter_free</a>, function in <a class="link" href="PopplerDocument.html" title="PopplerDocument">PopplerDocument</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerDocument.html#poppler-fonts-iter-get-encoding" title="poppler_fonts_iter_get_encoding ()">poppler_fonts_iter_get_encoding</a>, function in <a class="link" href="PopplerDocument.html" title="PopplerDocument">PopplerDocument</a>
+<a class="link" href="PopplerDocument.html#poppler-fonts-iter-get-encoding" title="poppler_fonts_iter_get_encoding ()">poppler_fonts_iter_get_encoding</a>, function in <a class="link" href="PopplerDocument.html" title="PopplerDocument">PopplerDocument</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerDocument.html#poppler-fonts-iter-get-file-name" title="poppler_fonts_iter_get_file_name ()">poppler_fonts_iter_get_file_name</a>, function in <a class="link" href="PopplerDocument.html" title="PopplerDocument">PopplerDocument</a>
+<a class="link" href="PopplerDocument.html#poppler-fonts-iter-get-file-name" title="poppler_fonts_iter_get_file_name ()">poppler_fonts_iter_get_file_name</a>, function in <a class="link" href="PopplerDocument.html" title="PopplerDocument">PopplerDocument</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerDocument.html#poppler-fonts-iter-get-font-type" title="poppler_fonts_iter_get_font_type ()">poppler_fonts_iter_get_font_type</a>, function in <a class="link" href="PopplerDocument.html" title="PopplerDocument">PopplerDocument</a>
+<a class="link" href="PopplerDocument.html#poppler-fonts-iter-get-font-type" title="poppler_fonts_iter_get_font_type ()">poppler_fonts_iter_get_font_type</a>, function in <a class="link" href="PopplerDocument.html" title="PopplerDocument">PopplerDocument</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerDocument.html#poppler-fonts-iter-get-full-name" title="poppler_fonts_iter_get_full_name ()">poppler_fonts_iter_get_full_name</a>, function in <a class="link" href="PopplerDocument.html" title="PopplerDocument">PopplerDocument</a>
+<a class="link" href="PopplerDocument.html#poppler-fonts-iter-get-full-name" title="poppler_fonts_iter_get_full_name ()">poppler_fonts_iter_get_full_name</a>, function in <a class="link" href="PopplerDocument.html" title="PopplerDocument">PopplerDocument</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerDocument.html#poppler-fonts-iter-get-name" title="poppler_fonts_iter_get_name ()">poppler_fonts_iter_get_name</a>, function in <a class="link" href="PopplerDocument.html" title="PopplerDocument">PopplerDocument</a>
+<a class="link" href="PopplerDocument.html#poppler-fonts-iter-get-name" title="poppler_fonts_iter_get_name ()">poppler_fonts_iter_get_name</a>, function in <a class="link" href="PopplerDocument.html" title="PopplerDocument">PopplerDocument</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerDocument.html#poppler-fonts-iter-get-substitute-name" title="poppler_fonts_iter_get_substitute_name ()">poppler_fonts_iter_get_substitute_name</a>, function in <a class="link" href="PopplerDocument.html" title="PopplerDocument">PopplerDocument</a>
+<a class="link" href="PopplerDocument.html#poppler-fonts-iter-get-substitute-name" title="poppler_fonts_iter_get_substitute_name ()">poppler_fonts_iter_get_substitute_name</a>, function in <a class="link" href="PopplerDocument.html" title="PopplerDocument">PopplerDocument</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerDocument.html#poppler-fonts-iter-is-embedded" title="poppler_fonts_iter_is_embedded ()">poppler_fonts_iter_is_embedded</a>, function in <a class="link" href="PopplerDocument.html" title="PopplerDocument">PopplerDocument</a>
+<a class="link" href="PopplerDocument.html#poppler-fonts-iter-is-embedded" title="poppler_fonts_iter_is_embedded ()">poppler_fonts_iter_is_embedded</a>, function in <a class="link" href="PopplerDocument.html" title="PopplerDocument">PopplerDocument</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerDocument.html#poppler-fonts-iter-is-subset" title="poppler_fonts_iter_is_subset ()">poppler_fonts_iter_is_subset</a>, function in <a class="link" href="PopplerDocument.html" title="PopplerDocument">PopplerDocument</a>
+<a class="link" href="PopplerDocument.html#poppler-fonts-iter-is-subset" title="poppler_fonts_iter_is_subset ()">poppler_fonts_iter_is_subset</a>, function in <a class="link" href="PopplerDocument.html" title="PopplerDocument">PopplerDocument</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerDocument.html#poppler-fonts-iter-next" title="poppler_fonts_iter_next ()">poppler_fonts_iter_next</a>, function in <a class="link" href="PopplerDocument.html" title="PopplerDocument">PopplerDocument</a>
+<a class="link" href="PopplerDocument.html#poppler-fonts-iter-next" title="poppler_fonts_iter_next ()">poppler_fonts_iter_next</a>, function in <a class="link" href="PopplerDocument.html" title="PopplerDocument">PopplerDocument</a>
</dt>
<dd></dd>
<dt>
@@ -714,15 +791,15 @@
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerDocument.html#poppler-font-info-free" title="poppler_font_info_free ()">poppler_font_info_free</a>, function in <a class="link" href="PopplerDocument.html" title="PopplerDocument">PopplerDocument</a>
+<a class="link" href="PopplerDocument.html#poppler-font-info-free" title="poppler_font_info_free ()">poppler_font_info_free</a>, function in <a class="link" href="PopplerDocument.html" title="PopplerDocument">PopplerDocument</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerDocument.html#poppler-font-info-new" title="poppler_font_info_new ()">poppler_font_info_new</a>, function in <a class="link" href="PopplerDocument.html" title="PopplerDocument">PopplerDocument</a>
+<a class="link" href="PopplerDocument.html#poppler-font-info-new" title="poppler_font_info_new ()">poppler_font_info_new</a>, function in <a class="link" href="PopplerDocument.html" title="PopplerDocument">PopplerDocument</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerDocument.html#poppler-font-info-scan" title="poppler_font_info_scan ()">poppler_font_info_scan</a>, function in <a class="link" href="PopplerDocument.html" title="PopplerDocument">PopplerDocument</a>
+<a class="link" href="PopplerDocument.html#poppler-font-info-scan" title="poppler_font_info_scan ()">poppler_font_info_scan</a>, function in <a class="link" href="PopplerDocument.html" title="PopplerDocument">PopplerDocument</a>
</dt>
<dd></dd>
<dt>
@@ -750,152 +827,152 @@
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerFormField.html#poppler-form-field-button-get-button-type" title="poppler_form_field_button_get_button_type ()">poppler_form_field_button_get_button_type</a>, function in <a class="link" href="PopplerFormField.html" title="PoppplerFormField">PopplerFormField</a>
+<a class="link" href="PopplerFormField.html#poppler-form-field-button-get-button-type" title="poppler_form_field_button_get_button_type ()">poppler_form_field_button_get_button_type</a>, function in <a class="link" href="PopplerFormField.html" title="PoppplerFormField">PopplerFormField</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerFormField.html#poppler-form-field-button-get-state" title="poppler_form_field_button_get_state ()">poppler_form_field_button_get_state</a>, function in <a class="link" href="PopplerFormField.html" title="PoppplerFormField">PopplerFormField</a>
+<a class="link" href="PopplerFormField.html#poppler-form-field-button-get-state" title="poppler_form_field_button_get_state ()">poppler_form_field_button_get_state</a>, function in <a class="link" href="PopplerFormField.html" title="PoppplerFormField">PopplerFormField</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerFormField.html#poppler-form-field-button-set-state" title="poppler_form_field_button_set_state ()">poppler_form_field_button_set_state</a>, function in <a class="link" href="PopplerFormField.html" title="PoppplerFormField">PopplerFormField</a>
+<a class="link" href="PopplerFormField.html#poppler-form-field-button-set-state" title="poppler_form_field_button_set_state ()">poppler_form_field_button_set_state</a>, function in <a class="link" href="PopplerFormField.html" title="PoppplerFormField">PopplerFormField</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerFormField.html#poppler-form-field-choice-can-select-multiple" title="poppler_form_field_choice_can_select_multiple ()">poppler_form_field_choice_can_select_multiple</a>, function in <a class="link" href="PopplerFormField.html" title="PoppplerFormField">PopplerFormField</a>
+<a class="link" href="PopplerFormField.html#poppler-form-field-choice-can-select-multiple" title="poppler_form_field_choice_can_select_multiple ()">poppler_form_field_choice_can_select_multiple</a>, function in <a class="link" href="PopplerFormField.html" title="PoppplerFormField">PopplerFormField</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerFormField.html#poppler-form-field-choice-commit-on-change" title="poppler_form_field_choice_commit_on_change ()">poppler_form_field_choice_commit_on_change</a>, function in <a class="link" href="PopplerFormField.html" title="PoppplerFormField">PopplerFormField</a>
+<a class="link" href="PopplerFormField.html#poppler-form-field-choice-commit-on-change" title="poppler_form_field_choice_commit_on_change ()">poppler_form_field_choice_commit_on_change</a>, function in <a class="link" href="PopplerFormField.html" title="PoppplerFormField">PopplerFormField</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerFormField.html#poppler-form-field-choice-do-spell-check" title="poppler_form_field_choice_do_spell_check ()">poppler_form_field_choice_do_spell_check</a>, function in <a class="link" href="PopplerFormField.html" title="PoppplerFormField">PopplerFormField</a>
+<a class="link" href="PopplerFormField.html#poppler-form-field-choice-do-spell-check" title="poppler_form_field_choice_do_spell_check ()">poppler_form_field_choice_do_spell_check</a>, function in <a class="link" href="PopplerFormField.html" title="PoppplerFormField">PopplerFormField</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerFormField.html#poppler-form-field-choice-get-choice-type" title="poppler_form_field_choice_get_choice_type ()">poppler_form_field_choice_get_choice_type</a>, function in <a class="link" href="PopplerFormField.html" title="PoppplerFormField">PopplerFormField</a>
+<a class="link" href="PopplerFormField.html#poppler-form-field-choice-get-choice-type" title="poppler_form_field_choice_get_choice_type ()">poppler_form_field_choice_get_choice_type</a>, function in <a class="link" href="PopplerFormField.html" title="PoppplerFormField">PopplerFormField</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerFormField.html#poppler-form-field-choice-get-item" title="poppler_form_field_choice_get_item ()">poppler_form_field_choice_get_item</a>, function in <a class="link" href="PopplerFormField.html" title="PoppplerFormField">PopplerFormField</a>
+<a class="link" href="PopplerFormField.html#poppler-form-field-choice-get-item" title="poppler_form_field_choice_get_item ()">poppler_form_field_choice_get_item</a>, function in <a class="link" href="PopplerFormField.html" title="PoppplerFormField">PopplerFormField</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerFormField.html#poppler-form-field-choice-get-n-items" title="poppler_form_field_choice_get_n_items ()">poppler_form_field_choice_get_n_items</a>, function in <a class="link" href="PopplerFormField.html" title="PoppplerFormField">PopplerFormField</a>
+<a class="link" href="PopplerFormField.html#poppler-form-field-choice-get-n-items" title="poppler_form_field_choice_get_n_items ()">poppler_form_field_choice_get_n_items</a>, function in <a class="link" href="PopplerFormField.html" title="PoppplerFormField">PopplerFormField</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerFormField.html#poppler-form-field-choice-get-text" title="poppler_form_field_choice_get_text ()">poppler_form_field_choice_get_text</a>, function in <a class="link" href="PopplerFormField.html" title="PoppplerFormField">PopplerFormField</a>
+<a class="link" href="PopplerFormField.html#poppler-form-field-choice-get-text" title="poppler_form_field_choice_get_text ()">poppler_form_field_choice_get_text</a>, function in <a class="link" href="PopplerFormField.html" title="PoppplerFormField">PopplerFormField</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerFormField.html#poppler-form-field-choice-is-editable" title="poppler_form_field_choice_is_editable ()">poppler_form_field_choice_is_editable</a>, function in <a class="link" href="PopplerFormField.html" title="PoppplerFormField">PopplerFormField</a>
+<a class="link" href="PopplerFormField.html#poppler-form-field-choice-is-editable" title="poppler_form_field_choice_is_editable ()">poppler_form_field_choice_is_editable</a>, function in <a class="link" href="PopplerFormField.html" title="PoppplerFormField">PopplerFormField</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerFormField.html#poppler-form-field-choice-is-item-selected" title="poppler_form_field_choice_is_item_selected ()">poppler_form_field_choice_is_item_selected</a>, function in <a class="link" href="PopplerFormField.html" title="PoppplerFormField">PopplerFormField</a>
+<a class="link" href="PopplerFormField.html#poppler-form-field-choice-is-item-selected" title="poppler_form_field_choice_is_item_selected ()">poppler_form_field_choice_is_item_selected</a>, function in <a class="link" href="PopplerFormField.html" title="PoppplerFormField">PopplerFormField</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerFormField.html#poppler-form-field-choice-select-item" title="poppler_form_field_choice_select_item ()">poppler_form_field_choice_select_item</a>, function in <a class="link" href="PopplerFormField.html" title="PoppplerFormField">PopplerFormField</a>
+<a class="link" href="PopplerFormField.html#poppler-form-field-choice-select-item" title="poppler_form_field_choice_select_item ()">poppler_form_field_choice_select_item</a>, function in <a class="link" href="PopplerFormField.html" title="PoppplerFormField">PopplerFormField</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerFormField.html#poppler-form-field-choice-set-text" title="poppler_form_field_choice_set_text ()">poppler_form_field_choice_set_text</a>, function in <a class="link" href="PopplerFormField.html" title="PoppplerFormField">PopplerFormField</a>
+<a class="link" href="PopplerFormField.html#poppler-form-field-choice-set-text" title="poppler_form_field_choice_set_text ()">poppler_form_field_choice_set_text</a>, function in <a class="link" href="PopplerFormField.html" title="PoppplerFormField">PopplerFormField</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerFormField.html#poppler-form-field-choice-toggle-item" title="poppler_form_field_choice_toggle_item ()">poppler_form_field_choice_toggle_item</a>, function in <a class="link" href="PopplerFormField.html" title="PoppplerFormField">PopplerFormField</a>
+<a class="link" href="PopplerFormField.html#poppler-form-field-choice-toggle-item" title="poppler_form_field_choice_toggle_item ()">poppler_form_field_choice_toggle_item</a>, function in <a class="link" href="PopplerFormField.html" title="PoppplerFormField">PopplerFormField</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerFormField.html#poppler-form-field-choice-unselect-all" title="poppler_form_field_choice_unselect_all ()">poppler_form_field_choice_unselect_all</a>, function in <a class="link" href="PopplerFormField.html" title="PoppplerFormField">PopplerFormField</a>
+<a class="link" href="PopplerFormField.html#poppler-form-field-choice-unselect-all" title="poppler_form_field_choice_unselect_all ()">poppler_form_field_choice_unselect_all</a>, function in <a class="link" href="PopplerFormField.html" title="PoppplerFormField">PopplerFormField</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerFormField.html#poppler-form-field-get-action" title="poppler_form_field_get_action ()">poppler_form_field_get_action</a>, function in <a class="link" href="PopplerFormField.html" title="PoppplerFormField">PopplerFormField</a>
+<a class="link" href="PopplerFormField.html#poppler-form-field-get-action" title="poppler_form_field_get_action ()">poppler_form_field_get_action</a>, function in <a class="link" href="PopplerFormField.html" title="PoppplerFormField">PopplerFormField</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerFormField.html#poppler-form-field-get-field-type" title="poppler_form_field_get_field_type ()">poppler_form_field_get_field_type</a>, function in <a class="link" href="PopplerFormField.html" title="PoppplerFormField">PopplerFormField</a>
+<a class="link" href="PopplerFormField.html#poppler-form-field-get-field-type" title="poppler_form_field_get_field_type ()">poppler_form_field_get_field_type</a>, function in <a class="link" href="PopplerFormField.html" title="PoppplerFormField">PopplerFormField</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerFormField.html#poppler-form-field-get-font-size" title="poppler_form_field_get_font_size ()">poppler_form_field_get_font_size</a>, function in <a class="link" href="PopplerFormField.html" title="PoppplerFormField">PopplerFormField</a>
+<a class="link" href="PopplerFormField.html#poppler-form-field-get-font-size" title="poppler_form_field_get_font_size ()">poppler_form_field_get_font_size</a>, function in <a class="link" href="PopplerFormField.html" title="PoppplerFormField">PopplerFormField</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerFormField.html#poppler-form-field-get-id" title="poppler_form_field_get_id ()">poppler_form_field_get_id</a>, function in <a class="link" href="PopplerFormField.html" title="PoppplerFormField">PopplerFormField</a>
+<a class="link" href="PopplerFormField.html#poppler-form-field-get-id" title="poppler_form_field_get_id ()">poppler_form_field_get_id</a>, function in <a class="link" href="PopplerFormField.html" title="PoppplerFormField">PopplerFormField</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerFormField.html#poppler-form-field-get-mapping-name" title="poppler_form_field_get_mapping_name ()">poppler_form_field_get_mapping_name</a>, function in <a class="link" href="PopplerFormField.html" title="PoppplerFormField">PopplerFormField</a>
+<a class="link" href="PopplerFormField.html#poppler-form-field-get-mapping-name" title="poppler_form_field_get_mapping_name ()">poppler_form_field_get_mapping_name</a>, function in <a class="link" href="PopplerFormField.html" title="PoppplerFormField">PopplerFormField</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerFormField.html#poppler-form-field-get-name" title="poppler_form_field_get_name ()">poppler_form_field_get_name</a>, function in <a class="link" href="PopplerFormField.html" title="PoppplerFormField">PopplerFormField</a>
+<a class="link" href="PopplerFormField.html#poppler-form-field-get-name" title="poppler_form_field_get_name ()">poppler_form_field_get_name</a>, function in <a class="link" href="PopplerFormField.html" title="PoppplerFormField">PopplerFormField</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerFormField.html#poppler-form-field-get-partial-name" title="poppler_form_field_get_partial_name ()">poppler_form_field_get_partial_name</a>, function in <a class="link" href="PopplerFormField.html" title="PoppplerFormField">PopplerFormField</a>
+<a class="link" href="PopplerFormField.html#poppler-form-field-get-partial-name" title="poppler_form_field_get_partial_name ()">poppler_form_field_get_partial_name</a>, function in <a class="link" href="PopplerFormField.html" title="PoppplerFormField">PopplerFormField</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerFormField.html#poppler-form-field-is-read-only" title="poppler_form_field_is_read_only ()">poppler_form_field_is_read_only</a>, function in <a class="link" href="PopplerFormField.html" title="PoppplerFormField">PopplerFormField</a>
+<a class="link" href="PopplerFormField.html#poppler-form-field-is-read-only" title="poppler_form_field_is_read_only ()">poppler_form_field_is_read_only</a>, function in <a class="link" href="PopplerFormField.html" title="PoppplerFormField">PopplerFormField</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerPage.html#poppler-form-field-mapping-copy" title="poppler_form_field_mapping_copy ()">poppler_form_field_mapping_copy</a>, function in <a class="link" href="PopplerPage.html" title="PopplerPage">PopplerPage</a>
+<a class="link" href="PopplerPage.html#poppler-form-field-mapping-copy" title="poppler_form_field_mapping_copy ()">poppler_form_field_mapping_copy</a>, function in <a class="link" href="PopplerPage.html" title="PopplerPage">PopplerPage</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerPage.html#poppler-form-field-mapping-free" title="poppler_form_field_mapping_free ()">poppler_form_field_mapping_free</a>, function in <a class="link" href="PopplerPage.html" title="PopplerPage">PopplerPage</a>
+<a class="link" href="PopplerPage.html#poppler-form-field-mapping-free" title="poppler_form_field_mapping_free ()">poppler_form_field_mapping_free</a>, function in <a class="link" href="PopplerPage.html" title="PopplerPage">PopplerPage</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerPage.html#poppler-form-field-mapping-new" title="poppler_form_field_mapping_new ()">poppler_form_field_mapping_new</a>, function in <a class="link" href="PopplerPage.html" title="PopplerPage">PopplerPage</a>
+<a class="link" href="PopplerPage.html#poppler-form-field-mapping-new" title="poppler_form_field_mapping_new ()">poppler_form_field_mapping_new</a>, function in <a class="link" href="PopplerPage.html" title="PopplerPage">PopplerPage</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerFormField.html#poppler-form-field-text-do-scroll" title="poppler_form_field_text_do_scroll ()">poppler_form_field_text_do_scroll</a>, function in <a class="link" href="PopplerFormField.html" title="PoppplerFormField">PopplerFormField</a>
+<a class="link" href="PopplerFormField.html#poppler-form-field-text-do-scroll" title="poppler_form_field_text_do_scroll ()">poppler_form_field_text_do_scroll</a>, function in <a class="link" href="PopplerFormField.html" title="PoppplerFormField">PopplerFormField</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerFormField.html#poppler-form-field-text-do-spell-check" title="poppler_form_field_text_do_spell_check ()">poppler_form_field_text_do_spell_check</a>, function in <a class="link" href="PopplerFormField.html" title="PoppplerFormField">PopplerFormField</a>
+<a class="link" href="PopplerFormField.html#poppler-form-field-text-do-spell-check" title="poppler_form_field_text_do_spell_check ()">poppler_form_field_text_do_spell_check</a>, function in <a class="link" href="PopplerFormField.html" title="PoppplerFormField">PopplerFormField</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerFormField.html#poppler-form-field-text-get-max-len" title="poppler_form_field_text_get_max_len ()">poppler_form_field_text_get_max_len</a>, function in <a class="link" href="PopplerFormField.html" title="PoppplerFormField">PopplerFormField</a>
+<a class="link" href="PopplerFormField.html#poppler-form-field-text-get-max-len" title="poppler_form_field_text_get_max_len ()">poppler_form_field_text_get_max_len</a>, function in <a class="link" href="PopplerFormField.html" title="PoppplerFormField">PopplerFormField</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerFormField.html#poppler-form-field-text-get-text" title="poppler_form_field_text_get_text ()">poppler_form_field_text_get_text</a>, function in <a class="link" href="PopplerFormField.html" title="PoppplerFormField">PopplerFormField</a>
+<a class="link" href="PopplerFormField.html#poppler-form-field-text-get-text" title="poppler_form_field_text_get_text ()">poppler_form_field_text_get_text</a>, function in <a class="link" href="PopplerFormField.html" title="PoppplerFormField">PopplerFormField</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerFormField.html#poppler-form-field-text-get-text-type" title="poppler_form_field_text_get_text_type ()">poppler_form_field_text_get_text_type</a>, function in <a class="link" href="PopplerFormField.html" title="PoppplerFormField">PopplerFormField</a>
+<a class="link" href="PopplerFormField.html#poppler-form-field-text-get-text-type" title="poppler_form_field_text_get_text_type ()">poppler_form_field_text_get_text_type</a>, function in <a class="link" href="PopplerFormField.html" title="PoppplerFormField">PopplerFormField</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerFormField.html#poppler-form-field-text-is-password" title="poppler_form_field_text_is_password ()">poppler_form_field_text_is_password</a>, function in <a class="link" href="PopplerFormField.html" title="PoppplerFormField">PopplerFormField</a>
+<a class="link" href="PopplerFormField.html#poppler-form-field-text-is-password" title="poppler_form_field_text_is_password ()">poppler_form_field_text_is_password</a>, function in <a class="link" href="PopplerFormField.html" title="PoppplerFormField">PopplerFormField</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerFormField.html#poppler-form-field-text-is-rich-text" title="poppler_form_field_text_is_rich_text ()">poppler_form_field_text_is_rich_text</a>, function in <a class="link" href="PopplerFormField.html" title="PoppplerFormField">PopplerFormField</a>
+<a class="link" href="PopplerFormField.html#poppler-form-field-text-is-rich-text" title="poppler_form_field_text_is_rich_text ()">poppler_form_field_text_is_rich_text</a>, function in <a class="link" href="PopplerFormField.html" title="PoppplerFormField">PopplerFormField</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerFormField.html#poppler-form-field-text-set-text" title="poppler_form_field_text_set_text ()">poppler_form_field_text_set_text</a>, function in <a class="link" href="PopplerFormField.html" title="PoppplerFormField">PopplerFormField</a>
+<a class="link" href="PopplerFormField.html#poppler-form-field-text-set-text" title="poppler_form_field_text_set_text ()">poppler_form_field_text_set_text</a>, function in <a class="link" href="PopplerFormField.html" title="PoppplerFormField">PopplerFormField</a>
</dt>
<dd></dd>
<a name="idxG"></a><h3 class="title">G</h3>
<dt>
-<a class="link" href="poppler-poppler.html#poppler-get-backend" title="poppler_get_backend ()">poppler_get_backend</a>, function in <a class="link" href="poppler-poppler.html" title="poppler">poppler</a>
+<a class="link" href="poppler-poppler.html#poppler-get-backend" title="poppler_get_backend ()">poppler_get_backend</a>, function in <a class="link" href="poppler-poppler.html" title="poppler">poppler</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="poppler-poppler.html#poppler-get-version" title="poppler_get_version ()">poppler_get_version</a>, function in <a class="link" href="poppler-poppler.html" title="poppler">poppler</a>
+<a class="link" href="poppler-poppler.html#poppler-get-version" title="poppler_get_version ()">poppler_get_version</a>, function in <a class="link" href="poppler-poppler.html" title="poppler">poppler</a>
</dt>
<dd></dd>
<a name="idxH"></a><h3 class="title">H</h3>
@@ -909,15 +986,15 @@
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerPage.html#poppler-image-mapping-copy" title="poppler_image_mapping_copy ()">poppler_image_mapping_copy</a>, function in <a class="link" href="PopplerPage.html" title="PopplerPage">PopplerPage</a>
+<a class="link" href="PopplerPage.html#poppler-image-mapping-copy" title="poppler_image_mapping_copy ()">poppler_image_mapping_copy</a>, function in <a class="link" href="PopplerPage.html" title="PopplerPage">PopplerPage</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerPage.html#poppler-image-mapping-free" title="poppler_image_mapping_free ()">poppler_image_mapping_free</a>, function in <a class="link" href="PopplerPage.html" title="PopplerPage">PopplerPage</a>
+<a class="link" href="PopplerPage.html#poppler-image-mapping-free" title="poppler_image_mapping_free ()">poppler_image_mapping_free</a>, function in <a class="link" href="PopplerPage.html" title="PopplerPage">PopplerPage</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerPage.html#poppler-image-mapping-new" title="poppler_image_mapping_new ()">poppler_image_mapping_new</a>, function in <a class="link" href="PopplerPage.html" title="PopplerPage">PopplerPage</a>
+<a class="link" href="PopplerPage.html#poppler-image-mapping-new" title="poppler_image_mapping_new ()">poppler_image_mapping_new</a>, function in <a class="link" href="PopplerPage.html" title="PopplerPage">PopplerPage</a>
</dt>
<dd></dd>
<dt>
@@ -925,31 +1002,31 @@
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerDocument.html#poppler-index-iter-copy" title="poppler_index_iter_copy ()">poppler_index_iter_copy</a>, function in <a class="link" href="PopplerDocument.html" title="PopplerDocument">PopplerDocument</a>
+<a class="link" href="PopplerDocument.html#poppler-index-iter-copy" title="poppler_index_iter_copy ()">poppler_index_iter_copy</a>, function in <a class="link" href="PopplerDocument.html" title="PopplerDocument">PopplerDocument</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerDocument.html#poppler-index-iter-free" title="poppler_index_iter_free ()">poppler_index_iter_free</a>, function in <a class="link" href="PopplerDocument.html" title="PopplerDocument">PopplerDocument</a>
+<a class="link" href="PopplerDocument.html#poppler-index-iter-free" title="poppler_index_iter_free ()">poppler_index_iter_free</a>, function in <a class="link" href="PopplerDocument.html" title="PopplerDocument">PopplerDocument</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerDocument.html#poppler-index-iter-get-action" title="poppler_index_iter_get_action ()">poppler_index_iter_get_action</a>, function in <a class="link" href="PopplerDocument.html" title="PopplerDocument">PopplerDocument</a>
+<a class="link" href="PopplerDocument.html#poppler-index-iter-get-action" title="poppler_index_iter_get_action ()">poppler_index_iter_get_action</a>, function in <a class="link" href="PopplerDocument.html" title="PopplerDocument">PopplerDocument</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerDocument.html#poppler-index-iter-get-child" title="poppler_index_iter_get_child ()">poppler_index_iter_get_child</a>, function in <a class="link" href="PopplerDocument.html" title="PopplerDocument">PopplerDocument</a>
+<a class="link" href="PopplerDocument.html#poppler-index-iter-get-child" title="poppler_index_iter_get_child ()">poppler_index_iter_get_child</a>, function in <a class="link" href="PopplerDocument.html" title="PopplerDocument">PopplerDocument</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerDocument.html#poppler-index-iter-is-open" title="poppler_index_iter_is_open ()">poppler_index_iter_is_open</a>, function in <a class="link" href="PopplerDocument.html" title="PopplerDocument">PopplerDocument</a>
+<a class="link" href="PopplerDocument.html#poppler-index-iter-is-open" title="poppler_index_iter_is_open ()">poppler_index_iter_is_open</a>, function in <a class="link" href="PopplerDocument.html" title="PopplerDocument">PopplerDocument</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerDocument.html#poppler-index-iter-new" title="poppler_index_iter_new ()">poppler_index_iter_new</a>, function in <a class="link" href="PopplerDocument.html" title="PopplerDocument">PopplerDocument</a>
+<a class="link" href="PopplerDocument.html#poppler-index-iter-new" title="poppler_index_iter_new ()">poppler_index_iter_new</a>, function in <a class="link" href="PopplerDocument.html" title="PopplerDocument">PopplerDocument</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerDocument.html#poppler-index-iter-next" title="poppler_index_iter_next ()">poppler_index_iter_next</a>, function in <a class="link" href="PopplerDocument.html" title="PopplerDocument">PopplerDocument</a>
+<a class="link" href="PopplerDocument.html#poppler-index-iter-next" title="poppler_index_iter_next ()">poppler_index_iter_next</a>, function in <a class="link" href="PopplerDocument.html" title="PopplerDocument">PopplerDocument</a>
</dt>
<dd></dd>
<a name="idxL"></a><h3 class="title">L</h3>
@@ -962,55 +1039,55 @@
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerDocument.html#poppler-layers-iter-copy" title="poppler_layers_iter_copy ()">poppler_layers_iter_copy</a>, function in <a class="link" href="PopplerDocument.html" title="PopplerDocument">PopplerDocument</a>
+<a class="link" href="PopplerDocument.html#poppler-layers-iter-copy" title="poppler_layers_iter_copy ()">poppler_layers_iter_copy</a>, function in <a class="link" href="PopplerDocument.html" title="PopplerDocument">PopplerDocument</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerDocument.html#poppler-layers-iter-free" title="poppler_layers_iter_free ()">poppler_layers_iter_free</a>, function in <a class="link" href="PopplerDocument.html" title="PopplerDocument">PopplerDocument</a>
+<a class="link" href="PopplerDocument.html#poppler-layers-iter-free" title="poppler_layers_iter_free ()">poppler_layers_iter_free</a>, function in <a class="link" href="PopplerDocument.html" title="PopplerDocument">PopplerDocument</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerDocument.html#poppler-layers-iter-get-child" title="poppler_layers_iter_get_child ()">poppler_layers_iter_get_child</a>, function in <a class="link" href="PopplerDocument.html" title="PopplerDocument">PopplerDocument</a>
+<a class="link" href="PopplerDocument.html#poppler-layers-iter-get-child" title="poppler_layers_iter_get_child ()">poppler_layers_iter_get_child</a>, function in <a class="link" href="PopplerDocument.html" title="PopplerDocument">PopplerDocument</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerDocument.html#poppler-layers-iter-get-layer" title="poppler_layers_iter_get_layer ()">poppler_layers_iter_get_layer</a>, function in <a class="link" href="PopplerDocument.html" title="PopplerDocument">PopplerDocument</a>
+<a class="link" href="PopplerDocument.html#poppler-layers-iter-get-layer" title="poppler_layers_iter_get_layer ()">poppler_layers_iter_get_layer</a>, function in <a class="link" href="PopplerDocument.html" title="PopplerDocument">PopplerDocument</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerDocument.html#poppler-layers-iter-get-title" title="poppler_layers_iter_get_title ()">poppler_layers_iter_get_title</a>, function in <a class="link" href="PopplerDocument.html" title="PopplerDocument">PopplerDocument</a>
+<a class="link" href="PopplerDocument.html#poppler-layers-iter-get-title" title="poppler_layers_iter_get_title ()">poppler_layers_iter_get_title</a>, function in <a class="link" href="PopplerDocument.html" title="PopplerDocument">PopplerDocument</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerDocument.html#poppler-layers-iter-new" title="poppler_layers_iter_new ()">poppler_layers_iter_new</a>, function in <a class="link" href="PopplerDocument.html" title="PopplerDocument">PopplerDocument</a>
+<a class="link" href="PopplerDocument.html#poppler-layers-iter-new" title="poppler_layers_iter_new ()">poppler_layers_iter_new</a>, function in <a class="link" href="PopplerDocument.html" title="PopplerDocument">PopplerDocument</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerDocument.html#poppler-layers-iter-next" title="poppler_layers_iter_next ()">poppler_layers_iter_next</a>, function in <a class="link" href="PopplerDocument.html" title="PopplerDocument">PopplerDocument</a>
+<a class="link" href="PopplerDocument.html#poppler-layers-iter-next" title="poppler_layers_iter_next ()">poppler_layers_iter_next</a>, function in <a class="link" href="PopplerDocument.html" title="PopplerDocument">PopplerDocument</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerLayer.html#poppler-layer-get-radio-button-group-id" title="poppler_layer_get_radio_button_group_id ()">poppler_layer_get_radio_button_group_id</a>, function in <a class="link" href="PopplerLayer.html" title="PopplerLayer">PopplerLayer</a>
+<a class="link" href="PopplerLayer.html#poppler-layer-get-radio-button-group-id" title="poppler_layer_get_radio_button_group_id ()">poppler_layer_get_radio_button_group_id</a>, function in <a class="link" href="PopplerLayer.html" title="PopplerLayer">PopplerLayer</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerLayer.html#poppler-layer-get-title" title="poppler_layer_get_title ()">poppler_layer_get_title</a>, function in <a class="link" href="PopplerLayer.html" title="PopplerLayer">PopplerLayer</a>
+<a class="link" href="PopplerLayer.html#poppler-layer-get-title" title="poppler_layer_get_title ()">poppler_layer_get_title</a>, function in <a class="link" href="PopplerLayer.html" title="PopplerLayer">PopplerLayer</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerLayer.html#poppler-layer-hide" title="poppler_layer_hide ()">poppler_layer_hide</a>, function in <a class="link" href="PopplerLayer.html" title="PopplerLayer">PopplerLayer</a>
+<a class="link" href="PopplerLayer.html#poppler-layer-hide" title="poppler_layer_hide ()">poppler_layer_hide</a>, function in <a class="link" href="PopplerLayer.html" title="PopplerLayer">PopplerLayer</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerLayer.html#poppler-layer-is-parent" title="poppler_layer_is_parent ()">poppler_layer_is_parent</a>, function in <a class="link" href="PopplerLayer.html" title="PopplerLayer">PopplerLayer</a>
+<a class="link" href="PopplerLayer.html#poppler-layer-is-parent" title="poppler_layer_is_parent ()">poppler_layer_is_parent</a>, function in <a class="link" href="PopplerLayer.html" title="PopplerLayer">PopplerLayer</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerLayer.html#poppler-layer-is-visible" title="poppler_layer_is_visible ()">poppler_layer_is_visible</a>, function in <a class="link" href="PopplerLayer.html" title="PopplerLayer">PopplerLayer</a>
+<a class="link" href="PopplerLayer.html#poppler-layer-is-visible" title="poppler_layer_is_visible ()">poppler_layer_is_visible</a>, function in <a class="link" href="PopplerLayer.html" title="PopplerLayer">PopplerLayer</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerLayer.html#poppler-layer-show" title="poppler_layer_show ()">poppler_layer_show</a>, function in <a class="link" href="PopplerLayer.html" title="PopplerLayer">PopplerLayer</a>
+<a class="link" href="PopplerLayer.html#poppler-layer-show" title="poppler_layer_show ()">poppler_layer_show</a>, function in <a class="link" href="PopplerLayer.html" title="PopplerLayer">PopplerLayer</a>
</dt>
<dd></dd>
<dt>
@@ -1018,15 +1095,15 @@
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerPage.html#poppler-link-mapping-copy" title="poppler_link_mapping_copy ()">poppler_link_mapping_copy</a>, function in <a class="link" href="PopplerPage.html" title="PopplerPage">PopplerPage</a>
+<a class="link" href="PopplerPage.html#poppler-link-mapping-copy" title="poppler_link_mapping_copy ()">poppler_link_mapping_copy</a>, function in <a class="link" href="PopplerPage.html" title="PopplerPage">PopplerPage</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerPage.html#poppler-link-mapping-free" title="poppler_link_mapping_free ()">poppler_link_mapping_free</a>, function in <a class="link" href="PopplerPage.html" title="PopplerPage">PopplerPage</a>
+<a class="link" href="PopplerPage.html#poppler-link-mapping-free" title="poppler_link_mapping_free ()">poppler_link_mapping_free</a>, function in <a class="link" href="PopplerPage.html" title="PopplerPage">PopplerPage</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerPage.html#poppler-link-mapping-new" title="poppler_link_mapping_new ()">poppler_link_mapping_new</a>, function in <a class="link" href="PopplerPage.html" title="PopplerPage">PopplerPage</a>
+<a class="link" href="PopplerPage.html#poppler-link-mapping-new" title="poppler_link_mapping_new ()">poppler_link_mapping_new</a>, function in <a class="link" href="PopplerPage.html" title="PopplerPage">PopplerPage</a>
</dt>
<dd></dd>
<a name="idxM"></a><h3 class="title">M</h3>
@@ -1039,27 +1116,27 @@
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerMedia.html#PopplerMediaSaveFunc" title="PopplerMediaSaveFunc ()">PopplerMediaSaveFunc</a>, user_function in <a class="link" href="PopplerMedia.html" title="PopplerMedia">PopplerMedia</a>
+<a class="link" href="PopplerMedia.html#PopplerMediaSaveFunc" title="PopplerMediaSaveFunc ()">PopplerMediaSaveFunc</a>, user_function in <a class="link" href="PopplerMedia.html" title="PopplerMedia">PopplerMedia</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerMedia.html#poppler-media-get-filename" title="poppler_media_get_filename ()">poppler_media_get_filename</a>, function in <a class="link" href="PopplerMedia.html" title="PopplerMedia">PopplerMedia</a>
+<a class="link" href="PopplerMedia.html#poppler-media-get-filename" title="poppler_media_get_filename ()">poppler_media_get_filename</a>, function in <a class="link" href="PopplerMedia.html" title="PopplerMedia">PopplerMedia</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerMedia.html#poppler-media-get-mime-type" title="poppler_media_get_mime_type ()">poppler_media_get_mime_type</a>, function in <a class="link" href="PopplerMedia.html" title="PopplerMedia">PopplerMedia</a>
+<a class="link" href="PopplerMedia.html#poppler-media-get-mime-type" title="poppler_media_get_mime_type ()">poppler_media_get_mime_type</a>, function in <a class="link" href="PopplerMedia.html" title="PopplerMedia">PopplerMedia</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerMedia.html#poppler-media-is-embedded" title="poppler_media_is_embedded ()">poppler_media_is_embedded</a>, function in <a class="link" href="PopplerMedia.html" title="PopplerMedia">PopplerMedia</a>
+<a class="link" href="PopplerMedia.html#poppler-media-is-embedded" title="poppler_media_is_embedded ()">poppler_media_is_embedded</a>, function in <a class="link" href="PopplerMedia.html" title="PopplerMedia">PopplerMedia</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerMedia.html#poppler-media-save" title="poppler_media_save ()">poppler_media_save</a>, function in <a class="link" href="PopplerMedia.html" title="PopplerMedia">PopplerMedia</a>
+<a class="link" href="PopplerMedia.html#poppler-media-save" title="poppler_media_save ()">poppler_media_save</a>, function in <a class="link" href="PopplerMedia.html" title="PopplerMedia">PopplerMedia</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerMedia.html#poppler-media-save-to-callback" title="poppler_media_save_to_callback ()">poppler_media_save_to_callback</a>, function in <a class="link" href="PopplerMedia.html" title="PopplerMedia">PopplerMedia</a>
+<a class="link" href="PopplerMedia.html#poppler-media-save-to-callback" title="poppler_media_save_to_callback ()">poppler_media_save_to_callback</a>, function in <a class="link" href="PopplerMedia.html" title="PopplerMedia">PopplerMedia</a>
</dt>
<dd></dd>
<dt>
@@ -1075,15 +1152,15 @@
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerMovie.html#poppler-movie-get-filename" title="poppler_movie_get_filename ()">poppler_movie_get_filename</a>, function in <a class="link" href="PopplerMovie.html" title="PopplerMovie">PopplerMovie</a>
+<a class="link" href="PopplerMovie.html#poppler-movie-get-filename" title="poppler_movie_get_filename ()">poppler_movie_get_filename</a>, function in <a class="link" href="PopplerMovie.html" title="PopplerMovie">PopplerMovie</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerMovie.html#poppler-movie-need-poster" title="poppler_movie_need_poster ()">poppler_movie_need_poster</a>, function in <a class="link" href="PopplerMovie.html" title="PopplerMovie">PopplerMovie</a>
+<a class="link" href="PopplerMovie.html#poppler-movie-need-poster" title="poppler_movie_need_poster ()">poppler_movie_need_poster</a>, function in <a class="link" href="PopplerMovie.html" title="PopplerMovie">PopplerMovie</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerMovie.html#poppler-movie-show-controls" title="poppler_movie_show_controls ()">poppler_movie_show_controls</a>, function in <a class="link" href="PopplerMovie.html" title="PopplerMovie">PopplerMovie</a>
+<a class="link" href="PopplerMovie.html#poppler-movie-show-controls" title="poppler_movie_show_controls ()">poppler_movie_show_controls</a>, function in <a class="link" href="PopplerMovie.html" title="PopplerMovie">PopplerMovie</a>
</dt>
<dd></dd>
<a name="idxO"></a><h3 class="title">O</h3>
@@ -1097,7 +1174,7 @@
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerPage.html#PopplerPage--label" title='The "label" property'>PopplerPage:label</a>, object property in <a class="link" href="PopplerPage.html" title="PopplerPage">PopplerPage</a>
+<a class="link" href="PopplerPage.html#PopplerPage--label" title="The “label†property">PopplerPage:label</a>, object property in <a class="link" href="PopplerPage.html" title="PopplerPage">PopplerPage</a>
</dt>
<dd></dd>
<dt>
@@ -1125,151 +1202,163 @@
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerPage.html#poppler-page-add-annot" title="poppler_page_add_annot ()">poppler_page_add_annot</a>, function in <a class="link" href="PopplerPage.html" title="PopplerPage">PopplerPage</a>
+<a class="link" href="PopplerPage.html#poppler-page-add-annot" title="poppler_page_add_annot ()">poppler_page_add_annot</a>, function in <a class="link" href="PopplerPage.html" title="PopplerPage">PopplerPage</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="PopplerPage.html#poppler-page-find-text" title="poppler_page_find_text ()">poppler_page_find_text</a>, function in <a class="link" href="PopplerPage.html" title="PopplerPage">PopplerPage</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="PopplerPage.html#poppler-page-find-text-with-options" title="poppler_page_find_text_with_options ()">poppler_page_find_text_with_options</a>, function in <a class="link" href="PopplerPage.html" title="PopplerPage">PopplerPage</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="PopplerPage.html#poppler-page-free-annot-mapping" title="poppler_page_free_annot_mapping ()">poppler_page_free_annot_mapping</a>, function in <a class="link" href="PopplerPage.html" title="PopplerPage">PopplerPage</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerPage.html#poppler-page-find-text" title="poppler_page_find_text ()">poppler_page_find_text</a>, function in <a class="link" href="PopplerPage.html" title="PopplerPage">PopplerPage</a>
+<a class="link" href="PopplerPage.html#poppler-page-free-form-field-mapping" title="poppler_page_free_form_field_mapping ()">poppler_page_free_form_field_mapping</a>, function in <a class="link" href="PopplerPage.html" title="PopplerPage">PopplerPage</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerPage.html#poppler-page-find-text-with-options" title="poppler_page_find_text_with_options ()">poppler_page_find_text_with_options</a>, function in <a class="link" href="PopplerPage.html" title="PopplerPage">PopplerPage</a>
+<a class="link" href="PopplerPage.html#poppler-page-free-image-mapping" title="poppler_page_free_image_mapping ()">poppler_page_free_image_mapping</a>, function in <a class="link" href="PopplerPage.html" title="PopplerPage">PopplerPage</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerPage.html#poppler-page-free-annot-mapping" title="poppler_page_free_annot_mapping ()">poppler_page_free_annot_mapping</a>, function in <a class="link" href="PopplerPage.html" title="PopplerPage">PopplerPage</a>
+<a class="link" href="PopplerPage.html#poppler-page-free-link-mapping" title="poppler_page_free_link_mapping ()">poppler_page_free_link_mapping</a>, function in <a class="link" href="PopplerPage.html" title="PopplerPage">PopplerPage</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerPage.html#poppler-page-free-form-field-mapping" title="poppler_page_free_form_field_mapping ()">poppler_page_free_form_field_mapping</a>, function in <a class="link" href="PopplerPage.html" title="PopplerPage">PopplerPage</a>
+<a class="link" href="PopplerPage.html#poppler-page-free-text-attributes" title="poppler_page_free_text_attributes ()">poppler_page_free_text_attributes</a>, function in <a class="link" href="PopplerPage.html" title="PopplerPage">PopplerPage</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerPage.html#poppler-page-free-image-mapping" title="poppler_page_free_image_mapping ()">poppler_page_free_image_mapping</a>, function in <a class="link" href="PopplerPage.html" title="PopplerPage">PopplerPage</a>
+<a class="link" href="PopplerPage.html#poppler-page-get-annot-mapping" title="poppler_page_get_annot_mapping ()">poppler_page_get_annot_mapping</a>, function in <a class="link" href="PopplerPage.html" title="PopplerPage">PopplerPage</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerPage.html#poppler-page-free-link-mapping" title="poppler_page_free_link_mapping ()">poppler_page_free_link_mapping</a>, function in <a class="link" href="PopplerPage.html" title="PopplerPage">PopplerPage</a>
+<a class="link" href="PopplerPage.html#poppler-page-get-crop-box" title="poppler_page_get_crop_box ()">poppler_page_get_crop_box</a>, function in <a class="link" href="PopplerPage.html" title="PopplerPage">PopplerPage</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerPage.html#poppler-page-free-text-attributes" title="poppler_page_free_text_attributes ()">poppler_page_free_text_attributes</a>, function in <a class="link" href="PopplerPage.html" title="PopplerPage">PopplerPage</a>
+<a class="link" href="PopplerPage.html#poppler-page-get-duration" title="poppler_page_get_duration ()">poppler_page_get_duration</a>, function in <a class="link" href="PopplerPage.html" title="PopplerPage">PopplerPage</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerPage.html#poppler-page-get-annot-mapping" title="poppler_page_get_annot_mapping ()">poppler_page_get_annot_mapping</a>, function in <a class="link" href="PopplerPage.html" title="PopplerPage">PopplerPage</a>
+<a class="link" href="PopplerPage.html#poppler-page-get-form-field-mapping" title="poppler_page_get_form_field_mapping ()">poppler_page_get_form_field_mapping</a>, function in <a class="link" href="PopplerPage.html" title="PopplerPage">PopplerPage</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerPage.html#poppler-page-get-crop-box" title="poppler_page_get_crop_box ()">poppler_page_get_crop_box</a>, function in <a class="link" href="PopplerPage.html" title="PopplerPage">PopplerPage</a>
+<a class="link" href="PopplerPage.html#poppler-page-get-image" title="poppler_page_get_image ()">poppler_page_get_image</a>, function in <a class="link" href="PopplerPage.html" title="PopplerPage">PopplerPage</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerPage.html#poppler-page-get-duration" title="poppler_page_get_duration ()">poppler_page_get_duration</a>, function in <a class="link" href="PopplerPage.html" title="PopplerPage">PopplerPage</a>
+<a class="link" href="PopplerPage.html#poppler-page-get-image-mapping" title="poppler_page_get_image_mapping ()">poppler_page_get_image_mapping</a>, function in <a class="link" href="PopplerPage.html" title="PopplerPage">PopplerPage</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerPage.html#poppler-page-get-form-field-mapping" title="poppler_page_get_form_field_mapping ()">poppler_page_get_form_field_mapping</a>, function in <a class="link" href="PopplerPage.html" title="PopplerPage">PopplerPage</a>
+<a class="link" href="PopplerPage.html#poppler-page-get-index" title="poppler_page_get_index ()">poppler_page_get_index</a>, function in <a class="link" href="PopplerPage.html" title="PopplerPage">PopplerPage</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerPage.html#poppler-page-get-image" title="poppler_page_get_image ()">poppler_page_get_image</a>, function in <a class="link" href="PopplerPage.html" title="PopplerPage">PopplerPage</a>
+<a class="link" href="PopplerPage.html#poppler-page-get-label" title="poppler_page_get_label ()">poppler_page_get_label</a>, function in <a class="link" href="PopplerPage.html" title="PopplerPage">PopplerPage</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerPage.html#poppler-page-get-image-mapping" title="poppler_page_get_image_mapping ()">poppler_page_get_image_mapping</a>, function in <a class="link" href="PopplerPage.html" title="PopplerPage">PopplerPage</a>
+<a class="link" href="PopplerPage.html#poppler-page-get-link-mapping" title="poppler_page_get_link_mapping ()">poppler_page_get_link_mapping</a>, function in <a class="link" href="PopplerPage.html" title="PopplerPage">PopplerPage</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerPage.html#poppler-page-get-index" title="poppler_page_get_index ()">poppler_page_get_index</a>, function in <a class="link" href="PopplerPage.html" title="PopplerPage">PopplerPage</a>
+<a class="link" href="PopplerPage.html#poppler-page-get-selected-region" title="poppler_page_get_selected_region ()">poppler_page_get_selected_region</a>, function in <a class="link" href="PopplerPage.html" title="PopplerPage">PopplerPage</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerPage.html#poppler-page-get-label" title="poppler_page_get_label ()">poppler_page_get_label</a>, function in <a class="link" href="PopplerPage.html" title="PopplerPage">PopplerPage</a>
+<a class="link" href="PopplerPage.html#poppler-page-get-selected-text" title="poppler_page_get_selected_text ()">poppler_page_get_selected_text</a>, function in <a class="link" href="PopplerPage.html" title="PopplerPage">PopplerPage</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerPage.html#poppler-page-get-link-mapping" title="poppler_page_get_link_mapping ()">poppler_page_get_link_mapping</a>, function in <a class="link" href="PopplerPage.html" title="PopplerPage">PopplerPage</a>
+<a class="link" href="PopplerPage.html#poppler-page-get-selection-region" title="poppler_page_get_selection_region ()">poppler_page_get_selection_region</a>, function in <a class="link" href="PopplerPage.html" title="PopplerPage">PopplerPage</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerPage.html#poppler-page-get-selected-region" title="poppler_page_get_selected_region ()">poppler_page_get_selected_region</a>, function in <a class="link" href="PopplerPage.html" title="PopplerPage">PopplerPage</a>
+<a class="link" href="PopplerPage.html#poppler-page-get-size" title="poppler_page_get_size ()">poppler_page_get_size</a>, function in <a class="link" href="PopplerPage.html" title="PopplerPage">PopplerPage</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerPage.html#poppler-page-get-selected-text" title="poppler_page_get_selected_text ()">poppler_page_get_selected_text</a>, function in <a class="link" href="PopplerPage.html" title="PopplerPage">PopplerPage</a>
+<a class="link" href="PopplerPage.html#poppler-page-get-text" title="poppler_page_get_text ()">poppler_page_get_text</a>, function in <a class="link" href="PopplerPage.html" title="PopplerPage">PopplerPage</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerPage.html#poppler-page-get-selection-region" title="poppler_page_get_selection_region ()">poppler_page_get_selection_region</a>, function in <a class="link" href="PopplerPage.html" title="PopplerPage">PopplerPage</a>
+<a class="link" href="PopplerPage.html#poppler-page-get-text-attributes" title="poppler_page_get_text_attributes ()">poppler_page_get_text_attributes</a>, function in <a class="link" href="PopplerPage.html" title="PopplerPage">PopplerPage</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerPage.html#poppler-page-get-size" title="poppler_page_get_size ()">poppler_page_get_size</a>, function in <a class="link" href="PopplerPage.html" title="PopplerPage">PopplerPage</a>
+<a class="link" href="PopplerPage.html#poppler-page-get-text-attributes-for-area" title="poppler_page_get_text_attributes_for_area ()">poppler_page_get_text_attributes_for_area</a>, function in <a class="link" href="PopplerPage.html" title="PopplerPage">PopplerPage</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerPage.html#poppler-page-get-text" title="poppler_page_get_text ()">poppler_page_get_text</a>, function in <a class="link" href="PopplerPage.html" title="PopplerPage">PopplerPage</a>
+<a class="link" href="PopplerPage.html#poppler-page-get-text-for-area" title="poppler_page_get_text_for_area ()">poppler_page_get_text_for_area</a>, function in <a class="link" href="PopplerPage.html" title="PopplerPage">PopplerPage</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerPage.html#poppler-page-get-text-attributes" title="poppler_page_get_text_attributes ()">poppler_page_get_text_attributes</a>, function in <a class="link" href="PopplerPage.html" title="PopplerPage">PopplerPage</a>
+<a class="link" href="PopplerPage.html#poppler-page-get-text-layout" title="poppler_page_get_text_layout ()">poppler_page_get_text_layout</a>, function in <a class="link" href="PopplerPage.html" title="PopplerPage">PopplerPage</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerPage.html#poppler-page-get-text-layout" title="poppler_page_get_text_layout ()">poppler_page_get_text_layout</a>, function in <a class="link" href="PopplerPage.html" title="PopplerPage">PopplerPage</a>
+<a class="link" href="PopplerPage.html#poppler-page-get-text-layout-for-area" title="poppler_page_get_text_layout_for_area ()">poppler_page_get_text_layout_for_area</a>, function in <a class="link" href="PopplerPage.html" title="PopplerPage">PopplerPage</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerPage.html#poppler-page-get-thumbnail" title="poppler_page_get_thumbnail ()">poppler_page_get_thumbnail</a>, function in <a class="link" href="PopplerPage.html" title="PopplerPage">PopplerPage</a>
+<a class="link" href="PopplerPage.html#poppler-page-get-thumbnail" title="poppler_page_get_thumbnail ()">poppler_page_get_thumbnail</a>, function in <a class="link" href="PopplerPage.html" title="PopplerPage">PopplerPage</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerPage.html#poppler-page-get-thumbnail-size" title="poppler_page_get_thumbnail_size ()">poppler_page_get_thumbnail_size</a>, function in <a class="link" href="PopplerPage.html" title="PopplerPage">PopplerPage</a>
+<a class="link" href="PopplerPage.html#poppler-page-get-thumbnail-size" title="poppler_page_get_thumbnail_size ()">poppler_page_get_thumbnail_size</a>, function in <a class="link" href="PopplerPage.html" title="PopplerPage">PopplerPage</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerPage.html#poppler-page-get-transition" title="poppler_page_get_transition ()">poppler_page_get_transition</a>, function in <a class="link" href="PopplerPage.html" title="PopplerPage">PopplerPage</a>
+<a class="link" href="PopplerPage.html#poppler-page-get-transition" title="poppler_page_get_transition ()">poppler_page_get_transition</a>, function in <a class="link" href="PopplerPage.html" title="PopplerPage">PopplerPage</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerPage.html#poppler-page-remove-annot" title="poppler_page_remove_annot ()">poppler_page_remove_annot</a>, function in <a class="link" href="PopplerPage.html" title="PopplerPage">PopplerPage</a>
+<a class="link" href="PopplerPage.html#poppler-page-remove-annot" title="poppler_page_remove_annot ()">poppler_page_remove_annot</a>, function in <a class="link" href="PopplerPage.html" title="PopplerPage">PopplerPage</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerPage.html#poppler-page-render" title="poppler_page_render ()">poppler_page_render</a>, function in <a class="link" href="PopplerPage.html" title="PopplerPage">PopplerPage</a>
+<a class="link" href="PopplerPage.html#poppler-page-render" title="poppler_page_render ()">poppler_page_render</a>, function in <a class="link" href="PopplerPage.html" title="PopplerPage">PopplerPage</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerPage.html#poppler-page-render-for-printing" title="poppler_page_render_for_printing ()">poppler_page_render_for_printing</a>, function in <a class="link" href="PopplerPage.html" title="PopplerPage">PopplerPage</a>
+<a class="link" href="PopplerPage.html#poppler-page-render-for-printing" title="poppler_page_render_for_printing ()">poppler_page_render_for_printing</a>, function in <a class="link" href="PopplerPage.html" title="PopplerPage">PopplerPage</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerPage.html#poppler-page-render-for-printing-with-options" title="poppler_page_render_for_printing_with_options ()">poppler_page_render_for_printing_with_options</a>, function in <a class="link" href="PopplerPage.html" title="PopplerPage">PopplerPage</a>
+<a class="link" href="PopplerPage.html#poppler-page-render-for-printing-with-options" title="poppler_page_render_for_printing_with_options ()">poppler_page_render_for_printing_with_options</a>, function in <a class="link" href="PopplerPage.html" title="PopplerPage">PopplerPage</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerPage.html#poppler-page-render-selection" title="poppler_page_render_selection ()">poppler_page_render_selection</a>, function in <a class="link" href="PopplerPage.html" title="PopplerPage">PopplerPage</a>
+<a class="link" href="PopplerPage.html#poppler-page-render-selection" title="poppler_page_render_selection ()">poppler_page_render_selection</a>, function in <a class="link" href="PopplerPage.html" title="PopplerPage">PopplerPage</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerPage.html#poppler-page-render-to-ps" title="poppler_page_render_to_ps ()">poppler_page_render_to_ps</a>, function in <a class="link" href="PopplerPage.html" title="PopplerPage">PopplerPage</a>
+<a class="link" href="PopplerPage.html#poppler-page-render-to-ps" title="poppler_page_render_to_ps ()">poppler_page_render_to_ps</a>, function in <a class="link" href="PopplerPage.html" title="PopplerPage">PopplerPage</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerPage.html#poppler-page-selection-region-free" title="poppler_page_selection_region_free ()">poppler_page_selection_region_free</a>, function in <a class="link" href="PopplerPage.html" title="PopplerPage">PopplerPage</a>
+<a class="link" href="PopplerPage.html#poppler-page-selection-region-free" title="poppler_page_selection_region_free ()">poppler_page_selection_region_free</a>, function in <a class="link" href="PopplerPage.html" title="PopplerPage">PopplerPage</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerPage.html#poppler-page-transition-copy" title="poppler_page_transition_copy ()">poppler_page_transition_copy</a>, function in <a class="link" href="PopplerPage.html" title="PopplerPage">PopplerPage</a>
+<a class="link" href="PopplerPage.html#poppler-page-transition-copy" title="poppler_page_transition_copy ()">poppler_page_transition_copy</a>, function in <a class="link" href="PopplerPage.html" title="PopplerPage">PopplerPage</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerPage.html#poppler-page-transition-free" title="poppler_page_transition_free ()">poppler_page_transition_free</a>, function in <a class="link" href="PopplerPage.html" title="PopplerPage">PopplerPage</a>
+<a class="link" href="PopplerPage.html#poppler-page-transition-free" title="poppler_page_transition_free ()">poppler_page_transition_free</a>, function in <a class="link" href="PopplerPage.html" title="PopplerPage">PopplerPage</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerPage.html#poppler-page-transition-new" title="poppler_page_transition_new ()">poppler_page_transition_new</a>, function in <a class="link" href="PopplerPage.html" title="PopplerPage">PopplerPage</a>
+<a class="link" href="PopplerPage.html#poppler-page-transition-new" title="poppler_page_transition_new ()">poppler_page_transition_new</a>, function in <a class="link" href="PopplerPage.html" title="PopplerPage">PopplerPage</a>
</dt>
<dd></dd>
<dt>
@@ -1277,6 +1366,26 @@
</dt>
<dd></dd>
<dt>
+<a class="link" href="PopplerAnnot.html#PopplerPoint" title="PopplerPoint">PopplerPoint</a>, struct in <a class="link" href="PopplerAnnot.html" title="PopplerAnnot">PopplerAnnot</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="PopplerAnnot.html#poppler-point-copy" title="poppler_point_copy ()">poppler_point_copy</a>, function in <a class="link" href="PopplerAnnot.html" title="PopplerAnnot">PopplerAnnot</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="PopplerAnnot.html#poppler-point-free" title="poppler_point_free ()">poppler_point_free</a>, function in <a class="link" href="PopplerAnnot.html" title="PopplerAnnot">PopplerAnnot</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="PopplerAnnot.html#poppler-point-get-type" title="poppler_point_get_type ()">poppler_point_get_type</a>, function in <a class="link" href="PopplerAnnot.html" title="PopplerAnnot">PopplerAnnot</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="PopplerAnnot.html#poppler-point-new" title="poppler_point_new ()">poppler_point_new</a>, function in <a class="link" href="PopplerAnnot.html" title="PopplerAnnot">PopplerAnnot</a>
+</dt>
+<dd></dd>
+<dt>
<a class="link" href="poppler-poppler.html#PopplerPrintFlags" title="enum PopplerPrintFlags">PopplerPrintFlags</a>, enum in <a class="link" href="poppler-poppler.html" title="poppler">poppler</a>
</dt>
<dd></dd>
@@ -1285,19 +1394,40 @@
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerDocument.html#poppler-ps-file-free" title="poppler_ps_file_free ()">poppler_ps_file_free</a>, function in <a class="link" href="PopplerDocument.html" title="PopplerDocument">PopplerDocument</a>
+<a class="link" href="PopplerDocument.html#poppler-ps-file-free" title="poppler_ps_file_free ()">poppler_ps_file_free</a>, function in <a class="link" href="PopplerDocument.html" title="PopplerDocument">PopplerDocument</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="PopplerDocument.html#poppler-ps-file-new" title="poppler_ps_file_new ()">poppler_ps_file_new</a>, function in <a class="link" href="PopplerDocument.html" title="PopplerDocument">PopplerDocument</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="PopplerDocument.html#poppler-ps-file-set-duplex" title="poppler_ps_file_set_duplex ()">poppler_ps_file_set_duplex</a>, function in <a class="link" href="PopplerDocument.html" title="PopplerDocument">PopplerDocument</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="PopplerDocument.html#poppler-ps-file-set-paper-size" title="poppler_ps_file_set_paper_size ()">poppler_ps_file_set_paper_size</a>, function in <a class="link" href="PopplerDocument.html" title="PopplerDocument">PopplerDocument</a>
+</dt>
+<dd></dd>
+<a name="idxQ"></a><h3 class="title">Q</h3>
+<dt>
+<a class="link" href="PopplerAnnot.html#PopplerQuadrilateral" title="PopplerQuadrilateral">PopplerQuadrilateral</a>, struct in <a class="link" href="PopplerAnnot.html" title="PopplerAnnot">PopplerAnnot</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="PopplerAnnot.html#poppler-quadrilateral-copy" title="poppler_quadrilateral_copy ()">poppler_quadrilateral_copy</a>, function in <a class="link" href="PopplerAnnot.html" title="PopplerAnnot">PopplerAnnot</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerDocument.html#poppler-ps-file-new" title="poppler_ps_file_new ()">poppler_ps_file_new</a>, function in <a class="link" href="PopplerDocument.html" title="PopplerDocument">PopplerDocument</a>
+<a class="link" href="PopplerAnnot.html#poppler-quadrilateral-free" title="poppler_quadrilateral_free ()">poppler_quadrilateral_free</a>, function in <a class="link" href="PopplerAnnot.html" title="PopplerAnnot">PopplerAnnot</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerDocument.html#poppler-ps-file-set-duplex" title="poppler_ps_file_set_duplex ()">poppler_ps_file_set_duplex</a>, function in <a class="link" href="PopplerDocument.html" title="PopplerDocument">PopplerDocument</a>
+<a class="link" href="PopplerAnnot.html#poppler-quadrilateral-get-type" title="poppler_quadrilateral_get_type ()">poppler_quadrilateral_get_type</a>, function in <a class="link" href="PopplerAnnot.html" title="PopplerAnnot">PopplerAnnot</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerDocument.html#poppler-ps-file-set-paper-size" title="poppler_ps_file_set_paper_size ()">poppler_ps_file_set_paper_size</a>, function in <a class="link" href="PopplerDocument.html" title="PopplerDocument">PopplerDocument</a>
+<a class="link" href="PopplerAnnot.html#poppler-quadrilateral-new" title="poppler_quadrilateral_new ()">poppler_quadrilateral_new</a>, function in <a class="link" href="PopplerAnnot.html" title="PopplerAnnot">PopplerAnnot</a>
</dt>
<dd></dd>
<a name="idxR"></a><h3 class="title">R</h3>
@@ -1306,15 +1436,15 @@
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerPage.html#poppler-rectangle-copy" title="poppler_rectangle_copy ()">poppler_rectangle_copy</a>, function in <a class="link" href="PopplerPage.html" title="PopplerPage">PopplerPage</a>
+<a class="link" href="PopplerPage.html#poppler-rectangle-copy" title="poppler_rectangle_copy ()">poppler_rectangle_copy</a>, function in <a class="link" href="PopplerPage.html" title="PopplerPage">PopplerPage</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerPage.html#poppler-rectangle-free" title="poppler_rectangle_free ()">poppler_rectangle_free</a>, function in <a class="link" href="PopplerPage.html" title="PopplerPage">PopplerPage</a>
+<a class="link" href="PopplerPage.html#poppler-rectangle-free" title="poppler_rectangle_free ()">poppler_rectangle_free</a>, function in <a class="link" href="PopplerPage.html" title="PopplerPage">PopplerPage</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerPage.html#poppler-rectangle-new" title="poppler_rectangle_new ()">poppler_rectangle_new</a>, function in <a class="link" href="PopplerPage.html" title="PopplerPage">PopplerPage</a>
+<a class="link" href="PopplerPage.html#poppler-rectangle-new" title="poppler_rectangle_new ()">poppler_rectangle_new</a>, function in <a class="link" href="PopplerPage.html" title="PopplerPage">PopplerPage</a>
</dt>
<dd></dd>
<a name="idxS"></a><h3 class="title">S</h3>
@@ -1322,21 +1452,373 @@
<a class="link" href="PopplerPage.html#PopplerSelectionStyle" title="enum PopplerSelectionStyle">PopplerSelectionStyle</a>, enum in <a class="link" href="PopplerPage.html" title="PopplerPage">PopplerPage</a>
</dt>
<dd></dd>
+<dt>
+<a class="link" href="PopplerStructureElement.html#PopplerStructureBlockAlign" title="enum PopplerStructureBlockAlign">PopplerStructureBlockAlign</a>, enum in <a class="link" href="PopplerStructureElement.html" title="PopplerStructureElement">PopplerStructureElement</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="PopplerStructureElement.html#PopplerStructureBorderStyle" title="enum PopplerStructureBorderStyle">PopplerStructureBorderStyle</a>, enum in <a class="link" href="PopplerStructureElement.html" title="PopplerStructureElement">PopplerStructureElement</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="PopplerStructureElement.html#PopplerStructureElement-struct" title="PopplerStructureElement">PopplerStructureElement</a>, struct in <a class="link" href="PopplerStructureElement.html" title="PopplerStructureElement">PopplerStructureElement</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="PopplerStructureElement.html#PopplerStructureElementIter-struct" title="PopplerStructureElementIter">PopplerStructureElementIter</a>, struct in <a class="link" href="PopplerStructureElement.html" title="PopplerStructureElement">PopplerStructureElement</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="PopplerStructureElement.html#PopplerStructureElementKind" title="enum PopplerStructureElementKind">PopplerStructureElementKind</a>, enum in <a class="link" href="PopplerStructureElement.html" title="PopplerStructureElement">PopplerStructureElement</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="PopplerStructureElement.html#PopplerStructureFormRole" title="enum PopplerStructureFormRole">PopplerStructureFormRole</a>, enum in <a class="link" href="PopplerStructureElement.html" title="PopplerStructureElement">PopplerStructureElement</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="PopplerStructureElement.html#PopplerStructureFormState" title="enum PopplerStructureFormState">PopplerStructureFormState</a>, enum in <a class="link" href="PopplerStructureElement.html" title="PopplerStructureElement">PopplerStructureElement</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="PopplerStructureElement.html#PopplerStructureGetTextFlags" title="enum PopplerStructureGetTextFlags">PopplerStructureGetTextFlags</a>, enum in <a class="link" href="PopplerStructureElement.html" title="PopplerStructureElement">PopplerStructureElement</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="PopplerStructureElement.html#PopplerStructureGlyphOrientation" title="enum PopplerStructureGlyphOrientation">PopplerStructureGlyphOrientation</a>, enum in <a class="link" href="PopplerStructureElement.html" title="PopplerStructureElement">PopplerStructureElement</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="PopplerStructureElement.html#PopplerStructureInlineAlign" title="enum PopplerStructureInlineAlign">PopplerStructureInlineAlign</a>, enum in <a class="link" href="PopplerStructureElement.html" title="PopplerStructureElement">PopplerStructureElement</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="PopplerStructureElement.html#PopplerStructureListNumbering" title="enum PopplerStructureListNumbering">PopplerStructureListNumbering</a>, enum in <a class="link" href="PopplerStructureElement.html" title="PopplerStructureElement">PopplerStructureElement</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="PopplerStructureElement.html#PopplerStructurePlacement" title="enum PopplerStructurePlacement">PopplerStructurePlacement</a>, enum in <a class="link" href="PopplerStructureElement.html" title="PopplerStructureElement">PopplerStructureElement</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="PopplerStructureElement.html#PopplerStructureRubyAlign" title="enum PopplerStructureRubyAlign">PopplerStructureRubyAlign</a>, enum in <a class="link" href="PopplerStructureElement.html" title="PopplerStructureElement">PopplerStructureElement</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="PopplerStructureElement.html#PopplerStructureRubyPosition" title="enum PopplerStructureRubyPosition">PopplerStructureRubyPosition</a>, enum in <a class="link" href="PopplerStructureElement.html" title="PopplerStructureElement">PopplerStructureElement</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="PopplerStructureElement.html#PopplerStructureTableScope" title="enum PopplerStructureTableScope">PopplerStructureTableScope</a>, enum in <a class="link" href="PopplerStructureElement.html" title="PopplerStructureElement">PopplerStructureElement</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="PopplerStructureElement.html#PopplerStructureTextAlign" title="enum PopplerStructureTextAlign">PopplerStructureTextAlign</a>, enum in <a class="link" href="PopplerStructureElement.html" title="PopplerStructureElement">PopplerStructureElement</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="PopplerStructureElement.html#PopplerStructureTextDecoration" title="enum PopplerStructureTextDecoration">PopplerStructureTextDecoration</a>, enum in <a class="link" href="PopplerStructureElement.html" title="PopplerStructureElement">PopplerStructureElement</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="PopplerStructureElement.html#PopplerStructureWritingMode" title="enum PopplerStructureWritingMode">PopplerStructureWritingMode</a>, enum in <a class="link" href="PopplerStructureElement.html" title="PopplerStructureElement">PopplerStructureElement</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="PopplerStructureElement.html#poppler-structure-element-get-abbreviation" title="poppler_structure_element_get_abbreviation ()">poppler_structure_element_get_abbreviation</a>, function in <a class="link" href="PopplerStructureElement.html" title="PopplerStructureElement">PopplerStructureElement</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="PopplerStructureElement.html#poppler-structure-element-get-actual-text" title="poppler_structure_element_get_actual_text ()">poppler_structure_element_get_actual_text</a>, function in <a class="link" href="PopplerStructureElement.html" title="PopplerStructureElement">PopplerStructureElement</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="PopplerStructureElement.html#poppler-structure-element-get-alt-text" title="poppler_structure_element_get_alt_text ()">poppler_structure_element_get_alt_text</a>, function in <a class="link" href="PopplerStructureElement.html" title="PopplerStructureElement">PopplerStructureElement</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="PopplerStructureElement.html#poppler-structure-element-get-background-color" title="poppler_structure_element_get_background_color ()">poppler_structure_element_get_background_color</a>, function in <a class="link" href="PopplerStructureElement.html" title="PopplerStructureElement">PopplerStructureElement</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="PopplerStructureElement.html#poppler-structure-element-get-baseline-shift" title="poppler_structure_element_get_baseline_shift ()">poppler_structure_element_get_baseline_shift</a>, function in <a class="link" href="PopplerStructureElement.html" title="PopplerStructureElement">PopplerStructureElement</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="PopplerStructureElement.html#poppler-structure-element-get-block-align" title="poppler_structure_element_get_block_align ()">poppler_structure_element_get_block_align</a>, function in <a class="link" href="PopplerStructureElement.html" title="PopplerStructureElement">PopplerStructureElement</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="PopplerStructureElement.html#poppler-structure-element-get-border-color" title="poppler_structure_element_get_border_color ()">poppler_structure_element_get_border_color</a>, function in <a class="link" href="PopplerStructureElement.html" title="PopplerStructureElement">PopplerStructureElement</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="PopplerStructureElement.html#poppler-structure-element-get-border-style" title="poppler_structure_element_get_border_style ()">poppler_structure_element_get_border_style</a>, function in <a class="link" href="PopplerStructureElement.html" title="PopplerStructureElement">PopplerStructureElement</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="PopplerStructureElement.html#poppler-structure-element-get-border-thickness" title="poppler_structure_element_get_border_thickness ()">poppler_structure_element_get_border_thickness</a>, function in <a class="link" href="PopplerStructureElement.html" title="PopplerStructureElement">PopplerStructureElement</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="PopplerStructureElement.html#poppler-structure-element-get-bounding-box" title="poppler_structure_element_get_bounding_box ()">poppler_structure_element_get_bounding_box</a>, function in <a class="link" href="PopplerStructureElement.html" title="PopplerStructureElement">PopplerStructureElement</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="PopplerStructureElement.html#poppler-structure-element-get-color" title="poppler_structure_element_get_color ()">poppler_structure_element_get_color</a>, function in <a class="link" href="PopplerStructureElement.html" title="PopplerStructureElement">PopplerStructureElement</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="PopplerStructureElement.html#poppler-structure-element-get-column-count" title="poppler_structure_element_get_column_count ()">poppler_structure_element_get_column_count</a>, function in <a class="link" href="PopplerStructureElement.html" title="PopplerStructureElement">PopplerStructureElement</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="PopplerStructureElement.html#poppler-structure-element-get-column-gaps" title="poppler_structure_element_get_column_gaps ()">poppler_structure_element_get_column_gaps</a>, function in <a class="link" href="PopplerStructureElement.html" title="PopplerStructureElement">PopplerStructureElement</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="PopplerStructureElement.html#poppler-structure-element-get-column-widths" title="poppler_structure_element_get_column_widths ()">poppler_structure_element_get_column_widths</a>, function in <a class="link" href="PopplerStructureElement.html" title="PopplerStructureElement">PopplerStructureElement</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="PopplerStructureElement.html#poppler-structure-element-get-end-indent" title="poppler_structure_element_get_end_indent ()">poppler_structure_element_get_end_indent</a>, function in <a class="link" href="PopplerStructureElement.html" title="PopplerStructureElement">PopplerStructureElement</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="PopplerStructureElement.html#poppler-structure-element-get-form-description" title="poppler_structure_element_get_form_description ()">poppler_structure_element_get_form_description</a>, function in <a class="link" href="PopplerStructureElement.html" title="PopplerStructureElement">PopplerStructureElement</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="PopplerStructureElement.html#poppler-structure-element-get-form-role" title="poppler_structure_element_get_form_role ()">poppler_structure_element_get_form_role</a>, function in <a class="link" href="PopplerStructureElement.html" title="PopplerStructureElement">PopplerStructureElement</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="PopplerStructureElement.html#poppler-structure-element-get-form-state" title="poppler_structure_element_get_form_state ()">poppler_structure_element_get_form_state</a>, function in <a class="link" href="PopplerStructureElement.html" title="PopplerStructureElement">PopplerStructureElement</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="PopplerStructureElement.html#poppler-structure-element-get-glyph-orientation" title="poppler_structure_element_get_glyph_orientation ()">poppler_structure_element_get_glyph_orientation</a>, function in <a class="link" href="PopplerStructureElement.html" title="PopplerStructureElement">PopplerStructureElement</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="PopplerStructureElement.html#poppler-structure-element-get-height" title="poppler_structure_element_get_height ()">poppler_structure_element_get_height</a>, function in <a class="link" href="PopplerStructureElement.html" title="PopplerStructureElement">PopplerStructureElement</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="PopplerStructureElement.html#poppler-structure-element-get-id" title="poppler_structure_element_get_id ()">poppler_structure_element_get_id</a>, function in <a class="link" href="PopplerStructureElement.html" title="PopplerStructureElement">PopplerStructureElement</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="PopplerStructureElement.html#poppler-structure-element-get-inline-align" title="poppler_structure_element_get_inline_align ()">poppler_structure_element_get_inline_align</a>, function in <a class="link" href="PopplerStructureElement.html" title="PopplerStructureElement">PopplerStructureElement</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="PopplerStructureElement.html#poppler-structure-element-get-kind" title="poppler_structure_element_get_kind ()">poppler_structure_element_get_kind</a>, function in <a class="link" href="PopplerStructureElement.html" title="PopplerStructureElement">PopplerStructureElement</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="PopplerStructureElement.html#poppler-structure-element-get-language" title="poppler_structure_element_get_language ()">poppler_structure_element_get_language</a>, function in <a class="link" href="PopplerStructureElement.html" title="PopplerStructureElement">PopplerStructureElement</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="PopplerStructureElement.html#poppler-structure-element-get-line-height" title="poppler_structure_element_get_line_height ()">poppler_structure_element_get_line_height</a>, function in <a class="link" href="PopplerStructureElement.html" title="PopplerStructureElement">PopplerStructureElement</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="PopplerStructureElement.html#poppler-structure-element-get-list-numbering" title="poppler_structure_element_get_list_numbering ()">poppler_structure_element_get_list_numbering</a>, function in <a class="link" href="PopplerStructureElement.html" title="PopplerStructureElement">PopplerStructureElement</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="PopplerStructureElement.html#poppler-structure-element-get-padding" title="poppler_structure_element_get_padding ()">poppler_structure_element_get_padding</a>, function in <a class="link" href="PopplerStructureElement.html" title="PopplerStructureElement">PopplerStructureElement</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="PopplerStructureElement.html#poppler-structure-element-get-page" title="poppler_structure_element_get_page ()">poppler_structure_element_get_page</a>, function in <a class="link" href="PopplerStructureElement.html" title="PopplerStructureElement">PopplerStructureElement</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="PopplerStructureElement.html#poppler-structure-element-get-placement" title="poppler_structure_element_get_placement ()">poppler_structure_element_get_placement</a>, function in <a class="link" href="PopplerStructureElement.html" title="PopplerStructureElement">PopplerStructureElement</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="PopplerStructureElement.html#poppler-structure-element-get-ruby-align" title="poppler_structure_element_get_ruby_align ()">poppler_structure_element_get_ruby_align</a>, function in <a class="link" href="PopplerStructureElement.html" title="PopplerStructureElement">PopplerStructureElement</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="PopplerStructureElement.html#poppler-structure-element-get-ruby-position" title="poppler_structure_element_get_ruby_position ()">poppler_structure_element_get_ruby_position</a>, function in <a class="link" href="PopplerStructureElement.html" title="PopplerStructureElement">PopplerStructureElement</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="PopplerStructureElement.html#poppler-structure-element-get-space-after" title="poppler_structure_element_get_space_after ()">poppler_structure_element_get_space_after</a>, function in <a class="link" href="PopplerStructureElement.html" title="PopplerStructureElement">PopplerStructureElement</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="PopplerStructureElement.html#poppler-structure-element-get-space-before" title="poppler_structure_element_get_space_before ()">poppler_structure_element_get_space_before</a>, function in <a class="link" href="PopplerStructureElement.html" title="PopplerStructureElement">PopplerStructureElement</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="PopplerStructureElement.html#poppler-structure-element-get-start-indent" title="poppler_structure_element_get_start_indent ()">poppler_structure_element_get_start_indent</a>, function in <a class="link" href="PopplerStructureElement.html" title="PopplerStructureElement">PopplerStructureElement</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="PopplerStructureElement.html#poppler-structure-element-get-table-border-style" title="poppler_structure_element_get_table_border_style ()">poppler_structure_element_get_table_border_style</a>, function in <a class="link" href="PopplerStructureElement.html" title="PopplerStructureElement">PopplerStructureElement</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="PopplerStructureElement.html#poppler-structure-element-get-table-column-span" title="poppler_structure_element_get_table_column_span ()">poppler_structure_element_get_table_column_span</a>, function in <a class="link" href="PopplerStructureElement.html" title="PopplerStructureElement">PopplerStructureElement</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="PopplerStructureElement.html#poppler-structure-element-get-table-headers" title="poppler_structure_element_get_table_headers ()">poppler_structure_element_get_table_headers</a>, function in <a class="link" href="PopplerStructureElement.html" title="PopplerStructureElement">PopplerStructureElement</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="PopplerStructureElement.html#poppler-structure-element-get-table-padding" title="poppler_structure_element_get_table_padding ()">poppler_structure_element_get_table_padding</a>, function in <a class="link" href="PopplerStructureElement.html" title="PopplerStructureElement">PopplerStructureElement</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="PopplerStructureElement.html#poppler-structure-element-get-table-row-span" title="poppler_structure_element_get_table_row_span ()">poppler_structure_element_get_table_row_span</a>, function in <a class="link" href="PopplerStructureElement.html" title="PopplerStructureElement">PopplerStructureElement</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="PopplerStructureElement.html#poppler-structure-element-get-table-scope" title="poppler_structure_element_get_table_scope ()">poppler_structure_element_get_table_scope</a>, function in <a class="link" href="PopplerStructureElement.html" title="PopplerStructureElement">PopplerStructureElement</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="PopplerStructureElement.html#poppler-structure-element-get-table-summary" title="poppler_structure_element_get_table_summary ()">poppler_structure_element_get_table_summary</a>, function in <a class="link" href="PopplerStructureElement.html" title="PopplerStructureElement">PopplerStructureElement</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="PopplerStructureElement.html#poppler-structure-element-get-text" title="poppler_structure_element_get_text ()">poppler_structure_element_get_text</a>, function in <a class="link" href="PopplerStructureElement.html" title="PopplerStructureElement">PopplerStructureElement</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="PopplerStructureElement.html#poppler-structure-element-get-text-align" title="poppler_structure_element_get_text_align ()">poppler_structure_element_get_text_align</a>, function in <a class="link" href="PopplerStructureElement.html" title="PopplerStructureElement">PopplerStructureElement</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="PopplerStructureElement.html#poppler-structure-element-get-text-decoration-color" title="poppler_structure_element_get_text_decoration_color ()">poppler_structure_element_get_text_decoration_color</a>, function in <a class="link" href="PopplerStructureElement.html" title="PopplerStructureElement">PopplerStructureElement</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="PopplerStructureElement.html#poppler-structure-element-get-text-decoration-thickness" title="poppler_structure_element_get_text_decoration_thickness ()">poppler_structure_element_get_text_decoration_thickness</a>, function in <a class="link" href="PopplerStructureElement.html" title="PopplerStructureElement">PopplerStructureElement</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="PopplerStructureElement.html#poppler-structure-element-get-text-decoration-type" title="poppler_structure_element_get_text_decoration_type ()">poppler_structure_element_get_text_decoration_type</a>, function in <a class="link" href="PopplerStructureElement.html" title="PopplerStructureElement">PopplerStructureElement</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="PopplerStructureElement.html#poppler-structure-element-get-text-indent" title="poppler_structure_element_get_text_indent ()">poppler_structure_element_get_text_indent</a>, function in <a class="link" href="PopplerStructureElement.html" title="PopplerStructureElement">PopplerStructureElement</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="PopplerStructureElement.html#poppler-structure-element-get-text-spans" title="poppler_structure_element_get_text_spans ()">poppler_structure_element_get_text_spans</a>, function in <a class="link" href="PopplerStructureElement.html" title="PopplerStructureElement">PopplerStructureElement</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="PopplerStructureElement.html#poppler-structure-element-get-title" title="poppler_structure_element_get_title ()">poppler_structure_element_get_title</a>, function in <a class="link" href="PopplerStructureElement.html" title="PopplerStructureElement">PopplerStructureElement</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="PopplerStructureElement.html#poppler-structure-element-get-width" title="poppler_structure_element_get_width ()">poppler_structure_element_get_width</a>, function in <a class="link" href="PopplerStructureElement.html" title="PopplerStructureElement">PopplerStructureElement</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="PopplerStructureElement.html#poppler-structure-element-get-writing-mode" title="poppler_structure_element_get_writing_mode ()">poppler_structure_element_get_writing_mode</a>, function in <a class="link" href="PopplerStructureElement.html" title="PopplerStructureElement">PopplerStructureElement</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="PopplerStructureElement.html#poppler-structure-element-is-block" title="poppler_structure_element_is_block ()">poppler_structure_element_is_block</a>, function in <a class="link" href="PopplerStructureElement.html" title="PopplerStructureElement">PopplerStructureElement</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="PopplerStructureElement.html#poppler-structure-element-is-content" title="poppler_structure_element_is_content ()">poppler_structure_element_is_content</a>, function in <a class="link" href="PopplerStructureElement.html" title="PopplerStructureElement">PopplerStructureElement</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="PopplerStructureElement.html#poppler-structure-element-is-grouping" title="poppler_structure_element_is_grouping ()">poppler_structure_element_is_grouping</a>, function in <a class="link" href="PopplerStructureElement.html" title="PopplerStructureElement">PopplerStructureElement</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="PopplerStructureElement.html#poppler-structure-element-is-inline" title="poppler_structure_element_is_inline ()">poppler_structure_element_is_inline</a>, function in <a class="link" href="PopplerStructureElement.html" title="PopplerStructureElement">PopplerStructureElement</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="PopplerStructureElement.html#poppler-structure-element-iter-copy" title="poppler_structure_element_iter_copy ()">poppler_structure_element_iter_copy</a>, function in <a class="link" href="PopplerStructureElement.html" title="PopplerStructureElement">PopplerStructureElement</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="PopplerStructureElement.html#poppler-structure-element-iter-free" title="poppler_structure_element_iter_free ()">poppler_structure_element_iter_free</a>, function in <a class="link" href="PopplerStructureElement.html" title="PopplerStructureElement">PopplerStructureElement</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="PopplerStructureElement.html#poppler-structure-element-iter-get-child" title="poppler_structure_element_iter_get_child ()">poppler_structure_element_iter_get_child</a>, function in <a class="link" href="PopplerStructureElement.html" title="PopplerStructureElement">PopplerStructureElement</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="PopplerStructureElement.html#poppler-structure-element-iter-get-element" title="poppler_structure_element_iter_get_element ()">poppler_structure_element_iter_get_element</a>, function in <a class="link" href="PopplerStructureElement.html" title="PopplerStructureElement">PopplerStructureElement</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="PopplerStructureElement.html#poppler-structure-element-iter-new" title="poppler_structure_element_iter_new ()">poppler_structure_element_iter_new</a>, function in <a class="link" href="PopplerStructureElement.html" title="PopplerStructureElement">PopplerStructureElement</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="PopplerStructureElement.html#poppler-structure-element-iter-next" title="poppler_structure_element_iter_next ()">poppler_structure_element_iter_next</a>, function in <a class="link" href="PopplerStructureElement.html" title="PopplerStructureElement">PopplerStructureElement</a>
+</dt>
+<dd></dd>
<a name="idxT"></a><h3 class="title">T</h3>
<dt>
<a class="link" href="PopplerPage.html#PopplerTextAttributes" title="PopplerTextAttributes">PopplerTextAttributes</a>, struct in <a class="link" href="PopplerPage.html" title="PopplerPage">PopplerPage</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerPage.html#poppler-text-attributes-copy" title="poppler_text_attributes_copy ()">poppler_text_attributes_copy</a>, function in <a class="link" href="PopplerPage.html" title="PopplerPage">PopplerPage</a>
+<a class="link" href="PopplerStructureElement.html#PopplerTextSpan" title="PopplerTextSpan">PopplerTextSpan</a>, struct in <a class="link" href="PopplerStructureElement.html" title="PopplerStructureElement">PopplerStructureElement</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="PopplerPage.html#poppler-text-attributes-copy" title="poppler_text_attributes_copy ()">poppler_text_attributes_copy</a>, function in <a class="link" href="PopplerPage.html" title="PopplerPage">PopplerPage</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="PopplerPage.html#poppler-text-attributes-free" title="poppler_text_attributes_free ()">poppler_text_attributes_free</a>, function in <a class="link" href="PopplerPage.html" title="PopplerPage">PopplerPage</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="PopplerPage.html#poppler-text-attributes-new" title="poppler_text_attributes_new ()">poppler_text_attributes_new</a>, function in <a class="link" href="PopplerPage.html" title="PopplerPage">PopplerPage</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="PopplerStructureElement.html#poppler-text-span-copy" title="poppler_text_span_copy ()">poppler_text_span_copy</a>, function in <a class="link" href="PopplerStructureElement.html" title="PopplerStructureElement">PopplerStructureElement</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="PopplerStructureElement.html#poppler-text-span-free" title="poppler_text_span_free ()">poppler_text_span_free</a>, function in <a class="link" href="PopplerStructureElement.html" title="PopplerStructureElement">PopplerStructureElement</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="PopplerStructureElement.html#poppler-text-span-get-color" title="poppler_text_span_get_color ()">poppler_text_span_get_color</a>, function in <a class="link" href="PopplerStructureElement.html" title="PopplerStructureElement">PopplerStructureElement</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="PopplerStructureElement.html#poppler-text-span-get-font-name" title="poppler_text_span_get_font_name ()">poppler_text_span_get_font_name</a>, function in <a class="link" href="PopplerStructureElement.html" title="PopplerStructureElement">PopplerStructureElement</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="PopplerStructureElement.html#poppler-text-span-get-text" title="poppler_text_span_get_text ()">poppler_text_span_get_text</a>, function in <a class="link" href="PopplerStructureElement.html" title="PopplerStructureElement">PopplerStructureElement</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="PopplerStructureElement.html#poppler-text-span-is-bold-font" title="poppler_text_span_is_bold_font ()">poppler_text_span_is_bold_font</a>, function in <a class="link" href="PopplerStructureElement.html" title="PopplerStructureElement">PopplerStructureElement</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerPage.html#poppler-text-attributes-free" title="poppler_text_attributes_free ()">poppler_text_attributes_free</a>, function in <a class="link" href="PopplerPage.html" title="PopplerPage">PopplerPage</a>
+<a class="link" href="PopplerStructureElement.html#poppler-text-span-is-fixed-width-font" title="poppler_text_span_is_fixed_width_font ()">poppler_text_span_is_fixed_width_font</a>, function in <a class="link" href="PopplerStructureElement.html" title="PopplerStructureElement">PopplerStructureElement</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="PopplerPage.html#poppler-text-attributes-new" title="poppler_text_attributes_new ()">poppler_text_attributes_new</a>, function in <a class="link" href="PopplerPage.html" title="PopplerPage">PopplerPage</a>
+<a class="link" href="PopplerStructureElement.html#poppler-text-span-is-serif-font" title="poppler_text_span_is_serif_font ()">poppler_text_span_is_serif_font</a>, function in <a class="link" href="PopplerStructureElement.html" title="PopplerStructureElement">PopplerStructureElement</a>
</dt>
<dd></dd>
<a name="idxV"></a><h3 class="title">V</h3>
@@ -1347,6 +1829,6 @@
</div>
<div class="footer">
<hr>
- Generated by GTK-Doc V1.19</div>
+ Generated by GTK-Doc V1.21</div>
</body>
</html> \ No newline at end of file
diff --git a/glib/reference/html/ch01.html b/glib/reference/html/ch01.html
index 60823310..c926787f 100644
--- a/glib/reference/html/ch01.html
+++ b/glib/reference/html/ch01.html
@@ -2,22 +2,22 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Poppler</title>
+<title>Poppler Reference Manual: Poppler</title>
<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<link rel="home" href="index.html" title="Poppler Reference Manual">
<link rel="up" href="index.html" title="Poppler Reference Manual">
<link rel="prev" href="index.html" title="Poppler Reference Manual">
<link rel="next" href="poppler-poppler.html" title="poppler">
-<meta name="generator" content="GTK-Doc V1.19 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
-<td><a accesskey="p" href="index.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
-<td> </td>
-<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
-<th width="100%" align="center">Poppler Reference Manual</th>
-<td><a accesskey="n" href="poppler-poppler.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts"></td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><img src="up-insensitive.png" width="16" height="16" border="0"></td>
+<td><a accesskey="p" href="index.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="poppler-poppler.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
</tr></table>
<div class="chapter">
<div class="titlepage"><div><div><h1 class="title">
@@ -54,12 +54,15 @@
<span class="refentrytitle"><a href="PopplerMovie.html">PopplerMovie</a></span><span class="refpurpose"> — Movies</span>
</dt>
<dt>
+<span class="refentrytitle"><a href="PopplerStructureElement.html">PopplerStructureElement</a></span><span class="refpurpose"> — Document structure element.</span>
+</dt>
+<dt>
<span class="refentrytitle"><a href="poppler-Version-and-Features-Information.html">Version and Features Information</a></span><span class="refpurpose"> — Variables and functions to check the poppler version and features</span>
</dt>
</dl></div>
</div>
<div class="footer">
<hr>
- Generated by GTK-Doc V1.19</div>
+ Generated by GTK-Doc V1.21</div>
</body>
</html> \ No newline at end of file
diff --git a/glib/reference/html/home.png b/glib/reference/html/home.png
index 8e5eee46..28c2e27c 100644
--- a/glib/reference/html/home.png
+++ b/glib/reference/html/home.png
Binary files differ
diff --git a/glib/reference/html/index.html b/glib/reference/html/index.html
index 49eb1950..a9186c6c 100644
--- a/glib/reference/html/index.html
+++ b/glib/reference/html/index.html
@@ -2,11 +2,11 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Poppler Reference Manual</title>
+<title>Poppler Reference Manual: Poppler Reference Manual</title>
<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<link rel="home" href="index.html" title="Poppler Reference Manual">
<link rel="next" href="ch01.html" title="Poppler">
-<meta name="generator" content="GTK-Doc V1.19 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -15,7 +15,7 @@
<div>
<div><table class="navigation" id="top" width="100%" cellpadding="2" cellspacing="0"><tr><th valign="middle"><p class="title">Poppler Reference Manual</p></th></tr></table></div>
<div><p class="releaseinfo">
- for Poppler 0.24.1
+ for Poppler 0.26.5
</p></div>
</div>
@@ -55,6 +55,9 @@
<span class="refentrytitle"><a href="PopplerMovie.html">PopplerMovie</a></span><span class="refpurpose"> — Movies</span>
</dt>
<dt>
+<span class="refentrytitle"><a href="PopplerStructureElement.html">PopplerStructureElement</a></span><span class="refpurpose"> — Document structure element.</span>
+</dt>
+<dt>
<span class="refentrytitle"><a href="poppler-Version-and-Features-Information.html">Version and Features Information</a></span><span class="refpurpose"> — Variables and functions to check the poppler version and features</span>
</dt>
</dl></dd>
@@ -71,6 +74,6 @@
</div>
<div class="footer">
<hr>
- Generated by GTK-Doc V1.19</div>
+ Generated by GTK-Doc V1.21</div>
</body>
</html> \ No newline at end of file
diff --git a/glib/reference/html/index.sgml b/glib/reference/html/index.sgml
index 8c6a4735..7da57d8b 100644
--- a/glib/reference/html/index.sgml
+++ b/glib/reference/html/index.sgml
@@ -1,100 +1,31 @@
<ANCHOR id="poppler-poppler" href="poppler/poppler-poppler.html">
-<ANCHOR id="poppler-poppler.synopsis" href="poppler/poppler-poppler.html#poppler-poppler.synopsis">
+<ANCHOR id="poppler-poppler.functions" href="poppler/poppler-poppler.html#poppler-poppler.functions">
+<ANCHOR id="poppler-poppler.other" href="poppler/poppler-poppler.html#poppler-poppler.other">
+<ANCHOR id="poppler-poppler.includes" href="poppler/poppler-poppler.html#poppler-poppler.includes">
<ANCHOR id="poppler-poppler.description" href="poppler/poppler-poppler.html#poppler-poppler.description">
-<ANCHOR id="poppler-poppler.details" href="poppler/poppler-poppler.html#poppler-poppler.details">
+<ANCHOR id="poppler-poppler.functions_details" href="poppler/poppler-poppler.html#poppler-poppler.functions_details">
+<ANCHOR id="poppler-get-backend" href="poppler/poppler-poppler.html#poppler-get-backend">
+<ANCHOR id="poppler-get-version" href="poppler/poppler-poppler.html#poppler-get-version">
+<ANCHOR id="poppler-date-parse" href="poppler/poppler-poppler.html#poppler-date-parse">
+<ANCHOR id="poppler-color-new" href="poppler/poppler-poppler.html#poppler-color-new">
+<ANCHOR id="poppler-color-copy" href="poppler/poppler-poppler.html#poppler-color-copy">
+<ANCHOR id="poppler-color-free" href="poppler/poppler-poppler.html#poppler-color-free">
+<ANCHOR id="poppler-poppler.other_details" href="poppler/poppler-poppler.html#poppler-poppler.other_details">
<ANCHOR id="POPPLER-ERROR:CAPS" href="poppler/poppler-poppler.html#POPPLER-ERROR:CAPS">
<ANCHOR id="PopplerError" href="poppler/poppler-poppler.html#PopplerError">
-<ANCHOR id="POPPLER-ERROR-INVALID:CAPS" href="poppler/poppler-poppler.html#POPPLER-ERROR-INVALID:CAPS">
-<ANCHOR id="POPPLER-ERROR-ENCRYPTED:CAPS" href="poppler/poppler-poppler.html#POPPLER-ERROR-ENCRYPTED:CAPS">
-<ANCHOR id="POPPLER-ERROR-OPEN-FILE:CAPS" href="poppler/poppler-poppler.html#POPPLER-ERROR-OPEN-FILE:CAPS">
-<ANCHOR id="POPPLER-ERROR-BAD-CATALOG:CAPS" href="poppler/poppler-poppler.html#POPPLER-ERROR-BAD-CATALOG:CAPS">
-<ANCHOR id="POPPLER-ERROR-DAMAGED:CAPS" href="poppler/poppler-poppler.html#POPPLER-ERROR-DAMAGED:CAPS">
<ANCHOR id="PopplerOrientation" href="poppler/poppler-poppler.html#PopplerOrientation">
-<ANCHOR id="POPPLER-ORIENTATION-PORTRAIT:CAPS" href="poppler/poppler-poppler.html#POPPLER-ORIENTATION-PORTRAIT:CAPS">
-<ANCHOR id="POPPLER-ORIENTATION-LANDSCAPE:CAPS" href="poppler/poppler-poppler.html#POPPLER-ORIENTATION-LANDSCAPE:CAPS">
-<ANCHOR id="POPPLER-ORIENTATION-UPSIDEDOWN:CAPS" href="poppler/poppler-poppler.html#POPPLER-ORIENTATION-UPSIDEDOWN:CAPS">
-<ANCHOR id="POPPLER-ORIENTATION-SEASCAPE:CAPS" href="poppler/poppler-poppler.html#POPPLER-ORIENTATION-SEASCAPE:CAPS">
<ANCHOR id="PopplerBackend" href="poppler/poppler-poppler.html#PopplerBackend">
-<ANCHOR id="POPPLER-BACKEND-UNKNOWN:CAPS" href="poppler/poppler-poppler.html#POPPLER-BACKEND-UNKNOWN:CAPS">
-<ANCHOR id="POPPLER-BACKEND-SPLASH:CAPS" href="poppler/poppler-poppler.html#POPPLER-BACKEND-SPLASH:CAPS">
-<ANCHOR id="POPPLER-BACKEND-CAIRO:CAPS" href="poppler/poppler-poppler.html#POPPLER-BACKEND-CAIRO:CAPS">
<ANCHOR id="PopplerColor" href="poppler/poppler-poppler.html#PopplerColor">
<ANCHOR id="PopplerPrintFlags" href="poppler/poppler-poppler.html#PopplerPrintFlags">
-<ANCHOR id="POPPLER-PRINT-DOCUMENT:CAPS" href="poppler/poppler-poppler.html#POPPLER-PRINT-DOCUMENT:CAPS">
-<ANCHOR id="POPPLER-PRINT-MARKUP-ANNOTS:CAPS" href="poppler/poppler-poppler.html#POPPLER-PRINT-MARKUP-ANNOTS:CAPS">
-<ANCHOR id="POPPLER-PRINT-STAMP-ANNOTS-ONLY:CAPS" href="poppler/poppler-poppler.html#POPPLER-PRINT-STAMP-ANNOTS-ONLY:CAPS">
-<ANCHOR id="POPPLER-PRINT-ALL:CAPS" href="poppler/poppler-poppler.html#POPPLER-PRINT-ALL:CAPS">
<ANCHOR id="PopplerFindFlags" href="poppler/poppler-poppler.html#PopplerFindFlags">
-<ANCHOR id="POPPLER-FIND-DEFAULT:CAPS" href="poppler/poppler-poppler.html#POPPLER-FIND-DEFAULT:CAPS">
-<ANCHOR id="POPPLER-FIND-CASE-SENSITIVE:CAPS" href="poppler/poppler-poppler.html#POPPLER-FIND-CASE-SENSITIVE:CAPS">
-<ANCHOR id="POPPLER-FIND-BACKWARDS:CAPS" href="poppler/poppler-poppler.html#POPPLER-FIND-BACKWARDS:CAPS">
-<ANCHOR id="POPPLER-FIND-WHOLE-WORDS-ONLY:CAPS" href="poppler/poppler-poppler.html#POPPLER-FIND-WHOLE-WORDS-ONLY:CAPS">
-<ANCHOR id="poppler-get-backend" href="poppler/poppler-poppler.html#poppler-get-backend">
-<ANCHOR id="poppler-get-version" href="poppler/poppler-poppler.html#poppler-get-version">
-<ANCHOR id="poppler-date-parse" href="poppler/poppler-poppler.html#poppler-date-parse">
-<ANCHOR id="poppler-color-new" href="poppler/poppler-poppler.html#poppler-color-new">
-<ANCHOR id="poppler-color-copy" href="poppler/poppler-poppler.html#poppler-color-copy">
-<ANCHOR id="poppler-color-free" href="poppler/poppler-poppler.html#poppler-color-free">
<ANCHOR id="PopplerDocument" href="poppler/PopplerDocument.html">
-<ANCHOR id="PopplerDocument.synopsis" href="poppler/PopplerDocument.html#PopplerDocument.synopsis">
-<ANCHOR id="PopplerDocument.object-hierarchy" href="poppler/PopplerDocument.html#PopplerDocument.object-hierarchy">
+<ANCHOR id="PopplerDocument.functions" href="poppler/PopplerDocument.html#PopplerDocument.functions">
<ANCHOR id="PopplerDocument.properties" href="poppler/PopplerDocument.html#PopplerDocument.properties">
+<ANCHOR id="PopplerDocument.other" href="poppler/PopplerDocument.html#PopplerDocument.other">
+<ANCHOR id="PopplerDocument.object-hierarchy" href="poppler/PopplerDocument.html#PopplerDocument.object-hierarchy">
+<ANCHOR id="PopplerDocument.includes" href="poppler/PopplerDocument.html#PopplerDocument.includes">
<ANCHOR id="PopplerDocument.description" href="poppler/PopplerDocument.html#PopplerDocument.description">
-<ANCHOR id="PopplerDocument.details" href="poppler/PopplerDocument.html#PopplerDocument.details">
-<ANCHOR id="PopplerDocument-struct" href="poppler/PopplerDocument.html#PopplerDocument-struct">
-<ANCHOR id="PopplerIndexIter" href="poppler/PopplerDocument.html#PopplerIndexIter">
-<ANCHOR id="PopplerFontsIter" href="poppler/PopplerDocument.html#PopplerFontsIter">
-<ANCHOR id="PopplerLayersIter" href="poppler/PopplerDocument.html#PopplerLayersIter">
-<ANCHOR id="PopplerPageLayout" href="poppler/PopplerDocument.html#PopplerPageLayout">
-<ANCHOR id="POPPLER-PAGE-LAYOUT-UNSET:CAPS" href="poppler/PopplerDocument.html#POPPLER-PAGE-LAYOUT-UNSET:CAPS">
-<ANCHOR id="POPPLER-PAGE-LAYOUT-SINGLE-PAGE:CAPS" href="poppler/PopplerDocument.html#POPPLER-PAGE-LAYOUT-SINGLE-PAGE:CAPS">
-<ANCHOR id="POPPLER-PAGE-LAYOUT-ONE-COLUMN:CAPS" href="poppler/PopplerDocument.html#POPPLER-PAGE-LAYOUT-ONE-COLUMN:CAPS">
-<ANCHOR id="POPPLER-PAGE-LAYOUT-TWO-COLUMN-LEFT:CAPS" href="poppler/PopplerDocument.html#POPPLER-PAGE-LAYOUT-TWO-COLUMN-LEFT:CAPS">
-<ANCHOR id="POPPLER-PAGE-LAYOUT-TWO-COLUMN-RIGHT:CAPS" href="poppler/PopplerDocument.html#POPPLER-PAGE-LAYOUT-TWO-COLUMN-RIGHT:CAPS">
-<ANCHOR id="POPPLER-PAGE-LAYOUT-TWO-PAGE-LEFT:CAPS" href="poppler/PopplerDocument.html#POPPLER-PAGE-LAYOUT-TWO-PAGE-LEFT:CAPS">
-<ANCHOR id="POPPLER-PAGE-LAYOUT-TWO-PAGE-RIGHT:CAPS" href="poppler/PopplerDocument.html#POPPLER-PAGE-LAYOUT-TWO-PAGE-RIGHT:CAPS">
-<ANCHOR id="PopplerPageMode" href="poppler/PopplerDocument.html#PopplerPageMode">
-<ANCHOR id="POPPLER-PAGE-MODE-UNSET:CAPS" href="poppler/PopplerDocument.html#POPPLER-PAGE-MODE-UNSET:CAPS">
-<ANCHOR id="POPPLER-PAGE-MODE-NONE:CAPS" href="poppler/PopplerDocument.html#POPPLER-PAGE-MODE-NONE:CAPS">
-<ANCHOR id="POPPLER-PAGE-MODE-USE-OUTLINES:CAPS" href="poppler/PopplerDocument.html#POPPLER-PAGE-MODE-USE-OUTLINES:CAPS">
-<ANCHOR id="POPPLER-PAGE-MODE-USE-THUMBS:CAPS" href="poppler/PopplerDocument.html#POPPLER-PAGE-MODE-USE-THUMBS:CAPS">
-<ANCHOR id="POPPLER-PAGE-MODE-FULL-SCREEN:CAPS" href="poppler/PopplerDocument.html#POPPLER-PAGE-MODE-FULL-SCREEN:CAPS">
-<ANCHOR id="POPPLER-PAGE-MODE-USE-OC:CAPS" href="poppler/PopplerDocument.html#POPPLER-PAGE-MODE-USE-OC:CAPS">
-<ANCHOR id="POPPLER-PAGE-MODE-USE-ATTACHMENTS:CAPS" href="poppler/PopplerDocument.html#POPPLER-PAGE-MODE-USE-ATTACHMENTS:CAPS">
-<ANCHOR id="PopplerFontInfo" href="poppler/PopplerDocument.html#PopplerFontInfo">
-<ANCHOR id="PopplerFontType" href="poppler/PopplerDocument.html#PopplerFontType">
-<ANCHOR id="POPPLER-FONT-TYPE-UNKNOWN:CAPS" href="poppler/PopplerDocument.html#POPPLER-FONT-TYPE-UNKNOWN:CAPS">
-<ANCHOR id="POPPLER-FONT-TYPE-TYPE1:CAPS" href="poppler/PopplerDocument.html#POPPLER-FONT-TYPE-TYPE1:CAPS">
-<ANCHOR id="POPPLER-FONT-TYPE-TYPE1C:CAPS" href="poppler/PopplerDocument.html#POPPLER-FONT-TYPE-TYPE1C:CAPS">
-<ANCHOR id="POPPLER-FONT-TYPE-TYPE1COT:CAPS" href="poppler/PopplerDocument.html#POPPLER-FONT-TYPE-TYPE1COT:CAPS">
-<ANCHOR id="POPPLER-FONT-TYPE-TYPE3:CAPS" href="poppler/PopplerDocument.html#POPPLER-FONT-TYPE-TYPE3:CAPS">
-<ANCHOR id="POPPLER-FONT-TYPE-TRUETYPE:CAPS" href="poppler/PopplerDocument.html#POPPLER-FONT-TYPE-TRUETYPE:CAPS">
-<ANCHOR id="POPPLER-FONT-TYPE-TRUETYPEOT:CAPS" href="poppler/PopplerDocument.html#POPPLER-FONT-TYPE-TRUETYPEOT:CAPS">
-<ANCHOR id="POPPLER-FONT-TYPE-CID-TYPE0:CAPS" href="poppler/PopplerDocument.html#POPPLER-FONT-TYPE-CID-TYPE0:CAPS">
-<ANCHOR id="POPPLER-FONT-TYPE-CID-TYPE0C:CAPS" href="poppler/PopplerDocument.html#POPPLER-FONT-TYPE-CID-TYPE0C:CAPS">
-<ANCHOR id="POPPLER-FONT-TYPE-CID-TYPE0COT:CAPS" href="poppler/PopplerDocument.html#POPPLER-FONT-TYPE-CID-TYPE0COT:CAPS">
-<ANCHOR id="POPPLER-FONT-TYPE-CID-TYPE2:CAPS" href="poppler/PopplerDocument.html#POPPLER-FONT-TYPE-CID-TYPE2:CAPS">
-<ANCHOR id="POPPLER-FONT-TYPE-CID-TYPE2OT:CAPS" href="poppler/PopplerDocument.html#POPPLER-FONT-TYPE-CID-TYPE2OT:CAPS">
-<ANCHOR id="PopplerPSFile" href="poppler/PopplerDocument.html#PopplerPSFile">
-<ANCHOR id="PopplerViewerPreferences" href="poppler/PopplerDocument.html#PopplerViewerPreferences">
-<ANCHOR id="POPPLER-VIEWER-PREFERENCES-UNSET:CAPS" href="poppler/PopplerDocument.html#POPPLER-VIEWER-PREFERENCES-UNSET:CAPS">
-<ANCHOR id="POPPLER-VIEWER-PREFERENCES-HIDE-TOOLBAR:CAPS" href="poppler/PopplerDocument.html#POPPLER-VIEWER-PREFERENCES-HIDE-TOOLBAR:CAPS">
-<ANCHOR id="POPPLER-VIEWER-PREFERENCES-HIDE-MENUBAR:CAPS" href="poppler/PopplerDocument.html#POPPLER-VIEWER-PREFERENCES-HIDE-MENUBAR:CAPS">
-<ANCHOR id="POPPLER-VIEWER-PREFERENCES-HIDE-WINDOWUI:CAPS" href="poppler/PopplerDocument.html#POPPLER-VIEWER-PREFERENCES-HIDE-WINDOWUI:CAPS">
-<ANCHOR id="POPPLER-VIEWER-PREFERENCES-FIT-WINDOW:CAPS" href="poppler/PopplerDocument.html#POPPLER-VIEWER-PREFERENCES-FIT-WINDOW:CAPS">
-<ANCHOR id="POPPLER-VIEWER-PREFERENCES-CENTER-WINDOW:CAPS" href="poppler/PopplerDocument.html#POPPLER-VIEWER-PREFERENCES-CENTER-WINDOW:CAPS">
-<ANCHOR id="POPPLER-VIEWER-PREFERENCES-DISPLAY-DOC-TITLE:CAPS" href="poppler/PopplerDocument.html#POPPLER-VIEWER-PREFERENCES-DISPLAY-DOC-TITLE:CAPS">
-<ANCHOR id="POPPLER-VIEWER-PREFERENCES-DIRECTION-RTL:CAPS" href="poppler/PopplerDocument.html#POPPLER-VIEWER-PREFERENCES-DIRECTION-RTL:CAPS">
-<ANCHOR id="PopplerPermissions" href="poppler/PopplerDocument.html#PopplerPermissions">
-<ANCHOR id="POPPLER-PERMISSIONS-OK-TO-PRINT:CAPS" href="poppler/PopplerDocument.html#POPPLER-PERMISSIONS-OK-TO-PRINT:CAPS">
-<ANCHOR id="POPPLER-PERMISSIONS-OK-TO-MODIFY:CAPS" href="poppler/PopplerDocument.html#POPPLER-PERMISSIONS-OK-TO-MODIFY:CAPS">
-<ANCHOR id="POPPLER-PERMISSIONS-OK-TO-COPY:CAPS" href="poppler/PopplerDocument.html#POPPLER-PERMISSIONS-OK-TO-COPY:CAPS">
-<ANCHOR id="POPPLER-PERMISSIONS-OK-TO-ADD-NOTES:CAPS" href="poppler/PopplerDocument.html#POPPLER-PERMISSIONS-OK-TO-ADD-NOTES:CAPS">
-<ANCHOR id="POPPLER-PERMISSIONS-OK-TO-FILL-FORM:CAPS" href="poppler/PopplerDocument.html#POPPLER-PERMISSIONS-OK-TO-FILL-FORM:CAPS">
-<ANCHOR id="POPPLER-PERMISSIONS-OK-TO-EXTRACT-CONTENTS:CAPS" href="poppler/PopplerDocument.html#POPPLER-PERMISSIONS-OK-TO-EXTRACT-CONTENTS:CAPS">
-<ANCHOR id="POPPLER-PERMISSIONS-OK-TO-ASSEMBLE:CAPS" href="poppler/PopplerDocument.html#POPPLER-PERMISSIONS-OK-TO-ASSEMBLE:CAPS">
-<ANCHOR id="POPPLER-PERMISSIONS-OK-TO-PRINT-HIGH-RESOLUTION:CAPS" href="poppler/PopplerDocument.html#POPPLER-PERMISSIONS-OK-TO-PRINT-HIGH-RESOLUTION:CAPS">
-<ANCHOR id="POPPLER-PERMISSIONS-FULL:CAPS" href="poppler/PopplerDocument.html#POPPLER-PERMISSIONS-FULL:CAPS">
+<ANCHOR id="PopplerDocument.functions_details" href="poppler/PopplerDocument.html#PopplerDocument.functions_details">
<ANCHOR id="poppler-document-new-from-file" href="poppler/PopplerDocument.html#poppler-document-new-from-file">
<ANCHOR id="poppler-document-new-from-data" href="poppler/PopplerDocument.html#poppler-document-new-from-data">
<ANCHOR id="poppler-document-new-from-stream" href="poppler/PopplerDocument.html#poppler-document-new-from-stream">
@@ -157,6 +88,18 @@
<ANCHOR id="poppler-ps-file-free" href="poppler/PopplerDocument.html#poppler-ps-file-free">
<ANCHOR id="poppler-ps-file-set-paper-size" href="poppler/PopplerDocument.html#poppler-ps-file-set-paper-size">
<ANCHOR id="poppler-ps-file-set-duplex" href="poppler/PopplerDocument.html#poppler-ps-file-set-duplex">
+<ANCHOR id="PopplerDocument.other_details" href="poppler/PopplerDocument.html#PopplerDocument.other_details">
+<ANCHOR id="PopplerDocument-struct" href="poppler/PopplerDocument.html#PopplerDocument-struct">
+<ANCHOR id="PopplerIndexIter" href="poppler/PopplerDocument.html#PopplerIndexIter">
+<ANCHOR id="PopplerFontsIter" href="poppler/PopplerDocument.html#PopplerFontsIter">
+<ANCHOR id="PopplerLayersIter" href="poppler/PopplerDocument.html#PopplerLayersIter">
+<ANCHOR id="PopplerPageLayout" href="poppler/PopplerDocument.html#PopplerPageLayout">
+<ANCHOR id="PopplerPageMode" href="poppler/PopplerDocument.html#PopplerPageMode">
+<ANCHOR id="PopplerFontInfo" href="poppler/PopplerDocument.html#PopplerFontInfo">
+<ANCHOR id="PopplerFontType" href="poppler/PopplerDocument.html#PopplerFontType">
+<ANCHOR id="PopplerPSFile" href="poppler/PopplerDocument.html#PopplerPSFile">
+<ANCHOR id="PopplerViewerPreferences" href="poppler/PopplerDocument.html#PopplerViewerPreferences">
+<ANCHOR id="PopplerPermissions" href="poppler/PopplerDocument.html#PopplerPermissions">
<ANCHOR id="PopplerDocument.property-details" href="poppler/PopplerDocument.html#PopplerDocument.property-details">
<ANCHOR id="PopplerDocument--author" href="poppler/PopplerDocument.html#PopplerDocument--author">
<ANCHOR id="PopplerDocument--creation-date" href="poppler/PopplerDocument.html#PopplerDocument--creation-date">
@@ -176,42 +119,13 @@
<ANCHOR id="PopplerDocument--title" href="poppler/PopplerDocument.html#PopplerDocument--title">
<ANCHOR id="PopplerDocument--viewer-preferences" href="poppler/PopplerDocument.html#PopplerDocument--viewer-preferences">
<ANCHOR id="PopplerPage" href="poppler/PopplerPage.html">
-<ANCHOR id="PopplerPage.synopsis" href="poppler/PopplerPage.html#PopplerPage.synopsis">
-<ANCHOR id="PopplerPage.object-hierarchy" href="poppler/PopplerPage.html#PopplerPage.object-hierarchy">
+<ANCHOR id="PopplerPage.functions" href="poppler/PopplerPage.html#PopplerPage.functions">
<ANCHOR id="PopplerPage.properties" href="poppler/PopplerPage.html#PopplerPage.properties">
+<ANCHOR id="PopplerPage.other" href="poppler/PopplerPage.html#PopplerPage.other">
+<ANCHOR id="PopplerPage.object-hierarchy" href="poppler/PopplerPage.html#PopplerPage.object-hierarchy">
+<ANCHOR id="PopplerPage.includes" href="poppler/PopplerPage.html#PopplerPage.includes">
<ANCHOR id="PopplerPage.description" href="poppler/PopplerPage.html#PopplerPage.description">
-<ANCHOR id="PopplerPage.details" href="poppler/PopplerPage.html#PopplerPage.details">
-<ANCHOR id="PopplerPage-struct" href="poppler/PopplerPage.html#PopplerPage-struct">
-<ANCHOR id="PopplerRectangle" href="poppler/PopplerPage.html#PopplerRectangle">
-<ANCHOR id="PopplerPageTransition" href="poppler/PopplerPage.html#PopplerPageTransition">
-<ANCHOR id="PopplerLinkMapping" href="poppler/PopplerPage.html#PopplerLinkMapping">
-<ANCHOR id="PopplerImageMapping" href="poppler/PopplerPage.html#PopplerImageMapping">
-<ANCHOR id="PopplerFormFieldMapping" href="poppler/PopplerPage.html#PopplerFormFieldMapping">
-<ANCHOR id="PopplerAnnotMapping" href="poppler/PopplerPage.html#PopplerAnnotMapping">
-<ANCHOR id="PopplerPageTransitionType" href="poppler/PopplerPage.html#PopplerPageTransitionType">
-<ANCHOR id="POPPLER-PAGE-TRANSITION-REPLACE:CAPS" href="poppler/PopplerPage.html#POPPLER-PAGE-TRANSITION-REPLACE:CAPS">
-<ANCHOR id="POPPLER-PAGE-TRANSITION-SPLIT:CAPS" href="poppler/PopplerPage.html#POPPLER-PAGE-TRANSITION-SPLIT:CAPS">
-<ANCHOR id="POPPLER-PAGE-TRANSITION-BLINDS:CAPS" href="poppler/PopplerPage.html#POPPLER-PAGE-TRANSITION-BLINDS:CAPS">
-<ANCHOR id="POPPLER-PAGE-TRANSITION-BOX:CAPS" href="poppler/PopplerPage.html#POPPLER-PAGE-TRANSITION-BOX:CAPS">
-<ANCHOR id="POPPLER-PAGE-TRANSITION-WIPE:CAPS" href="poppler/PopplerPage.html#POPPLER-PAGE-TRANSITION-WIPE:CAPS">
-<ANCHOR id="POPPLER-PAGE-TRANSITION-DISSOLVE:CAPS" href="poppler/PopplerPage.html#POPPLER-PAGE-TRANSITION-DISSOLVE:CAPS">
-<ANCHOR id="POPPLER-PAGE-TRANSITION-GLITTER:CAPS" href="poppler/PopplerPage.html#POPPLER-PAGE-TRANSITION-GLITTER:CAPS">
-<ANCHOR id="POPPLER-PAGE-TRANSITION-FLY:CAPS" href="poppler/PopplerPage.html#POPPLER-PAGE-TRANSITION-FLY:CAPS">
-<ANCHOR id="POPPLER-PAGE-TRANSITION-PUSH:CAPS" href="poppler/PopplerPage.html#POPPLER-PAGE-TRANSITION-PUSH:CAPS">
-<ANCHOR id="POPPLER-PAGE-TRANSITION-COVER:CAPS" href="poppler/PopplerPage.html#POPPLER-PAGE-TRANSITION-COVER:CAPS">
-<ANCHOR id="POPPLER-PAGE-TRANSITION-UNCOVER:CAPS" href="poppler/PopplerPage.html#POPPLER-PAGE-TRANSITION-UNCOVER:CAPS">
-<ANCHOR id="POPPLER-PAGE-TRANSITION-FADE:CAPS" href="poppler/PopplerPage.html#POPPLER-PAGE-TRANSITION-FADE:CAPS">
-<ANCHOR id="PopplerPageTransitionAlignment" href="poppler/PopplerPage.html#PopplerPageTransitionAlignment">
-<ANCHOR id="POPPLER-PAGE-TRANSITION-HORIZONTAL:CAPS" href="poppler/PopplerPage.html#POPPLER-PAGE-TRANSITION-HORIZONTAL:CAPS">
-<ANCHOR id="POPPLER-PAGE-TRANSITION-VERTICAL:CAPS" href="poppler/PopplerPage.html#POPPLER-PAGE-TRANSITION-VERTICAL:CAPS">
-<ANCHOR id="PopplerPageTransitionDirection" href="poppler/PopplerPage.html#PopplerPageTransitionDirection">
-<ANCHOR id="POPPLER-PAGE-TRANSITION-INWARD:CAPS" href="poppler/PopplerPage.html#POPPLER-PAGE-TRANSITION-INWARD:CAPS">
-<ANCHOR id="POPPLER-PAGE-TRANSITION-OUTWARD:CAPS" href="poppler/PopplerPage.html#POPPLER-PAGE-TRANSITION-OUTWARD:CAPS">
-<ANCHOR id="PopplerSelectionStyle" href="poppler/PopplerPage.html#PopplerSelectionStyle">
-<ANCHOR id="POPPLER-SELECTION-GLYPH:CAPS" href="poppler/PopplerPage.html#POPPLER-SELECTION-GLYPH:CAPS">
-<ANCHOR id="POPPLER-SELECTION-WORD:CAPS" href="poppler/PopplerPage.html#POPPLER-SELECTION-WORD:CAPS">
-<ANCHOR id="POPPLER-SELECTION-LINE:CAPS" href="poppler/PopplerPage.html#POPPLER-SELECTION-LINE:CAPS">
-<ANCHOR id="PopplerTextAttributes" href="poppler/PopplerPage.html#PopplerTextAttributes">
+<ANCHOR id="PopplerPage.functions_details" href="poppler/PopplerPage.html#PopplerPage.functions_details">
<ANCHOR id="poppler-page-get-index" href="poppler/PopplerPage.html#poppler-page-get-index">
<ANCHOR id="poppler-page-get-label" href="poppler/PopplerPage.html#poppler-page-get-label">
<ANCHOR id="poppler-page-get-size" href="poppler/PopplerPage.html#poppler-page-get-size">
@@ -232,8 +146,11 @@
<ANCHOR id="poppler-page-find-text" href="poppler/PopplerPage.html#poppler-page-find-text">
<ANCHOR id="poppler-page-find-text-with-options" href="poppler/PopplerPage.html#poppler-page-find-text-with-options">
<ANCHOR id="poppler-page-get-text" href="poppler/PopplerPage.html#poppler-page-get-text">
+<ANCHOR id="poppler-page-get-text-for-area" href="poppler/PopplerPage.html#poppler-page-get-text-for-area">
<ANCHOR id="poppler-page-get-text-layout" href="poppler/PopplerPage.html#poppler-page-get-text-layout">
+<ANCHOR id="poppler-page-get-text-layout-for-area" href="poppler/PopplerPage.html#poppler-page-get-text-layout-for-area">
<ANCHOR id="poppler-page-get-text-attributes" href="poppler/PopplerPage.html#poppler-page-get-text-attributes">
+<ANCHOR id="poppler-page-get-text-attributes-for-area" href="poppler/PopplerPage.html#poppler-page-get-text-attributes-for-area">
<ANCHOR id="poppler-page-free-text-attributes" href="poppler/PopplerPage.html#poppler-page-free-text-attributes">
<ANCHOR id="poppler-page-get-link-mapping" href="poppler/PopplerPage.html#poppler-page-get-link-mapping">
<ANCHOR id="poppler-page-free-link-mapping" href="poppler/PopplerPage.html#poppler-page-free-link-mapping">
@@ -267,12 +184,32 @@
<ANCHOR id="poppler-text-attributes-new" href="poppler/PopplerPage.html#poppler-text-attributes-new">
<ANCHOR id="poppler-text-attributes-copy" href="poppler/PopplerPage.html#poppler-text-attributes-copy">
<ANCHOR id="poppler-text-attributes-free" href="poppler/PopplerPage.html#poppler-text-attributes-free">
+<ANCHOR id="PopplerPage.other_details" href="poppler/PopplerPage.html#PopplerPage.other_details">
+<ANCHOR id="PopplerPage-struct" href="poppler/PopplerPage.html#PopplerPage-struct">
+<ANCHOR id="PopplerRectangle" href="poppler/PopplerPage.html#PopplerRectangle">
+<ANCHOR id="PopplerPageTransition" href="poppler/PopplerPage.html#PopplerPageTransition">
+<ANCHOR id="PopplerLinkMapping" href="poppler/PopplerPage.html#PopplerLinkMapping">
+<ANCHOR id="PopplerImageMapping" href="poppler/PopplerPage.html#PopplerImageMapping">
+<ANCHOR id="PopplerFormFieldMapping" href="poppler/PopplerPage.html#PopplerFormFieldMapping">
+<ANCHOR id="PopplerAnnotMapping" href="poppler/PopplerPage.html#PopplerAnnotMapping">
+<ANCHOR id="PopplerPageTransitionType" href="poppler/PopplerPage.html#PopplerPageTransitionType">
+<ANCHOR id="PopplerPageTransitionAlignment" href="poppler/PopplerPage.html#PopplerPageTransitionAlignment">
+<ANCHOR id="PopplerPageTransitionDirection" href="poppler/PopplerPage.html#PopplerPageTransitionDirection">
+<ANCHOR id="PopplerSelectionStyle" href="poppler/PopplerPage.html#PopplerSelectionStyle">
+<ANCHOR id="PopplerTextAttributes" href="poppler/PopplerPage.html#PopplerTextAttributes">
<ANCHOR id="PopplerPage.property-details" href="poppler/PopplerPage.html#PopplerPage.property-details">
<ANCHOR id="PopplerPage--label" href="poppler/PopplerPage.html#PopplerPage--label">
<ANCHOR id="poppler-PopplerAction" href="poppler/poppler-PopplerAction.html">
-<ANCHOR id="poppler-PopplerAction.synopsis" href="poppler/poppler-PopplerAction.html#poppler-PopplerAction.synopsis">
+<ANCHOR id="poppler-PopplerAction.functions" href="poppler/poppler-PopplerAction.html#poppler-PopplerAction.functions">
+<ANCHOR id="poppler-PopplerAction.other" href="poppler/poppler-PopplerAction.html#poppler-PopplerAction.other">
+<ANCHOR id="poppler-PopplerAction.includes" href="poppler/poppler-PopplerAction.html#poppler-PopplerAction.includes">
<ANCHOR id="poppler-PopplerAction.description" href="poppler/poppler-PopplerAction.html#poppler-PopplerAction.description">
-<ANCHOR id="poppler-PopplerAction.details" href="poppler/poppler-PopplerAction.html#poppler-PopplerAction.details">
+<ANCHOR id="poppler-PopplerAction.functions_details" href="poppler/poppler-PopplerAction.html#poppler-PopplerAction.functions_details">
+<ANCHOR id="poppler-action-copy" href="poppler/poppler-PopplerAction.html#poppler-action-copy">
+<ANCHOR id="poppler-action-free" href="poppler/poppler-PopplerAction.html#poppler-action-free">
+<ANCHOR id="poppler-dest-copy" href="poppler/poppler-PopplerAction.html#poppler-dest-copy">
+<ANCHOR id="poppler-dest-free" href="poppler/poppler-PopplerAction.html#poppler-dest-free">
+<ANCHOR id="poppler-PopplerAction.other_details" href="poppler/poppler-PopplerAction.html#poppler-PopplerAction.other_details">
<ANCHOR id="PopplerAction" href="poppler/poppler-PopplerAction.html#PopplerAction">
<ANCHOR id="PopplerDest" href="poppler/poppler-PopplerAction.html#PopplerDest">
<ANCHOR id="PopplerActionAny" href="poppler/poppler-PopplerAction.html#PopplerActionAny">
@@ -286,74 +223,29 @@
<ANCHOR id="PopplerActionOCGState" href="poppler/poppler-PopplerAction.html#PopplerActionOCGState">
<ANCHOR id="PopplerActionJavascript" href="poppler/poppler-PopplerAction.html#PopplerActionJavascript">
<ANCHOR id="PopplerActionType" href="poppler/poppler-PopplerAction.html#PopplerActionType">
-<ANCHOR id="POPPLER-ACTION-UNKNOWN:CAPS" href="poppler/poppler-PopplerAction.html#POPPLER-ACTION-UNKNOWN:CAPS">
-<ANCHOR id="POPPLER-ACTION-NONE:CAPS" href="poppler/poppler-PopplerAction.html#POPPLER-ACTION-NONE:CAPS">
-<ANCHOR id="POPPLER-ACTION-GOTO-DEST:CAPS" href="poppler/poppler-PopplerAction.html#POPPLER-ACTION-GOTO-DEST:CAPS">
-<ANCHOR id="POPPLER-ACTION-GOTO-REMOTE:CAPS" href="poppler/poppler-PopplerAction.html#POPPLER-ACTION-GOTO-REMOTE:CAPS">
-<ANCHOR id="POPPLER-ACTION-LAUNCH:CAPS" href="poppler/poppler-PopplerAction.html#POPPLER-ACTION-LAUNCH:CAPS">
-<ANCHOR id="POPPLER-ACTION-URI:CAPS" href="poppler/poppler-PopplerAction.html#POPPLER-ACTION-URI:CAPS">
-<ANCHOR id="POPPLER-ACTION-NAMED:CAPS" href="poppler/poppler-PopplerAction.html#POPPLER-ACTION-NAMED:CAPS">
-<ANCHOR id="POPPLER-ACTION-MOVIE:CAPS" href="poppler/poppler-PopplerAction.html#POPPLER-ACTION-MOVIE:CAPS">
-<ANCHOR id="POPPLER-ACTION-RENDITION:CAPS" href="poppler/poppler-PopplerAction.html#POPPLER-ACTION-RENDITION:CAPS">
-<ANCHOR id="POPPLER-ACTION-OCG-STATE:CAPS" href="poppler/poppler-PopplerAction.html#POPPLER-ACTION-OCG-STATE:CAPS">
-<ANCHOR id="POPPLER-ACTION-JAVASCRIPT:CAPS" href="poppler/poppler-PopplerAction.html#POPPLER-ACTION-JAVASCRIPT:CAPS">
<ANCHOR id="PopplerDestType" href="poppler/poppler-PopplerAction.html#PopplerDestType">
-<ANCHOR id="POPPLER-DEST-UNKNOWN:CAPS" href="poppler/poppler-PopplerAction.html#POPPLER-DEST-UNKNOWN:CAPS">
-<ANCHOR id="POPPLER-DEST-XYZ:CAPS" href="poppler/poppler-PopplerAction.html#POPPLER-DEST-XYZ:CAPS">
-<ANCHOR id="POPPLER-DEST-FIT:CAPS" href="poppler/poppler-PopplerAction.html#POPPLER-DEST-FIT:CAPS">
-<ANCHOR id="POPPLER-DEST-FITH:CAPS" href="poppler/poppler-PopplerAction.html#POPPLER-DEST-FITH:CAPS">
-<ANCHOR id="POPPLER-DEST-FITV:CAPS" href="poppler/poppler-PopplerAction.html#POPPLER-DEST-FITV:CAPS">
-<ANCHOR id="POPPLER-DEST-FITR:CAPS" href="poppler/poppler-PopplerAction.html#POPPLER-DEST-FITR:CAPS">
-<ANCHOR id="POPPLER-DEST-FITB:CAPS" href="poppler/poppler-PopplerAction.html#POPPLER-DEST-FITB:CAPS">
-<ANCHOR id="POPPLER-DEST-FITBH:CAPS" href="poppler/poppler-PopplerAction.html#POPPLER-DEST-FITBH:CAPS">
-<ANCHOR id="POPPLER-DEST-FITBV:CAPS" href="poppler/poppler-PopplerAction.html#POPPLER-DEST-FITBV:CAPS">
-<ANCHOR id="POPPLER-DEST-NAMED:CAPS" href="poppler/poppler-PopplerAction.html#POPPLER-DEST-NAMED:CAPS">
<ANCHOR id="PopplerActionMovieOperation" href="poppler/poppler-PopplerAction.html#PopplerActionMovieOperation">
-<ANCHOR id="POPPLER-ACTION-MOVIE-PLAY:CAPS" href="poppler/poppler-PopplerAction.html#POPPLER-ACTION-MOVIE-PLAY:CAPS">
-<ANCHOR id="POPPLER-ACTION-MOVIE-PAUSE:CAPS" href="poppler/poppler-PopplerAction.html#POPPLER-ACTION-MOVIE-PAUSE:CAPS">
-<ANCHOR id="POPPLER-ACTION-MOVIE-RESUME:CAPS" href="poppler/poppler-PopplerAction.html#POPPLER-ACTION-MOVIE-RESUME:CAPS">
-<ANCHOR id="POPPLER-ACTION-MOVIE-STOP:CAPS" href="poppler/poppler-PopplerAction.html#POPPLER-ACTION-MOVIE-STOP:CAPS">
<ANCHOR id="PopplerActionLayer" href="poppler/poppler-PopplerAction.html#PopplerActionLayer">
<ANCHOR id="PopplerActionLayerAction" href="poppler/poppler-PopplerAction.html#PopplerActionLayerAction">
-<ANCHOR id="POPPLER-ACTION-LAYER-ON:CAPS" href="poppler/poppler-PopplerAction.html#POPPLER-ACTION-LAYER-ON:CAPS">
-<ANCHOR id="POPPLER-ACTION-LAYER-OFF:CAPS" href="poppler/poppler-PopplerAction.html#POPPLER-ACTION-LAYER-OFF:CAPS">
-<ANCHOR id="POPPLER-ACTION-LAYER-TOGGLE:CAPS" href="poppler/poppler-PopplerAction.html#POPPLER-ACTION-LAYER-TOGGLE:CAPS">
-<ANCHOR id="poppler-action-copy" href="poppler/poppler-PopplerAction.html#poppler-action-copy">
-<ANCHOR id="poppler-action-free" href="poppler/poppler-PopplerAction.html#poppler-action-free">
-<ANCHOR id="poppler-dest-copy" href="poppler/poppler-PopplerAction.html#poppler-dest-copy">
-<ANCHOR id="poppler-dest-free" href="poppler/poppler-PopplerAction.html#poppler-dest-free">
<ANCHOR id="PopplerAttachment" href="poppler/PopplerAttachment.html">
-<ANCHOR id="PopplerAttachment.synopsis" href="poppler/PopplerAttachment.html#PopplerAttachment.synopsis">
+<ANCHOR id="PopplerAttachment.functions" href="poppler/PopplerAttachment.html#PopplerAttachment.functions">
+<ANCHOR id="PopplerAttachment.other" href="poppler/PopplerAttachment.html#PopplerAttachment.other">
<ANCHOR id="PopplerAttachment.object-hierarchy" href="poppler/PopplerAttachment.html#PopplerAttachment.object-hierarchy">
+<ANCHOR id="PopplerAttachment.includes" href="poppler/PopplerAttachment.html#PopplerAttachment.includes">
<ANCHOR id="PopplerAttachment.description" href="poppler/PopplerAttachment.html#PopplerAttachment.description">
-<ANCHOR id="PopplerAttachment.details" href="poppler/PopplerAttachment.html#PopplerAttachment.details">
-<ANCHOR id="PopplerAttachment-struct" href="poppler/PopplerAttachment.html#PopplerAttachment-struct">
+<ANCHOR id="PopplerAttachment.functions_details" href="poppler/PopplerAttachment.html#PopplerAttachment.functions_details">
<ANCHOR id="PopplerAttachmentSaveFunc" href="poppler/PopplerAttachment.html#PopplerAttachmentSaveFunc">
<ANCHOR id="poppler-attachment-save" href="poppler/PopplerAttachment.html#poppler-attachment-save">
<ANCHOR id="poppler-attachment-save-to-callback" href="poppler/PopplerAttachment.html#poppler-attachment-save-to-callback">
+<ANCHOR id="PopplerAttachment.other_details" href="poppler/PopplerAttachment.html#PopplerAttachment.other_details">
+<ANCHOR id="PopplerAttachment-struct" href="poppler/PopplerAttachment.html#PopplerAttachment-struct">
<ANCHOR id="PopplerFormField" href="poppler/PopplerFormField.html">
-<ANCHOR id="PopplerFormField.synopsis" href="poppler/PopplerFormField.html#PopplerFormField.synopsis">
+<ANCHOR id="PopplerFormField.functions" href="poppler/PopplerFormField.html#PopplerFormField.functions">
+<ANCHOR id="PopplerFormField.other" href="poppler/PopplerFormField.html#PopplerFormField.other">
<ANCHOR id="PopplerFormField.object-hierarchy" href="poppler/PopplerFormField.html#PopplerFormField.object-hierarchy">
+<ANCHOR id="PopplerFormField.includes" href="poppler/PopplerFormField.html#PopplerFormField.includes">
<ANCHOR id="PopplerFormField.description" href="poppler/PopplerFormField.html#PopplerFormField.description">
-<ANCHOR id="PopplerFormField.details" href="poppler/PopplerFormField.html#PopplerFormField.details">
-<ANCHOR id="PopplerFormField-struct" href="poppler/PopplerFormField.html#PopplerFormField-struct">
-<ANCHOR id="PopplerFormFieldType" href="poppler/PopplerFormField.html#PopplerFormFieldType">
-<ANCHOR id="POPPLER-FORM-FIELD-UNKNOWN:CAPS" href="poppler/PopplerFormField.html#POPPLER-FORM-FIELD-UNKNOWN:CAPS">
-<ANCHOR id="POPPLER-FORM-FIELD-BUTTON:CAPS" href="poppler/PopplerFormField.html#POPPLER-FORM-FIELD-BUTTON:CAPS">
-<ANCHOR id="POPPLER-FORM-FIELD-TEXT:CAPS" href="poppler/PopplerFormField.html#POPPLER-FORM-FIELD-TEXT:CAPS">
-<ANCHOR id="POPPLER-FORM-FIELD-CHOICE:CAPS" href="poppler/PopplerFormField.html#POPPLER-FORM-FIELD-CHOICE:CAPS">
-<ANCHOR id="POPPLER-FORM-FIELD-SIGNATURE:CAPS" href="poppler/PopplerFormField.html#POPPLER-FORM-FIELD-SIGNATURE:CAPS">
-<ANCHOR id="PopplerFormButtonType" href="poppler/PopplerFormField.html#PopplerFormButtonType">
-<ANCHOR id="POPPLER-FORM-BUTTON-PUSH:CAPS" href="poppler/PopplerFormField.html#POPPLER-FORM-BUTTON-PUSH:CAPS">
-<ANCHOR id="POPPLER-FORM-BUTTON-CHECK:CAPS" href="poppler/PopplerFormField.html#POPPLER-FORM-BUTTON-CHECK:CAPS">
-<ANCHOR id="POPPLER-FORM-BUTTON-RADIO:CAPS" href="poppler/PopplerFormField.html#POPPLER-FORM-BUTTON-RADIO:CAPS">
-<ANCHOR id="PopplerFormChoiceType" href="poppler/PopplerFormField.html#PopplerFormChoiceType">
-<ANCHOR id="POPPLER-FORM-CHOICE-COMBO:CAPS" href="poppler/PopplerFormField.html#POPPLER-FORM-CHOICE-COMBO:CAPS">
-<ANCHOR id="POPPLER-FORM-CHOICE-LIST:CAPS" href="poppler/PopplerFormField.html#POPPLER-FORM-CHOICE-LIST:CAPS">
-<ANCHOR id="PopplerFormTextType" href="poppler/PopplerFormField.html#PopplerFormTextType">
-<ANCHOR id="POPPLER-FORM-TEXT-NORMAL:CAPS" href="poppler/PopplerFormField.html#POPPLER-FORM-TEXT-NORMAL:CAPS">
-<ANCHOR id="POPPLER-FORM-TEXT-MULTILINE:CAPS" href="poppler/PopplerFormField.html#POPPLER-FORM-TEXT-MULTILINE:CAPS">
-<ANCHOR id="POPPLER-FORM-TEXT-FILE-SELECT:CAPS" href="poppler/PopplerFormField.html#POPPLER-FORM-TEXT-FILE-SELECT:CAPS">
+<ANCHOR id="PopplerFormField.functions_details" href="poppler/PopplerFormField.html#PopplerFormField.functions_details">
<ANCHOR id="poppler-form-field-get-field-type" href="poppler/PopplerFormField.html#poppler-form-field-get-field-type">
<ANCHOR id="poppler-form-field-get-id" href="poppler/PopplerFormField.html#poppler-form-field-get-id">
<ANCHOR id="poppler-form-field-is-read-only" href="poppler/PopplerFormField.html#poppler-form-field-is-read-only">
@@ -386,77 +278,19 @@
<ANCHOR id="poppler-form-field-text-do-spell-check" href="poppler/PopplerFormField.html#poppler-form-field-text-do-spell-check">
<ANCHOR id="poppler-form-field-text-is-password" href="poppler/PopplerFormField.html#poppler-form-field-text-is-password">
<ANCHOR id="poppler-form-field-text-is-rich-text" href="poppler/PopplerFormField.html#poppler-form-field-text-is-rich-text">
+<ANCHOR id="PopplerFormField.other_details" href="poppler/PopplerFormField.html#PopplerFormField.other_details">
+<ANCHOR id="PopplerFormField-struct" href="poppler/PopplerFormField.html#PopplerFormField-struct">
+<ANCHOR id="PopplerFormFieldType" href="poppler/PopplerFormField.html#PopplerFormFieldType">
+<ANCHOR id="PopplerFormButtonType" href="poppler/PopplerFormField.html#PopplerFormButtonType">
+<ANCHOR id="PopplerFormChoiceType" href="poppler/PopplerFormField.html#PopplerFormChoiceType">
+<ANCHOR id="PopplerFormTextType" href="poppler/PopplerFormField.html#PopplerFormTextType">
<ANCHOR id="PopplerAnnot" href="poppler/PopplerAnnot.html">
-<ANCHOR id="PopplerAnnot.synopsis" href="poppler/PopplerAnnot.html#PopplerAnnot.synopsis">
+<ANCHOR id="PopplerAnnot.functions" href="poppler/PopplerAnnot.html#PopplerAnnot.functions">
+<ANCHOR id="PopplerAnnot.other" href="poppler/PopplerAnnot.html#PopplerAnnot.other">
<ANCHOR id="PopplerAnnot.object-hierarchy" href="poppler/PopplerAnnot.html#PopplerAnnot.object-hierarchy">
+<ANCHOR id="PopplerAnnot.includes" href="poppler/PopplerAnnot.html#PopplerAnnot.includes">
<ANCHOR id="PopplerAnnot.description" href="poppler/PopplerAnnot.html#PopplerAnnot.description">
-<ANCHOR id="PopplerAnnot.details" href="poppler/PopplerAnnot.html#PopplerAnnot.details">
-<ANCHOR id="PopplerAnnot-struct" href="poppler/PopplerAnnot.html#PopplerAnnot-struct">
-<ANCHOR id="PopplerAnnotMarkup" href="poppler/PopplerAnnot.html#PopplerAnnotMarkup">
-<ANCHOR id="PopplerAnnotText" href="poppler/PopplerAnnot.html#PopplerAnnotText">
-<ANCHOR id="PopplerAnnotFreeText" href="poppler/PopplerAnnot.html#PopplerAnnotFreeText">
-<ANCHOR id="PopplerAnnotFileAttachment" href="poppler/PopplerAnnot.html#PopplerAnnotFileAttachment">
-<ANCHOR id="PopplerAnnotMovie" href="poppler/PopplerAnnot.html#PopplerAnnotMovie">
-<ANCHOR id="PopplerAnnotScreen" href="poppler/PopplerAnnot.html#PopplerAnnotScreen">
-<ANCHOR id="PopplerAnnotType" href="poppler/PopplerAnnot.html#PopplerAnnotType">
-<ANCHOR id="POPPLER-ANNOT-UNKNOWN:CAPS" href="poppler/PopplerAnnot.html#POPPLER-ANNOT-UNKNOWN:CAPS">
-<ANCHOR id="POPPLER-ANNOT-TEXT:CAPS" href="poppler/PopplerAnnot.html#POPPLER-ANNOT-TEXT:CAPS">
-<ANCHOR id="POPPLER-ANNOT-LINK:CAPS" href="poppler/PopplerAnnot.html#POPPLER-ANNOT-LINK:CAPS">
-<ANCHOR id="POPPLER-ANNOT-FREE-TEXT:CAPS" href="poppler/PopplerAnnot.html#POPPLER-ANNOT-FREE-TEXT:CAPS">
-<ANCHOR id="POPPLER-ANNOT-LINE:CAPS" href="poppler/PopplerAnnot.html#POPPLER-ANNOT-LINE:CAPS">
-<ANCHOR id="POPPLER-ANNOT-SQUARE:CAPS" href="poppler/PopplerAnnot.html#POPPLER-ANNOT-SQUARE:CAPS">
-<ANCHOR id="POPPLER-ANNOT-CIRCLE:CAPS" href="poppler/PopplerAnnot.html#POPPLER-ANNOT-CIRCLE:CAPS">
-<ANCHOR id="POPPLER-ANNOT-POLYGON:CAPS" href="poppler/PopplerAnnot.html#POPPLER-ANNOT-POLYGON:CAPS">
-<ANCHOR id="POPPLER-ANNOT-POLY-LINE:CAPS" href="poppler/PopplerAnnot.html#POPPLER-ANNOT-POLY-LINE:CAPS">
-<ANCHOR id="POPPLER-ANNOT-HIGHLIGHT:CAPS" href="poppler/PopplerAnnot.html#POPPLER-ANNOT-HIGHLIGHT:CAPS">
-<ANCHOR id="POPPLER-ANNOT-UNDERLINE:CAPS" href="poppler/PopplerAnnot.html#POPPLER-ANNOT-UNDERLINE:CAPS">
-<ANCHOR id="POPPLER-ANNOT-SQUIGGLY:CAPS" href="poppler/PopplerAnnot.html#POPPLER-ANNOT-SQUIGGLY:CAPS">
-<ANCHOR id="POPPLER-ANNOT-STRIKE-OUT:CAPS" href="poppler/PopplerAnnot.html#POPPLER-ANNOT-STRIKE-OUT:CAPS">
-<ANCHOR id="POPPLER-ANNOT-STAMP:CAPS" href="poppler/PopplerAnnot.html#POPPLER-ANNOT-STAMP:CAPS">
-<ANCHOR id="POPPLER-ANNOT-CARET:CAPS" href="poppler/PopplerAnnot.html#POPPLER-ANNOT-CARET:CAPS">
-<ANCHOR id="POPPLER-ANNOT-INK:CAPS" href="poppler/PopplerAnnot.html#POPPLER-ANNOT-INK:CAPS">
-<ANCHOR id="POPPLER-ANNOT-POPUP:CAPS" href="poppler/PopplerAnnot.html#POPPLER-ANNOT-POPUP:CAPS">
-<ANCHOR id="POPPLER-ANNOT-FILE-ATTACHMENT:CAPS" href="poppler/PopplerAnnot.html#POPPLER-ANNOT-FILE-ATTACHMENT:CAPS">
-<ANCHOR id="POPPLER-ANNOT-SOUND:CAPS" href="poppler/PopplerAnnot.html#POPPLER-ANNOT-SOUND:CAPS">
-<ANCHOR id="POPPLER-ANNOT-MOVIE:CAPS" href="poppler/PopplerAnnot.html#POPPLER-ANNOT-MOVIE:CAPS">
-<ANCHOR id="POPPLER-ANNOT-WIDGET:CAPS" href="poppler/PopplerAnnot.html#POPPLER-ANNOT-WIDGET:CAPS">
-<ANCHOR id="POPPLER-ANNOT-SCREEN:CAPS" href="poppler/PopplerAnnot.html#POPPLER-ANNOT-SCREEN:CAPS">
-<ANCHOR id="POPPLER-ANNOT-PRINTER-MARK:CAPS" href="poppler/PopplerAnnot.html#POPPLER-ANNOT-PRINTER-MARK:CAPS">
-<ANCHOR id="POPPLER-ANNOT-TRAP-NET:CAPS" href="poppler/PopplerAnnot.html#POPPLER-ANNOT-TRAP-NET:CAPS">
-<ANCHOR id="POPPLER-ANNOT-WATERMARK:CAPS" href="poppler/PopplerAnnot.html#POPPLER-ANNOT-WATERMARK:CAPS">
-<ANCHOR id="POPPLER-ANNOT-3D:CAPS" href="poppler/PopplerAnnot.html#POPPLER-ANNOT-3D:CAPS">
-<ANCHOR id="PopplerAnnotFlag" href="poppler/PopplerAnnot.html#PopplerAnnotFlag">
-<ANCHOR id="POPPLER-ANNOT-FLAG-UNKNOWN:CAPS" href="poppler/PopplerAnnot.html#POPPLER-ANNOT-FLAG-UNKNOWN:CAPS">
-<ANCHOR id="POPPLER-ANNOT-FLAG-INVISIBLE:CAPS" href="poppler/PopplerAnnot.html#POPPLER-ANNOT-FLAG-INVISIBLE:CAPS">
-<ANCHOR id="POPPLER-ANNOT-FLAG-HIDDEN:CAPS" href="poppler/PopplerAnnot.html#POPPLER-ANNOT-FLAG-HIDDEN:CAPS">
-<ANCHOR id="POPPLER-ANNOT-FLAG-PRINT:CAPS" href="poppler/PopplerAnnot.html#POPPLER-ANNOT-FLAG-PRINT:CAPS">
-<ANCHOR id="POPPLER-ANNOT-FLAG-NO-ZOOM:CAPS" href="poppler/PopplerAnnot.html#POPPLER-ANNOT-FLAG-NO-ZOOM:CAPS">
-<ANCHOR id="POPPLER-ANNOT-FLAG-NO-ROTATE:CAPS" href="poppler/PopplerAnnot.html#POPPLER-ANNOT-FLAG-NO-ROTATE:CAPS">
-<ANCHOR id="POPPLER-ANNOT-FLAG-NO-VIEW:CAPS" href="poppler/PopplerAnnot.html#POPPLER-ANNOT-FLAG-NO-VIEW:CAPS">
-<ANCHOR id="POPPLER-ANNOT-FLAG-READ-ONLY:CAPS" href="poppler/PopplerAnnot.html#POPPLER-ANNOT-FLAG-READ-ONLY:CAPS">
-<ANCHOR id="POPPLER-ANNOT-FLAG-LOCKED:CAPS" href="poppler/PopplerAnnot.html#POPPLER-ANNOT-FLAG-LOCKED:CAPS">
-<ANCHOR id="POPPLER-ANNOT-FLAG-TOGGLE-NO-VIEW:CAPS" href="poppler/PopplerAnnot.html#POPPLER-ANNOT-FLAG-TOGGLE-NO-VIEW:CAPS">
-<ANCHOR id="POPPLER-ANNOT-FLAG-LOCKED-CONTENTS:CAPS" href="poppler/PopplerAnnot.html#POPPLER-ANNOT-FLAG-LOCKED-CONTENTS:CAPS">
-<ANCHOR id="PopplerAnnotExternalDataType" href="poppler/PopplerAnnot.html#PopplerAnnotExternalDataType">
-<ANCHOR id="POPPLER-ANNOT-EXTERNAL-DATA-MARKUP-3D:CAPS" href="poppler/PopplerAnnot.html#POPPLER-ANNOT-EXTERNAL-DATA-MARKUP-3D:CAPS">
-<ANCHOR id="POPPLER-ANNOT-EXTERNAL-DATA-MARKUP-UNKNOWN:CAPS" href="poppler/PopplerAnnot.html#POPPLER-ANNOT-EXTERNAL-DATA-MARKUP-UNKNOWN:CAPS">
-<ANCHOR id="PopplerAnnotMarkupReplyType" href="poppler/PopplerAnnot.html#PopplerAnnotMarkupReplyType">
-<ANCHOR id="POPPLER-ANNOT-MARKUP-REPLY-TYPE-R:CAPS" href="poppler/PopplerAnnot.html#POPPLER-ANNOT-MARKUP-REPLY-TYPE-R:CAPS">
-<ANCHOR id="POPPLER-ANNOT-MARKUP-REPLY-TYPE-GROUP:CAPS" href="poppler/PopplerAnnot.html#POPPLER-ANNOT-MARKUP-REPLY-TYPE-GROUP:CAPS">
-<ANCHOR id="PopplerAnnotTextState" href="poppler/PopplerAnnot.html#PopplerAnnotTextState">
-<ANCHOR id="POPPLER-ANNOT-TEXT-STATE-MARKED:CAPS" href="poppler/PopplerAnnot.html#POPPLER-ANNOT-TEXT-STATE-MARKED:CAPS">
-<ANCHOR id="POPPLER-ANNOT-TEXT-STATE-UNMARKED:CAPS" href="poppler/PopplerAnnot.html#POPPLER-ANNOT-TEXT-STATE-UNMARKED:CAPS">
-<ANCHOR id="POPPLER-ANNOT-TEXT-STATE-ACCEPTED:CAPS" href="poppler/PopplerAnnot.html#POPPLER-ANNOT-TEXT-STATE-ACCEPTED:CAPS">
-<ANCHOR id="POPPLER-ANNOT-TEXT-STATE-REJECTED:CAPS" href="poppler/PopplerAnnot.html#POPPLER-ANNOT-TEXT-STATE-REJECTED:CAPS">
-<ANCHOR id="POPPLER-ANNOT-TEXT-STATE-CANCELLED:CAPS" href="poppler/PopplerAnnot.html#POPPLER-ANNOT-TEXT-STATE-CANCELLED:CAPS">
-<ANCHOR id="POPPLER-ANNOT-TEXT-STATE-COMPLETED:CAPS" href="poppler/PopplerAnnot.html#POPPLER-ANNOT-TEXT-STATE-COMPLETED:CAPS">
-<ANCHOR id="POPPLER-ANNOT-TEXT-STATE-NONE:CAPS" href="poppler/PopplerAnnot.html#POPPLER-ANNOT-TEXT-STATE-NONE:CAPS">
-<ANCHOR id="POPPLER-ANNOT-TEXT-STATE-UNKNOWN:CAPS" href="poppler/PopplerAnnot.html#POPPLER-ANNOT-TEXT-STATE-UNKNOWN:CAPS">
-<ANCHOR id="PopplerAnnotCalloutLine" href="poppler/PopplerAnnot.html#PopplerAnnotCalloutLine">
-<ANCHOR id="PopplerAnnotFreeTextQuadding" href="poppler/PopplerAnnot.html#PopplerAnnotFreeTextQuadding">
-<ANCHOR id="POPPLER-ANNOT-FREE-TEXT-QUADDING-LEFT-JUSTIFIED:CAPS" href="poppler/PopplerAnnot.html#POPPLER-ANNOT-FREE-TEXT-QUADDING-LEFT-JUSTIFIED:CAPS">
-<ANCHOR id="POPPLER-ANNOT-FREE-TEXT-QUADDING-CENTERED:CAPS" href="poppler/PopplerAnnot.html#POPPLER-ANNOT-FREE-TEXT-QUADDING-CENTERED:CAPS">
-<ANCHOR id="POPPLER-ANNOT-FREE-TEXT-QUADDING-RIGHT-JUSTIFIED:CAPS" href="poppler/PopplerAnnot.html#POPPLER-ANNOT-FREE-TEXT-QUADDING-RIGHT-JUSTIFIED:CAPS">
+<ANCHOR id="PopplerAnnot.functions_details" href="poppler/PopplerAnnot.html#PopplerAnnot.functions_details">
<ANCHOR id="poppler-annot-get-annot-type" href="poppler/PopplerAnnot.html#poppler-annot-get-annot-type">
<ANCHOR id="poppler-annot-get-flags" href="poppler/PopplerAnnot.html#poppler-annot-get-flags">
<ANCHOR id="poppler-annot-get-name" href="poppler/PopplerAnnot.html#poppler-annot-get-name">
@@ -466,6 +300,8 @@
<ANCHOR id="poppler-annot-get-contents" href="poppler/PopplerAnnot.html#poppler-annot-get-contents">
<ANCHOR id="poppler-annot-set-contents" href="poppler/PopplerAnnot.html#poppler-annot-set-contents">
<ANCHOR id="poppler-annot-get-modified" href="poppler/PopplerAnnot.html#poppler-annot-get-modified">
+<ANCHOR id="poppler-annot-get-rectangle" href="poppler/PopplerAnnot.html#poppler-annot-get-rectangle">
+<ANCHOR id="poppler-annot-set-rectangle" href="poppler/PopplerAnnot.html#poppler-annot-set-rectangle">
<ANCHOR id="poppler-annot-markup-get-label" href="poppler/PopplerAnnot.html#poppler-annot-markup-get-label">
<ANCHOR id="poppler-annot-markup-set-label" href="poppler/PopplerAnnot.html#poppler-annot-markup-set-label">
<ANCHOR id="poppler-annot-markup-get-subject" href="poppler/PopplerAnnot.html#poppler-annot-markup-get-subject">
@@ -481,19 +317,16 @@
<ANCHOR id="poppler-annot-markup-get-reply-to" href="poppler/PopplerAnnot.html#poppler-annot-markup-get-reply-to">
<ANCHOR id="poppler-annot-text-new" href="poppler/PopplerAnnot.html#poppler-annot-text-new">
<ANCHOR id="poppler-annot-text-get-icon" href="poppler/PopplerAnnot.html#poppler-annot-text-get-icon">
-<ANCHOR id="POPPLER-ANNOT-TEXT-ICON-NOTE:CAPS" href="poppler/PopplerAnnot.html#POPPLER-ANNOT-TEXT-ICON-NOTE:CAPS">
-<ANCHOR id="POPPLER-ANNOT-TEXT-ICON-COMMENT:CAPS" href="poppler/PopplerAnnot.html#POPPLER-ANNOT-TEXT-ICON-COMMENT:CAPS">
-<ANCHOR id="POPPLER-ANNOT-TEXT-ICON-KEY:CAPS" href="poppler/PopplerAnnot.html#POPPLER-ANNOT-TEXT-ICON-KEY:CAPS">
-<ANCHOR id="POPPLER-ANNOT-TEXT-ICON-HELP:CAPS" href="poppler/PopplerAnnot.html#POPPLER-ANNOT-TEXT-ICON-HELP:CAPS">
-<ANCHOR id="POPPLER-ANNOT-TEXT-ICON-NEW-PARAGRAPH:CAPS" href="poppler/PopplerAnnot.html#POPPLER-ANNOT-TEXT-ICON-NEW-PARAGRAPH:CAPS">
-<ANCHOR id="POPPLER-ANNOT-TEXT-ICON-PARAGRAPH:CAPS" href="poppler/PopplerAnnot.html#POPPLER-ANNOT-TEXT-ICON-PARAGRAPH:CAPS">
-<ANCHOR id="POPPLER-ANNOT-TEXT-ICON-INSERT:CAPS" href="poppler/PopplerAnnot.html#POPPLER-ANNOT-TEXT-ICON-INSERT:CAPS">
-<ANCHOR id="POPPLER-ANNOT-TEXT-ICON-CROSS:CAPS" href="poppler/PopplerAnnot.html#POPPLER-ANNOT-TEXT-ICON-CROSS:CAPS">
-<ANCHOR id="POPPLER-ANNOT-TEXT-ICON-CIRCLE:CAPS" href="poppler/PopplerAnnot.html#POPPLER-ANNOT-TEXT-ICON-CIRCLE:CAPS">
<ANCHOR id="poppler-annot-text-set-icon" href="poppler/PopplerAnnot.html#poppler-annot-text-set-icon">
<ANCHOR id="poppler-annot-text-get-is-open" href="poppler/PopplerAnnot.html#poppler-annot-text-get-is-open">
<ANCHOR id="poppler-annot-text-set-is-open" href="poppler/PopplerAnnot.html#poppler-annot-text-set-is-open">
<ANCHOR id="poppler-annot-text-get-state" href="poppler/PopplerAnnot.html#poppler-annot-text-get-state">
+<ANCHOR id="poppler-annot-text-markup-new-highlight" href="poppler/PopplerAnnot.html#poppler-annot-text-markup-new-highlight">
+<ANCHOR id="poppler-annot-text-markup-new-squiggly" href="poppler/PopplerAnnot.html#poppler-annot-text-markup-new-squiggly">
+<ANCHOR id="poppler-annot-text-markup-new-strikeout" href="poppler/PopplerAnnot.html#poppler-annot-text-markup-new-strikeout">
+<ANCHOR id="poppler-annot-text-markup-new-underline" href="poppler/PopplerAnnot.html#poppler-annot-text-markup-new-underline">
+<ANCHOR id="poppler-annot-text-markup-set-quadrilaterals" href="poppler/PopplerAnnot.html#poppler-annot-text-markup-set-quadrilaterals">
+<ANCHOR id="poppler-annot-text-markup-get-quadrilaterals" href="poppler/PopplerAnnot.html#poppler-annot-text-markup-get-quadrilaterals">
<ANCHOR id="poppler-annot-free-text-get-callout-line" href="poppler/PopplerAnnot.html#poppler-annot-free-text-get-callout-line">
<ANCHOR id="poppler-annot-free-text-get-quadding" href="poppler/PopplerAnnot.html#poppler-annot-free-text-get-quadding">
<ANCHOR id="poppler-annot-file-attachment-get-attachment" href="poppler/PopplerAnnot.html#poppler-annot-file-attachment-get-attachment">
@@ -504,54 +337,210 @@
<ANCHOR id="poppler-annot-callout-line-new" href="poppler/PopplerAnnot.html#poppler-annot-callout-line-new">
<ANCHOR id="poppler-annot-callout-line-copy" href="poppler/PopplerAnnot.html#poppler-annot-callout-line-copy">
<ANCHOR id="poppler-annot-callout-line-free" href="poppler/PopplerAnnot.html#poppler-annot-callout-line-free">
+<ANCHOR id="poppler-annot-circle-new" href="poppler/PopplerAnnot.html#poppler-annot-circle-new">
+<ANCHOR id="poppler-annot-circle-get-interior-color" href="poppler/PopplerAnnot.html#poppler-annot-circle-get-interior-color">
+<ANCHOR id="poppler-annot-circle-set-interior-color" href="poppler/PopplerAnnot.html#poppler-annot-circle-set-interior-color">
+<ANCHOR id="poppler-annot-line-new" href="poppler/PopplerAnnot.html#poppler-annot-line-new">
+<ANCHOR id="poppler-annot-line-set-vertices" href="poppler/PopplerAnnot.html#poppler-annot-line-set-vertices">
+<ANCHOR id="poppler-annot-square-new" href="poppler/PopplerAnnot.html#poppler-annot-square-new">
+<ANCHOR id="poppler-annot-square-get-interior-color" href="poppler/PopplerAnnot.html#poppler-annot-square-get-interior-color">
+<ANCHOR id="poppler-annot-square-set-interior-color" href="poppler/PopplerAnnot.html#poppler-annot-square-set-interior-color">
+<ANCHOR id="poppler-point-copy" href="poppler/PopplerAnnot.html#poppler-point-copy">
+<ANCHOR id="poppler-point-free" href="poppler/PopplerAnnot.html#poppler-point-free">
+<ANCHOR id="poppler-point-get-type" href="poppler/PopplerAnnot.html#poppler-point-get-type">
+<ANCHOR id="poppler-point-new" href="poppler/PopplerAnnot.html#poppler-point-new">
+<ANCHOR id="poppler-quadrilateral-copy" href="poppler/PopplerAnnot.html#poppler-quadrilateral-copy">
+<ANCHOR id="poppler-quadrilateral-free" href="poppler/PopplerAnnot.html#poppler-quadrilateral-free">
+<ANCHOR id="poppler-quadrilateral-get-type" href="poppler/PopplerAnnot.html#poppler-quadrilateral-get-type">
+<ANCHOR id="poppler-quadrilateral-new" href="poppler/PopplerAnnot.html#poppler-quadrilateral-new">
+<ANCHOR id="PopplerAnnot.other_details" href="poppler/PopplerAnnot.html#PopplerAnnot.other_details">
+<ANCHOR id="PopplerAnnot-struct" href="poppler/PopplerAnnot.html#PopplerAnnot-struct">
+<ANCHOR id="PopplerAnnotMarkup" href="poppler/PopplerAnnot.html#PopplerAnnotMarkup">
+<ANCHOR id="PopplerAnnotCircle" href="poppler/PopplerAnnot.html#PopplerAnnotCircle">
+<ANCHOR id="PopplerAnnotText" href="poppler/PopplerAnnot.html#PopplerAnnotText">
+<ANCHOR id="PopplerAnnotTextMarkup" href="poppler/PopplerAnnot.html#PopplerAnnotTextMarkup">
+<ANCHOR id="PopplerAnnotFreeText" href="poppler/PopplerAnnot.html#PopplerAnnotFreeText">
+<ANCHOR id="PopplerAnnotFileAttachment" href="poppler/PopplerAnnot.html#PopplerAnnotFileAttachment">
+<ANCHOR id="PopplerAnnotLine" href="poppler/PopplerAnnot.html#PopplerAnnotLine">
+<ANCHOR id="PopplerAnnotMovie" href="poppler/PopplerAnnot.html#PopplerAnnotMovie">
+<ANCHOR id="PopplerAnnotScreen" href="poppler/PopplerAnnot.html#PopplerAnnotScreen">
+<ANCHOR id="PopplerAnnotType" href="poppler/PopplerAnnot.html#PopplerAnnotType">
+<ANCHOR id="PopplerAnnotFlag" href="poppler/PopplerAnnot.html#PopplerAnnotFlag">
+<ANCHOR id="PopplerAnnotExternalDataType" href="poppler/PopplerAnnot.html#PopplerAnnotExternalDataType">
+<ANCHOR id="PopplerAnnotMarkupReplyType" href="poppler/PopplerAnnot.html#PopplerAnnotMarkupReplyType">
+<ANCHOR id="PopplerAnnotTextState" href="poppler/PopplerAnnot.html#PopplerAnnotTextState">
+<ANCHOR id="PopplerAnnotCalloutLine" href="poppler/PopplerAnnot.html#PopplerAnnotCalloutLine">
+<ANCHOR id="PopplerAnnotFreeTextQuadding" href="poppler/PopplerAnnot.html#PopplerAnnotFreeTextQuadding">
+<ANCHOR id="PopplerAnnotSquare" href="poppler/PopplerAnnot.html#PopplerAnnotSquare">
+<ANCHOR id="PopplerPoint" href="poppler/PopplerAnnot.html#PopplerPoint">
+<ANCHOR id="PopplerQuadrilateral" href="poppler/PopplerAnnot.html#PopplerQuadrilateral">
+<ANCHOR id="POPPLER-ANNOT-TEXT-ICON-NOTE:CAPS" href="poppler/PopplerAnnot.html#POPPLER-ANNOT-TEXT-ICON-NOTE:CAPS">
+<ANCHOR id="POPPLER-ANNOT-TEXT-ICON-COMMENT:CAPS" href="poppler/PopplerAnnot.html#POPPLER-ANNOT-TEXT-ICON-COMMENT:CAPS">
+<ANCHOR id="POPPLER-ANNOT-TEXT-ICON-KEY:CAPS" href="poppler/PopplerAnnot.html#POPPLER-ANNOT-TEXT-ICON-KEY:CAPS">
+<ANCHOR id="POPPLER-ANNOT-TEXT-ICON-HELP:CAPS" href="poppler/PopplerAnnot.html#POPPLER-ANNOT-TEXT-ICON-HELP:CAPS">
+<ANCHOR id="POPPLER-ANNOT-TEXT-ICON-NEW-PARAGRAPH:CAPS" href="poppler/PopplerAnnot.html#POPPLER-ANNOT-TEXT-ICON-NEW-PARAGRAPH:CAPS">
+<ANCHOR id="POPPLER-ANNOT-TEXT-ICON-PARAGRAPH:CAPS" href="poppler/PopplerAnnot.html#POPPLER-ANNOT-TEXT-ICON-PARAGRAPH:CAPS">
+<ANCHOR id="POPPLER-ANNOT-TEXT-ICON-INSERT:CAPS" href="poppler/PopplerAnnot.html#POPPLER-ANNOT-TEXT-ICON-INSERT:CAPS">
+<ANCHOR id="POPPLER-ANNOT-TEXT-ICON-CROSS:CAPS" href="poppler/PopplerAnnot.html#POPPLER-ANNOT-TEXT-ICON-CROSS:CAPS">
+<ANCHOR id="POPPLER-ANNOT-TEXT-ICON-CIRCLE:CAPS" href="poppler/PopplerAnnot.html#POPPLER-ANNOT-TEXT-ICON-CIRCLE:CAPS">
<ANCHOR id="PopplerLayer" href="poppler/PopplerLayer.html">
-<ANCHOR id="PopplerLayer.synopsis" href="poppler/PopplerLayer.html#PopplerLayer.synopsis">
+<ANCHOR id="PopplerLayer.functions" href="poppler/PopplerLayer.html#PopplerLayer.functions">
+<ANCHOR id="PopplerLayer.other" href="poppler/PopplerLayer.html#PopplerLayer.other">
<ANCHOR id="PopplerLayer.object-hierarchy" href="poppler/PopplerLayer.html#PopplerLayer.object-hierarchy">
+<ANCHOR id="PopplerLayer.includes" href="poppler/PopplerLayer.html#PopplerLayer.includes">
<ANCHOR id="PopplerLayer.description" href="poppler/PopplerLayer.html#PopplerLayer.description">
-<ANCHOR id="PopplerLayer.details" href="poppler/PopplerLayer.html#PopplerLayer.details">
-<ANCHOR id="PopplerLayer-struct" href="poppler/PopplerLayer.html#PopplerLayer-struct">
+<ANCHOR id="PopplerLayer.functions_details" href="poppler/PopplerLayer.html#PopplerLayer.functions_details">
<ANCHOR id="poppler-layer-get-title" href="poppler/PopplerLayer.html#poppler-layer-get-title">
<ANCHOR id="poppler-layer-is-visible" href="poppler/PopplerLayer.html#poppler-layer-is-visible">
<ANCHOR id="poppler-layer-show" href="poppler/PopplerLayer.html#poppler-layer-show">
<ANCHOR id="poppler-layer-hide" href="poppler/PopplerLayer.html#poppler-layer-hide">
<ANCHOR id="poppler-layer-is-parent" href="poppler/PopplerLayer.html#poppler-layer-is-parent">
<ANCHOR id="poppler-layer-get-radio-button-group-id" href="poppler/PopplerLayer.html#poppler-layer-get-radio-button-group-id">
+<ANCHOR id="PopplerLayer.other_details" href="poppler/PopplerLayer.html#PopplerLayer.other_details">
+<ANCHOR id="PopplerLayer-struct" href="poppler/PopplerLayer.html#PopplerLayer-struct">
<ANCHOR id="PopplerMedia" href="poppler/PopplerMedia.html">
-<ANCHOR id="PopplerMedia.synopsis" href="poppler/PopplerMedia.html#PopplerMedia.synopsis">
+<ANCHOR id="PopplerMedia.functions" href="poppler/PopplerMedia.html#PopplerMedia.functions">
+<ANCHOR id="PopplerMedia.other" href="poppler/PopplerMedia.html#PopplerMedia.other">
<ANCHOR id="PopplerMedia.object-hierarchy" href="poppler/PopplerMedia.html#PopplerMedia.object-hierarchy">
+<ANCHOR id="PopplerMedia.includes" href="poppler/PopplerMedia.html#PopplerMedia.includes">
<ANCHOR id="PopplerMedia.description" href="poppler/PopplerMedia.html#PopplerMedia.description">
-<ANCHOR id="PopplerMedia.details" href="poppler/PopplerMedia.html#PopplerMedia.details">
-<ANCHOR id="PopplerMedia-struct" href="poppler/PopplerMedia.html#PopplerMedia-struct">
+<ANCHOR id="PopplerMedia.functions_details" href="poppler/PopplerMedia.html#PopplerMedia.functions_details">
<ANCHOR id="PopplerMediaSaveFunc" href="poppler/PopplerMedia.html#PopplerMediaSaveFunc">
<ANCHOR id="poppler-media-get-filename" href="poppler/PopplerMedia.html#poppler-media-get-filename">
<ANCHOR id="poppler-media-get-mime-type" href="poppler/PopplerMedia.html#poppler-media-get-mime-type">
<ANCHOR id="poppler-media-is-embedded" href="poppler/PopplerMedia.html#poppler-media-is-embedded">
<ANCHOR id="poppler-media-save" href="poppler/PopplerMedia.html#poppler-media-save">
<ANCHOR id="poppler-media-save-to-callback" href="poppler/PopplerMedia.html#poppler-media-save-to-callback">
+<ANCHOR id="PopplerMedia.other_details" href="poppler/PopplerMedia.html#PopplerMedia.other_details">
+<ANCHOR id="PopplerMedia-struct" href="poppler/PopplerMedia.html#PopplerMedia-struct">
<ANCHOR id="PopplerMovie" href="poppler/PopplerMovie.html">
-<ANCHOR id="PopplerMovie.synopsis" href="poppler/PopplerMovie.html#PopplerMovie.synopsis">
+<ANCHOR id="PopplerMovie.functions" href="poppler/PopplerMovie.html#PopplerMovie.functions">
+<ANCHOR id="PopplerMovie.other" href="poppler/PopplerMovie.html#PopplerMovie.other">
<ANCHOR id="PopplerMovie.object-hierarchy" href="poppler/PopplerMovie.html#PopplerMovie.object-hierarchy">
+<ANCHOR id="PopplerMovie.includes" href="poppler/PopplerMovie.html#PopplerMovie.includes">
<ANCHOR id="PopplerMovie.description" href="poppler/PopplerMovie.html#PopplerMovie.description">
-<ANCHOR id="PopplerMovie.details" href="poppler/PopplerMovie.html#PopplerMovie.details">
-<ANCHOR id="PopplerMovie-struct" href="poppler/PopplerMovie.html#PopplerMovie-struct">
+<ANCHOR id="PopplerMovie.functions_details" href="poppler/PopplerMovie.html#PopplerMovie.functions_details">
<ANCHOR id="poppler-movie-get-filename" href="poppler/PopplerMovie.html#poppler-movie-get-filename">
<ANCHOR id="poppler-movie-need-poster" href="poppler/PopplerMovie.html#poppler-movie-need-poster">
<ANCHOR id="poppler-movie-show-controls" href="poppler/PopplerMovie.html#poppler-movie-show-controls">
+<ANCHOR id="PopplerMovie.other_details" href="poppler/PopplerMovie.html#PopplerMovie.other_details">
+<ANCHOR id="PopplerMovie-struct" href="poppler/PopplerMovie.html#PopplerMovie-struct">
+<ANCHOR id="PopplerStructureElement" href="poppler/PopplerStructureElement.html">
+<ANCHOR id="PopplerStructureElement.functions" href="poppler/PopplerStructureElement.html#PopplerStructureElement.functions">
+<ANCHOR id="PopplerStructureElementIter" href="poppler/PopplerStructureElement.html#PopplerStructureElementIter">
+<ANCHOR id="PopplerStructureElement.other" href="poppler/PopplerStructureElement.html#PopplerStructureElement.other">
+<ANCHOR id="PopplerStructureElement.object-hierarchy" href="poppler/PopplerStructureElement.html#PopplerStructureElement.object-hierarchy">
+<ANCHOR id="PopplerStructureElement.includes" href="poppler/PopplerStructureElement.html#PopplerStructureElement.includes">
+<ANCHOR id="PopplerStructureElement.description" href="poppler/PopplerStructureElement.html#PopplerStructureElement.description">
+<ANCHOR id="PopplerStructureElement.functions_details" href="poppler/PopplerStructureElement.html#PopplerStructureElement.functions_details">
+<ANCHOR id="poppler-structure-element-iter-new" href="poppler/PopplerStructureElement.html#poppler-structure-element-iter-new">
+<ANCHOR id="poppler-structure-element-iter-next" href="poppler/PopplerStructureElement.html#poppler-structure-element-iter-next">
+<ANCHOR id="poppler-structure-element-iter-copy" href="poppler/PopplerStructureElement.html#poppler-structure-element-iter-copy">
+<ANCHOR id="poppler-structure-element-iter-free" href="poppler/PopplerStructureElement.html#poppler-structure-element-iter-free">
+<ANCHOR id="poppler-structure-element-iter-get-child" href="poppler/PopplerStructureElement.html#poppler-structure-element-iter-get-child">
+<ANCHOR id="poppler-structure-element-iter-get-element" href="poppler/PopplerStructureElement.html#poppler-structure-element-iter-get-element">
+<ANCHOR id="poppler-structure-element-get-kind" href="poppler/PopplerStructureElement.html#poppler-structure-element-get-kind">
+<ANCHOR id="poppler-structure-element-get-page" href="poppler/PopplerStructureElement.html#poppler-structure-element-get-page">
+<ANCHOR id="poppler-structure-element-is-content" href="poppler/PopplerStructureElement.html#poppler-structure-element-is-content">
+<ANCHOR id="poppler-structure-element-is-inline" href="poppler/PopplerStructureElement.html#poppler-structure-element-is-inline">
+<ANCHOR id="poppler-structure-element-is-block" href="poppler/PopplerStructureElement.html#poppler-structure-element-is-block">
+<ANCHOR id="poppler-structure-element-is-grouping" href="poppler/PopplerStructureElement.html#poppler-structure-element-is-grouping">
+<ANCHOR id="poppler-structure-element-get-id" href="poppler/PopplerStructureElement.html#poppler-structure-element-get-id">
+<ANCHOR id="poppler-structure-element-get-title" href="poppler/PopplerStructureElement.html#poppler-structure-element-get-title">
+<ANCHOR id="poppler-structure-element-get-abbreviation" href="poppler/PopplerStructureElement.html#poppler-structure-element-get-abbreviation">
+<ANCHOR id="poppler-structure-element-get-language" href="poppler/PopplerStructureElement.html#poppler-structure-element-get-language">
+<ANCHOR id="poppler-structure-element-get-text" href="poppler/PopplerStructureElement.html#poppler-structure-element-get-text">
+<ANCHOR id="poppler-structure-element-get-alt-text" href="poppler/PopplerStructureElement.html#poppler-structure-element-get-alt-text">
+<ANCHOR id="poppler-structure-element-get-actual-text" href="poppler/PopplerStructureElement.html#poppler-structure-element-get-actual-text">
+<ANCHOR id="poppler-structure-element-get-text-spans" href="poppler/PopplerStructureElement.html#poppler-structure-element-get-text-spans">
+<ANCHOR id="poppler-structure-element-get-placement" href="poppler/PopplerStructureElement.html#poppler-structure-element-get-placement">
+<ANCHOR id="poppler-structure-element-get-writing-mode" href="poppler/PopplerStructureElement.html#poppler-structure-element-get-writing-mode">
+<ANCHOR id="poppler-structure-element-get-background-color" href="poppler/PopplerStructureElement.html#poppler-structure-element-get-background-color">
+<ANCHOR id="poppler-structure-element-get-border-color" href="poppler/PopplerStructureElement.html#poppler-structure-element-get-border-color">
+<ANCHOR id="poppler-structure-element-get-border-style" href="poppler/PopplerStructureElement.html#poppler-structure-element-get-border-style">
+<ANCHOR id="poppler-structure-element-get-border-thickness" href="poppler/PopplerStructureElement.html#poppler-structure-element-get-border-thickness">
+<ANCHOR id="poppler-structure-element-get-padding" href="poppler/PopplerStructureElement.html#poppler-structure-element-get-padding">
+<ANCHOR id="poppler-structure-element-get-color" href="poppler/PopplerStructureElement.html#poppler-structure-element-get-color">
+<ANCHOR id="poppler-structure-element-get-space-before" href="poppler/PopplerStructureElement.html#poppler-structure-element-get-space-before">
+<ANCHOR id="poppler-structure-element-get-space-after" href="poppler/PopplerStructureElement.html#poppler-structure-element-get-space-after">
+<ANCHOR id="poppler-structure-element-get-start-indent" href="poppler/PopplerStructureElement.html#poppler-structure-element-get-start-indent">
+<ANCHOR id="poppler-structure-element-get-end-indent" href="poppler/PopplerStructureElement.html#poppler-structure-element-get-end-indent">
+<ANCHOR id="poppler-structure-element-get-text-indent" href="poppler/PopplerStructureElement.html#poppler-structure-element-get-text-indent">
+<ANCHOR id="poppler-structure-element-get-text-align" href="poppler/PopplerStructureElement.html#poppler-structure-element-get-text-align">
+<ANCHOR id="poppler-structure-element-get-bounding-box" href="poppler/PopplerStructureElement.html#poppler-structure-element-get-bounding-box">
+<ANCHOR id="poppler-structure-element-get-width" href="poppler/PopplerStructureElement.html#poppler-structure-element-get-width">
+<ANCHOR id="poppler-structure-element-get-height" href="poppler/PopplerStructureElement.html#poppler-structure-element-get-height">
+<ANCHOR id="poppler-structure-element-get-block-align" href="poppler/PopplerStructureElement.html#poppler-structure-element-get-block-align">
+<ANCHOR id="poppler-structure-element-get-inline-align" href="poppler/PopplerStructureElement.html#poppler-structure-element-get-inline-align">
+<ANCHOR id="poppler-structure-element-get-table-border-style" href="poppler/PopplerStructureElement.html#poppler-structure-element-get-table-border-style">
+<ANCHOR id="poppler-structure-element-get-table-padding" href="poppler/PopplerStructureElement.html#poppler-structure-element-get-table-padding">
+<ANCHOR id="poppler-structure-element-get-baseline-shift" href="poppler/PopplerStructureElement.html#poppler-structure-element-get-baseline-shift">
+<ANCHOR id="poppler-structure-element-get-line-height" href="poppler/PopplerStructureElement.html#poppler-structure-element-get-line-height">
+<ANCHOR id="poppler-structure-element-get-text-decoration-color" href="poppler/PopplerStructureElement.html#poppler-structure-element-get-text-decoration-color">
+<ANCHOR id="poppler-structure-element-get-text-decoration-thickness" href="poppler/PopplerStructureElement.html#poppler-structure-element-get-text-decoration-thickness">
+<ANCHOR id="poppler-structure-element-get-text-decoration-type" href="poppler/PopplerStructureElement.html#poppler-structure-element-get-text-decoration-type">
+<ANCHOR id="poppler-structure-element-get-ruby-align" href="poppler/PopplerStructureElement.html#poppler-structure-element-get-ruby-align">
+<ANCHOR id="poppler-structure-element-get-ruby-position" href="poppler/PopplerStructureElement.html#poppler-structure-element-get-ruby-position">
+<ANCHOR id="poppler-structure-element-get-glyph-orientation" href="poppler/PopplerStructureElement.html#poppler-structure-element-get-glyph-orientation">
+<ANCHOR id="poppler-structure-element-get-column-count" href="poppler/PopplerStructureElement.html#poppler-structure-element-get-column-count">
+<ANCHOR id="poppler-structure-element-get-column-gaps" href="poppler/PopplerStructureElement.html#poppler-structure-element-get-column-gaps">
+<ANCHOR id="poppler-structure-element-get-column-widths" href="poppler/PopplerStructureElement.html#poppler-structure-element-get-column-widths">
+<ANCHOR id="poppler-structure-element-get-list-numbering" href="poppler/PopplerStructureElement.html#poppler-structure-element-get-list-numbering">
+<ANCHOR id="poppler-structure-element-get-form-role" href="poppler/PopplerStructureElement.html#poppler-structure-element-get-form-role">
+<ANCHOR id="poppler-structure-element-get-form-state" href="poppler/PopplerStructureElement.html#poppler-structure-element-get-form-state">
+<ANCHOR id="poppler-structure-element-get-form-description" href="poppler/PopplerStructureElement.html#poppler-structure-element-get-form-description">
+<ANCHOR id="poppler-structure-element-get-table-row-span" href="poppler/PopplerStructureElement.html#poppler-structure-element-get-table-row-span">
+<ANCHOR id="poppler-structure-element-get-table-column-span" href="poppler/PopplerStructureElement.html#poppler-structure-element-get-table-column-span">
+<ANCHOR id="poppler-structure-element-get-table-headers" href="poppler/PopplerStructureElement.html#poppler-structure-element-get-table-headers">
+<ANCHOR id="poppler-structure-element-get-table-scope" href="poppler/PopplerStructureElement.html#poppler-structure-element-get-table-scope">
+<ANCHOR id="poppler-structure-element-get-table-summary" href="poppler/PopplerStructureElement.html#poppler-structure-element-get-table-summary">
+<ANCHOR id="poppler-text-span-copy" href="poppler/PopplerStructureElement.html#poppler-text-span-copy">
+<ANCHOR id="poppler-text-span-free" href="poppler/PopplerStructureElement.html#poppler-text-span-free">
+<ANCHOR id="poppler-text-span-is-fixed-width-font" href="poppler/PopplerStructureElement.html#poppler-text-span-is-fixed-width-font">
+<ANCHOR id="poppler-text-span-is-serif-font" href="poppler/PopplerStructureElement.html#poppler-text-span-is-serif-font">
+<ANCHOR id="poppler-text-span-is-bold-font" href="poppler/PopplerStructureElement.html#poppler-text-span-is-bold-font">
+<ANCHOR id="poppler-text-span-get-color" href="poppler/PopplerStructureElement.html#poppler-text-span-get-color">
+<ANCHOR id="poppler-text-span-get-text" href="poppler/PopplerStructureElement.html#poppler-text-span-get-text">
+<ANCHOR id="poppler-text-span-get-font-name" href="poppler/PopplerStructureElement.html#poppler-text-span-get-font-name">
+<ANCHOR id="PopplerStructureElement.other_details" href="poppler/PopplerStructureElement.html#PopplerStructureElement.other_details">
+<ANCHOR id="PopplerStructureElement-struct" href="poppler/PopplerStructureElement.html#PopplerStructureElement-struct">
+<ANCHOR id="PopplerStructureElementKind" href="poppler/PopplerStructureElement.html#PopplerStructureElementKind">
+<ANCHOR id="PopplerStructureElementIter-struct" href="poppler/PopplerStructureElement.html#PopplerStructureElementIter-struct">
+<ANCHOR id="PopplerStructureGetTextFlags" href="poppler/PopplerStructureElement.html#PopplerStructureGetTextFlags">
+<ANCHOR id="PopplerStructurePlacement" href="poppler/PopplerStructureElement.html#PopplerStructurePlacement">
+<ANCHOR id="PopplerStructureWritingMode" href="poppler/PopplerStructureElement.html#PopplerStructureWritingMode">
+<ANCHOR id="PopplerStructureBorderStyle" href="poppler/PopplerStructureElement.html#PopplerStructureBorderStyle">
+<ANCHOR id="PopplerStructureTextAlign" href="poppler/PopplerStructureElement.html#PopplerStructureTextAlign">
+<ANCHOR id="PopplerStructureBlockAlign" href="poppler/PopplerStructureElement.html#PopplerStructureBlockAlign">
+<ANCHOR id="PopplerStructureInlineAlign" href="poppler/PopplerStructureElement.html#PopplerStructureInlineAlign">
+<ANCHOR id="PopplerStructureTextDecoration" href="poppler/PopplerStructureElement.html#PopplerStructureTextDecoration">
+<ANCHOR id="PopplerStructureRubyAlign" href="poppler/PopplerStructureElement.html#PopplerStructureRubyAlign">
+<ANCHOR id="PopplerStructureRubyPosition" href="poppler/PopplerStructureElement.html#PopplerStructureRubyPosition">
+<ANCHOR id="PopplerStructureGlyphOrientation" href="poppler/PopplerStructureElement.html#PopplerStructureGlyphOrientation">
+<ANCHOR id="PopplerStructureListNumbering" href="poppler/PopplerStructureElement.html#PopplerStructureListNumbering">
+<ANCHOR id="PopplerStructureTableScope" href="poppler/PopplerStructureElement.html#PopplerStructureTableScope">
+<ANCHOR id="PopplerStructureFormRole" href="poppler/PopplerStructureElement.html#PopplerStructureFormRole">
+<ANCHOR id="PopplerStructureFormState" href="poppler/PopplerStructureElement.html#PopplerStructureFormState">
+<ANCHOR id="PopplerTextSpan" href="poppler/PopplerStructureElement.html#PopplerTextSpan">
+<ANCHOR id="PopplerStructureElement.see-also" href="poppler/PopplerStructureElement.html#PopplerStructureElement.see-also">
<ANCHOR id="poppler-Version-and-Features-Information" href="poppler/poppler-Version-and-Features-Information.html">
-<ANCHOR id="poppler-Version-and-Features-Information.synopsis" href="poppler/poppler-Version-and-Features-Information.html#poppler-Version-and-Features-Information.synopsis">
+<ANCHOR id="poppler-Version-and-Features-Information.functions" href="poppler/poppler-Version-and-Features-Information.html#poppler-Version-and-Features-Information.functions">
+<ANCHOR id="poppler-Version-and-Features-Information.other" href="poppler/poppler-Version-and-Features-Information.html#poppler-Version-and-Features-Information.other">
+<ANCHOR id="poppler-Version-and-Features-Information.includes" href="poppler/poppler-Version-and-Features-Information.html#poppler-Version-and-Features-Information.includes">
<ANCHOR id="poppler-Version-and-Features-Information.description" href="poppler/poppler-Version-and-Features-Information.html#poppler-Version-and-Features-Information.description">
-<ANCHOR id="poppler-Version-and-Features-Information.details" href="poppler/poppler-Version-and-Features-Information.html#poppler-Version-and-Features-Information.details">
-<ANCHOR id="POPPLER-HAS-CAIRO:CAPS" href="poppler/poppler-Version-and-Features-Information.html#POPPLER-HAS-CAIRO:CAPS">
+<ANCHOR id="poppler-Version-and-Features-Information.functions_details" href="poppler/poppler-Version-and-Features-Information.html#poppler-Version-and-Features-Information.functions_details">
<ANCHOR id="POPPLER-MAJOR-VERSION:CAPS" href="poppler/poppler-Version-and-Features-Information.html#POPPLER-MAJOR-VERSION:CAPS">
<ANCHOR id="POPPLER-MINOR-VERSION:CAPS" href="poppler/poppler-Version-and-Features-Information.html#POPPLER-MINOR-VERSION:CAPS">
<ANCHOR id="POPPLER-MICRO-VERSION:CAPS" href="poppler/poppler-Version-and-Features-Information.html#POPPLER-MICRO-VERSION:CAPS">
<ANCHOR id="POPPLER-CHECK-VERSION:CAPS" href="poppler/poppler-Version-and-Features-Information.html#POPPLER-CHECK-VERSION:CAPS">
-<ANCHOR id="annotation-glossterm-out" href="poppler/annotation-glossary.html#annotation-glossterm-out">
+<ANCHOR id="poppler-Version-and-Features-Information.other_details" href="poppler/poppler-Version-and-Features-Information.html#poppler-Version-and-Features-Information.other_details">
+<ANCHOR id="POPPLER-HAS-CAIRO:CAPS" href="poppler/poppler-Version-and-Features-Information.html#POPPLER-HAS-CAIRO:CAPS">
<ANCHOR id="annotation-glossterm-allow-none" href="poppler/annotation-glossary.html#annotation-glossterm-allow-none">
-<ANCHOR id="annotation-glossterm-closure" href="poppler/annotation-glossary.html#annotation-glossterm-closure">
-<ANCHOR id="annotation-glossterm-transfer none" href="poppler/annotation-glossary.html#annotation-glossterm-transfer none">
<ANCHOR id="annotation-glossterm-array" href="poppler/annotation-glossary.html#annotation-glossterm-array">
+<ANCHOR id="annotation-glossterm-closure" href="poppler/annotation-glossary.html#annotation-glossterm-closure">
<ANCHOR id="annotation-glossterm-element-type" href="poppler/annotation-glossary.html#annotation-glossterm-element-type">
+<ANCHOR id="annotation-glossterm-out" href="poppler/annotation-glossary.html#annotation-glossterm-out">
+<ANCHOR id="annotation-glossterm-scope call" href="poppler/annotation-glossary.html#annotation-glossterm-scope call">
<ANCHOR id="annotation-glossterm-transfer container" href="poppler/annotation-glossary.html#annotation-glossterm-transfer container">
<ANCHOR id="annotation-glossterm-transfer full" href="poppler/annotation-glossary.html#annotation-glossterm-transfer full">
-<ANCHOR id="annotation-glossterm-scope call" href="poppler/annotation-glossary.html#annotation-glossterm-scope call">
+<ANCHOR id="annotation-glossterm-transfer none" href="poppler/annotation-glossary.html#annotation-glossterm-transfer none">
diff --git a/glib/reference/html/left-insensitive.png b/glib/reference/html/left-insensitive.png
new file mode 100644
index 00000000..9b8005bf
--- /dev/null
+++ b/glib/reference/html/left-insensitive.png
Binary files differ
diff --git a/glib/reference/html/left.png b/glib/reference/html/left.png
index d92a8ff0..c518641e 100644
--- a/glib/reference/html/left.png
+++ b/glib/reference/html/left.png
Binary files differ
diff --git a/glib/reference/html/poppler-PopplerAction.html b/glib/reference/html/poppler-PopplerAction.html
index 79ea98ed..2bce2c23 100644
--- a/glib/reference/html/poppler-PopplerAction.html
+++ b/glib/reference/html/poppler-PopplerAction.html
@@ -2,30 +2,26 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>PopplerAction</title>
+<title>Poppler Reference Manual: PopplerAction</title>
<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<link rel="home" href="index.html" title="Poppler Reference Manual">
<link rel="up" href="ch01.html" title="Poppler">
<link rel="prev" href="PopplerPage.html" title="PopplerPage">
<link rel="next" href="PopplerAttachment.html" title="PopplerAttachment">
-<meta name="generator" content="GTK-Doc V1.19 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
-<tr valign="middle">
-<td><a accesskey="p" href="PopplerPage.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
-<td><a accesskey="u" href="ch01.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
-<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
-<th width="100%" align="center">Poppler Reference Manual</th>
-<td><a accesskey="n" href="PopplerAttachment.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
-</tr>
-<tr><td colspan="5" class="shortcuts">
-<a href="#poppler-PopplerAction.synopsis" class="shortcut">Top</a>
-  | 
- <a href="#poppler-PopplerAction.description" class="shortcut">Description</a>
-</td></tr>
-</table>
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts">
+<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
+ <a href="#poppler-PopplerAction.description" class="shortcut">Description</a></span>
+</td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="ch01.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="PopplerPage.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="PopplerAttachment.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
<div class="refentry">
<a name="poppler-PopplerAction"></a><div class="titlepage"></div>
<div class="refnamediv"><table width="100%"><tr>
@@ -33,61 +29,249 @@
<h2><span class="refentrytitle"><a name="poppler-PopplerAction.top_of_page"></a>PopplerAction</span></h2>
<p>PopplerAction — Action links</p>
</td>
-<td valign="top" align="right"></td>
+<td class="gallery_image" valign="top" align="right"></td>
</tr></table></div>
-<div class="refsynopsisdiv">
-<a name="poppler-PopplerAction.synopsis"></a><h2>Synopsis</h2>
-<pre class="synopsis">
-#include &lt;poppler.h&gt;
-
-union <a class="link" href="poppler-PopplerAction.html#PopplerAction" title="union PopplerAction">PopplerAction</a>;
- <a class="link" href="poppler-PopplerAction.html#PopplerDest" title="PopplerDest">PopplerDest</a>;
-struct <a class="link" href="poppler-PopplerAction.html#PopplerActionAny" title="struct PopplerActionAny">PopplerActionAny</a>;
-struct <a class="link" href="poppler-PopplerAction.html#PopplerActionGotoDest" title="struct PopplerActionGotoDest">PopplerActionGotoDest</a>;
-struct <a class="link" href="poppler-PopplerAction.html#PopplerActionGotoRemote" title="struct PopplerActionGotoRemote">PopplerActionGotoRemote</a>;
-struct <a class="link" href="poppler-PopplerAction.html#PopplerActionLaunch" title="struct PopplerActionLaunch">PopplerActionLaunch</a>;
-struct <a class="link" href="poppler-PopplerAction.html#PopplerActionUri" title="struct PopplerActionUri">PopplerActionUri</a>;
-struct <a class="link" href="poppler-PopplerAction.html#PopplerActionNamed" title="struct PopplerActionNamed">PopplerActionNamed</a>;
-struct <a class="link" href="poppler-PopplerAction.html#PopplerActionMovie" title="struct PopplerActionMovie">PopplerActionMovie</a>;
-struct <a class="link" href="poppler-PopplerAction.html#PopplerActionRendition" title="struct PopplerActionRendition">PopplerActionRendition</a>;
-struct <a class="link" href="poppler-PopplerAction.html#PopplerActionOCGState" title="struct PopplerActionOCGState">PopplerActionOCGState</a>;
-struct <a class="link" href="poppler-PopplerAction.html#PopplerActionJavascript" title="struct PopplerActionJavascript">PopplerActionJavascript</a>;
-enum <a class="link" href="poppler-PopplerAction.html#PopplerActionType" title="enum PopplerActionType">PopplerActionType</a>;
-enum <a class="link" href="poppler-PopplerAction.html#PopplerDestType" title="enum PopplerDestType">PopplerDestType</a>;
-enum <a class="link" href="poppler-PopplerAction.html#PopplerActionMovieOperation" title="enum PopplerActionMovieOperation">PopplerActionMovieOperation</a>;
- <a class="link" href="poppler-PopplerAction.html#PopplerActionLayer" title="PopplerActionLayer">PopplerActionLayer</a>;
-enum <a class="link" href="poppler-PopplerAction.html#PopplerActionLayerAction" title="enum PopplerActionLayerAction">PopplerActionLayerAction</a>;
-<a class="link" href="poppler-PopplerAction.html#PopplerAction" title="union PopplerAction"><span class="returnvalue">PopplerAction</span></a> * <a class="link" href="poppler-PopplerAction.html#poppler-action-copy" title="poppler_action_copy ()">poppler_action_copy</a> (<em class="parameter"><code><a class="link" href="poppler-PopplerAction.html#PopplerAction" title="union PopplerAction"><span class="type">PopplerAction</span></a> *action</code></em>);
-<span class="returnvalue">void</span> <a class="link" href="poppler-PopplerAction.html#poppler-action-free" title="poppler_action_free ()">poppler_action_free</a> (<em class="parameter"><code><a class="link" href="poppler-PopplerAction.html#PopplerAction" title="union PopplerAction"><span class="type">PopplerAction</span></a> *action</code></em>);
-<a class="link" href="poppler-PopplerAction.html#PopplerDest" title="PopplerDest"><span class="returnvalue">PopplerDest</span></a> * <a class="link" href="poppler-PopplerAction.html#poppler-dest-copy" title="poppler_dest_copy ()">poppler_dest_copy</a> (<em class="parameter"><code><a class="link" href="poppler-PopplerAction.html#PopplerDest" title="PopplerDest"><span class="type">PopplerDest</span></a> *dest</code></em>);
-<span class="returnvalue">void</span> <a class="link" href="poppler-PopplerAction.html#poppler-dest-free" title="poppler_dest_free ()">poppler_dest_free</a> (<em class="parameter"><code><a class="link" href="poppler-PopplerAction.html#PopplerDest" title="PopplerDest"><span class="type">PopplerDest</span></a> *dest</code></em>);
+<div class="refsect1">
+<a name="poppler-PopplerAction.functions"></a><h2>Functions</h2>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="functions_return">
+<col class="functions_name">
+</colgroup>
+<tbody>
+<tr>
+<td class="function_type">
+<a class="link" href="poppler-PopplerAction.html#PopplerAction" title="union PopplerAction"><span class="returnvalue">PopplerAction</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="poppler-PopplerAction.html#poppler-action-copy" title="poppler_action_copy ()">poppler_action_copy</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="poppler-PopplerAction.html#poppler-action-free" title="poppler_action_free ()">poppler_action_free</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="poppler-PopplerAction.html#PopplerDest" title="PopplerDest"><span class="returnvalue">PopplerDest</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="poppler-PopplerAction.html#poppler-dest-copy" title="poppler_dest_copy ()">poppler_dest_copy</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="poppler-PopplerAction.html#poppler-dest-free" title="poppler_dest_free ()">poppler_dest_free</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="poppler-PopplerAction.other"></a><h2>Types and Values</h2>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="name">
+<col class="description">
+</colgroup>
+<tbody>
+<tr>
+<td class="datatype_keyword">union</td>
+<td class="function_name"><a class="link" href="poppler-PopplerAction.html#PopplerAction" title="union PopplerAction">PopplerAction</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword"> </td>
+<td class="function_name"><a class="link" href="poppler-PopplerAction.html#PopplerDest" title="PopplerDest">PopplerDest</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="poppler-PopplerAction.html#PopplerActionAny" title="struct PopplerActionAny">PopplerActionAny</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="poppler-PopplerAction.html#PopplerActionGotoDest" title="struct PopplerActionGotoDest">PopplerActionGotoDest</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="poppler-PopplerAction.html#PopplerActionGotoRemote" title="struct PopplerActionGotoRemote">PopplerActionGotoRemote</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="poppler-PopplerAction.html#PopplerActionLaunch" title="struct PopplerActionLaunch">PopplerActionLaunch</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="poppler-PopplerAction.html#PopplerActionUri" title="struct PopplerActionUri">PopplerActionUri</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="poppler-PopplerAction.html#PopplerActionNamed" title="struct PopplerActionNamed">PopplerActionNamed</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="poppler-PopplerAction.html#PopplerActionMovie" title="struct PopplerActionMovie">PopplerActionMovie</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="poppler-PopplerAction.html#PopplerActionRendition" title="struct PopplerActionRendition">PopplerActionRendition</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="poppler-PopplerAction.html#PopplerActionOCGState" title="struct PopplerActionOCGState">PopplerActionOCGState</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="poppler-PopplerAction.html#PopplerActionJavascript" title="struct PopplerActionJavascript">PopplerActionJavascript</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword">enum</td>
+<td class="function_name"><a class="link" href="poppler-PopplerAction.html#PopplerActionType" title="enum PopplerActionType">PopplerActionType</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword">enum</td>
+<td class="function_name"><a class="link" href="poppler-PopplerAction.html#PopplerDestType" title="enum PopplerDestType">PopplerDestType</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword">enum</td>
+<td class="function_name"><a class="link" href="poppler-PopplerAction.html#PopplerActionMovieOperation" title="enum PopplerActionMovieOperation">PopplerActionMovieOperation</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword"> </td>
+<td class="function_name"><a class="link" href="poppler-PopplerAction.html#PopplerActionLayer" title="PopplerActionLayer">PopplerActionLayer</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword">enum</td>
+<td class="function_name"><a class="link" href="poppler-PopplerAction.html#PopplerActionLayerAction" title="enum PopplerActionLayerAction">PopplerActionLayerAction</a></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="poppler-PopplerAction.includes"></a><h2>Includes</h2>
+<pre class="synopsis">#include &lt;poppler.h&gt;
</pre>
</div>
<div class="refsect1">
<a name="poppler-PopplerAction.description"></a><h2>Description</h2>
</div>
<div class="refsect1">
-<a name="poppler-PopplerAction.details"></a><h2>Details</h2>
+<a name="poppler-PopplerAction.functions_details"></a><h2>Functions</h2>
<div class="refsect2">
-<a name="PopplerAction"></a><h3>union PopplerAction</h3>
-<pre class="programlisting">union _PopplerAction
-{
- PopplerActionType type;
- PopplerActionAny any;
- PopplerActionGotoDest goto_dest;
- PopplerActionGotoRemote goto_remote;
- PopplerActionLaunch launch;
- PopplerActionUri uri;
- PopplerActionNamed named;
- PopplerActionMovie movie;
- PopplerActionRendition rendition;
- PopplerActionOCGState ocg_state;
- PopplerActionJavascript javascript;
-};
-</pre>
-<p>
-A data structure for holding actions
+<a name="poppler-action-copy"></a><h3>poppler_action_copy ()</h3>
+<pre class="programlisting"><a class="link" href="poppler-PopplerAction.html#PopplerAction" title="union PopplerAction"><span class="returnvalue">PopplerAction</span></a> *
+poppler_action_copy (<em class="parameter"><code><a class="link" href="poppler-PopplerAction.html#PopplerAction" title="union PopplerAction"><span class="type">PopplerAction</span></a> *action</code></em>);</pre>
+<p>Copies <em class="parameter"><code>action</code></em>
+, creating an identical <a class="link" href="poppler-PopplerAction.html#PopplerAction" title="union PopplerAction"><span class="type">PopplerAction</span></a>.</p>
+<div class="refsect3">
+<a name="id-1.2.5.7.2.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>action</p></td>
+<td class="parameter_description"><p>a <a class="link" href="poppler-PopplerAction.html#PopplerAction" title="union PopplerAction"><span class="type">PopplerAction</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.2.5.7.2.6"></a><h4>Returns</h4>
+<p> a new action identical to <em class="parameter"><code>action</code></em>
+</p>
+<p></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="poppler-action-free"></a><h3>poppler_action_free ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+poppler_action_free (<em class="parameter"><code><a class="link" href="poppler-PopplerAction.html#PopplerAction" title="union PopplerAction"><span class="type">PopplerAction</span></a> *action</code></em>);</pre>
+<p>Frees <em class="parameter"><code>action</code></em>
+</p>
+<div class="refsect3">
+<a name="id-1.2.5.7.3.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>action</p></td>
+<td class="parameter_description"><p>a <a class="link" href="poppler-PopplerAction.html#PopplerAction" title="union PopplerAction"><span class="type">PopplerAction</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="poppler-dest-copy"></a><h3>poppler_dest_copy ()</h3>
+<pre class="programlisting"><a class="link" href="poppler-PopplerAction.html#PopplerDest" title="PopplerDest"><span class="returnvalue">PopplerDest</span></a> *
+poppler_dest_copy (<em class="parameter"><code><a class="link" href="poppler-PopplerAction.html#PopplerDest" title="PopplerDest"><span class="type">PopplerDest</span></a> *dest</code></em>);</pre>
+<p>Copies <em class="parameter"><code>dest</code></em>
+, creating an identical <a class="link" href="poppler-PopplerAction.html#PopplerDest" title="PopplerDest"><span class="type">PopplerDest</span></a>.</p>
+<div class="refsect3">
+<a name="id-1.2.5.7.4.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>dest</p></td>
+<td class="parameter_description"><p>a <a class="link" href="poppler-PopplerAction.html#PopplerDest" title="PopplerDest"><span class="type">PopplerDest</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.2.5.7.4.6"></a><h4>Returns</h4>
+<p> a new destination identical to <em class="parameter"><code>dest</code></em>
+</p>
+<p></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="poppler-dest-free"></a><h3>poppler_dest_free ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+poppler_dest_free (<em class="parameter"><code><a class="link" href="poppler-PopplerAction.html#PopplerDest" title="PopplerDest"><span class="type">PopplerDest</span></a> *dest</code></em>);</pre>
+<p>Frees <em class="parameter"><code>dest</code></em>
</p>
+<div class="refsect3">
+<a name="id-1.2.5.7.5.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>dest</p></td>
+<td class="parameter_description"><p>a <a class="link" href="poppler-PopplerAction.html#PopplerDest" title="PopplerDest"><span class="type">PopplerDest</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+</div>
+</div>
+<div class="refsect1">
+<a name="poppler-PopplerAction.other_details"></a><h2>Types and Values</h2>
+<div class="refsect2">
+<a name="PopplerAction"></a><h3>union PopplerAction</h3>
+<p>A data structure for holding actions</p>
</div>
<hr>
<div class="refsect2">
@@ -107,62 +291,75 @@ A data structure for holding actions
guint change_zoom : 1;
} PopplerDest;
</pre>
-<p>
-Data structure for holding a destination
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<p>Data structure for holding a destination</p>
+<div class="refsect3">
+<a name="id-1.2.5.8.3.5"></a><h4>Members</h4>
+<div class="informaltable"><table width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="300px" class="struct_members_name">
+<col class="struct_members_description">
+<col width="200px" class="struct_members_annotations">
</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><a class="link" href="poppler-PopplerAction.html#PopplerDestType" title="enum PopplerDestType"><span class="type">PopplerDestType</span></a> <em class="structfield"><code><a name="PopplerDest.type"></a>type</code></em>;</span></p></td>
-<td>type of destination</td>
+<td class="struct_member_name"><p><a class="link" href="poppler-PopplerAction.html#PopplerDestType" title="enum PopplerDestType"><span class="type">PopplerDestType</span></a> <em class="structfield"><code><a name="PopplerDest.type"></a>type</code></em>;</p></td>
+<td class="struct_member_description"><p>type of destination</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">int</span> <em class="structfield"><code><a name="PopplerDest.page-num"></a>page_num</code></em>;</span></p></td>
-<td>page number</td>
+<td class="struct_member_name"><p><span class="type">int</span> <em class="structfield"><code><a name="PopplerDest.page-num"></a>page_num</code></em>;</p></td>
+<td class="struct_member_description"><p>page number</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">double</span> <em class="structfield"><code><a name="PopplerDest.left"></a>left</code></em>;</span></p></td>
-<td>left coordinate</td>
+<td class="struct_member_name"><p><span class="type">double</span> <em class="structfield"><code><a name="PopplerDest.left"></a>left</code></em>;</p></td>
+<td class="struct_member_description"><p>left coordinate</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">double</span> <em class="structfield"><code><a name="PopplerDest.bottom"></a>bottom</code></em>;</span></p></td>
-<td>bottom coordinate</td>
+<td class="struct_member_name"><p><span class="type">double</span> <em class="structfield"><code><a name="PopplerDest.bottom"></a>bottom</code></em>;</p></td>
+<td class="struct_member_description"><p>bottom coordinate</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">double</span> <em class="structfield"><code><a name="PopplerDest.right"></a>right</code></em>;</span></p></td>
-<td>right coordinate</td>
+<td class="struct_member_name"><p><span class="type">double</span> <em class="structfield"><code><a name="PopplerDest.right"></a>right</code></em>;</p></td>
+<td class="struct_member_description"><p>right coordinate</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">double</span> <em class="structfield"><code><a name="PopplerDest.top"></a>top</code></em>;</span></p></td>
-<td>top coordinate</td>
+<td class="struct_member_name"><p><span class="type">double</span> <em class="structfield"><code><a name="PopplerDest.top"></a>top</code></em>;</p></td>
+<td class="struct_member_description"><p>top coordinate</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">double</span> <em class="structfield"><code><a name="PopplerDest.zoom"></a>zoom</code></em>;</span></p></td>
-<td>scale factor</td>
+<td class="struct_member_name"><p><span class="type">double</span> <em class="structfield"><code><a name="PopplerDest.zoom"></a>zoom</code></em>;</p></td>
+<td class="struct_member_description"><p>scale factor</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *<em class="structfield"><code><a name="PopplerDest.named-dest"></a>named_dest</code></em>;</span></p></td>
-<td>name of the destination (<a class="link" href="poppler-PopplerAction.html#POPPLER-DEST-NAMED:CAPS"><span class="type">POPPLER_DEST_NAMED</span></a> only)</td>
+<td class="struct_member_name"><p><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *<em class="structfield"><code><a name="PopplerDest.named-dest"></a>named_dest</code></em>;</p></td>
+<td class="struct_member_description"><p>name of the destination (<a class="link" href="poppler-PopplerAction.html#POPPLER-DEST-NAMED:CAPS"><span class="type">POPPLER_DEST_NAMED</span></a> only)</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> <em class="structfield"><code><a name="PopplerDest.change-left"></a>change_left</code></em> : 1;</span></p></td>
-<td>whether left coordinate should be changed</td>
+<td class="struct_member_name"><p><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> <em class="structfield"><code><a name="PopplerDest.change-left"></a>change_left</code></em> : 1;</p></td>
+<td class="struct_member_description"><p>whether left coordinate should be changed</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> <em class="structfield"><code><a name="PopplerDest.change-top"></a>change_top</code></em> : 1;</span></p></td>
-<td>whether top coordinate should be changed</td>
+<td class="struct_member_name"><p><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> <em class="structfield"><code><a name="PopplerDest.change-top"></a>change_top</code></em> : 1;</p></td>
+<td class="struct_member_description"><p>whether top coordinate should be changed</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> <em class="structfield"><code><a name="PopplerDest.change-zoom"></a>change_zoom</code></em> : 1;</span></p></td>
-<td>whether scale factor should be changed</td>
+<td class="struct_member_name"><p><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> <em class="structfield"><code><a name="PopplerDest.change-zoom"></a>change_zoom</code></em> : 1;</p></td>
+<td class="struct_member_description"><p>whether scale factor should be changed</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
+</div>
<hr>
<div class="refsect2">
<a name="PopplerActionAny"></a><h3>struct PopplerActionAny</h3>
@@ -278,223 +475,245 @@ Data structure for holding a destination
<hr>
<div class="refsect2">
<a name="PopplerActionType"></a><h3>enum PopplerActionType</h3>
-<pre class="programlisting">typedef enum {
- POPPLER_ACTION_UNKNOWN, /* unknown action */
- POPPLER_ACTION_NONE, /* no action specified */
- POPPLER_ACTION_GOTO_DEST, /* go to destination */
- POPPLER_ACTION_GOTO_REMOTE, /* go to destination in new file */
- POPPLER_ACTION_LAUNCH, /* launch app (or open document) */
- POPPLER_ACTION_URI, /* URI */
- POPPLER_ACTION_NAMED, /* named action*/
- POPPLER_ACTION_MOVIE, /* movie action */
- POPPLER_ACTION_RENDITION, /* rendition action */
- POPPLER_ACTION_OCG_STATE, /* Set-OCG-State action */
- POPPLER_ACTION_JAVASCRIPT /* Javascript action */
-} PopplerActionType;
-</pre>
-<p>
-Action types
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<p>Action types</p>
+<div class="refsect3">
+<a name="id-1.2.5.8.14.4"></a><h4>Members</h4>
+<div class="informaltable"><table width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="300px" class="enum_members_name">
+<col class="enum_members_description">
+<col width="200px" class="enum_members_annotations">
</colgroup>
<tbody>
<tr>
-<td><p><a name="POPPLER-ACTION-UNKNOWN:CAPS"></a><span class="term"><code class="literal">POPPLER_ACTION_UNKNOWN</code></span></p></td>
-<td>unknown action
+<td class="enum_member_name"><p><a name="POPPLER-ACTION-UNKNOWN:CAPS"></a>POPPLER_ACTION_UNKNOWN</p></td>
+<td class="enum_member_description">
+<p>unknown action</p>
</td>
+<td class="enum_member_annotations"> </td>
</tr>
<tr>
-<td><p><a name="POPPLER-ACTION-NONE:CAPS"></a><span class="term"><code class="literal">POPPLER_ACTION_NONE</code></span></p></td>
-<td>no action specified
+<td class="enum_member_name"><p><a name="POPPLER-ACTION-NONE:CAPS"></a>POPPLER_ACTION_NONE</p></td>
+<td class="enum_member_description">
+<p>no action specified</p>
</td>
+<td class="enum_member_annotations"> </td>
</tr>
<tr>
-<td><p><a name="POPPLER-ACTION-GOTO-DEST:CAPS"></a><span class="term"><code class="literal">POPPLER_ACTION_GOTO_DEST</code></span></p></td>
-<td>go to destination
+<td class="enum_member_name"><p><a name="POPPLER-ACTION-GOTO-DEST:CAPS"></a>POPPLER_ACTION_GOTO_DEST</p></td>
+<td class="enum_member_description">
+<p>go to destination</p>
</td>
+<td class="enum_member_annotations"> </td>
</tr>
<tr>
-<td><p><a name="POPPLER-ACTION-GOTO-REMOTE:CAPS"></a><span class="term"><code class="literal">POPPLER_ACTION_GOTO_REMOTE</code></span></p></td>
-<td>go to destination in another document
+<td class="enum_member_name"><p><a name="POPPLER-ACTION-GOTO-REMOTE:CAPS"></a>POPPLER_ACTION_GOTO_REMOTE</p></td>
+<td class="enum_member_description">
+<p>go to destination in another document</p>
</td>
+<td class="enum_member_annotations"> </td>
</tr>
<tr>
-<td><p><a name="POPPLER-ACTION-LAUNCH:CAPS"></a><span class="term"><code class="literal">POPPLER_ACTION_LAUNCH</code></span></p></td>
-<td>launch app (or open document
+<td class="enum_member_name"><p><a name="POPPLER-ACTION-LAUNCH:CAPS"></a>POPPLER_ACTION_LAUNCH</p></td>
+<td class="enum_member_description">
+<p>launch app (or open document</p>
</td>
+<td class="enum_member_annotations"> </td>
</tr>
<tr>
-<td><p><a name="POPPLER-ACTION-URI:CAPS"></a><span class="term"><code class="literal">POPPLER_ACTION_URI</code></span></p></td>
-<td>URI
+<td class="enum_member_name"><p><a name="POPPLER-ACTION-URI:CAPS"></a>POPPLER_ACTION_URI</p></td>
+<td class="enum_member_description">
+<p>URI</p>
</td>
+<td class="enum_member_annotations"> </td>
</tr>
<tr>
-<td><p><a name="POPPLER-ACTION-NAMED:CAPS"></a><span class="term"><code class="literal">POPPLER_ACTION_NAMED</code></span></p></td>
-<td>predefined action
+<td class="enum_member_name"><p><a name="POPPLER-ACTION-NAMED:CAPS"></a>POPPLER_ACTION_NAMED</p></td>
+<td class="enum_member_description">
+<p>predefined action</p>
</td>
+<td class="enum_member_annotations"> </td>
</tr>
<tr>
-<td><p><a name="POPPLER-ACTION-MOVIE:CAPS"></a><span class="term"><code class="literal">POPPLER_ACTION_MOVIE</code></span></p></td>
-<td>play movies. Since 0.14
+<td class="enum_member_name"><p><a name="POPPLER-ACTION-MOVIE:CAPS"></a>POPPLER_ACTION_MOVIE</p></td>
+<td class="enum_member_description">
+<p>play movies. Since 0.14</p>
</td>
+<td class="enum_member_annotations"> </td>
</tr>
<tr>
-<td><p><a name="POPPLER-ACTION-RENDITION:CAPS"></a><span class="term"><code class="literal">POPPLER_ACTION_RENDITION</code></span></p></td>
-<td>play multimedia content. Since 0.14
+<td class="enum_member_name"><p><a name="POPPLER-ACTION-RENDITION:CAPS"></a>POPPLER_ACTION_RENDITION</p></td>
+<td class="enum_member_description">
+<p>play multimedia content. Since 0.14</p>
</td>
+<td class="enum_member_annotations"> </td>
</tr>
<tr>
-<td><p><a name="POPPLER-ACTION-OCG-STATE:CAPS"></a><span class="term"><code class="literal">POPPLER_ACTION_OCG_STATE</code></span></p></td>
-<td>state of layer. Since 0.14
+<td class="enum_member_name"><p><a name="POPPLER-ACTION-OCG-STATE:CAPS"></a>POPPLER_ACTION_OCG_STATE</p></td>
+<td class="enum_member_description">
+<p>state of layer. Since 0.14</p>
</td>
+<td class="enum_member_annotations"> </td>
</tr>
<tr>
-<td><p><a name="POPPLER-ACTION-JAVASCRIPT:CAPS"></a><span class="term"><code class="literal">POPPLER_ACTION_JAVASCRIPT</code></span></p></td>
-<td>Javascript. Since 0.18
+<td class="enum_member_name"><p><a name="POPPLER-ACTION-JAVASCRIPT:CAPS"></a>POPPLER_ACTION_JAVASCRIPT</p></td>
+<td class="enum_member_description">
+<p>Javascript. Since 0.18</p>
</td>
+<td class="enum_member_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
+</div>
<hr>
<div class="refsect2">
<a name="PopplerDestType"></a><h3>enum PopplerDestType</h3>
-<pre class="programlisting">typedef enum {
- POPPLER_DEST_UNKNOWN,
- POPPLER_DEST_XYZ,
- POPPLER_DEST_FIT,
- POPPLER_DEST_FITH,
- POPPLER_DEST_FITV,
- POPPLER_DEST_FITR,
- POPPLER_DEST_FITB,
- POPPLER_DEST_FITBH,
- POPPLER_DEST_FITBV,
- POPPLER_DEST_NAMED
-} PopplerDestType;
-</pre>
-<p>
-Destination types
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<p>Destination types</p>
+<div class="refsect3">
+<a name="id-1.2.5.8.15.4"></a><h4>Members</h4>
+<div class="informaltable"><table width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="300px" class="enum_members_name">
+<col class="enum_members_description">
+<col width="200px" class="enum_members_annotations">
</colgroup>
<tbody>
<tr>
-<td><p><a name="POPPLER-DEST-UNKNOWN:CAPS"></a><span class="term"><code class="literal">POPPLER_DEST_UNKNOWN</code></span></p></td>
-<td>unknown destination
+<td class="enum_member_name"><p><a name="POPPLER-DEST-UNKNOWN:CAPS"></a>POPPLER_DEST_UNKNOWN</p></td>
+<td class="enum_member_description">
+<p>unknown destination</p>
</td>
+<td class="enum_member_annotations"> </td>
</tr>
<tr>
-<td><p><a name="POPPLER-DEST-XYZ:CAPS"></a><span class="term"><code class="literal">POPPLER_DEST_XYZ</code></span></p></td>
-<td>go to page with coordinates (left, top)
+<td class="enum_member_name"><p><a name="POPPLER-DEST-XYZ:CAPS"></a>POPPLER_DEST_XYZ</p></td>
+<td class="enum_member_description">
+<p>go to page with coordinates (left, top)
positioned at the upper-left corner of the window and the contents of
-the page magnified by the factor zoom
+the page magnified by the factor zoom</p>
</td>
+<td class="enum_member_annotations"> </td>
</tr>
<tr>
-<td><p><a name="POPPLER-DEST-FIT:CAPS"></a><span class="term"><code class="literal">POPPLER_DEST_FIT</code></span></p></td>
-<td>go to page with its contents magnified just
+<td class="enum_member_name"><p><a name="POPPLER-DEST-FIT:CAPS"></a>POPPLER_DEST_FIT</p></td>
+<td class="enum_member_description">
+<p>go to page with its contents magnified just
enough to fit the entire page within the window both horizontally and
-vertically
+vertically</p>
</td>
+<td class="enum_member_annotations"> </td>
</tr>
<tr>
-<td><p><a name="POPPLER-DEST-FITH:CAPS"></a><span class="term"><code class="literal">POPPLER_DEST_FITH</code></span></p></td>
-<td>go to page with the vertical coordinate top
+<td class="enum_member_name"><p><a name="POPPLER-DEST-FITH:CAPS"></a>POPPLER_DEST_FITH</p></td>
+<td class="enum_member_description">
+<p>go to page with the vertical coordinate top
positioned at the top edge of the window and the contents of the page
-magnified just enough to fit the entire width of the page within the window
+magnified just enough to fit the entire width of the page within the window</p>
</td>
+<td class="enum_member_annotations"> </td>
</tr>
<tr>
-<td><p><a name="POPPLER-DEST-FITV:CAPS"></a><span class="term"><code class="literal">POPPLER_DEST_FITV</code></span></p></td>
-<td>go to page with the horizontal coordinate
+<td class="enum_member_name"><p><a name="POPPLER-DEST-FITV:CAPS"></a>POPPLER_DEST_FITV</p></td>
+<td class="enum_member_description">
+<p>go to page with the horizontal coordinate
left positioned at the left edge of the window and the contents of the
-page magnified just enough to fit the entire height of the page within the window
+page magnified just enough to fit the entire height of the page within the window</p>
</td>
+<td class="enum_member_annotations"> </td>
</tr>
<tr>
-<td><p><a name="POPPLER-DEST-FITR:CAPS"></a><span class="term"><code class="literal">POPPLER_DEST_FITR</code></span></p></td>
-<td>go to page with its contents magnified just
+<td class="enum_member_name"><p><a name="POPPLER-DEST-FITR:CAPS"></a>POPPLER_DEST_FITR</p></td>
+<td class="enum_member_description">
+<p>go to page with its contents magnified just
enough to fit the rectangle specified by the coordinates left, bottom,
-right, and top entirely within the window both horizontally and vertically
+right, and top entirely within the window both horizontally and vertically</p>
</td>
+<td class="enum_member_annotations"> </td>
</tr>
<tr>
-<td><p><a name="POPPLER-DEST-FITB:CAPS"></a><span class="term"><code class="literal">POPPLER_DEST_FITB</code></span></p></td>
-<td>go to page with its contents magnified just enough to fit
-its bounding box entirely within the window both horizontally and vertically
+<td class="enum_member_name"><p><a name="POPPLER-DEST-FITB:CAPS"></a>POPPLER_DEST_FITB</p></td>
+<td class="enum_member_description">
+<p>go to page with its contents magnified just enough to fit
+its bounding box entirely within the window both horizontally and vertically</p>
</td>
+<td class="enum_member_annotations"> </td>
</tr>
<tr>
-<td><p><a name="POPPLER-DEST-FITBH:CAPS"></a><span class="term"><code class="literal">POPPLER_DEST_FITBH</code></span></p></td>
-<td>go to page with the vertical
+<td class="enum_member_name"><p><a name="POPPLER-DEST-FITBH:CAPS"></a>POPPLER_DEST_FITBH</p></td>
+<td class="enum_member_description">
+<p>go to page with the vertical
coordinate top positioned at the top edge of the window and the
contents of the page magnified just enough to fit the entire width of its
-bounding box within the window
+bounding box within the window</p>
</td>
+<td class="enum_member_annotations"> </td>
</tr>
<tr>
-<td><p><a name="POPPLER-DEST-FITBV:CAPS"></a><span class="term"><code class="literal">POPPLER_DEST_FITBV</code></span></p></td>
-<td>go to page with the horizontal
+<td class="enum_member_name"><p><a name="POPPLER-DEST-FITBV:CAPS"></a>POPPLER_DEST_FITBV</p></td>
+<td class="enum_member_description">
+<p>go to page with the horizontal
coordinate left positioned at the left edge of the window and the
contents of the page magnified just enough to fit the entire height of its
-bounding box within the window
+bounding box within the window</p>
</td>
+<td class="enum_member_annotations"> </td>
</tr>
<tr>
-<td><p><a name="POPPLER-DEST-NAMED:CAPS"></a><span class="term"><code class="literal">POPPLER_DEST_NAMED</code></span></p></td>
-<td>got to page specified by a name. See <a class="link" href="PopplerDocument.html#poppler-document-find-dest" title="poppler_document_find_dest ()"><code class="function">poppler_document_find_dest()</code></a>
+<td class="enum_member_name"><p><a name="POPPLER-DEST-NAMED:CAPS"></a>POPPLER_DEST_NAMED</p></td>
+<td class="enum_member_description">
+<p>got to page specified by a name. See <a class="link" href="PopplerDocument.html#poppler-document-find-dest" title="poppler_document_find_dest ()"><code class="function">poppler_document_find_dest()</code></a></p>
</td>
+<td class="enum_member_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
+</div>
<hr>
<div class="refsect2">
<a name="PopplerActionMovieOperation"></a><h3>enum PopplerActionMovieOperation</h3>
-<pre class="programlisting">typedef enum {
- POPPLER_ACTION_MOVIE_PLAY,
- POPPLER_ACTION_MOVIE_PAUSE,
- POPPLER_ACTION_MOVIE_RESUME,
- POPPLER_ACTION_MOVIE_STOP
-} PopplerActionMovieOperation;
-</pre>
-<p>
-Movie operations
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<p>Movie operations</p>
+<div class="refsect3">
+<a name="id-1.2.5.8.16.4"></a><h4>Members</h4>
+<div class="informaltable"><table width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="300px" class="enum_members_name">
+<col class="enum_members_description">
+<col width="200px" class="enum_members_annotations">
</colgroup>
<tbody>
<tr>
-<td><p><a name="POPPLER-ACTION-MOVIE-PLAY:CAPS"></a><span class="term"><code class="literal">POPPLER_ACTION_MOVIE_PLAY</code></span></p></td>
-<td>play movie
+<td class="enum_member_name"><p><a name="POPPLER-ACTION-MOVIE-PLAY:CAPS"></a>POPPLER_ACTION_MOVIE_PLAY</p></td>
+<td class="enum_member_description">
+<p>play movie</p>
</td>
+<td class="enum_member_annotations"> </td>
</tr>
<tr>
-<td><p><a name="POPPLER-ACTION-MOVIE-PAUSE:CAPS"></a><span class="term"><code class="literal">POPPLER_ACTION_MOVIE_PAUSE</code></span></p></td>
-<td>pause playing movie
+<td class="enum_member_name"><p><a name="POPPLER-ACTION-MOVIE-PAUSE:CAPS"></a>POPPLER_ACTION_MOVIE_PAUSE</p></td>
+<td class="enum_member_description">
+<p>pause playing movie</p>
</td>
+<td class="enum_member_annotations"> </td>
</tr>
<tr>
-<td><p><a name="POPPLER-ACTION-MOVIE-RESUME:CAPS"></a><span class="term"><code class="literal">POPPLER_ACTION_MOVIE_RESUME</code></span></p></td>
-<td>resume paused movie
+<td class="enum_member_name"><p><a name="POPPLER-ACTION-MOVIE-RESUME:CAPS"></a>POPPLER_ACTION_MOVIE_RESUME</p></td>
+<td class="enum_member_description">
+<p>resume paused movie</p>
</td>
+<td class="enum_member_annotations"> </td>
</tr>
<tr>
-<td><p><a name="POPPLER-ACTION-MOVIE-STOP:CAPS"></a><span class="term"><code class="literal">POPPLER_ACTION_MOVIE_STOP</code></span></p></td>
-<td>stop playing movie
+<td class="enum_member_name"><p><a name="POPPLER-ACTION-MOVIE-STOP:CAPS"></a>POPPLER_ACTION_MOVIE_STOP</p></td>
+<td class="enum_member_description">
+<p>stop playing movie</p>
</td>
+<td class="enum_member_annotations"> </td>
</tr>
</tbody>
</table></div>
+</div>
<p class="since">Since 0.14</p>
</div>
<hr>
@@ -505,158 +724,73 @@ Movie operations
GList *layers;
} PopplerActionLayer;
</pre>
-<p>
-Action to perform over a list of layers
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<p>Action to perform over a list of layers</p>
+<div class="refsect3">
+<a name="id-1.2.5.8.17.5"></a><h4>Members</h4>
+<div class="informaltable"><table width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="300px" class="struct_members_name">
+<col class="struct_members_description">
+<col width="200px" class="struct_members_annotations">
</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><a class="link" href="poppler-PopplerAction.html#PopplerActionLayerAction" title="enum PopplerActionLayerAction"><span class="type">PopplerActionLayerAction</span></a> <em class="structfield"><code><a name="PopplerActionLayer.action"></a>action</code></em>;</span></p></td>
-<td>a <a class="link" href="poppler-PopplerAction.html#PopplerActionLayerAction" title="enum PopplerActionLayerAction"><span class="type">PopplerActionLayerAction</span></a>
-</td>
+<td class="struct_member_name"><p><a class="link" href="poppler-PopplerAction.html#PopplerActionLayerAction" title="enum PopplerActionLayerAction"><span class="type">PopplerActionLayerAction</span></a> <em class="structfield"><code><a name="PopplerActionLayer.action"></a>action</code></em>;</p></td>
+<td class="struct_member_description"><p>a <a class="link" href="poppler-PopplerAction.html#PopplerActionLayerAction" title="enum PopplerActionLayerAction"><span class="type">PopplerActionLayerAction</span></a></p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> *<em class="structfield"><code><a name="PopplerActionLayer.layers"></a>layers</code></em>;</span></p></td>
-<td>list of <a class="link" href="PopplerLayer.html" title="PopplerLayer"><span class="type">PopplerLayer</span></a>s</td>
+<td class="struct_member_name"><p><a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> *<em class="structfield"><code><a name="PopplerActionLayer.layers"></a>layers</code></em>;</p></td>
+<td class="struct_member_description"><p>list of <a class="link" href="PopplerLayer.html" title="PopplerLayer"><span class="type">PopplerLayer</span></a>s</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
-<hr>
-<div class="refsect2">
-<a name="PopplerActionLayerAction"></a><h3>enum PopplerActionLayerAction</h3>
-<pre class="programlisting">typedef enum {
- POPPLER_ACTION_LAYER_ON,
- POPPLER_ACTION_LAYER_OFF,
- POPPLER_ACTION_LAYER_TOGGLE
-} PopplerActionLayerAction;
-</pre>
-<p>
-Layer actions
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
-<colgroup>
-<col align="left" valign="top">
-<col>
-</colgroup>
-<tbody>
-<tr>
-<td><p><a name="POPPLER-ACTION-LAYER-ON:CAPS"></a><span class="term"><code class="literal">POPPLER_ACTION_LAYER_ON</code></span></p></td>
-<td>set layer visibility on
-</td>
-</tr>
-<tr>
-<td><p><a name="POPPLER-ACTION-LAYER-OFF:CAPS"></a><span class="term"><code class="literal">POPPLER_ACTION_LAYER_OFF</code></span></p></td>
-<td>set layer visibility off
-</td>
-</tr>
-<tr>
-<td><p><a name="POPPLER-ACTION-LAYER-TOGGLE:CAPS"></a><span class="term"><code class="literal">POPPLER_ACTION_LAYER_TOGGLE</code></span></p></td>
-<td>reverse the layer visibility state
-</td>
-</tr>
-</tbody>
-</table></div>
-<p class="since">Since 0.14</p>
</div>
<hr>
<div class="refsect2">
-<a name="poppler-action-copy"></a><h3>poppler_action_copy ()</h3>
-<pre class="programlisting"><a class="link" href="poppler-PopplerAction.html#PopplerAction" title="union PopplerAction"><span class="returnvalue">PopplerAction</span></a> * poppler_action_copy (<em class="parameter"><code><a class="link" href="poppler-PopplerAction.html#PopplerAction" title="union PopplerAction"><span class="type">PopplerAction</span></a> *action</code></em>);</pre>
-<p>
-Copies <em class="parameter"><code>action</code></em>, creating an identical <a class="link" href="poppler-PopplerAction.html#PopplerAction" title="union PopplerAction"><span class="type">PopplerAction</span></a>.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="PopplerActionLayerAction"></a><h3>enum PopplerActionLayerAction</h3>
+<p>Layer actions</p>
+<div class="refsect3">
+<a name="id-1.2.5.8.18.4"></a><h4>Members</h4>
+<div class="informaltable"><table width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="300px" class="enum_members_name">
+<col class="enum_members_description">
+<col width="200px" class="enum_members_annotations">
</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><em class="parameter"><code>action</code></em> :</span></p></td>
-<td>a <a class="link" href="poppler-PopplerAction.html#PopplerAction" title="union PopplerAction"><span class="type">PopplerAction</span></a>
+<td class="enum_member_name"><p><a name="POPPLER-ACTION-LAYER-ON:CAPS"></a>POPPLER_ACTION_LAYER_ON</p></td>
+<td class="enum_member_description">
+<p>set layer visibility on</p>
</td>
+<td class="enum_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>a new action identical to <em class="parameter"><code>action</code></em>
-</td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2">
-<a name="poppler-action-free"></a><h3>poppler_action_free ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span> poppler_action_free (<em class="parameter"><code><a class="link" href="poppler-PopplerAction.html#PopplerAction" title="union PopplerAction"><span class="type">PopplerAction</span></a> *action</code></em>);</pre>
-<p>
-Frees <em class="parameter"><code>action</code></em>
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
-<colgroup>
-<col align="left" valign="top">
-<col>
-</colgroup>
-<tbody><tr>
-<td><p><span class="term"><em class="parameter"><code>action</code></em> :</span></p></td>
-<td>a <a class="link" href="poppler-PopplerAction.html#PopplerAction" title="union PopplerAction"><span class="type">PopplerAction</span></a>
-</td>
-</tr></tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2">
-<a name="poppler-dest-copy"></a><h3>poppler_dest_copy ()</h3>
-<pre class="programlisting"><a class="link" href="poppler-PopplerAction.html#PopplerDest" title="PopplerDest"><span class="returnvalue">PopplerDest</span></a> * poppler_dest_copy (<em class="parameter"><code><a class="link" href="poppler-PopplerAction.html#PopplerDest" title="PopplerDest"><span class="type">PopplerDest</span></a> *dest</code></em>);</pre>
-<p>
-Copies <em class="parameter"><code>dest</code></em>, creating an identical <a class="link" href="poppler-PopplerAction.html#PopplerDest" title="PopplerDest"><span class="type">PopplerDest</span></a>.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
-<colgroup>
-<col align="left" valign="top">
-<col>
-</colgroup>
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>dest</code></em> :</span></p></td>
-<td>a <a class="link" href="poppler-PopplerAction.html#PopplerDest" title="PopplerDest"><span class="type">PopplerDest</span></a>
+<td class="enum_member_name"><p><a name="POPPLER-ACTION-LAYER-OFF:CAPS"></a>POPPLER_ACTION_LAYER_OFF</p></td>
+<td class="enum_member_description">
+<p>set layer visibility off</p>
</td>
+<td class="enum_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>a new destination identical to <em class="parameter"><code>dest</code></em>
+<td class="enum_member_name"><p><a name="POPPLER-ACTION-LAYER-TOGGLE:CAPS"></a>POPPLER_ACTION_LAYER_TOGGLE</p></td>
+<td class="enum_member_description">
+<p>reverse the layer visibility state</p>
</td>
+<td class="enum_member_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
-<hr>
-<div class="refsect2">
-<a name="poppler-dest-free"></a><h3>poppler_dest_free ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span> poppler_dest_free (<em class="parameter"><code><a class="link" href="poppler-PopplerAction.html#PopplerDest" title="PopplerDest"><span class="type">PopplerDest</span></a> *dest</code></em>);</pre>
-<p>
-Frees <em class="parameter"><code>dest</code></em>
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
-<colgroup>
-<col align="left" valign="top">
-<col>
-</colgroup>
-<tbody><tr>
-<td><p><span class="term"><em class="parameter"><code>dest</code></em> :</span></p></td>
-<td>a <a class="link" href="poppler-PopplerAction.html#PopplerDest" title="PopplerDest"><span class="type">PopplerDest</span></a>
-</td>
-</tr></tbody>
-</table></div>
+<p class="since">Since 0.14</p>
</div>
</div>
</div>
<div class="footer">
<hr>
- Generated by GTK-Doc V1.19</div>
+ Generated by GTK-Doc V1.21</div>
</body>
</html> \ No newline at end of file
diff --git a/glib/reference/html/poppler-Version-and-Features-Information.html b/glib/reference/html/poppler-Version-and-Features-Information.html
index 90398186..a7cbed83 100644
--- a/glib/reference/html/poppler-Version-and-Features-Information.html
+++ b/glib/reference/html/poppler-Version-and-Features-Information.html
@@ -2,30 +2,26 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Version and Features Information</title>
+<title>Poppler Reference Manual: Version and Features Information</title>
<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<link rel="home" href="index.html" title="Poppler Reference Manual">
<link rel="up" href="ch01.html" title="Poppler">
-<link rel="prev" href="PopplerMovie.html" title="PopplerMovie">
+<link rel="prev" href="PopplerStructureElement.html" title="PopplerStructureElement">
<link rel="next" href="api-index-full.html" title="Index of all symbols">
-<meta name="generator" content="GTK-Doc V1.19 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
-<tr valign="middle">
-<td><a accesskey="p" href="PopplerMovie.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
-<td><a accesskey="u" href="ch01.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
-<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
-<th width="100%" align="center">Poppler Reference Manual</th>
-<td><a accesskey="n" href="api-index-full.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
-</tr>
-<tr><td colspan="5" class="shortcuts">
-<a href="#poppler-Version-and-Features-Information.synopsis" class="shortcut">Top</a>
-  | 
- <a href="#poppler-Version-and-Features-Information.description" class="shortcut">Description</a>
-</td></tr>
-</table>
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts">
+<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
+ <a href="#poppler-Version-and-Features-Information.description" class="shortcut">Description</a></span>
+</td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="ch01.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="PopplerStructureElement.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="api-index-full.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
<div class="refentry">
<a name="poppler-Version-and-Features-Information"></a><div class="titlepage"></div>
<div class="refnamediv"><table width="100%"><tr>
@@ -33,113 +29,143 @@
<h2><span class="refentrytitle"><a name="poppler-Version-and-Features-Information.top_of_page"></a>Version and Features Information</span></h2>
<p>Version and Features Information — Variables and functions to check the poppler version and features</p>
</td>
-<td valign="top" align="right"></td>
+<td class="gallery_image" valign="top" align="right"></td>
</tr></table></div>
-<div class="refsynopsisdiv">
-<a name="poppler-Version-and-Features-Information.synopsis"></a><h2>Synopsis</h2>
-<pre class="synopsis">
-#include &lt;poppler.h&gt;
-
-#define <a class="link" href="poppler-Version-and-Features-Information.html#POPPLER-HAS-CAIRO:CAPS" title="POPPLER_HAS_CAIRO">POPPLER_HAS_CAIRO</a>
-#define <a class="link" href="poppler-Version-and-Features-Information.html#POPPLER-MAJOR-VERSION:CAPS" title="POPPLER_MAJOR_VERSION">POPPLER_MAJOR_VERSION</a>
-#define <a class="link" href="poppler-Version-and-Features-Information.html#POPPLER-MINOR-VERSION:CAPS" title="POPPLER_MINOR_VERSION">POPPLER_MINOR_VERSION</a>
-#define <a class="link" href="poppler-Version-and-Features-Information.html#POPPLER-MICRO-VERSION:CAPS" title="POPPLER_MICRO_VERSION">POPPLER_MICRO_VERSION</a>
-#define <a class="link" href="poppler-Version-and-Features-Information.html#POPPLER-CHECK-VERSION:CAPS" title="POPPLER_CHECK_VERSION()">POPPLER_CHECK_VERSION</a> (major,
- minor,
- micro)
+<div class="refsect1">
+<a name="poppler-Version-and-Features-Information.functions"></a><h2>Functions</h2>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="functions_return">
+<col class="functions_name">
+</colgroup>
+<tbody>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="poppler-Version-and-Features-Information.html#POPPLER-MAJOR-VERSION:CAPS" title="POPPLER_MAJOR_VERSION">POPPLER_MAJOR_VERSION</a></td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="poppler-Version-and-Features-Information.html#POPPLER-MINOR-VERSION:CAPS" title="POPPLER_MINOR_VERSION">POPPLER_MINOR_VERSION</a></td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="poppler-Version-and-Features-Information.html#POPPLER-MICRO-VERSION:CAPS" title="POPPLER_MICRO_VERSION">POPPLER_MICRO_VERSION</a></td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name">
+<a class="link" href="poppler-Version-and-Features-Information.html#POPPLER-CHECK-VERSION:CAPS" title="POPPLER_CHECK_VERSION()">POPPLER_CHECK_VERSION</a><span class="c_punctuation">()</span>
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="poppler-Version-and-Features-Information.other"></a><h2>Types and Values</h2>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="name">
+<col class="description">
+</colgroup>
+<tbody><tr>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="poppler-Version-and-Features-Information.html#POPPLER-HAS-CAIRO:CAPS" title="POPPLER_HAS_CAIRO">POPPLER_HAS_CAIRO</a></td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="poppler-Version-and-Features-Information.includes"></a><h2>Includes</h2>
+<pre class="synopsis">#include &lt;poppler.h&gt;
</pre>
</div>
<div class="refsect1">
<a name="poppler-Version-and-Features-Information.description"></a><h2>Description</h2>
-<p>
-Poppler provides version information, and information about features
+<p>Poppler provides version information, and information about features
enabled at compile time. This is primarily useful in configure checks
for builds that have a configure script, or for allowing code to optionally
-depend but not require a specific poppler version.
-</p>
+depend but not require a specific poppler version.</p>
</div>
<div class="refsect1">
-<a name="poppler-Version-and-Features-Information.details"></a><h2>Details</h2>
-<div class="refsect2">
-<a name="POPPLER-HAS-CAIRO:CAPS"></a><h3>POPPLER_HAS_CAIRO</h3>
-<pre class="programlisting">#define POPPLER_HAS_CAIRO 1
-</pre>
-<p>
-Defined if poppler was compiled with cairo support.
-</p>
-</div>
-<hr>
+<a name="poppler-Version-and-Features-Information.functions_details"></a><h2>Functions</h2>
<div class="refsect2">
<a name="POPPLER-MAJOR-VERSION:CAPS"></a><h3>POPPLER_MAJOR_VERSION</h3>
<pre class="programlisting">#define POPPLER_MAJOR_VERSION (0)
</pre>
-<p>
-The major version number of the poppler header files (e.g. in poppler version
-0.1.2 this is 0.)
-</p>
+<p>The major version number of the poppler header files (e.g. in poppler version
+0.1.2 this is 0.)</p>
<p class="since">Since 0.12</p>
</div>
<hr>
<div class="refsect2">
<a name="POPPLER-MINOR-VERSION:CAPS"></a><h3>POPPLER_MINOR_VERSION</h3>
-<pre class="programlisting">#define POPPLER_MINOR_VERSION (24)
+<pre class="programlisting">#define POPPLER_MINOR_VERSION (26)
</pre>
-<p>
-The major version number of the poppler header files (e.g. in poppler version
-0.1.2 this is 1.)
-</p>
+<p>The major version number of the poppler header files (e.g. in poppler version
+0.1.2 this is 1.)</p>
<p class="since">Since 0.12</p>
</div>
<hr>
<div class="refsect2">
<a name="POPPLER-MICRO-VERSION:CAPS"></a><h3>POPPLER_MICRO_VERSION</h3>
-<pre class="programlisting">#define POPPLER_MICRO_VERSION (1)
+<pre class="programlisting">#define POPPLER_MICRO_VERSION (5)
</pre>
-<p>
-The micro version number of the poppler header files (e.g. in poppler version
-0.1.2 this is 2.)
-</p>
+<p>The micro version number of the poppler header files (e.g. in poppler version
+0.1.2 this is 2.)</p>
<p class="since">Since 0.12</p>
</div>
<hr>
<div class="refsect2">
<a name="POPPLER-CHECK-VERSION:CAPS"></a><h3>POPPLER_CHECK_VERSION()</h3>
<pre class="programlisting">#define POPPLER_CHECK_VERSION(major,minor,micro)</pre>
-<p>
-Checks the version fo the poppler library
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<p>Checks the version fo the poppler library</p>
+<div class="refsect3">
+<a name="id-1.2.13.7.5.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><em class="parameter"><code>major</code></em> :</span></p></td>
-<td>major version (e.g. 0 for version 0.1.2)</td>
-</tr>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>minor</code></em> :</span></p></td>
-<td>minor version (e.g. 1 for version 0.1.2)</td>
+<td class="parameter_name"><p>major</p></td>
+<td class="parameter_description"><p>major version (e.g. 0 for version 0.1.2)</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><em class="parameter"><code>micro</code></em> :</span></p></td>
-<td>micro version (e.g. 2 for version 0.1.2)</td>
+<td class="parameter_name"><p>minor</p></td>
+<td class="parameter_description"><p>minor version (e.g. 1 for version 0.1.2)</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the version of the poppler header files is the same
-as or newer than the passed-in version</td>
+<td class="parameter_name"><p>micro</p></td>
+<td class="parameter_description"><p>micro version (e.g. 2 for version 0.1.2)</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.2.13.7.5.6"></a><h4>Returns</h4>
+<p> <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the version of the poppler header files is the same
+as or newer than the passed-in version</p>
+<p></p>
+</div>
<p class="since">Since 0.12</p>
</div>
</div>
+<div class="refsect1">
+<a name="poppler-Version-and-Features-Information.other_details"></a><h2>Types and Values</h2>
+<div class="refsect2">
+<a name="POPPLER-HAS-CAIRO:CAPS"></a><h3>POPPLER_HAS_CAIRO</h3>
+<pre class="programlisting">#define POPPLER_HAS_CAIRO 1
+</pre>
+<p>Defined if poppler was compiled with cairo support.</p>
+</div>
+</div>
</div>
<div class="footer">
<hr>
- Generated by GTK-Doc V1.19</div>
+ Generated by GTK-Doc V1.21</div>
</body>
</html> \ No newline at end of file
diff --git a/glib/reference/html/poppler-poppler.html b/glib/reference/html/poppler-poppler.html
index 1b5cbfc4..ba8df23e 100644
--- a/glib/reference/html/poppler-poppler.html
+++ b/glib/reference/html/poppler-poppler.html
@@ -2,30 +2,26 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>poppler</title>
+<title>Poppler Reference Manual: poppler</title>
<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<link rel="home" href="index.html" title="Poppler Reference Manual">
<link rel="up" href="ch01.html" title="Poppler">
<link rel="prev" href="ch01.html" title="Poppler">
<link rel="next" href="PopplerDocument.html" title="PopplerDocument">
-<meta name="generator" content="GTK-Doc V1.19 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
-<tr valign="middle">
-<td><a accesskey="p" href="ch01.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
-<td><a accesskey="u" href="ch01.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
-<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
-<th width="100%" align="center">Poppler Reference Manual</th>
-<td><a accesskey="n" href="PopplerDocument.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
-</tr>
-<tr><td colspan="5" class="shortcuts">
-<a href="#poppler-poppler.synopsis" class="shortcut">Top</a>
-  | 
- <a href="#poppler-poppler.description" class="shortcut">Description</a>
-</td></tr>
-</table>
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts">
+<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
+ <a href="#poppler-poppler.description" class="shortcut">Description</a></span>
+</td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="ch01.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="ch01.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="PopplerDocument.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
<div class="refentry">
<a name="poppler-poppler"></a><div class="titlepage"></div>
<div class="refnamediv"><table width="100%"><tr>
@@ -33,406 +29,499 @@
<h2><span class="refentrytitle"><a name="poppler-poppler.top_of_page"></a>poppler</span></h2>
<p>poppler</p>
</td>
-<td valign="top" align="right"></td>
+<td class="gallery_image" valign="top" align="right"></td>
</tr></table></div>
-<div class="refsynopsisdiv">
-<a name="poppler-poppler.synopsis"></a><h2>Synopsis</h2>
-<pre class="synopsis">
-#include &lt;poppler.h&gt;
-
-#define <a class="link" href="poppler-poppler.html#POPPLER-ERROR:CAPS" title="POPPLER_ERROR">POPPLER_ERROR</a>
-enum <a class="link" href="poppler-poppler.html#PopplerError" title="enum PopplerError">PopplerError</a>;
-enum <a class="link" href="poppler-poppler.html#PopplerOrientation" title="enum PopplerOrientation">PopplerOrientation</a>;
-enum <a class="link" href="poppler-poppler.html#PopplerBackend" title="enum PopplerBackend">PopplerBackend</a>;
- <a class="link" href="poppler-poppler.html#PopplerColor" title="PopplerColor">PopplerColor</a>;
-enum <a class="link" href="poppler-poppler.html#PopplerPrintFlags" title="enum PopplerPrintFlags">PopplerPrintFlags</a>;
-enum <a class="link" href="poppler-poppler.html#PopplerFindFlags" title="enum PopplerFindFlags">PopplerFindFlags</a>;
-<a class="link" href="poppler-poppler.html#PopplerBackend" title="enum PopplerBackend"><span class="returnvalue">PopplerBackend</span></a> <a class="link" href="poppler-poppler.html#poppler-get-backend" title="poppler_get_backend ()">poppler_get_backend</a> (<em class="parameter"><code><span class="type">void</span></code></em>);
-const <span class="returnvalue">char</span> * <a class="link" href="poppler-poppler.html#poppler-get-version" title="poppler_get_version ()">poppler_get_version</a> (<em class="parameter"><code><span class="type">void</span></code></em>);
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="poppler-poppler.html#poppler-date-parse" title="poppler_date_parse ()">poppler_date_parse</a> (<em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *date</code></em>,
- <em class="parameter"><code><span class="type">time_t</span> *timet</code></em>);
-<a class="link" href="poppler-poppler.html#PopplerColor" title="PopplerColor"><span class="returnvalue">PopplerColor</span></a> * <a class="link" href="poppler-poppler.html#poppler-color-new" title="poppler_color_new ()">poppler_color_new</a> (<em class="parameter"><code><span class="type">void</span></code></em>);
-<a class="link" href="poppler-poppler.html#PopplerColor" title="PopplerColor"><span class="returnvalue">PopplerColor</span></a> * <a class="link" href="poppler-poppler.html#poppler-color-copy" title="poppler_color_copy ()">poppler_color_copy</a> (<em class="parameter"><code><a class="link" href="poppler-poppler.html#PopplerColor" title="PopplerColor"><span class="type">PopplerColor</span></a> *color</code></em>);
-<span class="returnvalue">void</span> <a class="link" href="poppler-poppler.html#poppler-color-free" title="poppler_color_free ()">poppler_color_free</a> (<em class="parameter"><code><a class="link" href="poppler-poppler.html#PopplerColor" title="PopplerColor"><span class="type">PopplerColor</span></a> *color</code></em>);
-</pre>
-</div>
-<div class="refsect1">
-<a name="poppler-poppler.description"></a><h2>Description</h2>
-</div>
<div class="refsect1">
-<a name="poppler-poppler.details"></a><h2>Details</h2>
-<div class="refsect2">
-<a name="POPPLER-ERROR:CAPS"></a><h3>POPPLER_ERROR</h3>
-<pre class="programlisting">#define POPPLER_ERROR poppler_error_quark ()
-</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="PopplerError"></a><h3>enum PopplerError</h3>
-<pre class="programlisting">typedef enum {
- POPPLER_ERROR_INVALID,
- POPPLER_ERROR_ENCRYPTED,
- POPPLER_ERROR_OPEN_FILE,
- POPPLER_ERROR_BAD_CATALOG,
- POPPLER_ERROR_DAMAGED
-} PopplerError;
-</pre>
-<p>
-Error codes returned by <a class="link" href="PopplerDocument.html" title="PopplerDocument"><span class="type">PopplerDocument</span></a>
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="poppler-poppler.functions"></a><h2>Functions</h2>
+<div class="informaltable"><table width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="functions_return">
+<col class="functions_name">
</colgroup>
<tbody>
<tr>
-<td><p><a name="POPPLER-ERROR-INVALID:CAPS"></a><span class="term"><code class="literal">POPPLER_ERROR_INVALID</code></span></p></td>
-<td>Generic error when a document opration fails
+<td class="function_type">
+<a class="link" href="poppler-poppler.html#PopplerBackend" title="enum PopplerBackend"><span class="returnvalue">PopplerBackend</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="poppler-poppler.html#poppler-get-backend" title="poppler_get_backend ()">poppler_get_backend</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><p><a name="POPPLER-ERROR-ENCRYPTED:CAPS"></a><span class="term"><code class="literal">POPPLER_ERROR_ENCRYPTED</code></span></p></td>
-<td>Document is encrypted
+<td class="function_type">const <span class="returnvalue">char</span> *
+</td>
+<td class="function_name">
+<a class="link" href="poppler-poppler.html#poppler-get-version" title="poppler_get_version ()">poppler_get_version</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><p><a name="POPPLER-ERROR-OPEN-FILE:CAPS"></a><span class="term"><code class="literal">POPPLER_ERROR_OPEN_FILE</code></span></p></td>
-<td>File could not be opened for writing when saving document
+<td class="function_type">
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="poppler-poppler.html#poppler-date-parse" title="poppler_date_parse ()">poppler_date_parse</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><p><a name="POPPLER-ERROR-BAD-CATALOG:CAPS"></a><span class="term"><code class="literal">POPPLER_ERROR_BAD_CATALOG</code></span></p></td>
-<td>Failed to read the document catalog
+<td class="function_type">
+<a class="link" href="poppler-poppler.html#PopplerColor" title="PopplerColor"><span class="returnvalue">PopplerColor</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="poppler-poppler.html#poppler-color-new" title="poppler_color_new ()">poppler_color_new</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><p><a name="POPPLER-ERROR-DAMAGED:CAPS"></a><span class="term"><code class="literal">POPPLER_ERROR_DAMAGED</code></span></p></td>
-<td>Document is damaged
+<td class="function_type">
+<a class="link" href="poppler-poppler.html#PopplerColor" title="PopplerColor"><span class="returnvalue">PopplerColor</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="poppler-poppler.html#poppler-color-copy" title="poppler_color_copy ()">poppler_color_copy</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="poppler-poppler.html#poppler-color-free" title="poppler_color_free ()">poppler_color_free</a> <span class="c_punctuation">()</span>
</td>
</tr>
</tbody>
</table></div>
</div>
-<hr>
-<div class="refsect2">
-<a name="PopplerOrientation"></a><h3>enum PopplerOrientation</h3>
-<pre class="programlisting">typedef enum {
- POPPLER_ORIENTATION_PORTRAIT,
- POPPLER_ORIENTATION_LANDSCAPE,
- POPPLER_ORIENTATION_UPSIDEDOWN,
- POPPLER_ORIENTATION_SEASCAPE
-} PopplerOrientation;
-</pre>
-<div class="variablelist"><table border="0" class="variablelist">
+<div class="refsect1">
+<a name="poppler-poppler.other"></a><h2>Types and Values</h2>
+<div class="informaltable"><table width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="name">
+<col class="description">
</colgroup>
<tbody>
<tr>
-<td><p><a name="POPPLER-ORIENTATION-PORTRAIT:CAPS"></a><span class="term"><code class="literal">POPPLER_ORIENTATION_PORTRAIT</code></span></p></td>
-<td></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="poppler-poppler.html#POPPLER-ERROR:CAPS" title="POPPLER_ERROR">POPPLER_ERROR</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword">enum</td>
+<td class="function_name"><a class="link" href="poppler-poppler.html#PopplerError" title="enum PopplerError">PopplerError</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword">enum</td>
+<td class="function_name"><a class="link" href="poppler-poppler.html#PopplerOrientation" title="enum PopplerOrientation">PopplerOrientation</a></td>
</tr>
<tr>
-<td><p><a name="POPPLER-ORIENTATION-LANDSCAPE:CAPS"></a><span class="term"><code class="literal">POPPLER_ORIENTATION_LANDSCAPE</code></span></p></td>
-<td></td>
+<td class="datatype_keyword">enum</td>
+<td class="function_name"><a class="link" href="poppler-poppler.html#PopplerBackend" title="enum PopplerBackend">PopplerBackend</a></td>
</tr>
<tr>
-<td><p><a name="POPPLER-ORIENTATION-UPSIDEDOWN:CAPS"></a><span class="term"><code class="literal">POPPLER_ORIENTATION_UPSIDEDOWN</code></span></p></td>
-<td></td>
+<td class="datatype_keyword"> </td>
+<td class="function_name"><a class="link" href="poppler-poppler.html#PopplerColor" title="PopplerColor">PopplerColor</a></td>
</tr>
<tr>
-<td><p><a name="POPPLER-ORIENTATION-SEASCAPE:CAPS"></a><span class="term"><code class="literal">POPPLER_ORIENTATION_SEASCAPE</code></span></p></td>
-<td></td>
+<td class="datatype_keyword">enum</td>
+<td class="function_name"><a class="link" href="poppler-poppler.html#PopplerPrintFlags" title="enum PopplerPrintFlags">PopplerPrintFlags</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword">enum</td>
+<td class="function_name"><a class="link" href="poppler-poppler.html#PopplerFindFlags" title="enum PopplerFindFlags">PopplerFindFlags</a></td>
</tr>
</tbody>
</table></div>
</div>
+<div class="refsect1">
+<a name="poppler-poppler.includes"></a><h2>Includes</h2>
+<pre class="synopsis">#include &lt;poppler.h&gt;
+</pre>
+</div>
+<div class="refsect1">
+<a name="poppler-poppler.description"></a><h2>Description</h2>
+</div>
+<div class="refsect1">
+<a name="poppler-poppler.functions_details"></a><h2>Functions</h2>
+<div class="refsect2">
+<a name="poppler-get-backend"></a><h3>poppler_get_backend ()</h3>
+<pre class="programlisting"><a class="link" href="poppler-poppler.html#PopplerBackend" title="enum PopplerBackend"><span class="returnvalue">PopplerBackend</span></a>
+poppler_get_backend (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
+<p>Returns the backend compiled into the poppler library.</p>
+<div class="refsect3">
+<a name="id-1.2.2.7.2.5"></a><h4>Returns</h4>
+<p> The backend used by poppler</p>
+<p></p>
+</div>
+</div>
<hr>
<div class="refsect2">
-<a name="PopplerBackend"></a><h3>enum PopplerBackend</h3>
-<pre class="programlisting">typedef enum {
- POPPLER_BACKEND_UNKNOWN,
- POPPLER_BACKEND_SPLASH,
- POPPLER_BACKEND_CAIRO
-} PopplerBackend;
-</pre>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="poppler-get-version"></a><h3>poppler_get_version ()</h3>
+<pre class="programlisting">const <span class="returnvalue">char</span> *
+poppler_get_version (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
+<p>Returns the version of poppler in use. This result is not to be freed.</p>
+<div class="refsect3">
+<a name="id-1.2.2.7.3.5"></a><h4>Returns</h4>
+<p> the version of poppler.</p>
+<p></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="poppler-date-parse"></a><h3>poppler_date_parse ()</h3>
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+poppler_date_parse (<em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *date</code></em>,
+ <em class="parameter"><code><span class="type">time_t</span> *timet</code></em>);</pre>
+<p>Parses a PDF format date string and converts it to a <span class="type">time_t</span>. Returns <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><span class="type">FALSE</span></a>
+if the parsing fails or the input string is not a valid PDF format date string</p>
+<div class="refsect3">
+<a name="id-1.2.2.7.4.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
-<td><p><a name="POPPLER-BACKEND-UNKNOWN:CAPS"></a><span class="term"><code class="literal">POPPLER_BACKEND_UNKNOWN</code></span></p></td>
-<td></td>
-</tr>
-<tr>
-<td><p><a name="POPPLER-BACKEND-SPLASH:CAPS"></a><span class="term"><code class="literal">POPPLER_BACKEND_SPLASH</code></span></p></td>
-<td></td>
+<td class="parameter_name"><p>date</p></td>
+<td class="parameter_description"><p>string to parse</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><a name="POPPLER-BACKEND-CAIRO:CAPS"></a><span class="term"><code class="literal">POPPLER_BACKEND_CAIRO</code></span></p></td>
-<td></td>
+<td class="parameter_name"><p>timet</p></td>
+<td class="parameter_description"><p>an uninitialized <span class="type">time_t</span></p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="id-1.2.2.7.4.6"></a><h4>Returns</h4>
+<p> <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><span class="type">TRUE</span></a>, if <em class="parameter"><code>timet</code></em>
+was set</p>
+<p></p>
+</div>
+<p class="since">Since 0.12</p>
+</div>
<hr>
<div class="refsect2">
-<a name="PopplerColor"></a><h3>PopplerColor</h3>
-<pre class="programlisting">typedef struct {
- guint16 red;
- guint16 green;
- guint16 blue;
-} PopplerColor;
-</pre>
-<p>
-A <a class="link" href="poppler-poppler.html#PopplerColor" title="PopplerColor"><span class="type">PopplerColor</span></a> describes a RGB color. Color components
-are values between 0 and 65535
+<a name="poppler-color-new"></a><h3>poppler_color_new ()</h3>
+<pre class="programlisting"><a class="link" href="poppler-poppler.html#PopplerColor" title="PopplerColor"><span class="returnvalue">PopplerColor</span></a> *
+poppler_color_new (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
+<p>Creates a new <a class="link" href="poppler-poppler.html#PopplerColor" title="PopplerColor"><span class="type">PopplerColor</span></a></p>
+<div class="refsect3">
+<a name="id-1.2.2.7.5.5"></a><h4>Returns</h4>
+<p> a new <a class="link" href="poppler-poppler.html#PopplerColor" title="PopplerColor"><span class="type">PopplerColor</span></a>, use <a class="link" href="poppler-poppler.html#poppler-color-free" title="poppler_color_free ()"><code class="function">poppler_color_free()</code></a> to free it</p>
+<p></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="poppler-color-copy"></a><h3>poppler_color_copy ()</h3>
+<pre class="programlisting"><a class="link" href="poppler-poppler.html#PopplerColor" title="PopplerColor"><span class="returnvalue">PopplerColor</span></a> *
+poppler_color_copy (<em class="parameter"><code><a class="link" href="poppler-poppler.html#PopplerColor" title="PopplerColor"><span class="type">PopplerColor</span></a> *color</code></em>);</pre>
+<p>Creates a copy of <em class="parameter"><code>color</code></em>
</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<div class="refsect3">
+<a name="id-1.2.2.7.6.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
-<tbody>
-<tr>
-<td><p><span class="term"><span class="type">guint16</span> <em class="structfield"><code><a name="PopplerColor.red"></a>red</code></em>;</span></p></td>
-<td>the red componment of color</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="type">guint16</span> <em class="structfield"><code><a name="PopplerColor.green"></a>green</code></em>;</span></p></td>
-<td>the green component of color</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="type">guint16</span> <em class="structfield"><code><a name="PopplerColor.blue"></a>blue</code></em>;</span></p></td>
-<td>the blue component of color</td>
-</tr>
-</tbody>
+<tbody><tr>
+<td class="parameter_name"><p>color</p></td>
+<td class="parameter_description"><p>a <a class="link" href="poppler-poppler.html#PopplerColor" title="PopplerColor"><span class="type">PopplerColor</span></a> to copy</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="id-1.2.2.7.6.6"></a><h4>Returns</h4>
+<p> a new allocated copy of <em class="parameter"><code>color</code></em>
+</p>
+<p></p>
+</div>
+</div>
<hr>
<div class="refsect2">
-<a name="PopplerPrintFlags"></a><h3>enum PopplerPrintFlags</h3>
-<pre class="programlisting">typedef enum {
- POPPLER_PRINT_DOCUMENT = 0,
- POPPLER_PRINT_MARKUP_ANNOTS = 1 &lt;&lt; 0,
- POPPLER_PRINT_STAMP_ANNOTS_ONLY = 1 &lt;&lt; 1,
- POPPLER_PRINT_ALL = POPPLER_PRINT_MARKUP_ANNOTS
-} PopplerPrintFlags;
+<a name="poppler-color-free"></a><h3>poppler_color_free ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+poppler_color_free (<em class="parameter"><code><a class="link" href="poppler-poppler.html#PopplerColor" title="PopplerColor"><span class="type">PopplerColor</span></a> *color</code></em>);</pre>
+<p>Frees the given <a class="link" href="poppler-poppler.html#PopplerColor" title="PopplerColor"><span class="type">PopplerColor</span></a></p>
+<div class="refsect3">
+<a name="id-1.2.2.7.7.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>color</p></td>
+<td class="parameter_description"><p>a <a class="link" href="poppler-poppler.html#PopplerColor" title="PopplerColor"><span class="type">PopplerColor</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+</div>
+</div>
+<div class="refsect1">
+<a name="poppler-poppler.other_details"></a><h2>Types and Values</h2>
+<div class="refsect2">
+<a name="POPPLER-ERROR:CAPS"></a><h3>POPPLER_ERROR</h3>
+<pre class="programlisting">#define POPPLER_ERROR poppler_error_quark ()
</pre>
-<p>
-Printing flags
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+</div>
+<hr>
+<div class="refsect2">
+<a name="PopplerError"></a><h3>enum PopplerError</h3>
+<p>Error codes returned by <a class="link" href="PopplerDocument.html" title="PopplerDocument"><span class="type">PopplerDocument</span></a></p>
+<div class="refsect3">
+<a name="id-1.2.2.8.3.4"></a><h4>Members</h4>
+<div class="informaltable"><table width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="300px" class="enum_members_name">
+<col class="enum_members_description">
+<col width="200px" class="enum_members_annotations">
</colgroup>
<tbody>
<tr>
-<td><p><a name="POPPLER-PRINT-DOCUMENT:CAPS"></a><span class="term"><code class="literal">POPPLER_PRINT_DOCUMENT</code></span></p></td>
-<td>print main document contents
+<td class="enum_member_name"><p><a name="POPPLER-ERROR-INVALID:CAPS"></a>POPPLER_ERROR_INVALID</p></td>
+<td class="enum_member_description">
+<p>Generic error when a document operation fails</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="POPPLER-ERROR-ENCRYPTED:CAPS"></a>POPPLER_ERROR_ENCRYPTED</p></td>
+<td class="enum_member_description">
+<p>Document is encrypted</p>
</td>
+<td class="enum_member_annotations"> </td>
</tr>
<tr>
-<td><p><a name="POPPLER-PRINT-MARKUP-ANNOTS:CAPS"></a><span class="term"><code class="literal">POPPLER_PRINT_MARKUP_ANNOTS</code></span></p></td>
-<td>print document and markup annotations
+<td class="enum_member_name"><p><a name="POPPLER-ERROR-OPEN-FILE:CAPS"></a>POPPLER_ERROR_OPEN_FILE</p></td>
+<td class="enum_member_description">
+<p>File could not be opened for writing when saving document</p>
</td>
+<td class="enum_member_annotations"> </td>
</tr>
<tr>
-<td><p><a name="POPPLER-PRINT-STAMP-ANNOTS-ONLY:CAPS"></a><span class="term"><code class="literal">POPPLER_PRINT_STAMP_ANNOTS_ONLY</code></span></p></td>
-<td>print document and only stamp annotations
+<td class="enum_member_name"><p><a name="POPPLER-ERROR-BAD-CATALOG:CAPS"></a>POPPLER_ERROR_BAD_CATALOG</p></td>
+<td class="enum_member_description">
+<p>Failed to read the document catalog</p>
</td>
+<td class="enum_member_annotations"> </td>
</tr>
<tr>
-<td><p><a name="POPPLER-PRINT-ALL:CAPS"></a><span class="term"><code class="literal">POPPLER_PRINT_ALL</code></span></p></td>
-<td>print main document contents and all markup annotations
+<td class="enum_member_name"><p><a name="POPPLER-ERROR-DAMAGED:CAPS"></a>POPPLER_ERROR_DAMAGED</p></td>
+<td class="enum_member_description">
+<p>Document is damaged</p>
</td>
+<td class="enum_member_annotations"> </td>
</tr>
</tbody>
</table></div>
-<p class="since">Since 0.16</p>
+</div>
</div>
<hr>
<div class="refsect2">
-<a name="PopplerFindFlags"></a><h3>enum PopplerFindFlags</h3>
-<pre class="programlisting">typedef enum {
- POPPLER_FIND_DEFAULT = 0,
- POPPLER_FIND_CASE_SENSITIVE = 1 &lt;&lt; 0,
- POPPLER_FIND_BACKWARDS = 1 &lt;&lt; 1,
- POPPLER_FIND_WHOLE_WORDS_ONLY = 1 &lt;&lt; 2
-} PopplerFindFlags;
-</pre>
-<p>
-Flags using while searching text in a page
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="PopplerOrientation"></a><h3>enum PopplerOrientation</h3>
+<div class="refsect3">
+<a name="id-1.2.2.8.4.3"></a><h4>Members</h4>
+<div class="informaltable"><table width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="300px" class="enum_members_name">
+<col class="enum_members_description">
+<col width="200px" class="enum_members_annotations">
</colgroup>
<tbody>
<tr>
-<td><p><a name="POPPLER-FIND-DEFAULT:CAPS"></a><span class="term"><code class="literal">POPPLER_FIND_DEFAULT</code></span></p></td>
-<td></td>
+<td class="enum_member_name"><p><a name="POPPLER-ORIENTATION-PORTRAIT:CAPS"></a>POPPLER_ORIENTATION_PORTRAIT</p></td>
+<td> </td>
+<td> </td>
</tr>
<tr>
-<td><p><a name="POPPLER-FIND-CASE-SENSITIVE:CAPS"></a><span class="term"><code class="literal">POPPLER_FIND_CASE_SENSITIVE</code></span></p></td>
-<td>do case sensitive search
-</td>
+<td class="enum_member_name"><p><a name="POPPLER-ORIENTATION-LANDSCAPE:CAPS"></a>POPPLER_ORIENTATION_LANDSCAPE</p></td>
+<td> </td>
+<td> </td>
</tr>
<tr>
-<td><p><a name="POPPLER-FIND-BACKWARDS:CAPS"></a><span class="term"><code class="literal">POPPLER_FIND_BACKWARDS</code></span></p></td>
-<td>search backwards
-</td>
+<td class="enum_member_name"><p><a name="POPPLER-ORIENTATION-UPSIDEDOWN:CAPS"></a>POPPLER_ORIENTATION_UPSIDEDOWN</p></td>
+<td> </td>
+<td> </td>
</tr>
<tr>
-<td><p><a name="POPPLER-FIND-WHOLE-WORDS-ONLY:CAPS"></a><span class="term"><code class="literal">POPPLER_FIND_WHOLE_WORDS_ONLY</code></span></p></td>
-<td>search only whole words
-</td>
+<td class="enum_member_name"><p><a name="POPPLER-ORIENTATION-SEASCAPE:CAPS"></a>POPPLER_ORIENTATION_SEASCAPE</p></td>
+<td> </td>
+<td> </td>
</tr>
</tbody>
</table></div>
-<p class="since">Since 0.22</p>
</div>
-<hr>
-<div class="refsect2">
-<a name="poppler-get-backend"></a><h3>poppler_get_backend ()</h3>
-<pre class="programlisting"><a class="link" href="poppler-poppler.html#PopplerBackend" title="enum PopplerBackend"><span class="returnvalue">PopplerBackend</span></a> poppler_get_backend (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
-<p>
-Returns the backend compiled into the poppler library.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
-<colgroup>
-<col align="left" valign="top">
-<col>
-</colgroup>
-<tbody><tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>The backend used by poppler</td>
-</tr></tbody>
-</table></div>
</div>
<hr>
<div class="refsect2">
-<a name="poppler-get-version"></a><h3>poppler_get_version ()</h3>
-<pre class="programlisting">const <span class="returnvalue">char</span> * poppler_get_version (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
-<p>
-Returns the version of poppler in use. This result is not to be freed.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="PopplerBackend"></a><h3>enum PopplerBackend</h3>
+<div class="refsect3">
+<a name="id-1.2.2.8.5.3"></a><h4>Members</h4>
+<div class="informaltable"><table width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="300px" class="enum_members_name">
+<col class="enum_members_description">
+<col width="200px" class="enum_members_annotations">
</colgroup>
-<tbody><tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>the version of poppler.</td>
-</tr></tbody>
+<tbody>
+<tr>
+<td class="enum_member_name"><p><a name="POPPLER-BACKEND-UNKNOWN:CAPS"></a>POPPLER_BACKEND_UNKNOWN</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="POPPLER-BACKEND-SPLASH:CAPS"></a>POPPLER_BACKEND_SPLASH</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="POPPLER-BACKEND-CAIRO:CAPS"></a>POPPLER_BACKEND_CAIRO</p></td>
+<td> </td>
+<td> </td>
+</tr>
+</tbody>
</table></div>
</div>
+</div>
<hr>
<div class="refsect2">
-<a name="poppler-date-parse"></a><h3>poppler_date_parse ()</h3>
-<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> poppler_date_parse (<em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *date</code></em>,
- <em class="parameter"><code><span class="type">time_t</span> *timet</code></em>);</pre>
-<p>
-Parses a PDF format date string and converts it to a <span class="type">time_t</span>. Returns <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><span class="type">FALSE</span></a>
-if the parsing fails or the input string is not a valid PDF format date string
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="PopplerColor"></a><h3>PopplerColor</h3>
+<pre class="programlisting">typedef struct {
+ guint16 red;
+ guint16 green;
+ guint16 blue;
+} PopplerColor;
+</pre>
+<p>A <a class="link" href="poppler-poppler.html#PopplerColor" title="PopplerColor"><span class="type">PopplerColor</span></a> describes a RGB color. Color components
+are values between 0 and 65535</p>
+<div class="refsect3">
+<a name="id-1.2.2.8.6.5"></a><h4>Members</h4>
+<div class="informaltable"><table width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="300px" class="struct_members_name">
+<col class="struct_members_description">
+<col width="200px" class="struct_members_annotations">
</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><em class="parameter"><code>date</code></em> :</span></p></td>
-<td>string to parse</td>
+<td class="struct_member_name"><p><span class="type">guint16</span> <em class="structfield"><code><a name="PopplerColor.red"></a>red</code></em>;</p></td>
+<td class="struct_member_description"><p>the red componment of color</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><em class="parameter"><code>timet</code></em> :</span></p></td>
-<td>an uninitialized <span class="type">time_t</span>
-</td>
+<td class="struct_member_name"><p><span class="type">guint16</span> <em class="structfield"><code><a name="PopplerColor.green"></a>green</code></em>;</p></td>
+<td class="struct_member_description"><p>the green component of color</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><span class="type">TRUE</span></a>, if <em class="parameter"><code>timet</code></em> was set</td>
+<td class="struct_member_name"><p><span class="type">guint16</span> <em class="structfield"><code><a name="PopplerColor.blue"></a>blue</code></em>;</p></td>
+<td class="struct_member_description"><p>the blue component of color</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
</tbody>
</table></div>
-<p class="since">Since 0.12</p>
</div>
-<hr>
-<div class="refsect2">
-<a name="poppler-color-new"></a><h3>poppler_color_new ()</h3>
-<pre class="programlisting"><a class="link" href="poppler-poppler.html#PopplerColor" title="PopplerColor"><span class="returnvalue">PopplerColor</span></a> * poppler_color_new (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
-<p>
-Creates a new <a class="link" href="poppler-poppler.html#PopplerColor" title="PopplerColor"><span class="type">PopplerColor</span></a>
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
-<colgroup>
-<col align="left" valign="top">
-<col>
-</colgroup>
-<tbody><tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>a new <a class="link" href="poppler-poppler.html#PopplerColor" title="PopplerColor"><span class="type">PopplerColor</span></a>, use <a class="link" href="poppler-poppler.html#poppler-color-free" title="poppler_color_free ()"><code class="function">poppler_color_free()</code></a> to free it</td>
-</tr></tbody>
-</table></div>
</div>
<hr>
<div class="refsect2">
-<a name="poppler-color-copy"></a><h3>poppler_color_copy ()</h3>
-<pre class="programlisting"><a class="link" href="poppler-poppler.html#PopplerColor" title="PopplerColor"><span class="returnvalue">PopplerColor</span></a> * poppler_color_copy (<em class="parameter"><code><a class="link" href="poppler-poppler.html#PopplerColor" title="PopplerColor"><span class="type">PopplerColor</span></a> *color</code></em>);</pre>
-<p>
-Creates a copy of <em class="parameter"><code>color</code></em>
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="PopplerPrintFlags"></a><h3>enum PopplerPrintFlags</h3>
+<p>Printing flags</p>
+<div class="refsect3">
+<a name="id-1.2.2.8.7.4"></a><h4>Members</h4>
+<div class="informaltable"><table width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="300px" class="enum_members_name">
+<col class="enum_members_description">
+<col width="200px" class="enum_members_annotations">
</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><em class="parameter"><code>color</code></em> :</span></p></td>
-<td>a <a class="link" href="poppler-poppler.html#PopplerColor" title="PopplerColor"><span class="type">PopplerColor</span></a> to copy</td>
+<td class="enum_member_name"><p><a name="POPPLER-PRINT-DOCUMENT:CAPS"></a>POPPLER_PRINT_DOCUMENT</p></td>
+<td class="enum_member_description">
+<p>print main document contents</p>
+</td>
+<td class="enum_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>a new allocated copy of <em class="parameter"><code>color</code></em>
+<td class="enum_member_name"><p><a name="POPPLER-PRINT-MARKUP-ANNOTS:CAPS"></a>POPPLER_PRINT_MARKUP_ANNOTS</p></td>
+<td class="enum_member_description">
+<p>print document and markup annotations</p>
</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="POPPLER-PRINT-STAMP-ANNOTS-ONLY:CAPS"></a>POPPLER_PRINT_STAMP_ANNOTS_ONLY</p></td>
+<td class="enum_member_description">
+<p>print document and only stamp annotations</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="POPPLER-PRINT-ALL:CAPS"></a>POPPLER_PRINT_ALL</p></td>
+<td class="enum_member_description">
+<p>print main document contents and all markup annotations</p>
+</td>
+<td class="enum_member_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
+<p class="since">Since 0.16</p>
+</div>
<hr>
<div class="refsect2">
-<a name="poppler-color-free"></a><h3>poppler_color_free ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span> poppler_color_free (<em class="parameter"><code><a class="link" href="poppler-poppler.html#PopplerColor" title="PopplerColor"><span class="type">PopplerColor</span></a> *color</code></em>);</pre>
-<p>
-Frees the given <a class="link" href="poppler-poppler.html#PopplerColor" title="PopplerColor"><span class="type">PopplerColor</span></a>
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="PopplerFindFlags"></a><h3>enum PopplerFindFlags</h3>
+<p>Flags using while searching text in a page</p>
+<div class="refsect3">
+<a name="id-1.2.2.8.8.4"></a><h4>Members</h4>
+<div class="informaltable"><table width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="300px" class="enum_members_name">
+<col class="enum_members_description">
+<col width="200px" class="enum_members_annotations">
</colgroup>
-<tbody><tr>
-<td><p><span class="term"><em class="parameter"><code>color</code></em> :</span></p></td>
-<td>a <a class="link" href="poppler-poppler.html#PopplerColor" title="PopplerColor"><span class="type">PopplerColor</span></a>
+<tbody>
+<tr>
+<td class="enum_member_name"><p><a name="POPPLER-FIND-DEFAULT:CAPS"></a>POPPLER_FIND_DEFAULT</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="POPPLER-FIND-CASE-SENSITIVE:CAPS"></a>POPPLER_FIND_CASE_SENSITIVE</p></td>
+<td class="enum_member_description">
+<p>do case sensitive search</p>
</td>
-</tr></tbody>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="POPPLER-FIND-BACKWARDS:CAPS"></a>POPPLER_FIND_BACKWARDS</p></td>
+<td class="enum_member_description">
+<p>search backwards</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="POPPLER-FIND-WHOLE-WORDS-ONLY:CAPS"></a>POPPLER_FIND_WHOLE_WORDS_ONLY</p></td>
+<td class="enum_member_description">
+<p>search only whole words</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+</tbody>
</table></div>
</div>
+<p class="since">Since 0.22</p>
+</div>
</div>
</div>
<div class="footer">
<hr>
- Generated by GTK-Doc V1.19</div>
+ Generated by GTK-Doc V1.21</div>
</body>
</html> \ No newline at end of file
diff --git a/glib/reference/html/poppler.devhelp2 b/glib/reference/html/poppler.devhelp2
index 0bb34c18..e2030f0a 100644
--- a/glib/reference/html/poppler.devhelp2
+++ b/glib/reference/html/poppler.devhelp2
@@ -13,6 +13,7 @@
<sub name="PopplerLayer" link="PopplerLayer.html"/>
<sub name="PopplerMedia" link="PopplerMedia.html"/>
<sub name="PopplerMovie" link="PopplerMovie.html"/>
+ <sub name="PopplerStructureElement" link="PopplerStructureElement.html"/>
<sub name="Version and Features Information" link="poppler-Version-and-Features-Information.html"/>
</sub>
<sub name="Index of all symbols" link="api-index-full.html"/>
@@ -26,6 +27,12 @@
<sub name="Annotation Glossary" link="annotation-glossary.html"/>
</chapters>
<functions>
+ <keyword type="function" name="poppler_get_backend ()" link="poppler-poppler.html#poppler-get-backend"/>
+ <keyword type="function" name="poppler_get_version ()" link="poppler-poppler.html#poppler-get-version"/>
+ <keyword type="function" name="poppler_date_parse ()" link="poppler-poppler.html#poppler-date-parse" since="0.12"/>
+ <keyword type="function" name="poppler_color_new ()" link="poppler-poppler.html#poppler-color-new"/>
+ <keyword type="function" name="poppler_color_copy ()" link="poppler-poppler.html#poppler-color-copy"/>
+ <keyword type="function" name="poppler_color_free ()" link="poppler-poppler.html#poppler-color-free"/>
<keyword type="macro" name="POPPLER_ERROR" link="poppler-poppler.html#POPPLER-ERROR:CAPS"/>
<keyword type="enum" name="enum PopplerError" link="poppler-poppler.html#PopplerError"/>
<keyword type="enum" name="enum PopplerOrientation" link="poppler-poppler.html#PopplerOrientation"/>
@@ -33,12 +40,68 @@
<keyword type="struct" name="PopplerColor" link="poppler-poppler.html#PopplerColor"/>
<keyword type="enum" name="enum PopplerPrintFlags" link="poppler-poppler.html#PopplerPrintFlags" since="0.16"/>
<keyword type="enum" name="enum PopplerFindFlags" link="poppler-poppler.html#PopplerFindFlags" since="0.22"/>
- <keyword type="function" name="poppler_get_backend ()" link="poppler-poppler.html#poppler-get-backend"/>
- <keyword type="function" name="poppler_get_version ()" link="poppler-poppler.html#poppler-get-version"/>
- <keyword type="function" name="poppler_date_parse ()" link="poppler-poppler.html#poppler-date-parse" since="0.12"/>
- <keyword type="function" name="poppler_color_new ()" link="poppler-poppler.html#poppler-color-new"/>
- <keyword type="function" name="poppler_color_copy ()" link="poppler-poppler.html#poppler-color-copy"/>
- <keyword type="function" name="poppler_color_free ()" link="poppler-poppler.html#poppler-color-free"/>
+ <keyword type="function" name="poppler_document_new_from_file ()" link="PopplerDocument.html#poppler-document-new-from-file"/>
+ <keyword type="function" name="poppler_document_new_from_data ()" link="PopplerDocument.html#poppler-document-new-from-data"/>
+ <keyword type="function" name="poppler_document_new_from_stream ()" link="PopplerDocument.html#poppler-document-new-from-stream" since="0.22"/>
+ <keyword type="function" name="poppler_document_new_from_gfile ()" link="PopplerDocument.html#poppler-document-new-from-gfile" since="0.22"/>
+ <keyword type="function" name="poppler_document_save ()" link="PopplerDocument.html#poppler-document-save"/>
+ <keyword type="function" name="poppler_document_save_a_copy ()" link="PopplerDocument.html#poppler-document-save-a-copy"/>
+ <keyword type="function" name="poppler_document_get_id ()" link="PopplerDocument.html#poppler-document-get-id" since="0.16"/>
+ <keyword type="function" name="poppler_document_get_pdf_version_string ()" link="PopplerDocument.html#poppler-document-get-pdf-version-string" since="0.16"/>
+ <keyword type="function" name="poppler_document_get_pdf_version ()" link="PopplerDocument.html#poppler-document-get-pdf-version" since="0.16"/>
+ <keyword type="function" name="poppler_document_get_title ()" link="PopplerDocument.html#poppler-document-get-title" since="0.16"/>
+ <keyword type="function" name="poppler_document_get_author ()" link="PopplerDocument.html#poppler-document-get-author" since="0.16"/>
+ <keyword type="function" name="poppler_document_get_subject ()" link="PopplerDocument.html#poppler-document-get-subject" since="0.16"/>
+ <keyword type="function" name="poppler_document_get_keywords ()" link="PopplerDocument.html#poppler-document-get-keywords" since="0.16"/>
+ <keyword type="function" name="poppler_document_get_creator ()" link="PopplerDocument.html#poppler-document-get-creator" since="0.16"/>
+ <keyword type="function" name="poppler_document_get_producer ()" link="PopplerDocument.html#poppler-document-get-producer" since="0.16"/>
+ <keyword type="function" name="poppler_document_get_creation_date ()" link="PopplerDocument.html#poppler-document-get-creation-date" since="0.16"/>
+ <keyword type="function" name="poppler_document_get_modification_date ()" link="PopplerDocument.html#poppler-document-get-modification-date" since="0.16"/>
+ <keyword type="function" name="poppler_document_get_page_layout ()" link="PopplerDocument.html#poppler-document-get-page-layout" since="0.16"/>
+ <keyword type="function" name="poppler_document_get_page_mode ()" link="PopplerDocument.html#poppler-document-get-page-mode" since="0.16"/>
+ <keyword type="function" name="poppler_document_get_permissions ()" link="PopplerDocument.html#poppler-document-get-permissions" since="0.16"/>
+ <keyword type="function" name="poppler_document_get_metadata ()" link="PopplerDocument.html#poppler-document-get-metadata" since="0.16"/>
+ <keyword type="function" name="poppler_document_is_linearized ()" link="PopplerDocument.html#poppler-document-is-linearized" since="0.16"/>
+ <keyword type="function" name="poppler_document_get_n_pages ()" link="PopplerDocument.html#poppler-document-get-n-pages"/>
+ <keyword type="function" name="poppler_document_get_page ()" link="PopplerDocument.html#poppler-document-get-page"/>
+ <keyword type="function" name="poppler_document_get_page_by_label ()" link="PopplerDocument.html#poppler-document-get-page-by-label"/>
+ <keyword type="function" name="poppler_document_find_dest ()" link="PopplerDocument.html#poppler-document-find-dest"/>
+ <keyword type="function" name="poppler_document_get_n_attachments ()" link="PopplerDocument.html#poppler-document-get-n-attachments" since="0.18"/>
+ <keyword type="function" name="poppler_document_has_attachments ()" link="PopplerDocument.html#poppler-document-has-attachments"/>
+ <keyword type="function" name="poppler_document_get_attachments ()" link="PopplerDocument.html#poppler-document-get-attachments"/>
+ <keyword type="function" name="poppler_document_get_form_field ()" link="PopplerDocument.html#poppler-document-get-form-field"/>
+ <keyword type="function" name="poppler_index_iter_new ()" link="PopplerDocument.html#poppler-index-iter-new"/>
+ <keyword type="function" name="poppler_index_iter_copy ()" link="PopplerDocument.html#poppler-index-iter-copy"/>
+ <keyword type="function" name="poppler_index_iter_free ()" link="PopplerDocument.html#poppler-index-iter-free"/>
+ <keyword type="function" name="poppler_index_iter_get_child ()" link="PopplerDocument.html#poppler-index-iter-get-child"/>
+ <keyword type="function" name="poppler_index_iter_is_open ()" link="PopplerDocument.html#poppler-index-iter-is-open"/>
+ <keyword type="function" name="poppler_index_iter_get_action ()" link="PopplerDocument.html#poppler-index-iter-get-action"/>
+ <keyword type="function" name="poppler_index_iter_next ()" link="PopplerDocument.html#poppler-index-iter-next"/>
+ <keyword type="function" name="poppler_font_info_new ()" link="PopplerDocument.html#poppler-font-info-new"/>
+ <keyword type="function" name="poppler_font_info_scan ()" link="PopplerDocument.html#poppler-font-info-scan"/>
+ <keyword type="function" name="poppler_font_info_free ()" link="PopplerDocument.html#poppler-font-info-free"/>
+ <keyword type="function" name="poppler_fonts_iter_copy ()" link="PopplerDocument.html#poppler-fonts-iter-copy"/>
+ <keyword type="function" name="poppler_fonts_iter_free ()" link="PopplerDocument.html#poppler-fonts-iter-free"/>
+ <keyword type="function" name="poppler_fonts_iter_get_name ()" link="PopplerDocument.html#poppler-fonts-iter-get-name"/>
+ <keyword type="function" name="poppler_fonts_iter_get_full_name ()" link="PopplerDocument.html#poppler-fonts-iter-get-full-name"/>
+ <keyword type="function" name="poppler_fonts_iter_get_font_type ()" link="PopplerDocument.html#poppler-fonts-iter-get-font-type"/>
+ <keyword type="function" name="poppler_fonts_iter_get_substitute_name ()" link="PopplerDocument.html#poppler-fonts-iter-get-substitute-name" since="0.20"/>
+ <keyword type="function" name="poppler_fonts_iter_get_file_name ()" link="PopplerDocument.html#poppler-fonts-iter-get-file-name"/>
+ <keyword type="function" name="poppler_fonts_iter_get_encoding ()" link="PopplerDocument.html#poppler-fonts-iter-get-encoding" since="0.20"/>
+ <keyword type="function" name="poppler_fonts_iter_is_embedded ()" link="PopplerDocument.html#poppler-fonts-iter-is-embedded"/>
+ <keyword type="function" name="poppler_fonts_iter_is_subset ()" link="PopplerDocument.html#poppler-fonts-iter-is-subset"/>
+ <keyword type="function" name="poppler_fonts_iter_next ()" link="PopplerDocument.html#poppler-fonts-iter-next"/>
+ <keyword type="function" name="poppler_layers_iter_new ()" link="PopplerDocument.html#poppler-layers-iter-new" since="0.12"/>
+ <keyword type="function" name="poppler_layers_iter_copy ()" link="PopplerDocument.html#poppler-layers-iter-copy"/>
+ <keyword type="function" name="poppler_layers_iter_free ()" link="PopplerDocument.html#poppler-layers-iter-free" since="0.12"/>
+ <keyword type="function" name="poppler_layers_iter_get_child ()" link="PopplerDocument.html#poppler-layers-iter-get-child" since="0.12"/>
+ <keyword type="function" name="poppler_layers_iter_get_layer ()" link="PopplerDocument.html#poppler-layers-iter-get-layer" since="0.12"/>
+ <keyword type="function" name="poppler_layers_iter_get_title ()" link="PopplerDocument.html#poppler-layers-iter-get-title" since="0.12"/>
+ <keyword type="function" name="poppler_layers_iter_next ()" link="PopplerDocument.html#poppler-layers-iter-next" since="0.12"/>
+ <keyword type="function" name="poppler_ps_file_new ()" link="PopplerDocument.html#poppler-ps-file-new"/>
+ <keyword type="function" name="poppler_ps_file_free ()" link="PopplerDocument.html#poppler-ps-file-free"/>
+ <keyword type="function" name="poppler_ps_file_set_paper_size ()" link="PopplerDocument.html#poppler-ps-file-set-paper-size"/>
+ <keyword type="function" name="poppler_ps_file_set_duplex ()" link="PopplerDocument.html#poppler-ps-file-set-duplex"/>
<keyword type="struct" name="PopplerDocument" link="PopplerDocument.html#PopplerDocument-struct"/>
<keyword type="struct" name="PopplerIndexIter" link="PopplerDocument.html#PopplerIndexIter"/>
<keyword type="struct" name="PopplerFontsIter" link="PopplerDocument.html#PopplerFontsIter"/>
@@ -50,85 +113,81 @@
<keyword type="struct" name="PopplerPSFile" link="PopplerDocument.html#PopplerPSFile"/>
<keyword type="enum" name="enum PopplerViewerPreferences" link="PopplerDocument.html#PopplerViewerPreferences"/>
<keyword type="enum" name="enum PopplerPermissions" link="PopplerDocument.html#PopplerPermissions"/>
- <keyword type="function" name="poppler_document_new_from_file ()" link="PopplerDocument.html#poppler-document-new-from-file"/>
- <keyword type="function" name="poppler_document_new_from_data ()" link="PopplerDocument.html#poppler-document-new-from-data"/>
- <keyword type="function" name="poppler_document_new_from_stream ()" link="PopplerDocument.html#poppler-document-new-from-stream" since="0.22"/>
- <keyword type="function" name="poppler_document_new_from_gfile ()" link="PopplerDocument.html#poppler-document-new-from-gfile" since="0.22"/>
- <keyword type="function" name="poppler_document_save ()" link="PopplerDocument.html#poppler-document-save"/>
- <keyword type="function" name="poppler_document_save_a_copy ()" link="PopplerDocument.html#poppler-document-save-a-copy"/>
- <keyword type="function" name="poppler_document_get_id ()" link="PopplerDocument.html#poppler-document-get-id" since="0.16"/>
- <keyword type="function" name="poppler_document_get_pdf_version_string ()" link="PopplerDocument.html#poppler-document-get-pdf-version-string" since="0.16"/>
- <keyword type="function" name="poppler_document_get_pdf_version ()" link="PopplerDocument.html#poppler-document-get-pdf-version" since="0.16"/>
- <keyword type="function" name="poppler_document_get_title ()" link="PopplerDocument.html#poppler-document-get-title" since="0.16"/>
- <keyword type="function" name="poppler_document_get_author ()" link="PopplerDocument.html#poppler-document-get-author" since="0.16"/>
- <keyword type="function" name="poppler_document_get_subject ()" link="PopplerDocument.html#poppler-document-get-subject" since="0.16"/>
- <keyword type="function" name="poppler_document_get_keywords ()" link="PopplerDocument.html#poppler-document-get-keywords" since="0.16"/>
- <keyword type="function" name="poppler_document_get_creator ()" link="PopplerDocument.html#poppler-document-get-creator" since="0.16"/>
- <keyword type="function" name="poppler_document_get_producer ()" link="PopplerDocument.html#poppler-document-get-producer" since="0.16"/>
- <keyword type="function" name="poppler_document_get_creation_date ()" link="PopplerDocument.html#poppler-document-get-creation-date" since="0.16"/>
- <keyword type="function" name="poppler_document_get_modification_date ()" link="PopplerDocument.html#poppler-document-get-modification-date" since="0.16"/>
- <keyword type="function" name="poppler_document_get_page_layout ()" link="PopplerDocument.html#poppler-document-get-page-layout" since="0.16"/>
- <keyword type="function" name="poppler_document_get_page_mode ()" link="PopplerDocument.html#poppler-document-get-page-mode" since="0.16"/>
- <keyword type="function" name="poppler_document_get_permissions ()" link="PopplerDocument.html#poppler-document-get-permissions" since="0.16"/>
- <keyword type="function" name="poppler_document_get_metadata ()" link="PopplerDocument.html#poppler-document-get-metadata" since="0.16"/>
- <keyword type="function" name="poppler_document_is_linearized ()" link="PopplerDocument.html#poppler-document-is-linearized" since="0.16"/>
- <keyword type="function" name="poppler_document_get_n_pages ()" link="PopplerDocument.html#poppler-document-get-n-pages"/>
- <keyword type="function" name="poppler_document_get_page ()" link="PopplerDocument.html#poppler-document-get-page"/>
- <keyword type="function" name="poppler_document_get_page_by_label ()" link="PopplerDocument.html#poppler-document-get-page-by-label"/>
- <keyword type="function" name="poppler_document_find_dest ()" link="PopplerDocument.html#poppler-document-find-dest"/>
- <keyword type="function" name="poppler_document_get_n_attachments ()" link="PopplerDocument.html#poppler-document-get-n-attachments" since="0.18"/>
- <keyword type="function" name="poppler_document_has_attachments ()" link="PopplerDocument.html#poppler-document-has-attachments"/>
- <keyword type="function" name="poppler_document_get_attachments ()" link="PopplerDocument.html#poppler-document-get-attachments"/>
- <keyword type="function" name="poppler_document_get_form_field ()" link="PopplerDocument.html#poppler-document-get-form-field"/>
- <keyword type="function" name="poppler_index_iter_new ()" link="PopplerDocument.html#poppler-index-iter-new"/>
- <keyword type="function" name="poppler_index_iter_copy ()" link="PopplerDocument.html#poppler-index-iter-copy"/>
- <keyword type="function" name="poppler_index_iter_free ()" link="PopplerDocument.html#poppler-index-iter-free"/>
- <keyword type="function" name="poppler_index_iter_get_child ()" link="PopplerDocument.html#poppler-index-iter-get-child"/>
- <keyword type="function" name="poppler_index_iter_is_open ()" link="PopplerDocument.html#poppler-index-iter-is-open"/>
- <keyword type="function" name="poppler_index_iter_get_action ()" link="PopplerDocument.html#poppler-index-iter-get-action"/>
- <keyword type="function" name="poppler_index_iter_next ()" link="PopplerDocument.html#poppler-index-iter-next"/>
- <keyword type="function" name="poppler_font_info_new ()" link="PopplerDocument.html#poppler-font-info-new"/>
- <keyword type="function" name="poppler_font_info_scan ()" link="PopplerDocument.html#poppler-font-info-scan"/>
- <keyword type="function" name="poppler_font_info_free ()" link="PopplerDocument.html#poppler-font-info-free"/>
- <keyword type="function" name="poppler_fonts_iter_copy ()" link="PopplerDocument.html#poppler-fonts-iter-copy"/>
- <keyword type="function" name="poppler_fonts_iter_free ()" link="PopplerDocument.html#poppler-fonts-iter-free"/>
- <keyword type="function" name="poppler_fonts_iter_get_name ()" link="PopplerDocument.html#poppler-fonts-iter-get-name"/>
- <keyword type="function" name="poppler_fonts_iter_get_full_name ()" link="PopplerDocument.html#poppler-fonts-iter-get-full-name"/>
- <keyword type="function" name="poppler_fonts_iter_get_font_type ()" link="PopplerDocument.html#poppler-fonts-iter-get-font-type"/>
- <keyword type="function" name="poppler_fonts_iter_get_substitute_name ()" link="PopplerDocument.html#poppler-fonts-iter-get-substitute-name" since="0.20"/>
- <keyword type="function" name="poppler_fonts_iter_get_file_name ()" link="PopplerDocument.html#poppler-fonts-iter-get-file-name"/>
- <keyword type="function" name="poppler_fonts_iter_get_encoding ()" link="PopplerDocument.html#poppler-fonts-iter-get-encoding" since="0.20"/>
- <keyword type="function" name="poppler_fonts_iter_is_embedded ()" link="PopplerDocument.html#poppler-fonts-iter-is-embedded"/>
- <keyword type="function" name="poppler_fonts_iter_is_subset ()" link="PopplerDocument.html#poppler-fonts-iter-is-subset"/>
- <keyword type="function" name="poppler_fonts_iter_next ()" link="PopplerDocument.html#poppler-fonts-iter-next"/>
- <keyword type="function" name="poppler_layers_iter_new ()" link="PopplerDocument.html#poppler-layers-iter-new" since="0.12"/>
- <keyword type="function" name="poppler_layers_iter_copy ()" link="PopplerDocument.html#poppler-layers-iter-copy"/>
- <keyword type="function" name="poppler_layers_iter_free ()" link="PopplerDocument.html#poppler-layers-iter-free" since="0.12"/>
- <keyword type="function" name="poppler_layers_iter_get_child ()" link="PopplerDocument.html#poppler-layers-iter-get-child" since="0.12"/>
- <keyword type="function" name="poppler_layers_iter_get_layer ()" link="PopplerDocument.html#poppler-layers-iter-get-layer" since="0.12"/>
- <keyword type="function" name="poppler_layers_iter_get_title ()" link="PopplerDocument.html#poppler-layers-iter-get-title" since="0.12"/>
- <keyword type="function" name="poppler_layers_iter_next ()" link="PopplerDocument.html#poppler-layers-iter-next" since="0.12"/>
- <keyword type="function" name="poppler_ps_file_new ()" link="PopplerDocument.html#poppler-ps-file-new"/>
- <keyword type="function" name="poppler_ps_file_free ()" link="PopplerDocument.html#poppler-ps-file-free"/>
- <keyword type="function" name="poppler_ps_file_set_paper_size ()" link="PopplerDocument.html#poppler-ps-file-set-paper-size"/>
- <keyword type="function" name="poppler_ps_file_set_duplex ()" link="PopplerDocument.html#poppler-ps-file-set-duplex"/>
- <keyword type="property" name="The &quot;author&quot; property" link="PopplerDocument.html#PopplerDocument--author"/>
- <keyword type="property" name="The &quot;creation-date&quot; property" link="PopplerDocument.html#PopplerDocument--creation-date"/>
- <keyword type="property" name="The &quot;creator&quot; property" link="PopplerDocument.html#PopplerDocument--creator"/>
- <keyword type="property" name="The &quot;format&quot; property" link="PopplerDocument.html#PopplerDocument--format"/>
- <keyword type="property" name="The &quot;format-major&quot; property" link="PopplerDocument.html#PopplerDocument--format-major"/>
- <keyword type="property" name="The &quot;format-minor&quot; property" link="PopplerDocument.html#PopplerDocument--format-minor"/>
- <keyword type="property" name="The &quot;keywords&quot; property" link="PopplerDocument.html#PopplerDocument--keywords"/>
- <keyword type="property" name="The &quot;linearized&quot; property" link="PopplerDocument.html#PopplerDocument--linearized"/>
- <keyword type="property" name="The &quot;metadata&quot; property" link="PopplerDocument.html#PopplerDocument--metadata"/>
- <keyword type="property" name="The &quot;mod-date&quot; property" link="PopplerDocument.html#PopplerDocument--mod-date"/>
- <keyword type="property" name="The &quot;page-layout&quot; property" link="PopplerDocument.html#PopplerDocument--page-layout"/>
- <keyword type="property" name="The &quot;page-mode&quot; property" link="PopplerDocument.html#PopplerDocument--page-mode"/>
- <keyword type="property" name="The &quot;permissions&quot; property" link="PopplerDocument.html#PopplerDocument--permissions"/>
- <keyword type="property" name="The &quot;producer&quot; property" link="PopplerDocument.html#PopplerDocument--producer"/>
- <keyword type="property" name="The &quot;subject&quot; property" link="PopplerDocument.html#PopplerDocument--subject"/>
- <keyword type="property" name="The &quot;title&quot; property" link="PopplerDocument.html#PopplerDocument--title"/>
- <keyword type="property" name="The &quot;viewer-preferences&quot; property" link="PopplerDocument.html#PopplerDocument--viewer-preferences"/>
+ <keyword type="property" name="The “author†property" link="PopplerDocument.html#PopplerDocument--author"/>
+ <keyword type="property" name="The “creation-date†property" link="PopplerDocument.html#PopplerDocument--creation-date"/>
+ <keyword type="property" name="The “creator†property" link="PopplerDocument.html#PopplerDocument--creator"/>
+ <keyword type="property" name="The “format†property" link="PopplerDocument.html#PopplerDocument--format"/>
+ <keyword type="property" name="The “format-major†property" link="PopplerDocument.html#PopplerDocument--format-major"/>
+ <keyword type="property" name="The “format-minor†property" link="PopplerDocument.html#PopplerDocument--format-minor"/>
+ <keyword type="property" name="The “keywords†property" link="PopplerDocument.html#PopplerDocument--keywords"/>
+ <keyword type="property" name="The “linearized†property" link="PopplerDocument.html#PopplerDocument--linearized"/>
+ <keyword type="property" name="The “metadata†property" link="PopplerDocument.html#PopplerDocument--metadata"/>
+ <keyword type="property" name="The “mod-date†property" link="PopplerDocument.html#PopplerDocument--mod-date"/>
+ <keyword type="property" name="The “page-layout†property" link="PopplerDocument.html#PopplerDocument--page-layout"/>
+ <keyword type="property" name="The “page-mode†property" link="PopplerDocument.html#PopplerDocument--page-mode"/>
+ <keyword type="property" name="The “permissions†property" link="PopplerDocument.html#PopplerDocument--permissions"/>
+ <keyword type="property" name="The “producer†property" link="PopplerDocument.html#PopplerDocument--producer"/>
+ <keyword type="property" name="The “subject†property" link="PopplerDocument.html#PopplerDocument--subject"/>
+ <keyword type="property" name="The “title†property" link="PopplerDocument.html#PopplerDocument--title"/>
+ <keyword type="property" name="The “viewer-preferences†property" link="PopplerDocument.html#PopplerDocument--viewer-preferences"/>
+ <keyword type="function" name="poppler_page_get_index ()" link="PopplerPage.html#poppler-page-get-index"/>
+ <keyword type="function" name="poppler_page_get_label ()" link="PopplerPage.html#poppler-page-get-label" since="0.16"/>
+ <keyword type="function" name="poppler_page_get_size ()" link="PopplerPage.html#poppler-page-get-size"/>
+ <keyword type="function" name="poppler_page_get_crop_box ()" link="PopplerPage.html#poppler-page-get-crop-box"/>
+ <keyword type="function" name="poppler_page_get_duration ()" link="PopplerPage.html#poppler-page-get-duration"/>
+ <keyword type="function" name="poppler_page_get_transition ()" link="PopplerPage.html#poppler-page-get-transition"/>
+ <keyword type="function" name="poppler_page_get_thumbnail_size ()" link="PopplerPage.html#poppler-page-get-thumbnail-size"/>
+ <keyword type="function" name="poppler_page_get_thumbnail ()" link="PopplerPage.html#poppler-page-get-thumbnail"/>
+ <keyword type="function" name="poppler_page_render ()" link="PopplerPage.html#poppler-page-render"/>
+ <keyword type="function" name="poppler_page_render_for_printing ()" link="PopplerPage.html#poppler-page-render-for-printing"/>
+ <keyword type="function" name="poppler_page_render_for_printing_with_options ()" link="PopplerPage.html#poppler-page-render-for-printing-with-options" since="0.16"/>
+ <keyword type="function" name="poppler_page_render_to_ps ()" link="PopplerPage.html#poppler-page-render-to-ps"/>
+ <keyword type="function" name="poppler_page_render_selection ()" link="PopplerPage.html#poppler-page-render-selection"/>
+ <keyword type="function" name="poppler_page_get_selected_region ()" link="PopplerPage.html#poppler-page-get-selected-region" since="0.16"/>
+ <keyword type="function" name="poppler_page_get_selection_region ()" link="PopplerPage.html#poppler-page-get-selection-region" deprecated="0.16: Use poppler_page_get_selected_region() instead."/>
+ <keyword type="function" name="poppler_page_selection_region_free ()" link="PopplerPage.html#poppler-page-selection-region-free" deprecated="0.16"/>
+ <keyword type="function" name="poppler_page_get_selected_text ()" link="PopplerPage.html#poppler-page-get-selected-text" since="0.16"/>
+ <keyword type="function" name="poppler_page_find_text ()" link="PopplerPage.html#poppler-page-find-text"/>
+ <keyword type="function" name="poppler_page_find_text_with_options ()" link="PopplerPage.html#poppler-page-find-text-with-options" since="0.22"/>
+ <keyword type="function" name="poppler_page_get_text ()" link="PopplerPage.html#poppler-page-get-text" since="0.16"/>
+ <keyword type="function" name="poppler_page_get_text_for_area ()" link="PopplerPage.html#poppler-page-get-text-for-area" since="0.26"/>
+ <keyword type="function" name="poppler_page_get_text_layout ()" link="PopplerPage.html#poppler-page-get-text-layout" since="0.16"/>
+ <keyword type="function" name="poppler_page_get_text_layout_for_area ()" link="PopplerPage.html#poppler-page-get-text-layout-for-area" since="0.26"/>
+ <keyword type="function" name="poppler_page_get_text_attributes ()" link="PopplerPage.html#poppler-page-get-text-attributes" since="0.18"/>
+ <keyword type="function" name="poppler_page_get_text_attributes_for_area ()" link="PopplerPage.html#poppler-page-get-text-attributes-for-area" since="0.26"/>
+ <keyword type="function" name="poppler_page_free_text_attributes ()" link="PopplerPage.html#poppler-page-free-text-attributes" since="0.18"/>
+ <keyword type="function" name="poppler_page_get_link_mapping ()" link="PopplerPage.html#poppler-page-get-link-mapping"/>
+ <keyword type="function" name="poppler_page_free_link_mapping ()" link="PopplerPage.html#poppler-page-free-link-mapping"/>
+ <keyword type="function" name="poppler_page_get_image_mapping ()" link="PopplerPage.html#poppler-page-get-image-mapping"/>
+ <keyword type="function" name="poppler_page_get_image ()" link="PopplerPage.html#poppler-page-get-image"/>
+ <keyword type="function" name="poppler_page_free_image_mapping ()" link="PopplerPage.html#poppler-page-free-image-mapping"/>
+ <keyword type="function" name="poppler_page_get_form_field_mapping ()" link="PopplerPage.html#poppler-page-get-form-field-mapping"/>
+ <keyword type="function" name="poppler_page_free_form_field_mapping ()" link="PopplerPage.html#poppler-page-free-form-field-mapping"/>
+ <keyword type="function" name="poppler_page_get_annot_mapping ()" link="PopplerPage.html#poppler-page-get-annot-mapping"/>
+ <keyword type="function" name="poppler_page_free_annot_mapping ()" link="PopplerPage.html#poppler-page-free-annot-mapping"/>
+ <keyword type="function" name="poppler_page_add_annot ()" link="PopplerPage.html#poppler-page-add-annot" since="0.16"/>
+ <keyword type="function" name="poppler_page_remove_annot ()" link="PopplerPage.html#poppler-page-remove-annot" since="0.22"/>
+ <keyword type="function" name="poppler_rectangle_new ()" link="PopplerPage.html#poppler-rectangle-new"/>
+ <keyword type="function" name="poppler_rectangle_copy ()" link="PopplerPage.html#poppler-rectangle-copy"/>
+ <keyword type="function" name="poppler_rectangle_free ()" link="PopplerPage.html#poppler-rectangle-free"/>
+ <keyword type="function" name="poppler_page_transition_new ()" link="PopplerPage.html#poppler-page-transition-new"/>
+ <keyword type="function" name="poppler_page_transition_copy ()" link="PopplerPage.html#poppler-page-transition-copy"/>
+ <keyword type="function" name="poppler_page_transition_free ()" link="PopplerPage.html#poppler-page-transition-free"/>
+ <keyword type="function" name="poppler_link_mapping_new ()" link="PopplerPage.html#poppler-link-mapping-new"/>
+ <keyword type="function" name="poppler_link_mapping_copy ()" link="PopplerPage.html#poppler-link-mapping-copy"/>
+ <keyword type="function" name="poppler_link_mapping_free ()" link="PopplerPage.html#poppler-link-mapping-free"/>
+ <keyword type="function" name="poppler_image_mapping_new ()" link="PopplerPage.html#poppler-image-mapping-new"/>
+ <keyword type="function" name="poppler_image_mapping_copy ()" link="PopplerPage.html#poppler-image-mapping-copy"/>
+ <keyword type="function" name="poppler_image_mapping_free ()" link="PopplerPage.html#poppler-image-mapping-free"/>
+ <keyword type="function" name="poppler_form_field_mapping_new ()" link="PopplerPage.html#poppler-form-field-mapping-new"/>
+ <keyword type="function" name="poppler_form_field_mapping_copy ()" link="PopplerPage.html#poppler-form-field-mapping-copy"/>
+ <keyword type="function" name="poppler_form_field_mapping_free ()" link="PopplerPage.html#poppler-form-field-mapping-free"/>
+ <keyword type="function" name="poppler_annot_mapping_new ()" link="PopplerPage.html#poppler-annot-mapping-new"/>
+ <keyword type="function" name="poppler_annot_mapping_copy ()" link="PopplerPage.html#poppler-annot-mapping-copy"/>
+ <keyword type="function" name="poppler_annot_mapping_free ()" link="PopplerPage.html#poppler-annot-mapping-free"/>
+ <keyword type="function" name="poppler_text_attributes_new ()" link="PopplerPage.html#poppler-text-attributes-new" since="0.18"/>
+ <keyword type="function" name="poppler_text_attributes_copy ()" link="PopplerPage.html#poppler-text-attributes-copy" since="0.18"/>
+ <keyword type="function" name="poppler_text_attributes_free ()" link="PopplerPage.html#poppler-text-attributes-free" since="0.18"/>
<keyword type="struct" name="PopplerPage" link="PopplerPage.html#PopplerPage-struct"/>
<keyword type="struct" name="PopplerRectangle" link="PopplerPage.html#PopplerRectangle"/>
<keyword type="struct" name="PopplerPageTransition" link="PopplerPage.html#PopplerPageTransition"/>
@@ -141,62 +200,11 @@
<keyword type="enum" name="enum PopplerPageTransitionDirection" link="PopplerPage.html#PopplerPageTransitionDirection"/>
<keyword type="enum" name="enum PopplerSelectionStyle" link="PopplerPage.html#PopplerSelectionStyle"/>
<keyword type="struct" name="PopplerTextAttributes" link="PopplerPage.html#PopplerTextAttributes" since="0.18"/>
- <keyword type="function" name="poppler_page_get_index ()" link="PopplerPage.html#poppler-page-get-index"/>
- <keyword type="function" name="poppler_page_get_label ()" link="PopplerPage.html#poppler-page-get-label" since="0.16"/>
- <keyword type="function" name="poppler_page_get_size ()" link="PopplerPage.html#poppler-page-get-size"/>
- <keyword type="function" name="poppler_page_get_crop_box ()" link="PopplerPage.html#poppler-page-get-crop-box"/>
- <keyword type="function" name="poppler_page_get_duration ()" link="PopplerPage.html#poppler-page-get-duration"/>
- <keyword type="function" name="poppler_page_get_transition ()" link="PopplerPage.html#poppler-page-get-transition"/>
- <keyword type="function" name="poppler_page_get_thumbnail_size ()" link="PopplerPage.html#poppler-page-get-thumbnail-size"/>
- <keyword type="function" name="poppler_page_get_thumbnail ()" link="PopplerPage.html#poppler-page-get-thumbnail"/>
- <keyword type="function" name="poppler_page_render ()" link="PopplerPage.html#poppler-page-render"/>
- <keyword type="function" name="poppler_page_render_for_printing ()" link="PopplerPage.html#poppler-page-render-for-printing"/>
- <keyword type="function" name="poppler_page_render_for_printing_with_options ()" link="PopplerPage.html#poppler-page-render-for-printing-with-options" since="0.16"/>
- <keyword type="function" name="poppler_page_render_to_ps ()" link="PopplerPage.html#poppler-page-render-to-ps"/>
- <keyword type="function" name="poppler_page_render_selection ()" link="PopplerPage.html#poppler-page-render-selection"/>
- <keyword type="function" name="poppler_page_get_selected_region ()" link="PopplerPage.html#poppler-page-get-selected-region" since="0.16"/>
- <keyword type="function" name="poppler_page_get_selection_region ()" link="PopplerPage.html#poppler-page-get-selection-region" deprecated="0.16: Use poppler_page_get_selected_region() instead."/>
- <keyword type="function" name="poppler_page_selection_region_free ()" link="PopplerPage.html#poppler-page-selection-region-free" deprecated="0.16"/>
- <keyword type="function" name="poppler_page_get_selected_text ()" link="PopplerPage.html#poppler-page-get-selected-text" since="0.16"/>
- <keyword type="function" name="poppler_page_find_text ()" link="PopplerPage.html#poppler-page-find-text"/>
- <keyword type="function" name="poppler_page_find_text_with_options ()" link="PopplerPage.html#poppler-page-find-text-with-options" since="0.22"/>
- <keyword type="function" name="poppler_page_get_text ()" link="PopplerPage.html#poppler-page-get-text" since="0.16"/>
- <keyword type="function" name="poppler_page_get_text_layout ()" link="PopplerPage.html#poppler-page-get-text-layout" since="0.16"/>
- <keyword type="function" name="poppler_page_get_text_attributes ()" link="PopplerPage.html#poppler-page-get-text-attributes" since="0.18"/>
- <keyword type="function" name="poppler_page_free_text_attributes ()" link="PopplerPage.html#poppler-page-free-text-attributes" since="0.18"/>
- <keyword type="function" name="poppler_page_get_link_mapping ()" link="PopplerPage.html#poppler-page-get-link-mapping"/>
- <keyword type="function" name="poppler_page_free_link_mapping ()" link="PopplerPage.html#poppler-page-free-link-mapping"/>
- <keyword type="function" name="poppler_page_get_image_mapping ()" link="PopplerPage.html#poppler-page-get-image-mapping"/>
- <keyword type="function" name="poppler_page_get_image ()" link="PopplerPage.html#poppler-page-get-image"/>
- <keyword type="function" name="poppler_page_free_image_mapping ()" link="PopplerPage.html#poppler-page-free-image-mapping"/>
- <keyword type="function" name="poppler_page_get_form_field_mapping ()" link="PopplerPage.html#poppler-page-get-form-field-mapping"/>
- <keyword type="function" name="poppler_page_free_form_field_mapping ()" link="PopplerPage.html#poppler-page-free-form-field-mapping"/>
- <keyword type="function" name="poppler_page_get_annot_mapping ()" link="PopplerPage.html#poppler-page-get-annot-mapping"/>
- <keyword type="function" name="poppler_page_free_annot_mapping ()" link="PopplerPage.html#poppler-page-free-annot-mapping"/>
- <keyword type="function" name="poppler_page_add_annot ()" link="PopplerPage.html#poppler-page-add-annot" since="0.16"/>
- <keyword type="function" name="poppler_page_remove_annot ()" link="PopplerPage.html#poppler-page-remove-annot" since="0.22"/>
- <keyword type="function" name="poppler_rectangle_new ()" link="PopplerPage.html#poppler-rectangle-new"/>
- <keyword type="function" name="poppler_rectangle_copy ()" link="PopplerPage.html#poppler-rectangle-copy"/>
- <keyword type="function" name="poppler_rectangle_free ()" link="PopplerPage.html#poppler-rectangle-free"/>
- <keyword type="function" name="poppler_page_transition_new ()" link="PopplerPage.html#poppler-page-transition-new"/>
- <keyword type="function" name="poppler_page_transition_copy ()" link="PopplerPage.html#poppler-page-transition-copy"/>
- <keyword type="function" name="poppler_page_transition_free ()" link="PopplerPage.html#poppler-page-transition-free"/>
- <keyword type="function" name="poppler_link_mapping_new ()" link="PopplerPage.html#poppler-link-mapping-new"/>
- <keyword type="function" name="poppler_link_mapping_copy ()" link="PopplerPage.html#poppler-link-mapping-copy"/>
- <keyword type="function" name="poppler_link_mapping_free ()" link="PopplerPage.html#poppler-link-mapping-free"/>
- <keyword type="function" name="poppler_image_mapping_new ()" link="PopplerPage.html#poppler-image-mapping-new"/>
- <keyword type="function" name="poppler_image_mapping_copy ()" link="PopplerPage.html#poppler-image-mapping-copy"/>
- <keyword type="function" name="poppler_image_mapping_free ()" link="PopplerPage.html#poppler-image-mapping-free"/>
- <keyword type="function" name="poppler_form_field_mapping_new ()" link="PopplerPage.html#poppler-form-field-mapping-new"/>
- <keyword type="function" name="poppler_form_field_mapping_copy ()" link="PopplerPage.html#poppler-form-field-mapping-copy"/>
- <keyword type="function" name="poppler_form_field_mapping_free ()" link="PopplerPage.html#poppler-form-field-mapping-free"/>
- <keyword type="function" name="poppler_annot_mapping_new ()" link="PopplerPage.html#poppler-annot-mapping-new"/>
- <keyword type="function" name="poppler_annot_mapping_copy ()" link="PopplerPage.html#poppler-annot-mapping-copy"/>
- <keyword type="function" name="poppler_annot_mapping_free ()" link="PopplerPage.html#poppler-annot-mapping-free"/>
- <keyword type="function" name="poppler_text_attributes_new ()" link="PopplerPage.html#poppler-text-attributes-new" since="0.18"/>
- <keyword type="function" name="poppler_text_attributes_copy ()" link="PopplerPage.html#poppler-text-attributes-copy" since="0.18"/>
- <keyword type="function" name="poppler_text_attributes_free ()" link="PopplerPage.html#poppler-text-attributes-free" since="0.18"/>
- <keyword type="property" name="The &quot;label&quot; property" link="PopplerPage.html#PopplerPage--label"/>
+ <keyword type="property" name="The “label†property" link="PopplerPage.html#PopplerPage--label"/>
+ <keyword type="function" name="poppler_action_copy ()" link="poppler-PopplerAction.html#poppler-action-copy"/>
+ <keyword type="function" name="poppler_action_free ()" link="poppler-PopplerAction.html#poppler-action-free"/>
+ <keyword type="function" name="poppler_dest_copy ()" link="poppler-PopplerAction.html#poppler-dest-copy"/>
+ <keyword type="function" name="poppler_dest_free ()" link="poppler-PopplerAction.html#poppler-dest-free"/>
<keyword type="union" name="union PopplerAction" link="poppler-PopplerAction.html#PopplerAction"/>
<keyword type="struct" name="PopplerDest" link="poppler-PopplerAction.html#PopplerDest"/>
<keyword type="struct" name="struct PopplerActionAny" link="poppler-PopplerAction.html#PopplerActionAny"/>
@@ -214,56 +222,117 @@
<keyword type="enum" name="enum PopplerActionMovieOperation" link="poppler-PopplerAction.html#PopplerActionMovieOperation" since="0.14"/>
<keyword type="struct" name="PopplerActionLayer" link="poppler-PopplerAction.html#PopplerActionLayer"/>
<keyword type="enum" name="enum PopplerActionLayerAction" link="poppler-PopplerAction.html#PopplerActionLayerAction" since="0.14"/>
- <keyword type="function" name="poppler_action_copy ()" link="poppler-PopplerAction.html#poppler-action-copy"/>
- <keyword type="function" name="poppler_action_free ()" link="poppler-PopplerAction.html#poppler-action-free"/>
- <keyword type="function" name="poppler_dest_copy ()" link="poppler-PopplerAction.html#poppler-dest-copy"/>
- <keyword type="function" name="poppler_dest_free ()" link="poppler-PopplerAction.html#poppler-dest-free"/>
+ <keyword type="function" name="PopplerAttachmentSaveFunc ()" link="PopplerAttachment.html#PopplerAttachmentSaveFunc"/>
+ <keyword type="function" name="poppler_attachment_save ()" link="PopplerAttachment.html#poppler-attachment-save"/>
+ <keyword type="function" name="poppler_attachment_save_to_callback ()" link="PopplerAttachment.html#poppler-attachment-save-to-callback"/>
<keyword type="struct" name="PopplerAttachment" link="PopplerAttachment.html#PopplerAttachment-struct"/>
- <keyword type="function" name="PopplerAttachmentSaveFunc ()" link="PopplerAttachment.html#PopplerAttachmentSaveFunc"/>
- <keyword type="function" name="poppler_attachment_save ()" link="PopplerAttachment.html#poppler-attachment-save"/>
- <keyword type="function" name="poppler_attachment_save_to_callback ()" link="PopplerAttachment.html#poppler-attachment-save-to-callback"/>
+ <keyword type="function" name="poppler_form_field_get_field_type ()" link="PopplerFormField.html#poppler-form-field-get-field-type"/>
+ <keyword type="function" name="poppler_form_field_get_id ()" link="PopplerFormField.html#poppler-form-field-get-id"/>
+ <keyword type="function" name="poppler_form_field_is_read_only ()" link="PopplerFormField.html#poppler-form-field-is-read-only"/>
+ <keyword type="function" name="poppler_form_field_get_font_size ()" link="PopplerFormField.html#poppler-form-field-get-font-size"/>
+ <keyword type="function" name="poppler_form_field_get_partial_name ()" link="PopplerFormField.html#poppler-form-field-get-partial-name" since="0.16"/>
+ <keyword type="function" name="poppler_form_field_get_mapping_name ()" link="PopplerFormField.html#poppler-form-field-get-mapping-name" since="0.16"/>
+ <keyword type="function" name="poppler_form_field_get_name ()" link="PopplerFormField.html#poppler-form-field-get-name" since="0.16"/>
+ <keyword type="function" name="poppler_form_field_get_action ()" link="PopplerFormField.html#poppler-form-field-get-action" since="0.18"/>
+ <keyword type="function" name="poppler_form_field_button_get_button_type ()" link="PopplerFormField.html#poppler-form-field-button-get-button-type"/>
+ <keyword type="function" name="poppler_form_field_button_get_state ()" link="PopplerFormField.html#poppler-form-field-button-get-state"/>
+ <keyword type="function" name="poppler_form_field_button_set_state ()" link="PopplerFormField.html#poppler-form-field-button-set-state"/>
+ <keyword type="function" name="poppler_form_field_choice_get_choice_type ()" link="PopplerFormField.html#poppler-form-field-choice-get-choice-type"/>
+ <keyword type="function" name="poppler_form_field_choice_can_select_multiple ()" link="PopplerFormField.html#poppler-form-field-choice-can-select-multiple"/>
+ <keyword type="function" name="poppler_form_field_choice_commit_on_change ()" link="PopplerFormField.html#poppler-form-field-choice-commit-on-change"/>
+ <keyword type="function" name="poppler_form_field_choice_do_spell_check ()" link="PopplerFormField.html#poppler-form-field-choice-do-spell-check"/>
+ <keyword type="function" name="poppler_form_field_choice_get_item ()" link="PopplerFormField.html#poppler-form-field-choice-get-item"/>
+ <keyword type="function" name="poppler_form_field_choice_get_n_items ()" link="PopplerFormField.html#poppler-form-field-choice-get-n-items"/>
+ <keyword type="function" name="poppler_form_field_choice_get_text ()" link="PopplerFormField.html#poppler-form-field-choice-get-text"/>
+ <keyword type="function" name="poppler_form_field_choice_set_text ()" link="PopplerFormField.html#poppler-form-field-choice-set-text"/>
+ <keyword type="function" name="poppler_form_field_choice_is_editable ()" link="PopplerFormField.html#poppler-form-field-choice-is-editable"/>
+ <keyword type="function" name="poppler_form_field_choice_is_item_selected ()" link="PopplerFormField.html#poppler-form-field-choice-is-item-selected"/>
+ <keyword type="function" name="poppler_form_field_choice_select_item ()" link="PopplerFormField.html#poppler-form-field-choice-select-item"/>
+ <keyword type="function" name="poppler_form_field_choice_toggle_item ()" link="PopplerFormField.html#poppler-form-field-choice-toggle-item"/>
+ <keyword type="function" name="poppler_form_field_choice_unselect_all ()" link="PopplerFormField.html#poppler-form-field-choice-unselect-all"/>
+ <keyword type="function" name="poppler_form_field_text_get_text_type ()" link="PopplerFormField.html#poppler-form-field-text-get-text-type"/>
+ <keyword type="function" name="poppler_form_field_text_get_text ()" link="PopplerFormField.html#poppler-form-field-text-get-text"/>
+ <keyword type="function" name="poppler_form_field_text_set_text ()" link="PopplerFormField.html#poppler-form-field-text-set-text"/>
+ <keyword type="function" name="poppler_form_field_text_get_max_len ()" link="PopplerFormField.html#poppler-form-field-text-get-max-len"/>
+ <keyword type="function" name="poppler_form_field_text_do_scroll ()" link="PopplerFormField.html#poppler-form-field-text-do-scroll"/>
+ <keyword type="function" name="poppler_form_field_text_do_spell_check ()" link="PopplerFormField.html#poppler-form-field-text-do-spell-check"/>
+ <keyword type="function" name="poppler_form_field_text_is_password ()" link="PopplerFormField.html#poppler-form-field-text-is-password"/>
+ <keyword type="function" name="poppler_form_field_text_is_rich_text ()" link="PopplerFormField.html#poppler-form-field-text-is-rich-text"/>
<keyword type="struct" name="PopplerFormField" link="PopplerFormField.html#PopplerFormField-struct"/>
<keyword type="enum" name="enum PopplerFormFieldType" link="PopplerFormField.html#PopplerFormFieldType"/>
<keyword type="enum" name="enum PopplerFormButtonType" link="PopplerFormField.html#PopplerFormButtonType"/>
<keyword type="enum" name="enum PopplerFormChoiceType" link="PopplerFormField.html#PopplerFormChoiceType"/>
<keyword type="enum" name="enum PopplerFormTextType" link="PopplerFormField.html#PopplerFormTextType"/>
- <keyword type="function" name="poppler_form_field_get_field_type ()" link="PopplerFormField.html#poppler-form-field-get-field-type"/>
- <keyword type="function" name="poppler_form_field_get_id ()" link="PopplerFormField.html#poppler-form-field-get-id"/>
- <keyword type="function" name="poppler_form_field_is_read_only ()" link="PopplerFormField.html#poppler-form-field-is-read-only"/>
- <keyword type="function" name="poppler_form_field_get_font_size ()" link="PopplerFormField.html#poppler-form-field-get-font-size"/>
- <keyword type="function" name="poppler_form_field_get_partial_name ()" link="PopplerFormField.html#poppler-form-field-get-partial-name" since="0.16"/>
- <keyword type="function" name="poppler_form_field_get_mapping_name ()" link="PopplerFormField.html#poppler-form-field-get-mapping-name" since="0.16"/>
- <keyword type="function" name="poppler_form_field_get_name ()" link="PopplerFormField.html#poppler-form-field-get-name" since="0.16"/>
- <keyword type="function" name="poppler_form_field_get_action ()" link="PopplerFormField.html#poppler-form-field-get-action" since="0.18"/>
- <keyword type="function" name="poppler_form_field_button_get_button_type ()" link="PopplerFormField.html#poppler-form-field-button-get-button-type"/>
- <keyword type="function" name="poppler_form_field_button_get_state ()" link="PopplerFormField.html#poppler-form-field-button-get-state"/>
- <keyword type="function" name="poppler_form_field_button_set_state ()" link="PopplerFormField.html#poppler-form-field-button-set-state"/>
- <keyword type="function" name="poppler_form_field_choice_get_choice_type ()" link="PopplerFormField.html#poppler-form-field-choice-get-choice-type"/>
- <keyword type="function" name="poppler_form_field_choice_can_select_multiple ()" link="PopplerFormField.html#poppler-form-field-choice-can-select-multiple"/>
- <keyword type="function" name="poppler_form_field_choice_commit_on_change ()" link="PopplerFormField.html#poppler-form-field-choice-commit-on-change"/>
- <keyword type="function" name="poppler_form_field_choice_do_spell_check ()" link="PopplerFormField.html#poppler-form-field-choice-do-spell-check"/>
- <keyword type="function" name="poppler_form_field_choice_get_item ()" link="PopplerFormField.html#poppler-form-field-choice-get-item"/>
- <keyword type="function" name="poppler_form_field_choice_get_n_items ()" link="PopplerFormField.html#poppler-form-field-choice-get-n-items"/>
- <keyword type="function" name="poppler_form_field_choice_get_text ()" link="PopplerFormField.html#poppler-form-field-choice-get-text"/>
- <keyword type="function" name="poppler_form_field_choice_set_text ()" link="PopplerFormField.html#poppler-form-field-choice-set-text"/>
- <keyword type="function" name="poppler_form_field_choice_is_editable ()" link="PopplerFormField.html#poppler-form-field-choice-is-editable"/>
- <keyword type="function" name="poppler_form_field_choice_is_item_selected ()" link="PopplerFormField.html#poppler-form-field-choice-is-item-selected"/>
- <keyword type="function" name="poppler_form_field_choice_select_item ()" link="PopplerFormField.html#poppler-form-field-choice-select-item"/>
- <keyword type="function" name="poppler_form_field_choice_toggle_item ()" link="PopplerFormField.html#poppler-form-field-choice-toggle-item"/>
- <keyword type="function" name="poppler_form_field_choice_unselect_all ()" link="PopplerFormField.html#poppler-form-field-choice-unselect-all"/>
- <keyword type="function" name="poppler_form_field_text_get_text_type ()" link="PopplerFormField.html#poppler-form-field-text-get-text-type"/>
- <keyword type="function" name="poppler_form_field_text_get_text ()" link="PopplerFormField.html#poppler-form-field-text-get-text"/>
- <keyword type="function" name="poppler_form_field_text_set_text ()" link="PopplerFormField.html#poppler-form-field-text-set-text"/>
- <keyword type="function" name="poppler_form_field_text_get_max_len ()" link="PopplerFormField.html#poppler-form-field-text-get-max-len"/>
- <keyword type="function" name="poppler_form_field_text_do_scroll ()" link="PopplerFormField.html#poppler-form-field-text-do-scroll"/>
- <keyword type="function" name="poppler_form_field_text_do_spell_check ()" link="PopplerFormField.html#poppler-form-field-text-do-spell-check"/>
- <keyword type="function" name="poppler_form_field_text_is_password ()" link="PopplerFormField.html#poppler-form-field-text-is-password"/>
- <keyword type="function" name="poppler_form_field_text_is_rich_text ()" link="PopplerFormField.html#poppler-form-field-text-is-rich-text"/>
+ <keyword type="function" name="poppler_annot_get_annot_type ()" link="PopplerAnnot.html#poppler-annot-get-annot-type"/>
+ <keyword type="function" name="poppler_annot_get_flags ()" link="PopplerAnnot.html#poppler-annot-get-flags"/>
+ <keyword type="function" name="poppler_annot_get_name ()" link="PopplerAnnot.html#poppler-annot-get-name"/>
+ <keyword type="function" name="poppler_annot_get_page_index ()" link="PopplerAnnot.html#poppler-annot-get-page-index" since="0.14"/>
+ <keyword type="function" name="poppler_annot_get_color ()" link="PopplerAnnot.html#poppler-annot-get-color"/>
+ <keyword type="function" name="poppler_annot_set_color ()" link="PopplerAnnot.html#poppler-annot-set-color" since="0.16"/>
+ <keyword type="function" name="poppler_annot_get_contents ()" link="PopplerAnnot.html#poppler-annot-get-contents"/>
+ <keyword type="function" name="poppler_annot_set_contents ()" link="PopplerAnnot.html#poppler-annot-set-contents" since="0.12"/>
+ <keyword type="function" name="poppler_annot_get_modified ()" link="PopplerAnnot.html#poppler-annot-get-modified"/>
+ <keyword type="function" name="poppler_annot_get_rectangle ()" link="PopplerAnnot.html#poppler-annot-get-rectangle" since="0.26"/>
+ <keyword type="function" name="poppler_annot_set_rectangle ()" link="PopplerAnnot.html#poppler-annot-set-rectangle" since="0.26"/>
+ <keyword type="function" name="poppler_annot_markup_get_label ()" link="PopplerAnnot.html#poppler-annot-markup-get-label"/>
+ <keyword type="function" name="poppler_annot_markup_set_label ()" link="PopplerAnnot.html#poppler-annot-markup-set-label" since="0.16"/>
+ <keyword type="function" name="poppler_annot_markup_get_subject ()" link="PopplerAnnot.html#poppler-annot-markup-get-subject"/>
+ <keyword type="function" name="poppler_annot_markup_get_opacity ()" link="PopplerAnnot.html#poppler-annot-markup-get-opacity"/>
+ <keyword type="function" name="poppler_annot_markup_set_opacity ()" link="PopplerAnnot.html#poppler-annot-markup-set-opacity" since="0.16"/>
+ <keyword type="function" name="poppler_annot_markup_has_popup ()" link="PopplerAnnot.html#poppler-annot-markup-has-popup" since="0.12"/>
+ <keyword type="function" name="poppler_annot_markup_set_popup ()" link="PopplerAnnot.html#poppler-annot-markup-set-popup" since="0.16"/>
+ <keyword type="function" name="poppler_annot_markup_get_popup_is_open ()" link="PopplerAnnot.html#poppler-annot-markup-get-popup-is-open"/>
+ <keyword type="function" name="poppler_annot_markup_set_popup_is_open ()" link="PopplerAnnot.html#poppler-annot-markup-set-popup-is-open" since="0.16"/>
+ <keyword type="function" name="poppler_annot_markup_get_popup_rectangle ()" link="PopplerAnnot.html#poppler-annot-markup-get-popup-rectangle" since="0.12"/>
+ <keyword type="function" name="poppler_annot_markup_get_date ()" link="PopplerAnnot.html#poppler-annot-markup-get-date"/>
+ <keyword type="function" name="poppler_annot_markup_get_external_data ()" link="PopplerAnnot.html#poppler-annot-markup-get-external-data"/>
+ <keyword type="function" name="poppler_annot_markup_get_reply_to ()" link="PopplerAnnot.html#poppler-annot-markup-get-reply-to"/>
+ <keyword type="function" name="poppler_annot_text_new ()" link="PopplerAnnot.html#poppler-annot-text-new" since="0.16"/>
+ <keyword type="function" name="poppler_annot_text_get_icon ()" link="PopplerAnnot.html#poppler-annot-text-get-icon"/>
+ <keyword type="function" name="poppler_annot_text_set_icon ()" link="PopplerAnnot.html#poppler-annot-text-set-icon" since="0.16"/>
+ <keyword type="function" name="poppler_annot_text_get_is_open ()" link="PopplerAnnot.html#poppler-annot-text-get-is-open"/>
+ <keyword type="function" name="poppler_annot_text_set_is_open ()" link="PopplerAnnot.html#poppler-annot-text-set-is-open" since="0.16"/>
+ <keyword type="function" name="poppler_annot_text_get_state ()" link="PopplerAnnot.html#poppler-annot-text-get-state"/>
+ <keyword type="function" name="poppler_annot_text_markup_new_highlight ()" link="PopplerAnnot.html#poppler-annot-text-markup-new-highlight" since="0.26"/>
+ <keyword type="function" name="poppler_annot_text_markup_new_squiggly ()" link="PopplerAnnot.html#poppler-annot-text-markup-new-squiggly" since="0.26"/>
+ <keyword type="function" name="poppler_annot_text_markup_new_strikeout ()" link="PopplerAnnot.html#poppler-annot-text-markup-new-strikeout" since="0.26"/>
+ <keyword type="function" name="poppler_annot_text_markup_new_underline ()" link="PopplerAnnot.html#poppler-annot-text-markup-new-underline" since="0.26"/>
+ <keyword type="function" name="poppler_annot_text_markup_set_quadrilaterals ()" link="PopplerAnnot.html#poppler-annot-text-markup-set-quadrilaterals" since="0.26"/>
+ <keyword type="function" name="poppler_annot_text_markup_get_quadrilaterals ()" link="PopplerAnnot.html#poppler-annot-text-markup-get-quadrilaterals" since="0.26"/>
+ <keyword type="function" name="poppler_annot_free_text_get_callout_line ()" link="PopplerAnnot.html#poppler-annot-free-text-get-callout-line"/>
+ <keyword type="function" name="poppler_annot_free_text_get_quadding ()" link="PopplerAnnot.html#poppler-annot-free-text-get-quadding"/>
+ <keyword type="function" name="poppler_annot_file_attachment_get_attachment ()" link="PopplerAnnot.html#poppler-annot-file-attachment-get-attachment" since="0.14"/>
+ <keyword type="function" name="poppler_annot_file_attachment_get_name ()" link="PopplerAnnot.html#poppler-annot-file-attachment-get-name" since="0.14"/>
+ <keyword type="function" name="poppler_annot_screen_get_action ()" link="PopplerAnnot.html#poppler-annot-screen-get-action" since="0.14"/>
+ <keyword type="function" name="poppler_annot_movie_get_movie ()" link="PopplerAnnot.html#poppler-annot-movie-get-movie" since="0.14"/>
+ <keyword type="function" name="poppler_annot_movie_get_title ()" link="PopplerAnnot.html#poppler-annot-movie-get-title" since="0.14"/>
+ <keyword type="function" name="poppler_annot_callout_line_new ()" link="PopplerAnnot.html#poppler-annot-callout-line-new"/>
+ <keyword type="function" name="poppler_annot_callout_line_copy ()" link="PopplerAnnot.html#poppler-annot-callout-line-copy"/>
+ <keyword type="function" name="poppler_annot_callout_line_free ()" link="PopplerAnnot.html#poppler-annot-callout-line-free"/>
+ <keyword type="function" name="poppler_annot_circle_new ()" link="PopplerAnnot.html#poppler-annot-circle-new" since="0.26"/>
+ <keyword type="function" name="poppler_annot_circle_get_interior_color ()" link="PopplerAnnot.html#poppler-annot-circle-get-interior-color" since="0.26"/>
+ <keyword type="function" name="poppler_annot_circle_set_interior_color ()" link="PopplerAnnot.html#poppler-annot-circle-set-interior-color" since="0.26"/>
+ <keyword type="function" name="poppler_annot_line_new ()" link="PopplerAnnot.html#poppler-annot-line-new" since="0.26"/>
+ <keyword type="function" name="poppler_annot_line_set_vertices ()" link="PopplerAnnot.html#poppler-annot-line-set-vertices" since="0.26"/>
+ <keyword type="function" name="poppler_annot_square_new ()" link="PopplerAnnot.html#poppler-annot-square-new" since="0.26"/>
+ <keyword type="function" name="poppler_annot_square_get_interior_color ()" link="PopplerAnnot.html#poppler-annot-square-get-interior-color" since="0.26"/>
+ <keyword type="function" name="poppler_annot_square_set_interior_color ()" link="PopplerAnnot.html#poppler-annot-square-set-interior-color" since="0.26"/>
+ <keyword type="function" name="poppler_point_copy ()" link="PopplerAnnot.html#poppler-point-copy" since="0.26"/>
+ <keyword type="function" name="poppler_point_free ()" link="PopplerAnnot.html#poppler-point-free" since="0.26"/>
+ <keyword type="function" name="poppler_point_get_type ()" link="PopplerAnnot.html#poppler-point-get-type"/>
+ <keyword type="function" name="poppler_point_new ()" link="PopplerAnnot.html#poppler-point-new" since="0.26"/>
+ <keyword type="function" name="poppler_quadrilateral_copy ()" link="PopplerAnnot.html#poppler-quadrilateral-copy" since="0.26"/>
+ <keyword type="function" name="poppler_quadrilateral_free ()" link="PopplerAnnot.html#poppler-quadrilateral-free" since="0.26"/>
+ <keyword type="function" name="poppler_quadrilateral_get_type ()" link="PopplerAnnot.html#poppler-quadrilateral-get-type"/>
+ <keyword type="function" name="poppler_quadrilateral_new ()" link="PopplerAnnot.html#poppler-quadrilateral-new" since="0.26"/>
<keyword type="struct" name="PopplerAnnot" link="PopplerAnnot.html#PopplerAnnot-struct"/>
<keyword type="struct" name="PopplerAnnotMarkup" link="PopplerAnnot.html#PopplerAnnotMarkup"/>
+ <keyword type="struct" name="PopplerAnnotCircle" link="PopplerAnnot.html#PopplerAnnotCircle"/>
<keyword type="struct" name="PopplerAnnotText" link="PopplerAnnot.html#PopplerAnnotText"/>
+ <keyword type="struct" name="PopplerAnnotTextMarkup" link="PopplerAnnot.html#PopplerAnnotTextMarkup"/>
<keyword type="struct" name="PopplerAnnotFreeText" link="PopplerAnnot.html#PopplerAnnotFreeText"/>
<keyword type="struct" name="PopplerAnnotFileAttachment" link="PopplerAnnot.html#PopplerAnnotFileAttachment"/>
+ <keyword type="struct" name="PopplerAnnotLine" link="PopplerAnnot.html#PopplerAnnotLine"/>
<keyword type="struct" name="PopplerAnnotMovie" link="PopplerAnnot.html#PopplerAnnotMovie"/>
<keyword type="struct" name="PopplerAnnotScreen" link="PopplerAnnot.html#PopplerAnnotScreen"/>
<keyword type="enum" name="enum PopplerAnnotType" link="PopplerAnnot.html#PopplerAnnotType"/>
@@ -273,30 +342,9 @@
<keyword type="enum" name="enum PopplerAnnotTextState" link="PopplerAnnot.html#PopplerAnnotTextState"/>
<keyword type="struct" name="PopplerAnnotCalloutLine" link="PopplerAnnot.html#PopplerAnnotCalloutLine"/>
<keyword type="enum" name="enum PopplerAnnotFreeTextQuadding" link="PopplerAnnot.html#PopplerAnnotFreeTextQuadding"/>
- <keyword type="function" name="poppler_annot_get_annot_type ()" link="PopplerAnnot.html#poppler-annot-get-annot-type"/>
- <keyword type="function" name="poppler_annot_get_flags ()" link="PopplerAnnot.html#poppler-annot-get-flags"/>
- <keyword type="function" name="poppler_annot_get_name ()" link="PopplerAnnot.html#poppler-annot-get-name"/>
- <keyword type="function" name="poppler_annot_get_page_index ()" link="PopplerAnnot.html#poppler-annot-get-page-index" since="0.14"/>
- <keyword type="function" name="poppler_annot_get_color ()" link="PopplerAnnot.html#poppler-annot-get-color"/>
- <keyword type="function" name="poppler_annot_set_color ()" link="PopplerAnnot.html#poppler-annot-set-color" since="0.16"/>
- <keyword type="function" name="poppler_annot_get_contents ()" link="PopplerAnnot.html#poppler-annot-get-contents"/>
- <keyword type="function" name="poppler_annot_set_contents ()" link="PopplerAnnot.html#poppler-annot-set-contents" since="0.12"/>
- <keyword type="function" name="poppler_annot_get_modified ()" link="PopplerAnnot.html#poppler-annot-get-modified"/>
- <keyword type="function" name="poppler_annot_markup_get_label ()" link="PopplerAnnot.html#poppler-annot-markup-get-label"/>
- <keyword type="function" name="poppler_annot_markup_set_label ()" link="PopplerAnnot.html#poppler-annot-markup-set-label" since="0.16"/>
- <keyword type="function" name="poppler_annot_markup_get_subject ()" link="PopplerAnnot.html#poppler-annot-markup-get-subject"/>
- <keyword type="function" name="poppler_annot_markup_get_opacity ()" link="PopplerAnnot.html#poppler-annot-markup-get-opacity"/>
- <keyword type="function" name="poppler_annot_markup_set_opacity ()" link="PopplerAnnot.html#poppler-annot-markup-set-opacity" since="0.16"/>
- <keyword type="function" name="poppler_annot_markup_has_popup ()" link="PopplerAnnot.html#poppler-annot-markup-has-popup" since="0.12"/>
- <keyword type="function" name="poppler_annot_markup_set_popup ()" link="PopplerAnnot.html#poppler-annot-markup-set-popup" since="0.16"/>
- <keyword type="function" name="poppler_annot_markup_get_popup_is_open ()" link="PopplerAnnot.html#poppler-annot-markup-get-popup-is-open"/>
- <keyword type="function" name="poppler_annot_markup_set_popup_is_open ()" link="PopplerAnnot.html#poppler-annot-markup-set-popup-is-open" since="0.16"/>
- <keyword type="function" name="poppler_annot_markup_get_popup_rectangle ()" link="PopplerAnnot.html#poppler-annot-markup-get-popup-rectangle" since="0.12"/>
- <keyword type="function" name="poppler_annot_markup_get_date ()" link="PopplerAnnot.html#poppler-annot-markup-get-date"/>
- <keyword type="function" name="poppler_annot_markup_get_external_data ()" link="PopplerAnnot.html#poppler-annot-markup-get-external-data"/>
- <keyword type="function" name="poppler_annot_markup_get_reply_to ()" link="PopplerAnnot.html#poppler-annot-markup-get-reply-to"/>
- <keyword type="function" name="poppler_annot_text_new ()" link="PopplerAnnot.html#poppler-annot-text-new" since="0.16"/>
- <keyword type="function" name="poppler_annot_text_get_icon ()" link="PopplerAnnot.html#poppler-annot-text-get-icon"/>
+ <keyword type="struct" name="PopplerAnnotSquare" link="PopplerAnnot.html#PopplerAnnotSquare"/>
+ <keyword type="struct" name="PopplerPoint" link="PopplerAnnot.html#PopplerPoint"/>
+ <keyword type="struct" name="PopplerQuadrilateral" link="PopplerAnnot.html#PopplerQuadrilateral" since="0.26"/>
<keyword type="macro" name="POPPLER_ANNOT_TEXT_ICON_NOTE" link="PopplerAnnot.html#POPPLER-ANNOT-TEXT-ICON-NOTE:CAPS"/>
<keyword type="macro" name="POPPLER_ANNOT_TEXT_ICON_COMMENT" link="PopplerAnnot.html#POPPLER-ANNOT-TEXT-ICON-COMMENT:CAPS"/>
<keyword type="macro" name="POPPLER_ANNOT_TEXT_ICON_KEY" link="PopplerAnnot.html#POPPLER-ANNOT-TEXT-ICON-KEY:CAPS"/>
@@ -306,217 +354,116 @@
<keyword type="macro" name="POPPLER_ANNOT_TEXT_ICON_INSERT" link="PopplerAnnot.html#POPPLER-ANNOT-TEXT-ICON-INSERT:CAPS"/>
<keyword type="macro" name="POPPLER_ANNOT_TEXT_ICON_CROSS" link="PopplerAnnot.html#POPPLER-ANNOT-TEXT-ICON-CROSS:CAPS"/>
<keyword type="macro" name="POPPLER_ANNOT_TEXT_ICON_CIRCLE" link="PopplerAnnot.html#POPPLER-ANNOT-TEXT-ICON-CIRCLE:CAPS"/>
- <keyword type="function" name="poppler_annot_text_set_icon ()" link="PopplerAnnot.html#poppler-annot-text-set-icon" since="0.16"/>
- <keyword type="function" name="poppler_annot_text_get_is_open ()" link="PopplerAnnot.html#poppler-annot-text-get-is-open"/>
- <keyword type="function" name="poppler_annot_text_set_is_open ()" link="PopplerAnnot.html#poppler-annot-text-set-is-open" since="0.16"/>
- <keyword type="function" name="poppler_annot_text_get_state ()" link="PopplerAnnot.html#poppler-annot-text-get-state"/>
- <keyword type="function" name="poppler_annot_free_text_get_callout_line ()" link="PopplerAnnot.html#poppler-annot-free-text-get-callout-line"/>
- <keyword type="function" name="poppler_annot_free_text_get_quadding ()" link="PopplerAnnot.html#poppler-annot-free-text-get-quadding"/>
- <keyword type="function" name="poppler_annot_file_attachment_get_attachment ()" link="PopplerAnnot.html#poppler-annot-file-attachment-get-attachment" since="0.14"/>
- <keyword type="function" name="poppler_annot_file_attachment_get_name ()" link="PopplerAnnot.html#poppler-annot-file-attachment-get-name" since="0.14"/>
- <keyword type="function" name="poppler_annot_screen_get_action ()" link="PopplerAnnot.html#poppler-annot-screen-get-action" since="0.14"/>
- <keyword type="function" name="poppler_annot_movie_get_movie ()" link="PopplerAnnot.html#poppler-annot-movie-get-movie" since="0.14"/>
- <keyword type="function" name="poppler_annot_movie_get_title ()" link="PopplerAnnot.html#poppler-annot-movie-get-title" since="0.14"/>
- <keyword type="function" name="poppler_annot_callout_line_new ()" link="PopplerAnnot.html#poppler-annot-callout-line-new"/>
- <keyword type="function" name="poppler_annot_callout_line_copy ()" link="PopplerAnnot.html#poppler-annot-callout-line-copy"/>
- <keyword type="function" name="poppler_annot_callout_line_free ()" link="PopplerAnnot.html#poppler-annot-callout-line-free"/>
+ <keyword type="function" name="poppler_layer_get_title ()" link="PopplerLayer.html#poppler-layer-get-title" since="0.12"/>
+ <keyword type="function" name="poppler_layer_is_visible ()" link="PopplerLayer.html#poppler-layer-is-visible" since="0.12"/>
+ <keyword type="function" name="poppler_layer_show ()" link="PopplerLayer.html#poppler-layer-show" since="0.12"/>
+ <keyword type="function" name="poppler_layer_hide ()" link="PopplerLayer.html#poppler-layer-hide" since="0.12"/>
+ <keyword type="function" name="poppler_layer_is_parent ()" link="PopplerLayer.html#poppler-layer-is-parent" since="0.12"/>
+ <keyword type="function" name="poppler_layer_get_radio_button_group_id ()" link="PopplerLayer.html#poppler-layer-get-radio-button-group-id" since="0.12"/>
<keyword type="struct" name="PopplerLayer" link="PopplerLayer.html#PopplerLayer-struct"/>
- <keyword type="function" name="poppler_layer_get_title ()" link="PopplerLayer.html#poppler-layer-get-title" since="0.12"/>
- <keyword type="function" name="poppler_layer_is_visible ()" link="PopplerLayer.html#poppler-layer-is-visible" since="0.12"/>
- <keyword type="function" name="poppler_layer_show ()" link="PopplerLayer.html#poppler-layer-show" since="0.12"/>
- <keyword type="function" name="poppler_layer_hide ()" link="PopplerLayer.html#poppler-layer-hide" since="0.12"/>
- <keyword type="function" name="poppler_layer_is_parent ()" link="PopplerLayer.html#poppler-layer-is-parent" since="0.12"/>
- <keyword type="function" name="poppler_layer_get_radio_button_group_id ()" link="PopplerLayer.html#poppler-layer-get-radio-button-group-id" since="0.12"/>
+ <keyword type="function" name="PopplerMediaSaveFunc ()" link="PopplerMedia.html#PopplerMediaSaveFunc" since="0.14"/>
+ <keyword type="function" name="poppler_media_get_filename ()" link="PopplerMedia.html#poppler-media-get-filename" since="0.14"/>
+ <keyword type="function" name="poppler_media_get_mime_type ()" link="PopplerMedia.html#poppler-media-get-mime-type" since="0.14"/>
+ <keyword type="function" name="poppler_media_is_embedded ()" link="PopplerMedia.html#poppler-media-is-embedded" since="0.14"/>
+ <keyword type="function" name="poppler_media_save ()" link="PopplerMedia.html#poppler-media-save" since="0.14"/>
+ <keyword type="function" name="poppler_media_save_to_callback ()" link="PopplerMedia.html#poppler-media-save-to-callback" since="0.14"/>
<keyword type="struct" name="PopplerMedia" link="PopplerMedia.html#PopplerMedia-struct"/>
- <keyword type="function" name="PopplerMediaSaveFunc ()" link="PopplerMedia.html#PopplerMediaSaveFunc" since="0.14"/>
- <keyword type="function" name="poppler_media_get_filename ()" link="PopplerMedia.html#poppler-media-get-filename" since="0.14"/>
- <keyword type="function" name="poppler_media_get_mime_type ()" link="PopplerMedia.html#poppler-media-get-mime-type" since="0.14"/>
- <keyword type="function" name="poppler_media_is_embedded ()" link="PopplerMedia.html#poppler-media-is-embedded" since="0.14"/>
- <keyword type="function" name="poppler_media_save ()" link="PopplerMedia.html#poppler-media-save" since="0.14"/>
- <keyword type="function" name="poppler_media_save_to_callback ()" link="PopplerMedia.html#poppler-media-save-to-callback" since="0.14"/>
+ <keyword type="function" name="poppler_movie_get_filename ()" link="PopplerMovie.html#poppler-movie-get-filename" since="0.14"/>
+ <keyword type="function" name="poppler_movie_need_poster ()" link="PopplerMovie.html#poppler-movie-need-poster" since="0.14"/>
+ <keyword type="function" name="poppler_movie_show_controls ()" link="PopplerMovie.html#poppler-movie-show-controls" since="0.14"/>
<keyword type="struct" name="PopplerMovie" link="PopplerMovie.html#PopplerMovie-struct"/>
- <keyword type="function" name="poppler_movie_get_filename ()" link="PopplerMovie.html#poppler-movie-get-filename" since="0.14"/>
- <keyword type="function" name="poppler_movie_need_poster ()" link="PopplerMovie.html#poppler-movie-need-poster" since="0.14"/>
- <keyword type="function" name="poppler_movie_show_controls ()" link="PopplerMovie.html#poppler-movie-show-controls" since="0.14"/>
- <keyword type="macro" name="POPPLER_HAS_CAIRO" link="poppler-Version-and-Features-Information.html#POPPLER-HAS-CAIRO:CAPS"/>
+ <keyword type="function" name="poppler_structure_element_iter_new ()" link="PopplerStructureElement.html#poppler-structure-element-iter-new" since="0.26"/>
+ <keyword type="function" name="poppler_structure_element_iter_next ()" link="PopplerStructureElement.html#poppler-structure-element-iter-next" since="0.26"/>
+ <keyword type="function" name="poppler_structure_element_iter_copy ()" link="PopplerStructureElement.html#poppler-structure-element-iter-copy" since="0.26"/>
+ <keyword type="function" name="poppler_structure_element_iter_free ()" link="PopplerStructureElement.html#poppler-structure-element-iter-free" since="0.26"/>
+ <keyword type="function" name="poppler_structure_element_iter_get_child ()" link="PopplerStructureElement.html#poppler-structure-element-iter-get-child" since="0.26"/>
+ <keyword type="function" name="poppler_structure_element_iter_get_element ()" link="PopplerStructureElement.html#poppler-structure-element-iter-get-element" since="0.26"/>
+ <keyword type="function" name="poppler_structure_element_get_kind ()" link="PopplerStructureElement.html#poppler-structure-element-get-kind" since="0.26"/>
+ <keyword type="function" name="poppler_structure_element_get_page ()" link="PopplerStructureElement.html#poppler-structure-element-get-page" since="0.26"/>
+ <keyword type="function" name="poppler_structure_element_is_content ()" link="PopplerStructureElement.html#poppler-structure-element-is-content" since="0.26"/>
+ <keyword type="function" name="poppler_structure_element_is_inline ()" link="PopplerStructureElement.html#poppler-structure-element-is-inline" since="0.26"/>
+ <keyword type="function" name="poppler_structure_element_is_block ()" link="PopplerStructureElement.html#poppler-structure-element-is-block" since="0.26"/>
+ <keyword type="function" name="poppler_structure_element_is_grouping ()" link="PopplerStructureElement.html#poppler-structure-element-is-grouping" since="0.26"/>
+ <keyword type="function" name="poppler_structure_element_get_id ()" link="PopplerStructureElement.html#poppler-structure-element-get-id" since="0.26"/>
+ <keyword type="function" name="poppler_structure_element_get_title ()" link="PopplerStructureElement.html#poppler-structure-element-get-title" since="0.26"/>
+ <keyword type="function" name="poppler_structure_element_get_abbreviation ()" link="PopplerStructureElement.html#poppler-structure-element-get-abbreviation"/>
+ <keyword type="function" name="poppler_structure_element_get_language ()" link="PopplerStructureElement.html#poppler-structure-element-get-language" since="0.26"/>
+ <keyword type="function" name="poppler_structure_element_get_text ()" link="PopplerStructureElement.html#poppler-structure-element-get-text" since="0.26"/>
+ <keyword type="function" name="poppler_structure_element_get_alt_text ()" link="PopplerStructureElement.html#poppler-structure-element-get-alt-text" since="0.26"/>
+ <keyword type="function" name="poppler_structure_element_get_actual_text ()" link="PopplerStructureElement.html#poppler-structure-element-get-actual-text" since="0.26"/>
+ <keyword type="function" name="poppler_structure_element_get_text_spans ()" link="PopplerStructureElement.html#poppler-structure-element-get-text-spans" since="0.26"/>
+ <keyword type="function" name="poppler_structure_element_get_placement ()" link="PopplerStructureElement.html#poppler-structure-element-get-placement" since="0.26"/>
+ <keyword type="function" name="poppler_structure_element_get_writing_mode ()" link="PopplerStructureElement.html#poppler-structure-element-get-writing-mode" since="0.26"/>
+ <keyword type="function" name="poppler_structure_element_get_background_color ()" link="PopplerStructureElement.html#poppler-structure-element-get-background-color" since="0.26"/>
+ <keyword type="function" name="poppler_structure_element_get_border_color ()" link="PopplerStructureElement.html#poppler-structure-element-get-border-color" since="0.26"/>
+ <keyword type="function" name="poppler_structure_element_get_border_style ()" link="PopplerStructureElement.html#poppler-structure-element-get-border-style" since="0.26"/>
+ <keyword type="function" name="poppler_structure_element_get_border_thickness ()" link="PopplerStructureElement.html#poppler-structure-element-get-border-thickness" since="0.26"/>
+ <keyword type="function" name="poppler_structure_element_get_padding ()" link="PopplerStructureElement.html#poppler-structure-element-get-padding" since="0.26"/>
+ <keyword type="function" name="poppler_structure_element_get_color ()" link="PopplerStructureElement.html#poppler-structure-element-get-color" since="0.26"/>
+ <keyword type="function" name="poppler_structure_element_get_space_before ()" link="PopplerStructureElement.html#poppler-structure-element-get-space-before" since="0.26"/>
+ <keyword type="function" name="poppler_structure_element_get_space_after ()" link="PopplerStructureElement.html#poppler-structure-element-get-space-after" since="0.26"/>
+ <keyword type="function" name="poppler_structure_element_get_start_indent ()" link="PopplerStructureElement.html#poppler-structure-element-get-start-indent" since="0.26"/>
+ <keyword type="function" name="poppler_structure_element_get_end_indent ()" link="PopplerStructureElement.html#poppler-structure-element-get-end-indent" since="0.26"/>
+ <keyword type="function" name="poppler_structure_element_get_text_indent ()" link="PopplerStructureElement.html#poppler-structure-element-get-text-indent" since="0.26"/>
+ <keyword type="function" name="poppler_structure_element_get_text_align ()" link="PopplerStructureElement.html#poppler-structure-element-get-text-align" since="0.26"/>
+ <keyword type="function" name="poppler_structure_element_get_bounding_box ()" link="PopplerStructureElement.html#poppler-structure-element-get-bounding-box" since="0.26"/>
+ <keyword type="function" name="poppler_structure_element_get_width ()" link="PopplerStructureElement.html#poppler-structure-element-get-width" since="0.26"/>
+ <keyword type="function" name="poppler_structure_element_get_height ()" link="PopplerStructureElement.html#poppler-structure-element-get-height" since="0.26"/>
+ <keyword type="function" name="poppler_structure_element_get_block_align ()" link="PopplerStructureElement.html#poppler-structure-element-get-block-align" since="0.26"/>
+ <keyword type="function" name="poppler_structure_element_get_inline_align ()" link="PopplerStructureElement.html#poppler-structure-element-get-inline-align" since="0.26"/>
+ <keyword type="function" name="poppler_structure_element_get_table_border_style ()" link="PopplerStructureElement.html#poppler-structure-element-get-table-border-style" since="0.26"/>
+ <keyword type="function" name="poppler_structure_element_get_table_padding ()" link="PopplerStructureElement.html#poppler-structure-element-get-table-padding" since="0.26"/>
+ <keyword type="function" name="poppler_structure_element_get_baseline_shift ()" link="PopplerStructureElement.html#poppler-structure-element-get-baseline-shift" since="0.26"/>
+ <keyword type="function" name="poppler_structure_element_get_line_height ()" link="PopplerStructureElement.html#poppler-structure-element-get-line-height" since="0.26"/>
+ <keyword type="function" name="poppler_structure_element_get_text_decoration_color ()" link="PopplerStructureElement.html#poppler-structure-element-get-text-decoration-color" since="0.26"/>
+ <keyword type="function" name="poppler_structure_element_get_text_decoration_thickness ()" link="PopplerStructureElement.html#poppler-structure-element-get-text-decoration-thickness" since="0.26"/>
+ <keyword type="function" name="poppler_structure_element_get_text_decoration_type ()" link="PopplerStructureElement.html#poppler-structure-element-get-text-decoration-type" since="0.26"/>
+ <keyword type="function" name="poppler_structure_element_get_ruby_align ()" link="PopplerStructureElement.html#poppler-structure-element-get-ruby-align" since="0.26"/>
+ <keyword type="function" name="poppler_structure_element_get_ruby_position ()" link="PopplerStructureElement.html#poppler-structure-element-get-ruby-position" since="0.26"/>
+ <keyword type="function" name="poppler_structure_element_get_glyph_orientation ()" link="PopplerStructureElement.html#poppler-structure-element-get-glyph-orientation" since="0.26"/>
+ <keyword type="function" name="poppler_structure_element_get_column_count ()" link="PopplerStructureElement.html#poppler-structure-element-get-column-count" since="0.26"/>
+ <keyword type="function" name="poppler_structure_element_get_column_gaps ()" link="PopplerStructureElement.html#poppler-structure-element-get-column-gaps" since="0.26"/>
+ <keyword type="function" name="poppler_structure_element_get_column_widths ()" link="PopplerStructureElement.html#poppler-structure-element-get-column-widths" since="0.26"/>
+ <keyword type="function" name="poppler_structure_element_get_list_numbering ()" link="PopplerStructureElement.html#poppler-structure-element-get-list-numbering" since="0.26"/>
+ <keyword type="function" name="poppler_structure_element_get_form_role ()" link="PopplerStructureElement.html#poppler-structure-element-get-form-role" since="0.26"/>
+ <keyword type="function" name="poppler_structure_element_get_form_state ()" link="PopplerStructureElement.html#poppler-structure-element-get-form-state" since="0.26"/>
+ <keyword type="function" name="poppler_structure_element_get_form_description ()" link="PopplerStructureElement.html#poppler-structure-element-get-form-description" since="0.26"/>
+ <keyword type="function" name="poppler_structure_element_get_table_row_span ()" link="PopplerStructureElement.html#poppler-structure-element-get-table-row-span" since="0.26"/>
+ <keyword type="function" name="poppler_structure_element_get_table_column_span ()" link="PopplerStructureElement.html#poppler-structure-element-get-table-column-span" since="0.26"/>
+ <keyword type="function" name="poppler_structure_element_get_table_headers ()" link="PopplerStructureElement.html#poppler-structure-element-get-table-headers" since="0.26"/>
+ <keyword type="function" name="poppler_structure_element_get_table_scope ()" link="PopplerStructureElement.html#poppler-structure-element-get-table-scope" since="0.26"/>
+ <keyword type="function" name="poppler_structure_element_get_table_summary ()" link="PopplerStructureElement.html#poppler-structure-element-get-table-summary" since="0.26"/>
+ <keyword type="function" name="poppler_text_span_copy ()" link="PopplerStructureElement.html#poppler-text-span-copy" since="0.26"/>
+ <keyword type="function" name="poppler_text_span_free ()" link="PopplerStructureElement.html#poppler-text-span-free" since="0.26"/>
+ <keyword type="function" name="poppler_text_span_is_fixed_width_font ()" link="PopplerStructureElement.html#poppler-text-span-is-fixed-width-font" since="0.26"/>
+ <keyword type="function" name="poppler_text_span_is_serif_font ()" link="PopplerStructureElement.html#poppler-text-span-is-serif-font" since="0.26"/>
+ <keyword type="function" name="poppler_text_span_is_bold_font ()" link="PopplerStructureElement.html#poppler-text-span-is-bold-font" since="0.26"/>
+ <keyword type="function" name="poppler_text_span_get_color ()" link="PopplerStructureElement.html#poppler-text-span-get-color" since="0.26"/>
+ <keyword type="function" name="poppler_text_span_get_text ()" link="PopplerStructureElement.html#poppler-text-span-get-text" since="0.26"/>
+ <keyword type="function" name="poppler_text_span_get_font_name ()" link="PopplerStructureElement.html#poppler-text-span-get-font-name" since="0.26"/>
+ <keyword type="struct" name="PopplerStructureElement" link="PopplerStructureElement.html#PopplerStructureElement-struct"/>
+ <keyword type="enum" name="enum PopplerStructureElementKind" link="PopplerStructureElement.html#PopplerStructureElementKind"/>
+ <keyword type="struct" name="PopplerStructureElementIter" link="PopplerStructureElement.html#PopplerStructureElementIter-struct"/>
+ <keyword type="enum" name="enum PopplerStructureGetTextFlags" link="PopplerStructureElement.html#PopplerStructureGetTextFlags"/>
+ <keyword type="enum" name="enum PopplerStructurePlacement" link="PopplerStructureElement.html#PopplerStructurePlacement"/>
+ <keyword type="enum" name="enum PopplerStructureWritingMode" link="PopplerStructureElement.html#PopplerStructureWritingMode"/>
+ <keyword type="enum" name="enum PopplerStructureBorderStyle" link="PopplerStructureElement.html#PopplerStructureBorderStyle"/>
+ <keyword type="enum" name="enum PopplerStructureTextAlign" link="PopplerStructureElement.html#PopplerStructureTextAlign"/>
+ <keyword type="enum" name="enum PopplerStructureBlockAlign" link="PopplerStructureElement.html#PopplerStructureBlockAlign"/>
+ <keyword type="enum" name="enum PopplerStructureInlineAlign" link="PopplerStructureElement.html#PopplerStructureInlineAlign"/>
+ <keyword type="enum" name="enum PopplerStructureTextDecoration" link="PopplerStructureElement.html#PopplerStructureTextDecoration"/>
+ <keyword type="enum" name="enum PopplerStructureRubyAlign" link="PopplerStructureElement.html#PopplerStructureRubyAlign"/>
+ <keyword type="enum" name="enum PopplerStructureRubyPosition" link="PopplerStructureElement.html#PopplerStructureRubyPosition"/>
+ <keyword type="enum" name="enum PopplerStructureGlyphOrientation" link="PopplerStructureElement.html#PopplerStructureGlyphOrientation"/>
+ <keyword type="enum" name="enum PopplerStructureListNumbering" link="PopplerStructureElement.html#PopplerStructureListNumbering"/>
+ <keyword type="enum" name="enum PopplerStructureTableScope" link="PopplerStructureElement.html#PopplerStructureTableScope"/>
+ <keyword type="enum" name="enum PopplerStructureFormRole" link="PopplerStructureElement.html#PopplerStructureFormRole"/>
+ <keyword type="enum" name="enum PopplerStructureFormState" link="PopplerStructureElement.html#PopplerStructureFormState"/>
+ <keyword type="struct" name="PopplerTextSpan" link="PopplerStructureElement.html#PopplerTextSpan"/>
<keyword type="macro" name="POPPLER_MAJOR_VERSION" link="poppler-Version-and-Features-Information.html#POPPLER-MAJOR-VERSION:CAPS" since="0.12"/>
<keyword type="macro" name="POPPLER_MINOR_VERSION" link="poppler-Version-and-Features-Information.html#POPPLER-MINOR-VERSION:CAPS" since="0.12"/>
<keyword type="macro" name="POPPLER_MICRO_VERSION" link="poppler-Version-and-Features-Information.html#POPPLER-MICRO-VERSION:CAPS" since="0.12"/>
<keyword type="macro" name="POPPLER_CHECK_VERSION()" link="poppler-Version-and-Features-Information.html#POPPLER-CHECK-VERSION:CAPS" since="0.12"/>
- <keyword type="constant" name="POPPLER_ERROR_INVALID" link="poppler-poppler.html#POPPLER-ERROR-INVALID:CAPS"/>
- <keyword type="constant" name="POPPLER_ERROR_ENCRYPTED" link="poppler-poppler.html#POPPLER-ERROR-ENCRYPTED:CAPS"/>
- <keyword type="constant" name="POPPLER_ERROR_OPEN_FILE" link="poppler-poppler.html#POPPLER-ERROR-OPEN-FILE:CAPS"/>
- <keyword type="constant" name="POPPLER_ERROR_BAD_CATALOG" link="poppler-poppler.html#POPPLER-ERROR-BAD-CATALOG:CAPS"/>
- <keyword type="constant" name="POPPLER_ERROR_DAMAGED" link="poppler-poppler.html#POPPLER-ERROR-DAMAGED:CAPS"/>
- <keyword type="constant" name="POPPLER_ORIENTATION_PORTRAIT" link="poppler-poppler.html#POPPLER-ORIENTATION-PORTRAIT:CAPS"/>
- <keyword type="constant" name="POPPLER_ORIENTATION_LANDSCAPE" link="poppler-poppler.html#POPPLER-ORIENTATION-LANDSCAPE:CAPS"/>
- <keyword type="constant" name="POPPLER_ORIENTATION_UPSIDEDOWN" link="poppler-poppler.html#POPPLER-ORIENTATION-UPSIDEDOWN:CAPS"/>
- <keyword type="constant" name="POPPLER_ORIENTATION_SEASCAPE" link="poppler-poppler.html#POPPLER-ORIENTATION-SEASCAPE:CAPS"/>
- <keyword type="constant" name="POPPLER_BACKEND_UNKNOWN" link="poppler-poppler.html#POPPLER-BACKEND-UNKNOWN:CAPS"/>
- <keyword type="constant" name="POPPLER_BACKEND_SPLASH" link="poppler-poppler.html#POPPLER-BACKEND-SPLASH:CAPS"/>
- <keyword type="constant" name="POPPLER_BACKEND_CAIRO" link="poppler-poppler.html#POPPLER-BACKEND-CAIRO:CAPS"/>
- <keyword type="constant" name="POPPLER_PRINT_DOCUMENT" link="poppler-poppler.html#POPPLER-PRINT-DOCUMENT:CAPS"/>
- <keyword type="constant" name="POPPLER_PRINT_MARKUP_ANNOTS" link="poppler-poppler.html#POPPLER-PRINT-MARKUP-ANNOTS:CAPS"/>
- <keyword type="constant" name="POPPLER_PRINT_STAMP_ANNOTS_ONLY" link="poppler-poppler.html#POPPLER-PRINT-STAMP-ANNOTS-ONLY:CAPS"/>
- <keyword type="constant" name="POPPLER_PRINT_ALL" link="poppler-poppler.html#POPPLER-PRINT-ALL:CAPS"/>
- <keyword type="constant" name="POPPLER_FIND_DEFAULT" link="poppler-poppler.html#POPPLER-FIND-DEFAULT:CAPS"/>
- <keyword type="constant" name="POPPLER_FIND_CASE_SENSITIVE" link="poppler-poppler.html#POPPLER-FIND-CASE-SENSITIVE:CAPS"/>
- <keyword type="constant" name="POPPLER_FIND_BACKWARDS" link="poppler-poppler.html#POPPLER-FIND-BACKWARDS:CAPS"/>
- <keyword type="constant" name="POPPLER_FIND_WHOLE_WORDS_ONLY" link="poppler-poppler.html#POPPLER-FIND-WHOLE-WORDS-ONLY:CAPS"/>
- <keyword type="constant" name="POPPLER_PAGE_LAYOUT_UNSET" link="PopplerDocument.html#POPPLER-PAGE-LAYOUT-UNSET:CAPS"/>
- <keyword type="constant" name="POPPLER_PAGE_LAYOUT_SINGLE_PAGE" link="PopplerDocument.html#POPPLER-PAGE-LAYOUT-SINGLE-PAGE:CAPS"/>
- <keyword type="constant" name="POPPLER_PAGE_LAYOUT_ONE_COLUMN" link="PopplerDocument.html#POPPLER-PAGE-LAYOUT-ONE-COLUMN:CAPS"/>
- <keyword type="constant" name="POPPLER_PAGE_LAYOUT_TWO_COLUMN_LEFT" link="PopplerDocument.html#POPPLER-PAGE-LAYOUT-TWO-COLUMN-LEFT:CAPS"/>
- <keyword type="constant" name="POPPLER_PAGE_LAYOUT_TWO_COLUMN_RIGHT" link="PopplerDocument.html#POPPLER-PAGE-LAYOUT-TWO-COLUMN-RIGHT:CAPS"/>
- <keyword type="constant" name="POPPLER_PAGE_LAYOUT_TWO_PAGE_LEFT" link="PopplerDocument.html#POPPLER-PAGE-LAYOUT-TWO-PAGE-LEFT:CAPS"/>
- <keyword type="constant" name="POPPLER_PAGE_LAYOUT_TWO_PAGE_RIGHT" link="PopplerDocument.html#POPPLER-PAGE-LAYOUT-TWO-PAGE-RIGHT:CAPS"/>
- <keyword type="constant" name="POPPLER_PAGE_MODE_UNSET" link="PopplerDocument.html#POPPLER-PAGE-MODE-UNSET:CAPS"/>
- <keyword type="constant" name="POPPLER_PAGE_MODE_NONE" link="PopplerDocument.html#POPPLER-PAGE-MODE-NONE:CAPS"/>
- <keyword type="constant" name="POPPLER_PAGE_MODE_USE_OUTLINES" link="PopplerDocument.html#POPPLER-PAGE-MODE-USE-OUTLINES:CAPS"/>
- <keyword type="constant" name="POPPLER_PAGE_MODE_USE_THUMBS" link="PopplerDocument.html#POPPLER-PAGE-MODE-USE-THUMBS:CAPS"/>
- <keyword type="constant" name="POPPLER_PAGE_MODE_FULL_SCREEN" link="PopplerDocument.html#POPPLER-PAGE-MODE-FULL-SCREEN:CAPS"/>
- <keyword type="constant" name="POPPLER_PAGE_MODE_USE_OC" link="PopplerDocument.html#POPPLER-PAGE-MODE-USE-OC:CAPS"/>
- <keyword type="constant" name="POPPLER_PAGE_MODE_USE_ATTACHMENTS" link="PopplerDocument.html#POPPLER-PAGE-MODE-USE-ATTACHMENTS:CAPS"/>
- <keyword type="constant" name="POPPLER_FONT_TYPE_UNKNOWN" link="PopplerDocument.html#POPPLER-FONT-TYPE-UNKNOWN:CAPS"/>
- <keyword type="constant" name="POPPLER_FONT_TYPE_TYPE1" link="PopplerDocument.html#POPPLER-FONT-TYPE-TYPE1:CAPS"/>
- <keyword type="constant" name="POPPLER_FONT_TYPE_TYPE1C" link="PopplerDocument.html#POPPLER-FONT-TYPE-TYPE1C:CAPS"/>
- <keyword type="constant" name="POPPLER_FONT_TYPE_TYPE1COT" link="PopplerDocument.html#POPPLER-FONT-TYPE-TYPE1COT:CAPS"/>
- <keyword type="constant" name="POPPLER_FONT_TYPE_TYPE3" link="PopplerDocument.html#POPPLER-FONT-TYPE-TYPE3:CAPS"/>
- <keyword type="constant" name="POPPLER_FONT_TYPE_TRUETYPE" link="PopplerDocument.html#POPPLER-FONT-TYPE-TRUETYPE:CAPS"/>
- <keyword type="constant" name="POPPLER_FONT_TYPE_TRUETYPEOT" link="PopplerDocument.html#POPPLER-FONT-TYPE-TRUETYPEOT:CAPS"/>
- <keyword type="constant" name="POPPLER_FONT_TYPE_CID_TYPE0" link="PopplerDocument.html#POPPLER-FONT-TYPE-CID-TYPE0:CAPS"/>
- <keyword type="constant" name="POPPLER_FONT_TYPE_CID_TYPE0C" link="PopplerDocument.html#POPPLER-FONT-TYPE-CID-TYPE0C:CAPS"/>
- <keyword type="constant" name="POPPLER_FONT_TYPE_CID_TYPE0COT" link="PopplerDocument.html#POPPLER-FONT-TYPE-CID-TYPE0COT:CAPS"/>
- <keyword type="constant" name="POPPLER_FONT_TYPE_CID_TYPE2" link="PopplerDocument.html#POPPLER-FONT-TYPE-CID-TYPE2:CAPS"/>
- <keyword type="constant" name="POPPLER_FONT_TYPE_CID_TYPE2OT" link="PopplerDocument.html#POPPLER-FONT-TYPE-CID-TYPE2OT:CAPS"/>
- <keyword type="constant" name="POPPLER_VIEWER_PREFERENCES_UNSET" link="PopplerDocument.html#POPPLER-VIEWER-PREFERENCES-UNSET:CAPS"/>
- <keyword type="constant" name="POPPLER_VIEWER_PREFERENCES_HIDE_TOOLBAR" link="PopplerDocument.html#POPPLER-VIEWER-PREFERENCES-HIDE-TOOLBAR:CAPS"/>
- <keyword type="constant" name="POPPLER_VIEWER_PREFERENCES_HIDE_MENUBAR" link="PopplerDocument.html#POPPLER-VIEWER-PREFERENCES-HIDE-MENUBAR:CAPS"/>
- <keyword type="constant" name="POPPLER_VIEWER_PREFERENCES_HIDE_WINDOWUI" link="PopplerDocument.html#POPPLER-VIEWER-PREFERENCES-HIDE-WINDOWUI:CAPS"/>
- <keyword type="constant" name="POPPLER_VIEWER_PREFERENCES_FIT_WINDOW" link="PopplerDocument.html#POPPLER-VIEWER-PREFERENCES-FIT-WINDOW:CAPS"/>
- <keyword type="constant" name="POPPLER_VIEWER_PREFERENCES_CENTER_WINDOW" link="PopplerDocument.html#POPPLER-VIEWER-PREFERENCES-CENTER-WINDOW:CAPS"/>
- <keyword type="constant" name="POPPLER_VIEWER_PREFERENCES_DISPLAY_DOC_TITLE" link="PopplerDocument.html#POPPLER-VIEWER-PREFERENCES-DISPLAY-DOC-TITLE:CAPS"/>
- <keyword type="constant" name="POPPLER_VIEWER_PREFERENCES_DIRECTION_RTL" link="PopplerDocument.html#POPPLER-VIEWER-PREFERENCES-DIRECTION-RTL:CAPS"/>
- <keyword type="constant" name="POPPLER_PERMISSIONS_OK_TO_PRINT" link="PopplerDocument.html#POPPLER-PERMISSIONS-OK-TO-PRINT:CAPS"/>
- <keyword type="constant" name="POPPLER_PERMISSIONS_OK_TO_MODIFY" link="PopplerDocument.html#POPPLER-PERMISSIONS-OK-TO-MODIFY:CAPS"/>
- <keyword type="constant" name="POPPLER_PERMISSIONS_OK_TO_COPY" link="PopplerDocument.html#POPPLER-PERMISSIONS-OK-TO-COPY:CAPS"/>
- <keyword type="constant" name="POPPLER_PERMISSIONS_OK_TO_ADD_NOTES" link="PopplerDocument.html#POPPLER-PERMISSIONS-OK-TO-ADD-NOTES:CAPS"/>
- <keyword type="constant" name="POPPLER_PERMISSIONS_OK_TO_FILL_FORM" link="PopplerDocument.html#POPPLER-PERMISSIONS-OK-TO-FILL-FORM:CAPS"/>
- <keyword type="constant" name="POPPLER_PERMISSIONS_OK_TO_EXTRACT_CONTENTS" link="PopplerDocument.html#POPPLER-PERMISSIONS-OK-TO-EXTRACT-CONTENTS:CAPS"/>
- <keyword type="constant" name="POPPLER_PERMISSIONS_OK_TO_ASSEMBLE" link="PopplerDocument.html#POPPLER-PERMISSIONS-OK-TO-ASSEMBLE:CAPS"/>
- <keyword type="constant" name="POPPLER_PERMISSIONS_OK_TO_PRINT_HIGH_RESOLUTION" link="PopplerDocument.html#POPPLER-PERMISSIONS-OK-TO-PRINT-HIGH-RESOLUTION:CAPS"/>
- <keyword type="constant" name="POPPLER_PERMISSIONS_FULL" link="PopplerDocument.html#POPPLER-PERMISSIONS-FULL:CAPS"/>
- <keyword type="constant" name="POPPLER_PAGE_TRANSITION_REPLACE" link="PopplerPage.html#POPPLER-PAGE-TRANSITION-REPLACE:CAPS"/>
- <keyword type="constant" name="POPPLER_PAGE_TRANSITION_SPLIT" link="PopplerPage.html#POPPLER-PAGE-TRANSITION-SPLIT:CAPS"/>
- <keyword type="constant" name="POPPLER_PAGE_TRANSITION_BLINDS" link="PopplerPage.html#POPPLER-PAGE-TRANSITION-BLINDS:CAPS"/>
- <keyword type="constant" name="POPPLER_PAGE_TRANSITION_BOX" link="PopplerPage.html#POPPLER-PAGE-TRANSITION-BOX:CAPS"/>
- <keyword type="constant" name="POPPLER_PAGE_TRANSITION_WIPE" link="PopplerPage.html#POPPLER-PAGE-TRANSITION-WIPE:CAPS"/>
- <keyword type="constant" name="POPPLER_PAGE_TRANSITION_DISSOLVE" link="PopplerPage.html#POPPLER-PAGE-TRANSITION-DISSOLVE:CAPS"/>
- <keyword type="constant" name="POPPLER_PAGE_TRANSITION_GLITTER" link="PopplerPage.html#POPPLER-PAGE-TRANSITION-GLITTER:CAPS"/>
- <keyword type="constant" name="POPPLER_PAGE_TRANSITION_FLY" link="PopplerPage.html#POPPLER-PAGE-TRANSITION-FLY:CAPS"/>
- <keyword type="constant" name="POPPLER_PAGE_TRANSITION_PUSH" link="PopplerPage.html#POPPLER-PAGE-TRANSITION-PUSH:CAPS"/>
- <keyword type="constant" name="POPPLER_PAGE_TRANSITION_COVER" link="PopplerPage.html#POPPLER-PAGE-TRANSITION-COVER:CAPS"/>
- <keyword type="constant" name="POPPLER_PAGE_TRANSITION_UNCOVER" link="PopplerPage.html#POPPLER-PAGE-TRANSITION-UNCOVER:CAPS"/>
- <keyword type="constant" name="POPPLER_PAGE_TRANSITION_FADE" link="PopplerPage.html#POPPLER-PAGE-TRANSITION-FADE:CAPS"/>
- <keyword type="constant" name="POPPLER_PAGE_TRANSITION_HORIZONTAL" link="PopplerPage.html#POPPLER-PAGE-TRANSITION-HORIZONTAL:CAPS"/>
- <keyword type="constant" name="POPPLER_PAGE_TRANSITION_VERTICAL" link="PopplerPage.html#POPPLER-PAGE-TRANSITION-VERTICAL:CAPS"/>
- <keyword type="constant" name="POPPLER_PAGE_TRANSITION_INWARD" link="PopplerPage.html#POPPLER-PAGE-TRANSITION-INWARD:CAPS"/>
- <keyword type="constant" name="POPPLER_PAGE_TRANSITION_OUTWARD" link="PopplerPage.html#POPPLER-PAGE-TRANSITION-OUTWARD:CAPS"/>
- <keyword type="constant" name="POPPLER_SELECTION_GLYPH" link="PopplerPage.html#POPPLER-SELECTION-GLYPH:CAPS"/>
- <keyword type="constant" name="POPPLER_SELECTION_WORD" link="PopplerPage.html#POPPLER-SELECTION-WORD:CAPS"/>
- <keyword type="constant" name="POPPLER_SELECTION_LINE" link="PopplerPage.html#POPPLER-SELECTION-LINE:CAPS"/>
- <keyword type="constant" name="POPPLER_ACTION_UNKNOWN" link="poppler-PopplerAction.html#POPPLER-ACTION-UNKNOWN:CAPS"/>
- <keyword type="constant" name="POPPLER_ACTION_NONE" link="poppler-PopplerAction.html#POPPLER-ACTION-NONE:CAPS"/>
- <keyword type="constant" name="POPPLER_ACTION_GOTO_DEST" link="poppler-PopplerAction.html#POPPLER-ACTION-GOTO-DEST:CAPS"/>
- <keyword type="constant" name="POPPLER_ACTION_GOTO_REMOTE" link="poppler-PopplerAction.html#POPPLER-ACTION-GOTO-REMOTE:CAPS"/>
- <keyword type="constant" name="POPPLER_ACTION_LAUNCH" link="poppler-PopplerAction.html#POPPLER-ACTION-LAUNCH:CAPS"/>
- <keyword type="constant" name="POPPLER_ACTION_URI" link="poppler-PopplerAction.html#POPPLER-ACTION-URI:CAPS"/>
- <keyword type="constant" name="POPPLER_ACTION_NAMED" link="poppler-PopplerAction.html#POPPLER-ACTION-NAMED:CAPS"/>
- <keyword type="constant" name="POPPLER_ACTION_MOVIE" link="poppler-PopplerAction.html#POPPLER-ACTION-MOVIE:CAPS"/>
- <keyword type="constant" name="POPPLER_ACTION_RENDITION" link="poppler-PopplerAction.html#POPPLER-ACTION-RENDITION:CAPS"/>
- <keyword type="constant" name="POPPLER_ACTION_OCG_STATE" link="poppler-PopplerAction.html#POPPLER-ACTION-OCG-STATE:CAPS"/>
- <keyword type="constant" name="POPPLER_ACTION_JAVASCRIPT" link="poppler-PopplerAction.html#POPPLER-ACTION-JAVASCRIPT:CAPS"/>
- <keyword type="constant" name="POPPLER_DEST_UNKNOWN" link="poppler-PopplerAction.html#POPPLER-DEST-UNKNOWN:CAPS"/>
- <keyword type="constant" name="POPPLER_DEST_XYZ" link="poppler-PopplerAction.html#POPPLER-DEST-XYZ:CAPS"/>
- <keyword type="constant" name="POPPLER_DEST_FIT" link="poppler-PopplerAction.html#POPPLER-DEST-FIT:CAPS"/>
- <keyword type="constant" name="POPPLER_DEST_FITH" link="poppler-PopplerAction.html#POPPLER-DEST-FITH:CAPS"/>
- <keyword type="constant" name="POPPLER_DEST_FITV" link="poppler-PopplerAction.html#POPPLER-DEST-FITV:CAPS"/>
- <keyword type="constant" name="POPPLER_DEST_FITR" link="poppler-PopplerAction.html#POPPLER-DEST-FITR:CAPS"/>
- <keyword type="constant" name="POPPLER_DEST_FITB" link="poppler-PopplerAction.html#POPPLER-DEST-FITB:CAPS"/>
- <keyword type="constant" name="POPPLER_DEST_FITBH" link="poppler-PopplerAction.html#POPPLER-DEST-FITBH:CAPS"/>
- <keyword type="constant" name="POPPLER_DEST_FITBV" link="poppler-PopplerAction.html#POPPLER-DEST-FITBV:CAPS"/>
- <keyword type="constant" name="POPPLER_DEST_NAMED" link="poppler-PopplerAction.html#POPPLER-DEST-NAMED:CAPS"/>
- <keyword type="constant" name="POPPLER_ACTION_MOVIE_PLAY" link="poppler-PopplerAction.html#POPPLER-ACTION-MOVIE-PLAY:CAPS"/>
- <keyword type="constant" name="POPPLER_ACTION_MOVIE_PAUSE" link="poppler-PopplerAction.html#POPPLER-ACTION-MOVIE-PAUSE:CAPS"/>
- <keyword type="constant" name="POPPLER_ACTION_MOVIE_RESUME" link="poppler-PopplerAction.html#POPPLER-ACTION-MOVIE-RESUME:CAPS"/>
- <keyword type="constant" name="POPPLER_ACTION_MOVIE_STOP" link="poppler-PopplerAction.html#POPPLER-ACTION-MOVIE-STOP:CAPS"/>
- <keyword type="constant" name="POPPLER_ACTION_LAYER_ON" link="poppler-PopplerAction.html#POPPLER-ACTION-LAYER-ON:CAPS"/>
- <keyword type="constant" name="POPPLER_ACTION_LAYER_OFF" link="poppler-PopplerAction.html#POPPLER-ACTION-LAYER-OFF:CAPS"/>
- <keyword type="constant" name="POPPLER_ACTION_LAYER_TOGGLE" link="poppler-PopplerAction.html#POPPLER-ACTION-LAYER-TOGGLE:CAPS"/>
- <keyword type="constant" name="POPPLER_FORM_FIELD_UNKNOWN" link="PopplerFormField.html#POPPLER-FORM-FIELD-UNKNOWN:CAPS"/>
- <keyword type="constant" name="POPPLER_FORM_FIELD_BUTTON" link="PopplerFormField.html#POPPLER-FORM-FIELD-BUTTON:CAPS"/>
- <keyword type="constant" name="POPPLER_FORM_FIELD_TEXT" link="PopplerFormField.html#POPPLER-FORM-FIELD-TEXT:CAPS"/>
- <keyword type="constant" name="POPPLER_FORM_FIELD_CHOICE" link="PopplerFormField.html#POPPLER-FORM-FIELD-CHOICE:CAPS"/>
- <keyword type="constant" name="POPPLER_FORM_FIELD_SIGNATURE" link="PopplerFormField.html#POPPLER-FORM-FIELD-SIGNATURE:CAPS"/>
- <keyword type="constant" name="POPPLER_FORM_BUTTON_PUSH" link="PopplerFormField.html#POPPLER-FORM-BUTTON-PUSH:CAPS"/>
- <keyword type="constant" name="POPPLER_FORM_BUTTON_CHECK" link="PopplerFormField.html#POPPLER-FORM-BUTTON-CHECK:CAPS"/>
- <keyword type="constant" name="POPPLER_FORM_BUTTON_RADIO" link="PopplerFormField.html#POPPLER-FORM-BUTTON-RADIO:CAPS"/>
- <keyword type="constant" name="POPPLER_FORM_CHOICE_COMBO" link="PopplerFormField.html#POPPLER-FORM-CHOICE-COMBO:CAPS"/>
- <keyword type="constant" name="POPPLER_FORM_CHOICE_LIST" link="PopplerFormField.html#POPPLER-FORM-CHOICE-LIST:CAPS"/>
- <keyword type="constant" name="POPPLER_FORM_TEXT_NORMAL" link="PopplerFormField.html#POPPLER-FORM-TEXT-NORMAL:CAPS"/>
- <keyword type="constant" name="POPPLER_FORM_TEXT_MULTILINE" link="PopplerFormField.html#POPPLER-FORM-TEXT-MULTILINE:CAPS"/>
- <keyword type="constant" name="POPPLER_FORM_TEXT_FILE_SELECT" link="PopplerFormField.html#POPPLER-FORM-TEXT-FILE-SELECT:CAPS"/>
- <keyword type="constant" name="POPPLER_ANNOT_UNKNOWN" link="PopplerAnnot.html#POPPLER-ANNOT-UNKNOWN:CAPS"/>
- <keyword type="constant" name="POPPLER_ANNOT_TEXT" link="PopplerAnnot.html#POPPLER-ANNOT-TEXT:CAPS"/>
- <keyword type="constant" name="POPPLER_ANNOT_LINK" link="PopplerAnnot.html#POPPLER-ANNOT-LINK:CAPS"/>
- <keyword type="constant" name="POPPLER_ANNOT_FREE_TEXT" link="PopplerAnnot.html#POPPLER-ANNOT-FREE-TEXT:CAPS"/>
- <keyword type="constant" name="POPPLER_ANNOT_LINE" link="PopplerAnnot.html#POPPLER-ANNOT-LINE:CAPS"/>
- <keyword type="constant" name="POPPLER_ANNOT_SQUARE" link="PopplerAnnot.html#POPPLER-ANNOT-SQUARE:CAPS"/>
- <keyword type="constant" name="POPPLER_ANNOT_CIRCLE" link="PopplerAnnot.html#POPPLER-ANNOT-CIRCLE:CAPS"/>
- <keyword type="constant" name="POPPLER_ANNOT_POLYGON" link="PopplerAnnot.html#POPPLER-ANNOT-POLYGON:CAPS"/>
- <keyword type="constant" name="POPPLER_ANNOT_POLY_LINE" link="PopplerAnnot.html#POPPLER-ANNOT-POLY-LINE:CAPS"/>
- <keyword type="constant" name="POPPLER_ANNOT_HIGHLIGHT" link="PopplerAnnot.html#POPPLER-ANNOT-HIGHLIGHT:CAPS"/>
- <keyword type="constant" name="POPPLER_ANNOT_UNDERLINE" link="PopplerAnnot.html#POPPLER-ANNOT-UNDERLINE:CAPS"/>
- <keyword type="constant" name="POPPLER_ANNOT_SQUIGGLY" link="PopplerAnnot.html#POPPLER-ANNOT-SQUIGGLY:CAPS"/>
- <keyword type="constant" name="POPPLER_ANNOT_STRIKE_OUT" link="PopplerAnnot.html#POPPLER-ANNOT-STRIKE-OUT:CAPS"/>
- <keyword type="constant" name="POPPLER_ANNOT_STAMP" link="PopplerAnnot.html#POPPLER-ANNOT-STAMP:CAPS"/>
- <keyword type="constant" name="POPPLER_ANNOT_CARET" link="PopplerAnnot.html#POPPLER-ANNOT-CARET:CAPS"/>
- <keyword type="constant" name="POPPLER_ANNOT_INK" link="PopplerAnnot.html#POPPLER-ANNOT-INK:CAPS"/>
- <keyword type="constant" name="POPPLER_ANNOT_POPUP" link="PopplerAnnot.html#POPPLER-ANNOT-POPUP:CAPS"/>
- <keyword type="constant" name="POPPLER_ANNOT_FILE_ATTACHMENT" link="PopplerAnnot.html#POPPLER-ANNOT-FILE-ATTACHMENT:CAPS"/>
- <keyword type="constant" name="POPPLER_ANNOT_SOUND" link="PopplerAnnot.html#POPPLER-ANNOT-SOUND:CAPS"/>
- <keyword type="constant" name="POPPLER_ANNOT_MOVIE" link="PopplerAnnot.html#POPPLER-ANNOT-MOVIE:CAPS"/>
- <keyword type="constant" name="POPPLER_ANNOT_WIDGET" link="PopplerAnnot.html#POPPLER-ANNOT-WIDGET:CAPS"/>
- <keyword type="constant" name="POPPLER_ANNOT_SCREEN" link="PopplerAnnot.html#POPPLER-ANNOT-SCREEN:CAPS"/>
- <keyword type="constant" name="POPPLER_ANNOT_PRINTER_MARK" link="PopplerAnnot.html#POPPLER-ANNOT-PRINTER-MARK:CAPS"/>
- <keyword type="constant" name="POPPLER_ANNOT_TRAP_NET" link="PopplerAnnot.html#POPPLER-ANNOT-TRAP-NET:CAPS"/>
- <keyword type="constant" name="POPPLER_ANNOT_WATERMARK" link="PopplerAnnot.html#POPPLER-ANNOT-WATERMARK:CAPS"/>
- <keyword type="constant" name="POPPLER_ANNOT_3D" link="PopplerAnnot.html#POPPLER-ANNOT-3D:CAPS"/>
- <keyword type="constant" name="POPPLER_ANNOT_FLAG_UNKNOWN" link="PopplerAnnot.html#POPPLER-ANNOT-FLAG-UNKNOWN:CAPS"/>
- <keyword type="constant" name="POPPLER_ANNOT_FLAG_INVISIBLE" link="PopplerAnnot.html#POPPLER-ANNOT-FLAG-INVISIBLE:CAPS"/>
- <keyword type="constant" name="POPPLER_ANNOT_FLAG_HIDDEN" link="PopplerAnnot.html#POPPLER-ANNOT-FLAG-HIDDEN:CAPS"/>
- <keyword type="constant" name="POPPLER_ANNOT_FLAG_PRINT" link="PopplerAnnot.html#POPPLER-ANNOT-FLAG-PRINT:CAPS"/>
- <keyword type="constant" name="POPPLER_ANNOT_FLAG_NO_ZOOM" link="PopplerAnnot.html#POPPLER-ANNOT-FLAG-NO-ZOOM:CAPS"/>
- <keyword type="constant" name="POPPLER_ANNOT_FLAG_NO_ROTATE" link="PopplerAnnot.html#POPPLER-ANNOT-FLAG-NO-ROTATE:CAPS"/>
- <keyword type="constant" name="POPPLER_ANNOT_FLAG_NO_VIEW" link="PopplerAnnot.html#POPPLER-ANNOT-FLAG-NO-VIEW:CAPS"/>
- <keyword type="constant" name="POPPLER_ANNOT_FLAG_READ_ONLY" link="PopplerAnnot.html#POPPLER-ANNOT-FLAG-READ-ONLY:CAPS"/>
- <keyword type="constant" name="POPPLER_ANNOT_FLAG_LOCKED" link="PopplerAnnot.html#POPPLER-ANNOT-FLAG-LOCKED:CAPS"/>
- <keyword type="constant" name="POPPLER_ANNOT_FLAG_TOGGLE_NO_VIEW" link="PopplerAnnot.html#POPPLER-ANNOT-FLAG-TOGGLE-NO-VIEW:CAPS"/>
- <keyword type="constant" name="POPPLER_ANNOT_FLAG_LOCKED_CONTENTS" link="PopplerAnnot.html#POPPLER-ANNOT-FLAG-LOCKED-CONTENTS:CAPS"/>
- <keyword type="constant" name="POPPLER_ANNOT_EXTERNAL_DATA_MARKUP_3D" link="PopplerAnnot.html#POPPLER-ANNOT-EXTERNAL-DATA-MARKUP-3D:CAPS"/>
- <keyword type="constant" name="POPPLER_ANNOT_EXTERNAL_DATA_MARKUP_UNKNOWN" link="PopplerAnnot.html#POPPLER-ANNOT-EXTERNAL-DATA-MARKUP-UNKNOWN:CAPS"/>
- <keyword type="constant" name="POPPLER_ANNOT_MARKUP_REPLY_TYPE_R" link="PopplerAnnot.html#POPPLER-ANNOT-MARKUP-REPLY-TYPE-R:CAPS"/>
- <keyword type="constant" name="POPPLER_ANNOT_MARKUP_REPLY_TYPE_GROUP" link="PopplerAnnot.html#POPPLER-ANNOT-MARKUP-REPLY-TYPE-GROUP:CAPS"/>
- <keyword type="constant" name="POPPLER_ANNOT_TEXT_STATE_MARKED" link="PopplerAnnot.html#POPPLER-ANNOT-TEXT-STATE-MARKED:CAPS"/>
- <keyword type="constant" name="POPPLER_ANNOT_TEXT_STATE_UNMARKED" link="PopplerAnnot.html#POPPLER-ANNOT-TEXT-STATE-UNMARKED:CAPS"/>
- <keyword type="constant" name="POPPLER_ANNOT_TEXT_STATE_ACCEPTED" link="PopplerAnnot.html#POPPLER-ANNOT-TEXT-STATE-ACCEPTED:CAPS"/>
- <keyword type="constant" name="POPPLER_ANNOT_TEXT_STATE_REJECTED" link="PopplerAnnot.html#POPPLER-ANNOT-TEXT-STATE-REJECTED:CAPS"/>
- <keyword type="constant" name="POPPLER_ANNOT_TEXT_STATE_CANCELLED" link="PopplerAnnot.html#POPPLER-ANNOT-TEXT-STATE-CANCELLED:CAPS"/>
- <keyword type="constant" name="POPPLER_ANNOT_TEXT_STATE_COMPLETED" link="PopplerAnnot.html#POPPLER-ANNOT-TEXT-STATE-COMPLETED:CAPS"/>
- <keyword type="constant" name="POPPLER_ANNOT_TEXT_STATE_NONE" link="PopplerAnnot.html#POPPLER-ANNOT-TEXT-STATE-NONE:CAPS"/>
- <keyword type="constant" name="POPPLER_ANNOT_TEXT_STATE_UNKNOWN" link="PopplerAnnot.html#POPPLER-ANNOT-TEXT-STATE-UNKNOWN:CAPS"/>
- <keyword type="constant" name="POPPLER_ANNOT_FREE_TEXT_QUADDING_LEFT_JUSTIFIED" link="PopplerAnnot.html#POPPLER-ANNOT-FREE-TEXT-QUADDING-LEFT-JUSTIFIED:CAPS"/>
- <keyword type="constant" name="POPPLER_ANNOT_FREE_TEXT_QUADDING_CENTERED" link="PopplerAnnot.html#POPPLER-ANNOT-FREE-TEXT-QUADDING-CENTERED:CAPS"/>
- <keyword type="constant" name="POPPLER_ANNOT_FREE_TEXT_QUADDING_RIGHT_JUSTIFIED" link="PopplerAnnot.html#POPPLER-ANNOT-FREE-TEXT-QUADDING-RIGHT-JUSTIFIED:CAPS"/>
+ <keyword type="macro" name="POPPLER_HAS_CAIRO" link="poppler-Version-and-Features-Information.html#POPPLER-HAS-CAIRO:CAPS"/>
</functions>
</book>
diff --git a/glib/reference/html/right-insensitive.png b/glib/reference/html/right-insensitive.png
new file mode 100644
index 00000000..f999f001
--- /dev/null
+++ b/glib/reference/html/right-insensitive.png
Binary files differ
diff --git a/glib/reference/html/right.png b/glib/reference/html/right.png
index ed55207f..78f5875a 100644
--- a/glib/reference/html/right.png
+++ b/glib/reference/html/right.png
Binary files differ
diff --git a/glib/reference/html/style.css b/glib/reference/html/style.css
index d6f6c26e..c141ddd2 100644
--- a/glib/reference/html/style.css
+++ b/glib/reference/html/style.css
@@ -1,15 +1,23 @@
+body
+{
+ font-family: cantarell, sans-serif;
+}
.synopsis, .classsynopsis
{
/* tango:aluminium 1/2 */
background: #eeeeec;
- border: solid 1px #d3d7cf;
+ background: rgba(238, 238, 236, 0.5);
+ border: solid 1px rgb(238, 238, 236);
padding: 0.5em;
}
.programlisting
{
/* tango:sky blue 0/1 */
+ /* fallback for no rgba support */
background: #e6f3ff;
border: solid 1px #729fcf;
+ background: rgba(114, 159, 207, 0.1);
+ border: solid 1px rgba(114, 159, 207, 0.2);
padding: 0.5em;
}
.variablelist
@@ -22,89 +30,6 @@
vertical-align: top;
}
-@media screen {
- sup a.footnote
- {
- position: relative;
- top: 0em ! important;
-
- }
- /* this is needed so that the local anchors are displayed below the naviagtion */
- div.footnote a[name], div.refnamediv a[name], div.refsect1 a[name], div.refsect2 a[name], div.index a[name], div.glossary a[name], div.sect1 a[name]
- {
- display: inline-block;
- position: relative;
- top:-5em;
- }
- /* this seems to be a bug in the xsl style sheets when generating indexes */
- div.index div.index
- {
- top: 0em;
- }
- /* make space for the fixed navigation bar and add space at the bottom so that
- * link targets appear somewhat close to top
- */
- body
- {
- padding-top: 3.2em;
- padding-bottom: 20em;
- }
- /* style and size the navigation bar */
- table.navigation#top
- {
- position: fixed;
- /* tango:scarlet red 0/1 */
- background: #ffe6e6;
- border: solid 1px #ef2929;
- margin-top: 0;
- margin-bottom: 0;
- top: 0;
- left: 0;
- height: 3em;
- z-index: 10;
- }
- .navigation a, .navigation a:visited
- {
- /* tango:scarlet red 3 */
- color: #a40000;
- }
- .navigation a:hover
- {
- /* tango:scarlet red 1 */
- color: #ef2929;
- }
- td.shortcuts
- {
- /* tango:scarlet red 1 */
- color: #ef2929;
- font-size: 80%;
- white-space: nowrap;
- }
-}
-@media print {
- table.navigation {
- visibility: collapse;
- display: none;
- }
- div.titlepage table.navigation {
- visibility: visible;
- display: table;
- /* tango:scarlet red 0/1 */
- background: #ffe6e6;
- border: solid 1px #ef2929;
- margin-top: 0;
- margin-bottom: 0;
- top: 0;
- left: 0;
- height: 3em;
- }
-}
-
-.navigation .title
-{
- font-size: 200%;
-}
-
div.gallery-float
{
float: left;
@@ -132,6 +57,72 @@ a:hover
color: #729fcf;
}
+div.informaltable table
+{
+ border-collapse: separate;
+ border-spacing: 1em 0.5em;
+ border: none;
+}
+
+div.informaltable table td, div.informaltable table th
+{
+ vertical-align: top;
+}
+
+.function_type,
+.variable_type,
+.property_type,
+.signal_type,
+.parameter_name,
+.struct_member_name,
+.union_member_name,
+.define_keyword,
+.datatype_keyword,
+.typedef_keyword
+{
+ text-align: right;
+}
+
+/* dim non-primary columns */
+.c_punctuation,
+.function_type,
+.variable_type,
+.property_type,
+.signal_type,
+.define_keyword,
+.datatype_keyword,
+.typedef_keyword,
+.property_flags,
+.signal_flags,
+.parameter_annotations,
+.enum_member_annotations,
+.struct_member_annotations,
+.union_member_annotations
+{
+ color: #888a85;
+}
+
+.function_type a,
+.function_type a:visited,
+.function_type a:hover,
+.property_type a,
+.property_type a:visited,
+.property_type a:hover,
+.signal_type a,
+.signal_type a:visited,
+.signal_type a:hover,
+.signal_flags a,
+.signal_flags a:visited,
+.signal_flags a:hover
+{
+ color: #729fcf;
+}
+
+td p
+{
+ margin: 0.25em;
+}
+
div.table table
{
border-collapse: collapse;
@@ -154,14 +145,43 @@ div.table table th
background-color: #d3d7cf;
}
+h4
+{
+ color: #555753;
+}
+
hr
{
- /* tango:aluminium 3 */
- color: #babdb6;
- background: #babdb6;
+ /* tango:aluminium 1 */
+ color: #d3d7cf;
+ background: #d3d7cf;
border: none 0px;
height: 1px;
clear: both;
+ margin: 2.0em 0em 2.0em 0em;
+}
+
+dl.toc dt
+{
+ padding-bottom: 0.25em;
+}
+
+dl.toc > dd > dl > dt
+{
+ padding-top: 0.25em;
+ padding-bottom: 0.25em;
+}
+
+dl.toc > dt
+{
+ padding-top: 1em;
+ padding-bottom: 0.5em;
+ font-weight: bold;
+}
+
+.parameter
+{
+ font-style: normal;
}
.footer
@@ -173,31 +193,70 @@ hr
font-size: 80%;
}
+.informalfigure,
+.figure
+{
+ margin: 1em;
+}
+
+.informalexample,
+.example
+{
+ margin-top: 1em;
+ margin-bottom: 1em;
+}
+
.warning
{
/* tango:orange 0/1 */
background: #ffeed9;
+ background: rgba(252, 175, 62, 0.1);
border-color: #ffb04f;
+ border-color: rgba(252, 175, 62, 0.2);
}
.note
{
/* tango:chameleon 0/0.5 */
background: #d8ffb2;
+ background: rgba(138, 226, 52, 0.1);
border-color: #abf562;
+ border-color: rgba(138, 226, 52, 0.2);
}
-.note, .warning
+div.blockquote
+{
+ border-color: #eeeeec;
+}
+.note, .warning, div.blockquote
{
padding: 0.5em;
border-width: 1px;
border-style: solid;
+ margin: 2em;
}
-.note h3, .warning h3
+.note p, .warning p
{
- margin-top: 0.0em
+ margin: 0;
}
-.note p, .warning p
+
+div.warning h3.title,
+div.note h3.title
+{
+ display: none;
+}
+
+p + div.section
{
- margin-bottom: 0.0em
+ margin-top: 1em;
+}
+
+div.refnamediv,
+div.refsynopsisdiv,
+div.refsect1,
+div.refsect2,
+div.toc,
+div.section
+{
+ margin-bottom: 1em;
}
/* blob links */
@@ -210,33 +269,52 @@ h2 .extralinks, h3 .extralinks
font-weight: normal;
}
+.lineart
+{
+ color: #d3d7cf;
+ font-weight: normal;
+}
+
.annotation
{
/* tango:aluminium 5 */
color: #555753;
- font-size: 80%;
font-weight: normal;
}
+.structfield
+{
+ font-style: normal;
+ font-weight: normal;
+}
+
+acronym,abbr
+{
+ border-bottom: 1px dotted gray;
+}
+
/* code listings */
-.listing_code .programlisting .cbracket { color: #a40000; } /* tango: scarlet red 3 */
-.listing_code .programlisting .comment { color: #a1a39d; } /* tango: aluminium 4 */
-.listing_code .programlisting .function { color: #000000; font-weight: bold; }
-.listing_code .programlisting .function a { color: #11326b; font-weight: bold; } /* tango: sky blue 4 */
-.listing_code .programlisting .keyword { color: #4e9a06; } /* tango: chameleon 3 */
+.listing_code .programlisting .normal,
+.listing_code .programlisting .normal a,
+.listing_code .programlisting .number,
+.listing_code .programlisting .cbracket,
+.listing_code .programlisting .symbol { color: #555753; }
+.listing_code .programlisting .comment,
.listing_code .programlisting .linenum { color: #babdb6; } /* tango: aluminium 3 */
-.listing_code .programlisting .normal { color: #000000; }
-.listing_code .programlisting .number { color: #75507b; } /* tango: plum 2 */
+.listing_code .programlisting .function,
+.listing_code .programlisting .function a,
.listing_code .programlisting .preproc { color: #204a87; } /* tango: sky blue 3 */
-.listing_code .programlisting .string { color: #c17d11; } /* tango: chocolate 2 */
-.listing_code .programlisting .type { color: #000000; }
-.listing_code .programlisting .type a { color: #11326b; } /* tango: sky blue 4 */
-.listing_code .programlisting .symbol { color: #ce5c00; } /* tango: orange 3 */
+.listing_code .programlisting .string { color: #ad7fa8; } /* tango: plum */
+.listing_code .programlisting .keyword,
+.listing_code .programlisting .usertype,
+.listing_code .programlisting .type,
+.listing_code .programlisting .type a { color: #4e9a06; } /* tango: chameleon 3 */
.listing_frame {
/* tango:sky blue 1 */
border: solid 1px #729fcf;
+ border: solid 1px rgba(114, 159, 207, 0.2);
padding: 0px;
}
@@ -248,19 +326,151 @@ h2 .extralinks, h3 .extralinks
.listing_lines {
/* tango:sky blue 0.5 */
background: #a6c5e3;
+ background: rgba(114, 159, 207, 0.2);
/* tango:aluminium 6 */
color: #2e3436;
}
.listing_code {
/* tango:sky blue 0 */
background: #e6f3ff;
+ background: rgba(114, 159, 207, 0.1);
}
.listing_code .programlisting {
/* override from previous */
border: none 0px;
padding: 0px;
+ background: none;
}
.listing_lines pre, .listing_code pre {
margin: 0px;
}
+@media screen {
+ sup a.footnote
+ {
+ position: relative;
+ top: 0em ! important;
+ }
+ /* this is needed so that the local anchors are displayed below the naviagtion */
+ div.footnote a[name], div.refnamediv a[name], div.refsect1 a[name], div.refsect2 a[name], div.index a[name], div.glossary a[name], div.sect1 a[name]
+ {
+ display: inline-block;
+ position: relative;
+ top:-5em;
+ }
+ /* this seems to be a bug in the xsl style sheets when generating indexes */
+ div.index div.index
+ {
+ top: 0em;
+ }
+ /* make space for the fixed navigation bar and add space at the bottom so that
+ * link targets appear somewhat close to top
+ */
+ body
+ {
+ padding-top: 2.5em;
+ padding-bottom: 500px;
+ max-width: 60em;
+ }
+ p
+ {
+ max-width: 60em;
+ }
+ /* style and size the navigation bar */
+ table.navigation#top
+ {
+ position: fixed;
+ background: #e2e2e2;
+ border-bottom: solid 1px #babdb6;
+ border-spacing: 5px;
+ margin-top: 0;
+ margin-bottom: 0;
+ top: 0;
+ left: 0;
+ z-index: 10;
+ }
+ table.navigation#top td
+ {
+ padding-left: 6px;
+ padding-right: 6px;
+ }
+ .navigation a, .navigation a:visited
+ {
+ /* tango:sky blue 3 */
+ color: #204a87;
+ }
+ .navigation a:hover
+ {
+ /* tango:sky blue 2 */
+ color: #3465a4;
+ }
+ td.shortcuts
+ {
+ /* tango:sky blue 2 */
+ color: #3465a4;
+ font-size: 80%;
+ white-space: nowrap;
+ }
+ td.shortcuts .dim
+ {
+ color: #babdb6;
+ }
+ .navigation .title
+ {
+ font-size: 80%;
+ max-width: none;
+ margin: 0px;
+ font-weight: normal;
+ }
+}
+@media screen and (min-width: 60em) {
+ /* screen larger than 60em */
+ body { margin: auto; }
+}
+@media screen and (max-width: 60em) {
+ /* screen less than 60em */
+ #nav_hierarchy { display: none; }
+ #nav_interfaces { display: none; }
+ #nav_prerequisites { display: none; }
+ #nav_derived_interfaces { display: none; }
+ #nav_implementations { display: none; }
+ #nav_child_properties { display: none; }
+ #nav_style_properties { display: none; }
+ #nav_index { display: none; }
+ #nav_glossary { display: none; }
+ .gallery_image { display: none; }
+ .property_flags { display: none; }
+ .signal_flags { display: none; }
+ .parameter_annotations { display: none; }
+ .enum_member_annotations { display: none; }
+ .struct_member_annotations { display: none; }
+ .union_member_annotations { display: none; }
+ /* now that a column is hidden, optimize space */
+ col.parameters_name { width: auto; }
+ col.parameters_description { width: auto; }
+ col.struct_members_name { width: auto; }
+ col.struct_members_description { width: auto; }
+ col.enum_members_name { width: auto; }
+ col.enum_members_description { width: auto; }
+ col.union_members_name { width: auto; }
+ col.union_members_description { width: auto; }
+ .listing_lines { display: none; }
+}
+@media print {
+ table.navigation {
+ visibility: collapse;
+ display: none;
+ }
+ div.titlepage table.navigation {
+ visibility: visible;
+ display: table;
+ background: #e2e2e2;
+ border: solid 1px #babdb6;
+ margin-top: 0;
+ margin-bottom: 0;
+ top: 0;
+ left: 0;
+ height: 3em;
+ }
+}
+
diff --git a/glib/reference/html/up-insensitive.png b/glib/reference/html/up-insensitive.png
new file mode 100644
index 00000000..bda3ce2d
--- /dev/null
+++ b/glib/reference/html/up-insensitive.png
Binary files differ
diff --git a/glib/reference/html/up.png b/glib/reference/html/up.png
index 1eadd548..af46b2ad 100644
--- a/glib/reference/html/up.png
+++ b/glib/reference/html/up.png
Binary files differ
diff --git a/glib/reference/poppler-docs.sgml b/glib/reference/poppler-docs.sgml
index a9d5158e..6dcc6589 100644
--- a/glib/reference/poppler-docs.sgml
+++ b/glib/reference/poppler-docs.sgml
@@ -23,6 +23,7 @@
<xi:include href="xml/poppler-layer.xml"/>
<xi:include href="xml/poppler-media.xml"/>
<xi:include href="xml/poppler-movie.xml"/>
+ <xi:include href="xml/poppler-structure-element.xml"/>
<xi:include href="xml/poppler-features.xml"/>
</chapter>
diff --git a/glib/reference/poppler-sections.txt b/glib/reference/poppler-sections.txt
index 6fb14bca..742065a3 100644
--- a/glib/reference/poppler-sections.txt
+++ b/glib/reference/poppler-sections.txt
@@ -35,8 +35,11 @@ poppler_page_get_selected_text
poppler_page_find_text
poppler_page_find_text_with_options
poppler_page_get_text
+poppler_page_get_text_for_area
poppler_page_get_text_layout
+poppler_page_get_text_layout_for_area
poppler_page_get_text_attributes
+poppler_page_get_text_attributes_for_area
poppler_page_free_text_attributes
poppler_page_get_link_mapping
poppler_page_free_link_mapping
@@ -369,9 +372,12 @@ poppler_print_flags_get_type
<TITLE>PopplerAnnot</TITLE>
PopplerAnnot
PopplerAnnotMarkup
+PopplerAnnotCircle
PopplerAnnotText
+PopplerAnnotTextMarkup
PopplerAnnotFreeText
PopplerAnnotFileAttachment
+PopplerAnnotLine
PopplerAnnotMovie
PopplerAnnotScreen
PopplerAnnotType
@@ -381,6 +387,9 @@ PopplerAnnotMarkupReplyType
PopplerAnnotTextState
PopplerAnnotCalloutLine
PopplerAnnotFreeTextQuadding
+PopplerAnnotSquare
+PopplerPoint
+PopplerQuadrilateral
poppler_annot_get_annot_type
poppler_annot_get_flags
poppler_annot_get_name
@@ -390,6 +399,8 @@ poppler_annot_set_color
poppler_annot_get_contents
poppler_annot_set_contents
poppler_annot_get_modified
+poppler_annot_get_rectangle
+poppler_annot_set_rectangle
poppler_annot_markup_get_label
poppler_annot_markup_set_label
poppler_annot_markup_get_subject
@@ -418,6 +429,12 @@ 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_squiggly
+poppler_annot_text_markup_new_strikeout
+poppler_annot_text_markup_new_underline
+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
@@ -428,17 +445,39 @@ poppler_annot_movie_get_title
poppler_annot_callout_line_new
poppler_annot_callout_line_copy
poppler_annot_callout_line_free
+poppler_annot_circle_new
+poppler_annot_circle_get_interior_color
+poppler_annot_circle_set_interior_color
+poppler_annot_line_new
+poppler_annot_line_set_vertices
+poppler_annot_square_new
+poppler_annot_square_get_interior_color
+poppler_annot_square_set_interior_color
+poppler_point_copy
+poppler_point_free
+poppler_point_get_type
+poppler_point_new
+poppler_quadrilateral_copy
+poppler_quadrilateral_free
+poppler_quadrilateral_get_type
+poppler_quadrilateral_new
<SUBSECTION Standard>
POPPLER_ANNOT
POPPLER_IS_ANNOT
POPPLER_TYPE_ANNOT
+POPPLER_ANNOT_CIRCLE
+POPPLER_IS_ANNOT_CIRCLE
+POPPLER_TYPE_ANNOT_CIRCLE
POPPLER_ANNOT_FILE_ATTACHMENT
POPPLER_IS_ANNOT_FILE_ATTACHMENT
POPPLER_TYPE_ANNOT_FILE_ATTACHMENT
POPPLER_ANNOT_FREE_TEXT
POPPLER_IS_ANNOT_FREE_TEXT
POPPLER_TYPE_ANNOT_FREE_TEXT
+POPPLER_ANNOT_LINE
+POPPLER_IS_ANNOT_LINE
+POPPLER_TYPE_ANNOT_LINE
POPPLER_ANNOT_MARKUP
POPPLER_IS_ANNOT_MARKUP
POPPLER_TYPE_ANNOT_MARKUP
@@ -448,22 +487,30 @@ POPPLER_TYPE_ANNOT_MOVIE
POPPLER_ANNOT_SCREEN
POPPLER_IS_ANNOT_SCREEN
POPPLER_TYPE_ANNOT_SCREEN
+POPPLER_ANNOT_SQUARE
+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
<SUBSECTION Private>
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
@@ -474,6 +521,9 @@ poppler_annot_markup_reply_type_get_type
poppler_annot_callout_line_get_type
poppler_annot_text_state_get_type
poppler_annot_free_text_quadding_get_type
+poppler_annot_line_get_type
+poppler_annot_circle_get_type
+poppler_annot_square_get_type
</SECTION>
<SECTION>
@@ -535,6 +585,144 @@ poppler_movie_get_type
</SECTION>
<SECTION>
+<FILE>poppler-structure-element</FILE>
+<TITLE>PopplerStructureElement</TITLE>
+PopplerStructureElement
+PopplerStructureElementKind
+PopplerStructureElementIter
+PopplerStructureGetTextFlags
+PopplerStructurePlacement
+PopplerStructureWritingMode
+PopplerStructureBorderStyle
+PopplerStructureTextAlign
+PopplerStructureBlockAlign
+PopplerStructureInlineAlign
+PopplerStructureTextDecoration
+PopplerStructureRubyAlign
+PopplerStructureRubyPosition
+PopplerStructureGlyphOrientation
+PopplerStructureListNumbering
+PopplerStructureTableScope
+PopplerStructureFormRole
+PopplerStructureFormState
+PopplerTextSpan
+poppler_structure_element_iter_new
+poppler_structure_element_iter_next
+poppler_structure_element_iter_copy
+poppler_structure_element_iter_free
+poppler_structure_element_iter_get_child
+poppler_structure_element_iter_get_element
+poppler_structure_element_get_kind
+poppler_structure_element_get_page
+poppler_structure_element_is_content
+poppler_structure_element_is_inline
+poppler_structure_element_is_block
+poppler_structure_element_is_grouping
+poppler_structure_element_get_id
+poppler_structure_element_get_title
+poppler_structure_element_get_abbreviation
+poppler_structure_element_get_language
+poppler_structure_element_get_text
+poppler_structure_element_get_alt_text
+poppler_structure_element_get_actual_text
+poppler_structure_element_get_text_spans
+poppler_structure_element_get_placement
+poppler_structure_element_get_writing_mode
+poppler_structure_element_get_background_color
+poppler_structure_element_get_border_color
+poppler_structure_element_get_border_style
+poppler_structure_element_get_border_thickness
+poppler_structure_element_get_padding
+poppler_structure_element_get_color
+poppler_structure_element_get_space_before
+poppler_structure_element_get_space_after
+poppler_structure_element_get_start_indent
+poppler_structure_element_get_end_indent
+poppler_structure_element_get_text_indent
+poppler_structure_element_get_text_align
+poppler_structure_element_get_bounding_box
+poppler_structure_element_get_width
+poppler_structure_element_get_height
+poppler_structure_element_get_block_align
+poppler_structure_element_get_inline_align
+poppler_structure_element_get_table_border_style
+poppler_structure_element_get_table_padding
+poppler_structure_element_get_baseline_shift
+poppler_structure_element_get_line_height
+poppler_structure_element_get_text_decoration_color
+poppler_structure_element_get_text_decoration_thickness
+poppler_structure_element_get_text_decoration_type
+poppler_structure_element_get_ruby_align
+poppler_structure_element_get_ruby_position
+poppler_structure_element_get_glyph_orientation
+poppler_structure_element_get_column_count
+poppler_structure_element_get_column_gaps
+poppler_structure_element_get_column_widths
+poppler_structure_element_get_list_numbering
+poppler_structure_element_get_form_role
+poppler_structure_element_get_form_state
+poppler_structure_element_get_form_description
+poppler_structure_element_get_table_row_span
+poppler_structure_element_get_table_column_span
+poppler_structure_element_get_table_headers
+poppler_structure_element_get_table_scope
+poppler_structure_element_get_table_summary
+poppler_text_span_copy
+poppler_text_span_free
+poppler_text_span_is_fixed_width_font
+poppler_text_span_is_serif_font
+poppler_text_span_is_bold_font
+poppler_text_span_get_color
+poppler_text_span_get_text
+poppler_text_span_get_font_name
+
+<SUBSECTION Standard>
+POPPLER_STRUCTURE_ELEMENT
+POPPLER_IS_STRUCTURE_ELEMENT
+POPPLER_TYPE_STRUCTURE_ELEMENT
+POPPLER_TYPE_STRUCTURE_ELEMENT_ITER
+POPPLER_TYPE_STRUCTURE_ELEMENT_KIND
+POPPLER_TYPE_STRUCTURE_GET_TEXT_FLAGS
+POPPLER_TYPE_STRUCTURE_BLOCK_ALIGN
+POPPLER_TYPE_STRUCTURE_BORDER_STYLE
+POPPLER_TYPE_STRUCTURE_GLYPH_ORIENTATION
+POPPLER_TYPE_STRUCTURE_INLINE_ALIGN
+POPPLER_TYPE_STRUCTURE_LIST_NUMBERING
+POPPLER_TYPE_STRUCTURE_PLACEMENT
+POPPLER_TYPE_STRUCTURE_REFERENCE
+POPPLER_TYPE_STRUCTURE_RUBY_ALIGN
+POPPLER_TYPE_STRUCTURE_RUBY_POSITION
+POPPLER_TYPE_STRUCTURE_TABLE_SCOPE
+POPPLER_TYPE_STRUCTURE_TEXT_ALIGN
+POPPLER_TYPE_STRUCTURE_TEXT_DECORATION
+POPPLER_TYPE_STRUCTURE_WRITING_MODE
+POPPLER_TYPE_STRUCTURE_FORM_STATE
+POPPLER_TYPE_STRUCTURE_FORM_ROLE
+POPPLER_TYPE_TEXT_SPAN
+
+<SUBSECTION Private>
+poppler_structure_element_get_type
+poppler_structure_element_kind_get_type
+poppler_structure_element_iter_get_type
+poppler_structure_get_text_flags_get_type
+poppler_structure_placement_get_type
+poppler_structure_writing_mode_get_type
+poppler_structure_border_style_get_type
+poppler_structure_text_align_get_type
+poppler_structure_block_align_get_type
+poppler_structure_inline_align_get_type
+poppler_structure_text_decoration_get_type
+poppler_structure_ruby_align_get_type
+poppler_structure_ruby_position_get_type
+poppler_structure_glyph_orientation_get_type
+poppler_structure_list_numbering_get_type
+poppler_structure_form_state_get_type
+poppler_structure_form_role_get_type
+poppler_structure_scope_get_type
+poppler_text_span_get_type
+</SECTION>
+
+<SECTION>
<FILE>poppler-features</FILE>
POPPLER_HAS_CAIRO
POPPLER_MAJOR_VERSION
diff --git a/glib/reference/poppler.types b/glib/reference/poppler.types
index eed98499..388852af 100644
--- a/glib/reference/poppler.types
+++ b/glib/reference/poppler.types
@@ -8,3 +8,5 @@ poppler_annot_get_type
poppler_layer_get_type
poppler_media_get_type
poppler_movie_get_type
+poppler_structure_element_get_type
+poppler_structure_element_iter_get_type
diff --git a/glib/reference/version.xml b/glib/reference/version.xml
index 48b91fd8..5564d9ac 100644
--- a/glib/reference/version.xml
+++ b/glib/reference/version.xml
@@ -1 +1 @@
-0.24.1
+0.26.5
diff --git a/goo/GooMutex.h b/goo/GooMutex.h
index e9d5a543..b2714b04 100644
--- a/goo/GooMutex.h
+++ b/goo/GooMutex.h
@@ -19,6 +19,8 @@
// Copyright (C) 2013 Thomas Freitag <Thomas.Freitag@alfa.de>
// Copyright (C) 2013 Albert Astals Cid <aacid@kde.org>
// Copyright (C) 2013 Adam Reichold <adamreichold@myopera.com>
+// Copyright (C) 2014 Bogdan Cristea <cristeab@gmail.com>
+// Copyright (C) 2014 Peter Breitenlohner <peb@mppmu.mpg.de>
//
// To see a description of the changes please see the Changelog file that
// came with your tarball or type make ChangeLog if you are building from git
@@ -40,7 +42,9 @@
// gDestroyMutex(&m);
#ifdef _WIN32
-
+#ifndef NOMINMAX
+#define NOMINMAX
+#endif
#include <windows.h>
typedef CRITICAL_SECTION GooMutex;
diff --git a/goo/GooString.cc b/goo/GooString.cc
index d35161d8..8591d95c 100644
--- a/goo/GooString.cc
+++ b/goo/GooString.cc
@@ -20,9 +20,10 @@
// Copyright (C) 2007 Jeff Muizelaar <jeff@infidigm.net>
// Copyright (C) 2008-2011 Albert Astals Cid <aacid@kde.org>
// Copyright (C) 2011 Kenji Uno <ku@digitaldolphins.jp>
-// Copyright (C) 2012 Fabio D'Urso <fabiodurso@hotmail.it>
+// Copyright (C) 2012, 2013 Fabio D'Urso <fabiodurso@hotmail.it>
// Copyright (C) 2012 Adrian Johnson <ajohnson@redneon.com>
// Copyright (C) 2012 Pino Toscano <pino@kde.org>
+// Copyright (C) 2013 Jason Crain <jason@aquaticape.us>
//
// To see a description of the changes please see the Changelog file that
// came with your tarball or type make ChangeLog if you are building from git
@@ -650,18 +651,25 @@ void GooString::formatInt(long x, char *buf, int bufSize,
const char *vals = upperCase ? upperCaseDigits : lowerCaseDigits;
GBool neg;
int start, i, j;
+#ifdef LLONG_MAX
+ unsigned long long abs_x;
+#else
+ unsigned long abs_x;
+#endif
i = bufSize;
if ((neg = x < 0)) {
- x = -x;
+ abs_x = -x;
+ } else {
+ abs_x = x;
}
start = neg ? 1 : 0;
- if (x == 0) {
+ if (abs_x == 0) {
buf[--i] = '0';
} else {
- while (i > start && x) {
- buf[--i] = vals[x % base];
- x /= base;
+ while (i > start && abs_x) {
+ buf[--i] = vals[abs_x % base];
+ abs_x /= base;
}
}
if (zeroFill) {
@@ -893,6 +901,15 @@ int GooString::cmpN(const char *sA, int n) const {
return 0;
}
+GBool GooString::endsWith(const char *suffix) const {
+ int suffixLen = strlen(suffix);
+
+ if (length < suffixLen)
+ return gFalse;
+
+ return strcmp(s + length - suffixLen, suffix) == 0;
+}
+
GBool GooString::hasUnicodeMarker(void)
{
return length > 1 && (s[0] & 0xff) == 0xfe && (s[1] & 0xff) == 0xff;
diff --git a/goo/GooString.h b/goo/GooString.h
index b24051b6..5932be99 100644
--- a/goo/GooString.h
+++ b/goo/GooString.h
@@ -18,7 +18,8 @@
// Copyright (C) 2006 Kristian Høgsberg <krh@redhat.com>
// Copyright (C) 2006 Krzysztof Kowalczyk <kkowalczyk@gmail.com>
// Copyright (C) 2008-2010, 2012 Albert Astals Cid <aacid@kde.org>
-// Copyright (C) 2012 Fabio D'Urso <fabiodurso@hotmail.it>
+// Copyright (C) 2012-2014 Fabio D'Urso <fabiodurso@hotmail.it>
+// Copyright (C) 2013 Jason Crain <jason@aquaticape.us>
//
// To see a description of the changes please see the Changelog file that
// came with your tarball or type make ChangeLog if you are building from git
@@ -37,6 +38,12 @@
#include <stdlib.h> // for NULL
#include "gtypes.h"
+#ifdef __clang__
+# define GOOSTRING_FORMAT __attribute__((__annotate__("gooformat")))
+#else
+# define GOOSTRING_FORMAT
+#endif
+
class GooString {
public:
@@ -86,13 +93,17 @@ public:
// ld, lx, lX, lo, lb, uld, ulx, ulX, ulo, ulb -- long, unsigned long
// lld, llx, llX, llo, llb, ulld, ullx, ullX, ullo, ullb
// -- long long, unsigned long long
- // f, g -- double
- // c -- char
+ // f, g, gs -- floating point (float or double)
+ // f -- always prints trailing zeros (eg 1.0 with .2f will print 1.00)
+ // g -- omits trailing zeros and, if possible, the dot (eg 1.0 shows up as 1)
+ // gs -- is like g, but treats <precision> as number of significant
+ // digits to show (eg 0.0123 with .2gs will print 0.012)
+ // c -- character (char, short or int)
// s -- string (char *)
// t -- GooString *
// w -- blank space; arg determines width
// To get literal curly braces, use {{ or }}.
- static GooString *format(const char *fmt, ...);
+ static GooString *format(const char *fmt, ...) GOOSTRING_FORMAT;
static GooString *formatv(const char *fmt, va_list argList);
// Destructor.
@@ -119,7 +130,7 @@ public:
GooString *append(const char *str, int lengthA=CALC_STRING_LEN);
// Append a formatted string.
- GooString *appendf(const char *fmt, ...);
+ GooString *appendf(const char *fmt, ...) GOOSTRING_FORMAT;
GooString *appendfv(const char *fmt, va_list argList);
// Insert a character or string.
@@ -140,6 +151,9 @@ public:
int cmp(const char *sA) const;
int cmpN(const char *sA, int n) const;
+ // Return true if string ends with suffix
+ GBool endsWith(const char *suffix) const;
+
GBool hasUnicodeMarker(void);
// Sanitizes the string so that it does
diff --git a/goo/GooTimer.h b/goo/GooTimer.h
index d77373e9..ac64f6b4 100644
--- a/goo/GooTimer.h
+++ b/goo/GooTimer.h
@@ -8,6 +8,8 @@
// Copyright 2007 Krzysztof Kowalczyk <kkowalczyk@gmail.com>
// Copyright 2010 Hib Eris <hib@hiberis.nl>
// Copyright 2011 Albert Astals cid <aacid@kde.org>
+// Copyright 2014 Bogdan Cristea <cristeab@gmail.com>
+// Copyright 2014 Peter Breitenlohner <peb@mppmu.mpg.de>
// Inspired by gtimer.c in glib, which is Copyright 2000 by the GLib Team
//
//========================================================================
@@ -26,6 +28,9 @@
#endif
#ifdef _WIN32
+#ifndef NOMINMAX
+#define NOMINMAX
+#endif
#include <windows.h>
#endif
diff --git a/goo/Makefile.am b/goo/Makefile.am
index 0764e79c..a48b20ec 100644
--- a/goo/Makefile.am
+++ b/goo/Makefile.am
@@ -13,6 +13,7 @@ poppler_goo_include_HEADERS = \
gmem.h \
gfile.h \
FixedPoint.h \
+ NetPBMWriter.h \
PNGWriter.h \
JpegWriter.h \
TiffWriter.h \
@@ -55,6 +56,7 @@ libgoo_la_SOURCES = \
GooString.cc \
gmem.cc \
FixedPoint.cc \
+ NetPBMWriter.cc \
PNGWriter.cc \
JpegWriter.cc \
TiffWriter.cc \
diff --git a/goo/Makefile.in b/goo/Makefile.in
index f9875ac4..3cce9ca2 100644
--- a/goo/Makefile.in
+++ b/goo/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.13.3 from Makefile.am.
+# Makefile.in generated by automake 1.14.1 from Makefile.am.
# @configure_input@
# Copyright (C) 1994-2013 Free Software Foundation, Inc.
@@ -100,8 +100,9 @@ CONFIG_CLEAN_VPATH_FILES =
LTLIBRARIES = $(noinst_LTLIBRARIES)
libgoo_la_LIBADD =
am_libgoo_la_OBJECTS = gfile.lo gmempp.lo GooHash.lo GooList.lo \
- GooTimer.lo GooString.lo gmem.lo FixedPoint.lo PNGWriter.lo \
- JpegWriter.lo TiffWriter.lo ImgWriter.lo gstrtod.lo grandom.lo
+ GooTimer.lo GooString.lo gmem.lo FixedPoint.lo NetPBMWriter.lo \
+ PNGWriter.lo JpegWriter.lo TiffWriter.lo ImgWriter.lo \
+ gstrtod.lo grandom.lo
libgoo_la_OBJECTS = $(am_libgoo_la_OBJECTS)
AM_V_lt = $(am__v_lt_@AM_V@)
am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
@@ -168,8 +169,8 @@ am__can_run_installinfo = \
esac
am__poppler_goo_include_HEADERS_DIST = GooHash.h GooList.h GooTimer.h \
GooMutex.h GooString.h gtypes.h gmem.h gfile.h FixedPoint.h \
- PNGWriter.h JpegWriter.h TiffWriter.h ImgWriter.h GooLikely.h \
- gstrtod.h grandom.h
+ NetPBMWriter.h PNGWriter.h JpegWriter.h TiffWriter.h \
+ ImgWriter.h GooLikely.h gstrtod.h grandom.h
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
am__vpath_adj = case $$p in \
$(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
@@ -264,6 +265,7 @@ GLIB_REQ = @GLIB_REQ@
GLIB_REQUIRED = @GLIB_REQUIRED@
GREP = @GREP@
GTKDOC_CHECK = @GTKDOC_CHECK@
+GTKDOC_CHECK_PATH = @GTKDOC_CHECK_PATH@
GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
GTKDOC_MKPDF = @GTKDOC_MKPDF@
@@ -300,7 +302,6 @@ LIBPNG_CFLAGS = @LIBPNG_CFLAGS@
LIBPNG_LIBS = @LIBPNG_LIBS@
LIBS = @LIBS@
LIBTIFF_CFLAGS = @LIBTIFF_CFLAGS@
-LIBTIFF_CFLAGSS = @LIBTIFF_CFLAGSS@
LIBTIFF_LIBS = @LIBTIFF_LIBS@
LIBTOOL = @LIBTOOL@
LIPO = @LIPO@
@@ -440,6 +441,7 @@ noinst_LTLIBRARIES = libgoo.la
@ENABLE_XPDF_HEADERS_TRUE@ gmem.h \
@ENABLE_XPDF_HEADERS_TRUE@ gfile.h \
@ENABLE_XPDF_HEADERS_TRUE@ FixedPoint.h \
+@ENABLE_XPDF_HEADERS_TRUE@ NetPBMWriter.h \
@ENABLE_XPDF_HEADERS_TRUE@ PNGWriter.h \
@ENABLE_XPDF_HEADERS_TRUE@ JpegWriter.h \
@ENABLE_XPDF_HEADERS_TRUE@ TiffWriter.h \
@@ -468,6 +470,7 @@ libgoo_la_SOURCES = \
GooString.cc \
gmem.cc \
FixedPoint.cc \
+ NetPBMWriter.cc \
PNGWriter.cc \
JpegWriter.cc \
TiffWriter.cc \
@@ -538,6 +541,7 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/GooTimer.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ImgWriter.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/JpegWriter.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/NetPBMWriter.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/PNGWriter.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TiffWriter.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gfile.Plo@am__quote@
diff --git a/goo/NetPBMWriter.cc b/goo/NetPBMWriter.cc
new file mode 100644
index 00000000..fca00b26
--- /dev/null
+++ b/goo/NetPBMWriter.cc
@@ -0,0 +1,84 @@
+//========================================================================
+//
+// NetPBMWriter.h
+//
+// Copyright 1998-2003 Glyph & Cog, LLC
+//
+//========================================================================
+//
+//========================================================================
+//
+// Modified under the Poppler project - http://poppler.freedesktop.org
+//
+// All changes made under the Poppler project to this file are licensed
+// under GPL version 2 or later
+//
+// Copyright (C) 2005, 2007, 2011 Albert Astals Cid <aacid@kde.org>
+// Copyright (C) 2006 Rainer Keller <class321@gmx.de>
+// Copyright (C) 2008 Timothy Lee <timothy.lee@siriushk.com>
+// Copyright (C) 2008 Vasile Gaburici <gaburici@cs.umd.edu>
+// Copyright (C) 2009 Carlos Garcia Campos <carlosgc@gnome.org>
+// Copyright (C) 2009 William Bader <williambader@hotmail.com>
+// Copyright (C) 2010 Jakob Voss <jakob.voss@gbv.de>
+// Copyright (C) 2012, 2013 Adrian Johnson <ajohnson@redneon.com>
+// Copyright (C) 2013 Thomas Fischer <fischer@unix-ag.uni-kl.de>
+//
+// To see a description of the changes please see the Changelog file that
+// came with your tarball or type make ChangeLog if you are building from git
+//
+//========================================================================
+
+#include "poppler-config.h"
+
+#include "NetPBMWriter.h"
+
+// Writer for the NetPBM formats (PBM and PPM)
+// This format is documented at:
+// http://netpbm.sourceforge.net/doc/pbm.html
+// http://netpbm.sourceforge.net/doc/ppm.html
+
+NetPBMWriter::NetPBMWriter(Format formatA) : format(formatA)
+{
+}
+
+bool NetPBMWriter::init(FILE *f, int widthA, int heightA, int hDPI, int vDPI)
+{
+ file = f;
+ width = widthA;
+ if (format == MONOCHROME) {
+ fprintf(file, "P4\n");
+ fprintf(file, "%d %d\n", widthA, heightA);
+ } else {
+ fprintf(file, "P6\n");
+ fprintf(file, "%d %d\n", widthA, heightA);
+ fprintf(file, "255\n");
+ }
+ return true;
+}
+
+bool NetPBMWriter::writePointers(unsigned char **rowPointers, int rowCount)
+{
+ for (int i = 0; i < rowCount; i++)
+ writeRow(&rowPointers[i]);
+ return true;
+}
+
+bool NetPBMWriter::writeRow(unsigned char **row)
+{
+ if (format == MONOCHROME) {
+ // PBM uses 0 = white, 1 = black so we need to invert the colors
+ int size = (width + 7)/8;
+ for (int i = 0; i < size; i++)
+ fputc((*row)[i] ^ 0xff, file);
+ } else {
+ fwrite(*row, 1, width*3, file);
+ }
+ return true;
+}
+
+
+bool NetPBMWriter::close()
+{
+ return true;
+}
+
diff --git a/goo/NetPBMWriter.h b/goo/NetPBMWriter.h
new file mode 100644
index 00000000..21a19ee7
--- /dev/null
+++ b/goo/NetPBMWriter.h
@@ -0,0 +1,52 @@
+//========================================================================
+//
+// NetPBMWriter.h
+//
+// This file is licensed under the GPLv2 or later
+//
+// Copyright (C) 2009 Stefan Thomas <thomas@eload24.com>
+// Copyright (C) 2009, 2011 Albert Astals Cid <aacid@kde.org>
+// Copyright (C) 2010, 2013 Adrian Johnson <ajohnson@redneon.com>
+// Copyright (C) 2010 Brian Cameron <brian.cameron@oracle.com>
+// Copyright (C) 2011 Thomas Freitag <Thomas.Freitag@alfa.de>
+//
+//========================================================================
+
+#ifndef NETPBMWRITER_H
+#define NETPBMWRITER_H
+
+#include "poppler-config.h"
+
+#include "ImgWriter.h"
+
+// Writer for the NetPBM formats (PBM and PPM)
+// This format is documented at:
+// http://netpbm.sourceforge.net/doc/pbm.html
+// http://netpbm.sourceforge.net/doc/ppm.html
+
+class NetPBMWriter : public ImgWriter
+{
+public:
+
+ /* RGB - 3 bytes/pixel
+ * MONOCHROME - 8 pixels/byte
+ */
+ enum Format { RGB, MONOCHROME };
+
+ NetPBMWriter(Format formatA = RGB);
+ ~NetPBMWriter() {};
+
+ bool init(FILE *f, int width, int height, int hDPI, int vDPI);
+
+ bool writePointers(unsigned char **rowPointers, int rowCount);
+ bool writeRow(unsigned char **row);
+
+ bool close();
+
+private:
+ FILE *file;
+ Format format;
+ int width;
+};
+
+#endif
diff --git a/goo/PNGWriter.cc b/goo/PNGWriter.cc
index b775600c..c9d5199d 100644
--- a/goo/PNGWriter.cc
+++ b/goo/PNGWriter.cc
@@ -8,7 +8,7 @@
// Copyright (C) 2009 Shen Liang <shenzhuxi@gmail.com>
// Copyright (C) 2009, 2011 Albert Astals Cid <aacid@kde.org>
// Copyright (C) 2009 Stefan Thomas <thomas@eload24.com>
-// Copyright (C) 2010, 2011 Adrian Johnson <ajohnson@redneon.com>
+// Copyright (C) 2010, 2011, 2013 Adrian Johnson <ajohnson@redneon.com>
// Copyright (C) 2011 Thomas Klausner <wiz@danbala.tuwien.ac.at>
// Copyright (C) 2012 Pino Toscano <pino@kde.org>
//
@@ -147,10 +147,6 @@ bool PNGWriter::init(FILE *f, int width, int height, int hDPI, int vDPI)
return false;
}
- // pack 1 pixel/byte rows into 8 pixels/byte
- if (priv->format == MONOCHROME)
- png_set_packing(priv->png_ptr);
-
return true;
}
diff --git a/goo/PNGWriter.h b/goo/PNGWriter.h
index c73c9642..90a298e7 100644
--- a/goo/PNGWriter.h
+++ b/goo/PNGWriter.h
@@ -6,9 +6,9 @@
//
// Copyright (C) 2009 Warren Toomey <wkt@tuhs.org>
// Copyright (C) 2009 Shen Liang <shenzhuxi@gmail.com>
-// Copyright (C) 2009, 2011, 2012 Albert Astals Cid <aacid@kde.org>
+// Copyright (C) 2009, 2011-2013 Albert Astals Cid <aacid@kde.org>
// Copyright (C) 2009 Stefan Thomas <thomas@eload24.com>
-// Copyright (C) 2010, 2011 Adrian Johnson <ajohnson@redneon.com>
+// Copyright (C) 2010, 2011, 2013 Adrian Johnson <ajohnson@redneon.com>
// Copyright (C) 2012 Pino Toscano <pino@kde.org>
//
//========================================================================
@@ -22,7 +22,7 @@
#include "ImgWriter.h"
-class PNGWriterPrivate;
+struct PNGWriterPrivate;
class PNGWriter : public ImgWriter
{
@@ -31,7 +31,7 @@ public:
/* RGB - 3 bytes/pixel
* RGBA - 4 bytes/pixel
* GRAY - 1 byte/pixel
- * MONOCHROME - 1 byte/pixel. PNGWriter will bitpack to 8 pixels/byte
+ * MONOCHROME - 8 pixels/byte
*/
enum Format { RGB, RGBA, GRAY, MONOCHROME };
diff --git a/goo/TiffWriter.cc b/goo/TiffWriter.cc
index d372a5bd..31600877 100644
--- a/goo/TiffWriter.cc
+++ b/goo/TiffWriter.cc
@@ -8,6 +8,7 @@
// Copyright (C) 2012 Albert Astals Cid <aacid@kde.org>
// Copyright (C) 2012 Adrian Johnson <ajohnson@redneon.com>
// Copyright (C) 2012 Pino Toscano <pino@kde.org>
+// Copyright (C) 2014 Steven Lee <roc.sky@gmail.com>
//
//========================================================================
@@ -17,6 +18,10 @@
#include <string.h>
+#ifdef _WIN32
+#include <io.h>
+#endif
+
extern "C" {
#include <tiffio.h>
}
@@ -151,7 +156,13 @@ bool TiffWriter::init(FILE *openedFile, int width, int height, int hDPI, int vDP
return false;
}
+#ifdef _WIN32
+ //Convert C Library handle to Win32 Handle
+ priv->f = TIFFFdOpen(_get_osfhandle(fileno(openedFile)), "-", "w");
+#else
priv->f = TIFFFdOpen(fileno(openedFile), "-", "w");
+#endif
+
if (!priv->f) {
return false;
diff --git a/goo/gfile.cc b/goo/gfile.cc
index c590a193..3528bb35 100644
--- a/goo/gfile.cc
+++ b/goo/gfile.cc
@@ -19,11 +19,12 @@
// Copyright (C) 2006 Kristian Høgsberg <krh@redhat.com>
// Copyright (C) 2008 Adam Batkin <adam@batkin.net>
// Copyright (C) 2008, 2010, 2012, 2013 Hib Eris <hib@hiberis.nl>
-// Copyright (C) 2009, 2012 Albert Astals Cid <aacid@kde.org>
+// Copyright (C) 2009, 2012, 2014 Albert Astals Cid <aacid@kde.org>
// Copyright (C) 2009 Kovid Goyal <kovid@kovidgoyal.net>
// Copyright (C) 2013 Adam Reichold <adamreichold@myopera.com>
// Copyright (C) 2013 Adrian Johnson <ajohnson@redneon.com>
// Copyright (C) 2013 Peter Breitenlohner <peb@mppmu.mpg.de>
+// Copyright (C) 2013 Thomas Freitag <Thomas.Freitag@alfa.de>
//
// To see a description of the changes please see the Changelog file that
// came with your tarball or type make ChangeLog if you are building from git
@@ -491,7 +492,7 @@ FILE *openFile(const char *path, const char *mode) {
}
}
wPath[i] = (wchar_t)0;
- for (i = 0; mode[i] && i < sizeof(mode) - 1; ++i) {
+ for (i = 0; (i < sizeof(mode) - 1) && mode[i]; ++i) {
wMode[i] = (wchar_t)(mode[i] & 0xff);
}
wMode[i] = (wchar_t)0;
@@ -621,7 +622,7 @@ Goffset GooFile::size() const {
GooFile* GooFile::open(const GooString *fileName) {
HANDLE handle = CreateFile(fileName->getCString(),
GENERIC_READ,
- FILE_SHARE_READ,
+ FILE_SHARE_READ | FILE_SHARE_WRITE,
NULL,
OPEN_EXISTING,
FILE_ATTRIBUTE_NORMAL, NULL);
@@ -632,7 +633,7 @@ GooFile* GooFile::open(const GooString *fileName) {
GooFile* GooFile::open(const wchar_t *fileName) {
HANDLE handle = CreateFileW(fileName,
GENERIC_READ,
- FILE_SHARE_READ,
+ FILE_SHARE_READ | FILE_SHARE_WRITE,
NULL,
OPEN_EXISTING,
FILE_ATTRIBUTE_NORMAL, NULL);
@@ -747,7 +748,7 @@ GDir::~GDir() {
}
GDirEntry *GDir::getNextEntry() {
- GDirEntry *e;
+ GDirEntry *e = NULL;
#if defined(_WIN32)
if (hnd != INVALID_HANDLE_VALUE) {
@@ -756,14 +757,11 @@ GDirEntry *GDir::getNextEntry() {
FindClose(hnd);
hnd = INVALID_HANDLE_VALUE;
}
- } else {
- e = NULL;
}
#elif defined(ACORN)
#elif defined(MACOS)
#elif defined(VMS)
struct dirent *ent;
- e = NULL;
if (dir) {
if (needParent) {
e = new GDirEntry(path->getCString(), "-", doStat);
@@ -777,7 +775,6 @@ GDirEntry *GDir::getNextEntry() {
}
#else
struct dirent *ent;
- e = NULL;
if (dir) {
do {
ent = readdir(dir);
diff --git a/goo/gfile.h b/goo/gfile.h
index 5f546f11..1365a9cf 100644
--- a/goo/gfile.h
+++ b/goo/gfile.h
@@ -20,6 +20,8 @@
// Copyright (C) 2009 Kovid Goyal <kovid@kovidgoyal.net>
// Copyright (C) 2013 Adam Reichold <adamreichold@myopera.com>
// Copyright (C) 2013 Adrian Johnson <ajohnson@redneon.com>
+// Copyright (C) 2014 Bogdan Cristea <cristeab@gmail.com>
+// Copyright (C) 2014 Peter Breitenlohner <peb@mppmu.mpg.de>
//
// To see a description of the changes please see the Changelog file that
// came with your tarball or type make ChangeLog if you are building from git
@@ -39,6 +41,9 @@ extern "C" {
# ifdef FPTEX
# include <win32lib.h>
# else
+# ifndef NOMINMAX
+# define NOMINMAX
+# endif
# include <windows.h>
# endif
#elif defined(ACORN)
diff --git a/gtk-doc.make b/gtk-doc.make
index 104c3993..e7916563 100644
--- a/gtk-doc.make
+++ b/gtk-doc.make
@@ -49,9 +49,13 @@ REPORT_FILES = \
$(DOC_MODULE)-undeclared.txt \
$(DOC_MODULE)-unused.txt
-CLEANFILES = $(SCANOBJ_FILES) $(REPORT_FILES) $(DOC_STAMPS)
+gtkdoc-check.test: Makefile
+ $(AM_V_GEN)echo "#!/bin/sh -e" > $@; \
+ echo "$(GTKDOC_CHECK_PATH) || exit 1" >> $@; \
+ chmod +x $@
+
+CLEANFILES = $(SCANOBJ_FILES) $(REPORT_FILES) $(DOC_STAMPS) gtkdoc-check.test
-if ENABLE_GTK_DOC
if GTK_DOC_BUILD_HTML
HTML_BUILD_STAMP=html-build.stamp
else
@@ -63,9 +67,11 @@ else
PDF_BUILD_STAMP=
endif
-all-local: $(HTML_BUILD_STAMP) $(PDF_BUILD_STAMP)
-else
-all-local:
+all-gtk-doc: $(HTML_BUILD_STAMP) $(PDF_BUILD_STAMP)
+.PHONY: all-gtk-doc
+
+if ENABLE_GTK_DOC
+all-local: all-gtk-doc
endif
docs: $(HTML_BUILD_STAMP) $(PDF_BUILD_STAMP)
@@ -83,8 +89,10 @@ setup-build.stamp:
files=`echo $(SETUP_FILES) $(expand_content_files) $(DOC_MODULE).types`; \
if test "x$$files" != "x" ; then \
for file in $$files ; do \
+ destdir=`dirname $(abs_builddir)/$$file`; \
+ test -d "$$destdir" || mkdir -p "$$destdir"; \
test -f $(abs_srcdir)/$$file && \
- cp -pu $(abs_srcdir)/$$file $(abs_builddir)/$$file || true; \
+ cp -pf $(abs_srcdir)/$$file $(abs_builddir)/$$file || true; \
done; \
fi; \
fi
@@ -101,7 +109,7 @@ GTK_DOC_V_INTROSPECT=$(GTK_DOC_V_INTROSPECT_$(V))
GTK_DOC_V_INTROSPECT_=$(GTK_DOC_V_INTROSPECT_$(AM_DEFAULT_VERBOSITY))
GTK_DOC_V_INTROSPECT_0=@echo " DOC Introspecting gobjects";
-scan-build.stamp: $(HFILE_GLOB) $(CFILE_GLOB)
+scan-build.stamp: setup-build.stamp $(HFILE_GLOB) $(CFILE_GLOB)
$(GTK_DOC_V_SCAN)_source_dir='' ; \
for i in $(DOC_SOURCE_DIR) ; do \
_source_dir="$${_source_dir} --source-dir=$$i" ; \
@@ -212,6 +220,9 @@ pdf-build.stamp: sgml.stamp $(DOC_MAIN_SGML_FILE) $(content_files)
clean-local:
@rm -f *~ *.bak
@rm -rf .libs
+ @if echo $(SCAN_OPTIONS) | grep -q "\-\-rebuild-types" ; then \
+ rm -f $(DOC_MODULE).types; \
+ fi
distclean-local:
@rm -rf xml html $(REPORT_FILES) $(DOC_MODULE).pdf \
@@ -256,15 +267,17 @@ uninstall-local:
#
# Require gtk-doc when making dist
#
-if ENABLE_GTK_DOC
+if HAVE_GTK_DOC
dist-check-gtkdoc: docs
else
dist-check-gtkdoc:
- @echo "*** gtk-doc must be installed and enabled in order to make dist"
+ @echo "*** gtk-doc is needed to run 'make dist'. ***"
+ @echo "*** gtk-doc was not found when 'configure' ran. ***"
+ @echo "*** please install gtk-doc and rerun 'configure'. ***"
@false
endif
-dist-hook: dist-check-gtkdoc dist-hook-local
+dist-hook: dist-check-gtkdoc all-gtk-doc dist-hook-local
@mkdir $(distdir)/html
@cp ./html/* $(distdir)/html
@-cp ./$(DOC_MODULE).pdf $(distdir)/
diff --git a/ltmain.sh b/ltmain.sh
index 3825a2aa..a356acaf 100644
--- a/ltmain.sh
+++ b/ltmain.sh
@@ -70,7 +70,7 @@
# compiler: $LTCC
# compiler flags: $LTCFLAGS
# linker: $LD (gnu? $with_gnu_ld)
-# $progname: (GNU libtool) 2.4.2 Debian-2.4.2-1.3ubuntu1
+# $progname: (GNU libtool) 2.4.2 Debian-2.4.2-1.7ubuntu1
# automake: $automake_version
# autoconf: $autoconf_version
#
@@ -80,7 +80,7 @@
PROGRAM=libtool
PACKAGE=libtool
-VERSION="2.4.2 Debian-2.4.2-1.3ubuntu1"
+VERSION="2.4.2 Debian-2.4.2-1.7ubuntu1"
TIMESTAMP=""
package_revision=1.3337
diff --git a/m4/gtk-doc.m4 b/m4/gtk-doc.m4
index ac2eccb4..36755432 100644
--- a/m4/gtk-doc.m4
+++ b/m4/gtk-doc.m4
@@ -1,6 +1,6 @@
dnl -*- mode: autoconf -*-
-# serial 1
+# serial 2
dnl Usage:
dnl GTK_DOC_CHECK([minimum-gtk-doc-version])
@@ -10,8 +10,24 @@ AC_DEFUN([GTK_DOC_CHECK],
AC_BEFORE([AC_PROG_LIBTOOL],[$0])dnl setup libtool first
AC_BEFORE([AM_PROG_LIBTOOL],[$0])dnl setup libtool first
+ ifelse([$1],[],[gtk_doc_requires="gtk-doc"],[gtk_doc_requires="gtk-doc >= $1"])
+ AC_MSG_CHECKING([for gtk-doc])
+ PKG_CHECK_EXISTS([$gtk_doc_requires],[have_gtk_doc=yes],[have_gtk_doc=no])
+ AC_MSG_RESULT($have_gtk_doc)
+
+ if test "$have_gtk_doc" = "no"; then
+ AC_MSG_WARN([
+ You will not be able to create source packages with 'make dist'
+ because $gtk_doc_requires is not found.])
+ fi
+
dnl check for tools we added during development
- AC_PATH_PROG([GTKDOC_CHECK],[gtkdoc-check])
+ dnl Use AC_CHECK_PROG to avoid the check target using an absolute path that
+ dnl may not be writable by the user. Currently, automake requires that the
+ dnl test name must end in '.test'.
+ dnl https://bugzilla.gnome.org/show_bug.cgi?id=701638
+ AC_CHECK_PROG([GTKDOC_CHECK],[gtkdoc-check],[gtkdoc-check.test])
+ AC_PATH_PROG([GTKDOC_CHECK_PATH],[gtkdoc-check])
AC_PATH_PROGS([GTKDOC_REBASE],[gtkdoc-rebase],[true])
AC_PATH_PROG([GTKDOC_MKPDF],[gtkdoc-mkpdf])
@@ -28,22 +44,22 @@ AC_DEFUN([GTK_DOC_CHECK],
[use gtk-doc to build documentation [[default=no]]]),,
[enable_gtk_doc=no])
- if test x$enable_gtk_doc = xyes; then
- ifelse([$1],[],
- [PKG_CHECK_EXISTS([gtk-doc],,
- AC_MSG_ERROR([gtk-doc not installed and --enable-gtk-doc requested]))],
- [PKG_CHECK_EXISTS([gtk-doc >= $1],,
- AC_MSG_ERROR([You need to have gtk-doc >= $1 installed to build $PACKAGE_NAME]))])
- dnl don't check for glib if we build glib
- if test "x$PACKAGE_NAME" != "xglib"; then
- dnl don't fail if someone does not have glib
- PKG_CHECK_MODULES(GTKDOC_DEPS, glib-2.0 >= 2.10.0 gobject-2.0 >= 2.10.0,,[:])
- fi
- fi
-
AC_MSG_CHECKING([whether to build gtk-doc documentation])
AC_MSG_RESULT($enable_gtk_doc)
+ if test "x$enable_gtk_doc" = "xyes" && test "$have_gtk_doc" = "no"; then
+ AC_MSG_ERROR([
+ You must have $gtk_doc_requires installed to build documentation for
+ $PACKAGE_NAME. Please install gtk-doc or disable building the
+ documentation by adding '--disable-gtk-doc' to '[$]0'.])
+ fi
+
+ dnl don't check for glib if we build glib
+ if test "x$PACKAGE_NAME" != "xglib"; then
+ dnl don't fail if someone does not have glib
+ PKG_CHECK_MODULES(GTKDOC_DEPS, glib-2.0 >= 2.10.0 gobject-2.0 >= 2.10.0,,[:])
+ fi
+
dnl enable/disable output formats
AC_ARG_ENABLE([gtk-doc-html],
AS_HELP_STRING([--enable-gtk-doc-html],
@@ -63,6 +79,7 @@ AC_DEFUN([GTK_DOC_CHECK],
fi
AC_SUBST([AM_DEFAULT_VERBOSITY])
+ AM_CONDITIONAL([HAVE_GTK_DOC], [test x$have_gtk_doc = xyes])
AM_CONDITIONAL([ENABLE_GTK_DOC], [test x$enable_gtk_doc = xyes])
AM_CONDITIONAL([GTK_DOC_BUILD_HTML], [test x$enable_gtk_doc_html = xyes])
AM_CONDITIONAL([GTK_DOC_BUILD_PDF], [test x$enable_gtk_doc_pdf = xyes])
diff --git a/m4/libtool.m4 b/m4/libtool.m4
index 02b4bbec..d7c043f4 100644
--- a/m4/libtool.m4
+++ b/m4/libtool.m4
@@ -1312,7 +1312,7 @@ ia64-*-hpux*)
rm -rf conftest*
;;
-x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \
+x86_64-*kfreebsd*-gnu|x86_64-*linux*|powerpc*-*linux*| \
s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
# Find out which ABI we are using.
echo 'int i;' > conftest.$ac_ext
@@ -1333,7 +1333,10 @@ s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
;;
esac
;;
- ppc64-*linux*|powerpc64-*linux*)
+ powerpc64le-*)
+ LD="${LD-ld} -m elf32lppclinux"
+ ;;
+ powerpc64-*)
LD="${LD-ld} -m elf32ppclinux"
;;
s390x-*linux*)
@@ -1352,7 +1355,10 @@ s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
x86_64-*linux*)
LD="${LD-ld} -m elf_x86_64"
;;
- ppc*-*linux*|powerpc*-*linux*)
+ powerpcle-*)
+ LD="${LD-ld} -m elf64lppc"
+ ;;
+ powerpc-*)
LD="${LD-ld} -m elf64ppc"
;;
s390*-*linux*|s390*-*tpf*)
diff --git a/missing b/missing
index cdea5149..db98974f 100755
--- a/missing
+++ b/missing
@@ -1,7 +1,7 @@
#! /bin/sh
# Common wrapper for a few potentially missing GNU programs.
-scriptversion=2012-06-26.16; # UTC
+scriptversion=2013-10-28.13; # UTC
# Copyright (C) 1996-2013 Free Software Foundation, Inc.
# Originally written by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996.
@@ -160,7 +160,7 @@ give_advice ()
;;
autom4te*)
echo "You might have modified some maintainer files that require"
- echo "the 'automa4te' program to be rebuilt."
+ echo "the 'autom4te' program to be rebuilt."
program_details 'autom4te'
;;
bison*|yacc*)
diff --git a/poppler/Annot.cc b/poppler/Annot.cc
index 00291f8c..d35cb9b2 100644
--- a/poppler/Annot.cc
+++ b/poppler/Annot.cc
@@ -28,6 +28,10 @@
// Copyright (C) 2012, 2013 Thomas Freitag <Thomas.Freitag@alfa.de>
// Copyright (C) 2012 Tobias Koenig <tokoe@kdab.com>
// Copyright (C) 2013 Peter Breitenlohner <peb@mppmu.mpg.de>
+// Copyright (C) 2013 Adrian Johnson <ajohnson@redneon.com>
+// Copyright (C) 2014 Marek Kasik <mkasik@redhat.com>
+// Copyright (C) 2014 Jiri Slaby <jirislaby@gmail.com>
+// Copyright (C) 2014 Anuj Khare <khareanuj18@gmail.com>
//
// To see a description of the changes please see the Changelog file that
// came with your tarball or type make ChangeLog if you are building from git
@@ -234,6 +238,28 @@ static LinkAction* getAdditionalAction(Annot::AdditionalActionsType type, Object
return linkAction;
}
+static LinkAction* getFormAdditionalAction(Annot::FormAdditionalActionsType type, Object *additionalActions, PDFDoc *doc) {
+ Object additionalActionsObject;
+ LinkAction *linkAction = NULL;
+
+ if (additionalActions->fetch(doc->getXRef(), &additionalActionsObject)->isDict()) {
+ const char *key = (type == Annot::actionFieldModified ? "K" :
+ type == Annot::actionFormatField ? "F" :
+ type == Annot::actionValidateField ? "V" :
+ type == Annot::actionCalculateField ? "C" : NULL);
+
+ Object actionObject;
+
+ if (additionalActionsObject.dictLookup(key, &actionObject)->isDict())
+ linkAction = LinkAction::parseAction(&actionObject, doc->getCatalog()->getBaseURI());
+ actionObject.free();
+ }
+
+ additionalActionsObject.free();
+
+ return linkAction;
+}
+
//------------------------------------------------------------------------
// AnnotBorderEffect
//------------------------------------------------------------------------
@@ -497,7 +523,6 @@ AnnotQuadrilaterals::AnnotQuadrilateral::AnnotQuadrilateral(double x1, double y1
// AnnotBorder
//------------------------------------------------------------------------
AnnotBorder::AnnotBorder() {
- type = typeUnknown;
width = 1;
dashLength = 0;
dash = NULL;
@@ -542,7 +567,6 @@ AnnotBorder::~AnnotBorder() {
//------------------------------------------------------------------------
AnnotBorderArray::AnnotBorderArray() {
- type = typeArray;
horizontalCorner = 0;
verticalCorner = 0;
}
@@ -593,10 +617,17 @@ void AnnotBorderArray::writeToObject(XRef *xref, Object *obj1) const {
Object obj2;
obj1->initArray(xref);
- obj1->arrayAdd(obj2.initReal( horizontalCorner ));
- obj1->arrayAdd(obj2.initReal( verticalCorner ));
- obj1->arrayAdd(obj2.initReal( width ));
- // TODO: Dash array
+ obj1->arrayAdd(obj2.initReal(horizontalCorner));
+ obj1->arrayAdd(obj2.initReal(verticalCorner));
+ obj1->arrayAdd(obj2.initReal(width));
+
+ if (dashLength > 0) {
+ Object obj3;
+
+ obj1->arrayAdd(obj3.initArray(xref));
+ for (int i = 0; i < dashLength; i++)
+ obj3.arrayAdd(obj2.initReal(dash[i]));
+ }
}
//------------------------------------------------------------------------
@@ -604,7 +635,6 @@ void AnnotBorderArray::writeToObject(XRef *xref, Object *obj1) const {
//------------------------------------------------------------------------
AnnotBorderBS::AnnotBorderBS() {
- type = typeBS;
}
AnnotBorderBS::AnnotBorderBS(Dict *dict) {
@@ -655,6 +685,38 @@ AnnotBorderBS::AnnotBorderBS(Dict *dict) {
}
}
+const char *AnnotBorderBS::getStyleName() const {
+ switch (style) {
+ case borderSolid:
+ return "S";
+ case borderDashed:
+ return "D";
+ case borderBeveled:
+ return "B";
+ case borderInset:
+ return "I";
+ case borderUnderlined:
+ return "U";
+ }
+
+ return "S";
+}
+
+void AnnotBorderBS::writeToObject(XRef *xref, Object *obj1) const {
+ Object obj2;
+
+ obj1->initDict(xref);
+ obj1->dictSet("W", obj2.initReal(width));
+ obj1->dictSet("S", obj2.initName(getStyleName()));
+ if (style == borderDashed && dashLength > 0) {
+ Object obj3;
+
+ obj1->dictSet("D", obj3.initArray(xref));
+ for (int i = 0; i < dashLength; i++)
+ obj3.arrayAdd(obj2.initReal(dash[i]));
+ }
+}
+
//------------------------------------------------------------------------
// AnnotColor
//------------------------------------------------------------------------
@@ -1205,7 +1267,7 @@ void Annot::initialize(PDFDoc *docA, Dict *dict) {
if (dict->lookup("Contents", &obj1)->isString()) {
contents = obj1.getString()->copy();
} else {
- contents = NULL;
+ contents = new GooString();
}
obj1.free();
@@ -1272,18 +1334,14 @@ void Annot::initialize(PDFDoc *docA, Dict *dict) {
}
//----- parse the border style
- if (dict->lookup("BS", &obj1)->isDict()) {
- border = new AnnotBorderBS(obj1.getDict());
- } else {
- obj1.free();
-
- if (dict->lookup("Border", &obj1)->isArray())
- border = new AnnotBorderArray(obj1.getArray());
- else
- // Adobe draws no border at all if the last element is of
- // the wrong type.
- border = NULL;
- }
+ // According to the spec if neither the Border nor the BS entry is present,
+ // the border shall be drawn as a solid line with a width of 1 point. But acroread
+ // seems to ignore the Border entry for annots that can't have a BS entry. So, we only
+ // follow this rule for annots tha can have a BS entry.
+ if (dict->lookup("Border", &obj1)->isArray())
+ border = new AnnotBorderArray(obj1.getArray());
+ else
+ border = NULL;
obj1.free();
if (dict->lookup("C", &obj1)->isArray()) {
@@ -1425,14 +1483,14 @@ void Annot::setFlags(Guint new_flags) {
update ("F", &obj1);
}
-void Annot::setBorder(AnnotBorderArray *new_border) {
+void Annot::setBorder(AnnotBorder *new_border) {
annotLocker();
delete border;
if (new_border) {
Object obj1;
new_border->writeToObject(xref, &obj1);
- update ("Border", &obj1);
+ update(new_border->getType() == AnnotBorder::typeArray ? "Border" : "BS", &obj1);
border = new_border;
} else {
border = NULL;
@@ -1585,9 +1643,7 @@ Annot::~Annot() {
annotObj.free();
delete rect;
-
- if (contents)
- delete contents;
+ delete contents;
if (name)
delete name;
@@ -1640,6 +1696,26 @@ void Annot::setColor(AnnotColor *color, GBool fill) {
}
}
+void Annot::setLineStyleForBorder(AnnotBorder *border) {
+ int i, dashLength;
+ double *dash;
+
+ switch (border->getStyle()) {
+ case AnnotBorder::borderDashed:
+ appearBuf->append("[");
+ dashLength = border->getDashLength();
+ dash = border->getDash();
+ for (i = 0; i < dashLength; ++i)
+ appearBuf->appendf(" {0:.2f}", dash[i]);
+ appearBuf->append(" ] 0 d\n");
+ break;
+ default:
+ appearBuf->append("[] 0 d\n");
+ break;
+ }
+ appearBuf->appendf("{0:.2f} w\n", border->getWidth());
+}
+
// Draw an (approximate) circle of radius <r> centered at (<cx>, <cy>).
// If <fill> is true, the circle is filled; otherwise it is stroked.
void Annot::drawCircle(double cx, double cy, double r, GBool fill) {
@@ -2580,6 +2656,14 @@ void AnnotLink::initialize(PDFDoc *docA, Dict *dict) {
quadrilaterals = NULL;
}
obj1.free();
+
+ if (dict->lookup("BS", &obj1)->isDict()) {
+ delete border;
+ border = new AnnotBorderBS(obj1.getDict());
+ } else if (!border) {
+ border = new AnnotBorderBS();
+ }
+ obj1.free();
}
void AnnotLink::draw(Gfx *gfx, GBool printing) {
@@ -2707,6 +2791,14 @@ void AnnotFreeText::initialize(PDFDoc *docA, Dict *dict) {
}
obj1.free();
+ if (dict->lookup("BS", &obj1)->isDict()) {
+ delete border;
+ border = new AnnotBorderBS(obj1.getDict());
+ } else if (!border) {
+ border = new AnnotBorderBS();
+ }
+ obj1.free();
+
if (dict->lookup("BE", &obj1)->isDict()) {
borderEffect = new AnnotBorderEffect(obj1.getDict());
} else {
@@ -2905,29 +2997,10 @@ void AnnotFreeText::generateFreeTextAppearance()
appearBuf = new GooString ();
appearBuf->append ("q\n");
-
- if (border) {
- int i, dashLength;
- double *dash;
- borderWidth = border->getWidth();
- switch (border->getStyle()) {
- case AnnotBorder::borderDashed:
- appearBuf->append("[");
- dashLength = border->getDashLength();
- dash = border->getDash();
- for (i = 0; i < dashLength; ++i)
- appearBuf->appendf(" {0:.2f}", dash[i]);
- appearBuf->append(" ] 0 d\n");
- break;
- default:
- appearBuf->append("[] 0 d\n");
- break;
- }
- appearBuf->appendf("{0:.2f} w\n", borderWidth);
- } else {
- borderWidth = 0; // No border
- }
+ borderWidth = border->getWidth();
+ if (borderWidth > 0)
+ setLineStyleForBorder(border);
// Box size
const double width = rect->x2 - rect->x1;
@@ -2942,6 +3015,8 @@ void AnnotFreeText::generateFreeTextAppearance()
fontsize = 10;
if (fontcolor == NULL)
fontcolor = new AnnotColor(0, 0, 0); // Black
+ if (!contents)
+ contents = new GooString ();
// Draw box
GBool doFill = (color && color->getSpace() != AnnotColor::colorTransparent);
@@ -3213,6 +3288,14 @@ void AnnotLine::initialize(PDFDoc *docA, Dict *dict) {
captionTextHorizontal = captionTextVertical = 0;
}
obj1.free();
+
+ if (dict->lookup("BS", &obj1)->isDict()) {
+ delete border;
+ border = new AnnotBorderBS(obj1.getDict());
+ } else if (!border) {
+ border = new AnnotBorderBS();
+ }
+ obj1.free();
}
void AnnotLine::setContents(GooString *new_content) {
@@ -3320,29 +3403,9 @@ void AnnotLine::generateLineAppearance()
setColor(color, gFalse);
}
- if (border) {
- int i, dashLength;
- double *dash;
-
- switch (border->getStyle()) {
- case AnnotBorder::borderDashed:
- appearBuf->append("[");
- dashLength = border->getDashLength();
- dash = border->getDash();
- for (i = 0; i < dashLength; ++i)
- appearBuf->appendf(" {0:.2f}", dash[i]);
- appearBuf->append(" ] 0 d\n");
- break;
- default:
- appearBuf->append("[] 0 d\n");
- break;
- }
- borderWidth = border->getWidth();
- appearBuf->appendf("{0:.2f} w\n", borderWidth);
- appearBBox->setBorderWidth(borderWidth);
- } else {
- borderWidth = 0;
- }
+ setLineStyleForBorder(border);
+ borderWidth = border->getWidth();
+ appearBBox->setBorderWidth(std::max(1., borderWidth));
const double x1 = coord1->getX();
const double y1 = coord1->getY();
@@ -3646,6 +3709,7 @@ void AnnotTextMarkup::setQuadrilaterals(AnnotQuadrilaterals *quadPoints) {
obj1.arrayAdd (obj2.initReal (quadPoints->getY4(i)));
}
+ delete quadrilaterals;
quadrilaterals = new AnnotQuadrilaterals(obj1.getArray(), rect);
annotObj.dictSet ("QuadPoints", &obj1);
@@ -3903,6 +3967,12 @@ void AnnotWidget::initialize(PDFDoc *docA, Dict *dict) {
}
obj1.free();
+ if (dict->lookup("BS", &obj1)->isDict()) {
+ delete border;
+ border = new AnnotBorderBS(obj1.getDict());
+ }
+ obj1.free();
+
updatedAppearanceStream.num = updatedAppearanceStream.gen = -1;
}
@@ -3911,6 +3981,11 @@ LinkAction* AnnotWidget::getAdditionalAction(AdditionalActionsType type)
return ::getAdditionalAction(type, &additionalActions, doc);
}
+LinkAction* AnnotWidget::getFormAdditionalAction(FormAdditionalActionsType type)
+{
+ return ::getFormAdditionalAction(type, &additionalActions, doc);
+}
+
// Grand unified handler for preparing text strings to be drawn into form
// fields. Takes as input a text string (in PDFDocEncoding or UTF-16).
// Converts some or all of this string to the appropriate encoding for the
@@ -4014,7 +4089,7 @@ void Annot::layoutText(GooString *text, GooString *outBuf, int *i,
// This assumes an identity CMap.
outBuf->append((uChar >> 8) & 0xff);
outBuf->append(uChar & 0xff);
- } else if (ccToUnicode->mapToCharCode(&uChar, &c, 1)) {
+ } else if (ccToUnicode->mapToCharCode(&uChar, &c, 2)) {
ccToUnicode->decRefCnt();
if (font->isCIDFont()) {
// TODO: This assumes an identity CMap. It should be extended to
@@ -4854,7 +4929,8 @@ void AnnotWidget::drawFormFieldButton(GfxResources *resources, GooString *da) {
switch (static_cast<FormFieldButton *>(field)->getButtonType()) {
case formButtonRadio: {
//~ Acrobat doesn't draw a caption if there is no AP dict (?)
- if (appearState && appearState->cmp("Off") != 0) {
+ if (appearState && appearState->cmp("Off") != 0 &&
+ static_cast<FormFieldButton *>(field)->getState(appearState->getCString())) {
if (caption) {
drawText(caption, da, resources, gFalse, 0, fieldQuadCenter,
gFalse, gTrue);
@@ -5418,6 +5494,14 @@ void AnnotGeometry::initialize(PDFDoc *docA, Dict* dict) {
}
obj1.free();
+ if (dict->lookup("BS", &obj1)->isDict()) {
+ delete border;
+ border = new AnnotBorderBS(obj1.getDict());
+ } else if (!border) {
+ border = new AnnotBorderBS();
+ }
+ obj1.free();
+
if (dict->lookup("BE", &obj1)->isDict()) {
borderEffect = new AnnotBorderEffect(obj1.getDict());
} else {
@@ -5482,88 +5566,70 @@ void AnnotGeometry::draw(Gfx *gfx, GBool printing) {
if (color)
setColor(color, gFalse);
- if (border) {
- int i, dashLength;
- double *dash;
- double borderWidth = border->getWidth();
-
- switch (border->getStyle()) {
- case AnnotBorder::borderDashed:
- appearBuf->append("[");
- dashLength = border->getDashLength();
- dash = border->getDash();
- for (i = 0; i < dashLength; ++i)
- appearBuf->appendf(" {0:.2f}", dash[i]);
- appearBuf->append(" ] 0 d\n");
- break;
- default:
- appearBuf->append("[] 0 d\n");
- break;
- }
- appearBuf->appendf("{0:.2f} w\n", borderWidth);
+ double borderWidth = border->getWidth();
+ setLineStyleForBorder(border);
- if (interiorColor)
- setColor(interiorColor, gTrue);
+ if (interiorColor)
+ setColor(interiorColor, gTrue);
- if (type == typeSquare) {
- appearBuf->appendf ("{0:.2f} {1:.2f} {2:.2f} {3:.2f} re\n",
- borderWidth / 2.0, borderWidth / 2.0,
- (rect->x2 - rect->x1) - borderWidth,
- (rect->y2 - rect->y1) - borderWidth);
- } else {
- double width, height;
- double b;
- double x1, y1, x2, y2, x3, y3;
-
- width = rect->x2 - rect->x1;
- height = rect->y2 - rect->y1;
- b = borderWidth / 2.0;
-
- x1 = b;
- y1 = height / 2.0;
- appearBuf->appendf ("{0:.2f} {1:.2f} m\n", x1, y1);
-
- y1 += height / 4.0;
- x2 = width / 4.0;
- y2 = height - b;
- x3 = width / 2.0;
- y3 = y2;
- appearBuf->appendf ("{0:.2f} {1:.2f} {2:.2f} {3:.2f} {4:.2f} {5:.2f} c\n",
- x1, y1, x2, y2, x3, y3);
- x2 = width - b;
- y2 = y1;
- x1 = x3 + (width / 4.0);
- y1 = y3;
- x3 = x2;
- y3 = height / 2.0;
- appearBuf->appendf ("{0:.2f} {1:.2f} {2:.2f} {3:.2f} {4:.2f} {5:.2f} c\n",
- x1, y1, x2, y2, x3, y3);
-
- x2 = x1;
- y2 = b;
- x1 = x3;
- y1 = height / 4.0;
- x3 = width / 2.0;
- y3 = b;
- appearBuf->appendf ("{0:.2f} {1:.2f} {2:.2f} {3:.2f} {4:.2f} {5:.2f} c\n",
- x1, y1, x2, y2, x3, y3);
-
- x2 = b;
- y2 = y1;
- x1 = width / 4.0;
- y1 = b;
- x3 = b;
- y3 = height / 2.0;
- appearBuf->appendf ("{0:.2f} {1:.2f} {2:.2f} {3:.2f} {4:.2f} {5:.2f} c\n",
- x1, y1, x2, y2, x3, y3);
+ if (type == typeSquare) {
+ appearBuf->appendf ("{0:.2f} {1:.2f} {2:.2f} {3:.2f} re\n",
+ borderWidth / 2.0, borderWidth / 2.0,
+ (rect->x2 - rect->x1) - borderWidth,
+ (rect->y2 - rect->y1) - borderWidth);
+ } else {
+ double width, height;
+ double b;
+ double x1, y1, x2, y2, x3, y3;
+
+ width = rect->x2 - rect->x1;
+ height = rect->y2 - rect->y1;
+ b = borderWidth / 2.0;
+
+ x1 = b;
+ y1 = height / 2.0;
+ appearBuf->appendf ("{0:.2f} {1:.2f} m\n", x1, y1);
+
+ y1 += height / 4.0;
+ x2 = width / 4.0;
+ y2 = height - b;
+ x3 = width / 2.0;
+ y3 = y2;
+ appearBuf->appendf ("{0:.2f} {1:.2f} {2:.2f} {3:.2f} {4:.2f} {5:.2f} c\n",
+ x1, y1, x2, y2, x3, y3);
+ x2 = width - b;
+ y2 = y1;
+ x1 = x3 + (width / 4.0);
+ y1 = y3;
+ x3 = x2;
+ y3 = height / 2.0;
+ appearBuf->appendf ("{0:.2f} {1:.2f} {2:.2f} {3:.2f} {4:.2f} {5:.2f} c\n",
+ x1, y1, x2, y2, x3, y3);
+
+ x2 = x1;
+ y2 = b;
+ x1 = x3;
+ y1 = height / 4.0;
+ x3 = width / 2.0;
+ y3 = b;
+ appearBuf->appendf ("{0:.2f} {1:.2f} {2:.2f} {3:.2f} {4:.2f} {5:.2f} c\n",
+ x1, y1, x2, y2, x3, y3);
+
+ x2 = b;
+ y2 = y1;
+ x1 = width / 4.0;
+ y1 = b;
+ x3 = b;
+ y3 = height / 2.0;
+ appearBuf->appendf ("{0:.2f} {1:.2f} {2:.2f} {3:.2f} {4:.2f} {5:.2f} c\n",
+ x1, y1, x2, y2, x3, y3);
+ }
- }
+ if (interiorColor && interiorColor->getSpace() != AnnotColor::colorTransparent)
+ appearBuf->append ("b\n");
+ else
+ appearBuf->append ("S\n");
- if (interiorColor && interiorColor->getSpace() != AnnotColor::colorTransparent)
- appearBuf->append ("b\n");
- else
- appearBuf->append ("S\n");
- }
appearBuf->append ("Q\n");
double bbox[4];
@@ -5687,6 +5753,14 @@ void AnnotPolygon::initialize(PDFDoc *docA, Dict* dict) {
}
obj1.free();
+ if (dict->lookup("BS", &obj1)->isDict()) {
+ delete border;
+ border = new AnnotBorderBS(obj1.getDict());
+ } else if (!border) {
+ border = new AnnotBorderBS();
+ }
+ obj1.free();
+
if (dict->lookup("BE", &obj1)->isDict()) {
borderEffect = new AnnotBorderEffect(obj1.getDict());
} else {
@@ -5806,26 +5880,8 @@ void AnnotPolygon::draw(Gfx *gfx, GBool printing) {
setColor(color, gFalse);
}
- if (border) {
- int i, dashLength;
- double *dash;
-
- switch (border->getStyle()) {
- case AnnotBorder::borderDashed:
- appearBuf->append("[");
- dashLength = border->getDashLength();
- dash = border->getDash();
- for (i = 0; i < dashLength; ++i)
- appearBuf->appendf(" {0:.2f}", dash[i]);
- appearBuf->append(" ] 0 d\n");
- break;
- default:
- appearBuf->append("[] 0 d\n");
- break;
- }
- appearBuf->appendf("{0:.2f} w\n", border->getWidth());
- appearBBox->setBorderWidth(border->getWidth());
- }
+ setLineStyleForBorder(border);
+ appearBBox->setBorderWidth(std::max(1., border->getWidth()));
if (interiorColor) {
setColor(interiorColor, gTrue);
@@ -5982,6 +6038,14 @@ void AnnotInk::initialize(PDFDoc *docA, Dict* dict) {
ok = gFalse;
}
obj1.free();
+
+ if (dict->lookup("BS", &obj1)->isDict()) {
+ delete border;
+ border = new AnnotBorderBS(obj1.getDict());
+ } else if (!border) {
+ border = new AnnotBorderBS();
+ }
+ obj1.free();
}
void AnnotInk::writeInkList(AnnotPath **paths, int n_paths, Array *dest_array) {
@@ -6049,10 +6113,8 @@ void AnnotInk::draw(Gfx *gfx, GBool printing) {
setColor(color, gFalse);
}
- if (border) {
- appearBuf->appendf("{0:.2f} w\n", border->getWidth());
- appearBBox->setBorderWidth(border->getWidth());
- }
+ setLineStyleForBorder(border);
+ appearBBox->setBorderWidth(std::max(1., border->getWidth()));
for (int i = 0; i < inkListLength; ++i) {
const AnnotPath * path = inkList[i];
@@ -6313,7 +6375,7 @@ void AnnotFileAttachment::draw(Gfx *gfx, GBool printing) {
// draw the appearance stream
appearance.fetch(gfx->getXRef(), &obj);
- gfx->drawAnnot(&obj, border, color,
+ gfx->drawAnnot(&obj, (AnnotBorder *)NULL, color,
rect->x1, rect->y1, rect->x2, rect->y2, getRotation());
obj.free();
}
@@ -6475,7 +6537,7 @@ void AnnotSound::draw(Gfx *gfx, GBool printing) {
// draw the appearance stream
appearance.fetch(gfx->getXRef(), &obj);
- gfx->drawAnnot(&obj, border, color,
+ gfx->drawAnnot(&obj, (AnnotBorder *)NULL, color,
rect->x1, rect->y1, rect->x2, rect->y2, getRotation());
obj.free();
}
diff --git a/poppler/Annot.h b/poppler/Annot.h
index 2865d23f..8fde6a67 100644
--- a/poppler/Annot.h
+++ b/poppler/Annot.h
@@ -25,6 +25,7 @@
// Copyright (C) 2012, 2013 Fabio D'Urso <fabiodurso@hotmail.it>
// Copyright (C) 2012 Tobias Koenig <tokoe@kdab.com>
// Copyright (C) 2013 Thomas Freitag <Thomas.Freitag@alfa.de>
+// Copyright (C) 2013 Adrian Johnson <ajohnson@redneon.com>
//
// To see a description of the changes please see the Changelog file that
// came with your tarball or type make ChangeLog if you are building from git
@@ -215,7 +216,6 @@ protected:
class AnnotBorder {
public:
enum AnnotBorderType {
- typeUnknown,
typeArray,
typeBS
};
@@ -228,18 +228,21 @@ public:
borderUnderlined // Underlined
};
- AnnotBorder();
virtual ~AnnotBorder();
virtual void setWidth(double new_width) { width = new_width; }
- virtual AnnotBorderType getType() const { return type; }
+ virtual AnnotBorderType getType() const = 0;
virtual double getWidth() const { return width; }
virtual int getDashLength() const { return dashLength; }
virtual double *getDash() const { return dash; }
virtual AnnotBorderStyle getStyle() const { return style; }
+ virtual void writeToObject(XRef *xref, Object *obj1) const = 0;
+
protected:
+ AnnotBorder();
+
GBool parseDashArray(Object *dashObj);
AnnotBorderType type;
@@ -259,15 +262,16 @@ public:
AnnotBorderArray();
AnnotBorderArray(Array *array);
- void writeToObject(XRef *xref, Object *dest) const;
-
void setHorizontalCorner(double hc) { horizontalCorner = hc; }
void setVerticalCorner(double vc) { verticalCorner = vc; }
double getHorizontalCorner() const { return horizontalCorner; }
double getVerticalCorner() const { return verticalCorner; }
-protected:
+private:
+ virtual AnnotBorderType getType() const { return typeArray; }
+ virtual void writeToObject(XRef *xref, Object *obj1) const;
+
double horizontalCorner; // (Default 0)
double verticalCorner; // (Default 0)
// double width; // (Default 1) (inherited from AnnotBorder)
@@ -284,6 +288,11 @@ public:
AnnotBorderBS(Dict *dict);
private:
+ virtual AnnotBorderType getType() const { return typeBS; }
+ virtual void writeToObject(XRef *xref, Object *obj1) const;
+
+ const char *getStyleName() const;
+
// double width; // W (Default 1) (inherited from AnnotBorder)
// AnnotBorderStyle style; // S (Default S) (inherited from AnnotBorder)
// double *dash; // D (Default [3]) (inherited from AnnotBorder)
@@ -536,6 +545,13 @@ public:
actionPageInvisible ///< Performed when the page containing the annotation becomes invisible
};
+ enum FormAdditionalActionsType {
+ actionFieldModified, ///< Performed when the when the user modifies the field
+ actionFormatField, ///< Performed before the field is formatted to display its value
+ actionValidateField, ///< Performed when the field value changes
+ actionCalculateField, ///< Performed when the field needs to be recalculated
+ };
+
Annot(PDFDoc *docA, PDFRectangle *rectA);
Annot(PDFDoc *docA, Dict *dict);
Annot(PDFDoc *docA, Dict *dict, Object *obj);
@@ -568,7 +584,7 @@ public:
void setModified(GooString *new_date);
void setFlags(Guint new_flags);
- void setBorder(AnnotBorderArray *new_border); // Takes ownership
+ void setBorder(AnnotBorder *new_border); // Takes ownership
// The annotation takes the ownership of
// new_color.
@@ -612,6 +628,7 @@ protected:
virtual ~Annot();
virtual void removeReferencedObjects(); // Called by Page::removeAnnot
void setColor(AnnotColor *color, GBool fill);
+ void setLineStyleForBorder(AnnotBorder *border);
void drawCircle(double cx, double cy, double r, GBool fill);
void drawCircleTopLeft(double cx, double cy, double r);
void drawCircleBottomRight(double cx, double cy, double r);
@@ -1305,6 +1322,7 @@ public:
AnnotAppearanceCharacs *getAppearCharacs() { return appearCharacs; }
LinkAction *getAction() { return action; }
LinkAction *getAdditionalAction(AdditionalActionsType type);
+ LinkAction *getFormAdditionalAction(FormAdditionalActionsType type);
Dict *getParent() { return parent; }
private:
diff --git a/poppler/CMap.cc b/poppler/CMap.cc
index 13f293a4..6731ab5a 100644
--- a/poppler/CMap.cc
+++ b/poppler/CMap.cc
@@ -15,6 +15,7 @@
//
// Copyright (C) 2008 Koji Otani <sho@bbr.jp>
// Copyright (C) 2008, 2009 Albert Astals Cid <aacid@kde.org>
+// Copyright (C) 2013 Fabio D'Urso <fabiodurso@hotmail.it>
//
// To see a description of the changes please see the Changelog file that
// came with your tarball or type make ChangeLog if you are building from git
@@ -420,7 +421,7 @@ void CMap::addCIDs(Guint start, Guint end, Guint nBytes, CID firstCID) {
for (byte = (int)(start & 0xff); byte <= (int)(end & 0xff); ++byte) {
if (vec[byte].isVector) {
error(errSyntaxError, -1,
- "Invalid CID ({0:x} - {1:x} [{2:d} bytes]) in CMap",
+ "Invalid CID ({0:ux} - {1:ux} [{2:ud} bytes]) in CMap",
start, end, nBytes);
} else {
vec[byte].cid = cid;
diff --git a/poppler/CairoOutputDev.cc b/poppler/CairoOutputDev.cc
index 26760c86..1c67b5c1 100644
--- a/poppler/CairoOutputDev.cc
+++ b/poppler/CairoOutputDev.cc
@@ -18,9 +18,9 @@
// Copyright (C) 2005, 2006 Kristian Høgsberg <krh@redhat.com>
// Copyright (C) 2005, 2009, 2012 Albert Astals Cid <aacid@kde.org>
// Copyright (C) 2005 Nickolay V. Shmyrev <nshmyrev@yandex.ru>
-// Copyright (C) 2006-2011, 2013 Carlos Garcia Campos <carlosgc@gnome.org>
+// Copyright (C) 2006-2011, 2013, 2014 Carlos Garcia Campos <carlosgc@gnome.org>
// Copyright (C) 2008 Carl Worth <cworth@cworth.org>
-// Copyright (C) 2008-2013 Adrian Johnson <ajohnson@redneon.com>
+// Copyright (C) 2008-2014 Adrian Johnson <ajohnson@redneon.com>
// Copyright (C) 2008 Michael Vrable <mvrable@cs.ucsd.edu>
// Copyright (C) 2008, 2009 Chris Wilson <chris@chris-wilson.co.uk>
// Copyright (C) 2008, 2012 Hib Eris <hib@hiberis.nl>
@@ -1880,46 +1880,44 @@ void CairoOutputDev::setSoftMaskFromImageMask(GfxState *state, Object *ref, Stre
delete imgStr;
invert_bit = invert ? 1 : 0;
- if (pix ^ invert_bit)
- return;
-
- cairo_save (cairo);
- cairo_rectangle (cairo, 0., 0., width, height);
- cairo_fill (cairo);
- cairo_restore (cairo);
- if (cairo_shape) {
- cairo_save (cairo_shape);
- cairo_rectangle (cairo_shape, 0., 0., width, height);
- cairo_fill (cairo_shape);
- cairo_restore (cairo_shape);
+ if (!(pix ^ invert_bit)) {
+ cairo_save (cairo);
+ cairo_rectangle (cairo, 0., 0., width, height);
+ cairo_fill (cairo);
+ cairo_restore (cairo);
+ if (cairo_shape) {
+ cairo_save (cairo_shape);
+ cairo_rectangle (cairo_shape, 0., 0., width, height);
+ cairo_fill (cairo_shape);
+ cairo_restore (cairo_shape);
+ }
}
- return;
- }
+ } else {
+ cairo_push_group_with_content (cairo, CAIRO_CONTENT_ALPHA);
- cairo_push_group_with_content (cairo, CAIRO_CONTENT_ALPHA);
+ /* shape is 1.0 for painted areas, 0.0 for unpainted ones */
- /* shape is 1.0 for painted areas, 0.0 for unpainted ones */
+ cairo_matrix_t matrix;
+ cairo_get_matrix (cairo, &matrix);
+ //XXX: it is possible that we should only do sub pixel positioning if
+ // we are rendering fonts */
+ if (!printing && prescaleImages && matrix.xy == 0.0 && matrix.yx == 0.0) {
+ drawImageMaskPrescaled(state, ref, str, width, height, invert, gFalse, inlineImg);
+ } else {
+ drawImageMaskRegular(state, ref, str, width, height, invert, gFalse, inlineImg);
+ }
- cairo_matrix_t matrix;
- cairo_get_matrix (cairo, &matrix);
- //XXX: it is possible that we should only do sub pixel positioning if
- // we are rendering fonts */
- if (!printing && prescaleImages && matrix.xy == 0.0 && matrix.yx == 0.0) {
- drawImageMaskPrescaled(state, ref, str, width, height, invert, gFalse, inlineImg);
- } else {
- drawImageMaskRegular(state, ref, str, width, height, invert, gFalse, inlineImg);
- }
+ if (state->getFillColorSpace()->getMode() == csPattern) {
+ cairo_set_source_rgb (cairo, 1, 1, 1);
+ cairo_set_matrix (cairo, &mask_matrix);
+ cairo_mask (cairo, mask);
+ }
- if (state->getFillColorSpace()->getMode() == csPattern) {
- cairo_set_source_rgb (cairo, 1, 1, 1);
- cairo_set_matrix (cairo, &mask_matrix);
- cairo_mask (cairo, mask);
+ if (mask)
+ cairo_pattern_destroy (mask);
+ mask = cairo_pop_group (cairo);
}
- if (mask)
- cairo_pattern_destroy (mask);
- mask = cairo_pop_group (cairo);
-
saveState(state);
double bbox[4] = {0,0,1,1}; // dummy
beginTransparencyGroup(state, bbox, state->getFillColorSpace(),
@@ -2731,6 +2729,7 @@ private:
GfxImageColorMap *colorMap;
int *maskColors;
int current_row;
+ GBool imageError;
public:
cairo_surface_t *getSourceImage(Stream *str,
@@ -2747,6 +2746,7 @@ public:
maskColors = maskColorsA;
width = widthA;
current_row = -1;
+ imageError = gFalse;
/* TODO: Do we want to cache these? */
imgStr = new ImageStream(str, width,
@@ -2837,7 +2837,13 @@ public:
current_row++;
}
- if (lookup) {
+ if (unlikely(pix == NULL)) {
+ memset(row_data, 0, width*4);
+ if (!imageError) {
+ error(errInternal, -1, "Bad image stream");
+ imageError = gTrue;
+ }
+ } else if (lookup) {
Guchar *p = pix;
GfxRGB rgb;
@@ -2938,7 +2944,8 @@ void CairoOutputDev::drawImage(GfxState *state, Object *ref, Stream *str,
if (maskPattern) {
if (!printing)
cairo_clip (cairo);
- cairo_set_matrix (cairo, &mask_matrix);
+ if (mask)
+ cairo_set_matrix (cairo, &mask_matrix);
cairo_mask (cairo, maskPattern);
} else {
if (printing)
diff --git a/poppler/CairoOutputDev.h b/poppler/CairoOutputDev.h
index c9ae33d4..28f97fdd 100644
--- a/poppler/CairoOutputDev.h
+++ b/poppler/CairoOutputDev.h
@@ -18,7 +18,7 @@
// Copyright (C) 2005, 2006 Kristian Høgsberg <krh@redhat.com>
// Copyright (C) 2005 Nickolay V. Shmyrev <nshmyrev@yandex.ru>
// Copyright (C) 2006-2011, 2013 Carlos Garcia Campos <carlosgc@gnome.org>
-// Copyright (C) 2008, 2009, 2011-2013 Adrian Johnson <ajohnson@redneon.com>
+// Copyright (C) 2008, 2009, 2011-2014 Adrian Johnson <ajohnson@redneon.com>
// Copyright (C) 2008 Michael Vrable <mvrable@cs.ucsd.edu>
// Copyright (C) 2010-2013 Thomas Freitag <Thomas.Freitag@alfa.de>
//
@@ -121,6 +121,10 @@ public:
// text in Type 3 fonts will be drawn with drawChar/drawString.
virtual GBool interpretType3Chars() { return gFalse; }
+ // Does this device need to clip pages to the crop box even when the
+ // box is the crop box?
+ virtual GBool needClipToCropBox() { return gTrue; }
+
//----- initialization and control
// Start a page.
diff --git a/poppler/Catalog.cc b/poppler/Catalog.cc
index 6bd511a1..039f63e1 100644
--- a/poppler/Catalog.cc
+++ b/poppler/Catalog.cc
@@ -27,6 +27,10 @@
// Copyright (C) 2012 Fabio D'Urso <fabiodurso@hotmail.it>
// Copyright (C) 2013 Thomas Freitag <Thomas.Freitag@alfa.de>
// Copyright (C) 2013 Julien Nabet <serval2412@yahoo.fr>
+// Copyright (C) 2013 Adrian Perez de Castro <aperez@igalia.com>
+// Copyright (C) 2013 Adrian Johnson <ajohnson@redneon.com>
+// Copyright (C) 2013 José Aliste <jaliste@src.gnome.org>
+// Copyright (C) 2014 Ed Porras <ed@moto-research.com>
//
// To see a description of the changes please see the Changelog file that
// came with your tarball or type make ChangeLog if you are building from git
@@ -56,6 +60,7 @@
#include "OptionalContent.h"
#include "ViewerPreferences.h"
#include "FileSpec.h"
+#include "StructTreeRoot.h"
#if MULTITHREADED
# define catalogLocker() MutexLocker locker(&mutex)
@@ -91,12 +96,14 @@ Catalog::Catalog(PDFDoc *docA) {
embeddedFileNameTree = NULL;
jsNameTree = NULL;
viewerPrefs = NULL;
+ structTreeRoot = NULL;
pagesList = NULL;
pagesRefList = NULL;
attrsList = NULL;
kidsIdxList = NULL;
lastCachedPage = 0;
+ markInfo = markInfoNull;
xref->getCatalog(&catDict);
if (!catDict.isDict()) {
@@ -125,6 +132,9 @@ Catalog::Catalog(PDFDoc *docA) {
}
optContentProps.free();
+ // actions
+ catDict.dictLookupNF("AA", &additionalActions);
+
// get the ViewerPreferences dictionary
catDict.dictLookup("ViewerPreferences", &viewerPreferences);
catDict.free();
@@ -175,11 +185,12 @@ Catalog::~Catalog() {
delete form;
delete optContent;
delete viewerPrefs;
+ delete structTreeRoot;
metadata.free();
- structTreeRoot.free();
outline.free();
acroForm.free();
viewerPreferences.free();
+ additionalActions.free();
#if MULTITHREADED
gDestroyMutex(&mutex);
#endif
@@ -657,9 +668,20 @@ void NameTree::addEntry(Entry *entry)
++length;
}
+int NameTree::Entry::cmpEntry(const void *voidEntry, const void *voidOtherEntry)
+{
+ Entry *entry = *(NameTree::Entry **) voidEntry;
+ Entry *otherEntry = *(NameTree::Entry **) voidOtherEntry;
+
+ return entry->name.cmp(&otherEntry->name);
+}
+
void NameTree::init(XRef *xrefA, Object *tree) {
xref = xrefA;
parse(tree);
+ if (entries && length > 0) {
+ qsort(entries, length, sizeof(Entry *), Entry::cmpEntry);
+ }
}
void NameTree::parse(Object *tree) {
@@ -710,7 +732,7 @@ GBool NameTree::lookup(GooString *name, Object *obj)
(*entry)->value.fetch(xref, obj);
return gTrue;
} else {
- printf("failed to look up %s\n", name->getCString());
+ error(errSyntaxError, -1, "failed to look up ({0:s})", name->getCString());
obj->initNull();
return gFalse;
}
@@ -837,24 +859,72 @@ PageLabelInfo *Catalog::getPageLabelInfo()
return pageLabelInfo;
}
-Object *Catalog::getStructTreeRoot()
+StructTreeRoot *Catalog::getStructTreeRoot()
{
catalogLocker();
- if (structTreeRoot.isNone())
- {
- Object catDict;
+ if (!structTreeRoot) {
+ Object catalog;
+ Object root;
+
+ xref->getCatalog(&catalog);
+ if (!catalog.isDict()) {
+ error(errSyntaxError, -1, "Catalog object is wrong type ({0:s})", catalog.getTypeName());
+ catalog.free();
+ return NULL;
+ }
- xref->getCatalog(&catDict);
- if (catDict.isDict()) {
- catDict.dictLookup("StructTreeRoot", &structTreeRoot);
- } else {
- error(errSyntaxError, -1, "Catalog object is wrong type ({0:s})", catDict.getTypeName());
- structTreeRoot.initNull();
- }
- catDict.free();
+ if (catalog.dictLookup("StructTreeRoot", &root)->isDict("StructTreeRoot")) {
+ structTreeRoot = new StructTreeRoot(doc, root.getDict());
+ }
+
+ root.free();
+ catalog.free();
}
+ return structTreeRoot;
+}
- return &structTreeRoot;
+Guint Catalog::getMarkInfo()
+{
+ if (markInfo == markInfoNull) {
+ markInfo = 0;
+
+ Object catDict;
+ catalogLocker();
+ xref->getCatalog(&catDict);
+
+ if (catDict.isDict()) {
+ Object markInfoDict;
+ catDict.dictLookup("MarkInfo", &markInfoDict);
+ if (markInfoDict.isDict()) {
+ Object value;
+
+ if (markInfoDict.dictLookup("Marked", &value)->isBool() && value.getBool())
+ markInfo |= markInfoMarked;
+ else if (!value.isNull())
+ error(errSyntaxError, -1, "Marked object is wrong type ({0:s})", value.getTypeName());
+ value.free();
+
+ if (markInfoDict.dictLookup("Suspects", &value)->isBool() && value.getBool())
+ markInfo |= markInfoSuspects;
+ else if (!value.isNull())
+ error(errSyntaxError, -1, "Suspects object is wrong type ({0:s})", value.getTypeName());
+ value.free();
+
+ if (markInfoDict.dictLookup("UserProperties", &value)->isBool() && value.getBool())
+ markInfo |= markInfoUserProperties;
+ else if (!value.isNull())
+ error(errSyntaxError, -1, "UserProperties object is wrong type ({0:s})", value.getTypeName());
+ value.free();
+ } else if (!markInfoDict.isNull()) {
+ error(errSyntaxError, -1, "MarkInfo object is wrong type ({0:s})", markInfoDict.getTypeName());
+ }
+ markInfoDict.free();
+ } else {
+ error(errSyntaxError, -1, "Catalog object is wrong type ({0:s})", catDict.getTypeName());
+ }
+ catDict.free();
+ }
+ return markInfo;
}
Object *Catalog::getOutline()
@@ -1017,3 +1087,25 @@ NameTree *Catalog::getJSNameTree()
return jsNameTree;
}
+LinkAction* Catalog::getAdditionalAction(DocumentAdditionalActionsType type) {
+ Object additionalActionsObject;
+ LinkAction *linkAction = NULL;
+
+ if (additionalActions.fetch(doc->getXRef(), &additionalActionsObject)->isDict()) {
+ const char *key = (type == actionCloseDocument ? "WC" :
+ type == actionSaveDocumentStart ? "WS" :
+ type == actionSaveDocumentFinish ? "DS" :
+ type == actionPrintDocumentStart ? "WP" :
+ type == actionPrintDocumentFinish ? "DP" : NULL);
+
+ Object actionObject;
+
+ if (additionalActionsObject.dictLookup(key, &actionObject)->isDict())
+ linkAction = LinkAction::parseAction(&actionObject, doc->getCatalog()->getBaseURI());
+ actionObject.free();
+ }
+
+ additionalActionsObject.free();
+
+ return linkAction;
+}
diff --git a/poppler/Catalog.h b/poppler/Catalog.h
index 24a3dcfb..bc9ce20b 100644
--- a/poppler/Catalog.h
+++ b/poppler/Catalog.h
@@ -22,6 +22,9 @@
// Copyright (C) 2010 Hib Eris <hib@hiberis.nl>
// Copyright (C) 2012 Fabio D'Urso <fabiodurso@hotmail.it>
// Copyright (C) 2013 Thomas Freitag <Thomas.Freitag@alfa.de>
+// Copyright (C) 2013 Adrian Perez de Castro <aperez@igalia.com>
+// Copyright (C) 2013 Adrian Johnson <ajohnson@redneon.com>
+// Copyright (C) 2013 José Aliste <jaliste@src.gnome.org>
//
// To see a description of the changes please see the Changelog file that
// came with your tarball or type make ChangeLog if you are building from git
@@ -48,11 +51,13 @@ class Page;
class PageAttrs;
struct Ref;
class LinkDest;
+class LinkAction;
class PageLabelInfo;
class Form;
class OCGs;
class ViewerPreferences;
class FileSpec;
+class StructTreeRoot;
//------------------------------------------------------------------------
// NameTree
@@ -76,6 +81,7 @@ private:
GooString name;
Object value;
void free();
+ static int cmpEntry(const void *voidEntry, const void *voidOtherEntry);
static int cmp(const void *key, const void *entry);
};
@@ -123,7 +129,16 @@ public:
GooString *readMetadata();
// Return the structure tree root object.
- Object *getStructTreeRoot();
+ StructTreeRoot *getStructTreeRoot();
+
+ // Return values from the MarkInfo dictionary as flags in a bitfield.
+ enum MarkInfoFlags {
+ markInfoNull = 1 << 0,
+ markInfoMarked = 1 << 1,
+ markInfoUserProperties = 1 << 2,
+ markInfoSuspects = 1 << 3,
+ };
+ Guint getMarkInfo();
// Find a page, given its object ID. Returns page number, or 0 if
// not found.
@@ -143,6 +158,7 @@ public:
// Get the number of javascript scripts
int numJS() { return getJSNameTree()->numEntries(); }
+ GooString *getJSName(int i) { return getJSNameTree()->getName(i); }
// Get the i'th JavaScript script (at the Document level) in the document
GooString *getJS(int i);
@@ -193,6 +209,16 @@ public:
PageMode getPageMode();
PageLayout getPageLayout();
+ enum DocumentAdditionalActionsType {
+ actionCloseDocument, ///< Performed before closing the document
+ actionSaveDocumentStart, ///< Performed before saving the document
+ actionSaveDocumentFinish, ///< Performed after saving the document
+ actionPrintDocumentStart, ///< Performed before printing the document
+ actionPrintDocumentFinish, ///< Performed after printing the document
+ };
+
+ LinkAction *getAdditionalAction(DocumentAdditionalActionsType type);
+
private:
// Get page label info.
@@ -218,7 +244,8 @@ private:
NameTree *jsNameTree; // Java Script name-tree
GooString *baseURI; // base URI for URI-type links
Object metadata; // metadata stream
- Object structTreeRoot; // structure tree root dictionary
+ StructTreeRoot *structTreeRoot; // structure tree root
+ Guint markInfo; // Flags from MarkInfo dictionary
Object outline; // outline dictionary
Object acroForm; // AcroForm dictionary
Object viewerPreferences; // ViewerPreference dictionary
@@ -227,6 +254,7 @@ private:
PageLabelInfo *pageLabelInfo; // info about page labels
PageMode pageMode; // page mode
PageLayout pageLayout; // page layout
+ Object additionalActions; // page additional actions
GBool cachePageTree(int page); // Cache first <page> pages.
Object *findDestInTree(Object *tree, GooString *name, Object *obj);
diff --git a/poppler/CharCodeToUnicode.cc b/poppler/CharCodeToUnicode.cc
index 16ba6d48..59b7c93e 100644
--- a/poppler/CharCodeToUnicode.cc
+++ b/poppler/CharCodeToUnicode.cc
@@ -22,6 +22,7 @@
// Copyright (C) 2010 Jakub Wilk <ubanus@users.sf.net>
// Copyright (C) 2012 Thomas Freitag <Thomas.Freitag@alfa.de>
// Copyright (C) 2012 Adrian Johnson <ajohnson@redneon.com>
+// Copyright (C) 2014 Jiri Slaby <jirislaby@gmail.com>
//
// To see a description of the changes please see the Changelog file that
// came with your tarball or type make ChangeLog if you are building from git
@@ -633,7 +634,7 @@ int CharCodeToUnicode::mapToUnicode(CharCode c, Unicode **u) {
int CharCodeToUnicode::mapToCharCode(Unicode* u, CharCode *c, int usize) {
//look for charcode in map
- if (usize == 1) {
+ if (usize == 1 || (usize > 1 && !(*u & ~0xff))) {
if (isIdentity) {
*c = (CharCode) *u;
return 1;
diff --git a/poppler/Error.h b/poppler/Error.h
index 88fc3ea4..9e11733d 100644
--- a/poppler/Error.h
+++ b/poppler/Error.h
@@ -17,6 +17,7 @@
// Copyright (C) 2005 Albert Astals Cid <aacid@kde.org>
// Copyright (C) 2005 Kristian Høgsberg <krh@redhat.com>
// Copyright (C) 2013 Adrian Johnson <ajohnson@redneon.com>
+// Copyright (C) 2014 Fabio D'Urso <fabiodurso@hotmail.it>
//
// To see a description of the changes please see the Changelog file that
// came with your tarball or type make ChangeLog if you are building from git
@@ -33,6 +34,7 @@
#include <stdarg.h>
#include "poppler-config.h"
#include "goo/gtypes.h"
+#include "goo/GooString.h"
enum ErrorCategory {
errSyntaxWarning, // PDF syntax error which can be worked around;
@@ -53,6 +55,6 @@ extern void setErrorCallback(void (*cbk)(void *data, ErrorCategory category,
Goffset pos, char *msg),
void *data);
-extern void CDECL error(ErrorCategory category, Goffset pos, const char *msg, ...);
+extern void CDECL error(ErrorCategory category, Goffset pos, const char *msg, ...) GOOSTRING_FORMAT;
#endif
diff --git a/poppler/Form.cc b/poppler/Form.cc
index 78c25e3a..661ed897 100644
--- a/poppler/Form.cc
+++ b/poppler/Form.cc
@@ -7,7 +7,7 @@
// Copyright 2006-2008 Julien Rebetez <julienr@svn.gnome.org>
// Copyright 2007-2012 Albert Astals Cid <aacid@kde.org>
// Copyright 2007-2008, 2011 Carlos Garcia Campos <carlosgc@gnome.org>
-// Copyright 2007 Adrian Johnson <ajohnson@redneon.com>
+// Copyright 2007, 2013 Adrian Johnson <ajohnson@redneon.com>
// Copyright 2007 Iñigo Martínez <inigomartinez@gmail.com>
// Copyright 2008, 2011 Pino Toscano <pino@kde.org>
// Copyright 2008 Michael Vrable <mvrable@cs.ucsd.edu>
@@ -156,6 +156,10 @@ LinkAction *FormWidget::getActivationAction() {
return widget ? widget->getAction() : NULL;
}
+LinkAction *FormWidget::getAdditionalAction(Annot::FormAdditionalActionsType type) {
+ return widget ? widget->getFormAdditionalAction(type) : NULL;
+}
+
FormWidgetButton::FormWidgetButton (PDFDoc *docA, Object *aobj, unsigned num, Ref ref, FormField *p) :
FormWidget(docA, aobj, num, ref, p)
{
diff --git a/poppler/Form.h b/poppler/Form.h
index ef67748a..3778ff6f 100644
--- a/poppler/Form.h
+++ b/poppler/Form.h
@@ -10,6 +10,7 @@
// Copyright 2010 Mark Riedesel <mark@klowner.com>
// Copyright 2011 Pino Toscano <pino@kde.org>
// Copyright 2012 Fabio D'Urso <fabiodurso@hotmail.it>
+// Copyright 2013 Adrian Johnson <ajohnson@redneon.com>
//
//========================================================================
@@ -21,6 +22,7 @@
#endif
#include "Object.h"
+#include "Annot.h"
#include <set>
@@ -101,6 +103,7 @@ public:
bool isReadOnly() const;
LinkAction *getActivationAction();
+ LinkAction *getAdditionalAction(Annot::FormAdditionalActionsType type);
// return the unique ID corresponding to pageNum/fieldNum
static int encodeID (unsigned pageNum, unsigned fieldNum);
diff --git a/poppler/Function.cc b/poppler/Function.cc
index 2f94a54a..67283dff 100644
--- a/poppler/Function.cc
+++ b/poppler/Function.cc
@@ -13,12 +13,13 @@
// All changes made under the Poppler project to this file are licensed
// under GPL version 2 or later
//
-// Copyright (C) 2006, 2008-2010, 2013 Albert Astals Cid <aacid@kde.org>
+// Copyright (C) 2006, 2008-2010, 2013, 2014 Albert Astals Cid <aacid@kde.org>
// Copyright (C) 2006 Jeff Muizelaar <jeff@infidigm.net>
// Copyright (C) 2010 Christian Feuersänger <cfeuersaenger@googlemail.com>
// Copyright (C) 2011 Andrea Canciani <ranma42@gmail.com>
// Copyright (C) 2012 Thomas Freitag <Thomas.Freitag@alfa.de>
// Copyright (C) 2012 Adam Reichold <adamreichold@myopera.com>
+// Copyright (C) 2013 Fabio D'Urso <fabiodurso@hotmail.it>
//
// To see a description of the changes please see the Changelog file that
// came with your tarball or type make ChangeLog if you are building from git
@@ -1059,10 +1060,14 @@ public:
return;
}
--sp;
- if (sp + i + 1 >= psStackSize) {
+ if (unlikely(sp + i + 1 >= psStackSize)) {
error(errSyntaxError, -1, "Stack underflow in PostScript function");
return;
}
+ if (unlikely(sp + i + 1 < 0)) {
+ error(errSyntaxError, -1, "Stack overflow in PostScript function");
+ return;
+ }
stack[sp] = stack[sp + 1 + i];
}
void pop()
@@ -1194,7 +1199,7 @@ PostScriptFunction::PostScriptFunction(Object *funcObj, Dict *dict) {
codeString = new GooString();
str->reset();
if (!(tok = getToken(str)) || tok->cmp("{")) {
- error(errSyntaxError, -1, "Expected '{' at start of PostScript function");
+ error(errSyntaxError, -1, "Expected '{{' at start of PostScript function");
if (tok) {
delete tok;
}
diff --git a/poppler/Gfx.cc b/poppler/Gfx.cc
index f2971d66..90bf41e4 100644
--- a/poppler/Gfx.cc
+++ b/poppler/Gfx.cc
@@ -460,7 +460,7 @@ void GfxResources::lookupColorSpace(const char *name, Object *obj) {
obj->initNull();
}
-GfxPattern *GfxResources::lookupPattern(char *name, OutputDev *out) {
+GfxPattern *GfxResources::lookupPattern(char *name, OutputDev *out, GfxState *state) {
GfxResources *resPtr;
GfxPattern *pattern;
Object obj;
@@ -468,7 +468,7 @@ GfxPattern *GfxResources::lookupPattern(char *name, OutputDev *out) {
for (resPtr = this; resPtr; resPtr = resPtr->next) {
if (resPtr->patternDict.isDict()) {
if (!resPtr->patternDict.dictLookup(name, &obj)->isNull()) {
- pattern = GfxPattern::parse(&obj, out);
+ pattern = GfxPattern::parse(&obj, out, state);
obj.free();
return pattern;
}
@@ -479,7 +479,7 @@ GfxPattern *GfxResources::lookupPattern(char *name, OutputDev *out) {
return NULL;
}
-GfxShading *GfxResources::lookupShading(char *name, OutputDev *out) {
+GfxShading *GfxResources::lookupShading(char *name, OutputDev *out, GfxState *state) {
GfxResources *resPtr;
GfxShading *shading;
Object obj;
@@ -487,7 +487,7 @@ GfxShading *GfxResources::lookupShading(char *name, OutputDev *out) {
for (resPtr = this; resPtr; resPtr = resPtr->next) {
if (resPtr->shadingDict.isDict()) {
if (!resPtr->shadingDict.dictLookup(name, &obj)->isNull()) {
- shading = GfxShading::parse(&obj, out);
+ shading = GfxShading::parse(&obj, out, state);
obj.free();
return shading;
}
@@ -584,6 +584,9 @@ Gfx::Gfx(PDFDoc *docA, OutputDev *outA, int pageNum, Dict *resDict,
out->clip(state);
state->clearPath();
}
+#ifdef USE_CMS
+ initDisplayProfile();
+#endif
}
Gfx::Gfx(PDFDoc *docA, OutputDev *outA, Dict *resDict,
@@ -633,8 +636,55 @@ Gfx::Gfx(PDFDoc *docA, OutputDev *outA, Dict *resDict,
out->clip(state);
state->clearPath();
}
+#ifdef USE_CMS
+ initDisplayProfile();
+#endif
}
+#ifdef USE_CMS
+
+#ifdef USE_LCMS1
+#include <lcms.h>
+#else
+#include <lcms2.h>
+#define LCMS_FLAGS cmsFLAGS_NOOPTIMIZE
+#endif
+
+void Gfx::initDisplayProfile() {
+ Object catDict;
+ xref->getCatalog(&catDict);
+ if (catDict.isDict()) {
+ Object outputIntents;
+ catDict.dictLookup("OutputIntents", &outputIntents);
+ if (outputIntents.isArray() && outputIntents.arrayGetLength() == 1) {
+ Object firstElement;
+ outputIntents.arrayGet(0, &firstElement);
+ if (firstElement.isDict()) {
+ Object profile;
+ firstElement.dictLookup("DestOutputProfile", &profile);
+ if (profile.isStream()) {
+ Stream *iccStream = profile.getStream();
+ int length = 0;
+ Guchar *profBuf = iccStream->toUnsignedChars(&length, 65536, 65536);
+ cmsHPROFILE hp = cmsOpenProfileFromMem(profBuf,length);
+ if (hp == 0) {
+ error(errSyntaxWarning, -1, "read ICCBased color space profile error");
+ } else {
+ state->setDisplayProfile(hp);
+ }
+ gfree(profBuf);
+ }
+ profile.free();
+ }
+ firstElement.free();
+ }
+ outputIntents.free();
+ }
+ catDict.free();
+}
+
+#endif
+
Gfx::~Gfx() {
while (stateGuards.size()) {
popStateGuard();
@@ -1183,7 +1233,7 @@ void Gfx::opSetExtGState(Object args[], int numArgs) {
blendingColorSpace = NULL;
isolated = knockout = gFalse;
if (!obj4.dictLookup("CS", &obj5)->isNull()) {
- blendingColorSpace = GfxColorSpace::parse(&obj5, out);
+ blendingColorSpace = GfxColorSpace::parse(&obj5, out, state);
}
obj5.free();
if (obj4.dictLookup("I", &obj5)->isBool()) {
@@ -1371,6 +1421,7 @@ void Gfx::doSoftMask(Object *str, GBool alpha,
}
void Gfx::opSetRenderingIntent(Object args[], int numArgs) {
+ state->setRenderingIntent(args[0].getName());
}
//------------------------------------------------------------------------
@@ -1385,7 +1436,7 @@ void Gfx::opSetFillGray(Object args[], int numArgs) {
state->setFillPattern(NULL);
res->lookupColorSpace("DefaultGray", &obj);
if (!obj.isNull()) {
- colorSpace = GfxColorSpace::parse(&obj, out);
+ colorSpace = GfxColorSpace::parse(&obj, out, state);
}
if (colorSpace == NULL) {
colorSpace = new GfxDeviceGrayColorSpace();
@@ -1406,7 +1457,7 @@ void Gfx::opSetStrokeGray(Object args[], int numArgs) {
state->setStrokePattern(NULL);
res->lookupColorSpace("DefaultGray", &obj);
if (!obj.isNull()) {
- colorSpace = GfxColorSpace::parse(&obj, out);
+ colorSpace = GfxColorSpace::parse(&obj, out, state);
}
if (colorSpace == NULL) {
colorSpace = new GfxDeviceGrayColorSpace();
@@ -1427,7 +1478,7 @@ void Gfx::opSetFillCMYKColor(Object args[], int numArgs) {
res->lookupColorSpace("DefaultCMYK", &obj);
if (!obj.isNull()) {
- colorSpace = GfxColorSpace::parse(&obj, out);
+ colorSpace = GfxColorSpace::parse(&obj, out, state);
}
if (colorSpace == NULL) {
colorSpace = new GfxDeviceCMYKColorSpace();
@@ -1452,7 +1503,7 @@ void Gfx::opSetStrokeCMYKColor(Object args[], int numArgs) {
state->setStrokePattern(NULL);
res->lookupColorSpace("DefaultCMYK", &obj);
if (!obj.isNull()) {
- colorSpace = GfxColorSpace::parse(&obj, out);
+ colorSpace = GfxColorSpace::parse(&obj, out, state);
}
if (colorSpace == NULL) {
colorSpace = new GfxDeviceCMYKColorSpace();
@@ -1476,7 +1527,7 @@ void Gfx::opSetFillRGBColor(Object args[], int numArgs) {
state->setFillPattern(NULL);
res->lookupColorSpace("DefaultRGB", &obj);
if (!obj.isNull()) {
- colorSpace = GfxColorSpace::parse(&obj, out);
+ colorSpace = GfxColorSpace::parse(&obj, out, state);
}
if (colorSpace == NULL) {
colorSpace = new GfxDeviceRGBColorSpace();
@@ -1500,7 +1551,7 @@ void Gfx::opSetStrokeRGBColor(Object args[], int numArgs) {
state->setStrokePattern(NULL);
res->lookupColorSpace("DefaultRGB", &obj);
if (!obj.isNull()) {
- colorSpace = GfxColorSpace::parse(&obj, out);
+ colorSpace = GfxColorSpace::parse(&obj, out, state);
}
if (colorSpace == NULL) {
colorSpace = new GfxDeviceRGBColorSpace();
@@ -1522,9 +1573,9 @@ void Gfx::opSetFillColorSpace(Object args[], int numArgs) {
res->lookupColorSpace(args[0].getName(), &obj);
if (obj.isNull()) {
- colorSpace = GfxColorSpace::parse(&args[0], out);
+ colorSpace = GfxColorSpace::parse(&args[0], out, state);
} else {
- colorSpace = GfxColorSpace::parse(&obj, out);
+ colorSpace = GfxColorSpace::parse(&obj, out, state);
}
obj.free();
if (colorSpace) {
@@ -1547,9 +1598,9 @@ void Gfx::opSetStrokeColorSpace(Object args[], int numArgs) {
state->setStrokePattern(NULL);
res->lookupColorSpace(args[0].getName(), &obj);
if (obj.isNull()) {
- colorSpace = GfxColorSpace::parse(&args[0], out);
+ colorSpace = GfxColorSpace::parse(&args[0], out, state);
} else {
- colorSpace = GfxColorSpace::parse(&obj, out);
+ colorSpace = GfxColorSpace::parse(&obj, out, state);
}
obj.free();
if (colorSpace) {
@@ -1620,7 +1671,7 @@ void Gfx::opSetFillColorN(Object args[], int numArgs) {
}
if (numArgs > 0) {
if (args[numArgs-1].isName() &&
- (pattern = res->lookupPattern(args[numArgs-1].getName(), out))) {
+ (pattern = res->lookupPattern(args[numArgs-1].getName(), out, state))) {
state->setFillPattern(pattern);
}
}
@@ -1672,7 +1723,7 @@ void Gfx::opSetStrokeColorN(Object args[], int numArgs) {
return;
}
if (args[numArgs-1].isName() &&
- (pattern = res->lookupPattern(args[numArgs-1].getName(), out))) {
+ (pattern = res->lookupPattern(args[numArgs-1].getName(), out, state))) {
state->setStrokePattern(pattern);
}
@@ -2382,7 +2433,7 @@ void Gfx::opShFill(Object args[], int numArgs) {
return;
}
- if (!(shading = res->lookupShading(args[0].getName(), out))) {
+ if (!(shading = res->lookupShading(args[0].getName(), out, state))) {
return;
}
@@ -4339,14 +4390,29 @@ void Gfx::doImage(Object *ref, Stream *str, GBool inlineImg) {
}
}
if (!obj1.isNull()) {
- colorSpace = GfxColorSpace::parse(&obj1, out);
+ Object objIntent;
+ char *tempIntent = NULL;
+ dict->lookup("Intent", &objIntent);
+ if (objIntent.isName()) {
+ tempIntent = state->getRenderingIntent();
+ if (tempIntent != NULL) {
+ tempIntent = strdup(tempIntent);
+ }
+ state->setRenderingIntent(objIntent.getName());
+ }
+ colorSpace = GfxColorSpace::parse(&obj1, out, state);
+ if (objIntent.isName()) {
+ state->setRenderingIntent(tempIntent);
+ free(tempIntent);
+ }
+ objIntent.free();
} else if (csMode == streamCSDeviceGray) {
Object objCS;
res->lookupColorSpace("DefaultGray", &objCS);
if (objCS.isNull()) {
colorSpace = new GfxDeviceGrayColorSpace();
} else {
- colorSpace = GfxColorSpace::parse(&objCS, out);
+ colorSpace = GfxColorSpace::parse(&objCS, out, state);
}
objCS.free();
} else if (csMode == streamCSDeviceRGB) {
@@ -4355,7 +4421,7 @@ void Gfx::doImage(Object *ref, Stream *str, GBool inlineImg) {
if (objCS.isNull()) {
colorSpace = new GfxDeviceRGBColorSpace();
} else {
- colorSpace = GfxColorSpace::parse(&objCS, out);
+ colorSpace = GfxColorSpace::parse(&objCS, out, state);
}
objCS.free();
} else if (csMode == streamCSDeviceCMYK) {
@@ -4364,7 +4430,7 @@ void Gfx::doImage(Object *ref, Stream *str, GBool inlineImg) {
if (objCS.isNull()) {
colorSpace = new GfxDeviceCMYKColorSpace();
} else {
- colorSpace = GfxColorSpace::parse(&objCS, out);
+ colorSpace = GfxColorSpace::parse(&objCS, out, state);
}
objCS.free();
} else {
@@ -4459,7 +4525,7 @@ void Gfx::doImage(Object *ref, Stream *str, GBool inlineImg) {
obj2.free();
}
}
- maskColorSpace = GfxColorSpace::parse(&obj1, out);
+ maskColorSpace = GfxColorSpace::parse(&obj1, out, state);
obj1.free();
if (!maskColorSpace || maskColorSpace->getMode() != csDeviceGray) {
goto err1;
@@ -4755,7 +4821,7 @@ void Gfx::doForm(Object *str) {
if (dict->lookup("Group", &obj1)->isDict()) {
if (obj1.dictLookup("S", &obj2)->isName("Transparency")) {
if (!obj1.dictLookup("CS", &obj3)->isNull()) {
- blendingColorSpace = GfxColorSpace::parse(&obj3, out);
+ blendingColorSpace = GfxColorSpace::parse(&obj3, out, state);
}
obj3.free();
if (obj1.dictLookup("I", &obj3)->isBool()) {
diff --git a/poppler/Gfx.h b/poppler/Gfx.h
index aba3b7e5..a82f9f4a 100644
--- a/poppler/Gfx.h
+++ b/poppler/Gfx.h
@@ -117,8 +117,8 @@ public:
GBool lookupXObjectNF(char *name, Object *obj);
GBool lookupMarkedContentNF(char *name, Object *obj);
void lookupColorSpace(const char *name, Object *obj);
- GfxPattern *lookupPattern(char *name, OutputDev *out);
- GfxShading *lookupShading(char *name, OutputDev *out);
+ GfxPattern *lookupPattern(char *name, OutputDev *out, GfxState *state);
+ GfxShading *lookupShading(char *name, OutputDev *out, GfxState *state);
GBool lookupGState(char *name, Object *obj);
GBool lookupGStateNF(char *name, Object *obj);
@@ -156,7 +156,9 @@ public:
PDFRectangle *box, PDFRectangle *cropBox,
GBool (*abortCheckCbkA)(void *data) = NULL,
void *abortCheckCbkDataA = NULL, XRef *xrefA = NULL);
-
+#ifdef USE_CMS
+ void initDisplayProfile();
+#endif
~Gfx();
XRef *getXRef() { return xref; }
diff --git a/poppler/GfxFont.cc b/poppler/GfxFont.cc
index ea22af82..6f6a1250 100644
--- a/poppler/GfxFont.cc
+++ b/poppler/GfxFont.cc
@@ -13,7 +13,7 @@
// All changes made under the Poppler project to this file are licensed
// under GPL version 2 or later
//
-// Copyright (C) 2005, 2006, 2008-2010, 2012 Albert Astals Cid <aacid@kde.org>
+// Copyright (C) 2005, 2006, 2008-2010, 2012, 2014 Albert Astals Cid <aacid@kde.org>
// Copyright (C) 2005, 2006 Kristian Høgsberg <krh@redhat.com>
// Copyright (C) 2006 Takashi Iwai <tiwai@suse.de>
// Copyright (C) 2007 Julien Rebetez <julienr@svn.gnome.org>
@@ -30,6 +30,8 @@
// Copyright (C) 2012 Yi Yang <ahyangyi@gmail.com>
// Copyright (C) 2012 Suzuki Toshiya <mpsuzuki@hiroshima-u.ac.jp>
// Copyright (C) 2012 Thomas Freitag <Thomas.Freitag@alfa.de>
+// Copyright (C) 2013, 2014 Jason Crain <jason@aquaticape.us>
+// Copyright (C) 2014 Olly Betts <olly@survex.com>
//
// To see a description of the changes please see the Changelog file that
// came with your tarball or type make ChangeLog if you are building from git
@@ -763,8 +765,8 @@ GfxFontLoc *GfxFont::locateFont(XRef *xref, GBool ps) {
}
substName = new GooString(base14SubstFonts[substIdx]);
if (ps) {
- error(errSyntaxWarning, -1, "Substituting font '{0:s}' for '{1:t}'",
- base14SubstFonts[substIdx], name ? name : new GooString("null"));
+ error(errSyntaxWarning, -1, "Substituting font '{0:s}' for '{1:s}'",
+ base14SubstFonts[substIdx], name ? name->getCString() : "null");
fontLoc = new GfxFontLoc();
fontLoc->locType = gfxFontLocResident;
fontLoc->fontType = fontType1;
@@ -776,8 +778,8 @@ GfxFontLoc *GfxFont::locateFont(XRef *xref, GBool ps) {
delete substName;
if (path) {
if ((fontLoc = getExternalFont(path, gFalse))) {
- error(errSyntaxWarning, -1, "Substituting font '{0:s}' for '{1:t}'",
- base14SubstFonts[substIdx], (name == NULL) ? new GooString("") : name);
+ error(errSyntaxWarning, -1, "Substituting font '{0:s}' for '{1:s}'",
+ base14SubstFonts[substIdx], name ? name->getCString() : "");
name = new GooString(base14SubstFonts[substIdx]);
fontLoc->substIdx = substIdx;
return fontLoc;
@@ -915,6 +917,88 @@ char *GfxFont::readEmbFontFile(XRef *xref, int *len) {
// Gfx8BitFont
//------------------------------------------------------------------------
+// Parse character names of the form 'Axx', 'xx', 'Ann', 'ABnn', or
+// 'nn', where 'A' and 'B' are any letters, 'xx' is two hex digits,
+// and 'nn' is decimal digits.
+static GBool parseNumericName(char *s, GBool hex, unsigned int *u) {
+ char *endptr;
+
+ // Strip leading alpha characters.
+ if (hex) {
+ int n = 0;
+
+ // Get string length while ignoring junk at end.
+ while (isalnum(s[n]))
+ ++n;
+
+ // Only 2 hex characters with optional leading alpha is allowed.
+ if (n == 3 && isalpha(*s)) {
+ ++s;
+ } else if (n != 2) {
+ return gFalse;
+ }
+ } else {
+ // Strip up to two alpha characters.
+ for (int i = 0; i < 2 && isalpha(*s); ++i)
+ ++s;
+ }
+
+ int v = strtol(s, &endptr, hex ? 16 : 10);
+
+ if (endptr == s)
+ return gFalse;
+
+ // Skip trailing junk characters.
+ while (*endptr != '\0' && !isalnum(*endptr))
+ ++endptr;
+
+ if (*endptr == '\0') {
+ if (u)
+ *u = v;
+ return gTrue;
+ }
+ return gFalse;
+}
+
+// Returns gTrue if the font has character names like xx or Axx which
+// should be parsed for hex or decimal values.
+static GBool testForNumericNames(Dict *fontDict, GBool hex) {
+ Object enc, diff, obj;
+ GBool numeric = gTrue;
+
+ fontDict->lookup("Encoding", &enc);
+ if (!enc.isDict()) {
+ enc.free();
+ return gFalse;
+ }
+
+ enc.dictLookup("Differences", &diff);
+ enc.free();
+ if (!diff.isArray()) {
+ diff.free();
+ return gFalse;
+ }
+
+ for (int i = 0; i < diff.arrayGetLength() && numeric; ++i) {
+ diff.arrayGet(i, &obj);
+ if (obj.isInt()) {
+ // All sequences must start between character codes 0 and 5.
+ if (obj.getInt() > 5)
+ numeric = gFalse;
+ } else if (obj.isName()) {
+ // All character names must sucessfully parse.
+ if (!parseNumericName(obj.getName(), hex, NULL))
+ numeric = gFalse;
+ } else {
+ numeric = gFalse;
+ }
+ obj.free();
+ }
+
+ diff.free();
+ return numeric;
+}
+
Gfx8BitFont::Gfx8BitFont(XRef *xref, const char *tagA, Ref idA, GooString *nameA,
GfxFontType typeA, Ref embFontIDA, Dict *fontDict):
GfxFont(tagA, idA, nameA, typeA, embFontIDA) {
@@ -929,6 +1013,7 @@ Gfx8BitFont::Gfx8BitFont(XRef *xref, const char *tagA, Ref idA, GooString *nameA
int code;
char *charName;
GBool missing, hex;
+ GBool numeric;
Unicode toUnicode[256];
CharCodeToUnicode *utu, *ctu2;
Unicode uBuf[8];
@@ -1221,10 +1306,16 @@ Gfx8BitFont::Gfx8BitFont(XRef *xref, const char *tagA, Ref idA, GooString *nameA
// pass 1: use the name-to-Unicode mapping table
missing = hex = gFalse;
+ GBool isZapfDingbats = name && name->endsWith("ZapfDingbats");
for (code = 0; code < 256; ++code) {
if ((charName = enc[code])) {
- if (!(toUnicode[code] = globalParams->mapNameToUnicode(charName)) &&
- strcmp(charName, ".notdef")) {
+ if (isZapfDingbats) {
+ // include ZapfDingbats names
+ toUnicode[code] = globalParams->mapNameToUnicodeAll(charName);
+ } else {
+ toUnicode[code] = globalParams->mapNameToUnicodeText(charName);
+ }
+ if (!toUnicode[code] && strcmp(charName, ".notdef")) {
// if it wasn't in the name-to-Unicode table, check for a
// name that looks like 'Axx' or 'xx', where 'A' is any letter
// and 'xx' is two hex digits
@@ -1237,9 +1328,9 @@ Gfx8BitFont::Gfx8BitFont(XRef *xref, const char *tagA, Ref idA, GooString *nameA
(charName[2] >= 'A' && charName[2] <= 'F'))) ||
(strlen(charName) == 2 &&
isxdigit(charName[0]) && isxdigit(charName[1]) &&
- ((charName[0] >= 'a' && charName[0] <= 'f') ||
- (charName[0] >= 'A' && charName[0] <= 'F') ||
- (charName[1] >= 'a' && charName[1] <= 'f') ||
+ // Only check idx 1 to avoid misidentifying a decimal
+ // number like a0
+ ((charName[1] >= 'a' && charName[1] <= 'f') ||
(charName[1] >= 'A' && charName[1] <= 'F')))) {
hex = gTrue;
}
@@ -1250,6 +1341,8 @@ Gfx8BitFont::Gfx8BitFont(XRef *xref, const char *tagA, Ref idA, GooString *nameA
}
}
+ numeric = testForNumericNames(fontDict, hex);
+
// construct the char code -> Unicode mapping object
ctu = CharCodeToUnicode::make8BitToUnicode(toUnicode);
@@ -1273,22 +1366,18 @@ Gfx8BitFont::Gfx8BitFont(XRef *xref, const char *tagA, Ref idA, GooString *nameA
&& (n = parseCharName(charName, uBuf, sizeof(uBuf)/sizeof(*uBuf),
gFalse, // don't check simple names (pass 1)
gTrue, // do check ligatures
- globalParams->getMapNumericCharNames(),
+ numeric,
hex,
gTrue))) { // do check variants
ctu->setMapping((CharCode)code, uBuf, n);
- } else if (globalParams->getMapUnknownCharNames()) {
- // if the 'mapUnknownCharNames' flag is set, do a simple pass-through
- // mapping for unknown character names
- if (charName && charName[0]) {
- for (n = 0; n < (int)(sizeof(uBuf)/sizeof(*uBuf)); ++n)
- if (!(uBuf[n] = charName[n]))
- break;
- ctu->setMapping((CharCode)code, uBuf, n);
- } else {
+ continue;
+ }
+
+ // if the 'mapUnknownCharNames' flag is set, do a simple pass-through
+ // mapping for unknown character names
+ if (globalParams->getMapUnknownCharNames()) {
uBuf[0] = code;
ctu->setMapping((CharCode)code, uBuf, 1);
- }
}
}
}
@@ -1298,7 +1387,7 @@ Gfx8BitFont::Gfx8BitFont(XRef *xref, const char *tagA, Ref idA, GooString *nameA
// existing entries in ctu, i.e., the ToUnicode CMap takes
// precedence, but the other encoding info is allowed to fill in any
// holes
- readToUnicodeCMap(fontDict, 8, ctu);
+ readToUnicodeCMap(fontDict, 16, ctu);
// look for a Unicode-to-Unicode mapping
if (name && (utu = globalParams->getUnicodeToUnicode(name))) {
@@ -1485,10 +1574,10 @@ static int parseCharName(char *charName, Unicode *uBuf, int uLen,
// corresponding character in that list.
// 3.2. otherwise, if the component is in the Adobe Glyph List, then map it
// to the corresponding character in that list.
- if (names && (uBuf[0] = globalParams->mapNameToUnicode(charName))) {
+ if (names && (uBuf[0] = globalParams->mapNameToUnicodeText(charName))) {
return 1;
}
- if (numeric) {
+ if (globalParams->getMapNumericCharNames()) {
unsigned int n = strlen(charName);
// 3.3. otherwise, if the component is of the form "uni" (U+0075 U+006E
// U+0069) followed by a sequence of uppercase hexadecimal digits (0 .. 9,
@@ -1531,30 +1620,10 @@ static int parseCharName(char *charName, Unicode *uBuf, int uLen,
return 1;
}
}
- // Not in Adobe Glyph Mapping convention: look for names of the form 'Axx',
- // 'xx', 'Ann', 'ABnn', or 'nn', where 'A' and 'B' are any letters, 'xx' is
- // two hex digits, and 'nn' is 2-4 decimal digits
- if (hex && n == 3 && isalpha(charName[0]) &&
- isxdigit(charName[1]) && isxdigit(charName[2])) {
- sscanf(charName+1, "%x", (unsigned int *)uBuf);
- return 1;
- } else if (hex && n == 2 &&
- isxdigit(charName[0]) && isxdigit(charName[1])) {
- sscanf(charName, "%x", (unsigned int *)uBuf);
+ // Not in Adobe Glyph Mapping convention: look for names like xx
+ // or Axx and parse for hex or decimal values.
+ if (numeric && parseNumericName(charName, hex, uBuf))
return 1;
- } else if (!hex && n >= 2 && n <= 4 &&
- isdigit(charName[0]) && isdigit(charName[1])) {
- uBuf[0] = (Unicode)atoi(charName);
- return 1;
- } else if (n >= 3 && n <= 5 &&
- isdigit(charName[1]) && isdigit(charName[2])) {
- uBuf[0] = (Unicode)atoi(charName+1);
- return 1;
- } else if (n >= 4 && n <= 6 &&
- isdigit(charName[2]) && isdigit(charName[3])) {
- uBuf[0] = (Unicode)atoi(charName+2);
- return 1;
- }
}
// 3.5. otherwise, map the component to the empty string
return 0;
@@ -1674,7 +1743,7 @@ int *Gfx8BitFont::getCodeToGIDMap(FoFiTrueType *ff) {
} else if (useUnicode) {
Unicode *uAux;
for (i = 0; i < 256; ++i) {
- if (((charName = enc[i]) && (u = globalParams->mapNameToUnicode(charName))))
+ if (((charName = enc[i]) && (u = globalParams->mapNameToUnicodeAll(charName))))
map[i] = ff->mapCodeToGID(cmap, u);
else
{
diff --git a/poppler/GfxState.cc b/poppler/GfxState.cc
index 0bafb6d3..eb11777c 100644
--- a/poppler/GfxState.cc
+++ b/poppler/GfxState.cc
@@ -16,15 +16,17 @@
// Copyright (C) 2005 Kristian Høgsberg <krh@redhat.com>
// Copyright (C) 2006, 2007 Jeff Muizelaar <jeff@infidigm.net>
// Copyright (C) 2006, 2010 Carlos Garcia Campos <carlosgc@gnome.org>
-// Copyright (C) 2006-2013 Albert Astals Cid <aacid@kde.org>
+// Copyright (C) 2006-2014 Albert Astals Cid <aacid@kde.org>
// Copyright (C) 2009, 2012 Koji Otani <sho@bbr.jp>
-// Copyright (C) 2009, 2011, 2012 Thomas Freitag <Thomas.Freitag@alfa.de>
+// Copyright (C) 2009, 2011-2013 Thomas Freitag <Thomas.Freitag@alfa.de>
// Copyright (C) 2009 Christian Persch <chpe@gnome.org>
// Copyright (C) 2010 Paweł Wiejacha <pawel.wiejacha@gmail.com>
// Copyright (C) 2010 Christian Feuersänger <cfeuersaenger@googlemail.com>
// Copyright (C) 2011 Andrea Canciani <ranma42@gmail.com>
// Copyright (C) 2012 William Bader <williambader@hotmail.com>
// Copyright (C) 2013 Lu Wang <coolwanglu@gmail.com>
+// Copyright (C) 2013 Hib Eris <hib@hiberis.nl>
+// Copyright (C) 2013 Fabio D'Urso <fabiodurso@hotmail.it>
//
// To see a description of the changes please see the Changelog file that
// came with your tarball or type make ChangeLog if you are building from git
@@ -53,6 +55,7 @@
#include "GlobalParams.h"
#include "PopplerCache.h"
#include "OutputDev.h"
+#include "splash/SplashTypes.h"
//------------------------------------------------------------------------
@@ -155,6 +158,8 @@ static const char *gfxColorSpaceModeNames[] = {
#ifdef USE_CMS
+static const std::map<unsigned int, unsigned int>::size_type CMSCACHE_LIMIT = 2048;
+
#ifdef USE_LCMS1
#include <lcms.h>
#define cmsColorSpaceSignature icColorSpaceSignature
@@ -198,9 +203,11 @@ void GfxColorTransform::doTransform(void *in, void *out, unsigned int size) {
}
// transformA should be a cmsHTRANSFORM
-GfxColorTransform::GfxColorTransform(void *transformA) {
+GfxColorTransform::GfxColorTransform(void *transformA, int cmsIntentA, unsigned int transformPixelTypeA) {
transform = transformA;
refCount = 1;
+ cmsIntent = cmsIntentA;
+ transformPixelType = transformPixelTypeA;
}
GfxColorTransform::~GfxColorTransform() {
@@ -228,6 +235,25 @@ static cmsHPROFILE loadColorProfile(const char *fileName);
void GfxColorSpace::setDisplayProfile(void *displayProfileA) {
displayProfile = displayProfileA;
+ if (displayProfile != NULL) {
+ cmsHTRANSFORM transform;
+ unsigned int nChannels;
+
+ displayPixelType = getCMSColorSpaceType(cmsGetColorSpace(displayProfile));
+ nChannels = getCMSNChannels(cmsGetColorSpace(displayProfile));
+ // create transform from XYZ
+ cmsHPROFILE XYZProfile = cmsCreateXYZProfile();
+ if ((transform = cmsCreateTransform(XYZProfile, TYPE_XYZ_DBL,
+ displayProfile,
+ COLORSPACE_SH(displayPixelType) |
+ CHANNELS_SH(nChannels) | BYTES_SH(1),
+ INTENT_RELATIVE_COLORIMETRIC,LCMS_FLAGS)) == 0) {
+ error(errSyntaxWarning, -1, "Can't create Lab transform");
+ } else {
+ XYZ2DisplayTransform = new GfxColorTransform(transform, INTENT_RELATIVE_COLORIMETRIC, displayPixelType);
+ }
+ cmsCloseProfile(XYZProfile);
+ }
}
void GfxColorSpace::setDisplayProfileName(GooString *name) {
@@ -256,7 +282,7 @@ GfxColorSpace::GfxColorSpace() {
GfxColorSpace::~GfxColorSpace() {
}
-GfxColorSpace *GfxColorSpace::parse(Object *csObj, OutputDev *out, int recursion) {
+GfxColorSpace *GfxColorSpace::parse(Object *csObj, OutputDev *out, GfxState *state, int recursion) {
GfxColorSpace *cs;
Object obj1;
@@ -287,21 +313,21 @@ GfxColorSpace *GfxColorSpace::parse(Object *csObj, OutputDev *out, int recursion
} else if (obj1.isName("DeviceCMYK") || obj1.isName("CMYK")) {
cs = new GfxDeviceCMYKColorSpace();
} else if (obj1.isName("CalGray")) {
- cs = GfxCalGrayColorSpace::parse(csObj->getArray());
+ cs = GfxCalGrayColorSpace::parse(csObj->getArray(), state);
} else if (obj1.isName("CalRGB")) {
- cs = GfxCalRGBColorSpace::parse(csObj->getArray());
+ cs = GfxCalRGBColorSpace::parse(csObj->getArray(), state);
} else if (obj1.isName("Lab")) {
- cs = GfxLabColorSpace::parse(csObj->getArray());
+ cs = GfxLabColorSpace::parse(csObj->getArray(), state);
} else if (obj1.isName("ICCBased")) {
- cs = GfxICCBasedColorSpace::parse(csObj->getArray(), out, recursion);
+ cs = GfxICCBasedColorSpace::parse(csObj->getArray(), out, state, recursion);
} else if (obj1.isName("Indexed") || obj1.isName("I")) {
- cs = GfxIndexedColorSpace::parse(csObj->getArray(), out, recursion);
+ cs = GfxIndexedColorSpace::parse(csObj->getArray(), out, state, recursion);
} else if (obj1.isName("Separation")) {
- cs = GfxSeparationColorSpace::parse(csObj->getArray(), out, recursion);
+ cs = GfxSeparationColorSpace::parse(csObj->getArray(), out, state, recursion);
} else if (obj1.isName("DeviceN")) {
- cs = GfxDeviceNColorSpace::parse(csObj->getArray(), out, recursion);
+ cs = GfxDeviceNColorSpace::parse(csObj->getArray(), out, state, recursion);
} else if (obj1.isName("Pattern")) {
- cs = GfxPatternColorSpace::parse(csObj->getArray(), out, recursion);
+ cs = GfxPatternColorSpace::parse(csObj->getArray(), out, state, recursion);
} else {
error(errSyntaxWarning, -1, "Bad color space");
}
@@ -420,13 +446,13 @@ int GfxColorSpace::setupColorProfiles()
// create transform from XYZ
cmsHPROFILE XYZProfile = cmsCreateXYZProfile();
if ((transform = cmsCreateTransform(XYZProfile, TYPE_XYZ_DBL,
- displayProfile,
+ displayProfile,
COLORSPACE_SH(displayPixelType) |
CHANNELS_SH(nChannels) | BYTES_SH(1),
INTENT_RELATIVE_COLORIMETRIC,LCMS_FLAGS)) == 0) {
error(errSyntaxWarning, -1, "Can't create Lab transform");
} else {
- XYZ2DisplayTransform = new GfxColorTransform(transform);
+ XYZ2DisplayTransform = new GfxColorTransform(transform, INTENT_RELATIVE_COLORIMETRIC, displayPixelType);
}
cmsCloseProfile(XYZProfile);
}
@@ -604,6 +630,24 @@ void GfxDeviceGrayColorSpace::getRGBXLine(Guchar *in, Guchar *out, int length) {
}
}
+void GfxDeviceGrayColorSpace::getCMYKLine(Guchar *in, Guchar *out, int length) {
+ for (int i = 0; i < length; i++) {
+ *out++ = 0;
+ *out++ = 0;
+ *out++ = 0;
+ *out++ = in[i];
+ }
+}
+
+void GfxDeviceGrayColorSpace::getDeviceNLine(Guchar *in, Guchar *out, int length) {
+ for (int i = 0; i < length; i++) {
+ for (int j = 0; j < SPOT_NCOMPS+4; j++)
+ out[j] = 0;
+ out[4] = in[i];
+ out += (SPOT_NCOMPS+4);
+ }
+}
+
void GfxDeviceGrayColorSpace::getCMYK(GfxColor *color, GfxCMYK *cmyk) {
cmyk->c = cmyk->m = cmyk->y = 0;
cmyk->k = clip01(gfxColorComp1 - color->c[0]);
@@ -630,6 +674,11 @@ GfxCalGrayColorSpace::GfxCalGrayColorSpace() {
}
GfxCalGrayColorSpace::~GfxCalGrayColorSpace() {
+#ifdef USE_CMS
+ if (transform != NULL) {
+ if (transform->unref() == 0) delete transform;
+ }
+#endif
}
GfxColorSpace *GfxCalGrayColorSpace::copy() {
@@ -643,6 +692,10 @@ GfxColorSpace *GfxCalGrayColorSpace::copy() {
cs->blackY = blackY;
cs->blackZ = blackZ;
cs->gamma = gamma;
+#ifdef USE_CMS
+ cs->transform = transform;
+ if (transform != NULL) transform->ref();
+#endif
return cs;
}
@@ -654,7 +707,7 @@ static const double xyzrgb[3][3] = {
{ 0.055643, -0.204026, 1.057229 }
};
-GfxColorSpace *GfxCalGrayColorSpace::parse(Array *arr) {
+GfxColorSpace *GfxCalGrayColorSpace::parse(Array *arr, GfxState *state) {
GfxCalGrayColorSpace *cs;
Object obj1, obj2, obj3;
@@ -712,7 +765,10 @@ GfxColorSpace *GfxCalGrayColorSpace::parse(Array *arr) {
cs->kb = 1 / (xyzrgb[2][0] * cs->whiteX +
xyzrgb[2][1] * cs->whiteY +
xyzrgb[2][2] * cs->whiteZ);
-
+#ifdef USE_CMS
+ cs->transform = (state != NULL) ? state->getXYZ2DisplayTransform() : XYZ2DisplayTransform;
+ if (cs->transform != NULL) cs->transform->ref();
+#endif
return cs;
}
@@ -731,7 +787,7 @@ void GfxCalGrayColorSpace::getGray(GfxColor *color, GfxGray *gray) {
GfxRGB rgb;
#ifdef USE_CMS
- if (XYZ2DisplayTransform != NULL && displayPixelType == PT_GRAY) {
+ if (transform != NULL && transform->getTransformPixelType() == PT_GRAY) {
Guchar out[gfxColorMaxComps];
double in[gfxColorMaxComps];
double X, Y, Z;
@@ -740,7 +796,7 @@ void GfxCalGrayColorSpace::getGray(GfxColor *color, GfxGray *gray) {
in[0] = clip01(X);
in[1] = clip01(Y);
in[2] = clip01(Z);
- XYZ2DisplayTransform->doTransform(in,out,1);
+ transform->doTransform(in,out,1);
*gray = byteToCol(out[0]);
return;
}
@@ -757,14 +813,14 @@ void GfxCalGrayColorSpace::getRGB(GfxColor *color, GfxRGB *rgb) {
getXYZ(color,&X,&Y,&Z);
#ifdef USE_CMS
- if (XYZ2DisplayTransform != NULL && displayPixelType == PT_RGB) {
+ if (transform != NULL && transform->getTransformPixelType() == PT_RGB) {
Guchar out[gfxColorMaxComps];
double in[gfxColorMaxComps];
in[0] = clip01(X);
in[1] = clip01(Y);
in[2] = clip01(Z);
- XYZ2DisplayTransform->doTransform(in,out,1);
+ transform->doTransform(in,out,1);
rgb->r = byteToCol(out[0]);
rgb->g = byteToCol(out[1]);
rgb->b = byteToCol(out[2]);
@@ -788,7 +844,7 @@ void GfxCalGrayColorSpace::getCMYK(GfxColor *color, GfxCMYK *cmyk) {
GfxColorComp c, m, y, k;
#ifdef USE_CMS
- if (XYZ2DisplayTransform != NULL && displayPixelType == PT_CMYK) {
+ if (transform != NULL && transform->getTransformPixelType() == PT_CMYK) {
double in[gfxColorMaxComps];
Guchar out[gfxColorMaxComps];
double X, Y, Z;
@@ -798,7 +854,7 @@ void GfxCalGrayColorSpace::getCMYK(GfxColor *color, GfxCMYK *cmyk) {
in[1] = clip01(Y);
in[2] = clip01(Z);
- XYZ2DisplayTransform->doTransform(in,out,1);
+ transform->doTransform(in,out,1);
cmyk->c = byteToCol(out[0]);
cmyk->m = byteToCol(out[1]);
cmyk->y = byteToCol(out[2]);
@@ -900,6 +956,52 @@ void GfxDeviceRGBColorSpace::getRGBXLine(Guchar *in, Guchar *out, int length) {
*out++ = 255;
}
}
+
+void GfxDeviceRGBColorSpace::getCMYKLine(Guchar *in, Guchar *out, int length) {
+ GfxColorComp c, m, y, k;
+
+ for (int i = 0; i < length; i++) {
+ c = byteToCol(255 - *in++);
+ m = byteToCol(255 - *in++);
+ y = byteToCol(255 - *in++);
+ k = c;
+ if (m < k) {
+ k = m;
+ }
+ if (y < k) {
+ k = y;
+ }
+ *out++ = colToByte(c - k);
+ *out++ = colToByte(m - k);
+ *out++ = colToByte(y - k);
+ *out++ = colToByte(k);
+ }
+}
+
+void GfxDeviceRGBColorSpace::getDeviceNLine(Guchar *in, Guchar *out, int length) {
+ GfxColorComp c, m, y, k;
+
+ for (int i = 0; i < length; i++) {
+ for (int j = 0; j < SPOT_NCOMPS+4; j++)
+ out[j] = 0;
+ c = byteToCol(255 - *in++);
+ m = byteToCol(255 - *in++);
+ y = byteToCol(255 - *in++);
+ k = c;
+ if (m < k) {
+ k = m;
+ }
+ if (y < k) {
+ k = y;
+ }
+ out[0] = colToByte(c - k);
+ out[1] = colToByte(m - k);
+ out[2] = colToByte(y - k);
+ out[3] = colToByte(k);
+ out += (SPOT_NCOMPS+4);
+ }
+}
+
void GfxDeviceRGBColorSpace::getCMYK(GfxColor *color, GfxCMYK *cmyk) {
GfxColorComp c, m, y, k;
@@ -950,6 +1052,11 @@ GfxCalRGBColorSpace::GfxCalRGBColorSpace() {
}
GfxCalRGBColorSpace::~GfxCalRGBColorSpace() {
+#ifdef USE_CMS
+ if (transform != NULL) {
+ if (transform->unref() == 0) delete transform;
+ }
+#endif
}
GfxColorSpace *GfxCalRGBColorSpace::copy() {
@@ -969,10 +1076,14 @@ GfxColorSpace *GfxCalRGBColorSpace::copy() {
for (i = 0; i < 9; ++i) {
cs->mat[i] = mat[i];
}
+#ifdef USE_CMS
+ cs->transform = transform;
+ if (transform != NULL) transform->ref();
+#endif
return cs;
}
-GfxColorSpace *GfxCalRGBColorSpace::parse(Array *arr) {
+GfxColorSpace *GfxCalRGBColorSpace::parse(Array *arr, GfxState *state) {
GfxCalRGBColorSpace *cs;
Object obj1, obj2, obj3;
int i;
@@ -1054,6 +1165,10 @@ GfxColorSpace *GfxCalRGBColorSpace::parse(Array *arr) {
xyzrgb[2][1] * cs->whiteY +
xyzrgb[2][2] * cs->whiteZ);
+#ifdef USE_CMS
+ cs->transform = (state != NULL) ? state->getXYZ2DisplayTransform() : XYZ2DisplayTransform;
+ if (cs->transform != NULL) cs->transform->ref();
+#endif
return cs;
}
@@ -1074,7 +1189,7 @@ void GfxCalRGBColorSpace::getGray(GfxColor *color, GfxGray *gray) {
GfxRGB rgb;
#ifdef USE_CMS
- if (XYZ2DisplayTransform != NULL && displayPixelType == PT_GRAY) {
+ if (transform != NULL && transform->getTransformPixelType() == PT_GRAY) {
Guchar out[gfxColorMaxComps];
double in[gfxColorMaxComps];
double X, Y, Z;
@@ -1083,7 +1198,7 @@ void GfxCalRGBColorSpace::getGray(GfxColor *color, GfxGray *gray) {
in[0] = clip01(X);
in[1] = clip01(Y);
in[2] = clip01(Z);
- XYZ2DisplayTransform->doTransform(in,out,1);
+ transform->doTransform(in,out,1);
*gray = byteToCol(out[0]);
return;
}
@@ -1100,14 +1215,14 @@ void GfxCalRGBColorSpace::getRGB(GfxColor *color, GfxRGB *rgb) {
getXYZ(color,&X,&Y,&Z);
#ifdef USE_CMS
- if (XYZ2DisplayTransform != NULL && displayPixelType == PT_RGB) {
+ if (transform != NULL && transform->getTransformPixelType() == PT_RGB) {
Guchar out[gfxColorMaxComps];
double in[gfxColorMaxComps];
in[0] = clip01(X/whiteX);
in[1] = clip01(Y/whiteY);
in[2] = clip01(Z/whiteZ);
- XYZ2DisplayTransform->doTransform(in,out,1);
+ transform->doTransform(in,out,1);
rgb->r = byteToCol(out[0]);
rgb->g = byteToCol(out[1]);
rgb->b = byteToCol(out[2]);
@@ -1128,7 +1243,7 @@ void GfxCalRGBColorSpace::getCMYK(GfxColor *color, GfxCMYK *cmyk) {
GfxColorComp c, m, y, k;
#ifdef USE_CMS
- if (XYZ2DisplayTransform != NULL && displayPixelType == PT_CMYK) {
+ if (transform != NULL && transform->getTransformPixelType() == PT_CMYK) {
double in[gfxColorMaxComps];
Guchar out[gfxColorMaxComps];
double X, Y, Z;
@@ -1137,7 +1252,7 @@ void GfxCalRGBColorSpace::getCMYK(GfxColor *color, GfxCMYK *cmyk) {
in[0] = clip01(X);
in[1] = clip01(Y);
in[2] = clip01(Z);
- XYZ2DisplayTransform->doTransform(in,out,1);
+ transform->doTransform(in,out,1);
cmyk->c = byteToCol(out[0]);
cmyk->m = byteToCol(out[1]);
cmyk->y = byteToCol(out[2]);
@@ -1266,6 +1381,29 @@ void GfxDeviceCMYKColorSpace::getRGBXLine(Guchar *in, Guchar *out, int length)
}
}
+void GfxDeviceCMYKColorSpace::getCMYKLine(Guchar *in, Guchar *out, int length)
+{
+ for (int i = 0; i < length; i++) {
+ *out++ = *in++;
+ *out++ = *in++;
+ *out++ = *in++;
+ *out++ = *in++;
+ }
+}
+
+void GfxDeviceCMYKColorSpace::getDeviceNLine(Guchar *in, Guchar *out, int length)
+{
+ for (int i = 0; i < length; i++) {
+ for (int j = 0; j < SPOT_NCOMPS+4; j++)
+ out[j] = 0;
+ out[0] = *in++;
+ out[1] = *in++;
+ out[2] = *in++;
+ out[3] = *in++;
+ out += (SPOT_NCOMPS+4);
+ }
+}
+
void GfxDeviceCMYKColorSpace::getCMYK(GfxColor *color, GfxCMYK *cmyk) {
cmyk->c = clip01(color->c[0]);
cmyk->m = clip01(color->c[1]);
@@ -1301,6 +1439,11 @@ GfxLabColorSpace::GfxLabColorSpace() {
}
GfxLabColorSpace::~GfxLabColorSpace() {
+#ifdef USE_CMS
+ if (transform != NULL) {
+ if (transform->unref() == 0) delete transform;
+ }
+#endif
}
GfxColorSpace *GfxLabColorSpace::copy() {
@@ -1320,10 +1463,14 @@ GfxColorSpace *GfxLabColorSpace::copy() {
cs->kr = kr;
cs->kg = kg;
cs->kb = kb;
+#ifdef USE_CMS
+ cs->transform = transform;
+ if (transform != NULL) transform->ref();
+#endif
return cs;
}
-GfxColorSpace *GfxLabColorSpace::parse(Array *arr) {
+GfxColorSpace *GfxLabColorSpace::parse(Array *arr, GfxState *state) {
GfxLabColorSpace *cs;
Object obj1, obj2, obj3;
@@ -1388,6 +1535,10 @@ GfxColorSpace *GfxLabColorSpace::parse(Array *arr) {
xyzrgb[2][1] * cs->whiteY +
xyzrgb[2][2] * cs->whiteZ);
+#ifdef USE_CMS
+ cs->transform = (state != NULL) ? state->getXYZ2DisplayTransform() : XYZ2DisplayTransform;
+ if (cs->transform != NULL) cs->transform->ref();
+#endif
return cs;
}
@@ -1395,12 +1546,12 @@ void GfxLabColorSpace::getGray(GfxColor *color, GfxGray *gray) {
GfxRGB rgb;
#ifdef USE_CMS
- if (XYZ2DisplayTransform != NULL && displayPixelType == PT_GRAY) {
+ if (transform != NULL && transform->getTransformPixelType() == PT_GRAY) {
Guchar out[gfxColorMaxComps];
double in[gfxColorMaxComps];
getXYZ(color, &in[0], &in[1], &in[2]);
- XYZ2DisplayTransform->doTransform(in,out,1);
+ transform->doTransform(in,out,1);
*gray = byteToCol(out[0]);
return;
}
@@ -1447,18 +1598,40 @@ void GfxLabColorSpace::getRGB(GfxColor *color, GfxRGB *rgb) {
getXYZ(color, &X, &Y, &Z);
#ifdef USE_CMS
- if (XYZ2DisplayTransform != NULL && displayPixelType == PT_RGB) {
+ if (transform != NULL && transform->getTransformPixelType() == PT_RGB) {
Guchar out[gfxColorMaxComps];
double in[gfxColorMaxComps];
in[0] = clip01(X);
in[1] = clip01(Y);
in[2] = clip01(Z);
- XYZ2DisplayTransform->doTransform(in,out,1);
+ transform->doTransform(in,out,1);
rgb->r = byteToCol(out[0]);
rgb->g = byteToCol(out[1]);
rgb->b = byteToCol(out[2]);
return;
+ } else if (transform != NULL && transform->getTransformPixelType() == PT_CMYK) {
+ Guchar out[gfxColorMaxComps];
+ double in[gfxColorMaxComps];
+ double c, m, y, k, c1, m1, y1, k1, r, g, b;
+
+ in[0] = clip01(X);
+ in[1] = clip01(Y);
+ in[2] = clip01(Z);
+ transform->doTransform(in,out,1);
+ c = byteToDbl(out[0]);
+ m = byteToDbl(out[1]);
+ y = byteToDbl(out[2]);
+ k = byteToDbl(out[3]);
+ c1 = 1 - c;
+ m1 = 1 - m;
+ y1 = 1 - y;
+ k1 = 1 - k;
+ cmykToRGBMatrixMultiplication(c, m, y, k, c1, m1, y1, k1, r, g, b);
+ rgb->r = clip01(dblToCol(r));
+ rgb->g = clip01(dblToCol(g));
+ rgb->b = clip01(dblToCol(b));
+ return;
}
#endif
X *= whiteX;
@@ -1478,12 +1651,12 @@ void GfxLabColorSpace::getCMYK(GfxColor *color, GfxCMYK *cmyk) {
GfxColorComp c, m, y, k;
#ifdef USE_CMS
- if (XYZ2DisplayTransform != NULL && displayPixelType == PT_CMYK) {
+ if (transform != NULL && transform->getTransformPixelType() == PT_CMYK) {
double in[gfxColorMaxComps];
Guchar out[gfxColorMaxComps];
getXYZ(color, &in[0], &in[1], &in[2]);
- XYZ2DisplayTransform->doTransform(in,out,1);
+ transform->doTransform(in,out,1);
cmyk->c = byteToCol(out[0]);
cmyk->m = byteToCol(out[1]);
cmyk->y = byteToCol(out[2]);
@@ -1626,7 +1799,7 @@ GfxColorSpace *GfxICCBasedColorSpace::copy() {
return cs;
}
-GfxColorSpace *GfxICCBasedColorSpace::parse(Array *arr, OutputDev *out, int recursion) {
+GfxColorSpace *GfxICCBasedColorSpace::parse(Array *arr, OutputDev *out, GfxState *state, int recursion) {
GfxICCBasedColorSpace *cs;
Ref iccProfileStreamA;
int nCompsA;
@@ -1655,7 +1828,24 @@ GfxColorSpace *GfxICCBasedColorSpace::parse(Array *arr, OutputDev *out, int recu
if (item != NULL)
{
cs = static_cast<GfxICCBasedColorSpace*>(item->cs->copy());
- return cs;
+ int transformIntent = cs->getIntent();
+ int cmsIntent = INTENT_RELATIVE_COLORIMETRIC;
+ if (state != NULL) {
+ const char *intent = state->getRenderingIntent();
+ if (intent != NULL) {
+ if (strcmp(intent, "AbsoluteColorimetric") == 0) {
+ cmsIntent = INTENT_ABSOLUTE_COLORIMETRIC;
+ } else if (strcmp(intent, "Saturation") == 0) {
+ cmsIntent = INTENT_SATURATION;
+ } else if (strcmp(intent, "Perceptual") == 0) {
+ cmsIntent = INTENT_PERCEPTUAL;
+ }
+ }
+ }
+ if (transformIntent == cmsIntent) {
+ return cs;
+ }
+ delete cs;
}
}
#endif
@@ -1681,7 +1871,7 @@ GfxColorSpace *GfxICCBasedColorSpace::parse(Array *arr, OutputDev *out, int recu
nCompsA = 4;
}
if (dict->lookup("Alternate", &obj2)->isNull() ||
- !(altA = GfxColorSpace::parse(&obj2, out, recursion + 1))) {
+ !(altA = GfxColorSpace::parse(&obj2, out, state, recursion + 1))) {
switch (nCompsA) {
case 1:
altA = new GfxDeviceGrayColorSpace();
@@ -1731,32 +1921,46 @@ GfxColorSpace *GfxICCBasedColorSpace::parse(Array *arr, OutputDev *out, int recu
if (hp == 0) {
error(errSyntaxWarning, -1, "read ICCBased color space profile error");
} else {
- cmsHPROFILE dhp = displayProfile;
+ cmsHPROFILE dhp = (state != NULL && state->getDisplayProfile() != NULL) ? state->getDisplayProfile() : displayProfile;
if (dhp == NULL) dhp = RGBProfile;
unsigned int cst = getCMSColorSpaceType(cmsGetColorSpace(hp));
unsigned int dNChannels = getCMSNChannels(cmsGetColorSpace(dhp));
unsigned int dcst = getCMSColorSpaceType(cmsGetColorSpace(dhp));
cmsHTRANSFORM transform;
+
+ int cmsIntent = INTENT_RELATIVE_COLORIMETRIC;
+ if (state != NULL) {
+ const char *intent = state->getRenderingIntent();
+ if (intent != NULL) {
+ if (strcmp(intent, "AbsoluteColorimetric") == 0) {
+ cmsIntent = INTENT_ABSOLUTE_COLORIMETRIC;
+ } else if (strcmp(intent, "Saturation") == 0) {
+ cmsIntent = INTENT_SATURATION;
+ } else if (strcmp(intent, "Perceptual") == 0) {
+ cmsIntent = INTENT_PERCEPTUAL;
+ }
+ }
+ }
if ((transform = cmsCreateTransform(hp,
COLORSPACE_SH(cst) |CHANNELS_SH(nCompsA) | BYTES_SH(1),
dhp,
COLORSPACE_SH(dcst) |
CHANNELS_SH(dNChannels) | BYTES_SH(1),
- INTENT_RELATIVE_COLORIMETRIC,LCMS_FLAGS)) == 0) {
+ cmsIntent, LCMS_FLAGS)) == 0) {
error(errSyntaxWarning, -1, "Can't create transform");
cs->transform = NULL;
} else {
- cs->transform = new GfxColorTransform(transform);
+ cs->transform = new GfxColorTransform(transform, cmsIntent, dcst);
}
- if (dcst == PT_RGB) {
+ if (dcst == PT_RGB || dcst == PT_CMYK) {
// create line transform only when the display is RGB type color space
if ((transform = cmsCreateTransform(hp,
CHANNELS_SH(nCompsA) | BYTES_SH(1),dhp,
- TYPE_RGB_8,INTENT_RELATIVE_COLORIMETRIC,LCMS_FLAGS)) == 0) {
+ (dcst == PT_RGB) ? TYPE_RGB_8 : TYPE_CMYK_8, cmsIntent, LCMS_FLAGS)) == 0) {
error(errSyntaxWarning, -1, "Can't create transform");
cs->lineTransform = NULL;
} else {
- cs->lineTransform = new GfxColorTransform(transform);
+ cs->lineTransform = new GfxColorTransform(transform, cmsIntent, dcst);
}
}
cmsCloseProfile(hp);
@@ -1774,15 +1978,35 @@ GfxColorSpace *GfxICCBasedColorSpace::parse(Array *arr, OutputDev *out, int recu
void GfxICCBasedColorSpace::getGray(GfxColor *color, GfxGray *gray) {
#ifdef USE_CMS
- if (transform != 0 && displayPixelType == PT_GRAY) {
+ if (transform != 0 && transform->getTransformPixelType() == PT_GRAY) {
Guchar in[gfxColorMaxComps];
Guchar out[gfxColorMaxComps];
for (int i = 0;i < nComps;i++) {
in[i] = colToByte(color->c[i]);
}
+ if (nComps <= 4) {
+ unsigned int key = 0;
+ for (int j = 0; j < nComps; j++) {
+ key = (key << 8) + in[j];
+ }
+ std::map<unsigned int, unsigned int>::iterator it = cmsCache.find(key);
+ if (it != cmsCache.end()) {
+ unsigned int value = it->second;
+ *gray = byteToCol(value & 0xff);
+ return;
+ }
+ }
transform->doTransform(in,out,1);
*gray = byteToCol(out[0]);
+ if (nComps <= 4 && cmsCache.size() <= CMSCACHE_LIMIT) {
+ unsigned int key = 0;
+ for (int j = 0; j < nComps; j++) {
+ key = (key << 8) + in[j];
+ }
+ unsigned int value = out[0];
+ cmsCache.insert(std::pair<unsigned int, unsigned int>(key, value));
+ }
} else {
GfxRGB rgb;
getRGB(color,&rgb);
@@ -1797,18 +2021,82 @@ void GfxICCBasedColorSpace::getGray(GfxColor *color, GfxGray *gray) {
void GfxICCBasedColorSpace::getRGB(GfxColor *color, GfxRGB *rgb) {
#ifdef USE_CMS
- if (transform != 0
- && (displayProfile == NULL || displayPixelType == PT_RGB)) {
+ if (transform != 0 && transform->getTransformPixelType() == PT_RGB) {
Guchar in[gfxColorMaxComps];
Guchar out[gfxColorMaxComps];
for (int i = 0;i < nComps;i++) {
in[i] = colToByte(color->c[i]);
}
+ if (nComps <= 4) {
+ unsigned int key = 0;
+ for (int j = 0; j < nComps; j++) {
+ key = (key << 8) + in[j];
+ }
+ std::map<unsigned int, unsigned int>::iterator it = cmsCache.find(key);
+ if (it != cmsCache.end()) {
+ unsigned int value = it->second;
+ rgb->r = byteToCol(value >> 16);
+ rgb->g = byteToCol((value >> 8) & 0xff);
+ rgb->b = byteToCol(value & 0xff);
+ return;
+ }
+ }
transform->doTransform(in,out,1);
rgb->r = byteToCol(out[0]);
rgb->g = byteToCol(out[1]);
rgb->b = byteToCol(out[2]);
+ if (nComps <= 4 && cmsCache.size() <= CMSCACHE_LIMIT) {
+ unsigned int key = 0;
+ for (int j = 0; j < nComps; j++) {
+ key = (key << 8) + in[j];
+ }
+ unsigned int value = (out[0] << 16) + (out[1] << 8) + out[2];
+ cmsCache.insert(std::pair<unsigned int, unsigned int>(key, value));
+ }
+ } else if (transform != NULL && transform->getTransformPixelType() == PT_CMYK) {
+ Guchar in[gfxColorMaxComps];
+ Guchar out[gfxColorMaxComps];
+ double c, m, y, k, c1, m1, y1, k1, r, g, b;
+
+ for (int i = 0;i < nComps;i++) {
+ in[i] = colToByte(color->c[i]);
+ }
+ if (nComps <= 4) {
+ unsigned int key = 0;
+ for (int j = 0; j < nComps; j++) {
+ key = (key << 8) + in[j];
+ }
+ std::map<unsigned int, unsigned int>::iterator it = cmsCache.find(key);
+ if (it != cmsCache.end()) {
+ unsigned int value = it->second;
+ rgb->r = byteToCol(value >> 16);
+ rgb->g = byteToCol((value >> 8) & 0xff);
+ rgb->b = byteToCol(value & 0xff);
+ return;
+ }
+ }
+ transform->doTransform(in,out,1);
+ c = byteToDbl(out[0]);
+ m = byteToDbl(out[1]);
+ y = byteToDbl(out[2]);
+ k = byteToDbl(out[3]);
+ c1 = 1 - c;
+ m1 = 1 - m;
+ y1 = 1 - y;
+ k1 = 1 - k;
+ cmykToRGBMatrixMultiplication(c, m, y, k, c1, m1, y1, k1, r, g, b);
+ rgb->r = clip01(dblToCol(r));
+ rgb->g = clip01(dblToCol(g));
+ rgb->b = clip01(dblToCol(b));
+ if (nComps <= 4 && cmsCache.size() <= CMSCACHE_LIMIT) {
+ unsigned int key = 0;
+ for (int j = 0; j < nComps; j++) {
+ key = (key << 8) + in[j];
+ }
+ unsigned int value = (dblToByte(r) << 16) + (dblToByte(g) << 8) + dblToByte(b);
+ cmsCache.insert(std::pair<unsigned int, unsigned int>(key, value));
+ }
} else {
alt->getRGB(color, rgb);
}
@@ -1820,7 +2108,7 @@ void GfxICCBasedColorSpace::getRGB(GfxColor *color, GfxRGB *rgb) {
void GfxICCBasedColorSpace::getRGBLine(Guchar *in, unsigned int *out,
int length) {
#ifdef USE_CMS
- if (lineTransform != 0) {
+ if (lineTransform != 0 && lineTransform->getTransformPixelType() == PT_RGB) {
Guchar* tmp = (Guchar *)gmallocn(3 * length, sizeof(Guchar));
lineTransform->doTransform(in, tmp, length);
for (int i = 0; i < length; ++i) {
@@ -1838,7 +2126,7 @@ void GfxICCBasedColorSpace::getRGBLine(Guchar *in, unsigned int *out,
void GfxICCBasedColorSpace::getRGBLine(Guchar *in, Guchar *out, int length) {
#ifdef USE_CMS
- if (lineTransform != 0) {
+ if (lineTransform != 0 && lineTransform->getTransformPixelType() == PT_RGB) {
Guchar* tmp = (Guchar *)gmallocn(3 * length, sizeof(Guchar));
lineTransform->doTransform(in, tmp, length);
Guchar *current = tmp;
@@ -1848,6 +2136,26 @@ void GfxICCBasedColorSpace::getRGBLine(Guchar *in, Guchar *out, int length) {
*out++ = *current++;
}
gfree(tmp);
+ } else if (lineTransform != NULL && lineTransform->getTransformPixelType() == PT_CMYK) {
+ Guchar* tmp = (Guchar *)gmallocn(4 * length, sizeof(Guchar));
+ lineTransform->doTransform(in, tmp, length);
+ Guchar *current = tmp;
+ double c, m, y, k, c1, m1, y1, k1, r, g, b;
+ for (int i = 0; i < length; ++i) {
+ c = byteToDbl(*current++);
+ m = byteToDbl(*current++);
+ y = byteToDbl(*current++);
+ k = byteToDbl(*current++);
+ c1 = 1 - c;
+ m1 = 1 - m;
+ y1 = 1 - y;
+ k1 = 1 - k;
+ cmykToRGBMatrixMultiplication(c, m, y, k, c1, m1, y1, k1, r, g, b);
+ *out++ = dblToByte(r);
+ *out++ = dblToByte(g);
+ *out++ = dblToByte(b);
+ }
+ gfree(tmp);
} else {
alt->getRGBLine(in, out, length);
}
@@ -1858,7 +2166,7 @@ void GfxICCBasedColorSpace::getRGBLine(Guchar *in, Guchar *out, int length) {
void GfxICCBasedColorSpace::getRGBXLine(Guchar *in, Guchar *out, int length) {
#ifdef USE_CMS
- if (lineTransform != 0) {
+ if (lineTransform != 0 && lineTransform->getTransformPixelType() == PT_RGB) {
Guchar* tmp = (Guchar *)gmallocn(3 * length, sizeof(Guchar));
lineTransform->doTransform(in, tmp, length);
Guchar *current = tmp;
@@ -1877,20 +2185,123 @@ void GfxICCBasedColorSpace::getRGBXLine(Guchar *in, Guchar *out, int length) {
#endif
}
+void GfxICCBasedColorSpace::getCMYKLine(Guchar *in, Guchar *out, int length) {
+#ifdef USE_CMS
+ if (lineTransform != NULL && lineTransform->getTransformPixelType() == PT_CMYK) {
+ transform->doTransform(in,out,length);
+ } else if (lineTransform != NULL) {
+ GfxColorComp c, m, y, k;
+ Guchar* tmp = (Guchar *)gmallocn(3 * length, sizeof(Guchar));
+ getRGBLine(in, tmp, length);
+ Guchar *p = tmp;
+ for (int i = 0; i < length; i++) {
+ c = byteToCol(255 - *p++);
+ m = byteToCol(255 - *p++);
+ y = byteToCol(255 - *p++);
+ k = c;
+ if (m < k) {
+ k = m;
+ }
+ if (y < k) {
+ k = y;
+ }
+ *out++ = colToByte(c - k);
+ *out++ = colToByte(m - k);
+ *out++ = colToByte(y - k);
+ *out++ = colToByte(k);
+ }
+ gfree(tmp);
+ } else {
+ alt->getCMYKLine(in, out, length);
+ }
+#else
+ alt->getCMYKLine(in, out, length);
+#endif
+}
+
+void GfxICCBasedColorSpace::getDeviceNLine(Guchar *in, Guchar *out, int length) {
+#ifdef USE_CMS
+ if (lineTransform != NULL && lineTransform->getTransformPixelType() == PT_CMYK) {
+ Guchar* tmp = (Guchar *)gmallocn(4 * length, sizeof(Guchar));
+ transform->doTransform(in,tmp,length);
+ Guchar *p = tmp;
+ for (int i = 0; i < length; i++) {
+ for (int j = 0; j < 4; j++)
+ *out++ = *p++;
+ for (int j = 4; j < SPOT_NCOMPS+4; j++)
+ *out++ = 0;
+ }
+ gfree(tmp);
+ } else if (lineTransform != NULL) {
+ GfxColorComp c, m, y, k;
+ Guchar* tmp = (Guchar *)gmallocn(3 * length, sizeof(Guchar));
+ getRGBLine(in, tmp, length);
+ Guchar *p = tmp;
+ for (int i = 0; i < length; i++) {
+ for (int j = 0; j < SPOT_NCOMPS+4; j++)
+ out[j] = 0;
+ c = byteToCol(255 - *p++);
+ m = byteToCol(255 - *p++);
+ y = byteToCol(255 - *p++);
+ k = c;
+ if (m < k) {
+ k = m;
+ }
+ if (y < k) {
+ k = y;
+ }
+ out[0] = colToByte(c - k);
+ out[1] = colToByte(m - k);
+ out[2] = colToByte(y - k);
+ out[3] = colToByte(k);
+ out += (SPOT_NCOMPS+4);
+ }
+ gfree(tmp);
+ } else {
+ alt->getDeviceNLine(in, out, length);
+ }
+#else
+ alt->getDeviceNLine(in, out, length);
+#endif
+}
+
void GfxICCBasedColorSpace::getCMYK(GfxColor *color, GfxCMYK *cmyk) {
#ifdef USE_CMS
- if (transform != NULL && displayPixelType == PT_CMYK) {
+ if (transform != NULL && transform->getTransformPixelType() == PT_CMYK) {
Guchar in[gfxColorMaxComps];
Guchar out[gfxColorMaxComps];
for (int i = 0;i < nComps;i++) {
in[i] = colToByte(color->c[i]);
}
+ if (nComps <= 4) {
+ unsigned int key = 0;
+ for (int j = 0; j < nComps; j++) {
+ key = (key << 8) + in[j];
+ }
+ std::map<unsigned int, unsigned int>::iterator it = cmsCache.find(key);
+ if (it != cmsCache.end()) {
+ unsigned int value = it->second;
+ cmyk->c = byteToCol(value >> 24);
+ cmyk->m = byteToCol((value >> 16) & 0xff);
+ cmyk->y = byteToCol((value >> 8) & 0xff);
+ cmyk->k = byteToCol(value & 0xff);
+ return;
+ }
+ }
transform->doTransform(in,out,1);
cmyk->c = byteToCol(out[0]);
cmyk->m = byteToCol(out[1]);
cmyk->y = byteToCol(out[2]);
cmyk->k = byteToCol(out[3]);
+ if (nComps <= 4 && cmsCache.size() <= CMSCACHE_LIMIT) {
+ unsigned int key = 0;
+ for (int j = 0; j < nComps; j++) {
+ key = (key << 8) + in[j];
+ }
+ unsigned int value = (out[0] << 24) + (out[1] << 16) + (out[2] << 8) + out[3];
+ cmsCache.insert(std::pair<unsigned int, unsigned int>(key, value));
+ }
} else {
GfxRGB rgb;
GfxColorComp c, m, y, k;
@@ -1924,6 +2335,22 @@ GBool GfxICCBasedColorSpace::useGetRGBLine() {
#endif
}
+GBool GfxICCBasedColorSpace::useGetCMYKLine() {
+#ifdef USE_CMS
+ return lineTransform != NULL || alt->useGetCMYKLine();
+#else
+ return alt->useGetCMYKLine();
+#endif
+}
+
+GBool GfxICCBasedColorSpace::useGetDeviceNLine() {
+#ifdef USE_CMS
+ return lineTransform != NULL || alt->useGetDeviceNLine();
+#else
+ return alt->useGetDeviceNLine();
+#endif
+}
+
void GfxICCBasedColorSpace::getDeviceN(GfxColor *color, GfxColor *deviceN) {
GfxCMYK cmyk;
for (int i = 0; i < gfxColorMaxComps; i++)
@@ -1993,7 +2420,7 @@ GfxColorSpace *GfxIndexedColorSpace::copy() {
return cs;
}
-GfxColorSpace *GfxIndexedColorSpace::parse(Array *arr, OutputDev *out, int recursion) {
+GfxColorSpace *GfxIndexedColorSpace::parse(Array *arr, OutputDev *out, GfxState *state, int recursion) {
GfxIndexedColorSpace *cs;
GfxColorSpace *baseA;
int indexHighA;
@@ -2006,7 +2433,7 @@ GfxColorSpace *GfxIndexedColorSpace::parse(Array *arr, OutputDev *out, int recur
goto err1;
}
arr->get(1, &obj1);
- if (!(baseA = GfxColorSpace::parse(&obj1, out, recursion + 1))) {
+ if (!(baseA = GfxColorSpace::parse(&obj1, out, state, recursion + 1))) {
error(errSyntaxWarning, -1, "Bad Indexed color space (base color space)");
goto err2;
}
@@ -2076,7 +2503,7 @@ GfxColor *GfxIndexedColorSpace::mapColorToBase(GfxColor *color,
n = base->getNComps();
base->getDefaultRanges(low, range, indexHigh);
const int idx = (int)(colToDbl(color->c[0]) + 0.5) * n;
- if (likely(idx + n < (indexHigh + 1) * base->getNComps())) {
+ if (likely((idx + n < (indexHigh + 1) * base->getNComps()) && idx >= 0)) {
p = &lookup[idx];
for (i = 0; i < n; ++i) {
baseColor->c[i] = dblToCol(low[i] + (p[i] / 255.0) * range[i]);
@@ -2148,6 +2575,36 @@ void GfxIndexedColorSpace::getRGBXLine(Guchar *in, Guchar *out, int length)
gfree (line);
}
+void GfxIndexedColorSpace::getCMYKLine(Guchar *in, Guchar *out, int length) {
+ Guchar *line;
+ int i, j, n;
+
+ n = base->getNComps();
+ line = (Guchar *) gmallocn (length, n);
+ for (i = 0; i < length; i++)
+ for (j = 0; j < n; j++)
+ line[i * n + j] = lookup[in[i] * n + j];
+
+ base->getCMYKLine(line, out, length);
+
+ gfree (line);
+}
+
+void GfxIndexedColorSpace::getDeviceNLine(Guchar *in, Guchar *out, int length) {
+ Guchar *line;
+ int i, j, n;
+
+ n = base->getNComps();
+ line = (Guchar *) gmallocn (length, n);
+ for (i = 0; i < length; i++)
+ for (j = 0; j < n; j++)
+ line[i * n + j] = lookup[in[i] * n + j];
+
+ base->getDeviceNLine(line, out, length);
+
+ gfree (line);
+}
+
void GfxIndexedColorSpace::getCMYK(GfxColor *color, GfxCMYK *cmyk) {
GfxColor color2;
@@ -2228,7 +2685,7 @@ GfxColorSpace *GfxSeparationColorSpace::copy() {
}
//~ handle the 'All' and 'None' colorants
-GfxColorSpace *GfxSeparationColorSpace::parse(Array *arr, OutputDev *out, int recursion) {
+GfxColorSpace *GfxSeparationColorSpace::parse(Array *arr, OutputDev *out, GfxState *state, int recursion) {
GfxSeparationColorSpace *cs;
GooString *nameA;
GfxColorSpace *altA;
@@ -2246,7 +2703,7 @@ GfxColorSpace *GfxSeparationColorSpace::parse(Array *arr, OutputDev *out, int re
nameA = new GooString(obj1.getName());
obj1.free();
arr->get(2, &obj1);
- if (!(altA = GfxColorSpace::parse(&obj1, out, recursion + 1))) {
+ if (!(altA = GfxColorSpace::parse(&obj1, out, state, recursion + 1))) {
error(errSyntaxWarning, -1, "Bad Separation color space (alternate color space)");
goto err3;
}
@@ -2361,7 +2818,7 @@ void GfxSeparationColorSpace::createMapping(GooList *separationList, int maxSepC
if (!sepCS->getName()->cmp(name)) {
if (sepCS->getFunc()->hasDifferentResultSet(func)) {
error(errSyntaxWarning, -1,
- "Different functions found for '{0:s}', convert immediately", name);
+ "Different functions found for '{0:t}', convert immediately", name);
gfree(mapping);
mapping = NULL;
return;
@@ -2374,7 +2831,7 @@ void GfxSeparationColorSpace::createMapping(GooList *separationList, int maxSepC
}
if (separationList->getLength() == maxSepComps) {
error(errSyntaxWarning, -1,
- "Too many ({0:d}) spots, convert '{1:s}' immediately", maxSepComps, name);
+ "Too many ({0:d}) spots, convert '{1:t}' immediately", maxSepComps, name);
gfree(mapping);
mapping = NULL;
return;
@@ -2477,7 +2934,7 @@ GfxColorSpace *GfxDeviceNColorSpace::copy() {
}
//~ handle the 'None' colorant
-GfxColorSpace *GfxDeviceNColorSpace::parse(Array *arr, OutputDev *out, int recursion) {
+GfxColorSpace *GfxDeviceNColorSpace::parse(Array *arr, OutputDev *out, GfxState *state, int recursion) {
GfxDeviceNColorSpace *cs;
int nCompsA;
GooString *namesA[gfxColorMaxComps];
@@ -2512,7 +2969,7 @@ GfxColorSpace *GfxDeviceNColorSpace::parse(Array *arr, OutputDev *out, int recur
}
obj1.free();
arr->get(2, &obj1);
- if (!(altA = GfxColorSpace::parse(&obj1, out, recursion + 1))) {
+ if (!(altA = GfxColorSpace::parse(&obj1, out, state, recursion + 1))) {
error(errSyntaxWarning, -1, "Bad DeviceN color space (alternate color space)");
goto err3;
}
@@ -2535,7 +2992,7 @@ GfxColorSpace *GfxDeviceNColorSpace::parse(Array *arr, OutputDev *out, int recur
Object obj3;
colorants->getVal(i, &obj3);
if (obj3.isArray()) {
- separationList->append(GfxSeparationColorSpace::parse(obj3.getArray(), out, recursion));
+ separationList->append(GfxSeparationColorSpace::parse(obj3.getArray(), out, state, recursion));
} else {
obj3.free();
obj2.free();
@@ -2675,7 +3132,7 @@ void GfxDeviceNColorSpace::createMapping(GooList *separationList, int maxSepComp
if (!sepCS->getName()->cmp(names[i])) {
if (sepFunc != NULL && sepCS->getFunc()->hasDifferentResultSet(sepFunc)) {
error(errSyntaxWarning, -1,
- "Different functions found for '{0:s}', convert immediately", names[i]);
+ "Different functions found for '{0:t}', convert immediately", names[i]);
gfree(mapping);
mapping = NULL;
overprintMask = 0xffffffff;
@@ -2691,7 +3148,7 @@ void GfxDeviceNColorSpace::createMapping(GooList *separationList, int maxSepComp
if (!found) {
if (separationList->getLength() == maxSepComps) {
error(errSyntaxWarning, -1,
- "Too many ({0:d}) spots, convert '{1:s}' immediately", maxSepComps, names[i]);
+ "Too many ({0:d}) spots, convert '{1:t}' immediately", maxSepComps, names[i]);
gfree(mapping);
mapping = NULL;
overprintMask = 0xffffffff;
@@ -2743,7 +3200,7 @@ GfxColorSpace *GfxPatternColorSpace::copy() {
(GfxColorSpace *)NULL);
}
-GfxColorSpace *GfxPatternColorSpace::parse(Array *arr, OutputDev *out, int recursion) {
+GfxColorSpace *GfxPatternColorSpace::parse(Array *arr, OutputDev *out, GfxState *state, int recursion) {
GfxPatternColorSpace *cs;
GfxColorSpace *underA;
Object obj1;
@@ -2755,7 +3212,7 @@ GfxColorSpace *GfxPatternColorSpace::parse(Array *arr, OutputDev *out, int recur
underA = NULL;
if (arr->getLength() == 2) {
arr->get(1, &obj1);
- if (!(underA = GfxColorSpace::parse(&obj1, out, recursion + 1))) {
+ if (!(underA = GfxColorSpace::parse(&obj1, out, state, recursion + 1))) {
error(errSyntaxWarning, -1, "Bad Pattern color space (underlying color space)");
obj1.free();
return NULL;
@@ -2800,7 +3257,7 @@ GfxPattern::GfxPattern(int typeA) {
GfxPattern::~GfxPattern() {
}
-GfxPattern *GfxPattern::parse(Object *obj, OutputDev *out) {
+GfxPattern *GfxPattern::parse(Object *obj, OutputDev *out, GfxState *state) {
GfxPattern *pattern;
Object obj1;
@@ -2815,7 +3272,7 @@ GfxPattern *GfxPattern::parse(Object *obj, OutputDev *out) {
if (obj1.isInt() && obj1.getInt() == 1) {
pattern = GfxTilingPattern::parse(obj);
} else if (obj1.isInt() && obj1.getInt() == 2) {
- pattern = GfxShadingPattern::parse(obj, out);
+ pattern = GfxShadingPattern::parse(obj, out, state);
}
obj1.free();
return pattern;
@@ -2943,7 +3400,7 @@ GfxPattern *GfxTilingPattern::copy() {
// GfxShadingPattern
//------------------------------------------------------------------------
-GfxShadingPattern *GfxShadingPattern::parse(Object *patObj, OutputDev *out) {
+GfxShadingPattern *GfxShadingPattern::parse(Object *patObj, OutputDev *out, GfxState *state) {
Dict *dict;
GfxShading *shadingA;
double matrixA[6];
@@ -2956,7 +3413,7 @@ GfxShadingPattern *GfxShadingPattern::parse(Object *patObj, OutputDev *out) {
dict = patObj->getDict();
dict->lookup("Shading", &obj1);
- shadingA = GfxShading::parse(&obj1, out);
+ shadingA = GfxShading::parse(&obj1, out, state);
obj1.free();
if (!shadingA) {
return NULL;
@@ -3029,7 +3486,7 @@ GfxShading::~GfxShading() {
}
}
-GfxShading *GfxShading::parse(Object *obj, OutputDev *out) {
+GfxShading *GfxShading::parse(Object *obj, OutputDev *out, GfxState *state) {
GfxShading *shading;
Dict *dict;
int typeA;
@@ -3053,17 +3510,17 @@ GfxShading *GfxShading::parse(Object *obj, OutputDev *out) {
switch (typeA) {
case 1:
- shading = GfxFunctionShading::parse(dict, out);
+ shading = GfxFunctionShading::parse(dict, out, state);
break;
case 2:
- shading = GfxAxialShading::parse(dict, out);
+ shading = GfxAxialShading::parse(dict, out, state);
break;
case 3:
- shading = GfxRadialShading::parse(dict, out);
+ shading = GfxRadialShading::parse(dict, out, state);
break;
case 4:
if (obj->isStream()) {
- shading = GfxGouraudTriangleShading::parse(4, dict, obj->getStream(), out);
+ shading = GfxGouraudTriangleShading::parse(4, dict, obj->getStream(), out, state);
} else {
error(errSyntaxWarning, -1, "Invalid Type 4 shading object");
goto err1;
@@ -3071,7 +3528,7 @@ GfxShading *GfxShading::parse(Object *obj, OutputDev *out) {
break;
case 5:
if (obj->isStream()) {
- shading = GfxGouraudTriangleShading::parse(5, dict, obj->getStream(), out);
+ shading = GfxGouraudTriangleShading::parse(5, dict, obj->getStream(), out, state);
} else {
error(errSyntaxWarning, -1, "Invalid Type 5 shading object");
goto err1;
@@ -3079,7 +3536,7 @@ GfxShading *GfxShading::parse(Object *obj, OutputDev *out) {
break;
case 6:
if (obj->isStream()) {
- shading = GfxPatchMeshShading::parse(6, dict, obj->getStream(), out);
+ shading = GfxPatchMeshShading::parse(6, dict, obj->getStream(), out, state);
} else {
error(errSyntaxWarning, -1, "Invalid Type 6 shading object");
goto err1;
@@ -3087,7 +3544,7 @@ GfxShading *GfxShading::parse(Object *obj, OutputDev *out) {
break;
case 7:
if (obj->isStream()) {
- shading = GfxPatchMeshShading::parse(7, dict, obj->getStream(), out);
+ shading = GfxPatchMeshShading::parse(7, dict, obj->getStream(), out, state);
} else {
error(errSyntaxWarning, -1, "Invalid Type 7 shading object");
goto err1;
@@ -3104,12 +3561,12 @@ GfxShading *GfxShading::parse(Object *obj, OutputDev *out) {
return NULL;
}
-GBool GfxShading::init(Dict *dict, OutputDev *out) {
+GBool GfxShading::init(Dict *dict, OutputDev *out, GfxState *state) {
Object obj1, obj2;
int i;
dict->lookup("ColorSpace", &obj1);
- if (!(colorSpace = GfxColorSpace::parse(&obj1, out))) {
+ if (!(colorSpace = GfxColorSpace::parse(&obj1, out, state))) {
error(errSyntaxWarning, -1, "Bad color space in shading dictionary");
obj1.free();
return gFalse;
@@ -3216,7 +3673,7 @@ GfxFunctionShading::~GfxFunctionShading() {
}
}
-GfxFunctionShading *GfxFunctionShading::parse(Dict *dict, OutputDev *out) {
+GfxFunctionShading *GfxFunctionShading::parse(Dict *dict, OutputDev *out, GfxState *state) {
GfxFunctionShading *shading;
double x0A, y0A, x1A, y1A;
double matrixA[6];
@@ -3263,7 +3720,7 @@ GfxFunctionShading *GfxFunctionShading::parse(Dict *dict, OutputDev *out) {
dict->lookup("Function", &obj1);
if (obj1.isArray()) {
nFuncsA = obj1.arrayGetLength();
- if (nFuncsA > gfxColorMaxComps) {
+ if (nFuncsA > gfxColorMaxComps || nFuncsA <= 0) {
error(errSyntaxWarning, -1, "Invalid Function array in shading dictionary");
goto err1;
}
@@ -3284,7 +3741,7 @@ GfxFunctionShading *GfxFunctionShading::parse(Dict *dict, OutputDev *out) {
shading = new GfxFunctionShading(x0A, y0A, x1A, y1A, matrixA,
funcsA, nFuncsA);
- if (!shading->init(dict, out)) {
+ if (!shading->init(dict, out, state)) {
delete shading;
return NULL;
}
@@ -3535,7 +3992,7 @@ GfxAxialShading::GfxAxialShading(GfxAxialShading *shading):
GfxAxialShading::~GfxAxialShading() {
}
-GfxAxialShading *GfxAxialShading::parse(Dict *dict, OutputDev *out) {
+GfxAxialShading *GfxAxialShading::parse(Dict *dict, OutputDev *out, GfxState *state) {
GfxAxialShading *shading;
double x0A, y0A, x1A, y1A;
double t0A, t1A;
@@ -3632,7 +4089,7 @@ GfxAxialShading *GfxAxialShading::parse(Dict *dict, OutputDev *out) {
shading = new GfxAxialShading(x0A, y0A, x1A, y1A, t0A, t1A,
funcsA, nFuncsA, extend0A, extend1A);
- if (!shading->init(dict, out)) {
+ if (!shading->init(dict, out, state)) {
delete shading;
return NULL;
}
@@ -3743,7 +4200,7 @@ GfxRadialShading::GfxRadialShading(GfxRadialShading *shading):
GfxRadialShading::~GfxRadialShading() {
}
-GfxRadialShading *GfxRadialShading::parse(Dict *dict, OutputDev *out) {
+GfxRadialShading *GfxRadialShading::parse(Dict *dict, OutputDev *out, GfxState *state) {
GfxRadialShading *shading;
double x0A, y0A, r0A, x1A, y1A, r1A;
double t0A, t1A;
@@ -3822,7 +4279,7 @@ GfxRadialShading *GfxRadialShading::parse(Dict *dict, OutputDev *out) {
shading = new GfxRadialShading(x0A, y0A, r0A, x1A, y1A, r1A, t0A, t1A,
funcsA, nFuncsA, extend0A, extend1A);
- if (!shading->init(dict, out)) {
+ if (!shading->init(dict, out, state)) {
delete shading;
return NULL;
}
@@ -4266,7 +4723,7 @@ GfxGouraudTriangleShading::~GfxGouraudTriangleShading() {
GfxGouraudTriangleShading *GfxGouraudTriangleShading::parse(int typeA,
Dict *dict,
Stream *str,
- OutputDev *out) {
+ OutputDev *out, GfxState *gfxState) {
GfxGouraudTriangleShading *shading;
Function *funcsA[gfxColorMaxComps];
int nFuncsA;
@@ -4462,7 +4919,7 @@ GfxGouraudTriangleShading *GfxGouraudTriangleShading::parse(int typeA,
shading = new GfxGouraudTriangleShading(typeA, verticesA, nVerticesA,
trianglesA, nTrianglesA,
funcsA, nFuncsA);
- if (!shading->init(dict, out)) {
+ if (!shading->init(dict, out, gfxState)) {
delete shading;
return NULL;
}
@@ -4609,7 +5066,7 @@ GfxPatchMeshShading::~GfxPatchMeshShading() {
}
GfxPatchMeshShading *GfxPatchMeshShading::parse(int typeA, Dict *dict,
- Stream *str, OutputDev *out) {
+ Stream *str, OutputDev *out, GfxState *state) {
GfxPatchMeshShading *shading;
Function *funcsA[gfxColorMaxComps];
int nFuncsA;
@@ -5133,7 +5590,7 @@ GfxPatchMeshShading *GfxPatchMeshShading::parse(int typeA, Dict *dict,
shading = new GfxPatchMeshShading(typeA, patchesA, nPatchesA,
funcsA, nFuncsA);
- if (!shading->init(dict, out)) {
+ if (!shading->init(dict, out, state)) {
delete shading;
return NULL;
}
@@ -5258,7 +5715,7 @@ GfxImageColorMap::GfxImageColorMap(int bitsA, Object *decode,
nComps2 = colorSpace2->getNComps();
indexedLookup = indexedCS->getLookup();
colorSpace2->getDefaultRanges(x, y, indexHigh);
- if (colorSpace2->useGetGrayLine() || colorSpace2->useGetRGBLine()) {
+ if (colorSpace2->useGetGrayLine() || colorSpace2->useGetRGBLine() || colorSpace2->useGetCMYKLine() || colorSpace2->useGetDeviceNLine()) {
byte_lookup = (Guchar *)gmallocn ((maxPixel + 1), nComps2);
useByteLookup = gTrue;
}
@@ -5285,7 +5742,7 @@ GfxImageColorMap::GfxImageColorMap(int bitsA, Object *decode,
colorSpace2 = sepCS->getAlt();
nComps2 = colorSpace2->getNComps();
sepFunc = sepCS->getFunc();
- if (colorSpace2->useGetGrayLine() || colorSpace2->useGetRGBLine()) {
+ if (colorSpace2->useGetGrayLine() || colorSpace2->useGetRGBLine() || colorSpace2->useGetCMYKLine() || colorSpace2->useGetDeviceNLine()) {
byte_lookup = (Guchar *)gmallocn ((maxPixel + 1), nComps2);
useByteLookup = gTrue;
}
@@ -5302,7 +5759,7 @@ GfxImageColorMap::GfxImageColorMap(int bitsA, Object *decode,
}
break;
default:
- if (colorSpace->useGetGrayLine() || colorSpace->useGetRGBLine()) {
+ if (colorSpace->useGetGrayLine() || colorSpace->useGetRGBLine() || colorSpace->useGetCMYKLine() || colorSpace->useGetDeviceNLine()) {
byte_lookup = (Guchar *)gmallocn ((maxPixel + 1), nComps);
useByteLookup = gTrue;
}
@@ -5599,6 +6056,94 @@ void GfxImageColorMap::getRGBXLine(Guchar *in, Guchar *out, int length) {
}
+void GfxImageColorMap::getCMYKLine(Guchar *in, Guchar *out, int length) {
+ int i, j;
+ Guchar *inp, *tmp_line;
+
+ if (!useCMYKLine()) {
+ GfxCMYK cmyk;
+
+ inp = in;
+ for (i = 0; i < length; i++) {
+ getCMYK (inp, &cmyk);
+ *out++ = colToByte(cmyk.c);
+ *out++ = colToByte(cmyk.m);
+ *out++ = colToByte(cmyk.y);
+ *out++ = colToByte(cmyk.k);
+ inp += nComps;
+ }
+ return;
+ }
+
+ switch (colorSpace->getMode()) {
+ case csIndexed:
+ case csSeparation:
+ tmp_line = (Guchar *) gmallocn (length, nComps2);
+ for (i = 0; i < length; i++) {
+ for (j = 0; j < nComps2; j++) {
+ tmp_line[i * nComps2 + j] = byte_lookup[in[i] * nComps2 + j];
+ }
+ }
+ colorSpace2->getCMYKLine(tmp_line, out, length);
+ gfree (tmp_line);
+ break;
+
+ default:
+ inp = in;
+ for (j = 0; j < length; j++)
+ for (i = 0; i < nComps; i++) {
+ *inp = byte_lookup[*inp * nComps + i];
+ inp++;
+ }
+ colorSpace->getCMYKLine(in, out, length);
+ break;
+ }
+
+}
+
+void GfxImageColorMap::getDeviceNLine(Guchar *in, Guchar *out, int length) {
+ int i, j;
+ Guchar *inp, *tmp_line;
+
+ if (!useDeviceNLine()) {
+ GfxColor deviceN;
+
+ inp = in;
+ for (i = 0; i < length; i++) {
+ getDeviceN (inp, &deviceN);
+ for (int j = 0; j < SPOT_NCOMPS+4; j++)
+ *out++ = deviceN.c[j];
+ inp += nComps;
+ }
+ return;
+ }
+
+ switch (colorSpace->getMode()) {
+ case csIndexed:
+ case csSeparation:
+ tmp_line = (Guchar *) gmallocn (length, nComps2);
+ for (i = 0; i < length; i++) {
+ for (j = 0; j < nComps2; j++) {
+ tmp_line[i * nComps2 + j] = byte_lookup[in[i] * nComps2 + j];
+ }
+ }
+ colorSpace2->getDeviceNLine(tmp_line, out, length);
+ gfree (tmp_line);
+ break;
+
+ default:
+ inp = in;
+ for (j = 0; j < length; j++)
+ for (i = 0; i < nComps; i++) {
+ *inp = byte_lookup[*inp * nComps + i];
+ inp++;
+ }
+ colorSpace->getDeviceNLine(in, out, length);
+ break;
+ }
+
+}
+
void GfxImageColorMap::getCMYK(Guchar *x, GfxCMYK *cmyk) {
GfxColor color;
int i;
@@ -5981,9 +6526,17 @@ GfxState::GfxState(double hDPIA, double vDPIA, PDFRectangle *pageBox,
clipXMax = pageWidth;
clipYMax = pageHeight;
+ renderingIntent[0] = 0;
+
saved = NULL;
#ifdef USE_CMS
GfxColorSpace::setupColorProfiles();
+ XYZ2DisplayTransformRelCol = NULL;
+ XYZ2DisplayTransformAbsCol = NULL;
+ XYZ2DisplayTransformSat = NULL;
+ XYZ2DisplayTransformPerc = NULL;
+ localDisplayProfile = NULL;
+ displayProfileRef = 0;
#endif
}
@@ -6015,6 +6568,27 @@ GfxState::~GfxState() {
if (font) {
font->decRefCnt();
}
+#ifdef USE_CMS
+ if (XYZ2DisplayTransformRelCol) {
+ if (XYZ2DisplayTransformRelCol->unref() == 0)
+ delete XYZ2DisplayTransformRelCol;
+ }
+ if (XYZ2DisplayTransformAbsCol) {
+ if (XYZ2DisplayTransformAbsCol->unref() == 0)
+ delete XYZ2DisplayTransformAbsCol;
+ }
+ if (XYZ2DisplayTransformSat) {
+ if (XYZ2DisplayTransformSat->unref() == 0)
+ delete XYZ2DisplayTransformSat;
+ }
+ if (XYZ2DisplayTransformPerc) {
+ if (XYZ2DisplayTransformPerc->unref() == 0)
+ delete XYZ2DisplayTransformPerc;
+ }
+ if (--displayProfileRef == 0 && localDisplayProfile != NULL) {
+ cmsCloseProfile(localDisplayProfile);
+ }
+#endif
}
// Used for copy();
@@ -6050,8 +6624,102 @@ GfxState::GfxState(GfxState *state, GBool copyPath) {
path = state->path->copy();
}
saved = NULL;
+#ifdef USE_CMS
+ if (XYZ2DisplayTransformRelCol) {
+ XYZ2DisplayTransformRelCol->ref();
+ }
+ if (XYZ2DisplayTransformAbsCol) {
+ XYZ2DisplayTransformAbsCol->ref();
+ }
+ if (XYZ2DisplayTransformSat) {
+ XYZ2DisplayTransformSat->ref();
+ }
+ if (XYZ2DisplayTransformPerc) {
+ XYZ2DisplayTransformPerc->ref();
+ }
+ if (localDisplayProfile) {
+ displayProfileRef++;
+ }
+#endif
}
+#ifdef USE_CMS
+void GfxState::setDisplayProfile(cmsHPROFILE localDisplayProfileA) {
+ if (localDisplayProfile != NULL) {
+ cmsCloseProfile(localDisplayProfile);
+ }
+ localDisplayProfile = localDisplayProfileA;
+ if (localDisplayProfileA != NULL) {
+ cmsHTRANSFORM transform;
+ unsigned int nChannels;
+ unsigned int localDisplayPixelType;
+
+ localDisplayPixelType = getCMSColorSpaceType(cmsGetColorSpace(localDisplayProfile));
+ nChannels = getCMSNChannels(cmsGetColorSpace(localDisplayProfile));
+ displayProfileRef = 1;
+ // create transform from XYZ
+ cmsHPROFILE XYZProfile = cmsCreateXYZProfile();
+ if ((transform = cmsCreateTransform(XYZProfile, TYPE_XYZ_DBL,
+ localDisplayProfile,
+ COLORSPACE_SH(localDisplayPixelType) |
+ CHANNELS_SH(nChannels) | BYTES_SH(1),
+ INTENT_RELATIVE_COLORIMETRIC,LCMS_FLAGS)) == 0) {
+ error(errSyntaxWarning, -1, "Can't create Lab transform");
+ } else {
+ XYZ2DisplayTransformRelCol = new GfxColorTransform(transform, INTENT_RELATIVE_COLORIMETRIC, localDisplayPixelType);
+ }
+ if ((transform = cmsCreateTransform(XYZProfile, TYPE_XYZ_DBL,
+ localDisplayProfile,
+ COLORSPACE_SH(localDisplayPixelType) |
+ CHANNELS_SH(nChannels) | BYTES_SH(1),
+ INTENT_ABSOLUTE_COLORIMETRIC,LCMS_FLAGS)) == 0) {
+ error(errSyntaxWarning, -1, "Can't create Lab transform");
+ } else {
+ XYZ2DisplayTransformAbsCol = new GfxColorTransform(transform, INTENT_ABSOLUTE_COLORIMETRIC, localDisplayPixelType);
+ }
+ if ((transform = cmsCreateTransform(XYZProfile, TYPE_XYZ_DBL,
+ localDisplayProfile,
+ COLORSPACE_SH(localDisplayPixelType) |
+ CHANNELS_SH(nChannels) | BYTES_SH(1),
+ INTENT_SATURATION,LCMS_FLAGS)) == 0) {
+ error(errSyntaxWarning, -1, "Can't create Lab transform");
+ } else {
+ XYZ2DisplayTransformSat = new GfxColorTransform(transform, INTENT_SATURATION, localDisplayPixelType);
+ }
+ if ((transform = cmsCreateTransform(XYZProfile, TYPE_XYZ_DBL,
+ localDisplayProfile,
+ COLORSPACE_SH(localDisplayPixelType) |
+ CHANNELS_SH(nChannels) | BYTES_SH(1),
+ INTENT_PERCEPTUAL,LCMS_FLAGS)) == 0) {
+ error(errSyntaxWarning, -1, "Can't create Lab transform");
+ } else {
+ XYZ2DisplayTransformPerc = new GfxColorTransform(transform, INTENT_PERCEPTUAL, localDisplayPixelType);
+ }
+ cmsCloseProfile(XYZProfile);
+ }
+}
+
+GfxColorTransform *GfxState::getXYZ2DisplayTransform() {
+ GfxColorTransform *transform;
+
+ transform = XYZ2DisplayTransformRelCol;
+ if (renderingIntent != NULL) {
+ if (strcmp(renderingIntent, "AbsoluteColorimetric") == 0) {
+ transform = XYZ2DisplayTransformAbsCol;
+ } else if (strcmp(renderingIntent, "Saturation") == 0) {
+ transform = XYZ2DisplayTransformSat;
+ } else if (strcmp(renderingIntent, "Perceptual") == 0) {
+ transform = XYZ2DisplayTransformPerc;
+ }
+ }
+ if (transform == NULL) {
+ transform = XYZ2DisplayTransform;
+ }
+ return transform;
+}
+
+#endif
+
void GfxState::setPath(GfxPath *pathA) {
delete path;
path = pathA;
diff --git a/poppler/GfxState.h b/poppler/GfxState.h
index 2f3efcfb..106b2c0b 100644
--- a/poppler/GfxState.h
+++ b/poppler/GfxState.h
@@ -20,7 +20,7 @@
// Copyright (C) 2009-2011, 2013 Albert Astals Cid <aacid@kde.org>
// Copyright (C) 2010 Christian Feuersänger <cfeuersaenger@googlemail.com>
// Copyright (C) 2011 Andrea Canciani <ranma42@gmail.com>
-// Copyright (C) 2011, 2012 Thomas Freitag <Thomas.Freitag@alfa.de>
+// Copyright (C) 2011-2013 Thomas Freitag <Thomas.Freitag@alfa.de>
// Copyright (C) 2013 Lu Wang <coolwanglu@gmail.com>
//
// To see a description of the changes please see the Changelog file that
@@ -42,6 +42,7 @@
#include "Function.h"
#include <assert.h>
+#include <map>
class Array;
class Gfx;
@@ -51,6 +52,7 @@ class GfxShading;
class PopplerCache;
class GooList;
class OutputDev;
+class GfxState;
class Matrix {
public:
@@ -180,14 +182,18 @@ class GfxColorTransform {
public:
void doTransform(void *in, void *out, unsigned int size);
// transformA should be a cmsHTRANSFORM
- GfxColorTransform(void *transformA);
+ GfxColorTransform(void *transformA, int cmsIntent, unsigned int transformPixelType);
~GfxColorTransform();
+ int getIntent() { return cmsIntent; }
+ int getTransformPixelType() { return transformPixelType; }
void ref();
unsigned int unref();
private:
GfxColorTransform() {}
void *transform;
unsigned int refCount;
+ int cmsIntent;
+ unsigned int transformPixelType;
};
class GfxColorSpace {
@@ -199,7 +205,7 @@ public:
virtual GfxColorSpaceMode getMode() = 0;
// Construct a color space. Returns NULL if unsuccessful.
- static GfxColorSpace *parse(Object *csObj, OutputDev *out, int recursion = 0);
+ static GfxColorSpace *parse(Object *csObj, OutputDev *out, GfxState *state, int recursion = 0);
// Convert to gray, RGB, or CMYK.
virtual void getGray(GfxColor *color, GfxGray *gray) = 0;
@@ -210,6 +216,8 @@ public:
virtual void getRGBLine(Guchar * /*in*/, unsigned int * /*out*/, int /*length*/) { error(errInternal, -1, "GfxColorSpace::getRGBLine (first variant) this should not happen"); }
virtual void getRGBLine(Guchar * /*in*/, Guchar * /*out*/, int /*length*/) { error(errInternal, -1, "GfxColorSpace::getRGBLine (second variant) this should not happen"); }
virtual void getRGBXLine(Guchar * /*in*/, Guchar * /*out*/, int /*length*/) { error(errInternal, -1, "GfxColorSpace::getRGBXLine this should not happen"); }
+ virtual void getCMYKLine(Guchar * /*in*/, Guchar * /*out*/, int /*length*/) { error(errInternal, -1, "GfxColorSpace::getCMYKLine this should not happen"); }
+ virtual void getDeviceNLine(Guchar * /*in*/, Guchar * /*out*/, int /*length*/) { error(errInternal, -1, "GfxColorSpace::getDeviceNLine this should not happen"); }
// create mapping for spot colorants
virtual void createMapping(GooList *separationList, int maxSepComps);
@@ -218,6 +226,10 @@ public:
virtual GBool useGetRGBLine() { return gFalse; }
// Does this ColorSpace support getGrayLine?
virtual GBool useGetGrayLine() { return gFalse; }
+ // Does this ColorSpace support getCMYKLine?
+ virtual GBool useGetCMYKLine() { return gFalse; }
+ // Does this ColorSpace support getDeviceNLine?
+ virtual GBool useGetDeviceNLine() { return gFalse; }
// Return the number of color components.
virtual int getNComps() = 0;
@@ -279,9 +291,13 @@ public:
virtual void getRGBLine(Guchar *in, unsigned int *out, int length);
virtual void getRGBLine(Guchar *in, Guchar *out, int length);
virtual void getRGBXLine(Guchar *in, Guchar *out, int length);
+ virtual void getCMYKLine(Guchar *in, Guchar *out, int length);
+ virtual void getDeviceNLine(Guchar *in, Guchar *out, int length);
virtual GBool useGetRGBLine() { return gTrue; }
virtual GBool useGetGrayLine() { return gTrue; }
+ virtual GBool useGetCMYKLine() { return gTrue; }
+ virtual GBool useGetDeviceNLine() { return gTrue; }
virtual int getNComps() { return 1; }
virtual void getDefaultColor(GfxColor *color);
@@ -302,7 +318,7 @@ public:
virtual GfxColorSpaceMode getMode() { return csCalGray; }
// Construct a CalGray color space. Returns NULL if unsuccessful.
- static GfxColorSpace *parse(Array *arr);
+ static GfxColorSpace *parse(Array *arr, GfxState *state);
virtual void getGray(GfxColor *color, GfxGray *gray);
virtual void getRGB(GfxColor *color, GfxRGB *rgb);
@@ -328,6 +344,9 @@ private:
double gamma; // gamma value
double kr, kg, kb; // gamut mapping mulitpliers
void getXYZ(GfxColor *color, double *pX, double *pY, double *pZ);
+#ifdef USE_CMS
+ GfxColorTransform *transform;
+#endif
};
//------------------------------------------------------------------------
@@ -350,9 +369,13 @@ public:
virtual void getRGBLine(Guchar *in, unsigned int *out, int length);
virtual void getRGBLine(Guchar *in, Guchar *out, int length);
virtual void getRGBXLine(Guchar *in, Guchar *out, int length);
+ virtual void getCMYKLine(Guchar *in, Guchar *out, int length);
+ virtual void getDeviceNLine(Guchar *in, Guchar *out, int length);
virtual GBool useGetRGBLine() { return gTrue; }
virtual GBool useGetGrayLine() { return gTrue; }
+ virtual GBool useGetCMYKLine() { return gTrue; }
+ virtual GBool useGetDeviceNLine() { return gTrue; }
virtual int getNComps() { return 3; }
virtual void getDefaultColor(GfxColor *color);
@@ -373,7 +396,7 @@ public:
virtual GfxColorSpaceMode getMode() { return csCalRGB; }
// Construct a CalRGB color space. Returns NULL if unsuccessful.
- static GfxColorSpace *parse(Array *arr);
+ static GfxColorSpace *parse(Array *arr, GfxState *state);
virtual void getGray(GfxColor *color, GfxGray *gray);
virtual void getRGB(GfxColor *color, GfxRGB *rgb);
@@ -403,6 +426,9 @@ private:
double mat[9]; // ABC -> XYZ transform matrix
double kr, kg, kb; // gamut mapping mulitpliers
void getXYZ(GfxColor *color, double *pX, double *pY, double *pZ);
+#ifdef USE_CMS
+ GfxColorTransform *transform;
+#endif
};
//------------------------------------------------------------------------
@@ -424,7 +450,11 @@ public:
virtual void getRGBLine(Guchar *in, unsigned int *out, int length);
virtual void getRGBLine(Guchar *, Guchar *out, int length);
virtual void getRGBXLine(Guchar *in, Guchar *out, int length);
+ virtual void getCMYKLine(Guchar *in, Guchar *out, int length);
+ virtual void getDeviceNLine(Guchar *in, Guchar *out, int length);
virtual GBool useGetRGBLine() { return gTrue; }
+ virtual GBool useGetCMYKLine() { return gTrue; }
+ virtual GBool useGetDeviceNLine() { return gTrue; }
virtual int getNComps() { return 4; }
virtual void getDefaultColor(GfxColor *color);
@@ -445,7 +475,7 @@ public:
virtual GfxColorSpaceMode getMode() { return csLab; }
// Construct a Lab color space. Returns NULL if unsuccessful.
- static GfxColorSpace *parse(Array *arr);
+ static GfxColorSpace *parse(Array *arr, GfxState *state);
virtual void getGray(GfxColor *color, GfxGray *gray);
virtual void getRGB(GfxColor *color, GfxRGB *rgb);
@@ -477,6 +507,9 @@ private:
double aMin, aMax, bMin, bMax; // range for the a and b components
double kr, kg, kb; // gamut mapping mulitpliers
void getXYZ(GfxColor *color, double *pX, double *pY, double *pZ);
+#ifdef USE_CMS
+ GfxColorTransform *transform;
+#endif
};
//------------------------------------------------------------------------
@@ -493,7 +526,7 @@ public:
virtual GfxColorSpaceMode getMode() { return csICCBased; }
// Construct an ICCBased color space. Returns NULL if unsuccessful.
- static GfxColorSpace *parse(Array *arr, OutputDev *out, int recursion);
+ static GfxColorSpace *parse(Array *arr, OutputDev *out, GfxState *state, int recursion);
virtual void getGray(GfxColor *color, GfxGray *gray);
virtual void getRGB(GfxColor *color, GfxRGB *rgb);
@@ -502,8 +535,12 @@ public:
virtual void getRGBLine(Guchar *in, unsigned int *out, int length);
virtual void getRGBLine(Guchar *in, Guchar *out, int length);
virtual void getRGBXLine(Guchar *in, Guchar *out, int length);
+ virtual void getCMYKLine(Guchar *in, Guchar *out, int length);
+ virtual void getDeviceNLine(Guchar *in, Guchar *out, int length);
virtual GBool useGetRGBLine();
+ virtual GBool useGetCMYKLine();
+ virtual GBool useGetDeviceNLine();
virtual int getNComps() { return nComps; }
virtual void getDefaultColor(GfxColor *color);
@@ -522,8 +559,10 @@ private:
double rangeMax[4]; // max values for each component
Ref iccProfileStream; // the ICC profile
#ifdef USE_CMS
+ int getIntent() { return (transform != NULL) ? transform->getIntent() : 0; }
GfxColorTransform *transform;
GfxColorTransform *lineTransform; // color transform for line
+ std::map<unsigned int, unsigned int> cmsCache;
#endif
};
//------------------------------------------------------------------------
@@ -539,7 +578,7 @@ public:
virtual GfxColorSpaceMode getMode() { return csIndexed; }
// Construct an Indexed color space. Returns NULL if unsuccessful.
- static GfxColorSpace *parse(Array *arr, OutputDev *out, int recursion);
+ static GfxColorSpace *parse(Array *arr, OutputDev *out, GfxState *state, int recursion);
virtual void getGray(GfxColor *color, GfxGray *gray);
virtual void getRGB(GfxColor *color, GfxRGB *rgb);
@@ -548,8 +587,12 @@ public:
virtual void getRGBLine(Guchar *in, unsigned int *out, int length);
virtual void getRGBLine(Guchar *in, Guchar *out, int length);
virtual void getRGBXLine(Guchar *in, Guchar *out, int length);
+ virtual void getCMYKLine(Guchar *in, Guchar *out, int length);
+ virtual void getDeviceNLine(Guchar *in, Guchar *out, int length);
virtual GBool useGetRGBLine() { return gTrue; }
+ virtual GBool useGetCMYKLine() { return gTrue; }
+ virtual GBool useGetDeviceNLine() { return gTrue; }
virtual int getNComps() { return 1; }
virtual void getDefaultColor(GfxColor *color);
@@ -588,7 +631,7 @@ public:
virtual GfxColorSpaceMode getMode() { return csSeparation; }
// Construct a Separation color space. Returns NULL if unsuccessful.
- static GfxColorSpace *parse(Array *arr, OutputDev *out, int recursion);
+ static GfxColorSpace *parse(Array *arr, OutputDev *out, GfxState *state, int recursion);
virtual void getGray(GfxColor *color, GfxGray *gray);
virtual void getRGB(GfxColor *color, GfxRGB *rgb);
@@ -633,7 +676,7 @@ public:
virtual GfxColorSpaceMode getMode() { return csDeviceN; }
// Construct a DeviceN color space. Returns NULL if unsuccessful.
- static GfxColorSpace *parse(Array *arr, OutputDev *out, int recursion);
+ static GfxColorSpace *parse(Array *arr, OutputDev *out, GfxState *state, int recursion);
virtual void getGray(GfxColor *color, GfxGray *gray);
virtual void getRGB(GfxColor *color, GfxRGB *rgb);
@@ -680,7 +723,7 @@ public:
virtual GfxColorSpaceMode getMode() { return csPattern; }
// Construct a Pattern color space. Returns NULL if unsuccessful.
- static GfxColorSpace *parse(Array *arr, OutputDev *out, int recursion);
+ static GfxColorSpace *parse(Array *arr, OutputDev *out, GfxState *state, int recursion);
virtual void getGray(GfxColor *color, GfxGray *gray);
virtual void getRGB(GfxColor *color, GfxRGB *rgb);
@@ -709,7 +752,7 @@ public:
GfxPattern(int typeA);
virtual ~GfxPattern();
- static GfxPattern *parse(Object *obj, OutputDev *out);
+ static GfxPattern *parse(Object *obj, OutputDev *out, GfxState *state);
virtual GfxPattern *copy() = 0;
@@ -765,7 +808,7 @@ private:
class GfxShadingPattern: public GfxPattern {
public:
- static GfxShadingPattern *parse(Object *patObj, OutputDev *out);
+ static GfxShadingPattern *parse(Object *patObj, OutputDev *out, GfxState *state);
virtual ~GfxShadingPattern();
virtual GfxPattern *copy();
@@ -792,7 +835,7 @@ public:
GfxShading(GfxShading *shading);
virtual ~GfxShading();
- static GfxShading *parse(Object *obj, OutputDev *out);
+ static GfxShading *parse(Object *obj, OutputDev *out, GfxState *state);
virtual GfxShading *copy() = 0;
@@ -806,7 +849,7 @@ public:
protected:
- GBool init(Dict *dict, OutputDev *out);
+ GBool init(Dict *dict, OutputDev *out, GfxState *state);
int type;
GfxColorSpace *colorSpace;
@@ -875,7 +918,7 @@ public:
GfxFunctionShading(GfxFunctionShading *shading);
virtual ~GfxFunctionShading();
- static GfxFunctionShading *parse(Dict *dict, OutputDev *out);
+ static GfxFunctionShading *parse(Dict *dict, OutputDev *out, GfxState *state);
virtual GfxShading *copy();
@@ -909,7 +952,7 @@ public:
GfxAxialShading(GfxAxialShading *shading);
virtual ~GfxAxialShading();
- static GfxAxialShading *parse(Dict *dict, OutputDev *out);
+ static GfxAxialShading *parse(Dict *dict, OutputDev *out, GfxState *state);
virtual GfxShading *copy();
@@ -942,7 +985,7 @@ public:
GfxRadialShading(GfxRadialShading *shading);
virtual ~GfxRadialShading();
- static GfxRadialShading *parse(Dict *dict, OutputDev *out);
+ static GfxRadialShading *parse(Dict *dict, OutputDev *out, GfxState *state);
virtual GfxShading *copy();
@@ -980,7 +1023,7 @@ public:
GfxGouraudTriangleShading(GfxGouraudTriangleShading *shading);
virtual ~GfxGouraudTriangleShading();
- static GfxGouraudTriangleShading *parse(int typeA, Dict *dict, Stream *str, OutputDev *out);
+ static GfxGouraudTriangleShading *parse(int typeA, Dict *dict, Stream *str, OutputDev *out, GfxState *state);
virtual GfxShading *copy();
@@ -1066,7 +1109,7 @@ public:
GfxPatchMeshShading(GfxPatchMeshShading *shading);
virtual ~GfxPatchMeshShading();
- static GfxPatchMeshShading *parse(int typeA, Dict *dict, Stream *str, OutputDev *out);
+ static GfxPatchMeshShading *parse(int typeA, Dict *dict, Stream *str, OutputDev *out, GfxState *state);
virtual GfxShading *copy();
@@ -1126,6 +1169,8 @@ public:
double getDecodeHigh(int i) { return decodeLow[i] + decodeRange[i]; }
bool useRGBLine() { return (colorSpace2 && colorSpace2->useGetRGBLine ()) || (!colorSpace2 && colorSpace->useGetRGBLine ()); }
+ bool useCMYKLine() { return (colorSpace2 && colorSpace2->useGetCMYKLine ()) || (!colorSpace2 && colorSpace->useGetCMYKLine ()); }
+ bool useDeviceNLine() { return (colorSpace2 && colorSpace2->useGetDeviceNLine ()) || (!colorSpace2 && colorSpace->useGetDeviceNLine ()); }
// Convert an image pixel to a color.
void getGray(Guchar *x, GfxGray *gray);
@@ -1134,6 +1179,8 @@ public:
void getRGBLine(Guchar *in, Guchar *out, int length);
void getRGBXLine(Guchar *in, Guchar *out, int length);
void getGrayLine(Guchar *in, Guchar *out, int length);
+ void getCMYKLine(Guchar *in, Guchar *out, int length);
+ void getDeviceNLine(Guchar *in, Guchar *out, int length);
void getCMYK(Guchar *x, GfxCMYK *cmyk);
void getDeviceN(Guchar *x, GfxColor *deviceN);
void getColor(Guchar *x, GfxColor *color);
@@ -1407,6 +1454,7 @@ public:
double getLeading() { return leading; }
double getRise() { return rise; }
int getRender() { return render; }
+ char *getRenderingIntent() { return renderingIntent; }
GfxPath *getPath() { return path; }
void setPath(GfxPath *pathA);
double getCurX() { return curX; }
@@ -1485,6 +1533,14 @@ public:
{ rise = riseA; }
void setRender(int renderA)
{ render = renderA; }
+ void setRenderingIntent(const char *intent)
+ { strncpy(renderingIntent, intent, 31); }
+
+#ifdef USE_CMS
+ void setDisplayProfile(void *localDisplayProfileA);
+ void *getDisplayProfile() { return localDisplayProfile; }
+ GfxColorTransform *getXYZ2DisplayTransform();
+#endif
// Add to path.
void moveTo(double x, double y)
@@ -1573,10 +1629,20 @@ private:
double clipXMin, clipYMin, // bounding box for clip region
clipXMax, clipYMax;
+ char renderingIntent[32];
GfxState *saved; // next GfxState on stack
GfxState(GfxState *state, GBool copyPath);
+
+#ifdef USE_CMS
+ void *localDisplayProfile;
+ int displayProfileRef;
+ GfxColorTransform *XYZ2DisplayTransformRelCol;
+ GfxColorTransform *XYZ2DisplayTransformAbsCol;
+ GfxColorTransform *XYZ2DisplayTransformSat;
+ GfxColorTransform *XYZ2DisplayTransformPerc;
+#endif
};
#endif
diff --git a/poppler/GlobalParams.cc b/poppler/GlobalParams.cc
index 6efdd0c0..3d88646f 100644
--- a/poppler/GlobalParams.cc
+++ b/poppler/GlobalParams.cc
@@ -34,6 +34,7 @@
// Copyright (C) 2012 Adrian Johnson <ajohnson@redneon.com>
// Copyright (C) 2012 Thomas Freitag <Thomas.Freitag@alfa.de>
// Copyright (C) 2012 Peter Breitenlohner <peb@mppmu.mpg.de>
+// Copyright (C) 2013, 2014 Jason Crain <jason@aquaticape.us>
//
// To see a description of the changes please see the Changelog file that
// came with your tarball or type make ChangeLog if you are building from git
@@ -576,7 +577,8 @@ GlobalParams::GlobalParams(const char *customPopplerDataDir)
#ifdef _WIN32
substFiles = new GooHash(gTrue);
#endif
- nameToUnicode = new NameToCharCode();
+ nameToUnicodeZapfDingbats = new NameToCharCode();
+ nameToUnicodeText = new NameToCharCode();
cidToUnicodes = new GooHash(gTrue);
unicodeToUnicodes = new GooHash(gTrue);
residentUnicodeMaps = new GooHash();
@@ -631,7 +633,7 @@ GlobalParams::GlobalParams(const char *customPopplerDataDir)
minLineWidth = 0.0;
overprintPreview = gFalse;
mapNumericCharNames = gTrue;
- mapUnknownCharNames = gFalse;
+ mapUnknownCharNames = gTrue;
printCommands = gFalse;
profileCommands = gFalse;
errQuiet = gFalse;
@@ -648,9 +650,13 @@ GlobalParams::GlobalParams(const char *customPopplerDataDir)
securityHandlers = new GooList();
#endif
- // set up the initial nameToUnicode table
- for (i = 0; nameToUnicodeTab[i].name; ++i) {
- nameToUnicode->add(nameToUnicodeTab[i].name, nameToUnicodeTab[i].u);
+ // set up the initial nameToUnicode tables
+ for (i = 0; nameToUnicodeZapfDingbatsTab[i].name; ++i) {
+ nameToUnicodeZapfDingbats->add(nameToUnicodeZapfDingbatsTab[i].name, nameToUnicodeZapfDingbatsTab[i].u);
+ }
+
+ for (i = 0; nameToUnicodeTextTab[i].name; ++i) {
+ nameToUnicodeText->add(nameToUnicodeTextTab[i].name, nameToUnicodeTextTab[i].u);
}
// set up the residentUnicodeMaps table
@@ -740,7 +746,7 @@ void GlobalParams::parseNameToUnicode(GooString *name) {
tok2 = strtok_r(NULL, " \t\r\n", &tokptr);
if (tok1 && tok2) {
sscanf(tok1, "%x", &u);
- nameToUnicode->add(tok2, u);
+ nameToUnicodeText->add(tok2, u);
} else {
error(errConfig, -1, "Bad line in 'nameToUnicode' file ({0:t}:{1:d})",
name, line);
@@ -796,7 +802,8 @@ GlobalParams::~GlobalParams() {
delete macRomanReverseMap;
- delete nameToUnicode;
+ delete nameToUnicodeZapfDingbats;
+ delete nameToUnicodeText;
deleteGooHash(cidToUnicodes, GooString);
deleteGooHash(unicodeToUnicodes, GooString);
deleteGooHash(residentUnicodeMaps, UnicodeMap);
@@ -853,9 +860,17 @@ CharCode GlobalParams::getMacRomanCharCode(char *charName) {
return macRomanReverseMap->lookup(charName);
}
-Unicode GlobalParams::mapNameToUnicode(const char *charName) {
- // no need to lock - nameToUnicode is constant
- return nameToUnicode->lookup(charName);
+Unicode GlobalParams::mapNameToUnicodeAll(const char *charName) {
+ // no need to lock - nameToUnicodeZapfDingbats and nameToUnicodeText are constant
+ Unicode u = nameToUnicodeZapfDingbats->lookup(charName);
+ if (!u)
+ u = nameToUnicodeText->lookup(charName);
+ return u;
+}
+
+Unicode GlobalParams::mapNameToUnicodeText(const char *charName) {
+ // no need to lock - nameToUnicodeText is constant
+ return nameToUnicodeText->lookup(charName);
}
UnicodeMap *GlobalParams::getResidentUnicodeMap(GooString *encodingName) {
diff --git a/poppler/GlobalParams.h b/poppler/GlobalParams.h
index bc11684f..c33a8024 100644
--- a/poppler/GlobalParams.h
+++ b/poppler/GlobalParams.h
@@ -25,6 +25,7 @@
// Copyright (C) 2011 Pino Toscano <pino@kde.org>
// Copyright (C) 2012 Adrian Johnson <ajohnson@redneon.com>
// Copyright (C) 2012 Thomas Freitag <Thomas.Freitag@alfa.de>
+// Copyright (C) 2013 Jason Crain <jason@aquaticape.us>
//
// To see a description of the changes please see the Changelog file that
// came with your tarball or type make ChangeLog if you are building from git
@@ -139,7 +140,14 @@ public:
CharCode getMacRomanCharCode(char *charName);
- Unicode mapNameToUnicode(const char *charName);
+ // Return Unicode values for character names. Used for general text
+ // extraction.
+ Unicode mapNameToUnicodeText(const char *charName);
+
+ // Return Unicode values for character names. Used for glyph
+ // lookups or text extraction with ZapfDingbats fonts.
+ Unicode mapNameToUnicodeAll(const char *charName);
+
UnicodeMap *getResidentUnicodeMap(GooString *encodingName);
FILE *getUnicodeMapFile(GooString *encodingName);
FILE *findCMapFile(GooString *collection, GooString *cMapName);
@@ -271,8 +279,10 @@ private:
//----- user-modifiable settings
- NameToCharCode * // mapping from char name to Unicode
- nameToUnicode;
+ NameToCharCode * // mapping from char name to Unicode for ZapfDingbats
+ nameToUnicodeZapfDingbats;
+ NameToCharCode * // mapping from char name to Unicode for text
+ nameToUnicodeText; // extraction
GooHash *cidToUnicodes; // files for mappings from char collections
// to Unicode, indexed by collection name
// [GooString]
diff --git a/poppler/Hints.cc b/poppler/Hints.cc
index 49e201da..bdd0d322 100644
--- a/poppler/Hints.cc
+++ b/poppler/Hints.cc
@@ -5,9 +5,10 @@
// This file is licensed under the GPLv2 or later
//
// Copyright 2010, 2012 Hib Eris <hib@hiberis.nl>
-// Copyright 2010, 2011, 2013 Albert Astals Cid <aacid@kde.org>
+// Copyright 2010, 2011, 2013, 2014 Albert Astals Cid <aacid@kde.org>
// Copyright 2010, 2013 Pino Toscano <pino@kde.org>
// Copyright 2013 Adrian Johnson <ajohnson@redneon.com>
+// Copyright 2014 Fabio D'Urso <fabiodurso@hotmail.it>
//
//========================================================================
@@ -38,7 +39,7 @@ Hints::Hints(BaseStream *str, Linearization *linearization, XRef *xref, Security
pageObjectFirst = linearization->getObjectNumberFirst();
if (pageObjectFirst < 0 || pageObjectFirst >= xref->getNumObjects()) {
error(errSyntaxWarning, -1,
- "Invalid reference for first page object (%d) in linearization table ",
+ "Invalid reference for first page object ({0:d}) in linearization table ",
pageObjectFirst);
pageObjectFirst = 0;
}
@@ -176,6 +177,11 @@ void Hints::readPageOffsetTable(Stream *str)
inputBits = 0; // reset on byte boundary.
nObjectLeast = readBits(32, str);
+ if (nObjectLeast < 1) {
+ error(errSyntaxWarning, -1, "Invalid least number of objects reading page offset hints table");
+ nPages = 0;
+ return;
+ }
objectOffsetFirst = readBits(32, str);
if (objectOffsetFirst >= hintsOffset) objectOffsetFirst += hintsLength;
diff --git a/poppler/Hints.h b/poppler/Hints.h
index f5225f9f..f46c07f6 100644
--- a/poppler/Hints.h
+++ b/poppler/Hints.h
@@ -5,7 +5,7 @@
// This file is licensed under the GPLv2 or later
//
// Copyright 2010 Hib Eris <hib@hiberis.nl>
-// Copyright 2010 Albert Astals Cid <aacid@kde.org>
+// Copyright 2010, 2013 Albert Astals Cid <aacid@kde.org>
// Copyright 2013 Adrian Johnson <ajohnson@redneon.com>
//
//========================================================================
@@ -57,7 +57,6 @@ private:
int pageObjectFirst;
Goffset pageOffsetFirst;
Guint pageEndFirst;
- int objectNumberFirst;
Guint nObjectLeast;
Guint objectOffsetFirst;
diff --git a/poppler/JBIG2Stream.cc b/poppler/JBIG2Stream.cc
index 12de50e1..0695dc5d 100644
--- a/poppler/JBIG2Stream.cc
+++ b/poppler/JBIG2Stream.cc
@@ -15,12 +15,13 @@
//
// Copyright (C) 2006 Raj Kumar <rkumar@archive.org>
// Copyright (C) 2006 Paul Walmsley <paul@booyaka.com>
-// Copyright (C) 2006-2010, 2012 Albert Astals Cid <aacid@kde.org>
+// Copyright (C) 2006-2010, 2012, 2014 Albert Astals Cid <aacid@kde.org>
// Copyright (C) 2009 David Benjamin <davidben@mit.edu>
// Copyright (C) 2011 Edward Jiang <ejiang@google.com>
// Copyright (C) 2012 William Bader <williambader@hotmail.com>
// Copyright (C) 2012 Thomas Freitag <Thomas.Freitag@alfa.de>
// Copyright (C) 2013 Adrian Johnson <ajohnson@redneon.com>
+// Copyright (C) 2013, 2014 Fabio D'Urso <fabiodurso@hotmail.it>
//
// To see a description of the changes please see the Changelog file that
// came with your tarball or type make ChangeLog if you are building from git
@@ -1495,7 +1496,7 @@ void JBIG2Stream::readSegments() {
// arithmetic-coded symbol dictionary segments when numNewSyms
// == 0. Segments like this often occur for blank pages.
- error(errSyntaxError, curStr->getPos(), "{0:d} extraneous byte{1:s} after segment",
+ error(errSyntaxError, curStr->getPos(), "{0:lld} extraneous byte{1:s} after segment",
segExtraBytes, (segExtraBytes > 1) ? "s" : "");
// Burn through the remaining bytes -- inefficient, but
@@ -1839,7 +1840,7 @@ GBool JBIG2Stream::readSymbolDictSeg(Guint segNum, Guint length,
}
refBitmap = bitmaps[symID];
if (unlikely(refBitmap == NULL)) {
- error(errSyntaxError, curStr->getPos(), "Invalid ref bitmap for symbol ID {0:d} in JBIG2 symbol dictionary", symID);
+ error(errSyntaxError, curStr->getPos(), "Invalid ref bitmap for symbol ID {0:ud} in JBIG2 symbol dictionary", symID);
goto syntaxError;
}
bitmaps[numInputSyms + i] =
@@ -2289,8 +2290,8 @@ void JBIG2Stream::readTextRegionSeg(Guint segNum, GBool imm,
codeTableError:
error(errSyntaxError, curStr->getPos(), "Missing code table in JBIG2 text region");
- gfree(codeTables);
- delete syms;
+ delete codeTables;
+ gfree(syms);
return;
eofError:
@@ -3383,8 +3384,9 @@ JBIG2Bitmap *JBIG2Stream::readGenericBitmap(GBool mmr, int w, int h,
if (atx[0] >= -8 && atx[0] <= 8) {
// set up the adaptive context
- if (y + aty[0] >= 0) {
- atP0 = bitmap->getDataPtr() + (y + aty[0]) * bitmap->getLineSize();
+ const int atY = y + aty[0];
+ if ((atY >= 0) && (atY < bitmap->getHeight())) {
+ atP0 = bitmap->getDataPtr() + atY * bitmap->getLineSize();
atBuf0 = *atP0++ << 8;
} else {
atP0 = NULL;
@@ -3498,8 +3500,9 @@ JBIG2Bitmap *JBIG2Stream::readGenericBitmap(GBool mmr, int w, int h,
if (atx[0] >= -8 && atx[0] <= 8) {
// set up the adaptive context
- if (y + aty[0] >= 0) {
- atP0 = bitmap->getDataPtr() + (y + aty[0]) * bitmap->getLineSize();
+ const int atY = y + aty[0];
+ if ((atY >= 0) && (atY < bitmap->getHeight())) {
+ atP0 = bitmap->getDataPtr() + atY * bitmap->getLineSize();
atBuf0 = *atP0++ << 8;
} else {
atP0 = NULL;
@@ -3606,8 +3609,9 @@ JBIG2Bitmap *JBIG2Stream::readGenericBitmap(GBool mmr, int w, int h,
if (atx[0] >= -8 && atx[0] <= 8) {
// set up the adaptive context
- if (y + aty[0] >= 0) {
- atP0 = bitmap->getDataPtr() + (y + aty[0]) * bitmap->getLineSize();
+ const int atY = y + aty[0];
+ if ((atY >= 0) && (atY < bitmap->getHeight())) {
+ atP0 = bitmap->getDataPtr() + atY * bitmap->getLineSize();
atBuf0 = *atP0++ << 8;
} else {
atP0 = NULL;
diff --git a/poppler/JBIG2Stream.h b/poppler/JBIG2Stream.h
index be1b3bd7..0ee25185 100644
--- a/poppler/JBIG2Stream.h
+++ b/poppler/JBIG2Stream.h
@@ -56,6 +56,7 @@ public:
virtual int lookChar();
virtual GooString *getPSFilter(int psLevel, const char *indent);
virtual GBool isBinary(GBool last = gTrue);
+ virtual Object *getGlobalsStream() { return &globalsStream; }
private:
virtual GBool hasGetChars() { return true; }
diff --git a/poppler/Lexer.cc b/poppler/Lexer.cc
index bd7546f8..952967a9 100644
--- a/poppler/Lexer.cc
+++ b/poppler/Lexer.cc
@@ -13,7 +13,7 @@
// All changes made under the Poppler project to this file are licensed
// under GPL version 2 or later
//
-// Copyright (C) 2006-2010, 2012 Albert Astals Cid <aacid@kde.org>
+// Copyright (C) 2006-2010, 2012-2014 Albert Astals Cid <aacid@kde.org>
// Copyright (C) 2006 Krzysztof Kowalczyk <kkowalczyk@gmail.com>
// Copyright (C) 2010 Carlos Garcia Campos <carlosgc@gnome.org>
// Copyright (C) 2012, 2013 Adrian Johnson <ajohnson@redneon.com>
@@ -581,7 +581,7 @@ Object *Lexer::getObj(Object *obj, int objNum) {
return obj;
}
-Object *Lexer::getObj(Object *obj, const char *cmdA) {
+Object *Lexer::getObj(Object *obj, const char *cmdA, int objNum) {
char *p;
int c;
GBool comment;
@@ -591,7 +591,7 @@ Object *Lexer::getObj(Object *obj, const char *cmdA) {
comment = gFalse;
const char *cmd1 = tokBuf;
*tokBuf = 0;
- while (strcmp(cmdA, cmd1)) {
+ while (strcmp(cmdA, cmd1) && (objNum < 0 || (xref && xref->getNumEntry(getPos()) == objNum))) {
while (1) {
if ((c = getChar()) == EOF) {
return obj->initEOF();
diff --git a/poppler/Lexer.h b/poppler/Lexer.h
index d9c23dc8..02b6cdc6 100644
--- a/poppler/Lexer.h
+++ b/poppler/Lexer.h
@@ -13,7 +13,7 @@
// All changes made under the Poppler project to this file are licensed
// under GPL version 2 or later
//
-// Copyright (C) 2006, 2007, 2010 Albert Astals Cid <aacid@kde.org>
+// Copyright (C) 2006, 2007, 2010, 2013 Albert Astals Cid <aacid@kde.org>
// Copyright (C) 2006 Krzysztof Kowalczyk <kkowalczyk@gmail.com>
// Copyright (C) 2013 Adrian Johnson <ajohnson@redneon.com>
// Copyright (C) 2013 Thomas Freitag <Thomas.Freitag@alfa.de>
@@ -57,7 +57,7 @@ public:
// Get the next object from the input stream.
Object *getObj(Object *obj, int objNum = -1);
- Object *getObj(Object *obj, const char *cmdA);
+ Object *getObj(Object *obj, const char *cmdA, int objNum);
// Skip to the beginning of the next line in the input stream.
void skipToNextLine();
diff --git a/poppler/Link.cc b/poppler/Link.cc
index 20184d13..4ab5f52c 100644
--- a/poppler/Link.cc
+++ b/poppler/Link.cc
@@ -16,7 +16,7 @@
// Copyright (C) 2006, 2008 Pino Toscano <pino@kde.org>
// Copyright (C) 2007, 2010, 2011 Carlos Garcia Campos <carlosgc@gnome.org>
// Copyright (C) 2008 Hugo Mercier <hmercier31@gmail.com>
-// Copyright (C) 2008-2010, 2012, 2013 Albert Astals Cid <aacid@kde.org>
+// Copyright (C) 2008-2010, 2012-2014 Albert Astals Cid <aacid@kde.org>
// Copyright (C) 2009 Kovid Goyal <kovid@kovidgoyal.net>
// Copyright (C) 2009 Ilya Gorenbein <igorenbein@finjan.com>
// Copyright (C) 2012 Tobias Koening <tobias.koenig@kdab.com>
@@ -559,9 +559,11 @@ LinkURI::LinkURI(Object *uriObj, GooString *baseURI) {
// relative URI
if (baseURI) {
uri = baseURI->copy();
- c = uri->getChar(uri->getLength() - 1);
- if (c != '/' && c != '?') {
- uri->append('/');
+ if (uri->getLength() > 0) {
+ c = uri->getChar(uri->getLength() - 1);
+ if (c != '/' && c != '?') {
+ uri->append('/');
+ }
}
if (uri2->getChar(0) == '/') {
uri->append(uri2->getCString() + 1, uri2->getLength() - 1);
diff --git a/poppler/Makefile.am b/poppler/Makefile.am
index aa7c9242..ce6f4b2d 100644
--- a/poppler/Makefile.am
+++ b/poppler/Makefile.am
@@ -157,7 +157,7 @@ libpoppler_la_LIBADD = \
$(PTHREAD_LIBS) \
$(win32_libs)
-libpoppler_la_LDFLAGS = -version-info 43:0:0 @create_shared_lib@ @auto_import_flags@
+libpoppler_la_LDFLAGS = -version-info 46:0:0 @create_shared_lib@ @auto_import_flags@
if ENABLE_XPDF_HEADERS
@@ -216,6 +216,8 @@ poppler_include_HEADERS = \
StdinPDFDocBuilder.h \
Stream-CCITT.h \
Stream.h \
+ StructElement.h \
+ StructTreeRoot.h \
UnicodeMap.h \
UnicodeMapTables.h \
UnicodeTypeTable.h \
@@ -230,6 +232,7 @@ poppler_include_HEADERS = \
NameToUnicodeTable.h \
PSOutputDev.h \
TextOutputDev.h \
+ MarkedContentOutputDev.h \
SecurityHandler.h \
UTF.h \
UTF8.h \
@@ -294,6 +297,8 @@ libpoppler_la_SOURCES = \
StdinCachedFile.cc \
StdinPDFDocBuilder.cc \
Stream.cc \
+ StructTreeRoot.cc \
+ StructElement.cc \
strtok_r.cpp \
UnicodeMap.cc \
UnicodeTypeTable.cc \
@@ -302,6 +307,7 @@ libpoppler_la_SOURCES = \
XRef.cc \
PSOutputDev.cc \
TextOutputDev.cc \
+ MarkedContentOutputDev.cc \
PageLabelInfo.h \
PageLabelInfo.cc \
SecurityHandler.cc \
diff --git a/poppler/Makefile.in b/poppler/Makefile.in
index f566ad94..5d5e1fed 100644
--- a/poppler/Makefile.in
+++ b/poppler/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.13.3 from Makefile.am.
+# Makefile.in generated by automake 1.14.1 from Makefile.am.
# @configure_input@
# Copyright (C) 1994-2013 Free Software Foundation, Inc.
@@ -174,8 +174,9 @@ am__libpoppler_la_SOURCES_DIST = SplashOutputDev.cc DCTStream.h \
PDFDocEncoding.cc PDFDocFactory.cc PopplerCache.cc \
ProfileData.cc PreScanOutputDev.cc PSTokenizer.cc Rendition.cc \
StdinCachedFile.cc StdinPDFDocBuilder.cc Stream.cc \
- strtok_r.cpp UnicodeMap.cc UnicodeTypeTable.cc UTF.cc \
- ViewerPreferences.cc XRef.cc PSOutputDev.cc TextOutputDev.cc \
+ StructTreeRoot.cc StructElement.cc strtok_r.cpp UnicodeMap.cc \
+ UnicodeTypeTable.cc UTF.cc ViewerPreferences.cc XRef.cc \
+ PSOutputDev.cc TextOutputDev.cc MarkedContentOutputDev.cc \
PageLabelInfo.h PageLabelInfo.cc SecurityHandler.cc Sound.cc \
XpdfPluginAPI.cc
@BUILD_SPLASH_OUTPUT_TRUE@am__objects_1 = SplashOutputDev.lo
@@ -197,10 +198,11 @@ am_libpoppler_la_OBJECTS = $(am__objects_1) $(am__objects_2) \
Outline.lo OutputDev.lo Page.lo PageTransition.lo Parser.lo \
PDFDoc.lo PDFDocEncoding.lo PDFDocFactory.lo PopplerCache.lo \
ProfileData.lo PreScanOutputDev.lo PSTokenizer.lo Rendition.lo \
- StdinCachedFile.lo StdinPDFDocBuilder.lo Stream.lo strtok_r.lo \
- UnicodeMap.lo UnicodeTypeTable.lo UTF.lo ViewerPreferences.lo \
- XRef.lo PSOutputDev.lo TextOutputDev.lo PageLabelInfo.lo \
- SecurityHandler.lo Sound.lo XpdfPluginAPI.lo
+ StdinCachedFile.lo StdinPDFDocBuilder.lo Stream.lo \
+ StructTreeRoot.lo StructElement.lo strtok_r.lo UnicodeMap.lo \
+ UnicodeTypeTable.lo UTF.lo ViewerPreferences.lo XRef.lo \
+ PSOutputDev.lo TextOutputDev.lo MarkedContentOutputDev.lo \
+ PageLabelInfo.lo SecurityHandler.lo Sound.lo XpdfPluginAPI.lo
libpoppler_la_OBJECTS = $(am_libpoppler_la_OBJECTS)
libpoppler_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
@@ -278,11 +280,12 @@ am__poppler_include_HEADERS_DIST = SplashOutputDev.h CurlCachedFile.h \
PageTransition.h Parser.h PDFDoc.h PDFDocBuilder.h \
PDFDocEncoding.h PDFDocFactory.h PopplerCache.h ProfileData.h \
PreScanOutputDev.h PSTokenizer.h Rendition.h StdinCachedFile.h \
- StdinPDFDocBuilder.h Stream-CCITT.h Stream.h UnicodeMap.h \
- UnicodeMapTables.h UnicodeTypeTable.h UnicodeCClassTables.h \
- UnicodeCompTables.h UnicodeDecompTables.h ViewerPreferences.h \
- XRef.h CharTypes.h CompactFontTables.h ErrorCodes.h \
- NameToUnicodeTable.h PSOutputDev.h TextOutputDev.h \
+ StdinPDFDocBuilder.h Stream-CCITT.h Stream.h StructElement.h \
+ StructTreeRoot.h UnicodeMap.h UnicodeMapTables.h \
+ UnicodeTypeTable.h UnicodeCClassTables.h UnicodeCompTables.h \
+ UnicodeDecompTables.h ViewerPreferences.h XRef.h CharTypes.h \
+ CompactFontTables.h ErrorCodes.h NameToUnicodeTable.h \
+ PSOutputDev.h TextOutputDev.h MarkedContentOutputDev.h \
SecurityHandler.h UTF.h UTF8.h XpdfPluginAPI.h Sound.h
HEADERS = $(nodist_poppler_include_HEADERS) $(poppler_include_HEADERS)
am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) \
@@ -351,6 +354,7 @@ GLIB_REQ = @GLIB_REQ@
GLIB_REQUIRED = @GLIB_REQUIRED@
GREP = @GREP@
GTKDOC_CHECK = @GTKDOC_CHECK@
+GTKDOC_CHECK_PATH = @GTKDOC_CHECK_PATH@
GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
GTKDOC_MKPDF = @GTKDOC_MKPDF@
@@ -387,7 +391,6 @@ LIBPNG_CFLAGS = @LIBPNG_CFLAGS@
LIBPNG_LIBS = @LIBPNG_LIBS@
LIBS = @LIBS@
LIBTIFF_CFLAGS = @LIBTIFF_CFLAGS@
-LIBTIFF_CFLAGSS = @LIBTIFF_CFLAGSS@
LIBTIFF_LIBS = @LIBTIFF_LIBS@
LIBTOOL = @LIBTOOL@
LIPO = @LIPO@
@@ -634,7 +637,7 @@ libpoppler_la_LIBADD = \
$(PTHREAD_LIBS) \
$(win32_libs)
-libpoppler_la_LDFLAGS = -version-info 43:0:0 @create_shared_lib@ @auto_import_flags@
+libpoppler_la_LDFLAGS = -version-info 46:0:0 @create_shared_lib@ @auto_import_flags@
@ENABLE_XPDF_HEADERS_TRUE@poppler_includedir = $(includedir)/poppler
@ENABLE_XPDF_HEADERS_TRUE@poppler_include_HEADERS = \
@ENABLE_XPDF_HEADERS_TRUE@ $(splash_headers) \
@@ -690,6 +693,8 @@ libpoppler_la_LDFLAGS = -version-info 43:0:0 @create_shared_lib@ @auto_import_fl
@ENABLE_XPDF_HEADERS_TRUE@ StdinPDFDocBuilder.h \
@ENABLE_XPDF_HEADERS_TRUE@ Stream-CCITT.h \
@ENABLE_XPDF_HEADERS_TRUE@ Stream.h \
+@ENABLE_XPDF_HEADERS_TRUE@ StructElement.h \
+@ENABLE_XPDF_HEADERS_TRUE@ StructTreeRoot.h \
@ENABLE_XPDF_HEADERS_TRUE@ UnicodeMap.h \
@ENABLE_XPDF_HEADERS_TRUE@ UnicodeMapTables.h \
@ENABLE_XPDF_HEADERS_TRUE@ UnicodeTypeTable.h \
@@ -704,6 +709,7 @@ libpoppler_la_LDFLAGS = -version-info 43:0:0 @create_shared_lib@ @auto_import_fl
@ENABLE_XPDF_HEADERS_TRUE@ NameToUnicodeTable.h \
@ENABLE_XPDF_HEADERS_TRUE@ PSOutputDev.h \
@ENABLE_XPDF_HEADERS_TRUE@ TextOutputDev.h \
+@ENABLE_XPDF_HEADERS_TRUE@ MarkedContentOutputDev.h \
@ENABLE_XPDF_HEADERS_TRUE@ SecurityHandler.h \
@ENABLE_XPDF_HEADERS_TRUE@ UTF.h \
@ENABLE_XPDF_HEADERS_TRUE@ UTF8.h \
@@ -766,6 +772,8 @@ libpoppler_la_SOURCES = \
StdinCachedFile.cc \
StdinPDFDocBuilder.cc \
Stream.cc \
+ StructTreeRoot.cc \
+ StructElement.cc \
strtok_r.cpp \
UnicodeMap.cc \
UnicodeTypeTable.cc \
@@ -774,6 +782,7 @@ libpoppler_la_SOURCES = \
XRef.cc \
PSOutputDev.cc \
TextOutputDev.cc \
+ MarkedContentOutputDev.cc \
PageLabelInfo.h \
PageLabelInfo.cc \
SecurityHandler.cc \
@@ -821,8 +830,8 @@ $(ACLOCAL_M4): $(am__aclocal_m4_deps)
$(am__aclocal_m4_deps):
poppler-config.h: stamp-h2
- @if test ! -f $@; then rm -f stamp-h2; else :; fi
- @if test ! -f $@; then $(MAKE) $(AM_MAKEFLAGS) stamp-h2; else :; fi
+ @test -f $@ || rm -f stamp-h2
+ @test -f $@ || $(MAKE) $(AM_MAKEFLAGS) stamp-h2
stamp-h2: $(srcdir)/poppler-config.h.in $(top_builddir)/config.status
@rm -f stamp-h2
@@ -926,6 +935,7 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Linearization.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Link.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/LocalPDFDocBuilder.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/MarkedContentOutputDev.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Movie.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/NameToCharCode.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Object.Plo@am__quote@
@@ -951,6 +961,8 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/StdinCachedFile.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/StdinPDFDocBuilder.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Stream.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/StructElement.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/StructTreeRoot.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TextOutputDev.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/UTF.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/UnicodeMap.Plo@am__quote@
diff --git a/poppler/MarkedContentOutputDev.cc b/poppler/MarkedContentOutputDev.cc
new file mode 100644
index 00000000..7fdd8f54
--- /dev/null
+++ b/poppler/MarkedContentOutputDev.cc
@@ -0,0 +1,212 @@
+//========================================================================
+//
+// MarkedContentOutputDev.cc
+//
+// This file is licensed under the GPLv2 or later
+//
+// Copyright 2013 Igalia S.L.
+//
+//========================================================================
+
+#include "MarkedContentOutputDev.h"
+#include "GlobalParams.h"
+#include "UnicodeMap.h"
+#include "GfxState.h"
+#include "GfxFont.h"
+#include "Annot.h"
+#include <vector>
+
+
+MarkedContentOutputDev::MarkedContentOutputDev(int mcidA):
+ currentFont(NULL),
+ currentText(NULL),
+ mcid(mcidA),
+ pageWidth(0.0),
+ pageHeight(0.0),
+ unicodeMap(NULL)
+{
+ currentColor.r = currentColor.g = currentColor.b = 0;
+}
+
+
+MarkedContentOutputDev::~MarkedContentOutputDev()
+{
+ if (unicodeMap)
+ unicodeMap->decRefCnt();
+ if (currentFont)
+ currentFont->decRefCnt();
+ delete currentText;
+}
+
+
+void MarkedContentOutputDev::endSpan()
+{
+ if (currentText && currentText->getLength()) {
+ // The TextSpan takes ownership of currentText and
+ // increases the reference count for currentFont.
+ textSpans.push_back(TextSpan(currentText,
+ currentFont,
+ currentColor));
+ }
+ currentText = NULL;
+}
+
+
+void MarkedContentOutputDev::startPage(int pageNum, GfxState *state, XRef *xref)
+{
+ if (state) {
+ pageWidth = state->getPageWidth();
+ pageHeight = state->getPageHeight();
+ } else {
+ pageWidth = pageHeight = 0.0;
+ }
+}
+
+
+void MarkedContentOutputDev::endPage()
+{
+ pageWidth = pageHeight = 0.0;
+}
+
+
+void MarkedContentOutputDev::beginMarkedContent(char *name, Dict *properties)
+{
+ int id = -1;
+ if (properties)
+ properties->lookupInt("MCID", NULL, &id);
+
+ if (id == -1)
+ return;
+
+ // The stack keep track of MCIDs of nested marked content.
+ if (inMarkedContent() || id == mcid)
+ mcidStack.push_back(id);
+}
+
+
+void MarkedContentOutputDev::endMarkedContent(GfxState *state)
+{
+ if (inMarkedContent()) {
+ mcidStack.pop_back();
+ // The outer marked content sequence MCID was popped, ensure
+ // that the last piece of text collected ends up in a TextSpan.
+ if (!inMarkedContent())
+ endSpan();
+ }
+}
+
+
+bool MarkedContentOutputDev::needFontChange(GfxFont* font) const
+{
+ if (currentFont == font)
+ return gFalse;
+
+ if (!currentFont)
+ return font != NULL && font->isOk();
+
+ if (font == NULL)
+ return gTrue;
+
+ // Two non-null valid fonts are the same if they point to the same Ref
+ if (currentFont->getID()->num == font->getID()->num &&
+ currentFont->getID()->gen == font->getID()->gen)
+ return gFalse;
+
+ return gTrue;
+}
+
+
+void MarkedContentOutputDev::drawChar(GfxState *state,
+ double xx, double yy,
+ double dx, double dy,
+ double ox, double oy,
+ CharCode c, int nBytes,
+ Unicode *u, int uLen)
+{
+ if (!inMarkedContent() || !uLen)
+ return;
+
+
+ // Color changes are tracked here so the color can be chosen depending on
+ // the render mode (for mode 1 stroke color is used), so there is no need
+ // to implement both updateFillColor() and updateStrokeColor().
+ GBool colorChange = gFalse;
+ GfxRGB color;
+ if ((state->getRender() & 3) == 1)
+ state->getStrokeRGB(&color);
+ else
+ state->getFillRGB(&color);
+
+ colorChange = (color.r != currentColor.r ||
+ color.g != currentColor.g ||
+ color.b != currentColor.b);
+
+ // Check also for font changes.
+ GBool fontChange = needFontChange(state->getFont());
+
+ // Save a span with the current changes.
+ if (colorChange || fontChange) {
+ endSpan();
+ }
+
+ // Perform the color/font changes.
+ if (colorChange)
+ currentColor = color;
+
+ if (fontChange) {
+ if (currentFont != NULL) {
+ currentFont->decRefCnt();
+ currentFont = NULL;
+ }
+ if (state->getFont() != NULL) {
+ currentFont = state->getFont();
+ currentFont->incRefCnt();
+ }
+ }
+
+
+ double sp, dx2, dy2, w1, h1, x1, y1;
+
+ // Subtract char and word spacing from the (dx,dy) values
+ sp = state->getCharSpace();
+ if (c == (CharCode) 0x20)
+ sp += state->getWordSpace();
+ state->textTransformDelta(sp * state->getHorizScaling(), 0, &dx2, &dy2);
+ dx -= dx2;
+ dy -= dy2;
+ state->transformDelta(dx, dy, &w1, &h1);
+ state->transform(xx, yy, &x1, &y1);
+
+ // Throw away characters that are not inside the page boundaries.
+ if (x1 + w1 < 0 || x1 > pageWidth || y1 + h1 < 0 || y1 > pageHeight)
+ return;
+
+ // Make a sanity check on character size. Note: (x != x) <-> isnan(x)
+ if (x1 != x1 || y1 != y1 || w1 != w1 || h1 != h1)
+ return;
+
+ for (int i = 0; i < uLen; i++) {
+ // Soft hyphen markers are skipped, as they are invisible unless
+ // rendering is done to an actual device and the hyphenation hint
+ // used. MarkedContentOutputDev extracts the *visible* text content.
+ if (u[i] != 0x00AD) {
+ // Add the UTF-8 sequence to the current text span.
+ if (!unicodeMap)
+ unicodeMap = globalParams->getTextEncoding();
+
+ char buf[8];
+ int n = unicodeMap->mapUnicode(u[i], buf, sizeof(buf));
+ if (n > 0) {
+ if (currentText == NULL)
+ currentText = new GooString();
+ currentText->append(buf, n);
+ }
+ }
+ }
+}
+
+
+const TextSpanArray& MarkedContentOutputDev::getTextSpans() const
+{
+ return textSpans;
+}
diff --git a/poppler/MarkedContentOutputDev.h b/poppler/MarkedContentOutputDev.h
new file mode 100644
index 00000000..4ea60c25
--- /dev/null
+++ b/poppler/MarkedContentOutputDev.h
@@ -0,0 +1,130 @@
+//========================================================================
+//
+// MarkedContentOutputDev.h
+//
+// This file is licensed under the GPLv2 or later
+//
+// Copyright 2013 Igalia S.L.
+//
+//========================================================================
+
+#ifndef MARKEDCONTENTOUTPUTDEV_H
+#define MARKEDCONTENTOUTPUTDEV_H
+
+#include "goo/gtypes.h"
+#include "goo/gmem.h"
+#include "OutputDev.h"
+#include "GfxState.h"
+#include "GfxFont.h"
+#include <vector>
+
+class Dict;
+class UnicodeMap;
+
+
+class TextSpan {
+public:
+ TextSpan(const TextSpan& other): data(other.data) {
+ data->refcount++;
+ }
+
+ TextSpan& operator=(const TextSpan& other) {
+ if (this != &other) {
+ data = other.data;
+ data->refcount++;
+ }
+ return *this;
+ }
+
+ ~TextSpan() {
+ if (data && --data->refcount == 0)
+ delete data;
+ }
+
+ GfxFont* getFont() const { return data->font; }
+ GooString* getText() const { return data->text; }
+ GfxRGB& getColor() const { return data->color; }
+
+private:
+ // Note: Takes ownership of strings, increases refcount for font.
+ TextSpan(GooString *text,
+ GfxFont *font,
+ const GfxRGB& color)
+ : data(new Data) {
+ data->text = text;
+ data->font = font;
+ data->color = color;
+ if (data->font)
+ data->font->incRefCnt();
+ }
+
+ struct Data {
+ GfxFont *font;
+ GooString *text;
+ GfxRGB color;
+ unsigned refcount;
+
+ Data(): refcount(1) {}
+
+ ~Data() {
+ assert(refcount == 0);
+ if (font)
+ font->decRefCnt();
+ delete text;
+ }
+ };
+
+ Data *data;
+
+ friend class MarkedContentOutputDev;
+};
+
+
+typedef std::vector<TextSpan> TextSpanArray;
+
+
+class MarkedContentOutputDev: public OutputDev {
+public:
+ MarkedContentOutputDev(int mcidA);
+ virtual ~MarkedContentOutputDev();
+
+ virtual GBool isOk() { return gTrue; }
+ virtual GBool upsideDown() { return gTrue; }
+ virtual GBool useDrawChar() { return gTrue; }
+ virtual GBool interpretType3Chars() { return gFalse; }
+ virtual GBool needNonText() { return gFalse; }
+ virtual GBool needCharCount() { return gFalse; }
+
+ virtual void startPage(int pageNum, GfxState *state, XRef *xref);
+ virtual void endPage();
+
+ virtual void drawChar(GfxState *state,
+ double xx, double yy,
+ double dx, double dy,
+ double ox, double oy,
+ CharCode c, int nBytes,
+ Unicode *u, int uLen);
+
+ virtual void beginMarkedContent(char *name, Dict *properties);
+ virtual void endMarkedContent(GfxState *state);
+
+ const TextSpanArray& getTextSpans() const;
+
+private:
+
+ void endSpan();
+ bool inMarkedContent() const { return mcidStack.size() > 0; }
+ bool needFontChange(GfxFont* font) const;
+
+ GfxFont *currentFont;
+ GooString *currentText;
+ GfxRGB currentColor;
+ TextSpanArray textSpans;
+ int mcid;
+ std::vector<int> mcidStack;
+ double pageWidth;
+ double pageHeight;
+ UnicodeMap *unicodeMap;
+};
+
+#endif /* !MARKEDCONTENTOUTPUTDEV_H */
diff --git a/poppler/NameToUnicodeTable.h b/poppler/NameToUnicodeTable.h
index 74645ab2..827edbae 100644
--- a/poppler/NameToUnicodeTable.h
+++ b/poppler/NameToUnicodeTable.h
@@ -14,6 +14,7 @@
// under GPL version 2 or later
//
// Copyright (C) 2011, 2012 Albert Astals Cid <aacid@kde.org>
+// Copyright (C) 2013 Jason Crain <jason@aquaticape.us>
//
// To see a description of the changes please see the Changelog file that
// came with your tarball or type make ChangeLog if you are building from git
@@ -24,10 +25,13 @@
#include <stddef.h>
-static struct {
+struct NameToUnicodeTab {
Unicode u;
const char *name;
-} nameToUnicodeTab[] = {
+};
+
+// map character names to Unicode
+static struct NameToUnicodeTab nameToUnicodeTextTab[] = {
{0x0021, "!"},
{0x0023, "#"},
{0x0024, "$"},
@@ -800,207 +804,6 @@ static struct {
{0x005f, "_"},
{0x0060, "`"},
{0x0061, "a"},
- {0x275e, "a100"},
- {0x2761, "a101"},
- {0x2762, "a102"},
- {0x2763, "a103"},
- {0x2764, "a104"},
- {0x2710, "a105"},
- {0x2765, "a106"},
- {0x2766, "a107"},
- {0x2767, "a108"},
- {0x2660, "a109"},
- {0x2721, "a10"},
- {0x2665, "a110"},
- {0x2666, "a111"},
- {0x2663, "a112"},
- {0x2709, "a117"},
- {0x2708, "a118"},
- {0x2707, "a119"},
- {0x261b, "a11"},
- {0x2460, "a120"},
- {0x2461, "a121"},
- {0x2462, "a122"},
- {0x2463, "a123"},
- {0x2464, "a124"},
- {0x2465, "a125"},
- {0x2466, "a126"},
- {0x2467, "a127"},
- {0x2468, "a128"},
- {0x2469, "a129"},
- {0x261e, "a12"},
- {0x2776, "a130"},
- {0x2777, "a131"},
- {0x2778, "a132"},
- {0x2779, "a133"},
- {0x277a, "a134"},
- {0x277b, "a135"},
- {0x277c, "a136"},
- {0x277d, "a137"},
- {0x277e, "a138"},
- {0x277f, "a139"},
- {0x270c, "a13"},
- {0x2780, "a140"},
- {0x2781, "a141"},
- {0x2782, "a142"},
- {0x2783, "a143"},
- {0x2784, "a144"},
- {0x2785, "a145"},
- {0x2786, "a146"},
- {0x2787, "a147"},
- {0x2788, "a148"},
- {0x2789, "a149"},
- {0x270d, "a14"},
- {0x278a, "a150"},
- {0x278b, "a151"},
- {0x278c, "a152"},
- {0x278d, "a153"},
- {0x278e, "a154"},
- {0x278f, "a155"},
- {0x2790, "a156"},
- {0x2791, "a157"},
- {0x2792, "a158"},
- {0x2793, "a159"},
- {0x270e, "a15"},
- {0x2794, "a160"},
- {0x2192, "a161"},
- {0x27a3, "a162"},
- {0x2194, "a163"},
- {0x2195, "a164"},
- {0x2799, "a165"},
- {0x279b, "a166"},
- {0x279c, "a167"},
- {0x279d, "a168"},
- {0x279e, "a169"},
- {0x270f, "a16"},
- {0x279f, "a170"},
- {0x27a0, "a171"},
- {0x27a1, "a172"},
- {0x27a2, "a173"},
- {0x27a4, "a174"},
- {0x27a5, "a175"},
- {0x27a6, "a176"},
- {0x27a7, "a177"},
- {0x27a8, "a178"},
- {0x27a9, "a179"},
- {0x2711, "a17"},
- {0x27ab, "a180"},
- {0x27ad, "a181"},
- {0x27af, "a182"},
- {0x27b2, "a183"},
- {0x27b3, "a184"},
- {0x27b5, "a185"},
- {0x27b8, "a186"},
- {0x27ba, "a187"},
- {0x27bb, "a188"},
- {0x27bc, "a189"},
- {0x2712, "a18"},
- {0x27bd, "a190"},
- {0x27be, "a191"},
- {0x279a, "a192"},
- {0x27aa, "a193"},
- {0x27b6, "a194"},
- {0x27b9, "a195"},
- {0x2798, "a196"},
- {0x27b4, "a197"},
- {0x27b7, "a198"},
- {0x27ac, "a199"},
- {0x2713, "a19"},
- {0x2701, "a1"},
- {0x27ae, "a200"},
- {0x27b1, "a201"},
- {0x2703, "a202"},
- {0x2750, "a203"},
- {0x2752, "a204"},
- {0x276e, "a205"},
- {0x2770, "a206"},
- {0x2714, "a20"},
- {0x2715, "a21"},
- {0x2716, "a22"},
- {0x2717, "a23"},
- {0x2718, "a24"},
- {0x2719, "a25"},
- {0x271a, "a26"},
- {0x271b, "a27"},
- {0x271c, "a28"},
- {0x2722, "a29"},
- {0x2702, "a2"},
- {0x2723, "a30"},
- {0x2724, "a31"},
- {0x2725, "a32"},
- {0x2726, "a33"},
- {0x2727, "a34"},
- {0x2605, "a35"},
- {0x2729, "a36"},
- {0x272a, "a37"},
- {0x272b, "a38"},
- {0x272c, "a39"},
- {0x2704, "a3"},
- {0x272d, "a40"},
- {0x272e, "a41"},
- {0x272f, "a42"},
- {0x2730, "a43"},
- {0x2731, "a44"},
- {0x2732, "a45"},
- {0x2733, "a46"},
- {0x2734, "a47"},
- {0x2735, "a48"},
- {0x2736, "a49"},
- {0x260e, "a4"},
- {0x2737, "a50"},
- {0x2738, "a51"},
- {0x2739, "a52"},
- {0x273a, "a53"},
- {0x273b, "a54"},
- {0x273c, "a55"},
- {0x273d, "a56"},
- {0x273e, "a57"},
- {0x273f, "a58"},
- {0x2740, "a59"},
- {0x2706, "a5"},
- {0x2741, "a60"},
- {0x2742, "a61"},
- {0x2743, "a62"},
- {0x2744, "a63"},
- {0x2745, "a64"},
- {0x2746, "a65"},
- {0x2747, "a66"},
- {0x2748, "a67"},
- {0x2749, "a68"},
- {0x274a, "a69"},
- {0x271d, "a6"},
- {0x274b, "a70"},
- {0x25cf, "a71"},
- {0x274d, "a72"},
- {0x25a0, "a73"},
- {0x274f, "a74"},
- {0x2751, "a75"},
- {0x25b2, "a76"},
- {0x25bc, "a77"},
- {0x25c6, "a78"},
- {0x2756, "a79"},
- {0x271e, "a7"},
- {0x25d7, "a81"},
- {0x2758, "a82"},
- {0x2759, "a83"},
- {0x275a, "a84"},
- {0x276f, "a85"},
- {0x2771, "a86"},
- {0x2772, "a87"},
- {0x2773, "a88"},
- {0x2768, "a89"},
- {0x271f, "a8"},
- {0x2769, "a90"},
- {0x276c, "a91"},
- {0x276d, "a92"},
- {0x276a, "a93"},
- {0x276b, "a94"},
- {0x2774, "a95"},
- {0x2775, "a96"},
- {0x275b, "a97"},
- {0x275c, "a98"},
- {0x275d, "a99"},
- {0x2720, "a9"},
{0x0986, "aabengali"},
{0x00e1, "aacute"},
{0x0906, "aadeva"},
@@ -4473,3 +4276,209 @@ static struct {
{0x007e, "~"},
{ 0, NULL }
};
+
+// map ZapfDingbats names to Unicode
+static struct NameToUnicodeTab nameToUnicodeZapfDingbatsTab[] = {
+ {0x275e, "a100"},
+ {0x2761, "a101"},
+ {0x2762, "a102"},
+ {0x2763, "a103"},
+ {0x2764, "a104"},
+ {0x2710, "a105"},
+ {0x2765, "a106"},
+ {0x2766, "a107"},
+ {0x2767, "a108"},
+ {0x2660, "a109"},
+ {0x2721, "a10"},
+ {0x2665, "a110"},
+ {0x2666, "a111"},
+ {0x2663, "a112"},
+ {0x2709, "a117"},
+ {0x2708, "a118"},
+ {0x2707, "a119"},
+ {0x261b, "a11"},
+ {0x2460, "a120"},
+ {0x2461, "a121"},
+ {0x2462, "a122"},
+ {0x2463, "a123"},
+ {0x2464, "a124"},
+ {0x2465, "a125"},
+ {0x2466, "a126"},
+ {0x2467, "a127"},
+ {0x2468, "a128"},
+ {0x2469, "a129"},
+ {0x261e, "a12"},
+ {0x2776, "a130"},
+ {0x2777, "a131"},
+ {0x2778, "a132"},
+ {0x2779, "a133"},
+ {0x277a, "a134"},
+ {0x277b, "a135"},
+ {0x277c, "a136"},
+ {0x277d, "a137"},
+ {0x277e, "a138"},
+ {0x277f, "a139"},
+ {0x270c, "a13"},
+ {0x2780, "a140"},
+ {0x2781, "a141"},
+ {0x2782, "a142"},
+ {0x2783, "a143"},
+ {0x2784, "a144"},
+ {0x2785, "a145"},
+ {0x2786, "a146"},
+ {0x2787, "a147"},
+ {0x2788, "a148"},
+ {0x2789, "a149"},
+ {0x270d, "a14"},
+ {0x278a, "a150"},
+ {0x278b, "a151"},
+ {0x278c, "a152"},
+ {0x278d, "a153"},
+ {0x278e, "a154"},
+ {0x278f, "a155"},
+ {0x2790, "a156"},
+ {0x2791, "a157"},
+ {0x2792, "a158"},
+ {0x2793, "a159"},
+ {0x270e, "a15"},
+ {0x2794, "a160"},
+ {0x2192, "a161"},
+ {0x27a3, "a162"},
+ {0x2194, "a163"},
+ {0x2195, "a164"},
+ {0x2799, "a165"},
+ {0x279b, "a166"},
+ {0x279c, "a167"},
+ {0x279d, "a168"},
+ {0x279e, "a169"},
+ {0x270f, "a16"},
+ {0x279f, "a170"},
+ {0x27a0, "a171"},
+ {0x27a1, "a172"},
+ {0x27a2, "a173"},
+ {0x27a4, "a174"},
+ {0x27a5, "a175"},
+ {0x27a6, "a176"},
+ {0x27a7, "a177"},
+ {0x27a8, "a178"},
+ {0x27a9, "a179"},
+ {0x2711, "a17"},
+ {0x27ab, "a180"},
+ {0x27ad, "a181"},
+ {0x27af, "a182"},
+ {0x27b2, "a183"},
+ {0x27b3, "a184"},
+ {0x27b5, "a185"},
+ {0x27b8, "a186"},
+ {0x27ba, "a187"},
+ {0x27bb, "a188"},
+ {0x27bc, "a189"},
+ {0x2712, "a18"},
+ {0x27bd, "a190"},
+ {0x27be, "a191"},
+ {0x279a, "a192"},
+ {0x27aa, "a193"},
+ {0x27b6, "a194"},
+ {0x27b9, "a195"},
+ {0x2798, "a196"},
+ {0x27b4, "a197"},
+ {0x27b7, "a198"},
+ {0x27ac, "a199"},
+ {0x2713, "a19"},
+ {0x2701, "a1"},
+ {0x27ae, "a200"},
+ {0x27b1, "a201"},
+ {0x2703, "a202"},
+ {0x2750, "a203"},
+ {0x2752, "a204"},
+ {0x276e, "a205"},
+ {0x2770, "a206"},
+ {0x2714, "a20"},
+ {0x2715, "a21"},
+ {0x2716, "a22"},
+ {0x2717, "a23"},
+ {0x2718, "a24"},
+ {0x2719, "a25"},
+ {0x271a, "a26"},
+ {0x271b, "a27"},
+ {0x271c, "a28"},
+ {0x2722, "a29"},
+ {0x2702, "a2"},
+ {0x2723, "a30"},
+ {0x2724, "a31"},
+ {0x2725, "a32"},
+ {0x2726, "a33"},
+ {0x2727, "a34"},
+ {0x2605, "a35"},
+ {0x2729, "a36"},
+ {0x272a, "a37"},
+ {0x272b, "a38"},
+ {0x272c, "a39"},
+ {0x2704, "a3"},
+ {0x272d, "a40"},
+ {0x272e, "a41"},
+ {0x272f, "a42"},
+ {0x2730, "a43"},
+ {0x2731, "a44"},
+ {0x2732, "a45"},
+ {0x2733, "a46"},
+ {0x2734, "a47"},
+ {0x2735, "a48"},
+ {0x2736, "a49"},
+ {0x260e, "a4"},
+ {0x2737, "a50"},
+ {0x2738, "a51"},
+ {0x2739, "a52"},
+ {0x273a, "a53"},
+ {0x273b, "a54"},
+ {0x273c, "a55"},
+ {0x273d, "a56"},
+ {0x273e, "a57"},
+ {0x273f, "a58"},
+ {0x2740, "a59"},
+ {0x2706, "a5"},
+ {0x2741, "a60"},
+ {0x2742, "a61"},
+ {0x2743, "a62"},
+ {0x2744, "a63"},
+ {0x2745, "a64"},
+ {0x2746, "a65"},
+ {0x2747, "a66"},
+ {0x2748, "a67"},
+ {0x2749, "a68"},
+ {0x274a, "a69"},
+ {0x271d, "a6"},
+ {0x274b, "a70"},
+ {0x25cf, "a71"},
+ {0x274d, "a72"},
+ {0x25a0, "a73"},
+ {0x274f, "a74"},
+ {0x2751, "a75"},
+ {0x25b2, "a76"},
+ {0x25bc, "a77"},
+ {0x25c6, "a78"},
+ {0x2756, "a79"},
+ {0x271e, "a7"},
+ {0x25d7, "a81"},
+ {0x2758, "a82"},
+ {0x2759, "a83"},
+ {0x275a, "a84"},
+ {0x276f, "a85"},
+ {0x2771, "a86"},
+ {0x2772, "a87"},
+ {0x2773, "a88"},
+ {0x2768, "a89"},
+ {0x271f, "a8"},
+ {0x2769, "a90"},
+ {0x276c, "a91"},
+ {0x276d, "a92"},
+ {0x276a, "a93"},
+ {0x276b, "a94"},
+ {0x2774, "a95"},
+ {0x2775, "a96"},
+ {0x275b, "a97"},
+ {0x275c, "a98"},
+ {0x275d, "a99"},
+ {0x2720, "a9"},
+ { 0, NULL }
+};
diff --git a/poppler/Object.h b/poppler/Object.h
index 1b123549..15bea159 100644
--- a/poppler/Object.h
+++ b/poppler/Object.h
@@ -20,6 +20,7 @@
// Copyright (C) 2012 Fabio D'Urso <fabiodurso@hotmail.it>
// Copyright (C) 2013 Thomas Freitag <Thomas.Freitag@alfa.de>
// Copyright (C) 2013 Adrian Johnson <ajohnson@redneon.com>
+// Copyright (C) 2013 Adrian Perez de Castro <aperez@igalia.com>
//
// To see a description of the changes please see the Changelog file that
// came with your tarball or type make ChangeLog if you are building from git
@@ -44,14 +45,14 @@
#define OBJECT_TYPE_CHECK(wanted_type) \
if (unlikely(type != wanted_type)) { \
- error(errInternal, 0, (char *) "Call to Object where the object was type {0:d}, " \
+ error(errInternal, 0, "Call to Object where the object was type {0:d}, " \
"not the expected type {1:d}", type, wanted_type); \
abort(); \
}
#define OBJECT_3TYPES_CHECK(wanted_type1, wanted_type2, wanted_type3) \
if (unlikely(type != wanted_type1) && unlikely(type != wanted_type2) && unlikely(type != wanted_type3)) { \
- error(errInternal, 0, (char *) "Call to Object where the object was type {0:d}, " \
+ error(errInternal, 0, "Call to Object where the object was type {0:d}, " \
"not the expected type {1:d}, {2:d} or {3:d}", type, wanted_type1, wanted_type2, wanted_type3); \
abort(); \
}
@@ -199,6 +200,10 @@ public:
double getNum() { OBJECT_3TYPES_CHECK(objInt, objInt64, objReal);
return type == objInt ? (double)intg : type == objInt64 ? (double)int64g : real; }
GooString *getString() { OBJECT_TYPE_CHECK(objString); return string; }
+ // After takeString() the only method that should be called for the object is free()
+ // because the object it's not expected to have a NULL string.
+ GooString *takeString() {
+ OBJECT_TYPE_CHECK(objString); GooString *s = string; string = NULL; return s; }
char *getName() { OBJECT_TYPE_CHECK(objName); return name; }
Array *getArray() { OBJECT_TYPE_CHECK(objArray); return array; }
Dict *getDict() { OBJECT_TYPE_CHECK(objDict); return dict; }
diff --git a/poppler/OptionalContent.h b/poppler/OptionalContent.h
index 02c9a471..2e416462 100644
--- a/poppler/OptionalContent.h
+++ b/poppler/OptionalContent.h
@@ -4,6 +4,7 @@
//
// Copyright 2007 Brad Hards <bradh@kde.org>
// Copyright 2008 Carlos Garcia Campos <carlosgc@gnome.org>
+// Copyright 2013 Albert Astals Cid <aacid@kde.org>
//
// Released under the GPL (version 2, or later, at your option)
//
@@ -101,7 +102,6 @@ public:
UsageState getPrintState() { return printState; }
private:
- XRef *xref;
GooString *m_name;
Ref m_ref;
State m_state;
diff --git a/poppler/PDFDoc.cc b/poppler/PDFDoc.cc
index c78d5ca5..e427d2b4 100644
--- a/poppler/PDFDoc.cc
+++ b/poppler/PDFDoc.cc
@@ -14,7 +14,7 @@
// under GPL version 2 or later
//
// Copyright (C) 2005, 2006, 2008 Brad Hards <bradh@frogmouth.net>
-// Copyright (C) 2005, 2007-2009, 2011-2013 Albert Astals Cid <aacid@kde.org>
+// Copyright (C) 2005, 2007-2009, 2011-2014 Albert Astals Cid <aacid@kde.org>
// Copyright (C) 2008 Julien Rebetez <julienr@svn.gnome.org>
// Copyright (C) 2008, 2010 Pino Toscano <pino@kde.org>
// Copyright (C) 2008, 2010, 2011 Carlos Garcia Campos <carlosgc@gnome.org>
@@ -26,10 +26,11 @@
// Copyright (C) 2010 Ilya Gorenbein <igorenbein@finjan.com>
// Copyright (C) 2010 Srinivas Adicherla <srinivas.adicherla@geodesic.com>
// Copyright (C) 2010 Philip Lorenz <lorenzph+freedesktop@gmail.com>
-// Copyright (C) 2011-2013 Thomas Freitag <Thomas.Freitag@alfa.de>
+// Copyright (C) 2011-2014 Thomas Freitag <Thomas.Freitag@alfa.de>
// Copyright (C) 2012, 2013 Fabio D'Urso <fabiodurso@hotmail.it>
// Copyright (C) 2013 Adrian Johnson <ajohnson@redneon.com>
// Copyright (C) 2013 Adam Reichold <adamreichold@myopera.com>
+// Copyright (C) 2014 Bogdan Cristea <cristeab@gmail.com>
//
// To see a description of the changes please see the Changelog file that
// came with your tarball or type make ChangeLog if you are building from git
@@ -50,9 +51,6 @@
#include <stddef.h>
#include <string.h>
#include <time.h>
-#ifdef _WIN32
-# include <windows.h>
-#endif
#include <sys/stat.h>
#include "goo/gstrtod.h"
#include "goo/GooString.h"
@@ -261,9 +259,16 @@ GBool PDFDoc::setup(GooString *ownerPassword, GooString *userPassword) {
// read xref table
xref = new XRef(str, getStartXRef(), getMainXRefEntriesOffset(), &wasReconstructed);
if (!xref->isOk()) {
- error(errSyntaxError, -1, "Couldn't read xref table");
- errCode = xref->getErrorCode();
- return gFalse;
+ if (wasReconstructed) {
+ delete xref;
+ startXRefPos = -1;
+ xref = new XRef(str, getStartXRef(gTrue), getMainXRefEntriesOffset(gTrue), &wasReconstructed);
+ }
+ if (!xref->isOk()) {
+ error(errSyntaxError, -1, "Couldn't read xref table");
+ errCode = xref->getErrorCode();
+ return gFalse;
+ }
}
// check for encryption
@@ -519,12 +524,16 @@ Linearization *PDFDoc::getLinearization()
return linearization;
}
-GBool PDFDoc::isLinearized() {
+GBool PDFDoc::isLinearized(GBool tryingToReconstruct) {
if ((str->getLength()) &&
(getLinearization()->getLength() == str->getLength()))
return gTrue;
- else
- return gFalse;
+ else {
+ if (tryingToReconstruct)
+ return getLinearization()->getLength() > 0;
+ else
+ return gFalse;
+ }
}
static GBool
@@ -677,10 +686,15 @@ int PDFDoc::savePageAs(GooString *name, int pageNo)
infoObj.free();
// get and mark output intents etc.
- Object catObj, pagesObj, resourcesObj;
+ Object catObj, pagesObj, resourcesObj, annotsObj, afObj;
getXRef()->getCatalog(&catObj);
Dict *catDict = catObj.getDict();
catDict->lookup("Pages", &pagesObj);
+ catDict->lookupNF("AcroForm", &afObj);
+ if (!afObj.isNull()) {
+ markAcroForm(&afObj, yRef, countRef, 0, refPage->num, rootNum + 2);
+ afObj.free();
+ }
Dict *pagesDict = pagesObj.getDict();
pagesDict->lookup("Resources", &resourcesObj);
if (resourcesObj.isDict())
@@ -689,6 +703,11 @@ int PDFDoc::savePageAs(GooString *name, int pageNo)
Dict *pageDict = page.getDict();
markPageObjects(pageDict, yRef, countRef, 0);
+ pageDict->lookupNF("Annots", &annotsObj);
+ if (!annotsObj.isNull()) {
+ markAnnotations(&annotsObj, yRef, countRef, 0, refPage->num, rootNum + 2);
+ annotsObj.free();
+ }
yRef->markUnencrypted();
Guint objectsCount = writePageObjects(outStr, yRef, 0);
@@ -1560,6 +1579,9 @@ void PDFDoc::markPageObjects(Dict *pageDict, XRef *xRef, XRef *countRef, Guint n
Object value; pageDict->getValNF(n, &value);
if (strcmp(key, "Parent") != 0 &&
strcmp(key, "Pages") != 0 &&
+ strcmp(key, "AcroForm") != 0 &&
+ strcmp(key, "Annots") != 0 &&
+ strcmp(key, "P") != 0 &&
strcmp(key, "Root") != 0) {
markObject(&value, xRef, countRef, numOffset);
}
@@ -1567,6 +1589,142 @@ void PDFDoc::markPageObjects(Dict *pageDict, XRef *xRef, XRef *countRef, Guint n
}
}
+GBool PDFDoc::markAnnotations(Object *annotsObj, XRef *xRef, XRef *countRef, Guint numOffset, Guint oldPageNum, Guint newPageNum) {
+ Object annots;
+ GBool modified = gFalse;
+ annotsObj->fetch(getXRef(), &annots);
+ if (annots.isArray()) {
+ Array *array = annots.getArray();
+ for (int i=array->getLength() - 1; i >= 0; i--) {
+ Object obj1;
+ if (array->get(i, &obj1)->isDict()) {
+ Object type;
+ Dict *dict = obj1.getDict();
+ dict->lookup("Type", &type);
+ if (type.isName() && strcmp(type.getName(), "Annot") == 0) {
+ Object obj2;
+ if (dict->lookupNF("P", &obj2)->isRef()) {
+ if (obj2.getRef().num == oldPageNum) {
+ Object obj3;
+ array->getNF(i, &obj3);
+ if (obj3.isRef()) {
+ Object *newRef = new Object();
+ newRef->initRef(newPageNum, 0);
+ dict->set("P", newRef);
+ getXRef()->setModifiedObject(&obj1, obj3.getRef());
+ }
+ obj3.free();
+ } else if (obj2.getRef().num == newPageNum) {
+ obj1.free();
+ obj2.free();
+ type.free();
+ continue;
+ } else {
+ array->remove(i);
+ obj1.free();
+ obj2.free();
+ type.free();
+ modified = gTrue;
+ continue;
+ }
+ }
+ obj2.free();
+ }
+ type.free();
+ markPageObjects(dict, xRef, countRef, numOffset);
+ }
+ obj1.free();
+ array->getNF(i, &obj1);
+ if (obj1.isRef()) {
+ if (obj1.getRef().num + (int) numOffset >= xRef->getNumObjects() || xRef->getEntry(obj1.getRef().num + numOffset)->type == xrefEntryFree) {
+ if (getXRef()->getEntry(obj1.getRef().num)->type == xrefEntryFree) {
+ continue; // already marked as free => should be replaced
+ }
+ xRef->add(obj1.getRef().num + numOffset, obj1.getRef().gen, 0, gTrue);
+ if (getXRef()->getEntry(obj1.getRef().num)->type == xrefEntryCompressed) {
+ xRef->getEntry(obj1.getRef().num + numOffset)->type = xrefEntryCompressed;
+ }
+ }
+ if (obj1.getRef().num + (int) numOffset >= countRef->getNumObjects() ||
+ countRef->getEntry(obj1.getRef().num + numOffset)->type == xrefEntryFree)
+ {
+ countRef->add(obj1.getRef().num + numOffset, 1, 0, gTrue);
+ } else {
+ XRefEntry *entry = countRef->getEntry(obj1.getRef().num + numOffset);
+ entry->gen++;
+ }
+ }
+ obj1.free();
+ }
+ }
+ if (annotsObj->isRef()) {
+ if (annotsObj->getRef().num + (int) numOffset >= xRef->getNumObjects() || xRef->getEntry(annotsObj->getRef().num + numOffset)->type == xrefEntryFree) {
+ if (getXRef()->getEntry(annotsObj->getRef().num)->type == xrefEntryFree) {
+ return modified; // already marked as free => should be replaced
+ }
+ xRef->add(annotsObj->getRef().num + numOffset, annotsObj->getRef().gen, 0, gTrue);
+ if (getXRef()->getEntry(annotsObj->getRef().num)->type == xrefEntryCompressed) {
+ xRef->getEntry(annotsObj->getRef().num + numOffset)->type = xrefEntryCompressed;
+ }
+ }
+ if (annotsObj->getRef().num + (int) numOffset >= countRef->getNumObjects() ||
+ countRef->getEntry(annotsObj->getRef().num + numOffset)->type == xrefEntryFree)
+ {
+ countRef->add(annotsObj->getRef().num + numOffset, 1, 0, gTrue);
+ } else {
+ XRefEntry *entry = countRef->getEntry(annotsObj->getRef().num + numOffset);
+ entry->gen++;
+ }
+ getXRef()->setModifiedObject(&annots, annotsObj->getRef());
+ }
+ annots.free();
+ return modified;
+}
+
+void PDFDoc::markAcroForm(Object *afObj, XRef *xRef, XRef *countRef, Guint numOffset, Guint oldPageNum, Guint newPageNum) {
+ Object acroform;
+ GBool modified = gFalse;
+ afObj->fetch(getXRef(), &acroform);
+ if (acroform.isDict()) {
+ Dict *dict = acroform.getDict();
+ for (int i=0; i < dict->getLength(); i++) {
+ if (strcmp(dict->getKey(i), "Fields") == 0) {
+ Object fields;
+ modified = markAnnotations(dict->getValNF(i, &fields), xRef, countRef, numOffset, oldPageNum, newPageNum);
+ fields.free();
+ } else {
+ Object obj;
+ markObject(dict->getValNF(i, &obj), xRef, countRef, numOffset);
+ obj.free();
+ }
+ }
+ }
+ if (afObj->isRef()) {
+ if (afObj->getRef().num + (int) numOffset >= xRef->getNumObjects() || xRef->getEntry(afObj->getRef().num + numOffset)->type == xrefEntryFree) {
+ if (getXRef()->getEntry(afObj->getRef().num)->type == xrefEntryFree) {
+ return; // already marked as free => should be replaced
+ }
+ xRef->add(afObj->getRef().num + numOffset, afObj->getRef().gen, 0, gTrue);
+ if (getXRef()->getEntry(afObj->getRef().num)->type == xrefEntryCompressed) {
+ xRef->getEntry(afObj->getRef().num + numOffset)->type = xrefEntryCompressed;
+ }
+ }
+ if (afObj->getRef().num + (int) numOffset >= countRef->getNumObjects() ||
+ countRef->getEntry(afObj->getRef().num + numOffset)->type == xrefEntryFree)
+ {
+ countRef->add(afObj->getRef().num + numOffset, 1, 0, gTrue);
+ } else {
+ XRefEntry *entry = countRef->getEntry(afObj->getRef().num + numOffset);
+ entry->gen++;
+ }
+ if (modified){
+ getXRef()->setModifiedObject(&acroform, afObj->getRef());
+ }
+ }
+ acroform.free();
+ return;
+}
+
Guint PDFDoc::writePageObjects(OutStream *outStr, XRef *xRef, Guint numOffset, GBool combine)
{
Guint objectsCount = 0; //count the number of objects in the XRef(s)
@@ -1637,11 +1795,11 @@ long long PDFDoc::strToLongLong(char *s) {
}
// Read the 'startxref' position.
-Goffset PDFDoc::getStartXRef()
+Goffset PDFDoc::getStartXRef(GBool tryingToReconstruct)
{
if (startXRefPos == -1) {
- if (isLinearized()) {
+ if (isLinearized(tryingToReconstruct)) {
char buf[linearizationSearchSize+1];
int c, n, i;
@@ -1699,11 +1857,11 @@ Goffset PDFDoc::getStartXRef()
return startXRefPos;
}
-Goffset PDFDoc::getMainXRefEntriesOffset()
+Goffset PDFDoc::getMainXRefEntriesOffset(GBool tryingToReconstruct)
{
Guint mainXRefEntriesOffset = 0;
- if (isLinearized()) {
+ if (isLinearized(tryingToReconstruct)) {
mainXRefEntriesOffset = getLinearization()->getMainXRefEntriesOffset();
}
diff --git a/poppler/PDFDoc.h b/poppler/PDFDoc.h
index da9bf5b3..d8064e9d 100644
--- a/poppler/PDFDoc.h
+++ b/poppler/PDFDoc.h
@@ -14,7 +14,7 @@
// under GPL version 2 or later
//
// Copyright (C) 2005, 2006, 2008 Brad Hards <bradh@frogmouth.net>
-// Copyright (C) 2005, 2009 Albert Astals Cid <aacid@kde.org>
+// Copyright (C) 2005, 2009, 2014 Albert Astals Cid <aacid@kde.org>
// Copyright (C) 2008 Julien Rebetez <julienr@svn.gnome.org>
// Copyright (C) 2008 Pino Toscano <pino@kde.org>
// Copyright (C) 2008 Carlos Garcia Campos <carlosgc@gnome.org>
@@ -22,10 +22,11 @@
// Copyright (C) 2009 Kovid Goyal <kovid@kovidgoyal.net>
// Copyright (C) 2010 Hib Eris <hib@hiberis.nl>
// Copyright (C) 2010 Srinivas Adicherla <srinivas.adicherla@geodesic.com>
-// Copyright (C) 2011, 2013 Thomas Freitag <Thomas.Freitag@alfa.de>
+// Copyright (C) 2011, 2013, 2014 Thomas Freitag <Thomas.Freitag@alfa.de>
// Copyright (C) 2012 Fabio D'Urso <fabiodurso@hotmail.it>
// Copyright (C) 2013 Adrian Johnson <ajohnson@redneon.com>
// Copyright (C) 2013 Adam Reichold <adamreichold@myopera.com>
+// Copyright (C) 2013 Adrian Perez de Castro <aperez@igalia.com>
//
// To see a description of the changes please see the Changelog file that
// came with your tarball or type make ChangeLog if you are building from git
@@ -60,6 +61,7 @@ class Outline;
class Linearization;
class SecurityHandler;
class Hints;
+class StructTreeRoot;
enum PDFWriteMode {
writeStandard,
@@ -139,7 +141,7 @@ public:
GooString *readMetadata() { return catalog->readMetadata(); }
// Return the structure tree root object.
- Object *getStructTreeRoot() { return catalog->getStructTreeRoot(); }
+ StructTreeRoot *getStructTreeRoot() { return catalog->getStructTreeRoot(); }
// Get page.
Page *getPage(int page);
@@ -217,7 +219,7 @@ public:
// Is this document linearized?
- GBool isLinearized();
+ GBool isLinearized(GBool tryingToReconstruct = gFalse);
// Return the document's Info dictionary (if any).
Object *getDocInfo(Object *obj) { return xref->getDocInfo(obj); }
@@ -247,6 +249,8 @@ public:
// rewrite pageDict with MediaBox, CropBox and new page CTM
void replacePageDict(int pageNo, int rotate, PDFRectangle *mediaBox, PDFRectangle *cropBox, Object *pageCTM);
void markPageObjects(Dict *pageDict, XRef *xRef, XRef *countRef, Guint numOffset);
+ GBool markAnnotations(Object *annots, XRef *xRef, XRef *countRef, Guint numOffset, Guint oldPageNum, Guint newPageNum);
+ void markAcroForm(Object *acrpForm, XRef *xRef, XRef *countRef, Guint numOffset, Guint oldPageNum, Guint newPageNum);
// write all objects used by pageDict to outStr
Guint writePageObjects(OutStream *outStr, XRef *xRef, Guint numOffset, GBool combine = gFalse);
static void writeObject (Object *obj, OutStream* outStr, XRef *xref, Guint numOffset, Guchar *fileKey,
@@ -299,10 +303,10 @@ private:
void checkHeader();
GBool checkEncryption(GooString *ownerPassword, GooString *userPassword);
// Get the offset of the start xref table.
- Goffset getStartXRef();
+ Goffset getStartXRef(GBool tryingToReconstruct = gFalse);
// Get the offset of the entries in the main XRef table of a
// linearized document (0 for non linearized documents).
- Goffset getMainXRefEntriesOffset();
+ Goffset getMainXRefEntriesOffset(GBool tryingToReconstruct = gFalse);
long long strToLongLong(char *s);
GooString *fileName;
diff --git a/poppler/PSOutputDev.cc b/poppler/PSOutputDev.cc
index 4fe5d7b0..149bb620 100644
--- a/poppler/PSOutputDev.cc
+++ b/poppler/PSOutputDev.cc
@@ -25,9 +25,10 @@
// Copyright (C) 2009 Carlos Garcia Campos <carlosgc@gnome.org>
// Copyright (C) 2009, 2011, 2012 William Bader <williambader@hotmail.com>
// Copyright (C) 2009 Kovid Goyal <kovid@kovidgoyal.net>
-// Copyright (C) 2009-2011 Adrian Johnson <ajohnson@redneon.com>
-// Copyright (C) 2012 Fabio D'Urso <fabiodurso@hotmail.it>
+// Copyright (C) 2009-2011, 2013, 2014 Adrian Johnson <ajohnson@redneon.com>
+// Copyright (C) 2012, 2014 Fabio D'Urso <fabiodurso@hotmail.it>
// Copyright (C) 2012 Lu Wang <coolwanglu@gmail.com>
+// Copyright (C) 2014 Till Kamppeter <till.kamppeter@gmail.com>
//
// To see a description of the changes please see the Changelog file that
// came with your tarball or type make ChangeLog if you are building from git
@@ -125,12 +126,32 @@ static const char *prolog[] = {
" } ifelse",
"} def",
"/pdfSetupPaper {",
- " 2 array astore",
+ " % Change paper size, but only if different from previous paper size otherwise",
+ " % duplex fails. PLRM specifies a tolerance of 5 pts when matching paper size",
+ " % so we use the same when checking if the size changes.",
" /setpagedevice where {",
- " pop 2 dict begin",
- " /PageSize exch def",
- " /ImagingBBox null def",
- " currentdict end setpagedevice",
+ " pop currentpagedevice",
+ " /PageSize known {",
+ " 2 copy",
+ " currentpagedevice /PageSize get aload pop",
+ " exch 4 1 roll",
+ " sub abs 5 gt",
+ " 3 1 roll",
+ " sub abs 5 gt",
+ " or",
+ " } {",
+ " true",
+ " } ifelse",
+ " {",
+ " 2 array astore",
+ " 2 dict begin",
+ " /PageSize exch def",
+ " /ImagingBBox null def",
+ " currentdict end",
+ " setpagedevice",
+ " } {",
+ " pop pop",
+ " } ifelse",
" } {",
" pop",
" } ifelse",
@@ -944,7 +965,9 @@ struct PSOutImgClipRect {
//------------------------------------------------------------------------
struct PSOutPaperSize {
- PSOutPaperSize(int wA, int hA) { w = wA; h = hA; }
+ PSOutPaperSize(GooString *nameA, int wA, int hA) { name = nameA; w = wA; h = hA; }
+ ~PSOutPaperSize() { delete name; }
+ GooString *name;
int w, h;
};
@@ -1052,7 +1075,8 @@ static void outputToFile(void *stream, const char *data, int len) {
PSOutputDev::PSOutputDev(const char *fileName, PDFDoc *doc,
char *psTitle,
int firstPage, int lastPage, PSOutMode modeA,
- int paperWidthA, int paperHeightA, GBool duplexA,
+ int paperWidthA, int paperHeightA,
+ GBool noCropA, GBool duplexA,
int imgLLXA, int imgLLYA, int imgURXA, int imgURYA,
GBool forceRasterizeA,
GBool manualCtrlA,
@@ -1114,14 +1138,15 @@ PSOutputDev::PSOutputDev(const char *fileName, PDFDoc *doc,
init(outputToFile, f, fileTypeA, psTitle,
doc, firstPage, lastPage, modeA,
imgLLXA, imgLLYA, imgURXA, imgURYA, manualCtrlA,
- paperWidthA, paperHeightA, duplexA);
+ paperWidthA, paperHeightA, noCropA, duplexA);
}
PSOutputDev::PSOutputDev(PSOutputFunc outputFuncA, void *outputStreamA,
char *psTitle,
PDFDoc *doc,
int firstPage, int lastPage, PSOutMode modeA,
- int paperWidthA, int paperHeightA, GBool duplexA,
+ int paperWidthA, int paperHeightA,
+ GBool noCropA, GBool duplexA,
int imgLLXA, int imgLLYA, int imgURXA, int imgURYA,
GBool forceRasterizeA,
GBool manualCtrlA,
@@ -1151,7 +1176,40 @@ PSOutputDev::PSOutputDev(PSOutputFunc outputFuncA, void *outputStreamA,
init(outputFuncA, outputStreamA, psGeneric, psTitle,
doc, firstPage, lastPage, modeA,
imgLLXA, imgLLYA, imgURXA, imgURYA, manualCtrlA,
- paperWidthA, paperHeightA, duplexA);
+ paperWidthA, paperHeightA, noCropA, duplexA);
+}
+
+struct StandardMedia {
+ const char *name;
+ int width;
+ int height;
+};
+
+static const StandardMedia standardMedia[] =
+{
+ { "A0", 2384, 3371 },
+ { "A1", 1685, 2384 },
+ { "A2", 1190, 1684 },
+ { "A3", 842, 1190 },
+ { "A4", 595, 842 },
+ { "A5", 420, 595 },
+ { "B4", 729, 1032 },
+ { "B5", 516, 729 },
+ { "Letter", 612, 792 },
+ { "Tabloid", 792, 1224 },
+ { "Ledger", 1224, 792 },
+ { "Legal", 612, 1008 },
+ { "Statement", 396, 612 },
+ { "Executive", 540, 720 },
+ { "Folio", 612, 936 },
+ { "Quarto", 610, 780 },
+ { "10x14", 720, 1008 },
+ { NULL, 0, 0 }
+};
+
+/* PLRM specifies a tolerance of 5 points when matching page sizes */
+static bool pageDimensionEqual(int a, int b) {
+ return (abs (a - b) < 5);
}
void PSOutputDev::init(PSOutputFunc outputFuncA, void *outputStreamA,
@@ -1159,7 +1217,7 @@ void PSOutputDev::init(PSOutputFunc outputFuncA, void *outputStreamA,
int firstPage, int lastPage, PSOutMode modeA,
int imgLLXA, int imgLLYA, int imgURXA, int imgURYA,
GBool manualCtrlA, int paperWidthA, int paperHeightA,
- GBool duplexA) {
+ GBool noCropA, GBool duplexA) {
Catalog *catalog;
PDFRectangle *box;
PSOutPaperSize *size;
@@ -1179,44 +1237,74 @@ void PSOutputDev::init(PSOutputFunc outputFuncA, void *outputStreamA,
mode = modeA;
paperWidth = paperWidthA;
paperHeight = paperHeightA;
+ noCrop = noCropA;
imgLLX = imgLLXA;
imgLLY = imgLLYA;
imgURX = imgURXA;
imgURY = imgURYA;
if (paperWidth < 0 || paperHeight < 0) {
- Page *page;
paperMatch = gTrue;
- paperSizes = new GooList();
- paperWidth = paperHeight = 1; // in case the document has zero pages
- for (pg = (firstPage >= 1) ? firstPage : 1;
- pg <= lastPage && pg <= catalog->getNumPages();
- ++pg) {
- page = catalog->getPage(pg);
- if (page == NULL) {
- paperMatch = gFalse;
- break;
- }
+ } else {
+ paperMatch = gFalse;
+ }
+ Page *page;
+ paperSizes = new GooList();
+ for (pg = (firstPage >= 1) ? firstPage : 1;
+ pg <= lastPage && pg <= catalog->getNumPages();
+ ++pg) {
+ page = catalog->getPage(pg);
+ if (page == NULL)
+ paperMatch = gFalse;
+ if (!paperMatch) {
+ w = paperWidth;
+ h = paperHeight;
+ if (w < 0 || h < 0) {
+ // Unable to obtain a paper size from the document and no page size
+ // specified. In this case use A4 as the page size to ensure the PS output is
+ // valid. This will only occur if the PDF is very broken.
+ w = 595;
+ h = 842;
+ }
+ } else if (noCropA) {
w = (int)ceil(page->getMediaWidth());
h = (int)ceil(page->getMediaHeight());
- for (i = 0; i < paperSizes->getLength(); ++i) {
- size = (PSOutPaperSize *)paperSizes->get(i);
- if (size->w == w && size->h == h) {
- break;
- }
- }
- if (i == paperSizes->getLength()) {
- paperSizes->append(new PSOutPaperSize(w, h));
- }
- if (w > paperWidth) {
- paperWidth = w;
- }
- if (h > paperHeight) {
- paperHeight = h;
+ } else {
+ w = (int)ceil(page->getCropWidth());
+ h = (int)ceil(page->getCropHeight());
+ }
+ if (paperMatch) {
+ int rotate = page->getRotate();
+ if (rotate == 90 || rotate == 270)
+ std::swap(w, h);
+ }
+ if (w > paperWidth)
+ paperWidth = w;
+ if (h > paperHeight)
+ paperHeight = h;
+ for (i = 0; i < paperSizes->getLength(); ++i) {
+ size = (PSOutPaperSize *)paperSizes->get(i);
+ if (pageDimensionEqual(w, size->w) && pageDimensionEqual(h, size->h))
+ break;
+ }
+ if (i == paperSizes->getLength()) {
+ const StandardMedia *media = standardMedia;
+ GooString *name = NULL;
+ while (media->name) {
+ if (pageDimensionEqual(w, media->width) && pageDimensionEqual(h, media->height)) {
+ name = new GooString(media->name);
+ w = media->width;
+ h = media->height;
+ break;
+ }
+ media++;
}
+ if (!name)
+ name = GooString::format("{0:d}x{1:d}mm", int(w*25.4/72), int(h*25.4/72));
+ paperSizes->append(new PSOutPaperSize(name, w, h));
}
- // NB: img{LLX,LLY,URX,URY} will be set by startPage()
- } else {
- paperMatch = gFalse;
+ pagePaperSize.insert(std::pair<int,int>(pg, i));
+ if (!paperMatch)
+ break; // we only need one entry when all pages are the same size
}
preload = globalParams->getPSPreload();
if (imgLLX == 0 && imgURX == 0 && imgLLY == 0 && imgURY == 0) {
@@ -1224,11 +1312,6 @@ void PSOutputDev::init(PSOutputFunc outputFuncA, void *outputStreamA,
imgURX = paperWidth;
imgURY = paperHeight;
}
- if (imgLLX == 0 && imgURX == 0 && imgLLY == 0 && imgURY == 0) {
- imgLLX = imgLLY = 0;
- imgURX = paperWidth;
- imgURY = paperHeight;
- }
manualCtrl = manualCtrlA;
if (mode == psModeForm) {
lastPage = firstPage;
@@ -1389,7 +1472,6 @@ void PSOutputDev::writeHeader(int firstPage, int lastPage,
int i;
switch (mode) {
- case psModePSOrigPageSizes:
case psModePS:
writePS("%!PS-Adobe-3.0\n");
break;
@@ -1431,26 +1513,19 @@ void PSOutputDev::writeHeader(int firstPage, int lastPage,
}
switch (mode) {
- case psModePSOrigPageSizes:
- prevWidth = 0;
- prevHeight = 0;
case psModePS:
- if (paperMatch) {
- for (i = 0; i < paperSizes->getLength(); ++i) {
- size = (PSOutPaperSize *)paperSizes->get(i);
- writePSFmt("%%{0:s} {1:d}x{2:d} {1:d} {2:d} 0 () ()\n",
- i==0 ? "DocumentMedia:" : "+", size->w, size->h);
- }
- } else {
- writePSFmt("%%DocumentMedia: plain {0:d} {1:d} 0 () ()\n",
- paperWidth, paperHeight);
+ for (i = 0; i < paperSizes->getLength(); ++i) {
+ size = (PSOutPaperSize *)paperSizes->get(i);
+ writePSFmt("%%{0:s} {1:t} {2:d} {3:d} 0 () ()\n",
+ i==0 ? "DocumentMedia:" : "+", size->name, size->w, size->h);
}
writePSFmt("%%BoundingBox: 0 0 {0:d} {1:d}\n", paperWidth, paperHeight);
writePSFmt("%%Pages: {0:d}\n", lastPage - firstPage + 1);
writePS("%%EndComments\n");
if (!paperMatch) {
+ size = (PSOutPaperSize *)paperSizes->get(0);
writePS("%%BeginDefaults\n");
- writePS("%%PageMedia: plain\n");
+ writePSFmt("%%PageMedia: {0:t}\n", size->name);
writePS("%%EndDefaults\n");
}
break;
@@ -1842,9 +1917,9 @@ void PSOutputDev::setupFont(GfxFont *font, Dict *parentResDict) {
//~ add cases for external 16-bit fonts
switch (fontLoc->fontType) {
case fontType1:
- if (font->getName()) {
+ if (font->getEmbeddedFontName()) {
// this assumes that the PS font name matches the PDF font name
- psName = font->getName()->copy();
+ psName = font->getEmbeddedFontName()->copy();
} else {
//~ this won't work -- the PS font name won't match
psName = makePSFontName(font, font->getID());
@@ -2140,9 +2215,8 @@ void PSOutputDev::setupEmbeddedType1Font(Ref *id, GooString *psName) {
strObj.free();
}
-//~ This doesn't handle .pfb files or binary eexec data (which only
-//~ happens in pfb files?).
void PSOutputDev::setupExternalType1Font(GooString *fileName, GooString *psName) {
+ static const char hexChar[17] = "0123456789abcdef";
FILE *fontFile;
int c;
@@ -2162,8 +2236,49 @@ void PSOutputDev::setupExternalType1Font(GooString *fileName, GooString *psName)
error(errIO, -1, "Couldn't open external font file");
return;
}
- while ((c = fgetc(fontFile)) != EOF) {
+
+ c = fgetc(fontFile);
+ if (c == 0x80) {
+ // PFB file
+ ungetc(c, fontFile);
+ while (!feof(fontFile)) {
+ fgetc(fontFile); // skip start of segment byte (0x80)
+ int segType = fgetc(fontFile);
+ long segLen = fgetc(fontFile) |
+ (fgetc(fontFile) << 8) |
+ (fgetc(fontFile) << 16) |
+ (fgetc(fontFile) << 24);
+ if (feof(fontFile))
+ break;
+
+ if (segType == 1) {
+ // ASCII segment
+ for (long i = 0; i < segLen; i++) {
+ c = fgetc(fontFile);
+ if (c == EOF)
+ break;
+ writePSChar(c);
+ }
+ } else if (segType == 2) {
+ // binary segment
+ for (long i = 0; i < segLen; i++) {
+ c = fgetc(fontFile);
+ if (c == EOF)
+ break;
+ writePSChar(hexChar[(c >> 4) & 0x0f]);
+ writePSChar(hexChar[c & 0x0f]);
+ if (i % 36 == 35)
+ writePSChar('\n');
+ }
+ } else {
+ // end of file
+ break;
+ }
+ }
+ } else if (c != EOF) {
writePSChar(c);
+ while ((c = fgetc(fontFile)) != EOF)
+ writePSChar(c);
}
fclose(fontFile);
@@ -2394,7 +2509,7 @@ void PSOutputDev::setupExternalCIDTrueTypeFont(GfxFont *font,
gfree(codeToGID);
} else {
error(errSyntaxError, -1,
- "TrueType font '%s' does not allow embedding",
+ "TrueType font '{0:s}' does not allow embedding",
font->getName() ? font->getName()->getCString() : "(unnamed)");
}
@@ -3463,9 +3578,10 @@ void PSOutputDev::startPage(int pageNum, GfxState *state, XRef *xrefA) {
int imgWidth, imgHeight, imgWidth2, imgHeight2;
GBool landscape;
GooString *s;
+ PSOutPaperSize *paperSize;
xref = xrefA;
- if (mode == psModePS || mode == psModePSOrigPageSizes) {
+ if (mode == psModePS) {
GooString pageLabel;
const GBool gotLabel = doc->getCatalog()->indexToLabel(pageNum -1, &pageLabel);
if (gotLabel) {
@@ -3484,18 +3600,19 @@ void PSOutputDev::startPage(int pageNum, GfxState *state, XRef *xrefA) {
if (paperMatch) {
page = doc->getCatalog()->getPage(pageNum);
imgLLX = imgLLY = 0;
- imgURX = (int)ceil(page->getMediaWidth());
- imgURY = (int)ceil(page->getMediaHeight());
+ if (noCrop) {
+ imgURX = (int)ceil(page->getMediaWidth());
+ imgURY = (int)ceil(page->getMediaHeight());
+ } else {
+ imgURX = (int)ceil(page->getCropWidth());
+ imgURY = (int)ceil(page->getCropHeight());
+ }
if (state->getRotate() == 90 || state->getRotate() == 270) {
t = imgURX;
imgURX = imgURY;
imgURY = t;
}
- writePSFmt("%%PageMedia: {0:d}x{1:d}\n", imgURX, imgURY);
- writePSFmt("%%PageBoundingBox: 0 0 {0:d} {1:d}\n", imgURX, imgURY);
}
- if (mode != psModePSOrigPageSizes)
- writePS("%%BeginPageSetup\n");
}
// underlays
@@ -3509,35 +3626,6 @@ void PSOutputDev::startPage(int pageNum, GfxState *state, XRef *xrefA) {
xScale = yScale = 1;
switch (mode) {
- case psModePSOrigPageSizes:
- x1 = (int)floor(state->getX1());
- y1 = (int)floor(state->getY1());
- x2 = (int)ceil(state->getX2());
- y2 = (int)ceil(state->getY2());
- width = x2 - x1;
- height = y2 - y1;
- if (width > height) {
- landscape = gTrue;
- } else {
- landscape = gFalse;
- }
- writePSFmt("%%PageBoundingBox: {0:d} {1:d} {2:d} {3:d}\n", x1, y1, x2 - x1, y2 - y1);
- writePS("%%BeginPageSetup\n");
- writePSFmt("%%PageOrientation: {0:s}\n",
- landscape ? "Landscape" : "Portrait");
- if ((width != prevWidth) || (height != prevHeight)) {
- // Set page size only when it actually changes, as otherwise Duplex
- // printing does not work
- writePSFmt("<</PageSize [{0:d} {1:d}]>> setpagedevice\n", width, height);
- prevWidth = width;
- prevHeight = height;
- }
- writePS("pdfStartPage\n");
- writePSFmt("{0:d} {1:d} {2:d} {3:d} re W\n", x1, y1, x2 - x1, y2 - y1);
- writePS("%%EndPageSetup\n");
- ++seqPage;
- break;
-
case psModePS:
// rotate, translate, and scale page
imgWidth = imgURX - imgLLX;
@@ -3576,8 +3664,18 @@ void PSOutputDev::startPage(int pageNum, GfxState *state, XRef *xrefA) {
}
}
}
+ if (paperMatch) {
+ paperSize = (PSOutPaperSize *)paperSizes->get(pagePaperSize[pageNum]);
+ writePSFmt("%%PageMedia: {0:t}\n", paperSize->name);
+ }
+ if (rotate == 0 || rotate == 180) {
+ writePSFmt("%%PageBoundingBox: 0 0 {0:d} {1:d}\n", width, height);
+ } else {
+ writePSFmt("%%PageBoundingBox: 0 0 {0:d} {1:d}\n", height, width);
+ }
writePSFmt("%%PageOrientation: {0:s}\n",
landscape ? "Landscape" : "Portrait");
+ writePS("%%BeginPageSetup\n");
if (paperMatch) {
writePSFmt("{0:d} {1:d} pdfSetupPaper\n", imgURX, imgURY);
}
@@ -3697,9 +3795,7 @@ void PSOutputDev::startPage(int pageNum, GfxState *state, XRef *xrefA) {
}
}
- if (mode == psModePS) {
- writePS("%%EndPageSetup\n");
- }
+ writePS("%%EndPageSetup\n");
}
void PSOutputDev::endPage() {
diff --git a/poppler/PSOutputDev.h b/poppler/PSOutputDev.h
index 92b007ea..f30204de 100644
--- a/poppler/PSOutputDev.h
+++ b/poppler/PSOutputDev.h
@@ -22,7 +22,7 @@
// Copyright (C) 2009 Carlos Garcia Campos <carlosgc@gnome.org>
// Copyright (C) 2009, 2011 William Bader <williambader@hotmail.com>
// Copyright (C) 2010 Hib Eris <hib@hiberis.nl>
-// Copyright (C) 2011 Adrian Johnson <ajohnson@redneon.com>
+// Copyright (C) 2011, 2014 Adrian Johnson <ajohnson@redneon.com>
// Copyright (C) 2012 Fabio D'Urso <fabiodurso@hotmail.it>
//
// To see a description of the changes please see the Changelog file that
@@ -44,6 +44,7 @@
#include "GlobalParams.h"
#include "OutputDev.h"
#include <set>
+#include <map>
class GHooash;
class PDFDoc;
@@ -67,8 +68,7 @@ class PSOutputDev;
enum PSOutMode {
psModePS,
psModeEPS,
- psModeForm,
- psModePSOrigPageSizes
+ psModeForm
};
enum PSFileType {
@@ -97,6 +97,7 @@ public:
char *psTitle,
int firstPage, int lastPage, PSOutMode modeA,
int paperWidthA = -1, int paperHeightA = -1,
+ GBool noCrop = gFalse,
GBool duplexA = gTrue,
int imgLLXA = 0, int imgLLYA = 0,
int imgURXA = 0, int imgURYA = 0,
@@ -111,6 +112,7 @@ public:
PDFDoc *docA,
int firstPage, int lastPage, PSOutMode modeA,
int paperWidthA = -1, int paperHeightA = -1,
+ GBool noCrop = gFalse,
GBool duplexA = gTrue,
int imgLLXA = 0, int imgLLYA = 0,
int imgURXA = 0, int imgURYA = 0,
@@ -311,7 +313,7 @@ private:
int firstPage, int lastPage, PSOutMode modeA,
int imgLLXA, int imgLLYA, int imgURXA, int imgURYA,
GBool manualCtrlA, int paperWidthA, int paperHeightA,
- GBool duplexA);
+ GBool noCropA, GBool duplexA);
void setupResources(Dict *resDict);
void setupFonts(Dict *resDict);
void setupFont(GfxFont *font, Dict *parentResDict);
@@ -408,6 +410,7 @@ private:
imgURX, imgURY;
GBool preload; // load all images into memory, and
// predefine forms
+ GBool noCrop;
PSOutputFunc outputFunc;
void *outputStream;
@@ -452,6 +455,7 @@ private:
GooList *paperSizes; // list of used paper sizes, if paperMatch
// is true [PSOutPaperSize]
+ std::map<int,int> pagePaperSize; // page num to paperSize entry mapping
double tx0, ty0; // global translation
double xScale0, yScale0; // global scaling
int rotate0; // rotation angle (0, 90, 180, 270)
diff --git a/poppler/Page.cc b/poppler/Page.cc
index e0a3b298..ecdff32f 100644
--- a/poppler/Page.cc
+++ b/poppler/Page.cc
@@ -27,6 +27,7 @@
// Copyright (C) 2012, 2013 Fabio D'Urso <fabiodurso@hotmail.it>
// Copyright (C) 2013 Thomas Freitag <Thomas.Freitag@alfa.de>
// Copyright (C) 2013 Jason Crain <jason@aquaticape.us>
+// Copyright (C) 2013 Adrian Johnson <ajohnson@redneon.com>
//
// To see a description of the changes please see the Changelog file that
// came with your tarball or type make ChangeLog if you are building from git
@@ -671,7 +672,7 @@ GBool Page::loadThumb(unsigned char **data_out,
obj1.free ();
dict->lookup ("CS", &obj1);
}
- colorSpace = GfxColorSpace::parse(&obj1, NULL);
+ colorSpace = GfxColorSpace::parse(&obj1, NULL, NULL);
obj1.free();
if (!colorSpace) {
fprintf (stderr, "Error: Cannot parse color space\n");
@@ -823,3 +824,23 @@ void Page::getDefaultCTM(double *ctm, double hDPI, double vDPI,
}
delete state;
}
+
+LinkAction* Page::getAdditionalAction(PageAdditionalActionsType type) {
+ Object additionalActionsObject;
+ LinkAction *linkAction = NULL;
+
+ if (actions.fetch(doc->getXRef(), &additionalActionsObject)->isDict()) {
+ const char *key = (type == actionOpenPage ? "O" :
+ type == actionClosePage ? "C" : NULL);
+
+ Object actionObject;
+
+ if (additionalActionsObject.dictLookup(key, &actionObject)->isDict())
+ linkAction = LinkAction::parseAction(&actionObject, doc->getCatalog()->getBaseURI());
+ actionObject.free();
+ }
+
+ additionalActionsObject.free();
+
+ return linkAction;
+}
diff --git a/poppler/Page.h b/poppler/Page.h
index 1c9d0a9c..2aaabae9 100644
--- a/poppler/Page.h
+++ b/poppler/Page.h
@@ -22,6 +22,7 @@
// Copyright (C) 2012 Fabio D'Urso <fabiodurso@hotmail.it>
// Copyright (C) 2012 Albert Astals Cid <aacid@kde.org>
// Copyright (C) 2013 Thomas Freitag <Thomas.Freitag@alfa.de>
+// Copyright (C) 2013 Adrian Johnson <ajohnson@redneon.com>
//
// To see a description of the changes please see the Changelog file that
// came with your tarball or type make ChangeLog if you are building from git
@@ -44,6 +45,7 @@ class PDFDoc;
class XRef;
class OutputDev;
class Links;
+class LinkAction;
class Annots;
class Annot;
class Gfx;
@@ -211,6 +213,13 @@ public:
// Get actions
Object *getActions(Object *obj) { return actions.fetch(xref, obj); }
+ enum PageAdditionalActionsType {
+ actionOpenPage, ///< Performed when opening the page
+ actionClosePage, ///< Performed when closing the page
+ };
+
+ LinkAction *getAdditionalAction(PageAdditionalActionsType type);
+
Gfx *createGfx(OutputDev *out, double hDPI, double vDPI,
int rotate, GBool useMediaBox, GBool crop,
int sliceX, int sliceY, int sliceW, int sliceH,
@@ -267,7 +276,7 @@ private:
Object contents; // page contents
Object thumb; // page thumbnail
Object trans; // page transition
- Object actions; // page addiction actions
+ Object actions; // page additional actions
double duration; // page duration
GBool ok; // true if page is valid
#if MULTITHREADED
diff --git a/poppler/PageLabelInfo_p.h b/poppler/PageLabelInfo_p.h
index d3cd89f9..6cd5220d 100644
--- a/poppler/PageLabelInfo_p.h
+++ b/poppler/PageLabelInfo_p.h
@@ -3,7 +3,7 @@
// This file is under the GPLv2 or later license
//
// Copyright (C) 2005-2006 Kristian Høgsberg <krh@redhat.com>
-// Copyright (C) 2005, 2009 Albert Astals Cid <aacid@kde.org>
+// Copyright (C) 2005, 2009, 2014 Albert Astals Cid <aacid@kde.org>
// Copyright (C) 2011 Simon Kellner <kellner@kit.edu>
// Copyright (C) 2012 Fabio D'Urso <fabiodurso@hotmail.it>
//
@@ -15,6 +15,7 @@
/* http://mathworld.wolfram.com/RomanNumerals.html */
#include "goo/GooString.h"
+#include "Error.h"
static int fromRoman(const char *buffer) {
int digit_value, prev_digit_value, value;
@@ -73,6 +74,11 @@ static void toRoman(int number, GooString *str, GBool uppercase) {
int i, j, k;
const char *wh;
+ if (number >= 4000) {
+ error(errUnimplemented, -1, "Conversion to roman numberals of numbers >= 4000 not implemented");
+ return;
+ }
+
if (uppercase)
wh = uppercaseNumerals;
else
diff --git a/poppler/Parser.cc b/poppler/Parser.cc
index 03705640..28a54607 100644
--- a/poppler/Parser.cc
+++ b/poppler/Parser.cc
@@ -13,7 +13,7 @@
// All changes made under the Poppler project to this file are licensed
// under GPL version 2 or later
//
-// Copyright (C) 2006, 2009, 201, 2010 Albert Astals Cid <aacid@kde.org>
+// Copyright (C) 2006, 2009, 201, 2010, 2013, 2014 Albert Astals Cid <aacid@kde.org>
// Copyright (C) 2006 Krzysztof Kowalczyk <kkowalczyk@gmail.com>
// Copyright (C) 2009 Ilya Gorenbein <igorenbein@finjan.com>
// Copyright (C) 2012 Hib Eris <hib@hiberis.nl>
@@ -242,17 +242,14 @@ Stream *Parser::makeStream(Object *dict, Guchar *fileKey,
// refill token buffers and check for 'endstream'
shift(); // kill '>>'
- shift("endstream"); // kill 'stream'
+ shift("endstream", objNum); // kill 'stream'
if (buf1.isCmd("endstream")) {
shift();
} else {
error(errSyntaxError, getPos(), "Missing 'endstream' or incorrect stream length");
if (strict) return NULL;
- if (xref) {
+ if (xref && lexer->getStream()) {
// shift until we find the proper endstream or we change to another object or reach eof
- while (!buf1.isCmd("endstream") && xref->getNumEntry(lexer->getPos()) == objNum && !buf1.isEOF()) {
- shift("endstream");
- }
length = lexer->getPos() - pos;
if (buf1.isCmd("endstream")) {
obj.initInt64(length);
@@ -303,7 +300,7 @@ void Parser::shift(int objNum) {
lexer->getObj(&buf2, objNum);
}
-void Parser::shift(const char *cmdA) {
+void Parser::shift(const char *cmdA, int objNum) {
if (inlineImg > 0) {
if (inlineImg < 2) {
++inlineImg;
@@ -321,8 +318,8 @@ void Parser::shift(const char *cmdA) {
if (inlineImg > 0) {
buf2.initNull();
} else if (buf1.isCmd(cmdA)) {
- lexer->getObj(&buf2, -1);
+ lexer->getObj(&buf2, objNum);
} else {
- lexer->getObj(&buf2, cmdA);
+ lexer->getObj(&buf2, cmdA, objNum);
}
}
diff --git a/poppler/Parser.h b/poppler/Parser.h
index 97027164..1ce9445e 100644
--- a/poppler/Parser.h
+++ b/poppler/Parser.h
@@ -13,7 +13,7 @@
// All changes made under the Poppler project to this file are licensed
// under GPL version 2 or later
//
-// Copyright (C) 2006, 2010 Albert Astals Cid <aacid@kde.org>
+// Copyright (C) 2006, 2010, 2013 Albert Astals Cid <aacid@kde.org>
// Copyright (C) 2012 Hib Eris <hib@hiberis.nl>
// Copyright (C) 2013 Adrian Johnson <ajohnson@redneon.com>
// Copyright (C) 2013 Thomas Freitag <Thomas.Freitag@alfa.de>
@@ -75,7 +75,7 @@ private:
int objNum, int objGen, int recursion,
GBool strict);
void shift(int objNum = -1);
- void shift(const char *cmdA);
+ void shift(const char *cmdA, int objNum);
};
#endif
diff --git a/poppler/PreScanOutputDev.cc b/poppler/PreScanOutputDev.cc
index 6a011266..b2af18d8 100644
--- a/poppler/PreScanOutputDev.cc
+++ b/poppler/PreScanOutputDev.cc
@@ -15,7 +15,7 @@
//
// Copyright (C) 2009 Carlos Garcia Campos <carlosgc@gnome.org>
// Copyright (C) 2010, 2011 Albert Astals Cid <aacid@kde.org>
-// Copyright (C) 2011 William Bader <williambader@hotmail.com>
+// Copyright (C) 2011, 2014 William Bader <williambader@hotmail.com>
// Copyright (C) 2011, 2013 Thomas Freitag <Thomas.Freitag@alfa.de>
// Copyright (C) 2011 Adrian Johnson <ajohnson@redneon.com>
//
@@ -87,7 +87,14 @@ GBool PreScanOutputDev::tilingPatternFill(GfxState *state, Gfx *gfx, Catalog *ca
int x0, int y0, int x1, int y1,
double xStep, double yStep) {
if (paintType == 1) {
+ GBool tilingNeeded = (x1 - x0 != 1 || y1 - y0 != 1);
+ if (tilingNeeded) {
+ inTilingPatternFill++;
+ }
gfx->drawForm(str, resDict, mat, bbox);
+ if (tilingNeeded) {
+ inTilingPatternFill--;
+ }
} else {
check(state->getFillColorSpace(), state->getFillColor(),
state->getFillOpacity(), state->getBlendMode());
@@ -200,7 +207,7 @@ void PreScanOutputDev::drawImageMask(GfxState *state, Object * /*ref*/, Stream *
state->getFillOpacity(), state->getBlendMode());
gdi = gFalse;
if ((level == psLevel1 || level == psLevel1Sep) &&
- state->getFillColorSpace()->getMode() == csPattern) {
+ (state->getFillColorSpace()->getMode() == csPattern || inTilingPatternFill > 0)) {
patternImgMask = gTrue;
}
@@ -238,6 +245,10 @@ void PreScanOutputDev::drawImage(GfxState *state, Object * /*ref*/, Stream *str,
transparency = gTrue;
}
gdi = gFalse;
+ if ((level == psLevel1 || level == psLevel1Sep) &&
+ inTilingPatternFill > 0) {
+ patternImgMask = gTrue;
+ }
if (inlineImg) {
str->reset();
@@ -354,4 +365,5 @@ void PreScanOutputDev::clearStats() {
transparency = gFalse;
gdi = gTrue;
patternImgMask = gFalse;
+ inTilingPatternFill = 0;
}
diff --git a/poppler/PreScanOutputDev.h b/poppler/PreScanOutputDev.h
index 0fc9d3e3..50fcbf22 100644
--- a/poppler/PreScanOutputDev.h
+++ b/poppler/PreScanOutputDev.h
@@ -15,7 +15,7 @@
//
// Copyright (C) 2009 Carlos Garcia Campos <carlosgc@gnome.org>
// Copyright (C) 2010 Albert Astals Cid <aacid@kde.org>
-// Copyright (C) 2011 William Bader <williambader@hotmail.com>
+// Copyright (C) 2011, 2014 William Bader <williambader@hotmail.com>
// Copyright (C) 2011, 2013 Thomas Freitag <Thomas.Freitag@alfa.de>
// Copyright (C) 2011 Adrian Johnson <ajohnson@redneon.com>
//
@@ -176,6 +176,7 @@ private:
GBool gdi;
PSLevel level; // PostScript level (1, 2, separation)
GBool patternImgMask;
+ int inTilingPatternFill;
};
#endif
diff --git a/poppler/SecurityHandler.cc b/poppler/SecurityHandler.cc
index 8b85e60d..d6f55995 100644
--- a/poppler/SecurityHandler.cc
+++ b/poppler/SecurityHandler.cc
@@ -15,6 +15,7 @@
//
// Copyright (C) 2010, 2012 Albert Astals Cid <aacid@kde.org>
// Copyright (C) 2013 Adrian Johnson <ajohnson@redneon.com>
+// Copyright (C) 2014 Fabio D'Urso <fabiodurso@hotmail.it>
//
// To see a description of the changes please see the Changelog file that
// came with your tarball or type make ChangeLog if you are building from git
@@ -295,7 +296,7 @@ StandardSecurityHandler::StandardSecurityHandler(PDFDoc *docA,
ok = gTrue;
} else if (!(encVersion == -1 && encRevision == -1)) {
error(errUnimplemented, -1,
- "Unsupported version/revision (%d/%d) of Standard security handler",
+ "Unsupported version/revision ({0:d}/{1:d}) of Standard security handler",
encVersion, encRevision);
}
} else {
diff --git a/poppler/SplashOutputDev.cc b/poppler/SplashOutputDev.cc
index 8c695025..fd0f8419 100644
--- a/poppler/SplashOutputDev.cc
+++ b/poppler/SplashOutputDev.cc
@@ -15,7 +15,7 @@
//
// Copyright (C) 2005 Takashi Iwai <tiwai@suse.de>
// Copyright (C) 2006 Stefan Schweizer <genstef@gentoo.org>
-// Copyright (C) 2006-2013 Albert Astals Cid <aacid@kde.org>
+// Copyright (C) 2006-2014 Albert Astals Cid <aacid@kde.org>
// Copyright (C) 2006 Krzysztof Kowalczyk <kkowalczyk@gmail.com>
// Copyright (C) 2006 Scott Turner <scotty1024@mac.com>
// Copyright (C) 2007 Koji Otani <sho@bbr.jp>
@@ -32,6 +32,7 @@
// Copyright (C) 2011, 2012 Adrian Johnson <ajohnson@redneon.com>
// Copyright (C) 2013 Lu Wang <coolwanglu@gmail.com>
// Copyright (C) 2013 Li Junling <lijunling@sina.com>
+// Copyright (C) 2014 Ed Porras <ed@moto-research.com>
//
// To see a description of the changes please see the Changelog file that
// came with your tarball or type make ChangeLog if you are building from git
@@ -1195,6 +1196,7 @@ struct SplashTransparencyGroup {
SplashBitmap *shape;
GBool knockout;
SplashCoord knockoutOpacity;
+ GBool fontAA;
//----- saved state
SplashBitmap *origBitmap;
@@ -2693,11 +2695,9 @@ void SplashOutputDev::drawImageMask(GfxState *state, Object *ref, Stream *str,
splash->fillImageMask(&imageMaskSrc, &imgMaskData, width, height, mat, t3GlyphStack != NULL);
if (inlineImg) {
- if (inlineImg) {
- while (imgMaskData.y < height) {
- imgMaskData.imgStr->getLine();
- ++imgMaskData.y;
- }
+ while (imgMaskData.y < height) {
+ imgMaskData.imgStr->getLine();
+ ++imgMaskData.y;
}
}
@@ -2888,19 +2888,27 @@ GBool SplashOutputDev::imageSrc(void *data, SplashColorPtr colorLine,
break;
#if SPLASH_CMYK
case splashModeCMYK8:
- for (x = 0, q = colorLine; x < imgData->width; ++x, p += nComps) {
- imgData->colorMap->getCMYK(p, &cmyk);
- *q++ = colToByte(cmyk.c);
- *q++ = colToByte(cmyk.m);
- *q++ = colToByte(cmyk.y);
- *q++ = colToByte(cmyk.k);
+ if (imgData->colorMap->useCMYKLine()) {
+ imgData->colorMap->getCMYKLine(p, (Guchar *) colorLine, imgData->width);
+ } else {
+ for (x = 0, q = colorLine; x < imgData->width; ++x, p += nComps) {
+ imgData->colorMap->getCMYK(p, &cmyk);
+ *q++ = colToByte(cmyk.c);
+ *q++ = colToByte(cmyk.m);
+ *q++ = colToByte(cmyk.y);
+ *q++ = colToByte(cmyk.k);
+ }
}
break;
case splashModeDeviceN8:
- for (x = 0, q = colorLine; x < imgData->width; ++x, p += nComps) {
- imgData->colorMap->getDeviceN(p, &deviceN);
- for (int cp = 0; cp < SPOT_NCOMPS+4; cp++)
- *q++ = colToByte(deviceN.c[cp]);
+ if (imgData->colorMap->useDeviceNLine()) {
+ imgData->colorMap->getDeviceNLine(p, (Guchar *) colorLine, imgData->width);
+ } else {
+ for (x = 0, q = colorLine; x < imgData->width; ++x, p += nComps) {
+ imgData->colorMap->getDeviceN(p, &deviceN);
+ for (int cp = 0; cp < SPOT_NCOMPS+4; cp++)
+ *q++ = colToByte(deviceN.c[cp]);
+ }
}
break;
#endif
@@ -3803,7 +3811,7 @@ void SplashOutputDev::beginTransparencyGroup(GfxState *state, double *bbox,
transpGroup->blendingColorSpace = blendingColorSpace;
transpGroup->isolated = isolated;
transpGroup->shape = (knockout && !isolated) ? SplashBitmap::copy(bitmap) : NULL;
- transpGroup->knockout = gFalse;
+ transpGroup->knockout = (knockout && isolated);
transpGroup->knockoutOpacity = 1.0;
transpGroup->next = transpGroupStack;
transpGroupStack = transpGroup;
@@ -3811,6 +3819,7 @@ void SplashOutputDev::beginTransparencyGroup(GfxState *state, double *bbox,
// save state
transpGroup->origBitmap = bitmap;
transpGroup->origSplash = splash;
+ transpGroup->fontAA = fontEngine->getAA();
//~ this handles the blendingColorSpace arg for soft masks, but
//~ not yet for transparency groups
@@ -3842,6 +3851,9 @@ void SplashOutputDev::beginTransparencyGroup(GfxState *state, double *bbox,
bitmapTopDown, bitmap->getSeparationList());
splash = new Splash(bitmap, vectorAntialias,
transpGroup->origSplash->getScreen());
+ if (transpGroup->next != NULL && transpGroup->next->knockout) {
+ fontEngine->setAA(gFalse);
+ }
splash->setThinLineMode(transpGroup->origSplash->getThinLineMode());
splash->setMinLineWidth(globalParams->getMinLineWidth());
//~ Acrobat apparently copies at least the fill and stroke colors, and
@@ -3860,8 +3872,12 @@ void SplashOutputDev::beginTransparencyGroup(GfxState *state, double *bbox,
} else {
SplashBitmap *shape = (knockout) ? transpGroup->shape :
(transpGroup->next != NULL && transpGroup->next->shape != NULL) ? transpGroup->next->shape : transpGroup->origBitmap;
+ int shapeTx = (knockout) ? tx :
+ (transpGroup->next != NULL && transpGroup->next->shape != NULL) ? transpGroup->next->tx + tx : tx;
+ int shapeTy = (knockout) ? ty :
+ (transpGroup->next != NULL && transpGroup->next->shape != NULL) ? transpGroup->next->ty + ty : ty;
splash->blitTransparent(transpGroup->origBitmap, tx, ty, 0, 0, w, h);
- splash->setInNonIsolatedGroup(shape, tx, ty);
+ splash->setInNonIsolatedGroup(shape, shapeTx, shapeTy);
}
transpGroup->tBitmap = bitmap;
state->shiftCTMAndClip(-tx, -ty);
@@ -3898,8 +3914,9 @@ void SplashOutputDev::paintTransparencyGroup(GfxState *state, double *bbox) {
: transpGroupStack->knockoutOpacity;
splash->setOverprintMask(0xffffffff, gFalse);
splash->composite(tBitmap, 0, 0, tx, ty,
- tBitmap->getWidth(), tBitmap->getHeight(),
- gFalse, !isolated, transpGroupStack->next != NULL && transpGroupStack->next->knockout, knockoutOpacity);
+ tBitmap->getWidth(), tBitmap->getHeight(),
+ gFalse, !isolated, transpGroupStack->next != NULL && transpGroupStack->next->knockout, knockoutOpacity);
+ fontEngine->setAA(transpGroupStack->fontAA);
if (transpGroupStack->next != NULL && transpGroupStack->next->shape != NULL) {
transpGroupStack->next->knockout = gTrue;
}
@@ -4328,6 +4345,7 @@ GBool SplashOutputDev::gouraudTriangleShadedFill(GfxState *state, GfxGouraudTria
setVectorAntialias(vaa);
return retVal;
}
+ delete splashShading;
return gFalse;
}
diff --git a/poppler/Stream.cc b/poppler/Stream.cc
index 41cb8c1d..4c00ddb0 100644
--- a/poppler/Stream.cc
+++ b/poppler/Stream.cc
@@ -14,7 +14,7 @@
// under GPL version 2 or later
//
// Copyright (C) 2005 Jeff Muizelaar <jeff@infidigm.net>
-// Copyright (C) 2006-2010, 2012, 2013 Albert Astals Cid <aacid@kde.org>
+// Copyright (C) 2006-2010, 2012-2014 Albert Astals Cid <aacid@kde.org>
// Copyright (C) 2007 Krzysztof Kowalczyk <kkowalczyk@gmail.com>
// Copyright (C) 2008 Julien Rebetez <julien@fhtagn.net>
// Copyright (C) 2009 Carlos Garcia Campos <carlosgc@gnome.org>
@@ -452,7 +452,7 @@ ImageStream::ImageStream(Stream *strA, int widthA, int nCompsA, int nBitsA) {
nVals = width * nComps;
inputLineSize = (nVals * nBits + 7) >> 3;
- if (nBits <= 0 || nVals > INT_MAX / nBits - 7) {
+ if (nBits <= 0 || nVals > INT_MAX / nBits - 7 || width > INT_MAX / nComps) {
inputLineSize = -1;
}
inputLine = (Guchar *)gmallocn_checkoverflow(inputLineSize, sizeof(char));
@@ -819,6 +819,9 @@ GBool FileStream::fillBuf() {
n = fileStreamBufSize;
}
n = file->read(buf, n, offset);
+ if (n == -1) {
+ return gFalse;
+ }
offset += n;
bufEnd = buf + n;
if (bufPtr >= bufEnd) {
diff --git a/poppler/Stream.h b/poppler/Stream.h
index 9b40fd16..00b2925b 100644
--- a/poppler/Stream.h
+++ b/poppler/Stream.h
@@ -797,6 +797,11 @@ public:
virtual void unfilteredReset ();
+ int getEncoding() { return encoding; }
+ GBool getEndOfLine() { return endOfLine; }
+ int getColumns() { return columns; }
+ GBool getBlackIs1() { return black; }
+
private:
void ccittReset(GBool unfiltered);
diff --git a/poppler/StructElement.cc b/poppler/StructElement.cc
new file mode 100644
index 00000000..8e064a04
--- /dev/null
+++ b/poppler/StructElement.cc
@@ -0,0 +1,1389 @@
+//========================================================================
+//
+// StructElement.cc
+//
+// This file is licensed under the GPLv2 or later
+//
+// Copyright 2013, 2014 Igalia S.L.
+//
+//========================================================================
+
+#ifdef USE_GCC_PRAGMAS
+#pragma interface
+#endif
+
+#include "StructElement.h"
+#include "StructTreeRoot.h"
+#include "GlobalParams.h"
+#include "UnicodeMap.h"
+#include "PDFDoc.h"
+#include "Dict.h"
+
+#include <assert.h>
+
+class GfxState;
+
+
+static GBool isPlacementName(Object *value)
+{
+ return value->isName("Block")
+ || value->isName("Inline")
+ || value->isName("Before")
+ || value->isName("Start")
+ || value->isName("End");
+}
+
+static GBool isWritingModeName(Object *value)
+{
+ return value->isName("LrTb")
+ || value->isName("RlTb")
+ || value->isName("TbRl");
+}
+
+static GBool isBorderStyleName(Object *value)
+{
+ return value->isName("None")
+ || value->isName("Hidden")
+ || value->isName("Dotted")
+ || value->isName("Dashed")
+ || value->isName("Solid")
+ || value->isName("Double")
+ || value->isName("Groove")
+ || value->isName("Ridge")
+ || value->isName("Inset")
+ || value->isName("Outset");
+}
+
+static GBool isTextAlignName(Object *value)
+{
+ return value->isName("Start")
+ || value->isName("End")
+ || value->isName("Center")
+ || value->isName("Justify");
+}
+
+static GBool isBlockAlignName(Object *value)
+{
+ return value->isName("Before")
+ || value->isName("Middle")
+ || value->isName("After")
+ || value->isName("Justify");
+}
+
+static GBool isInlineAlignName(Object *value)
+{
+ return value->isName("Start")
+ || value->isName("End")
+ || value->isName("Center");
+}
+
+static GBool isNumber(Object *value)
+{
+ return value->isNum();
+}
+
+static GBool isLineHeight(Object *value)
+{
+ return value->isName("Normal")
+ || value->isName("Auto")
+ || isNumber(value);
+}
+
+static GBool isTextDecorationName(Object *value)
+{
+ return value->isName("None")
+ || value->isName("Underline")
+ || value->isName("Overline")
+ || value->isName("LineThrough");
+}
+
+static GBool isRubyAlignName(Object *value)
+{
+ return value->isName("Start")
+ || value->isName("End")
+ || value->isName("Center")
+ || value->isName("Justify")
+ || value->isName("Distribute");
+}
+
+static GBool isRubyPositionName(Object *value)
+{
+ return value->isName("Before")
+ || value->isName("After")
+ || value->isName("Warichu")
+ || value->isName("Inline");
+}
+
+static GBool isGlyphOrientationName(Object *value)
+{
+ return value->isName("Auto")
+ || value->isName("90")
+ || value->isName("180")
+ || value->isName("270")
+ || value->isName("360")
+ || value->isName("-90")
+ || value->isName("-180");
+}
+
+static GBool isListNumberingName(Object *value)
+{
+ return value->isName("None")
+ || value->isName("Disc")
+ || value->isName("Circle")
+ || value->isName("Square")
+ || value->isName("Decimal")
+ || value->isName("UpperRoman")
+ || value->isName("LowerRoman")
+ || value->isName("UpperAlpha")
+ || value->isName("LowerAlpha");
+}
+
+static GBool isFieldRoleName(Object *value)
+{
+ return value->isName("rb")
+ || value->isName("cb")
+ || value->isName("pb")
+ || value->isName("tv");
+}
+
+static GBool isFieldCheckedName(Object *value)
+{
+ return value->isName("on")
+ || value->isName("off")
+ || value->isName("neutral");
+}
+
+static GBool isTableScopeName(Object *value)
+{
+ return value->isName("Row")
+ || value->isName("Column")
+ || value->isName("Both");
+}
+
+static GBool isRGBColor(Object *value)
+{
+ if (!(value->isArray() && value->arrayGetLength() == 3))
+ return gFalse;
+
+ GBool okay = gTrue;
+ for (int i = 0; i < 3; i++) {
+ Object obj;
+ if (!value->arrayGet(i, &obj)->isNum()) {
+ okay = gFalse;
+ obj.free();
+ break;
+ }
+ if (obj.getNum() < 0.0 || obj.getNum() > 1.0) {
+ okay = gFalse;
+ obj.free();
+ break;
+ }
+ obj.free();
+ }
+
+ return okay;
+}
+
+static GBool isNatural(Object *value)
+{
+ return (value->isInt() && value->getInt() > 0)
+ || (value->isInt64() && value->getInt64() > 0);
+}
+
+static GBool isPositive(Object *value)
+{
+ return value->isNum() && value->getNum() >= 0.0;
+}
+
+static GBool isNumberOrAuto(Object *value)
+{
+ return isNumber(value) || value->isName("Auto");
+}
+
+static GBool isTextString(Object *value)
+{
+ // XXX: Shall isName() also be checked?
+ return value->isString();
+}
+
+
+#define ARRAY_CHECKER(name, checkItem, length, allowSingle, allowNulls) \
+ static GBool name(Object *value) { \
+ if (!value->isArray()) \
+ return allowSingle ? checkItem(value) : gFalse; \
+ \
+ if (length && value->arrayGetLength() != length) \
+ return gFalse; \
+ \
+ GBool okay = gTrue; \
+ for (int i = 0; i < value->arrayGetLength(); i++) { \
+ Object obj; \
+ value->arrayGet(i, &obj); \
+ if ((!allowNulls && obj.isNull()) || !checkItem(&obj)) { \
+ okay = gFalse; \
+ obj.free(); \
+ break; \
+ } \
+ obj.free(); \
+ } \
+ return okay; \
+ }
+
+ARRAY_CHECKER(isRGBColorOrOptionalArray4, isRGBColor, 4, gTrue, gTrue );
+ARRAY_CHECKER(isPositiveOrOptionalArray4, isPositive, 4, gTrue, gTrue );
+ARRAY_CHECKER(isPositiveOrArray4, isPositive, 4, gTrue, gFalse);
+ARRAY_CHECKER(isBorderStyle, isBorderStyleName, 4, gTrue, gTrue );
+ARRAY_CHECKER(isNumberArray4, isNumber, 4, gFalse, gFalse);
+ARRAY_CHECKER(isNumberOrArrayN, isNumber, 0, gTrue, gFalse);
+ARRAY_CHECKER(isTableHeaders, isTextString, 0, gFalse, gFalse);
+
+
+// Type of functions used to do type-checking on attribute values
+typedef GBool (*AttributeCheckFunc)(Object*);
+
+// Maps attributes to their names and whether the attribute can be inherited.
+struct AttributeMapEntry {
+ Attribute::Type type;
+ const char *name;
+ const Object *defval;
+ GBool inherit;
+ AttributeCheckFunc check;
+};
+
+struct AttributeDefaults {
+ Object Inline;
+ Object LrTb;
+ Object Normal;
+ Object Distribute;
+ Object off;
+ Object Zero;
+ Object Auto;
+ Object Start;
+ Object None;
+ Object Before;
+ Object Nat1;
+
+ AttributeDefaults() {
+ Inline.initName("Inline");
+ LrTb.initName("LrTb");
+ Normal.initName("Normal");
+ Distribute.initName("Distribute");
+ off.initName("off");
+
+ Zero.initReal(0.0);
+ Auto.initName("Auto");
+ Start.initName("Start");
+ None.initName("None");
+ Before.initName("Before");
+ Nat1.initInt(1);
+ }
+};
+
+static const AttributeDefaults attributeDefaults;
+
+
+#define ATTR_LIST_END \
+ { Attribute::Unknown, NULL, NULL, gFalse, NULL }
+
+#define ATTR_WITH_DEFAULT(name, inherit, check, defval) \
+ { Attribute::name, \
+ #name, \
+ &attributeDefaults.defval, \
+ inherit, \
+ check }
+
+#define ATTR(name, inherit, check) \
+ { Attribute::name, \
+ #name, \
+ NULL, \
+ inherit, \
+ check }
+
+static const AttributeMapEntry attributeMapCommonShared[] =
+{
+ ATTR_WITH_DEFAULT(Placement, gFalse, isPlacementName, Inline),
+ ATTR_WITH_DEFAULT(WritingMode, gTrue, isWritingModeName, LrTb),
+ ATTR (BackgroundColor, gFalse, isRGBColor),
+ ATTR (BorderColor, gTrue, isRGBColorOrOptionalArray4),
+ ATTR_WITH_DEFAULT(BorderStyle, gFalse, isBorderStyle, None),
+ ATTR (BorderThickness, gTrue, isPositiveOrOptionalArray4),
+ ATTR_WITH_DEFAULT(Padding, gFalse, isPositiveOrArray4, Zero),
+ ATTR (Color, gTrue, isRGBColor),
+ ATTR_LIST_END
+};
+
+static const AttributeMapEntry attributeMapCommonBlock[] =
+{
+ ATTR_WITH_DEFAULT(SpaceBefore, gFalse, isPositive, Zero),
+ ATTR_WITH_DEFAULT(SpaceAfter, gFalse, isPositive, Zero),
+ ATTR_WITH_DEFAULT(StartIndent, gTrue, isNumber, Zero),
+ ATTR_WITH_DEFAULT(EndIndent, gTrue, isNumber, Zero),
+ ATTR_WITH_DEFAULT(TextIndent, gTrue, isNumber, Zero),
+ ATTR_WITH_DEFAULT(TextAlign, gTrue, isTextAlignName, Start),
+ ATTR (BBox, gFalse, isNumberArray4),
+ ATTR_WITH_DEFAULT(Width, gFalse, isNumberOrAuto, Auto),
+ ATTR_WITH_DEFAULT(Height, gFalse, isNumberOrAuto, Auto),
+ ATTR_WITH_DEFAULT(BlockAlign, gTrue, isBlockAlignName, Before),
+ ATTR_WITH_DEFAULT(InlineAlign, gTrue, isInlineAlignName, Start),
+ ATTR_LIST_END
+};
+
+static const AttributeMapEntry attributeMapCommonInline[] =
+{
+ ATTR_WITH_DEFAULT(BaselineShift, gFalse, isNumber, Zero),
+ ATTR_WITH_DEFAULT(LineHeight, gTrue, isLineHeight, Normal),
+ ATTR (TextDecorationColor, gTrue, isRGBColor),
+ ATTR (TextDecorationThickness, gTrue, isPositive),
+ ATTR_WITH_DEFAULT(TextDecorationType, gFalse, isTextDecorationName, None),
+ ATTR_WITH_DEFAULT(GlyphOrientationVertical, gTrue, isGlyphOrientationName, Auto),
+ ATTR_LIST_END
+};
+
+static const AttributeMapEntry attributeMapCommonRubyText[] =
+{
+ ATTR_WITH_DEFAULT(RubyPosition, gTrue, isRubyPositionName, Before),
+ ATTR_WITH_DEFAULT(RubyAlign, gTrue, isRubyAlignName, Distribute),
+ ATTR_LIST_END
+};
+
+static const AttributeMapEntry attributeMapCommonColumns[] =
+{
+ ATTR_WITH_DEFAULT(ColumnCount, gFalse, isNatural, Nat1),
+ ATTR (ColumnGap, gFalse, isNumberOrArrayN),
+ ATTR (ColumnWidths, gFalse, isNumberOrArrayN),
+ ATTR_LIST_END
+};
+
+static const AttributeMapEntry attributeMapCommonList[] = {
+ ATTR_WITH_DEFAULT(ListNumbering, gTrue, isListNumberingName, None),
+ ATTR_LIST_END
+};
+
+static const AttributeMapEntry attributeMapCommonPrintField[] =
+{
+ ATTR (Role, gFalse, isFieldRoleName),
+ ATTR_WITH_DEFAULT(checked, gFalse, isFieldCheckedName, off),
+ ATTR (Desc, gFalse, isTextString),
+ ATTR_LIST_END
+};
+
+static const AttributeMapEntry attributeMapCommonTable[] =
+{
+ ATTR(Headers, gFalse, isTableHeaders),
+ ATTR(Scope, gFalse, isTableScopeName),
+ ATTR(Summary, gFalse, isTextString),
+ ATTR_LIST_END
+};
+
+static const AttributeMapEntry attributeMapCommonTableCell[] =
+{
+ ATTR_WITH_DEFAULT(RowSpan, gFalse, isNatural, Nat1),
+ ATTR_WITH_DEFAULT(ColSpan, gFalse, isNatural, Nat1),
+ ATTR_WITH_DEFAULT(TBorderStyle, gTrue, isBorderStyle, None),
+ ATTR_WITH_DEFAULT(TPadding, gTrue, isPositiveOrArray4, Zero),
+ ATTR_LIST_END
+};
+
+#undef ATTR_WITH_DEFAULT
+#undef ATTR
+
+
+static const AttributeMapEntry *attributeMapAll[] = {
+ attributeMapCommonShared,
+ attributeMapCommonBlock,
+ attributeMapCommonInline,
+ attributeMapCommonRubyText,
+ attributeMapCommonColumns,
+ attributeMapCommonList,
+ attributeMapCommonPrintField,
+ attributeMapCommonTable,
+ attributeMapCommonTableCell,
+ NULL,
+};
+
+static const AttributeMapEntry *attributeMapShared[] = {
+ attributeMapCommonShared,
+ NULL,
+};
+
+static const AttributeMapEntry *attributeMapBlock[] = {
+ attributeMapCommonShared,
+ attributeMapCommonBlock,
+ NULL,
+};
+
+static const AttributeMapEntry *attributeMapInline[] = {
+ attributeMapCommonShared,
+ attributeMapCommonInline,
+ NULL,
+};
+
+static const AttributeMapEntry *attributeMapTableCell[] = {
+ attributeMapCommonShared,
+ attributeMapCommonBlock,
+ attributeMapCommonTable,
+ attributeMapCommonTableCell,
+ NULL,
+};
+
+static const AttributeMapEntry *attributeMapRubyText[] = {
+ attributeMapCommonShared,
+ attributeMapCommonInline,
+ attributeMapCommonRubyText,
+ NULL,
+};
+
+static const AttributeMapEntry *attributeMapColumns[] = {
+ attributeMapCommonShared,
+ attributeMapCommonInline,
+ attributeMapCommonColumns,
+ NULL,
+};
+
+static const AttributeMapEntry *attributeMapList[] = {
+ attributeMapCommonShared,
+ attributeMapCommonList,
+ NULL,
+};
+
+static const AttributeMapEntry *attributeMapTable[] = {
+ attributeMapCommonShared,
+ attributeMapCommonBlock,
+ attributeMapCommonTable,
+ NULL,
+};
+
+static const AttributeMapEntry *attributeMapIllustration[] = {
+ // XXX: Illustrations may have some attributes from the "shared", "inline",
+ // the "block" sets. This is a loose specification; making it better
+ // means duplicating entries from the sets. This seems good enough...
+ attributeMapCommonShared,
+ attributeMapCommonBlock,
+ attributeMapCommonInline,
+ NULL,
+};
+
+// Table mapping owners of attributes to their names.
+static const struct OwnerMapEntry {
+ Attribute::Owner owner;
+ const char *name;
+} ownerMap[] = {
+ // XXX: Those are sorted in the owner priority resolution order. If the
+ // same attribute is defined with two owners, the order in the table
+ // can be used to know which one has more priority.
+ { Attribute::XML_1_00, "XML-1.00" },
+ { Attribute::HTML_3_20, "HTML-3.20" },
+ { Attribute::HTML_4_01, "HTML-4.01" },
+ { Attribute::OEB_1_00, "OEB-1.00" },
+ { Attribute::RTF_1_05, "RTF-1.05" },
+ { Attribute::CSS_1_00, "CSS-1.00" },
+ { Attribute::CSS_2_00, "CSS-2.00" },
+ { Attribute::Layout, "Layout" },
+ { Attribute::PrintField, "PrintField" },
+ { Attribute::Table, "Table" },
+ { Attribute::List, "List" },
+ { Attribute::UserProperties, "UserProperties" },
+};
+
+
+static GBool ownerHasMorePriority(Attribute::Owner a, Attribute::Owner b)
+{
+ unsigned aIndex, bIndex;
+
+ for (unsigned i = aIndex = bIndex = 0; i < sizeof(ownerMap) / sizeof(ownerMap[0]); i++) {
+ if (ownerMap[i].owner == a)
+ aIndex = i;
+ if (ownerMap[i].owner == b)
+ bIndex = i;
+ }
+
+ return aIndex < bIndex;
+}
+
+
+// Maps element types to their names and also serves as lookup table
+// for additional element type attributes.
+
+enum ElementType {
+ elementTypeUndefined,
+ elementTypeGrouping,
+ elementTypeInline,
+ elementTypeBlock,
+};
+
+static const struct TypeMapEntry {
+ StructElement::Type type;
+ const char *name;
+ ElementType elementType;
+ const AttributeMapEntry **attributes;
+} typeMap[] = {
+ { StructElement::Document, "Document", elementTypeGrouping, attributeMapShared },
+ { StructElement::Part, "Part", elementTypeGrouping, attributeMapShared },
+ { StructElement::Art, "Art", elementTypeGrouping, attributeMapColumns },
+ { StructElement::Sect, "Sect", elementTypeGrouping, attributeMapColumns },
+ { StructElement::Div, "Div", elementTypeGrouping, attributeMapColumns },
+ { StructElement::BlockQuote, "BlockQuote", elementTypeGrouping, attributeMapInline },
+ { StructElement::Caption, "Caption", elementTypeGrouping, attributeMapInline },
+ { StructElement::NonStruct, "NonStruct", elementTypeGrouping, attributeMapInline },
+ { StructElement::Index, "Index", elementTypeGrouping, attributeMapInline },
+ { StructElement::Private, "Private", elementTypeGrouping, attributeMapInline },
+ { StructElement::Span, "Span", elementTypeInline, attributeMapInline },
+ { StructElement::Quote, "Quote", elementTypeInline, attributeMapInline },
+ { StructElement::Note, "Note", elementTypeInline, attributeMapInline },
+ { StructElement::Reference, "Reference", elementTypeInline, attributeMapInline },
+ { StructElement::BibEntry, "BibEntry", elementTypeInline, attributeMapInline },
+ { StructElement::Code, "Code", elementTypeInline, attributeMapInline },
+ { StructElement::Link, "Link", elementTypeInline, attributeMapInline },
+ { StructElement::Annot, "Annot", elementTypeInline, attributeMapInline },
+ { StructElement::Ruby, "Ruby", elementTypeInline, attributeMapRubyText },
+ { StructElement::RB, "RB", elementTypeUndefined, attributeMapRubyText },
+ { StructElement::RT, "RT", elementTypeUndefined, attributeMapRubyText },
+ { StructElement::RP, "RP", elementTypeUndefined, attributeMapShared },
+ { StructElement::Warichu, "Warichu", elementTypeInline, attributeMapRubyText },
+ { StructElement::WT, "WT", elementTypeUndefined, attributeMapShared },
+ { StructElement::WP, "WP", elementTypeUndefined, attributeMapShared },
+ { StructElement::P, "P", elementTypeBlock, attributeMapBlock },
+ { StructElement::H, "H", elementTypeBlock, attributeMapBlock },
+ { StructElement::H1, "H1", elementTypeBlock, attributeMapBlock },
+ { StructElement::H2, "H2", elementTypeBlock, attributeMapBlock },
+ { StructElement::H3, "H3", elementTypeBlock, attributeMapBlock },
+ { StructElement::H4, "H4", elementTypeBlock, attributeMapBlock },
+ { StructElement::H5, "H5", elementTypeBlock, attributeMapBlock },
+ { StructElement::H6, "H6", elementTypeBlock, attributeMapBlock },
+ { StructElement::L, "L", elementTypeBlock, attributeMapList },
+ { StructElement::LI, "LI", elementTypeBlock, attributeMapBlock },
+ { StructElement::Lbl, "Lbl", elementTypeBlock, attributeMapBlock },
+ { StructElement::LBody, "LBody", elementTypeBlock, attributeMapBlock },
+ { StructElement::Table, "Table", elementTypeBlock, attributeMapTable },
+ { StructElement::TR, "TR", elementTypeUndefined, attributeMapShared },
+ { StructElement::TH, "TH", elementTypeUndefined, attributeMapTableCell },
+ { StructElement::TD, "TD", elementTypeUndefined, attributeMapTableCell },
+ { StructElement::THead, "THead", elementTypeUndefined, attributeMapShared },
+ { StructElement::TFoot, "TFoot", elementTypeUndefined, attributeMapShared },
+ { StructElement::TBody, "TBody", elementTypeUndefined, attributeMapShared },
+ { StructElement::Figure, "Figure", elementTypeUndefined, attributeMapIllustration },
+ { StructElement::Formula, "Formula", elementTypeUndefined, attributeMapIllustration },
+ { StructElement::Form, "Form", elementTypeUndefined, attributeMapIllustration },
+ { StructElement::TOC, "TOC", elementTypeGrouping, attributeMapShared },
+ { StructElement::TOCI, "TOCI", elementTypeGrouping, attributeMapShared },
+};
+
+
+//------------------------------------------------------------------------
+// Helpers for the attribute and structure type tables
+//------------------------------------------------------------------------
+
+static inline const AttributeMapEntry *
+getAttributeMapEntry(const AttributeMapEntry **entryList, Attribute::Type type)
+{
+ assert(entryList);
+ while (*entryList) {
+ const AttributeMapEntry *entry = *entryList;
+ while (entry->type != Attribute::Unknown) {
+ assert(entry->name);
+ if (type == entry->type)
+ return entry;
+ entry++;
+ }
+ entryList++;
+ }
+ return NULL;
+}
+
+static inline const AttributeMapEntry *
+getAttributeMapEntry(const AttributeMapEntry **entryList, const char *name)
+{
+ assert(entryList);
+ while (*entryList) {
+ const AttributeMapEntry *entry = *entryList;
+ while (entry->type != Attribute::Unknown) {
+ assert(entry->name);
+ if (strcmp(name, entry->name) == 0)
+ return entry;
+ entry++;
+ }
+ entryList++;
+ }
+ return NULL;
+}
+
+static inline const OwnerMapEntry *getOwnerMapEntry(Attribute::Owner owner)
+{
+ for (unsigned i = 0; i < sizeof(ownerMap) / sizeof(ownerMap[0]); i++) {
+ if (owner == ownerMap[i].owner)
+ return &ownerMap[i];
+ }
+ return NULL;
+}
+
+static inline const OwnerMapEntry *getOwnerMapEntry(const char *name)
+{
+ for (unsigned i = 0; i < sizeof(ownerMap) / sizeof(ownerMap[0]); i++) {
+ if (strcmp(name, ownerMap[i].name) == 0)
+ return &ownerMap[i];
+ }
+ return NULL;
+}
+
+static const char *ownerToName(Attribute::Owner owner)
+{
+ const OwnerMapEntry *entry = getOwnerMapEntry(owner);
+ return entry ? entry->name : "UnknownOwner";
+}
+
+static Attribute::Owner nameToOwner(const char *name)
+{
+ const OwnerMapEntry *entry = getOwnerMapEntry(name);
+ return entry ? entry->owner : Attribute::UnknownOwner;
+}
+
+static inline const TypeMapEntry *getTypeMapEntry(StructElement::Type type)
+{
+ for (unsigned i = 0; i < sizeof(typeMap) / sizeof(typeMap[0]); i++) {
+ if (type == typeMap[i].type)
+ return &typeMap[i];
+ }
+ return NULL;
+}
+
+static inline const TypeMapEntry *getTypeMapEntry(const char *name)
+{
+ for (unsigned i = 0; i < sizeof(typeMap) / sizeof(typeMap[0]); i++) {
+ if (strcmp(name, typeMap[i].name) == 0)
+ return &typeMap[i];
+ }
+ return NULL;
+}
+
+static const char *typeToName(StructElement::Type type)
+{
+ if (type == StructElement::MCID)
+ return "MarkedContent";
+ if (type == StructElement::OBJR)
+ return "ObjectReference";
+
+ const TypeMapEntry *entry = getTypeMapEntry(type);
+ return entry ? entry->name : "Unknown";
+}
+
+static StructElement::Type nameToType(const char *name)
+{
+ const TypeMapEntry *entry = getTypeMapEntry(name);
+ return entry ? entry->type : StructElement::Unknown;
+}
+
+
+//------------------------------------------------------------------------
+// Attribute
+//------------------------------------------------------------------------
+
+Attribute::Attribute(const char *nameA, Object *valueA):
+ type(UserProperty),
+ owner(UserProperties),
+ revision(0),
+ name(nameA),
+ value(),
+ hidden(gFalse),
+ formatted(NULL)
+{
+ assert(valueA);
+ valueA->copy(&value);
+}
+
+Attribute::Attribute(Type type, Object *valueA):
+ type(type),
+ owner(UserProperties), // TODO: Determine corresponding owner from Type
+ revision(0),
+ name(),
+ value(),
+ hidden(gFalse),
+ formatted(NULL)
+{
+ assert(valueA);
+
+ valueA->copy(&value);
+
+ if (!checkType())
+ type = Unknown;
+}
+
+Attribute::~Attribute()
+{
+ delete formatted;
+ value.free();
+}
+
+const char *Attribute::getTypeName() const
+{
+ if (type == UserProperty)
+ return name.getCString();
+
+ const AttributeMapEntry *entry = getAttributeMapEntry(attributeMapAll, type);
+ if (entry)
+ return entry->name;
+
+ return "Unknown";
+}
+
+const char *Attribute::getOwnerName() const
+{
+ return ownerToName(owner);
+}
+
+Object *Attribute::getDefaultValue(Attribute::Type type)
+{
+ const AttributeMapEntry *entry = getAttributeMapEntry(attributeMapAll, type);
+ return entry ? const_cast<Object*>(entry->defval) : NULL;
+}
+
+void Attribute::setFormattedValue(const char *formattedA)
+{
+ if (formattedA) {
+ if (formatted)
+ formatted->Set(formattedA);
+ else
+ formatted = new GooString(formattedA);
+ } else {
+ delete formatted;
+ formatted = NULL;
+ }
+}
+
+GBool Attribute::checkType(StructElement *element)
+{
+ // If an element is passed, tighther type-checking can be done.
+ if (!element)
+ return gTrue;
+
+ const TypeMapEntry *elementTypeEntry = getTypeMapEntry(element->getType());
+ if (elementTypeEntry && elementTypeEntry->attributes) {
+ const AttributeMapEntry *entry = getAttributeMapEntry(elementTypeEntry->attributes, type);
+ if (entry) {
+ if (entry->check && !((*entry->check)(&value))) {
+ return gFalse;
+ }
+ } else {
+ // No entry: the attribute is not valid for the containing element.
+ return gFalse;
+ }
+ }
+
+ return gTrue;
+}
+
+Attribute::Type Attribute::getTypeForName(const char *name, StructElement *element)
+{
+ const AttributeMapEntry **attributes = attributeMapAll;
+ if (element) {
+ const TypeMapEntry *elementTypeEntry = getTypeMapEntry(element->getType());
+ if (elementTypeEntry && elementTypeEntry->attributes) {
+ attributes = elementTypeEntry->attributes;
+ }
+ }
+
+ const AttributeMapEntry *entry = getAttributeMapEntry(attributes, name);
+ return entry ? entry->type : Unknown;
+}
+
+Attribute *Attribute::parseUserProperty(Dict *property)
+{
+ Object obj, value;
+ const char *name = NULL;
+
+ if (property->lookup("N", &obj)->isString())
+ name = obj.getString()->getCString();
+ else if (obj.isName())
+ name = obj.getName();
+ else {
+ error(errSyntaxError, -1, "N object is wrong type ({0:s})", obj.getTypeName());
+ obj.free();
+ return NULL;
+ }
+
+ if (property->lookup("V", &value)->isNull()) {
+ error(errSyntaxError, -1, "V object is wrong type ({0:s})", value.getTypeName());
+ value.free();
+ obj.free();
+ return NULL;
+ }
+
+ Attribute *attribute = new Attribute(name, &value);
+ value.free();
+ obj.free();
+
+ if (property->lookup("F", &obj)->isString()) {
+ attribute->setFormattedValue(obj.getString()->getCString());
+ } else if (!obj.isNull()) {
+ error(errSyntaxWarning, -1, "F object is wrong type ({0:s})", obj.getTypeName());
+ }
+ obj.free();
+
+ if (property->lookup("H", &obj)->isBool()) {
+ attribute->setHidden(obj.getBool());
+ } else if (!obj.isNull()) {
+ error(errSyntaxWarning, -1, "H object is wrong type ({0:s})", obj.getTypeName());
+ }
+ obj.free();
+
+ return attribute;
+}
+
+
+//------------------------------------------------------------------------
+// StructElement
+//------------------------------------------------------------------------
+
+StructElement::StructData::StructData():
+ altText(0),
+ actualText(0),
+ id(0),
+ title(0),
+ expandedAbbr(0),
+ language(0),
+ revision(0)
+{
+}
+
+StructElement::StructData::~StructData()
+{
+ delete altText;
+ delete actualText;
+ delete id;
+ delete title;
+ delete language;
+ parentRef.free();
+ for (ElemPtrArray::iterator i = elements.begin(); i != elements.end(); ++i) delete *i;
+ for (AttrPtrArray::iterator i = attributes.begin(); i != attributes.end(); ++i) delete *i;
+}
+
+
+StructElement::StructElement(Dict *element,
+ StructTreeRoot *treeRootA,
+ StructElement *parentA,
+ std::set<int> &seen):
+ type(Unknown),
+ treeRoot(treeRootA),
+ parent(parentA),
+ s(new StructData())
+{
+ assert(treeRoot);
+ assert(element);
+
+ parse(element);
+ parseChildren(element, seen);
+}
+
+StructElement::StructElement(int mcid, StructTreeRoot *treeRootA, StructElement *parentA):
+ type(MCID),
+ treeRoot(treeRootA),
+ parent(parentA),
+ c(new ContentData(mcid))
+{
+ assert(treeRoot);
+ assert(parent);
+}
+
+StructElement::StructElement(const Ref& ref, StructTreeRoot *treeRootA, StructElement *parentA):
+ type(OBJR),
+ treeRoot(treeRootA),
+ parent(parentA),
+ c(new ContentData(ref))
+{
+ assert(treeRoot);
+ assert(parent);
+}
+
+StructElement::~StructElement()
+{
+ if (isContent())
+ delete c;
+ else
+ delete s;
+ pageRef.free();
+}
+
+GBool StructElement::isBlock() const
+{
+ const TypeMapEntry *entry = getTypeMapEntry(type);
+ return entry ? (entry->elementType == elementTypeBlock) : gFalse;
+}
+
+GBool StructElement::isInline() const
+{
+ const TypeMapEntry *entry = getTypeMapEntry(type);
+ return entry ? (entry->elementType == elementTypeInline) : gFalse;
+}
+
+GBool StructElement::isGrouping() const
+{
+ const TypeMapEntry *entry = getTypeMapEntry(type);
+ return entry ? (entry->elementType == elementTypeGrouping) : gFalse;
+}
+
+GBool StructElement::hasPageRef() const
+{
+ return pageRef.isRef() || (parent && parent->hasPageRef());
+}
+
+bool StructElement::getPageRef(Ref& ref) const
+{
+ if (pageRef.isRef()) {
+ ref = pageRef.getRef();
+ return gTrue;
+ }
+
+ if (parent)
+ return parent->getPageRef(ref);
+
+ return gFalse;
+}
+
+const char *StructElement::getTypeName() const
+{
+ return typeToName(type);
+}
+
+const Attribute *StructElement::findAttribute(Attribute::Type attributeType, GBool inherit,
+ Attribute::Owner attributeOwner) const
+{
+ if (isContent())
+ return parent->findAttribute(attributeType, inherit, attributeOwner);
+
+ if (attributeType == Attribute::Unknown || attributeType == Attribute::UserProperty)
+ return NULL;
+
+ const Attribute *result = NULL;
+
+ if (attributeOwner == Attribute::UnknownOwner) {
+ // Search for the attribute, no matter who the owner is
+ for (unsigned i = 0; i < getNumAttributes(); i++) {
+ const Attribute *attr = getAttribute(i);
+ if (attributeType == attr->getType()) {
+ if (!result || ownerHasMorePriority(attr->getOwner(), result->getOwner()))
+ result = attr;
+ }
+ }
+ } else {
+ // Search for the attribute, with a specific owner
+ for (unsigned i = 0; i < getNumAttributes(); i++) {
+ const Attribute *attr = getAttribute(i);
+ if (attributeType == attr->getType() && attributeOwner == attr->getOwner()) {
+ result = attr;
+ break;
+ }
+ }
+ }
+
+ if (result)
+ return result;
+
+ if (inherit && parent) {
+ const AttributeMapEntry *entry = getAttributeMapEntry(attributeMapAll, attributeType);
+ assert(entry);
+ // TODO: Take into account special inheritance cases, for example:
+ // inline elements which have been changed to be block using
+ // "/Placement/Block" have slightly different rules.
+ if (entry->inherit)
+ return parent->findAttribute(attributeType, inherit, attributeOwner);
+ }
+
+ return NULL;
+}
+
+GooString* StructElement::appendSubTreeText(GooString *string, GBool recursive) const
+{
+ if (isContent() && !isObjectRef()) {
+ MarkedContentOutputDev mcdev(getMCID());
+ const TextSpanArray& spans(getTextSpansInternal(mcdev));
+
+ if (!string)
+ string = new GooString();
+
+ for (TextSpanArray::const_iterator i = spans.begin(); i != spans.end(); ++i)
+ string->append(i->getText());
+
+ return string;
+ }
+
+ if (!recursive)
+ return NULL;
+
+ // Do a depth-first traversal, to get elements in logical order
+ if (!string)
+ string = new GooString();
+
+ for (unsigned i = 0; i < getNumChildren(); i++)
+ getChild(i)->appendSubTreeText(string, recursive);
+
+ return string;
+}
+
+const TextSpanArray& StructElement::getTextSpansInternal(MarkedContentOutputDev& mcdev) const
+{
+ assert(isContent());
+
+ int startPage = 0, endPage = 0;
+
+ Ref ref;
+ if (getPageRef(ref)) {
+ startPage = endPage = treeRoot->getDoc()->findPage(ref.num, ref.gen);
+ }
+
+ if (!(startPage && endPage)) {
+ startPage = 1;
+ endPage = treeRoot->getDoc()->getNumPages();
+ }
+
+ treeRoot->getDoc()->displayPages(&mcdev, startPage, endPage, 72.0, 72.0, 0, gTrue, gFalse, gFalse);
+ return mcdev.getTextSpans();
+}
+
+static StructElement::Type roleMapResolve(Dict *roleMap, const char *name, const char *curName, Object *resolved)
+{
+ // Circular reference
+ if (curName && !strcmp(name, curName))
+ return StructElement::Unknown;
+
+ if (roleMap->lookup(curName ? curName : name, resolved)->isName()) {
+ StructElement::Type type = nameToType(resolved->getName());
+ return type == StructElement::Unknown
+ ? roleMapResolve(roleMap, name, resolved->getName(), resolved)
+ : type;
+ }
+
+ if (!resolved->isNull())
+ error(errSyntaxWarning, -1, "RoleMap entry is wrong type ({0:s})", resolved->getTypeName());
+ return StructElement::Unknown;
+}
+
+void StructElement::parse(Dict *element)
+{
+ Object obj;
+
+ // Type is optional, but if present must be StructElem
+ if (!element->lookup("Type", &obj)->isNull() && !obj.isName("StructElem")) {
+ error(errSyntaxError, -1, "Type of StructElem object is wrong");
+ obj.free();
+ return;
+ }
+ obj.free();
+
+ // Parent object reference (required).
+ if (!element->lookupNF("P", &s->parentRef)->isRef()) {
+ error(errSyntaxError, -1, "P object is wrong type ({0:s})", obj.getTypeName());
+ return;
+ }
+
+ // Check whether the S-type is valid for the top level
+ // element and create a node of the appropriate type.
+ if (!element->lookup("S", &obj)->isName()) {
+ error(errSyntaxError, -1, "S object is wrong type ({0:s})", obj.getTypeName());
+ obj.free();
+ return;
+ }
+
+ // Type name may not be standard, resolve through RoleMap first.
+ if (treeRoot->getRoleMap()) {
+ Object resolvedName;
+ type = roleMapResolve(treeRoot->getRoleMap(), obj.getName(), NULL, &resolvedName);
+ }
+
+ // Resolving through RoleMap may leave type as Unknown, e.g. for types
+ // which are not present in it, yet they are standard element types.
+ if (type == Unknown)
+ type = nameToType(obj.getName());
+
+ // At this point either the type name must have been resolved.
+ if (type == Unknown) {
+ error(errSyntaxError, -1, "StructElem object is wrong type ({0:s})", obj.getName());
+ obj.free();
+ return;
+ }
+ obj.free();
+
+ // Object ID (optional), to be looked at the IDTree in the tree root.
+ if (element->lookup("ID", &obj)->isString()) {
+ s->id = obj.takeString();
+ }
+ obj.free();
+
+ // Page reference (optional) in which at least one of the child items
+ // is to be rendered in. Note: each element stores only the /Pg value
+ // contained by it, and StructElement::getPageRef() may look in parent
+ // elements to find the page where an element belongs.
+ element->lookupNF("Pg", &pageRef);
+
+ // Revision number (optional).
+ if (element->lookup("R", &obj)->isInt()) {
+ s->revision = obj.getInt();
+ }
+ obj.free();
+
+ // Element title (optional).
+ if (element->lookup("T", &obj)->isString()) {
+ s->title = obj.takeString();
+ }
+ obj.free();
+
+ // Language (optional).
+ if (element->lookup("Lang", &obj)->isString()) {
+ s->language = obj.takeString();
+ }
+ obj.free();
+
+ // Alternative text (optional).
+ if (element->lookup("Alt", &obj)->isString()) {
+ s->altText = obj.takeString();
+ }
+ obj.free();
+
+ // Expanded form of an abbreviation (optional).
+ if (element->lookup("E", &obj)->isString()) {
+ s->expandedAbbr = obj.takeString();
+ }
+ obj.free();
+
+ // Actual text (optional).
+ if (element->lookup("ActualText", &obj)->isString()) {
+ s->actualText = obj.takeString();
+ }
+ obj.free();
+
+ // Attributes directly attached to the element (optional).
+ if (element->lookup("A", &obj)->isDict()) {
+ parseAttributes(obj.getDict());
+ } else if (obj.isArray()) {
+ Object iobj;
+ unsigned attrIndex = getNumAttributes();
+ for (int i = 0; i < obj.arrayGetLength(); i++) {
+ if (obj.arrayGet(i, &iobj)->isDict()) {
+ attrIndex = getNumAttributes();
+ parseAttributes(iobj.getDict());
+ } else if (iobj.isInt()) {
+ const int revision = iobj.getInt();
+ // Set revision numbers for the elements previously created.
+ for (unsigned j = attrIndex; j < getNumAttributes(); j++)
+ getAttribute(j)->setRevision(revision);
+ } else {
+ error(errSyntaxWarning, -1, "A item is wrong type ({0:s})", iobj.getTypeName());
+ }
+ iobj.free();
+ }
+ } else if (!obj.isNull()) {
+ error(errSyntaxWarning, -1, "A is wrong type ({0:s})", obj.getTypeName());
+ }
+ obj.free();
+
+ // Attributes referenced indirectly through the ClassMap (optional).
+ if (treeRoot->getClassMap()) {
+ Object classes;
+ if (element->lookup("C", &classes)->isName()) {
+ Object attr;
+ if (treeRoot->getClassMap()->lookup(classes.getName(), &attr)->isDict()) {
+ parseAttributes(attr.getDict(), gTrue);
+ } else if (attr.isArray()) {
+ for (int i = 0; i < attr.arrayGetLength(); i++) {
+ Object iobj;
+ unsigned attrIndex = getNumAttributes();
+ if (attr.arrayGet(i, &iobj)->isDict()) {
+ attrIndex = getNumAttributes();
+ parseAttributes(iobj.getDict(), gTrue);
+ } else if (iobj.isInt()) {
+ // Set revision numbers for the elements previously created.
+ const int revision = iobj.getInt();
+ for (unsigned j = attrIndex; j < getNumAttributes(); j++)
+ getAttribute(j)->setRevision(revision);
+ } else {
+ error(errSyntaxWarning, -1, "C item is wrong type ({0:s})", iobj.getTypeName());
+ }
+ iobj.free();
+ }
+ } else if (!attr.isNull()) {
+ error(errSyntaxWarning, -1, "C object is wrong type ({0:s})", classes.getTypeName());
+ }
+ classes.free();
+ attr.free();
+ }
+ }
+}
+
+StructElement *StructElement::parseChild(Object *ref,
+ Object *childObj,
+ std::set<int> &seen)
+{
+ assert(childObj);
+ assert(ref);
+
+ StructElement *child = NULL;
+
+ if (childObj->isInt()) {
+ child = new StructElement(childObj->getInt(), treeRoot, this);
+ } else if (childObj->isDict("MCR")) {
+ /*
+ * TODO: The optional Stm/StwOwn attributes are not handled, so all the
+ * page will be always scanned when calling StructElement::getText().
+ */
+ Object mcidObj;
+ Object pageRefObj;
+
+ if (!childObj->dictLookup("MCID", &mcidObj)->isInt()) {
+ error(errSyntaxError, -1, "MCID object is wrong type ({0:s})", mcidObj.getTypeName());
+ mcidObj.free();
+ return NULL;
+ }
+
+ child = new StructElement(mcidObj.getInt(), treeRoot, this);
+ mcidObj.free();
+
+ if (childObj->dictLookupNF("Pg", &pageRefObj)->isRef()) {
+ child->pageRef = pageRefObj;
+ } else {
+ pageRefObj.free();
+ }
+ } else if (childObj->isDict("OBJR")) {
+ Object refObj;
+
+ if (childObj->dictLookupNF("Obj", &refObj)->isRef()) {
+ Object pageRefObj;
+
+ child = new StructElement(refObj.getRef(), treeRoot, this);
+
+ if (childObj->dictLookupNF("Pg", &pageRefObj)->isRef()) {
+ child->pageRef = pageRefObj;
+ } else {
+ pageRefObj.free();
+ }
+ } else {
+ error(errSyntaxError, -1, "Obj object is wrong type ({0:s})", refObj.getTypeName());
+ }
+ refObj.free();
+ } else if (childObj->isDict()) {
+ if (!ref->isRef()) {
+ error(errSyntaxError, -1,
+ "Structure element dictionary is not an indirect reference ({0:s})",
+ ref->getTypeName());
+ } else if (seen.find(ref->getRefNum()) == seen.end()) {
+ seen.insert(ref->getRefNum());
+ child = new StructElement(childObj->getDict(), treeRoot, this, seen);
+ } else {
+ error(errSyntaxWarning, -1,
+ "Loop detected in structure tree, skipping subtree at object {0:d}:{1:d}",
+ ref->getRefNum(), ref->getRefGen());
+ }
+ } else {
+ error(errSyntaxWarning, -1, "K has a child of wrong type ({0:s})", childObj->getTypeName());
+ }
+
+ if (child) {
+ if (child->isOk()) {
+ appendChild(child);
+ if (ref->isRef())
+ treeRoot->parentTreeAdd(ref->getRef(), child);
+ } else {
+ delete child;
+ child = NULL;
+ }
+ }
+
+ return child;
+}
+
+void StructElement::parseChildren(Dict *element, std::set<int> &seen)
+{
+ Object kids;
+
+ if (element->lookup("K", &kids)->isArray()) {
+ for (int i = 0; i < kids.arrayGetLength(); i++) {
+ Object obj, ref;
+ parseChild(kids.arrayGetNF(i, &ref), kids.arrayGet(i, &obj), seen);
+ obj.free();
+ ref.free();
+ }
+ } else if (kids.isDict() || kids.isInt()) {
+ Object ref;
+ parseChild(element->lookupNF("K", &ref), &kids, seen);
+ ref.free();
+ }
+
+ kids.free();
+}
+
+void StructElement::parseAttributes(Dict *attributes, GBool keepExisting)
+{
+ Object owner;
+ if (attributes->lookup("O", &owner)->isName("UserProperties")) {
+ // In this case /P is an array of UserProperty dictionaries
+ Object userProperties;
+ if (attributes->lookup("P", &userProperties)->isArray()) {
+ for (int i = 0; i < userProperties.arrayGetLength(); i++) {
+ Object property;
+ if (userProperties.arrayGet(i, &property)->isDict()) {
+ Attribute *attribute = Attribute::parseUserProperty(property.getDict());
+ if (attribute && attribute->isOk()) {
+ appendAttribute(attribute);
+ } else {
+ error(errSyntaxWarning, -1, "Item in P is invalid");
+ delete attribute;
+ }
+ } else {
+ error(errSyntaxWarning, -1, "Item in P is wrong type ({0:s})", property.getTypeName());
+ }
+ property.free();
+ }
+ }
+ userProperties.free();
+ } else if (owner.isName()) {
+ // In this case /P contains standard attributes.
+ // Check first if the owner is a valid standard one.
+ Attribute::Owner ownerValue = nameToOwner(owner.getName());
+ if (ownerValue != Attribute::UnknownOwner) {
+ // Iterate over the entries of the "attributes" dictionary.
+ // The /O entry (owner) is skipped.
+ for (int i = 0; i < attributes->getLength(); i++) {
+ const char *key = attributes->getKey(i);
+ if (strcmp(key, "O") != 0) {
+ Attribute::Type type = Attribute::getTypeForName(key, this);
+
+ // Check if the attribute is already defined.
+ if (keepExisting) {
+ GBool exists = gFalse;
+ for (unsigned j = 0; j < getNumAttributes(); j++) {
+ if (getAttribute(j)->getType() == type) {
+ exists = gTrue;
+ break;
+ }
+ }
+ if (exists)
+ continue;
+ }
+
+ if (type != Attribute::Unknown) {
+ Object value;
+ GBool typeCheckOk = gTrue;
+ Attribute *attribute = new Attribute(type, attributes->getVal(i, &value));
+ value.free();
+
+ if (attribute->isOk() && (typeCheckOk = attribute->checkType(this))) {
+ appendAttribute(attribute);
+ } else {
+ // It is not needed to free "value", the Attribute instance
+ // owns the contents, so deleting "attribute" is enough.
+ if (!typeCheckOk) {
+ error(errSyntaxWarning, -1, "Attribute {0:s} value is of wrong type ({1:s})",
+ attribute->getTypeName(), attribute->getValue()->getTypeName());
+ }
+ delete attribute;
+ }
+ } else {
+ error(errSyntaxWarning, -1, "Wrong Attribute '{0:s}' in element {1:s}", key, getTypeName());
+ }
+ }
+ }
+ } else {
+ error(errSyntaxWarning, -1, "O object is invalid value ({0:s})", owner.getName());
+ }
+ } else if (!owner.isNull()) {
+ error(errSyntaxWarning, -1, "O is wrong type ({0:s})", owner.getTypeName());
+ }
+ owner.free();
+}
diff --git a/poppler/StructElement.h b/poppler/StructElement.h
new file mode 100644
index 00000000..51fd83da
--- /dev/null
+++ b/poppler/StructElement.h
@@ -0,0 +1,307 @@
+//========================================================================
+//
+// StructElement.h
+//
+// This file is licensed under the GPLv2 or later
+//
+// Copyright 2013, 2014 Igalia S.L.
+//
+//========================================================================
+
+#ifndef STRUCTELEMENT_H
+#define STRUCTELEMENT_H
+
+#ifdef USE_GCC_PRAGMAS
+#pragma interface
+#endif
+
+#include "goo/gtypes.h"
+#include "goo/GooString.h"
+#include "MarkedContentOutputDev.h"
+#include "Object.h"
+#include <vector>
+#include <set>
+
+class GooString;
+class Dict;
+class StructElement;
+class StructTreeRoot;
+
+
+class Attribute {
+public:
+ enum Type {
+ Unknown = 0, // Uninitialized, parsing error, etc.
+ UserProperty, // User defined attribute (i.e. non-standard)
+
+ // Common standard attributes
+ Placement, WritingMode, BackgroundColor, BorderColor, BorderStyle,
+ BorderThickness, Color, Padding,
+
+ // Block element standard attributes
+ SpaceBefore, SpaceAfter, StartIndent, EndIndent, TextIndent, TextAlign,
+ BBox, Width, Height, BlockAlign, InlineAlign, TBorderStyle, TPadding,
+
+ // Inline element standard attributes
+ BaselineShift, LineHeight, TextDecorationColor, TextDecorationThickness,
+ TextDecorationType, RubyAlign, RubyPosition, GlyphOrientationVertical,
+
+ // Column-only standard attributes
+ ColumnCount, ColumnGap, ColumnWidths,
+
+ // List-only standard attributes
+ ListNumbering,
+
+ // PrintField-only standard attributes
+ Role, checked, Desc,
+
+ // Table-only standard attributes
+ RowSpan, ColSpan, Headers, Scope, Summary,
+ };
+
+ enum Owner {
+ UnknownOwner = 0,
+ // User-defined attributes
+ UserProperties,
+ // Standard attributes
+ Layout, List, PrintField, Table,
+ // Translation to other formats
+ XML_1_00, HTML_3_20, HTML_4_01, OEB_1_00, RTF_1_05, CSS_1_00, CSS_2_00,
+ };
+
+ // Creates a standard attribute. The name is predefined, and the
+ // value is type-checked to conform to the PDF specification.
+ Attribute(Type type, Object *value);
+
+ // Creates an UserProperty attribute, with an arbitrary name and value.
+ Attribute(const char *name, Object *value);
+
+ GBool isOk() const { return type != Unknown; }
+
+ // Name, type and value can be set only on construction.
+ Type getType() const { return type; }
+ Owner getOwner() const { return owner; }
+ const char *getTypeName() const;
+ const char *getOwnerName() const;
+ Object *getValue() const { return &value; }
+ static Object *getDefaultValue(Type type);
+
+ const char *getName() const { return type == UserProperty ? name.getCString() : getTypeName(); }
+
+ // The revision is optional, and defaults to zero.
+ Guint getRevision() const { return revision; }
+ void setRevision(Guint revisionA) { revision = revisionA; }
+
+ // Hidden elements should not be displayed by the user agent
+ GBool isHidden() const { return hidden; }
+ void setHidden(GBool hiddenA) { hidden = hiddenA; }
+
+ // The formatted value may be in the PDF, or be left undefined (NULL).
+ // In the later case the user agent should provide a default representation.
+ const char *getFormattedValue() const { return formatted ? formatted->getCString() : NULL; }
+ void setFormattedValue(const char *formattedA);
+
+ ~Attribute();
+
+private:
+ Type type;
+ Owner owner;
+ Guint revision;
+ mutable GooString name;
+ mutable Object value;
+ GBool hidden;
+ GooString *formatted;
+
+ GBool checkType(StructElement *element = NULL);
+ static Type getTypeForName(const char *name, StructElement *element = NULL);
+ static Attribute *parseUserProperty(Dict *property);
+
+ friend class StructElement;
+};
+
+
+class StructElement {
+public:
+ enum Type {
+ Unknown = 0,
+ MCID, // MCID reference, used internally
+ OBJR, // Object reference, used internally
+
+ Document, Part, Art, Sect, Div, // Structural elements
+
+ Span, Quote, Note, Reference, BibEntry, // Inline elements
+ Code, Link, Annot,
+ BlockQuote, Caption, NonStruct,
+ TOC, TOCI, Index, Private,
+
+ P, H, H1, H2, H3, H4, H5, H6, // Paragraph-like
+
+ L, LI, Lbl, LBody, // List elements
+
+ Table, TR, TH, TD, THead, TFoot, TBody, // Table elements
+
+ Ruby, RB, RT, RP, // Ruby text elements
+ Warichu, WT, WP,
+
+ Figure, Formula, Form, // Illustration-like elements
+ };
+
+ static const Ref InvalidRef;
+
+ const char *getTypeName() const;
+ Type getType() const { return type; }
+ GBool isOk() const { return type != Unknown; }
+ GBool isBlock() const;
+ GBool isInline() const;
+ GBool isGrouping() const;
+
+ inline GBool isContent() const { return (type == MCID) || isObjectRef(); }
+ inline GBool isObjectRef() const { return (type == OBJR && c->ref.num != -1 && c->ref.gen != -1); }
+
+ int getMCID() const { return c->mcid; }
+ Ref getObjectRef() const { return c->ref; }
+ Ref getParentRef() { return isContent() ? parent->getParentRef() : s->parentRef.getRef(); }
+ GBool hasPageRef() const;
+ GBool getPageRef(Ref& ref) const;
+ StructTreeRoot *getStructTreeRoot() { return treeRoot; }
+
+ // Optional element identifier.
+ const GooString *getID() const { return isContent() ? NULL : s->id; }
+ GooString *getID() { return isContent() ? NULL : s->id; }
+
+ // Optional ISO language name, e.g. en_US
+ GooString *getLanguage() {
+ if (!isContent() && s->language) return s->language;
+ return parent ? parent->getLanguage() : NULL;
+ }
+ const GooString *getLanguage() const {
+ if (!isContent() && s->language) return s->language;
+ return parent ? parent->getLanguage() : NULL;
+ }
+
+ // Optional revision number, defaults to zero.
+ Guint getRevision() const { return isContent() ? 0 : s->revision; }
+ void setRevision(Guint revision) { if (isContent()) s->revision = revision; }
+
+ // Optional element title, in human-readable form.
+ const GooString *getTitle() const { return isContent() ? NULL : s->title; }
+ GooString *getTitle() { return isContent() ? NULL : s->title; }
+
+ // Optional element expanded abbreviation text.
+ const GooString *getExpandedAbbr() const { return isContent() ? NULL : s->expandedAbbr; }
+ GooString *getExpandedAbbr() { return isContent() ? NULL : s->expandedAbbr; }
+
+ unsigned getNumChildren() const { return isContent() ? 0 : s->elements.size(); }
+ const StructElement *getChild(int i) const { return isContent() ? NULL : s->elements.at(i); }
+ StructElement *getChild(int i) { return isContent() ? NULL : s->elements.at(i); }
+
+ void appendChild(StructElement *element) {
+ if (!isContent() && element && element->isOk()) {
+ s->elements.push_back(element);
+ }
+ }
+
+ unsigned getNumAttributes() const { return isContent() ? 0 : s->attributes.size(); }
+ const Attribute *getAttribute(int i) const { return isContent() ? NULL : s->attributes.at(i); }
+ Attribute *getAttribute(int i) { return isContent() ? NULL : s->attributes.at(i); }
+
+ void appendAttribute(Attribute *attribute) {
+ if (!isContent() && attribute) {
+ s->attributes.push_back(attribute);
+ }
+ }
+
+ const Attribute* findAttribute(Attribute::Type attributeType, GBool inherit = gFalse,
+ Attribute::Owner owner = Attribute::UnknownOwner) const;
+
+ const GooString *getAltText() const { return isContent() ? NULL : s->altText; }
+ GooString *getAltText() { return isContent() ? NULL : s->altText; }
+
+ const GooString *getActualText() const { return isContent() ? NULL : s->actualText; }
+ GooString *getActualText() { return isContent() ? NULL : s->actualText; }
+
+ // Content text referenced by the element:
+ //
+ // - For MCID reference elements, this is just the text of the
+ // corresponding marked content object in the page stream, regardless
+ // of the setting of the "recursive" flag.
+ // - For other elements, if the "recursive" flag is set, the text
+ // enclosed by *all* the child MCID reference elements of the subtree
+ // is returned. The text is assembled by traversing the leaf MCID
+ // reference elements in logical order.
+ // - In any other case, the function returns NULL.
+ //
+ // A new string is returned, and the ownership passed to the caller.
+ //
+ GooString *getText(GBool recursive = gTrue) const {
+ return appendSubTreeText(NULL, recursive);
+ }
+
+ const TextSpanArray getTextSpans() const {
+ if (!isContent())
+ return TextSpanArray();
+ MarkedContentOutputDev mcdev(getMCID());
+ return getTextSpansInternal(mcdev);
+ }
+
+ ~StructElement();
+
+private:
+ GooString* appendSubTreeText(GooString *string, GBool recursive) const;
+ const TextSpanArray& getTextSpansInternal(MarkedContentOutputDev& mcdev) const;
+
+ typedef std::vector<Attribute*> AttrPtrArray;
+ typedef std::vector<StructElement*> ElemPtrArray;
+
+ struct StructData {
+ Object parentRef;
+ GooString *altText;
+ GooString *actualText;
+ GooString *id;
+ GooString *title;
+ GooString *expandedAbbr;
+ GooString *language;
+ Guint revision;
+ ElemPtrArray elements;
+ AttrPtrArray attributes;
+
+ StructData();
+ ~StructData();
+ };
+
+ // Data in content elements (MCID, MCR)
+ struct ContentData {
+ union {
+ int mcid;
+ Ref ref;
+ };
+
+ ContentData(int mcidA): mcid(mcidA) {}
+ ContentData(const Ref& r) { ref.num = r.num; ref.gen = r.gen; }
+ };
+
+ // Common data
+ Type type;
+ StructTreeRoot *treeRoot;
+ StructElement *parent;
+ mutable Object pageRef;
+
+ union {
+ StructData *s;
+ ContentData *c;
+ };
+
+ StructElement(Dict *elementDict, StructTreeRoot *treeRootA, StructElement *parentA, std::set<int> &seen);
+ StructElement(int mcid, StructTreeRoot *treeRootA, StructElement *parentA);
+ StructElement(const Ref &ref, StructTreeRoot *treeRootA, StructElement *parentA);
+
+ void parse(Dict* elementDict);
+ StructElement* parseChild(Object *ref, Object* childObj, std::set<int> &seen);
+ void parseChildren(Dict* element, std::set<int> &seen);
+ void parseAttributes(Dict *element, GBool keepExisting = gFalse);
+
+ friend class StructTreeRoot;
+};
+
+#endif
+
diff --git a/poppler/StructTreeRoot.cc b/poppler/StructTreeRoot.cc
new file mode 100644
index 00000000..e46e3e28
--- /dev/null
+++ b/poppler/StructTreeRoot.cc
@@ -0,0 +1,175 @@
+//========================================================================
+//
+// StructTreeRoot.cc
+//
+// This file is licensed under the GPLv2 or later
+//
+// Copyright 2013, 2014 Igalia S.L.
+// Copyright 2014 Fabio D'Urso <fabiodurso@hotmail.it>
+//
+//========================================================================
+
+#ifdef USE_GCC_PRAGMAS
+#pragma interface
+#endif
+
+#include "goo/GooString.h"
+#include "StructTreeRoot.h"
+#include "StructElement.h"
+#include "PDFDoc.h"
+#include "Object.h"
+#include "Dict.h"
+#include <set>
+#include <assert.h>
+
+
+StructTreeRoot::StructTreeRoot(PDFDoc *docA, Dict *structTreeRootDict):
+ doc(docA)
+{
+ assert(doc);
+ assert(structTreeRootDict);
+ parse(structTreeRootDict);
+}
+
+StructTreeRoot::~StructTreeRoot()
+{
+ for (ElemPtrArray::iterator i = elements.begin(); i != elements.end(); ++i)
+ delete *i;
+ classMap.free();
+ roleMap.free();
+}
+
+void StructTreeRoot::parse(Dict *root)
+{
+ // The RoleMap/ClassMap dictionaries are needed by all the parsing
+ // functions, which will resolve the custom names to canonical
+ // standard names.
+ root->lookup("RoleMap", &roleMap);
+ root->lookup("ClassMap", &classMap);
+
+ // ParentTree (optional). If present, it must be a number tree,
+ // otherwise it is not possible to map stream objects to their
+ // corresponsing structure element. Here only the references are
+ // loaded into the array, the pointers to the StructElements will
+ // be filled-in later when parsing them.
+ Object obj;
+ if (root->lookup("ParentTree", &obj)->isDict()) {
+ Object nums;
+ if (obj.dictLookup("Nums", &nums)->isArray()) {
+ if (nums.arrayGetLength() % 2 == 0) {
+ parentTree.resize(nums.arrayGetLength() / 2);
+ // Index numbers in even positions, references in odd ones
+ for (int i = 0; i < nums.arrayGetLength(); i += 2) {
+ Object index, value;
+
+ if (!nums.arrayGet(i, &index)->isInt()) {
+ error(errSyntaxError, -1, "Nums item at position {0:d} is wrong type ({1:s})", i, index.getTypeName());
+ index.free();
+ continue;
+ }
+ if (index.getInt() < 0) {
+ error(errSyntaxError, -1, "Nums item at position {0:d} is invalid value ({1:d})", i, index.getInt());
+ index.free();
+ continue;
+ }
+
+ const unsigned idx = index.getInt();
+ if (nums.arrayGetNF(i + 1, &value)->isRef()) {
+ parentTree[idx].resize(1);
+ parentTree[idx][0].ref = value.getRef();
+ } else if (nums.arrayGet(i + 1, &value)->isArray()) {
+ parentTree[idx].resize(value.arrayGetLength());
+ for (int j = 0; j < value.arrayGetLength(); j++) {
+ Object itemvalue;
+ if (value.arrayGetNF(j, &itemvalue)->isRef())
+ parentTree[idx][j].ref = itemvalue.getRef();
+ else
+ error(errSyntaxError, -1, "Nums array item at position {0:d}/{1:d} is invalid type ({2:s})", i, j, itemvalue.getTypeName());
+ itemvalue.free();
+ }
+ } else {
+ error(errSyntaxError, -1, "Nums item at position {0:d} is wrong type ({1:s})", i + 1, value.getTypeName());
+ }
+
+ value.free();
+ index.free();
+ }
+ } else {
+ error(errSyntaxError, -1, "Nums array length is not a even ({0:d})", nums.arrayGetLength());
+ }
+ } else {
+ error(errSyntaxError, -1, "Nums object is wrong type ({0:s})", nums.getTypeName());
+ }
+ nums.free();
+ }
+ obj.free();
+
+ std::set<int> seenElements;
+
+ // Parse the children StructElements
+ const GBool marked = doc->getCatalog()->getMarkInfo() & Catalog::markInfoMarked;
+ Object kids;
+ if (root->lookup("K", &kids)->isArray()) {
+ if (marked && kids.arrayGetLength() > 1) {
+ error(errSyntaxWarning, -1, "K in StructTreeRoot has more than one children in a tagged PDF");
+ }
+ for (int i = 0; i < kids.arrayGetLength(); i++) {
+ Object obj, ref;
+ kids.arrayGetNF(i, &ref);
+ if (ref.isRef()) {
+ seenElements.insert(ref.getRefNum());
+ }
+ if (kids.arrayGet(i, &obj)->isDict()) {
+ StructElement *child = new StructElement(obj.getDict(), this, NULL, seenElements);
+ if (child->isOk()) {
+ if (marked && !(child->getType() == StructElement::Document ||
+ child->getType() == StructElement::Part ||
+ child->getType() == StructElement::Art ||
+ child->getType() == StructElement::Div)) {
+ error(errSyntaxWarning, -1, "StructTreeRoot element of tagged PDF is wrong type ({0:s})", child->getTypeName());
+ }
+ appendChild(child);
+ if (ref.isRef()) {
+ parentTreeAdd(ref.getRef(), child);
+ }
+ } else {
+ error(errSyntaxWarning, -1, "StructTreeRoot element could not be parsed");
+ delete child;
+ }
+ } else {
+ error(errSyntaxWarning, -1, "K has a child of wrong type ({0:s})", obj.getTypeName());
+ }
+ obj.free();
+ ref.free();
+ }
+ } else if (kids.isDict()) {
+ if (marked) {
+ error(errSyntaxWarning, -1, "K has a child of wrong type for a tagged PDF ({0:s})", kids.getTypeName());
+ }
+ StructElement *child = new StructElement(kids.getDict(), this, NULL, seenElements);
+ if (child->isOk()) {
+ appendChild(child);
+ Object ref;
+ if (root->lookupNF("K", &ref)->isRef())
+ parentTreeAdd(ref.getRef(), child);
+ ref.free();
+ } else {
+ error(errSyntaxWarning, -1, "StructTreeRoot element could not be parsed");
+ delete child;
+ }
+ } else if (!kids.isNull()) {
+ error(errSyntaxWarning, -1, "K in StructTreeRoot is wrong type ({0:s})", kids.getTypeName());
+ }
+
+ kids.free();
+}
+
+void StructTreeRoot::parentTreeAdd(const Ref &objectRef, StructElement *element)
+{
+ for (std::vector< std::vector<Parent> >::iterator i = parentTree.begin(); i != parentTree.end(); ++i) {
+ for (std::vector<Parent>::iterator j = i->begin(); j != i->end(); ++j) {
+ if (j->ref.num == objectRef.num && j->ref.gen == objectRef.gen)
+ j->element = element;
+ }
+ }
+}
diff --git a/poppler/StructTreeRoot.h b/poppler/StructTreeRoot.h
new file mode 100644
index 00000000..3b1f3c84
--- /dev/null
+++ b/poppler/StructTreeRoot.h
@@ -0,0 +1,83 @@
+//========================================================================
+//
+// StructTreeRoot.h
+//
+// This file is licensed under the GPLv2 or later
+//
+// Copyright 2013, 2014 Igalia S.L.
+//
+//========================================================================
+
+#ifndef STRUCTTREEROOT_H
+#define STRUCTTREEROOT_H
+
+#ifdef USE_GCC_PRAGMAS
+#pragma interface
+#endif
+
+#include "goo/gtypes.h"
+#include "Object.h"
+#include "StructElement.h"
+#include <vector>
+
+class Dict;
+class PDFDoc;
+
+
+class StructTreeRoot
+{
+public:
+ StructTreeRoot(PDFDoc *docA, Dict *rootDict);
+ ~StructTreeRoot();
+
+ PDFDoc *getDoc() { return doc; }
+ Dict *getRoleMap() { return roleMap.isDict() ? roleMap.getDict() : NULL; }
+ Dict *getClassMap() { return classMap.isDict() ? classMap.getDict() : NULL; }
+ unsigned getNumChildren() const { return elements.size(); }
+ const StructElement *getChild(int i) const { return elements.at(i); }
+ StructElement *getChild(int i) { return elements.at(i); }
+
+ void appendChild(StructElement *element) {
+ if (element && element->isOk()) {
+ elements.push_back(element);
+ }
+ }
+
+ const StructElement *findParentElement(unsigned index) const {
+ if (index < parentTree.size() && parentTree[index].size() == 1) {
+ return parentTree[index][0].element;
+ }
+ return NULL;
+ }
+
+private:
+ typedef std::vector<StructElement*> ElemPtrArray;
+
+ // Structure for items in /ParentTree, it keeps a mapping of
+ // object references and pointers to StructElement objects.
+ struct Parent {
+ Ref ref;
+ StructElement *element;
+
+ Parent(): element(NULL) { ref.num = ref.gen = -1; }
+ Parent(const Parent &p): element(p.element) {
+ ref.num = p.ref.num;
+ ref.gen = p.ref.gen;
+ }
+ ~Parent() {}
+ };
+
+ PDFDoc *doc;
+ Object roleMap;
+ Object classMap;
+ ElemPtrArray elements;
+ std::vector< std::vector<Parent> > parentTree;
+
+ void parse(Dict *rootDict);
+ void parentTreeAdd(const Ref &objectRef, StructElement *element);
+
+ friend class StructElement;
+};
+
+#endif
+
diff --git a/poppler/TextOutputDev.cc b/poppler/TextOutputDev.cc
index 4adb3c2b..4b7ff406 100644
--- a/poppler/TextOutputDev.cc
+++ b/poppler/TextOutputDev.cc
@@ -20,7 +20,7 @@
// Copyright (C) 2006 Jeff Muizelaar <jeff@infidigm.net>
// Copyright (C) 2007, 2008, 2012 Adrian Johnson <ajohnson@redneon.com>
// Copyright (C) 2008 Koji Otani <sho@bbr.jp>
-// Copyright (C) 2008, 2010-2012 Albert Astals Cid <aacid@kde.org>
+// Copyright (C) 2008, 2010-2012, 2014 Albert Astals Cid <aacid@kde.org>
// Copyright (C) 2008 Pino Toscano <pino@kde.org>
// Copyright (C) 2008, 2010 Hib Eris <hib@hiberis.nl>
// Copyright (C) 2009 Ross Moore <ross@maths.mq.edu.au>
@@ -2192,10 +2192,12 @@ void TextPage::updateFont(GfxState *state) {
mCode = letterCode = anyCode = -1;
for (code = 0; code < 256; ++code) {
name = ((Gfx8BitFont *)gfxFont)->getCharName(code);
- if (name && name[0] == 'm' && name[1] == '\0') {
+ int nameLen = name ? strlen(name) : 0;
+ GBool nameOneChar = nameLen == 1 || (nameLen > 1 && name[1] == '\0');
+ if (nameOneChar && name[0] == 'm') {
mCode = code;
}
- if (letterCode < 0 && name && name[1] == '\0' &&
+ if (letterCode < 0 && nameOneChar &&
((name[0] >= 'A' && name[0] <= 'Z') ||
(name[0] >= 'a' && name[0] <= 'z'))) {
letterCode = code;
@@ -4000,21 +4002,6 @@ public:
PDFRectangle *selection) = 0;
protected:
-
- class TextWordSelection {
- public:
- TextWordSelection(TextWord *word, int begin, int end)
- : word(word),
- begin(begin),
- end(end)
- {
- }
-
- TextWord *word;
- int begin;
- int end;
- };
-
TextPage *page;
};
@@ -4044,7 +4031,7 @@ public:
void endPage();
GooString *getText(void);
- GooList **getWordList(int *nLines);
+ GooList **takeWordList(int *nLines);
private:
@@ -4179,27 +4166,18 @@ GooString *TextSelectionDumper::getText (void)
return text;
}
-GooList **TextSelectionDumper::getWordList(int *nLinesOut)
+GooList **TextSelectionDumper::takeWordList(int *nLinesOut)
{
- int i, j;
+ GooList **returnValue = lines;
+ *nLinesOut = nLines;
if (nLines == 0)
return NULL;
- GooList **wordList = (GooList **)gmallocn(nLines, sizeof(GooList *));
-
- for (i = 0; i < nLines; i++) {
- GooList *lineWords = lines[i];
- wordList[i] = new GooList();
- for (j = 0; j < lineWords->getLength(); j++) {
- TextWordSelection *sel = (TextWordSelection *)lineWords->get(j);
- wordList[i]->append(sel->word);
- }
- }
-
- *nLinesOut = nLines;
+ nLines = 0;
+ lines = NULL;
- return wordList;
+ return returnValue;
}
class TextSelectionSizer : public TextSelectionVisitor {
@@ -4793,7 +4771,7 @@ GooList **TextPage::getSelectionWords(PDFRectangle *selection,
visitSelection(&dumper, selection, style);
dumper.endPage();
- return dumper.getWordList(nLines);
+ return dumper.takeWordList(nLines);
}
GBool TextPage::findCharRange(int pos, int length,
diff --git a/poppler/TextOutputDev.h b/poppler/TextOutputDev.h
index 56736b3f..23fb3b72 100644
--- a/poppler/TextOutputDev.h
+++ b/poppler/TextOutputDev.h
@@ -478,6 +478,26 @@ private:
#endif // TEXTOUT_WORD_LIST
+class TextWordSelection {
+public:
+ TextWordSelection(TextWord *word, int begin, int end)
+ : word(word), begin(begin), end(end)
+ {
+ }
+
+ TextWord * getWord() const { return word; }
+ int getBegin() const { return begin; }
+ int getEnd() const { return end; }
+
+private:
+ TextWord *word;
+ int begin;
+ int end;
+
+ friend class TextSelectionPainter;
+ friend class TextSelectionDumper;
+};
+
//------------------------------------------------------------------------
// TextPage
//------------------------------------------------------------------------
diff --git a/poppler/XRef.cc b/poppler/XRef.cc
index 5495b62f..2560e3dc 100644
--- a/poppler/XRef.cc
+++ b/poppler/XRef.cc
@@ -15,7 +15,7 @@
//
// Copyright (C) 2005 Dan Sheridan <dan.sheridan@postman.org.uk>
// Copyright (C) 2005 Brad Hards <bradh@frogmouth.net>
-// Copyright (C) 2006, 2008, 2010, 2012, 2013 Albert Astals Cid <aacid@kde.org>
+// Copyright (C) 2006, 2008, 2010, 2012-2014 Albert Astals Cid <aacid@kde.org>
// Copyright (C) 2007-2008 Julien Rebetez <julienr@svn.gnome.org>
// Copyright (C) 2007 Carlos Garcia Campos <carlosgc@gnome.org>
// Copyright (C) 2009, 2010 Ilya Gorenbein <igorenbein@finjan.com>
@@ -435,6 +435,7 @@ XRef *XRef::copy() {
if (xref->reserve(size) == 0) {
error(errSyntaxError, -1, "unable to allocate {0:d} entries", size);
+ delete xref;
return NULL;
}
xref->size = size;
diff --git a/poppler/XpdfPluginAPI.h b/poppler/XpdfPluginAPI.h
index b0165c0a..6ed890a8 100644
--- a/poppler/XpdfPluginAPI.h
+++ b/poppler/XpdfPluginAPI.h
@@ -12,6 +12,8 @@
// under GPL version 2 or later
//
// Copyright (C) 2012 Albert Astals Cid <aacid@kde.org>
+// Copyright (C) 2014 Bogdan Cristea <cristeab@gmail.com>
+// Copyright (C) 2014 Peter Breitenlohner <peb@mppmu.mpg.de>
//
// To see a description of the changes please see the Changelog file that
// came with your tarball or type make ChangeLog if you are building from git
@@ -22,6 +24,9 @@
#define XPDFPLUGINAPI_H
#ifdef _WIN32
+#ifndef NOMINMAX
+#define NOMINMAX
+#endif
#include <windows.h>
#else
#define Object XtObject
diff --git a/poppler/poppler-config.h.cmake b/poppler/poppler-config.h.cmake
index 71a3278f..d7918bc4 100644
--- a/poppler/poppler-config.h.cmake
+++ b/poppler/poppler-config.h.cmake
@@ -6,15 +6,32 @@
//
//========================================================================
+//========================================================================
+//
+// Modified under the Poppler project - http://poppler.freedesktop.org
+//
+// All changes made under the Poppler project to this file are licensed
+// under GPL version 2 or later
+//
+// Copyright (C) 2014 Bogdan Cristea <cristeab@gmail.com>
+// Copyright (C) 2014 Hib Eris <hib@hiberis.nl>
+//
+// To see a description of the changes please see the Changelog file that
+// came with your tarball or type make ChangeLog if you are building from git
+//
+//========================================================================
+
#ifndef POPPLER_CONFIG_H
#define POPPLER_CONFIG_H
+#include <stdio.h>
+
// We duplicate some of the config.h #define's here since they are
// used in some of the header files we install. The #ifndef/#endif
// around #undef look odd, but it's to silence warnings about
// redefining those symbols.
-/* Defines the poppler version */
+/* Defines the poppler version. */
#ifndef POPPLER_VERSION
#define POPPLER_VERSION "${POPPLER_VERSION}"
#endif
@@ -117,7 +134,7 @@
//------------------------------------------------------------------------
// copyright notice
-#define popplerCopyright "Copyright 2005-2013 The Poppler Developers - http://poppler.freedesktop.org"
+#define popplerCopyright "Copyright 2005-2014 The Poppler Developers - http://poppler.freedesktop.org"
#define xpdfCopyright "Copyright 1996-2011 Glyph & Cog, LLC"
//------------------------------------------------------------------------
@@ -160,7 +177,7 @@ char * strtok_r (char *s, const char *delim, char **save_ptr);
#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ > 4)
#ifdef __MINGW_PRINTF_FORMAT
#define GCC_PRINTF_FORMAT(fmt_index, va_index) \
- __attribute__((__format__(__MINGW_PRINTF_FORMAT, fmt_index, va_index)))
+ __attribute__((__format__(__MINGW_PRINTF_FORMAT, fmt_index, va_index)))
#else
#define GCC_PRINTF_FORMAT(fmt_index, va_index) \
__attribute__((__format__(__printf__, fmt_index, va_index)))
@@ -170,8 +187,8 @@ char * strtok_r (char *s, const char *delim, char **save_ptr);
#endif
#if defined(_MSC_VER)
-#define fmax(a, b) max(a, b)
-#define fmin(a, b) min(a, b)
+#define fmax(a, b) std::max(a, b)
+#define fmin(a, b) std::min(a, b)
#endif
diff --git a/poppler/poppler-config.h.in b/poppler/poppler-config.h.in
index c5e181c4..a7d2efeb 100644
--- a/poppler/poppler-config.h.in
+++ b/poppler/poppler-config.h.in
@@ -6,9 +6,26 @@
//
//========================================================================
+//========================================================================
+//
+// Modified under the Poppler project - http://poppler.freedesktop.org
+//
+// All changes made under the Poppler project to this file are licensed
+// under GPL version 2 or later
+//
+// Copyright (C) 2014 Bogdan Cristea <cristeab@gmail.com>
+// Copyright (C) 2014 Hib Eris <hib@hiberis.nl>
+//
+// To see a description of the changes please see the Changelog file that
+// came with your tarball or type make ChangeLog if you are building from git
+//
+//========================================================================
+
#ifndef POPPLER_CONFIG_H
#define POPPLER_CONFIG_H
+#include <stdio.h>
+
// We duplicate some of the config.h #define's here since they are
// used in some of the header files we install. The #ifndef/#endif
// around #undef look odd, but it's to silence warnings about
@@ -117,7 +134,7 @@
//------------------------------------------------------------------------
// copyright notice
-#define popplerCopyright "Copyright 2005-2013 The Poppler Developers - http://poppler.freedesktop.org"
+#define popplerCopyright "Copyright 2005-2014 The Poppler Developers - http://poppler.freedesktop.org"
#define xpdfCopyright "Copyright 1996-2011 Glyph & Cog, LLC"
//------------------------------------------------------------------------
@@ -170,8 +187,8 @@ char * strtok_r (char *s, const char *delim, char **save_ptr);
#endif
#if defined(_MSC_VER)
-#define fmax(a, b) max(a, b)
-#define fmin(a, b) min(a, b)
+#define fmax(a, b) std::max(a, b)
+#define fmin(a, b) std::min(a, b)
#endif
diff --git a/qt4/Makefile.in b/qt4/Makefile.in
index 5b0c0c89..af87e25c 100644
--- a/qt4/Makefile.in
+++ b/qt4/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.13.3 from Makefile.am.
+# Makefile.in generated by automake 1.14.1 from Makefile.am.
# @configure_input@
# Copyright (C) 1994-2013 Free Software Foundation, Inc.
@@ -220,6 +220,7 @@ GLIB_REQ = @GLIB_REQ@
GLIB_REQUIRED = @GLIB_REQUIRED@
GREP = @GREP@
GTKDOC_CHECK = @GTKDOC_CHECK@
+GTKDOC_CHECK_PATH = @GTKDOC_CHECK_PATH@
GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
GTKDOC_MKPDF = @GTKDOC_MKPDF@
@@ -256,7 +257,6 @@ LIBPNG_CFLAGS = @LIBPNG_CFLAGS@
LIBPNG_LIBS = @LIBPNG_LIBS@
LIBS = @LIBS@
LIBTIFF_CFLAGS = @LIBTIFF_CFLAGS@
-LIBTIFF_CFLAGSS = @LIBTIFF_CFLAGSS@
LIBTIFF_LIBS = @LIBTIFF_LIBS@
LIBTOOL = @LIBTOOL@
LIPO = @LIPO@
diff --git a/qt4/demos/Makefile.in b/qt4/demos/Makefile.in
index 3954dc30..b672c336 100644
--- a/qt4/demos/Makefile.in
+++ b/qt4/demos/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.13.3 from Makefile.am.
+# Makefile.in generated by automake 1.14.1 from Makefile.am.
# @configure_input@
# Copyright (C) 1994-2013 Free Software Foundation, Inc.
@@ -238,6 +238,7 @@ GLIB_REQ = @GLIB_REQ@
GLIB_REQUIRED = @GLIB_REQUIRED@
GREP = @GREP@
GTKDOC_CHECK = @GTKDOC_CHECK@
+GTKDOC_CHECK_PATH = @GTKDOC_CHECK_PATH@
GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
GTKDOC_MKPDF = @GTKDOC_MKPDF@
@@ -274,7 +275,6 @@ LIBPNG_CFLAGS = @LIBPNG_CFLAGS@
LIBPNG_LIBS = @LIBPNG_LIBS@
LIBS = @LIBS@
LIBTIFF_CFLAGS = @LIBTIFF_CFLAGS@
-LIBTIFF_CFLAGSS = @LIBTIFF_CFLAGSS@
LIBTIFF_LIBS = @LIBTIFF_LIBS@
LIBTOOL = @LIBTOOL@
LIPO = @LIPO@
diff --git a/qt4/src/ArthurOutputDev.cc b/qt4/src/ArthurOutputDev.cc
index 5d57e933..05c95baf 100644
--- a/qt4/src/ArthurOutputDev.cc
+++ b/qt4/src/ArthurOutputDev.cc
@@ -14,13 +14,14 @@
// under GPL version 2 or later
//
// Copyright (C) 2005 Brad Hards <bradh@frogmouth.net>
-// Copyright (C) 2005-2009, 2011, 2012 Albert Astals Cid <aacid@kde.org>
+// Copyright (C) 2005-2009, 2011, 2012, 2014 Albert Astals Cid <aacid@kde.org>
// Copyright (C) 2008, 2010 Pino Toscano <pino@kde.org>
// Copyright (C) 2009, 2011 Carlos Garcia Campos <carlosgc@gnome.org>
// Copyright (C) 2009 Petr Gajdos <pgajdos@novell.com>
// Copyright (C) 2010 Matthias Fauconneau <matthias.fauconneau@gmail.com>
// Copyright (C) 2011 Andreas Hartmetz <ahartmetz@gmail.com>
// Copyright (C) 2013 Thomas Freitag <Thomas.Freitag@alfa.de>
+// Copyright (C) 2013 Dominik Haumann <dhaumann@kde.org>
//
// To see a description of the changes please see the Changelog file that
// came with your tarball or type make ChangeLog if you are building from git
@@ -278,7 +279,7 @@ void ArthurOutputDev::updateFont(GfxState *state)
Object refObj, strObj;
GooString *fileName;
char *tmpBuf;
- int tmpBufLen;
+ int tmpBufLen = 0;
int *codeToGID;
double *textMat;
double m11, m12, m21, m22, fontSize;
@@ -593,10 +594,15 @@ void ArthurOutputDev::drawChar(GfxState *state, double x, double y,
QPainterPath qPath;
qPath.setFillRule(Qt::WindingFill);
for (int i = 0; i < fontPath->length; ++i) {
+ // SplashPath.flags: bitwise or allowed
+ if (fontPath->flags[i] & splashPathLast || fontPath->flags[i] & splashPathClosed) {
+ qPath.closeSubpath();
+ }
if (fontPath->flags[i] & splashPathFirst) {
state->transform(fontPath->pts[i].x+x, -fontPath->pts[i].y+y, &x1, &y1);
qPath.moveTo(x1,y1);
- } else if (fontPath->flags[i] & splashPathCurve) {
+ }
+ if (fontPath->flags[i] & splashPathCurve) {
state->transform(fontPath->pts[i].x+x, -fontPath->pts[i].y+y, &x1, &y1);
state->transform(fontPath->pts[i+1].x+x, -fontPath->pts[i+1].y+y, &x2, &y2);
qPath.quadTo(x1,y1,x2,y2);
@@ -610,20 +616,14 @@ void ArthurOutputDev::drawChar(GfxState *state, double x, double y,
state->transform(fontPath->pts[i].x+x, -fontPath->pts[i].y+y, &x1, &y1);
qPath.lineTo(x1,y1);
}
- if (fontPath->flags[i] & splashPathLast) {
- qPath.closeSubpath();
- }
}
GfxRGB rgb;
QColor brushColour = m_currentBrush.color();
state->getFillRGB(&rgb);
brushColour.setRgbF(colToDbl(rgb.r), colToDbl(rgb.g), colToDbl(rgb.b), state->getFillOpacity());
m_painter->setBrush(brushColour);
- QColor penColour = m_currentPen.color();
- state->getStrokeRGB(&rgb);
- penColour.setRgbF(colToDbl(rgb.r), colToDbl(rgb.g), colToDbl(rgb.b), state->getStrokeOpacity());
- m_painter->setPen(penColour);
- m_painter->drawPath( qPath );
+ m_painter->setPen(Qt::NoPen);
+ m_painter->drawPath(qPath);
delete fontPath;
}
}
diff --git a/qt4/src/CMakeLists.txt b/qt4/src/CMakeLists.txt
index 59953edd..a2e82234 100644
--- a/qt4/src/CMakeLists.txt
+++ b/qt4/src/CMakeLists.txt
@@ -30,7 +30,7 @@ set(poppler_qt4_SRCS
)
qt4_automoc(${poppler_qt4_SRCS})
add_library(poppler-qt4 SHARED ${poppler_qt4_SRCS})
-set_target_properties(poppler-qt4 PROPERTIES VERSION 4.3.0 SOVERSION 4)
+set_target_properties(poppler-qt4 PROPERTIES VERSION 4.4.0 SOVERSION 4)
target_link_libraries(poppler-qt4 poppler ${QT4_QTCORE_LIBRARY} ${QT4_QTGUI_LIBRARY} ${QT4_QTXML_LIBRARY})
if(MSVC)
target_link_libraries(poppler-qt4 poppler ${poppler_LIBS})
diff --git a/qt4/src/Makefile.am b/qt4/src/Makefile.am
index 13ab7ff0..83a3b98c 100644
--- a/qt4/src/Makefile.am
+++ b/qt4/src/Makefile.am
@@ -62,7 +62,7 @@ libpoppler_qt4_la_LIBADD = \
$(top_builddir)/poppler/libpoppler.la \
$(POPPLER_QT4_LIBS)
-libpoppler_qt4_la_LDFLAGS = -version-info 7:0:3 @create_shared_lib@ @auto_import_flags@
+libpoppler_qt4_la_LDFLAGS = -version-info 8:0:4 @create_shared_lib@ @auto_import_flags@
# This rule lets GNU make create any *.moc from the equivalent *.h
.h.moc:
diff --git a/qt4/src/Makefile.in b/qt4/src/Makefile.in
index 10e178ca..1cf6989d 100644
--- a/qt4/src/Makefile.in
+++ b/qt4/src/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.13.3 from Makefile.am.
+# Makefile.in generated by automake 1.14.1 from Makefile.am.
# @configure_input@
# Copyright (C) 1994-2013 Free Software Foundation, Inc.
@@ -284,6 +284,7 @@ GLIB_REQ = @GLIB_REQ@
GLIB_REQUIRED = @GLIB_REQUIRED@
GREP = @GREP@
GTKDOC_CHECK = @GTKDOC_CHECK@
+GTKDOC_CHECK_PATH = @GTKDOC_CHECK_PATH@
GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
GTKDOC_MKPDF = @GTKDOC_MKPDF@
@@ -320,7 +321,6 @@ LIBPNG_CFLAGS = @LIBPNG_CFLAGS@
LIBPNG_LIBS = @LIBPNG_LIBS@
LIBS = @LIBS@
LIBTIFF_CFLAGS = @LIBTIFF_CFLAGS@
-LIBTIFF_CFLAGSS = @LIBTIFF_CFLAGSS@
LIBTIFF_LIBS = @LIBTIFF_LIBS@
LIBTOOL = @LIBTOOL@
LIPO = @LIPO@
@@ -508,7 +508,7 @@ libpoppler_qt4_la_LIBADD = \
$(top_builddir)/poppler/libpoppler.la \
$(POPPLER_QT4_LIBS)
-libpoppler_qt4_la_LDFLAGS = -version-info 7:0:3 @create_shared_lib@ @auto_import_flags@
+libpoppler_qt4_la_LDFLAGS = -version-info 8:0:4 @create_shared_lib@ @auto_import_flags@
BUILT_SOURCES = poppler-optcontent.moc
all: $(BUILT_SOURCES)
$(MAKE) $(AM_MAKEFLAGS) all-am
diff --git a/qt4/src/poppler-annotation.cc b/qt4/src/poppler-annotation.cc
index 08044c08..70a5ea2b 100644
--- a/qt4/src/poppler-annotation.cc
+++ b/qt4/src/poppler-annotation.cc
@@ -1,8 +1,8 @@
/* poppler-annotation.cc: qt interface to poppler
- * Copyright (C) 2006, 2009, 2012 Albert Astals Cid <aacid@kde.org>
+ * Copyright (C) 2006, 2009, 2012, 2013 Albert Astals Cid <aacid@kde.org>
* Copyright (C) 2006, 2008, 2010 Pino Toscano <pino@kde.org>
* Copyright (C) 2012, Guillermo A. Amaral B. <gamaral@kde.org>
- * Copyright (C) 2012, 2013 Fabio D'Urso <fabiodurso@hotmail.it>
+ * Copyright (C) 2012-2014 Fabio D'Urso <fabiodurso@hotmail.it>
* Copyright (C) 2012, Tobias Koenig <tokoe@kdab.com>
* Adapting code from
* Copyright (C) 2004 by Enrico Ros <eros.kde@email.it>
@@ -383,7 +383,7 @@ QList<Annotation*> AnnotationPrivate::findAnnotations(::Page *pdfPage, DocumentD
Annot * ann = annots->getAnnot( j );
if ( !ann )
{
- error(errInternal, -1, "Annot %u is null", j);
+ error(errInternal, -1, "Annot {0:ud} is null", j);
continue;
}
@@ -536,7 +536,7 @@ QList<Annotation*> AnnotationPrivate::findAnnotations(::Page *pdfPage, DocumentD
CASE_FOR_TYPE( TrapNet )
CASE_FOR_TYPE( Watermark )
CASE_FOR_TYPE( 3D )
- default: error(errUnimplemented, -1, "Annotation %u not supported", subType);
+ default: error(errUnimplemented, -1, "Annotation {0:d} not supported", subType);
}
continue;
#undef CASE_FOR_TYPE
@@ -2062,7 +2062,7 @@ void TextAnnotation::setInplaceIntent( TextAnnotation::InplaceIntent intent )
{
Q_D( TextAnnotation );
- if (d->pdfAnnot)
+ if (!d->pdfAnnot)
{
d->inplaceIntent = intent;
return;
@@ -3657,7 +3657,8 @@ void LinkAnnotation::store( QDomNode & node, QDomDocument & document ) const
Poppler::LinkGoto * go = static_cast< Poppler::LinkGoto * >( linkDestination() );
hyperlinkElement.setAttribute( "type", "GoTo" );
hyperlinkElement.setAttribute( "filename", go->fileName() );
- hyperlinkElement.setAttribute( "destionation", go->destination().toString() );
+ hyperlinkElement.setAttribute( "destionation", go->destination().toString() ); // TODO Remove for poppler 0.28
+ hyperlinkElement.setAttribute( "destination", go->destination().toString() );
break;
}
case Poppler::Link::Execute:
diff --git a/qt4/src/poppler-document.cc b/qt4/src/poppler-document.cc
index 7d13656d..a1b0b118 100644
--- a/qt4/src/poppler-document.cc
+++ b/qt4/src/poppler-document.cc
@@ -1,12 +1,13 @@
/* poppler-document.cc: qt interface to poppler
* Copyright (C) 2005, Net Integration Technologies, Inc.
* Copyright (C) 2005, 2008, Brad Hards <bradh@frogmouth.net>
- * Copyright (C) 2005-2010, 2012, Albert Astals Cid <aacid@kde.org>
+ * Copyright (C) 2005-2010, 2012, 2013, Albert Astals Cid <aacid@kde.org>
* Copyright (C) 2006-2010, Pino Toscano <pino@kde.org>
* Copyright (C) 2010, 2011 Hib Eris <hib@hiberis.nl>
* Copyright (C) 2012 Koji Otani <sho@bbr.jp>
* Copyright (C) 2012, 2013 Thomas Freitag <Thomas.Freitag@alfa.de>
* Copyright (C) 2012 Fabio D'Urso <fabiodurso@hotmail.it>
+ * Copyright (C) 2014 Adam Reichold <adamreichold@myopera.com>
*
* 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
@@ -32,6 +33,7 @@
#include <PDFDoc.h>
#include <Stream.h>
#include <Catalog.h>
+#include <ViewerPreferences.h>
#include <DateInfo.h>
#include <GfxState.h>
@@ -193,6 +195,21 @@ namespace Poppler {
}
}
+ Qt::LayoutDirection Document::textDirection() const
+ {
+ if (!m_doc->doc->getCatalog()->getViewerPreferences())
+ return Qt::LayoutDirectionAuto;
+
+ switch (m_doc->doc->getCatalog()->getViewerPreferences()->getDirection()) {
+ case ViewerPreferences::directionL2R:
+ return Qt::LeftToRight;
+ case ViewerPreferences::directionR2L:
+ return Qt::RightToLeft;
+ default:
+ return Qt::LayoutDirectionAuto;
+ }
+ }
+
int Document::numPages() const
{
return m_doc->doc->getNumPages();
@@ -269,6 +286,8 @@ namespace Poppler {
return QString();
QScopedPointer<XRef> xref(m_doc->doc->getXRef()->copy());
+ if (!xref)
+ return QString();
xref->getDocInfo(&info);
if ( !info.isDict() )
return QString();
@@ -300,6 +319,8 @@ namespace Poppler {
return QStringList();
QScopedPointer<XRef> xref(m_doc->doc->getXRef()->copy());
+ if (!xref)
+ return QStringList();
xref->getDocInfo(&info);
if ( !info.isDict() )
return QStringList();
@@ -323,6 +344,8 @@ namespace Poppler {
Object info;
QScopedPointer<XRef> xref(m_doc->doc->getXRef()->copy());
+ if (!xref)
+ return QDateTime();
xref->getDocInfo(&info);
if ( !info.isDict() ) {
info.free();
diff --git a/qt4/src/poppler-export.h b/qt4/src/poppler-export.h
index 7661fe9e..2e2f6ff8 100644
--- a/qt4/src/poppler-export.h
+++ b/qt4/src/poppler-export.h
@@ -3,15 +3,18 @@
* This is needed for setting the visibility on windows, it will have no effect on other platforms.
*/
#if defined(_WIN32)
-# define LIB_EXPORT __declspec(dllexport)
-# define LIB_IMPORT __declspec(dllimport)
+# define _POPPLER_QT4_LIB_EXPORT __declspec(dllexport)
+# define _POPPLER_QT4_LIB_IMPORT __declspec(dllimport)
+#elif defined(__GNUC__)
+# define _POPPLER_QT4_LIB_EXPORT __attribute__((visibility("default")))
+# define _POPPLER_QT4_LIB_IMPORT
#else
-# define LIB_EXPORT
-# define LIB_IMPORT
+# define _POPPLER_QT4_LIB_EXPORT
+# define _POPPLER_QT4_LIB_IMPORT
#endif
#ifdef poppler_qt4_EXPORTS
-# define POPPLER_QT4_EXPORT LIB_EXPORT
+# define POPPLER_QT4_EXPORT _POPPLER_QT4_LIB_EXPORT
#else
-# define POPPLER_QT4_EXPORT LIB_IMPORT
+# define POPPLER_QT4_EXPORT _POPPLER_QT4_LIB_IMPORT
#endif
diff --git a/qt4/src/poppler-link.h b/qt4/src/poppler-link.h
index ef93bf09..2c4bb556 100644
--- a/qt4/src/poppler-link.h
+++ b/qt4/src/poppler-link.h
@@ -1,5 +1,5 @@
/* poppler-link.h: qt interface to poppler
- * Copyright (C) 2006, Albert Astals Cid <aacid@kde.org>
+ * Copyright (C) 2006, 2013, Albert Astals Cid <aacid@kde.org>
* Copyright (C) 2007-2008, 2010, Pino Toscano <pino@kde.org>
* Copyright (C) 2010, 2012, Guillermo Amaral <gamaral@kdab.com>
* Copyright (C) 2012, Tobias Koenig <tokoe@kdab.com>
@@ -471,7 +471,7 @@ class POPPLER_QT4_EXPORT LinkRendition : public Link
* Create a new rendition link.
*
* \param linkArea the active area of the link
- * \param rendition the media rendition object
+ * \param rendition the media rendition object. Ownership is taken
*
* \deprecated Use the constructor that takes all parameter instead
*/
@@ -481,7 +481,7 @@ class POPPLER_QT4_EXPORT LinkRendition : public Link
* Create a new rendition link.
*
* \param linkArea the active area of the link
- * \param rendition the media rendition object
+ * \param rendition the media rendition object. Ownership is taken
* \param operation the numeric operation (action) (@see ::LinkRendition::RenditionOperation)
* \param script the java script code
* \param annotationReference the object reference of the screen annotation associated with this rendition action
diff --git a/qt4/src/poppler-media.h b/qt4/src/poppler-media.h
index 64ec83c2..34e5c361 100644
--- a/qt4/src/poppler-media.h
+++ b/qt4/src/poppler-media.h
@@ -1,6 +1,6 @@
/* poppler-media.h: qt interface to poppler
* Copyright (C) 2012 Guillermo A. Amaral B. <gamaral@kde.org>
- * Copyright (C) 2012 Albert Astals Cid <aacid@kde.org>
+ * Copyright (C) 2012, 2013 Albert Astals Cid <aacid@kde.org>
*
* 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
@@ -39,6 +39,9 @@ namespace Poppler
*/
class POPPLER_QT4_EXPORT MediaRendition {
public:
+ /**
+ Constructs a MediaRendition. Takes ownership of the passed rendition
+ */
MediaRendition(::MediaRendition *rendition);
~MediaRendition();
diff --git a/qt4/src/poppler-optcontent.cc b/qt4/src/poppler-optcontent.cc
index 6a5ffe74..1a0be68b 100644
--- a/qt4/src/poppler-optcontent.cc
+++ b/qt4/src/poppler-optcontent.cc
@@ -1,7 +1,7 @@
/* poppler-optcontent.cc: qt interface to poppler
*
* Copyright (C) 2007, Brad Hards <bradh@kde.org>
- * Copyright (C) 2008, Pino Toscano <pino@kde.org>
+ * Copyright (C) 2008, 2014, Pino Toscano <pino@kde.org>
* Copyright (C) 2008, Carlos Garcia Campos <carlosgc@gnome.org>
*
* This program is free software; you can redistribute it and/or modify
@@ -171,8 +171,7 @@ namespace Poppler
QMapIterator<QString, OptContentItem*> i(m_optContentItems);
while ( i.hasNext() ) {
i.next();
- qDebug() << "iterator" << i.key() << ":" << i.value();
- addChild( i.value(), m_rootNode );
+ addChild( m_rootNode, i.value() );
}
} else {
parseOrderArray( m_rootNode, optContent->getOrderArray() );
diff --git a/qt4/src/poppler-ps-converter.cc b/qt4/src/poppler-ps-converter.cc
index ff8af65d..d69b345a 100644
--- a/qt4/src/poppler-ps-converter.cc
+++ b/qt4/src/poppler-ps-converter.cc
@@ -5,6 +5,7 @@
* Copyright (C) 2011 Glad Deschrijver <glad.deschrijver@gmail.com>
* Copyright (C) 2012 Fabio D'Urso <fabiodurso@hotmail.it>
* Copyright (C) 2013 Thomas Freitag <Thomas.Freitag@alfa.de>
+ * Copyright (C) 2014 Adrian Johnson <ajohnson@redneon.com>
*
* 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
@@ -224,6 +225,7 @@ bool PSConverter::convert()
d->paperWidth,
d->paperHeight,
gFalse,
+ gFalse,
d->marginLeft,
d->marginBottom,
d->paperWidth - d->marginRight,
diff --git a/qt4/src/poppler-qt4.h b/qt4/src/poppler-qt4.h
index 72874ec3..30295cf7 100644
--- a/qt4/src/poppler-qt4.h
+++ b/qt4/src/poppler-qt4.h
@@ -12,7 +12,7 @@
* Copyright (C) 2012, Guillermo A. Amaral B. <gamaral@kde.org>
* Copyright (C) 2012, Fabio D'Urso <fabiodurso@hotmail.it>
* Copyright (C) 2012, Tobias Koenig <tobias.koenig@kdab.com>
- * Copyright (C) 2012 Adam Reichold <adamreichold@myopera.com>
+ * Copyright (C) 2012, 2014 Adam Reichold <adamreichold@myopera.com>
* Copyright (C) 2012, 2013 Thomas Freitag <Thomas.Freitag@alfa.de>
*
* This program is free software; you can redistribute it and/or modify
@@ -990,6 +990,14 @@ delete it;
PageLayout pageLayout() const;
/**
+ The predominant reading order for text as supplied by
+ the document's viewer preferences.
+
+ \since 0.26
+ */
+ Qt::LayoutDirection textDirection() const;
+
+ /**
Provide the passwords required to unlock the document
\param ownerPassword the Latin1-encoded owner password to use in
diff --git a/qt4/tests/CMakeLists.txt b/qt4/tests/CMakeLists.txt
index 69e9c49b..4f16f244 100644
--- a/qt4/tests/CMakeLists.txt
+++ b/qt4/tests/CMakeLists.txt
@@ -38,6 +38,7 @@ endmacro(QT4_ADD_QTEST)
qt4_add_simpletest(test-poppler-qt4 test-poppler-qt4.cpp)
qt4_add_simpletest(test-password-qt4 test-password-qt4.cpp)
+qt4_add_simpletest(test-render-to-file test-render-to-file.cpp)
qt4_add_simpletest(poppler-forms poppler-forms.cpp)
qt4_add_simpletest(poppler-fonts poppler-fonts.cpp)
qt4_add_simpletest(poppler_attachments poppler-attachments.cpp)
diff --git a/qt4/tests/Makefile.am b/qt4/tests/Makefile.am
index 8efe124c..4e4b2104 100644
--- a/qt4/tests/Makefile.am
+++ b/qt4/tests/Makefile.am
@@ -20,7 +20,7 @@ SUFFIXES: .moc
noinst_PROGRAMS = test-poppler-qt4 stress-poppler-qt4 \
poppler-fonts test-password-qt4 stress-poppler-dir \
poppler-attachments poppler-texts poppler-forms \
- stress-threads-qt4
+ stress-threads-qt4 test-render-to-file
test_poppler_qt4_SOURCES = \
@@ -29,6 +29,12 @@ test_poppler_qt4_SOURCES = \
test_poppler_qt4_LDADD = $(LDADDS)
+test_render_to_file_SOURCES = \
+ test-render-to-file.cpp
+
+test_render_to_file_LDADD = $(LDADDS)
+
+
test_password_qt4_SOURCES = \
test-password-qt4.cpp
diff --git a/qt4/tests/Makefile.in b/qt4/tests/Makefile.in
index 97af50bc..4a5d347f 100644
--- a/qt4/tests/Makefile.in
+++ b/qt4/tests/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.13.3 from Makefile.am.
+# Makefile.in generated by automake 1.14.1 from Makefile.am.
# @configure_input@
# Copyright (C) 1994-2013 Free Software Foundation, Inc.
@@ -82,7 +82,8 @@ noinst_PROGRAMS = test-poppler-qt4$(EXEEXT) \
stress-poppler-qt4$(EXEEXT) poppler-fonts$(EXEEXT) \
test-password-qt4$(EXEEXT) stress-poppler-dir$(EXEEXT) \
poppler-attachments$(EXEEXT) poppler-texts$(EXEEXT) \
- poppler-forms$(EXEEXT) stress-threads-qt4$(EXEEXT)
+ poppler-forms$(EXEEXT) stress-threads-qt4$(EXEEXT) \
+ test-render-to-file$(EXEEXT)
@BUILD_POPPLER_QT4_TRUE@TESTS = check_attachments$(EXEEXT) \
@BUILD_POPPLER_QT4_TRUE@ check_actualtext$(EXEEXT) \
@BUILD_POPPLER_QT4_TRUE@ check_dateConversion$(EXEEXT) \
@@ -282,6 +283,9 @@ test_password_qt4_DEPENDENCIES = $(am__DEPENDENCIES_2)
am_test_poppler_qt4_OBJECTS = test-poppler-qt4.$(OBJEXT)
test_poppler_qt4_OBJECTS = $(am_test_poppler_qt4_OBJECTS)
test_poppler_qt4_DEPENDENCIES = $(am__DEPENDENCIES_2)
+am_test_render_to_file_OBJECTS = test-render-to-file.$(OBJEXT)
+test_render_to_file_OBJECTS = $(am_test_render_to_file_OBJECTS)
+test_render_to_file_DEPENDENCIES = $(am__DEPENDENCIES_2)
AM_V_P = $(am__v_P_@AM_V@)
am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
am__v_P_0 = false
@@ -328,7 +332,7 @@ SOURCES = $(check_actualtext_SOURCES) $(check_attachments_SOURCES) \
$(poppler_forms_SOURCES) $(poppler_texts_SOURCES) \
$(stress_poppler_dir_SOURCES) $(stress_poppler_qt4_SOURCES) \
$(stress_threads_qt4_SOURCES) $(test_password_qt4_SOURCES) \
- $(test_poppler_qt4_SOURCES)
+ $(test_poppler_qt4_SOURCES) $(test_render_to_file_SOURCES)
DIST_SOURCES = $(am__check_actualtext_SOURCES_DIST) \
$(am__check_attachments_SOURCES_DIST) \
$(am__check_dateConversion_SOURCES_DIST) \
@@ -349,7 +353,7 @@ DIST_SOURCES = $(am__check_actualtext_SOURCES_DIST) \
$(poppler_forms_SOURCES) $(poppler_texts_SOURCES) \
$(stress_poppler_dir_SOURCES) $(stress_poppler_qt4_SOURCES) \
$(stress_threads_qt4_SOURCES) $(test_password_qt4_SOURCES) \
- $(test_poppler_qt4_SOURCES)
+ $(test_poppler_qt4_SOURCES) $(test_render_to_file_SOURCES)
am__can_run_installinfo = \
case $$AM_UPDATE_INFO_DIR in \
n|no|NO) false;; \
@@ -624,6 +628,7 @@ GLIB_REQ = @GLIB_REQ@
GLIB_REQUIRED = @GLIB_REQUIRED@
GREP = @GREP@
GTKDOC_CHECK = @GTKDOC_CHECK@
+GTKDOC_CHECK_PATH = @GTKDOC_CHECK_PATH@
GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
GTKDOC_MKPDF = @GTKDOC_MKPDF@
@@ -660,7 +665,6 @@ LIBPNG_CFLAGS = @LIBPNG_CFLAGS@
LIBPNG_LIBS = @LIBPNG_LIBS@
LIBS = @LIBS@
LIBTIFF_CFLAGS = @LIBTIFF_CFLAGS@
-LIBTIFF_CFLAGSS = @LIBTIFF_CFLAGSS@
LIBTIFF_LIBS = @LIBTIFF_LIBS@
LIBTOOL = @LIBTOOL@
LIPO = @LIPO@
@@ -805,6 +809,10 @@ test_poppler_qt4_SOURCES = \
test-poppler-qt4.cpp
test_poppler_qt4_LDADD = $(LDADDS)
+test_render_to_file_SOURCES = \
+ test-render-to-file.cpp
+
+test_render_to_file_LDADD = $(LDADDS)
test_password_qt4_SOURCES = \
test-password-qt4.cpp
@@ -1022,6 +1030,10 @@ test-poppler-qt4$(EXEEXT): $(test_poppler_qt4_OBJECTS) $(test_poppler_qt4_DEPEND
@rm -f test-poppler-qt4$(EXEEXT)
$(AM_V_CXXLD)$(CXXLINK) $(test_poppler_qt4_OBJECTS) $(test_poppler_qt4_LDADD) $(LIBS)
+test-render-to-file$(EXEEXT): $(test_render_to_file_OBJECTS) $(test_render_to_file_DEPENDENCIES) $(EXTRA_test_render_to_file_DEPENDENCIES)
+ @rm -f test-render-to-file$(EXEEXT)
+ $(AM_V_CXXLD)$(CXXLINK) $(test_render_to_file_OBJECTS) $(test_render_to_file_LDADD) $(LIBS)
+
mostlyclean-compile:
-rm -f *.$(OBJEXT)
@@ -1053,6 +1065,7 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/stress-threads-qt4.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-password-qt4.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-poppler-qt4.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-render-to-file.Po@am__quote@
.cpp.o:
@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
diff --git a/qt4/tests/check_goostring.cpp b/qt4/tests/check_goostring.cpp
index 07999b5d..69f7cdc5 100644
--- a/qt4/tests/check_goostring.cpp
+++ b/qt4/tests/check_goostring.cpp
@@ -1,3 +1,4 @@
+#include <QtCore/QScopedPointer>
#include <QtTest/QtTest>
#include "goo/GooString.h"
@@ -9,6 +10,7 @@ private slots:
void testInsertData_data();
void testInsertData();
void testInsert();
+ void testFormat();
};
void TestGooString::testInsertData_data()
@@ -56,6 +58,70 @@ void TestGooString::testInsert()
}
}
+void TestGooString::testFormat()
+{
+ {
+ const QScopedPointer<GooString> goo(GooString::format("{0:d},{1:x}", 1, 0xF));
+ QCOMPARE(goo->getCString(), "1,f");
+ }
+ {
+ const QScopedPointer<GooString> goo(GooString::format("{0:d},{0:x},{0:X},{0:o},{0:b},{0:w}", 0xA));
+ QCOMPARE(goo->getCString(), "10,a,A,12,1010, ");
+ }
+ {
+ const QScopedPointer<GooString> goo(GooString::format("{0:d},{0:x},{0:X},{0:o},{0:b}", -0xA));
+ QCOMPARE(goo->getCString(), "-10,-a,-A,-12,-1010");
+ }
+ {
+ const QScopedPointer<GooString> goo(GooString::format("{0:c}{1:c}{2:c}{3:c}",
+ 'T', (char)'E', (short)'S', (int)'T'));
+ QCOMPARE(goo->getCString(), "TEST");
+
+ const QScopedPointer<GooString> goo2(GooString::format("{0:s} {1:t}", "TEST", goo.data()));
+ QCOMPARE(goo2->getCString(), "TEST TEST");
+ }
+ {
+ const QScopedPointer<GooString> goo(GooString::format("{0:ud} {1:d} {2:d}",
+ UINT_MAX, INT_MAX, INT_MIN));
+ const QByteArray expected = QString("%1 %2 %3").arg(UINT_MAX).arg(INT_MAX).arg(INT_MIN).toLatin1();
+ QCOMPARE(goo->getCString(), expected.constData());
+ }
+ {
+ const QScopedPointer<GooString> goo(GooString::format("{0:uld} {1:ld} {2:ld}",
+ ULONG_MAX, LONG_MAX, LONG_MIN));
+ const QByteArray expected = QString("%1 %2 %3").arg(ULONG_MAX).arg(LONG_MAX).arg(LONG_MIN).toLatin1();
+ QCOMPARE(goo->getCString(), expected.constData());
+ }
+ {
+ const QScopedPointer<GooString> goo(GooString::format("{0:ulld} {1:lld} {2:lld}",
+ ULLONG_MAX, LLONG_MAX, LLONG_MIN));
+ const QByteArray expected = QString("%1 %2 %3").arg(ULLONG_MAX).arg(LLONG_MAX).arg(LLONG_MIN).toLatin1();
+ QCOMPARE(goo->getCString(), expected.constData());
+ }
+ {
+ const QScopedPointer<GooString> gooD(GooString::format("{0:.1f} {0:.1g} {0:.1gs} | {1:.1f} {1:.1g} {1:.1gs}", 1., .012));
+ const QScopedPointer<GooString> gooF(GooString::format("{0:.1f} {0:.1g} {0:.1gs} | {1:.1f} {1:.1g} {1:.1gs}", 1.f, .012f));
+ QCOMPARE(gooD->getCString(), "1.0 1 1 | 0.0 0 0.01");
+ QCOMPARE(gooF->getCString(), "1.0 1 1 | 0.0 0 0.01");
+ }
+ {
+ const QScopedPointer<GooString> goo(GooString::format("{0:.4f} {0:.4g} {0:.4gs}", .012));
+ QCOMPARE(goo->getCString(), "0.0120 0.012 0.012");
+ }
+ {
+ const QScopedPointer<GooString> goo(GooString::format("{{ SomeText {0:d} }}", 1));
+ QCOMPARE(goo->getCString(), "{ SomeText 1 }");
+ }
+ {
+ const QScopedPointer<GooString> goo(GooString::format("{{{{ {{ SomeText {0:d}", 2));
+ QCOMPARE(goo->getCString(), "{{ { SomeText 2");
+ }
+ {
+ const QScopedPointer<GooString> goo(GooString::format("SomeText {0:d} }} }}}}", 3));
+ QCOMPARE(goo->getCString(), "SomeText 3 } }}");
+ }
+}
+
QTEST_MAIN(TestGooString)
#include "check_goostring.moc"
diff --git a/qt4/tests/stress-threads-qt4.cpp b/qt4/tests/stress-threads-qt4.cpp
index d4d5fa05..22f7f1e2 100644
--- a/qt4/tests/stress-threads-qt4.cpp
+++ b/qt4/tests/stress-threads-qt4.cpp
@@ -1,5 +1,10 @@
+#ifndef _WIN32
#include <unistd.h>
+#else
+#include <Windows.h>
+#define sleep Sleep
+#endif
#include <time.h>
#include <poppler-qt4.h>
diff --git a/qt4/tests/test-render-to-file.cpp b/qt4/tests/test-render-to-file.cpp
new file mode 100644
index 00000000..b01aa03c
--- /dev/null
+++ b/qt4/tests/test-render-to-file.cpp
@@ -0,0 +1,69 @@
+#include <QtCore/QDebug>
+#include <QtCore/QFile>
+#include <QtGui/QApplication>
+#include <QtGui/QImage>
+
+#include <poppler-qt4.h>
+
+int main( int argc, char **argv )
+{
+ QApplication a( argc, argv ); // QApplication required!
+
+ if ( argc < 2 ||
+ (argc == 3 && strcmp(argv[2], "-arthur") != 0) ||
+ argc > 3)
+ {
+ // use argument as file name
+ qWarning() << "usage: test-poppler-qt4 filename [-arthur]";
+ exit(1);
+ }
+
+ Poppler::Document *doc = Poppler::Document::load(QFile::decodeName(argv[1]));
+ if (!doc)
+ {
+ qWarning() << "doc not loaded";
+ exit(1);
+ }
+
+ if (doc->isLocked())
+ {
+ qWarning() << "document locked (needs password)";
+ exit(0);
+ }
+
+ if (doc->numPages() <= 0)
+ {
+ delete doc;
+ qDebug() << "Doc has no pages";
+ return 0;
+ }
+
+ QString backendString;
+ if (argc == 3 && strcmp(argv[2], "-arthur") == 0)
+ {
+ backendString = "Arthur";
+ doc->setRenderBackend(Poppler::Document::ArthurBackend);
+ }
+ else
+ {
+ backendString = "Splash";
+ doc->setRenderBackend(Poppler::Document::SplashBackend);
+ }
+ doc->setRenderHint(Poppler::Document::Antialiasing, true);
+ doc->setRenderHint(Poppler::Document::TextAntialiasing, true);
+
+ for (int i = 0; i < doc->numPages(); ++i)
+ {
+ Poppler::Page *page = doc->page(i);
+ if (page) {
+ qDebug() << "Rendering page using" << backendString << "backend: " << i;
+ QTime t = QTime::currentTime();
+ QImage image = page->renderToImage();
+ qDebug() << "Rendering took" << t.msecsTo(QTime::currentTime()) << "msecs";
+ image.save(QString("test-rennder-to-file%1.ppm").arg(i));
+ delete page;
+ }
+ }
+
+ return 0;
+}
diff --git a/qt5/Makefile.in b/qt5/Makefile.in
index 0b57687c..1ace8542 100644
--- a/qt5/Makefile.in
+++ b/qt5/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.13.3 from Makefile.am.
+# Makefile.in generated by automake 1.14.1 from Makefile.am.
# @configure_input@
# Copyright (C) 1994-2013 Free Software Foundation, Inc.
@@ -220,6 +220,7 @@ GLIB_REQ = @GLIB_REQ@
GLIB_REQUIRED = @GLIB_REQUIRED@
GREP = @GREP@
GTKDOC_CHECK = @GTKDOC_CHECK@
+GTKDOC_CHECK_PATH = @GTKDOC_CHECK_PATH@
GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
GTKDOC_MKPDF = @GTKDOC_MKPDF@
@@ -256,7 +257,6 @@ LIBPNG_CFLAGS = @LIBPNG_CFLAGS@
LIBPNG_LIBS = @LIBPNG_LIBS@
LIBS = @LIBS@
LIBTIFF_CFLAGS = @LIBTIFF_CFLAGS@
-LIBTIFF_CFLAGSS = @LIBTIFF_CFLAGSS@
LIBTIFF_LIBS = @LIBTIFF_LIBS@
LIBTOOL = @LIBTOOL@
LIPO = @LIPO@
diff --git a/qt5/demos/Makefile.in b/qt5/demos/Makefile.in
index 94611248..2b90403c 100644
--- a/qt5/demos/Makefile.in
+++ b/qt5/demos/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.13.3 from Makefile.am.
+# Makefile.in generated by automake 1.14.1 from Makefile.am.
# @configure_input@
# Copyright (C) 1994-2013 Free Software Foundation, Inc.
@@ -238,6 +238,7 @@ GLIB_REQ = @GLIB_REQ@
GLIB_REQUIRED = @GLIB_REQUIRED@
GREP = @GREP@
GTKDOC_CHECK = @GTKDOC_CHECK@
+GTKDOC_CHECK_PATH = @GTKDOC_CHECK_PATH@
GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
GTKDOC_MKPDF = @GTKDOC_MKPDF@
@@ -274,7 +275,6 @@ LIBPNG_CFLAGS = @LIBPNG_CFLAGS@
LIBPNG_LIBS = @LIBPNG_LIBS@
LIBS = @LIBS@
LIBTIFF_CFLAGS = @LIBTIFF_CFLAGS@
-LIBTIFF_CFLAGSS = @LIBTIFF_CFLAGSS@
LIBTIFF_LIBS = @LIBTIFF_LIBS@
LIBTOOL = @LIBTOOL@
LIPO = @LIPO@
diff --git a/qt5/src/ArthurOutputDev.cc b/qt5/src/ArthurOutputDev.cc
index 5d57e933..05c95baf 100644
--- a/qt5/src/ArthurOutputDev.cc
+++ b/qt5/src/ArthurOutputDev.cc
@@ -14,13 +14,14 @@
// under GPL version 2 or later
//
// Copyright (C) 2005 Brad Hards <bradh@frogmouth.net>
-// Copyright (C) 2005-2009, 2011, 2012 Albert Astals Cid <aacid@kde.org>
+// Copyright (C) 2005-2009, 2011, 2012, 2014 Albert Astals Cid <aacid@kde.org>
// Copyright (C) 2008, 2010 Pino Toscano <pino@kde.org>
// Copyright (C) 2009, 2011 Carlos Garcia Campos <carlosgc@gnome.org>
// Copyright (C) 2009 Petr Gajdos <pgajdos@novell.com>
// Copyright (C) 2010 Matthias Fauconneau <matthias.fauconneau@gmail.com>
// Copyright (C) 2011 Andreas Hartmetz <ahartmetz@gmail.com>
// Copyright (C) 2013 Thomas Freitag <Thomas.Freitag@alfa.de>
+// Copyright (C) 2013 Dominik Haumann <dhaumann@kde.org>
//
// To see a description of the changes please see the Changelog file that
// came with your tarball or type make ChangeLog if you are building from git
@@ -278,7 +279,7 @@ void ArthurOutputDev::updateFont(GfxState *state)
Object refObj, strObj;
GooString *fileName;
char *tmpBuf;
- int tmpBufLen;
+ int tmpBufLen = 0;
int *codeToGID;
double *textMat;
double m11, m12, m21, m22, fontSize;
@@ -593,10 +594,15 @@ void ArthurOutputDev::drawChar(GfxState *state, double x, double y,
QPainterPath qPath;
qPath.setFillRule(Qt::WindingFill);
for (int i = 0; i < fontPath->length; ++i) {
+ // SplashPath.flags: bitwise or allowed
+ if (fontPath->flags[i] & splashPathLast || fontPath->flags[i] & splashPathClosed) {
+ qPath.closeSubpath();
+ }
if (fontPath->flags[i] & splashPathFirst) {
state->transform(fontPath->pts[i].x+x, -fontPath->pts[i].y+y, &x1, &y1);
qPath.moveTo(x1,y1);
- } else if (fontPath->flags[i] & splashPathCurve) {
+ }
+ if (fontPath->flags[i] & splashPathCurve) {
state->transform(fontPath->pts[i].x+x, -fontPath->pts[i].y+y, &x1, &y1);
state->transform(fontPath->pts[i+1].x+x, -fontPath->pts[i+1].y+y, &x2, &y2);
qPath.quadTo(x1,y1,x2,y2);
@@ -610,20 +616,14 @@ void ArthurOutputDev::drawChar(GfxState *state, double x, double y,
state->transform(fontPath->pts[i].x+x, -fontPath->pts[i].y+y, &x1, &y1);
qPath.lineTo(x1,y1);
}
- if (fontPath->flags[i] & splashPathLast) {
- qPath.closeSubpath();
- }
}
GfxRGB rgb;
QColor brushColour = m_currentBrush.color();
state->getFillRGB(&rgb);
brushColour.setRgbF(colToDbl(rgb.r), colToDbl(rgb.g), colToDbl(rgb.b), state->getFillOpacity());
m_painter->setBrush(brushColour);
- QColor penColour = m_currentPen.color();
- state->getStrokeRGB(&rgb);
- penColour.setRgbF(colToDbl(rgb.r), colToDbl(rgb.g), colToDbl(rgb.b), state->getStrokeOpacity());
- m_painter->setPen(penColour);
- m_painter->drawPath( qPath );
+ m_painter->setPen(Qt::NoPen);
+ m_painter->drawPath(qPath);
delete fontPath;
}
}
diff --git a/qt5/src/CMakeLists.txt b/qt5/src/CMakeLists.txt
index 8679ae03..439c1d4d 100644
--- a/qt5/src/CMakeLists.txt
+++ b/qt5/src/CMakeLists.txt
@@ -32,7 +32,7 @@ set(poppler_qt5_SRCS
ArthurOutputDev.cc
)
add_library(poppler-qt5 SHARED ${poppler_qt5_SRCS})
-set_target_properties(poppler-qt5 PROPERTIES VERSION 1.0.0 SOVERSION 1)
+set_target_properties(poppler-qt5 PROPERTIES VERSION 1.1.0 SOVERSION 1)
target_link_libraries(poppler-qt5 poppler ${Qt5Core_LIBRARIES} ${Qt5Gui_LIBRARIES} ${Qt5Xml_LIBRARIES})
if(MSVC)
target_link_libraries(poppler-qt5 poppler ${poppler_LIBS})
diff --git a/qt5/src/Makefile.am b/qt5/src/Makefile.am
index e892f04d..81dba68e 100644
--- a/qt5/src/Makefile.am
+++ b/qt5/src/Makefile.am
@@ -62,7 +62,7 @@ libpoppler_qt5_la_LIBADD = \
$(top_builddir)/poppler/libpoppler.la \
$(POPPLER_QT5_LIBS)
-libpoppler_qt5_la_LDFLAGS = -version-info 1:0:0 @create_shared_lib@ @auto_import_flags@
+libpoppler_qt5_la_LDFLAGS = -version-info 2:0:1 @create_shared_lib@ @auto_import_flags@
# This rule lets GNU make create any *.moc from the equivalent *.h
.h.moc:
diff --git a/qt5/src/Makefile.in b/qt5/src/Makefile.in
index 58793d50..ac97bc03 100644
--- a/qt5/src/Makefile.in
+++ b/qt5/src/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.13.3 from Makefile.am.
+# Makefile.in generated by automake 1.14.1 from Makefile.am.
# @configure_input@
# Copyright (C) 1994-2013 Free Software Foundation, Inc.
@@ -284,6 +284,7 @@ GLIB_REQ = @GLIB_REQ@
GLIB_REQUIRED = @GLIB_REQUIRED@
GREP = @GREP@
GTKDOC_CHECK = @GTKDOC_CHECK@
+GTKDOC_CHECK_PATH = @GTKDOC_CHECK_PATH@
GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
GTKDOC_MKPDF = @GTKDOC_MKPDF@
@@ -320,7 +321,6 @@ LIBPNG_CFLAGS = @LIBPNG_CFLAGS@
LIBPNG_LIBS = @LIBPNG_LIBS@
LIBS = @LIBS@
LIBTIFF_CFLAGS = @LIBTIFF_CFLAGS@
-LIBTIFF_CFLAGSS = @LIBTIFF_CFLAGSS@
LIBTIFF_LIBS = @LIBTIFF_LIBS@
LIBTOOL = @LIBTOOL@
LIPO = @LIPO@
@@ -508,7 +508,7 @@ libpoppler_qt5_la_LIBADD = \
$(top_builddir)/poppler/libpoppler.la \
$(POPPLER_QT5_LIBS)
-libpoppler_qt5_la_LDFLAGS = -version-info 1:0:0 @create_shared_lib@ @auto_import_flags@
+libpoppler_qt5_la_LDFLAGS = -version-info 2:0:1 @create_shared_lib@ @auto_import_flags@
BUILT_SOURCES = poppler-optcontent.moc
all: $(BUILT_SOURCES)
$(MAKE) $(AM_MAKEFLAGS) all-am
diff --git a/qt5/src/poppler-annotation.cc b/qt5/src/poppler-annotation.cc
index 052e0603..e6d331df 100644
--- a/qt5/src/poppler-annotation.cc
+++ b/qt5/src/poppler-annotation.cc
@@ -2,7 +2,7 @@
* Copyright (C) 2006, 2009, 2012, 2013 Albert Astals Cid <aacid@kde.org>
* Copyright (C) 2006, 2008, 2010 Pino Toscano <pino@kde.org>
* Copyright (C) 2012, Guillermo A. Amaral B. <gamaral@kde.org>
- * Copyright (C) 2012, 2013 Fabio D'Urso <fabiodurso@hotmail.it>
+ * Copyright (C) 2012-2014 Fabio D'Urso <fabiodurso@hotmail.it>
* Copyright (C) 2012, Tobias Koenig <tokoe@kdab.com>
* Adapting code from
* Copyright (C) 2004 by Enrico Ros <eros.kde@email.it>
@@ -383,7 +383,7 @@ QList<Annotation*> AnnotationPrivate::findAnnotations(::Page *pdfPage, DocumentD
Annot * ann = annots->getAnnot( j );
if ( !ann )
{
- error(errInternal, -1, "Annot %u is null", j);
+ error(errInternal, -1, "Annot {0:ud} is null", j);
continue;
}
@@ -536,7 +536,7 @@ QList<Annotation*> AnnotationPrivate::findAnnotations(::Page *pdfPage, DocumentD
CASE_FOR_TYPE( TrapNet )
CASE_FOR_TYPE( Watermark )
CASE_FOR_TYPE( 3D )
- default: error(errUnimplemented, -1, "Annotation %u not supported", subType);
+ default: error(errUnimplemented, -1, "Annotation {0:d} not supported", subType);
}
continue;
#undef CASE_FOR_TYPE
@@ -2049,7 +2049,7 @@ void TextAnnotation::setInplaceIntent( TextAnnotation::InplaceIntent intent )
{
Q_D( TextAnnotation );
- if (d->pdfAnnot)
+ if (!d->pdfAnnot)
{
d->inplaceIntent = intent;
return;
@@ -3644,7 +3644,8 @@ void LinkAnnotation::store( QDomNode & node, QDomDocument & document ) const
Poppler::LinkGoto * go = static_cast< Poppler::LinkGoto * >( linkDestination() );
hyperlinkElement.setAttribute( "type", "GoTo" );
hyperlinkElement.setAttribute( "filename", go->fileName() );
- hyperlinkElement.setAttribute( "destionation", go->destination().toString() );
+ hyperlinkElement.setAttribute( "destionation", go->destination().toString() ); // TODO remove for poppler 0.28
+ hyperlinkElement.setAttribute( "destination", go->destination().toString() );
break;
}
case Poppler::Link::Execute:
diff --git a/qt5/src/poppler-document.cc b/qt5/src/poppler-document.cc
index af1804ee..21f0633a 100644
--- a/qt5/src/poppler-document.cc
+++ b/qt5/src/poppler-document.cc
@@ -7,6 +7,7 @@
* Copyright (C) 2012 Koji Otani <sho@bbr.jp>
* Copyright (C) 2012, 2013 Thomas Freitag <Thomas.Freitag@alfa.de>
* Copyright (C) 2012 Fabio D'Urso <fabiodurso@hotmail.it>
+ * Copyright (C) 2014 Adam Reichold <adamreichold@myopera.com>
*
* 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
@@ -32,6 +33,7 @@
#include <PDFDoc.h>
#include <Stream.h>
#include <Catalog.h>
+#include <ViewerPreferences.h>
#include <DateInfo.h>
#include <GfxState.h>
@@ -193,6 +195,21 @@ namespace Poppler {
}
}
+ Qt::LayoutDirection Document::textDirection() const
+ {
+ if (!m_doc->doc->getCatalog()->getViewerPreferences())
+ return Qt::LayoutDirectionAuto;
+
+ switch (m_doc->doc->getCatalog()->getViewerPreferences()->getDirection()) {
+ case ViewerPreferences::directionL2R:
+ return Qt::LeftToRight;
+ case ViewerPreferences::directionR2L:
+ return Qt::RightToLeft;
+ default:
+ return Qt::LayoutDirectionAuto;
+ }
+ }
+
int Document::numPages() const
{
return m_doc->doc->getNumPages();
@@ -255,6 +272,8 @@ namespace Poppler {
return QString();
QScopedPointer<XRef> xref(m_doc->doc->getXRef()->copy());
+ if (!xref)
+ return QString();
xref->getDocInfo(&info);
if ( !info.isDict() )
return QString();
@@ -286,6 +305,8 @@ namespace Poppler {
return QStringList();
QScopedPointer<XRef> xref(m_doc->doc->getXRef()->copy());
+ if (!xref)
+ return QStringList();
xref->getDocInfo(&info);
if ( !info.isDict() )
return QStringList();
@@ -309,6 +330,8 @@ namespace Poppler {
Object info;
QScopedPointer<XRef> xref(m_doc->doc->getXRef()->copy());
+ if (!xref)
+ return QDateTime();
xref->getDocInfo(&info);
if ( !info.isDict() ) {
info.free();
diff --git a/qt5/src/poppler-export.h b/qt5/src/poppler-export.h
index fdce95c7..24a4b177 100644
--- a/qt5/src/poppler-export.h
+++ b/qt5/src/poppler-export.h
@@ -3,15 +3,18 @@
* This is needed for setting the visibility on windows, it will have no effect on other platforms.
*/
#if defined(_WIN32)
-# define LIB_EXPORT __declspec(dllexport)
-# define LIB_IMPORT __declspec(dllimport)
+# define _POPPLER_QT5_LIB_EXPORT __declspec(dllexport)
+# define _POPPLER_QT5_LIB_IMPORT __declspec(dllimport)
+#elif defined(__GNUC__)
+# define _POPPLER_QT5_LIB_EXPORT __attribute__((visibility("default")))
+# define _POPPLER_QT5_LIB_IMPORT
#else
-# define LIB_EXPORT
-# define LIB_IMPORT
+# define _POPPLER_QT5_LIB_EXPORT
+# define _POPPLER_QT5_LIB_IMPORT
#endif
#ifdef poppler_qt5_EXPORTS
-# define POPPLER_QT5_EXPORT LIB_EXPORT
+# define POPPLER_QT5_EXPORT _POPPLER_QT5_LIB_EXPORT
#else
-# define POPPLER_QT5_EXPORT LIB_IMPORT
+# define POPPLER_QT5_EXPORT _POPPLER_QT5_LIB_IMPORT
#endif
diff --git a/qt5/src/poppler-optcontent.cc b/qt5/src/poppler-optcontent.cc
index 5af37c87..7c0513b0 100644
--- a/qt5/src/poppler-optcontent.cc
+++ b/qt5/src/poppler-optcontent.cc
@@ -1,7 +1,7 @@
/* poppler-optcontent.cc: qt interface to poppler
*
* Copyright (C) 2007, Brad Hards <bradh@kde.org>
- * Copyright (C) 2008, Pino Toscano <pino@kde.org>
+ * Copyright (C) 2008, 2014, Pino Toscano <pino@kde.org>
* Copyright (C) 2008, Carlos Garcia Campos <carlosgc@gnome.org>
*
* This program is free software; you can redistribute it and/or modify
@@ -171,8 +171,7 @@ namespace Poppler
QMapIterator<QString, OptContentItem*> i(m_optContentItems);
while ( i.hasNext() ) {
i.next();
- qDebug() << "iterator" << i.key() << ":" << i.value();
- addChild( i.value(), m_rootNode );
+ addChild( m_rootNode, i.value() );
}
} else {
parseOrderArray( m_rootNode, optContent->getOrderArray() );
diff --git a/qt5/src/poppler-private.cc b/qt5/src/poppler-private.cc
index 1e47c6d8..91dc2aa5 100644
--- a/qt5/src/poppler-private.cc
+++ b/qt5/src/poppler-private.cc
@@ -1,7 +1,7 @@
/* poppler-private.cc: qt interface to poppler
* Copyright (C) 2005, Net Integration Technologies, Inc.
* Copyright (C) 2006, 2011 by Albert Astals Cid <aacid@kde.org>
- * Copyright (C) 2008, 2010, 2011 by Pino Toscano <pino@kde.org>
+ * Copyright (C) 2008, 2010, 2011, 2014 by Pino Toscano <pino@kde.org>
* Copyright (C) 2013 by Thomas Freitag <Thomas.Freitag@alfa.de>
* Copyright (C) 2013 Adrian Johnson <ajohnson@redneon.com>
* Inspired on code by
@@ -228,7 +228,6 @@ namespace Debug {
qDeleteAll(m_embeddedFiles);
delete (OptContentModel *)m_optContentModel;
delete doc;
- delete m_fontInfoIterator;
count --;
if ( count == 0 )
@@ -240,7 +239,6 @@ namespace Debug {
void DocumentData::init()
{
- m_fontInfoIterator = 0;
m_backend = Document::SplashBackend;
paperColor = Qt::white;
m_hints = 0;
diff --git a/qt5/src/poppler-private.h b/qt5/src/poppler-private.h
index 0a132f07..df6290b9 100644
--- a/qt5/src/poppler-private.h
+++ b/qt5/src/poppler-private.h
@@ -2,11 +2,13 @@
* Copyright (C) 2005, Net Integration Technologies, Inc.
* Copyright (C) 2005, 2008, Brad Hards <bradh@frogmouth.net>
* Copyright (C) 2006-2009, 2011, 2012 by Albert Astals Cid <aacid@kde.org>
- * Copyright (C) 2007-2009, 2011 by Pino Toscano <pino@kde.org>
+ * Copyright (C) 2007-2009, 2011, 2014 by Pino Toscano <pino@kde.org>
* Copyright (C) 2011 Andreas Hartmetz <ahartmetz@gmail.com>
* Copyright (C) 2011 Hib Eris <hib@hiberis.nl>
* Copyright (C) 2012, 2013 Thomas Freitag <Thomas.Freitag@alfa.de>
* Copyright (C) 2013 Anthony Granger <grangeranthony@gmail.com>
+ * Copyright (C) 2014 Bogdan Cristea <cristeab@gmail.com>
+ * Copyright (C) 2014 Aki Koskinen <freedesktop@akikoskinen.info>
* Inspired on code by
* Copyright (C) 2004 by Albert Astals Cid <tsdgeos@terra.es>
* Copyright (C) 2004 by Enrico Ros <eros.kde@email.it>
@@ -84,11 +86,8 @@ namespace Poppler {
init();
m_filePath = filePath;
-#if defined(_WIN32)
- wchar_t *fileName = new WCHAR[filePath.length()];
- int length = filePath.toWCharArray(fileName);
- doc = new PDFDoc(fileName, length, ownerPassword, userPassword);
- delete[] fileName;
+#ifdef _WIN32
+ doc = new PDFDoc((wchar_t *)filePath.utf16(), filePath.length(), ownerPassword, userPassword);
#else
GooString *fileName = new GooString(QFile::encodeName(filePath));
doc = new PDFDoc(fileName, ownerPassword, userPassword);
@@ -123,7 +122,6 @@ namespace Poppler {
void fillMembers()
{
- m_fontInfoIterator = new FontIterator(0, this);
int numEmb = doc->getCatalog()->numEmbeddedFiles();
if (!(0 == numEmb)) {
// we have some embedded documents, build the list
@@ -140,7 +138,6 @@ namespace Poppler {
QString m_filePath;
QByteArray fileContents;
bool locked;
- FontIterator *m_fontInfoIterator;
Document::RenderBackend m_backend;
QList<EmbeddedFile*> m_embeddedFiles;
QPointer<OptContentModel> m_optContentModel;
diff --git a/qt5/src/poppler-ps-converter.cc b/qt5/src/poppler-ps-converter.cc
index 30f53fae..0e81b709 100644
--- a/qt5/src/poppler-ps-converter.cc
+++ b/qt5/src/poppler-ps-converter.cc
@@ -5,6 +5,7 @@
* Copyright (C) 2011 Glad Deschrijver <glad.deschrijver@gmail.com>
* Copyright (C) 2012 Fabio D'Urso <fabiodurso@hotmail.it>
* Copyright (C) 2013 Thomas Freitag <Thomas.Freitag@alfa.de>
+ * Copyright (C) 2014 Adrian Johnson <ajohnson@redneon.com>
*
* 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
@@ -224,6 +225,7 @@ bool PSConverter::convert()
d->paperWidth,
d->paperHeight,
gFalse,
+ gFalse,
d->marginLeft,
d->marginBottom,
d->paperWidth - d->marginRight,
diff --git a/qt5/src/poppler-qt5.h b/qt5/src/poppler-qt5.h
index 0eb0b44a..6f360888 100644
--- a/qt5/src/poppler-qt5.h
+++ b/qt5/src/poppler-qt5.h
@@ -12,7 +12,7 @@
* Copyright (C) 2012, Guillermo A. Amaral B. <gamaral@kde.org>
* Copyright (C) 2012, Fabio D'Urso <fabiodurso@hotmail.it>
* Copyright (C) 2012, Tobias Koenig <tobias.koenig@kdab.com>
- * Copyright (C) 2012 Adam Reichold <adamreichold@myopera.com>
+ * Copyright (C) 2012, 2014 Adam Reichold <adamreichold@myopera.com>
* Copyright (C) 2012, 2013 Thomas Freitag <Thomas.Freitag@alfa.de>
* Copyright (C) 2013 Anthony Granger <grangeranthony@gmail.com>
*
@@ -979,6 +979,14 @@ delete it;
PageLayout pageLayout() const;
/**
+ The predominant reading order for text as supplied by
+ the document's viewer preferences.
+
+ \since 0.26
+ */
+ Qt::LayoutDirection textDirection() const;
+
+ /**
Provide the passwords required to unlock the document
\param ownerPassword the Latin1-encoded owner password to use in
diff --git a/qt5/tests/CMakeLists.txt b/qt5/tests/CMakeLists.txt
index dfeb1fb9..ae0bd6c0 100644
--- a/qt5/tests/CMakeLists.txt
+++ b/qt5/tests/CMakeLists.txt
@@ -47,6 +47,7 @@ endmacro(QT5_ADD_QTEST)
qt5_add_simpletest(test-poppler-qt5 test-poppler-qt5.cpp)
qt5_add_simpletest(test-password-qt5 test-password-qt5.cpp)
+qt5_add_simpletest(test-render-to-file test-render-to-file.cpp)
qt5_add_simpletest(poppler-forms poppler-forms.cpp)
qt5_add_simpletest(poppler-fonts poppler-fonts.cpp)
qt5_add_simpletest(poppler_attachments poppler-attachments.cpp)
diff --git a/qt5/tests/Makefile.am b/qt5/tests/Makefile.am
index be9fa446..b3eecef4 100644
--- a/qt5/tests/Makefile.am
+++ b/qt5/tests/Makefile.am
@@ -20,7 +20,7 @@ SUFFIXES: .moc
noinst_PROGRAMS = test-poppler-qt5 stress-poppler-qt5 \
poppler-fonts test-password-qt5 stress-poppler-dir \
poppler-attachments poppler-texts poppler-forms \
- stress-threads-qt5
+ stress-threads-qt5 test-render-to-file
test_poppler_qt5_SOURCES = \
@@ -29,6 +29,12 @@ test_poppler_qt5_SOURCES = \
test_poppler_qt5_LDADD = $(LDADDS)
+test_render_to_file_SOURCES = \
+ test-render-to-file.cpp
+
+test_render_to_file_LDADD = $(LDADDS)
+
+
test_password_qt5_SOURCES = \
test-password-qt5.cpp
diff --git a/qt5/tests/Makefile.in b/qt5/tests/Makefile.in
index c4c71741..4da14653 100644
--- a/qt5/tests/Makefile.in
+++ b/qt5/tests/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.13.3 from Makefile.am.
+# Makefile.in generated by automake 1.14.1 from Makefile.am.
# @configure_input@
# Copyright (C) 1994-2013 Free Software Foundation, Inc.
@@ -82,7 +82,8 @@ noinst_PROGRAMS = test-poppler-qt5$(EXEEXT) \
stress-poppler-qt5$(EXEEXT) poppler-fonts$(EXEEXT) \
test-password-qt5$(EXEEXT) stress-poppler-dir$(EXEEXT) \
poppler-attachments$(EXEEXT) poppler-texts$(EXEEXT) \
- poppler-forms$(EXEEXT) stress-threads-qt5$(EXEEXT)
+ poppler-forms$(EXEEXT) stress-threads-qt5$(EXEEXT) \
+ test-render-to-file$(EXEEXT)
@BUILD_POPPLER_QT5_TRUE@TESTS = check_attachments$(EXEEXT) \
@BUILD_POPPLER_QT5_TRUE@ check_actualtext$(EXEEXT) \
@BUILD_POPPLER_QT5_TRUE@ check_dateConversion$(EXEEXT) \
@@ -282,6 +283,9 @@ test_password_qt5_DEPENDENCIES = $(am__DEPENDENCIES_2)
am_test_poppler_qt5_OBJECTS = test-poppler-qt5.$(OBJEXT)
test_poppler_qt5_OBJECTS = $(am_test_poppler_qt5_OBJECTS)
test_poppler_qt5_DEPENDENCIES = $(am__DEPENDENCIES_2)
+am_test_render_to_file_OBJECTS = test-render-to-file.$(OBJEXT)
+test_render_to_file_OBJECTS = $(am_test_render_to_file_OBJECTS)
+test_render_to_file_DEPENDENCIES = $(am__DEPENDENCIES_2)
AM_V_P = $(am__v_P_@AM_V@)
am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
am__v_P_0 = false
@@ -328,7 +332,7 @@ SOURCES = $(check_actualtext_SOURCES) $(check_attachments_SOURCES) \
$(poppler_forms_SOURCES) $(poppler_texts_SOURCES) \
$(stress_poppler_dir_SOURCES) $(stress_poppler_qt5_SOURCES) \
$(stress_threads_qt5_SOURCES) $(test_password_qt5_SOURCES) \
- $(test_poppler_qt5_SOURCES)
+ $(test_poppler_qt5_SOURCES) $(test_render_to_file_SOURCES)
DIST_SOURCES = $(am__check_actualtext_SOURCES_DIST) \
$(am__check_attachments_SOURCES_DIST) \
$(am__check_dateConversion_SOURCES_DIST) \
@@ -349,7 +353,7 @@ DIST_SOURCES = $(am__check_actualtext_SOURCES_DIST) \
$(poppler_forms_SOURCES) $(poppler_texts_SOURCES) \
$(stress_poppler_dir_SOURCES) $(stress_poppler_qt5_SOURCES) \
$(stress_threads_qt5_SOURCES) $(test_password_qt5_SOURCES) \
- $(test_poppler_qt5_SOURCES)
+ $(test_poppler_qt5_SOURCES) $(test_render_to_file_SOURCES)
am__can_run_installinfo = \
case $$AM_UPDATE_INFO_DIR in \
n|no|NO) false;; \
@@ -624,6 +628,7 @@ GLIB_REQ = @GLIB_REQ@
GLIB_REQUIRED = @GLIB_REQUIRED@
GREP = @GREP@
GTKDOC_CHECK = @GTKDOC_CHECK@
+GTKDOC_CHECK_PATH = @GTKDOC_CHECK_PATH@
GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
GTKDOC_MKPDF = @GTKDOC_MKPDF@
@@ -660,7 +665,6 @@ LIBPNG_CFLAGS = @LIBPNG_CFLAGS@
LIBPNG_LIBS = @LIBPNG_LIBS@
LIBS = @LIBS@
LIBTIFF_CFLAGS = @LIBTIFF_CFLAGS@
-LIBTIFF_CFLAGSS = @LIBTIFF_CFLAGSS@
LIBTIFF_LIBS = @LIBTIFF_LIBS@
LIBTOOL = @LIBTOOL@
LIPO = @LIPO@
@@ -805,6 +809,10 @@ test_poppler_qt5_SOURCES = \
test-poppler-qt5.cpp
test_poppler_qt5_LDADD = $(LDADDS)
+test_render_to_file_SOURCES = \
+ test-render-to-file.cpp
+
+test_render_to_file_LDADD = $(LDADDS)
test_password_qt5_SOURCES = \
test-password-qt5.cpp
@@ -1022,6 +1030,10 @@ test-poppler-qt5$(EXEEXT): $(test_poppler_qt5_OBJECTS) $(test_poppler_qt5_DEPEND
@rm -f test-poppler-qt5$(EXEEXT)
$(AM_V_CXXLD)$(CXXLINK) $(test_poppler_qt5_OBJECTS) $(test_poppler_qt5_LDADD) $(LIBS)
+test-render-to-file$(EXEEXT): $(test_render_to_file_OBJECTS) $(test_render_to_file_DEPENDENCIES) $(EXTRA_test_render_to_file_DEPENDENCIES)
+ @rm -f test-render-to-file$(EXEEXT)
+ $(AM_V_CXXLD)$(CXXLINK) $(test_render_to_file_OBJECTS) $(test_render_to_file_LDADD) $(LIBS)
+
mostlyclean-compile:
-rm -f *.$(OBJEXT)
@@ -1053,6 +1065,7 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/stress-threads-qt5.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-password-qt5.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-poppler-qt5.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-render-to-file.Po@am__quote@
.cpp.o:
@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
diff --git a/qt5/tests/check_goostring.cpp b/qt5/tests/check_goostring.cpp
index 07999b5d..69f7cdc5 100644
--- a/qt5/tests/check_goostring.cpp
+++ b/qt5/tests/check_goostring.cpp
@@ -1,3 +1,4 @@
+#include <QtCore/QScopedPointer>
#include <QtTest/QtTest>
#include "goo/GooString.h"
@@ -9,6 +10,7 @@ private slots:
void testInsertData_data();
void testInsertData();
void testInsert();
+ void testFormat();
};
void TestGooString::testInsertData_data()
@@ -56,6 +58,70 @@ void TestGooString::testInsert()
}
}
+void TestGooString::testFormat()
+{
+ {
+ const QScopedPointer<GooString> goo(GooString::format("{0:d},{1:x}", 1, 0xF));
+ QCOMPARE(goo->getCString(), "1,f");
+ }
+ {
+ const QScopedPointer<GooString> goo(GooString::format("{0:d},{0:x},{0:X},{0:o},{0:b},{0:w}", 0xA));
+ QCOMPARE(goo->getCString(), "10,a,A,12,1010, ");
+ }
+ {
+ const QScopedPointer<GooString> goo(GooString::format("{0:d},{0:x},{0:X},{0:o},{0:b}", -0xA));
+ QCOMPARE(goo->getCString(), "-10,-a,-A,-12,-1010");
+ }
+ {
+ const QScopedPointer<GooString> goo(GooString::format("{0:c}{1:c}{2:c}{3:c}",
+ 'T', (char)'E', (short)'S', (int)'T'));
+ QCOMPARE(goo->getCString(), "TEST");
+
+ const QScopedPointer<GooString> goo2(GooString::format("{0:s} {1:t}", "TEST", goo.data()));
+ QCOMPARE(goo2->getCString(), "TEST TEST");
+ }
+ {
+ const QScopedPointer<GooString> goo(GooString::format("{0:ud} {1:d} {2:d}",
+ UINT_MAX, INT_MAX, INT_MIN));
+ const QByteArray expected = QString("%1 %2 %3").arg(UINT_MAX).arg(INT_MAX).arg(INT_MIN).toLatin1();
+ QCOMPARE(goo->getCString(), expected.constData());
+ }
+ {
+ const QScopedPointer<GooString> goo(GooString::format("{0:uld} {1:ld} {2:ld}",
+ ULONG_MAX, LONG_MAX, LONG_MIN));
+ const QByteArray expected = QString("%1 %2 %3").arg(ULONG_MAX).arg(LONG_MAX).arg(LONG_MIN).toLatin1();
+ QCOMPARE(goo->getCString(), expected.constData());
+ }
+ {
+ const QScopedPointer<GooString> goo(GooString::format("{0:ulld} {1:lld} {2:lld}",
+ ULLONG_MAX, LLONG_MAX, LLONG_MIN));
+ const QByteArray expected = QString("%1 %2 %3").arg(ULLONG_MAX).arg(LLONG_MAX).arg(LLONG_MIN).toLatin1();
+ QCOMPARE(goo->getCString(), expected.constData());
+ }
+ {
+ const QScopedPointer<GooString> gooD(GooString::format("{0:.1f} {0:.1g} {0:.1gs} | {1:.1f} {1:.1g} {1:.1gs}", 1., .012));
+ const QScopedPointer<GooString> gooF(GooString::format("{0:.1f} {0:.1g} {0:.1gs} | {1:.1f} {1:.1g} {1:.1gs}", 1.f, .012f));
+ QCOMPARE(gooD->getCString(), "1.0 1 1 | 0.0 0 0.01");
+ QCOMPARE(gooF->getCString(), "1.0 1 1 | 0.0 0 0.01");
+ }
+ {
+ const QScopedPointer<GooString> goo(GooString::format("{0:.4f} {0:.4g} {0:.4gs}", .012));
+ QCOMPARE(goo->getCString(), "0.0120 0.012 0.012");
+ }
+ {
+ const QScopedPointer<GooString> goo(GooString::format("{{ SomeText {0:d} }}", 1));
+ QCOMPARE(goo->getCString(), "{ SomeText 1 }");
+ }
+ {
+ const QScopedPointer<GooString> goo(GooString::format("{{{{ {{ SomeText {0:d}", 2));
+ QCOMPARE(goo->getCString(), "{{ { SomeText 2");
+ }
+ {
+ const QScopedPointer<GooString> goo(GooString::format("SomeText {0:d} }} }}}}", 3));
+ QCOMPARE(goo->getCString(), "SomeText 3 } }}");
+ }
+}
+
QTEST_MAIN(TestGooString)
#include "check_goostring.moc"
diff --git a/qt5/tests/stress-threads-qt5.cpp b/qt5/tests/stress-threads-qt5.cpp
index 2a24a351..36d75dc4 100644
--- a/qt5/tests/stress-threads-qt5.cpp
+++ b/qt5/tests/stress-threads-qt5.cpp
@@ -1,5 +1,10 @@
+#ifndef _WIN32
#include <unistd.h>
+#else
+#include <Windows.h>
+#define sleep Sleep
+#endif
#include <time.h>
#include <poppler-qt5.h>
diff --git a/qt5/tests/test-render-to-file.cpp b/qt5/tests/test-render-to-file.cpp
new file mode 100644
index 00000000..5f86da42
--- /dev/null
+++ b/qt5/tests/test-render-to-file.cpp
@@ -0,0 +1,69 @@
+#include <QtCore/QDebug>
+#include <QtCore/QFile>
+#include <QGuiApplication>
+#include <QImage>
+
+#include <poppler-qt5.h>
+
+int main( int argc, char **argv )
+{
+ QGuiApplication a( argc, argv ); // QApplication required!
+
+ if ( argc < 2 ||
+ (argc == 3 && strcmp(argv[2], "-arthur") != 0) ||
+ argc > 3)
+ {
+ // use argument as file name
+ qWarning() << "usage: test-poppler-qt4 filename [-arthur]";
+ exit(1);
+ }
+
+ Poppler::Document *doc = Poppler::Document::load(QFile::decodeName(argv[1]));
+ if (!doc)
+ {
+ qWarning() << "doc not loaded";
+ exit(1);
+ }
+
+ if (doc->isLocked())
+ {
+ qWarning() << "document locked (needs password)";
+ exit(0);
+ }
+
+ if (doc->numPages() <= 0)
+ {
+ delete doc;
+ qDebug() << "Doc has no pages";
+ return 0;
+ }
+
+ QString backendString;
+ if (argc == 3 && strcmp(argv[2], "-arthur") == 0)
+ {
+ backendString = "Arthur";
+ doc->setRenderBackend(Poppler::Document::ArthurBackend);
+ }
+ else
+ {
+ backendString = "Splash";
+ doc->setRenderBackend(Poppler::Document::SplashBackend);
+ }
+ doc->setRenderHint(Poppler::Document::Antialiasing, true);
+ doc->setRenderHint(Poppler::Document::TextAntialiasing, true);
+
+ for (int i = 0; i < doc->numPages(); ++i)
+ {
+ Poppler::Page *page = doc->page(i);
+ if (page) {
+ qDebug() << "Rendering page using" << backendString << "backend: " << i;
+ QTime t = QTime::currentTime();
+ QImage image = page->renderToImage();
+ qDebug() << "Rendering took" << t.msecsTo(QTime::currentTime()) << "msecs";
+ image.save(QString("test-rennder-to-file%1.ppm").arg(i));
+ delete page;
+ }
+ }
+
+ return 0;
+}
diff --git a/splash/Makefile.in b/splash/Makefile.in
index fd4c99c0..61a9ee43 100644
--- a/splash/Makefile.in
+++ b/splash/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.13.3 from Makefile.am.
+# Makefile.in generated by automake 1.14.1 from Makefile.am.
# @configure_input@
# Copyright (C) 1994-2013 Free Software Foundation, Inc.
@@ -255,6 +255,7 @@ GLIB_REQ = @GLIB_REQ@
GLIB_REQUIRED = @GLIB_REQUIRED@
GREP = @GREP@
GTKDOC_CHECK = @GTKDOC_CHECK@
+GTKDOC_CHECK_PATH = @GTKDOC_CHECK_PATH@
GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
GTKDOC_MKPDF = @GTKDOC_MKPDF@
@@ -291,7 +292,6 @@ LIBPNG_CFLAGS = @LIBPNG_CFLAGS@
LIBPNG_LIBS = @LIBPNG_LIBS@
LIBS = @LIBS@
LIBTIFF_CFLAGS = @LIBTIFF_CFLAGS@
-LIBTIFF_CFLAGSS = @LIBTIFF_CFLAGSS@
LIBTIFF_LIBS = @LIBTIFF_LIBS@
LIBTOOL = @LIBTOOL@
LIPO = @LIPO@
diff --git a/splash/Splash.cc b/splash/Splash.cc
index 6bb0dfe5..8d0765bd 100644
--- a/splash/Splash.cc
+++ b/splash/Splash.cc
@@ -11,9 +11,9 @@
// All changes made under the Poppler project to this file are licensed
// under GPL version 2 or later
//
-// Copyright (C) 2005-2013 Albert Astals Cid <aacid@kde.org>
+// Copyright (C) 2005-2014 Albert Astals Cid <aacid@kde.org>
// Copyright (C) 2005 Marco Pesenti Gritti <mpg@redhat.com>
-// Copyright (C) 2010-2013 Thomas Freitag <Thomas.Freitag@alfa.de>
+// Copyright (C) 2010-2014 Thomas Freitag <Thomas.Freitag@alfa.de>
// Copyright (C) 2010 Christian Feuersänger <cfeuersaenger@googlemail.com>
// Copyright (C) 2011-2013 William Bader <williambader@hotmail.com>
// Copyright (C) 2012 Markus Trippelsdorf <markus@trippelsdorf.de>
@@ -446,39 +446,68 @@ void Splash::pipeRun(SplashPipe *pipe) {
//----- read destination pixel
+ Guchar *destColorPtr;
+ if (pipe->shape && state->blendFunc && pipe->knockout && alpha0Bitmap != NULL) {
+ destColorPtr = alpha0Bitmap->data + (alpha0Y+pipe->y)*alpha0Bitmap->rowSize;
+ switch (bitmap->mode) {
+ case splashModeMono1:
+ destColorPtr += (alpha0X+pipe->x) / 8;
+ break;
+ case splashModeMono8:
+ destColorPtr += (alpha0X+pipe->x);
+ break;
+ case splashModeRGB8:
+ case splashModeBGR8:
+ destColorPtr += (alpha0X+pipe->x) * 3;
+ break;
+ case splashModeXBGR8:
+#if SPLASH_CMYK
+ case splashModeCMYK8:
+#endif
+ destColorPtr += (alpha0X+pipe->x) * 4;
+ break;
+#if SPLASH_CMYK
+ case splashModeDeviceN8:
+ destColorPtr += (alpha0X+pipe->x) * (SPOT_NCOMPS + 4);
+ break;
+#endif
+ }
+ } else {
+ destColorPtr = pipe->destColorPtr;
+ }
switch (bitmap->mode) {
case splashModeMono1:
- cDest[0] = (*pipe->destColorPtr & pipe->destColorMask) ? 0xff : 0x00;
+ cDest[0] = (*destColorPtr & pipe->destColorMask) ? 0xff : 0x00;
break;
case splashModeMono8:
- cDest[0] = *pipe->destColorPtr;
+ cDest[0] = *destColorPtr;
break;
case splashModeRGB8:
- cDest[0] = pipe->destColorPtr[0];
- cDest[1] = pipe->destColorPtr[1];
- cDest[2] = pipe->destColorPtr[2];
+ cDest[0] = destColorPtr[0];
+ cDest[1] = destColorPtr[1];
+ cDest[2] = destColorPtr[2];
break;
case splashModeXBGR8:
- cDest[0] = pipe->destColorPtr[2];
- cDest[1] = pipe->destColorPtr[1];
- cDest[2] = pipe->destColorPtr[0];
+ cDest[0] = destColorPtr[2];
+ cDest[1] = destColorPtr[1];
+ cDest[2] = destColorPtr[0];
cDest[3] = 255;
break;
case splashModeBGR8:
- cDest[0] = pipe->destColorPtr[2];
- cDest[1] = pipe->destColorPtr[1];
- cDest[2] = pipe->destColorPtr[0];
+ cDest[0] = destColorPtr[2];
+ cDest[1] = destColorPtr[1];
+ cDest[2] = destColorPtr[0];
break;
#if SPLASH_CMYK
case splashModeCMYK8:
- cDest[0] = pipe->destColorPtr[0];
- cDest[1] = pipe->destColorPtr[1];
- cDest[2] = pipe->destColorPtr[2];
- cDest[3] = pipe->destColorPtr[3];
+ cDest[0] = destColorPtr[0];
+ cDest[1] = destColorPtr[1];
+ cDest[2] = destColorPtr[2];
+ cDest[3] = destColorPtr[3];
break;
case splashModeDeviceN8:
for (cp = 0; cp < SPOT_NCOMPS + 4; cp++)
- cDest[cp] = pipe->destColorPtr[cp];
+ cDest[cp] = destColorPtr[cp];
break;
#endif
}
@@ -555,6 +584,13 @@ void Splash::pipeRun(SplashPipe *pipe) {
//----- blend function
if (state->blendFunc) {
+#ifdef SPLASH_CMYK
+ if (bitmap->mode == splashModeDeviceN8) {
+ for (int k = 4; k < 4 + SPOT_NCOMPS; k++) {
+ cBlend[k] = 0;
+ }
+ }
+#endif
(*state->blendFunc)(cSrc, cDest, cBlend, bitmap->mode);
}
@@ -1549,6 +1585,7 @@ Splash::Splash(SplashBitmap *bitmapA, GBool vectorAntialiasA,
thinLineMode = splashThinLineDefault;
clearModRegion();
debugMode = gFalse;
+ alpha0Bitmap = NULL;
}
Splash::Splash(SplashBitmap *bitmapA, GBool vectorAntialiasA,
@@ -1576,6 +1613,7 @@ Splash::Splash(SplashBitmap *bitmapA, GBool vectorAntialiasA,
thinLineMode = splashThinLineDefault;
clearModRegion();
debugMode = gFalse;
+ alpha0Bitmap = NULL;
}
Splash::~Splash() {
@@ -2473,6 +2511,8 @@ SplashError Splash::fillWithPattern(SplashPath *path, GBool eo,
delta = (yMinI == yMaxI) ? yMaxFP - yMinFP : xMaxFP - xMinFP;
if (delta < 0.2) {
opClipRes = splashClipAllOutside;
+ delete scanner;
+ delete xPath;
return splashOk;
}
}
@@ -3788,7 +3828,7 @@ SplashError Splash::arbitraryTransformImage(SplashImageSource src, void *srcData
yMax = t1;
}
}
- clipRes = state->clip->testRect(xMin, yMin, xMax - 1, yMax - 1);
+ clipRes = state->clip->testRect(xMin, yMin, xMax, yMax);
opClipRes = clipRes;
if (clipRes == splashClipAllOutside) {
return splashOk;
@@ -3802,7 +3842,7 @@ SplashError Splash::arbitraryTransformImage(SplashImageSource src, void *srcData
scaledWidth = yMax - yMin;
scaledHeight = xMax - xMin;
}
- if (scaledHeight <= 1 || scaledHeight <= 1 || tilingPattern) {
+ if (scaledHeight <= 1 || scaledWidth <= 1 || tilingPattern) {
if (mat[0] >= 0) {
t0 = imgCoordMungeUpper(mat[0] + mat[4]) - imgCoordMungeLower(mat[4]);
} else {
@@ -4837,6 +4877,9 @@ void Splash::scaleImageYuXuBilinear(SplashImageSource src, void *srcData,
Guchar *destPtr0, *destPtr, *destAlphaPtr0, *destAlphaPtr;
int i;
+ if (srcWidth < 1 || srcHeight < 1)
+ return;
+
// allocate buffers
srcBuf = (Guchar *)gmallocn(srcWidth+1, nComps); // + 1 pixel of padding
lineBuf1 = (Guchar *)gmallocn(scaledWidth, nComps);
diff --git a/splash/SplashFTFont.cc b/splash/SplashFTFont.cc
index 2a236252..b785826d 100644
--- a/splash/SplashFTFont.cc
+++ b/splash/SplashFTFont.cc
@@ -11,7 +11,7 @@
// All changes made under the Poppler project to this file are licensed
// under GPL version 2 or later
//
-// Copyright (C) 2005, 2007-2011 Albert Astals Cid <aacid@kde.org>
+// Copyright (C) 2005, 2007-2011, 2014 Albert Astals Cid <aacid@kde.org>
// Copyright (C) 2006 Kristian Høgsberg <krh@bitplanet.net>
// Copyright (C) 2009 Petr Gajdos <pgajdos@novell.com>
// Copyright (C) 2010 Suzuki Toshiya <mpsuzuki@hiroshima-u.ac.jp>
@@ -280,7 +280,7 @@ GBool SplashFTFont::makeGlyph(int c, int xFrac, int yFrac,
FT_Set_Transform(ff->face, &matrix, &offset);
slot = ff->face->glyph;
- if (ff->codeToGID && c < ff->codeToGIDLen) {
+ if (ff->codeToGID && c < ff->codeToGIDLen && c >= 0) {
gid = (FT_UInt)ff->codeToGID[c];
} else {
gid = (FT_UInt)c;
@@ -410,7 +410,7 @@ SplashPath *SplashFTFont::getGlyphPath(int c) {
ff->face->size = sizeObj;
FT_Set_Transform(ff->face, &textMatrix, NULL);
slot = ff->face->glyph;
- if (ff->codeToGID && c < ff->codeToGIDLen) {
+ if (ff->codeToGID && c < ff->codeToGIDLen && c >= 0) {
gid = ff->codeToGID[c];
} else {
gid = (FT_UInt)c;
diff --git a/splash/SplashFTFontEngine.h b/splash/SplashFTFontEngine.h
index aa1ad5f3..11bbea74 100644
--- a/splash/SplashFTFontEngine.h
+++ b/splash/SplashFTFontEngine.h
@@ -15,6 +15,7 @@
// Copyright (C) 2009 Petr Gajdos <pgajdos@novell.com>
// Copyright (C) 2009 Albert Astals Cid <aacid@kde.org>
// Copyright (C) 2011 Andreas Hartmetz <ahartmetz@gmail.com>
+// Copyright (C) 2013 Thomas Freitag <Thomas.Freitag@alfa.de>
//
// To see a description of the changes please see the Changelog file that
// came with your tarball or type make ChangeLog if you are building from git
@@ -58,6 +59,8 @@ public:
int *codeToGID, int codeToGIDLen);
SplashFontFile *loadTrueTypeFont(SplashFontFileID *idA, SplashFontSrc *src,
int *codeToGID, int codeToGIDLen, int faceIndex = 0);
+ GBool getAA() { return aa; }
+ void setAA(GBool aaA) { aa = aaA; }
private:
diff --git a/splash/SplashFont.cc b/splash/SplashFont.cc
index 2bfcdc87..3d6d6b23 100644
--- a/splash/SplashFont.cc
+++ b/splash/SplashFont.cc
@@ -11,7 +11,7 @@
// All changes made under the Poppler project to this file are licensed
// under GPL version 2 or later
//
-// Copyright (C) 2007-2008, 2010 Albert Astals Cid <aacid@kde.org>
+// Copyright (C) 2007-2008, 2010, 2014 Albert Astals Cid <aacid@kde.org>
//
// To see a description of the changes please see the Changelog file that
// came with your tarball or type make ChangeLog if you are building from git
@@ -24,6 +24,7 @@
#pragma implementation
#endif
+#include <limits.h>
#include <string.h>
#include "goo/gmem.h"
#include "SplashMath.h"
@@ -71,10 +72,14 @@ void SplashFont::initCache() {
// deal with rounding errors
glyphW = xMax - xMin + 3;
glyphH = yMax - yMin + 3;
- if (aa) {
- glyphSize = glyphW * glyphH;
+ if (glyphW > INT_MAX / glyphH) {
+ glyphSize = -1;
} else {
- glyphSize = ((glyphW + 7) >> 3) * glyphH;
+ if (aa) {
+ glyphSize = glyphW * glyphH;
+ } else {
+ glyphSize = ((glyphW + 7) >> 3) * glyphH;
+ }
}
// set up the glyph pixmap cache
diff --git a/splash/SplashFontEngine.cc b/splash/SplashFontEngine.cc
index 2e74f5a7..968e8207 100644
--- a/splash/SplashFontEngine.cc
+++ b/splash/SplashFontEngine.cc
@@ -16,6 +16,7 @@
// Copyright (C) 2009 Kovid Goyal <kovid@kovidgoyal.net>
// Copyright (C) 2009 Albert Astals Cid <aacid@kde.org>
// Copyright (C) 2011 Andreas Hartmetz <ahartmetz@gmail.com>
+// Copyright (C) 2013 Thomas Freitag <Thomas.Freitag@alfa.de>
//
// To see a description of the changes please see the Changelog file that
// came with your tarball or type make ChangeLog if you are building from git
@@ -288,6 +289,18 @@ SplashFontFile *SplashFontEngine::loadTrueTypeFont(SplashFontFileID *idA,
return fontFile;
}
+#if HAVE_FREETYPE_FREETYPE_H || HAVE_FREETYPE_H
+GBool SplashFontEngine::getAA() {
+ return (ftEngine == NULL) ? gFalse : ftEngine->getAA();
+}
+
+void SplashFontEngine::setAA(GBool aa) {
+ if (ftEngine != NULL) {
+ ftEngine->setAA(aa);
+ }
+}
+#endif
+
SplashFont *SplashFontEngine::getFont(SplashFontFile *fontFile,
SplashCoord *textMat,
SplashCoord *ctm) {
diff --git a/splash/SplashFontEngine.h b/splash/SplashFontEngine.h
index 54926b41..6502ea5a 100644
--- a/splash/SplashFontEngine.h
+++ b/splash/SplashFontEngine.h
@@ -15,6 +15,7 @@
// Copyright (C) 2009 Petr Gajdos <pgajdos@novell.com>
// Copyright (C) 2009, 2011 Albert Astals Cid <aacid@kde.org>
// Copyright (C) 2011 Andreas Hartmetz <ahartmetz@gmail.com>
+// Copyright (C) 2013 Thomas Freitag <Thomas.Freitag@alfa.de>
//
// To see a description of the changes please see the Changelog file that
// came with your tarball or type make ChangeLog if you are building from git
@@ -89,6 +90,10 @@ public:
// Note that the Splash y axis points downward.
SplashFont *getFont(SplashFontFile *fontFile,
SplashCoord *textMat, SplashCoord *ctm);
+#if HAVE_FREETYPE_FREETYPE_H || HAVE_FREETYPE_H
+ GBool getAA();
+ void setAA(GBool aa);
+#endif
private:
diff --git a/splash/SplashTypes.h b/splash/SplashTypes.h
index fa4a3796..5ea81600 100644
--- a/splash/SplashTypes.h
+++ b/splash/SplashTypes.h
@@ -46,11 +46,9 @@ typedef double SplashCoord;
#define splashAASize 4
-#ifdef SPLASH_CMYK
#ifndef SPOT_NCOMPS
#define SPOT_NCOMPS 4
#endif
-#endif
//------------------------------------------------------------------------
// colors
diff --git a/splash/SplashXPathScanner.cc b/splash/SplashXPathScanner.cc
index 0fd5ccdc..ac47881c 100644
--- a/splash/SplashXPathScanner.cc
+++ b/splash/SplashXPathScanner.cc
@@ -11,9 +11,9 @@
// All changes made under the Poppler project to this file are licensed
// under GPL version 2 or later
//
-// Copyright (C) 2008, 2010 Albert Astals Cid <aacid@kde.org>
+// Copyright (C) 2008, 2010, 2014 Albert Astals Cid <aacid@kde.org>
// Copyright (C) 2010 Paweł Wiejacha <pawel.wiejacha@gmail.com>
-// Copyright (C) 2013 Thomas Freitag <Thomas.Freitag@alfa.de>
+// Copyright (C) 2013, 2014 Thomas Freitag <Thomas.Freitag@alfa.de>
//
// To see a description of the changes please see the Changelog file that
// came with your tarball or type make ChangeLog if you are building from git
@@ -272,8 +272,9 @@ void SplashXPathScanner::computeIntersections() {
if (seg->flags & splashXPathHoriz) {
y = splashFloor(seg->y0);
if (y >= yMin && y <= yMax) {
- addIntersection(segYMin, segYMax, seg->flags,
- y, splashFloor(seg->x0), splashFloor(seg->x1));
+ if (!addIntersection(segYMin, segYMax, seg->flags,
+ y, splashFloor(seg->x0), splashFloor(seg->x1)))
+ break;
}
} else if (seg->flags & splashXPathVert) {
y0 = splashFloor(segYMin);
@@ -286,7 +287,8 @@ void SplashXPathScanner::computeIntersections() {
}
x = splashFloor(seg->x0);
for (y = y0; y <= y1; ++y) {
- addIntersection(segYMin, segYMax, seg->flags, y, x, x);
+ if (!addIntersection(segYMin, segYMax, seg->flags, y, x, x))
+ break;
}
} else {
if (seg->x0 < seg->x1) {
@@ -321,8 +323,9 @@ void SplashXPathScanner::computeIntersections() {
} else if (xx1 > segXMax) {
xx1 = segXMax;
}
- addIntersection(segYMin, segYMax, seg->flags, y,
- splashFloor(xx0), splashFloor(xx1));
+ if (!addIntersection(segYMin, segYMax, seg->flags, y,
+ splashFloor(xx0), splashFloor(xx1)))
+ break;
}
}
}
@@ -340,12 +343,17 @@ void SplashXPathScanner::computeIntersections() {
inter[yMax - yMin + 1] = i;
}
-void SplashXPathScanner::addIntersection(double segYMin, double segYMax,
+GBool SplashXPathScanner::addIntersection(double segYMin, double segYMax,
Guint segFlags,
int y, int x0, int x1) {
if (allInterLen == allInterSize) {
- allInterSize *= 2;
- allInter = (SplashIntersect *)greallocn(allInter, allInterSize,
+ unsigned int newInterSize = ((unsigned int) allInterSize * 2 > INT_MAX / sizeof(SplashIntersect)) ? allInterSize + 32768 : allInterSize * 2;
+ if (newInterSize >= INT_MAX / sizeof(SplashIntersect)) {
+ error(errInternal, -1, "Bogus memory allocation size in SplashXPathScanner::addIntersection {0:d}", newInterSize);
+ return gFalse;
+ }
+ allInterSize = newInterSize;
+ allInter = (SplashIntersect *)greallocn(allInter, newInterSize,
sizeof(SplashIntersect));
}
allInter[allInterLen].y = y;
@@ -365,6 +373,7 @@ void SplashXPathScanner::addIntersection(double segYMin, double segYMax,
allInter[allInterLen].count = 0;
}
++allInterLen;
+ return gTrue;
}
void SplashXPathScanner::renderAALine(SplashBitmap *aaBuf,
@@ -514,7 +523,7 @@ void SplashXPathScanner::clipAALine(SplashBitmap *aaBuf,
xx0 = (*x1 + 1) * splashAASize;
if (xx0 > aaBuf->getWidth()) xx0 = aaBuf->getWidth();
// set [xx, xx0) to 0
- if (xx < xx0) {
+ if (xx < xx0 && xx >= 0) {
p = aaBuf->getDataPtr() + yy * aaBuf->getRowSize() + (xx >> 3);
if (xx & 7) {
mask = (Guchar)(0xff00 >> (xx & 7));
diff --git a/splash/SplashXPathScanner.h b/splash/SplashXPathScanner.h
index b59e3068..cc295cb6 100644
--- a/splash/SplashXPathScanner.h
+++ b/splash/SplashXPathScanner.h
@@ -11,7 +11,7 @@
// All changes made under the Poppler project to this file are licensed
// under GPL version 2 or later
//
-// Copyright (C) 2013 Thomas Freitag <Thomas.Freitag@alfa.de>
+// Copyright (C) 2013, 2014 Thomas Freitag <Thomas.Freitag@alfa.de>
//
// To see a description of the changes please see the Changelog file that
// came with your tarball or type make ChangeLog if you are building from git
@@ -85,7 +85,7 @@ public:
private:
void computeIntersections();
- void addIntersection(double segYMin, double segYMax,
+ GBool addIntersection(double segYMin, double segYMax,
Guint segFlags,
int y, int x0, int x1);
diff --git a/test-driver b/test-driver
index 32bf39e8..d3060566 100755
--- a/test-driver
+++ b/test-driver
@@ -1,7 +1,7 @@
#! /bin/sh
# test-driver - basic testsuite driver script.
-scriptversion=2012-06-27.10; # UTC
+scriptversion=2013-07-13.22; # UTC
# Copyright (C) 2011-2013 Free Software Foundation, Inc.
#
@@ -44,13 +44,12 @@ print_usage ()
Usage:
test-driver --test-name=NAME --log-file=PATH --trs-file=PATH
[--expect-failure={yes|no}] [--color-tests={yes|no}]
- [--enable-hard-errors={yes|no}] [--] TEST-SCRIPT
+ [--enable-hard-errors={yes|no}] [--]
+ TEST-SCRIPT [TEST-SCRIPT-ARGUMENTS]
The '--test-name', '--log-file' and '--trs-file' options are mandatory.
END
}
-# TODO: better error handling in option parsing (in particular, ensure
-# TODO: $log_file, $trs_file and $test_name are defined).
test_name= # Used for reporting.
log_file= # Where to save the output of the test script.
trs_file= # Where to save the metadata of the test run.
@@ -69,10 +68,23 @@ while test $# -gt 0; do
--enable-hard-errors) enable_hard_errors=$2; shift;;
--) shift; break;;
-*) usage_error "invalid option: '$1'";;
+ *) break;;
esac
shift
done
+missing_opts=
+test x"$test_name" = x && missing_opts="$missing_opts --test-name"
+test x"$log_file" = x && missing_opts="$missing_opts --log-file"
+test x"$trs_file" = x && missing_opts="$missing_opts --trs-file"
+if test x"$missing_opts" != x; then
+ usage_error "the following mandatory options are missing:$missing_opts"
+fi
+
+if test $# -eq 0; then
+ usage_error "missing argument"
+fi
+
if test $color_tests = yes; then
# Keep this in sync with 'lib/am/check.am:$(am__tty_colors)'.
red='' # Red.
diff --git a/test/Makefile.in b/test/Makefile.in
index 92397b61..abbd6a6f 100644
--- a/test/Makefile.in
+++ b/test/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.13.3 from Makefile.am.
+# Makefile.in generated by automake 1.14.1 from Makefile.am.
# @configure_input@
# Copyright (C) 1994-2013 Free Software Foundation, Inc.
@@ -237,6 +237,7 @@ GLIB_REQ = @GLIB_REQ@
GLIB_REQUIRED = @GLIB_REQUIRED@
GREP = @GREP@
GTKDOC_CHECK = @GTKDOC_CHECK@
+GTKDOC_CHECK_PATH = @GTKDOC_CHECK_PATH@
GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
GTKDOC_MKPDF = @GTKDOC_MKPDF@
@@ -273,7 +274,6 @@ LIBPNG_CFLAGS = @LIBPNG_CFLAGS@
LIBPNG_LIBS = @LIBPNG_LIBS@
LIBS = @LIBS@
LIBTIFF_CFLAGS = @LIBTIFF_CFLAGS@
-LIBTIFF_CFLAGSS = @LIBTIFF_CFLAGSS@
LIBTIFF_LIBS = @LIBTIFF_LIBS@
LIBTOOL = @LIBTOOL@
LIPO = @LIPO@
diff --git a/test/perf-test.cc b/test/perf-test.cc
index da14a7c7..04adec31 100644
--- a/test/perf-test.cc
+++ b/test/perf-test.cc
@@ -469,7 +469,6 @@ struct FindFileState {
};
#ifdef _WIN32
-#include <windows.h>
#include <sys/timeb.h>
#include <direct.h>
diff --git a/utils/CMakeLists.txt b/utils/CMakeLists.txt
index f82cfa4d..2f04b39d 100644
--- a/utils/CMakeLists.txt
+++ b/utils/CMakeLists.txt
@@ -69,6 +69,8 @@ set(pdfimages_SOURCES ${common_srcs}
pdfimages.cc
ImageOutputDev.cc
ImageOutputDev.h
+ JSInfo.cc
+ JSInfo.h
)
add_executable(pdfimages ${pdfimages_SOURCES})
target_link_libraries(pdfimages ${common_libs})
@@ -78,6 +80,8 @@ install(FILES pdfimages.1 DESTINATION share/man/man1)
# pdfinfo
set(pdfinfo_SOURCES ${common_srcs}
pdfinfo.cc printencodings.cc
+ JSInfo.cc
+ JSInfo.h
)
add_executable(pdfinfo ${pdfinfo_SOURCES})
target_link_libraries(pdfinfo ${common_libs})
diff --git a/utils/HtmlOutputDev.cc b/utils/HtmlOutputDev.cc
index 7926674e..35e98b46 100644
--- a/utils/HtmlOutputDev.cc
+++ b/utils/HtmlOutputDev.cc
@@ -25,7 +25,7 @@
// Copyright (C) 2009 Warren Toomey <wkt@tuhs.org>
// Copyright (C) 2009, 2011 Carlos Garcia Campos <carlosgc@gnome.org>
// Copyright (C) 2009 Reece Dunn <msclrhd@gmail.com>
-// Copyright (C) 2010, 2012 Adrian Johnson <ajohnson@redneon.com>
+// Copyright (C) 2010, 2012, 2013 Adrian Johnson <ajohnson@redneon.com>
// Copyright (C) 2010 Hib Eris <hib@hiberis.nl>
// Copyright (C) 2010 OSSD CDAC Mumbai by Leena Chourey (leenac@cdacmumbai.in) and Onkar Potdar (onkar@cdacmumbai.in)
// Copyright (C) 2011 Joshua Richardson <jric@chegg.com>
@@ -37,6 +37,7 @@
// Copyright (C) 2013 Thomas Freitag <Thomas.Freitag@alfa.de>
// Copyright (C) 2013 Julien Nabet <serval2412@yahoo.fr>
// Copyright (C) 2013 Johannes Brandstätter <jbrandstaetter@gmail.com>
+// Copyright (C) 2014 Fabio D'Urso <fabiodurso@hotmail.it>
//
// To see a description of the changes please see the Changelog file that
// came with your tarball or type make ChangeLog if you are building from git
@@ -1327,7 +1328,7 @@ void HtmlOutputDev::drawJpegImage(GfxState *state, Stream *str)
// open the image file
GooString *fName=createImageFileName("jpg");
if (!(f1 = fopen(fName->getCString(), "wb"))) {
- error(errIO, -1, "Couldn't open image file '%s'", fName->getCString());
+ error(errIO, -1, "Couldn't open image file '{0:t}'", fName);
delete fName;
return;
}
@@ -1361,7 +1362,7 @@ void HtmlOutputDev::drawPngImage(GfxState *state, Stream *str, int width, int he
// open the image file
GooString *fName=createImageFileName("png");
if (!(f1 = fopen(fName->getCString(), "wb"))) {
- error(errIO, -1, "Couldn't open image file '%s'", fName->getCString());
+ error(errIO, -1, "Couldn't open image file '{0:t}'", fName);
delete fName;
return;
}
@@ -1369,7 +1370,7 @@ void HtmlOutputDev::drawPngImage(GfxState *state, Stream *str, int width, int he
PNGWriter *writer = new PNGWriter( isMask ? PNGWriter::MONOCHROME : PNGWriter::RGB );
// TODO can we calculate the resolution of the image?
if (!writer->init(f1, width, height, 72, 72)) {
- error(errInternal, -1, "Can't init PNG for image '%s'", fName->getCString());
+ error(errInternal, -1, "Can't init PNG for image '{0:t}'", fName);
delete writer;
fclose(f1);
return;
@@ -1401,7 +1402,7 @@ void HtmlOutputDev::drawPngImage(GfxState *state, Stream *str, int width, int he
}
if (!writer->writeRow(row_pointer)) {
- error(errIO, -1, "Failed to write into PNG '%s'", fName->getCString());
+ error(errIO, -1, "Failed to write into PNG '{0:t}'", fName);
delete writer;
delete imgStr;
fclose(f1);
@@ -1413,32 +1414,39 @@ void HtmlOutputDev::drawPngImage(GfxState *state, Stream *str, int width, int he
delete imgStr;
}
else { // isMask == true
- ImageStream *imgStr = new ImageStream(str, width, 1, 1);
- imgStr->reset();
+ int size = (width + 7)/8;
+
+ // PDF masks use 0 = draw current color, 1 = leave unchanged.
+ // We invert this to provide the standard interpretation of alpha
+ // (0 = transparent, 1 = opaque). If the colorMap already inverts
+ // the mask we leave the data unchanged.
+ int invert_bits = 0xff;
+ if (colorMap) {
+ GfxGray gray;
+ Guchar zero = 0;
+ colorMap->getGray(&zero, &gray);
+ if (colToByte(gray) == 0)
+ invert_bits = 0x00;
+ }
- Guchar *png_row = (Guchar *)gmalloc( width );
+ str->reset();
+ Guchar *png_row = (Guchar *)gmalloc(size);
for (int ri = 0; ri < height; ++ri)
{
- // read the row of the mask
- Guchar *bit_row = imgStr->getLine();
-
- // invert for PNG
- for(int i = 0; i < width; i++)
- png_row[i] = bit_row[i] ? 0xff : 0x00;
+ for(int i = 0; i < size; i++)
+ png_row[i] = str->getChar() ^ invert_bits;
if (!writer->writeRow( &png_row ))
{
- error(errIO, -1, "Failed to write into PNG '%s'", fName->getCString());
+ error(errIO, -1, "Failed to write into PNG '{0:t}'", fName);
delete writer;
fclose(f1);
- delete imgStr;
gfree(png_row);
return;
}
}
- imgStr->close();
- delete imgStr;
+ str->close();
gfree(png_row);
}
diff --git a/utils/ImageOutputDev.cc b/utils/ImageOutputDev.cc
index 8b18d2b4..5de51ad5 100644
--- a/utils/ImageOutputDev.cc
+++ b/utils/ImageOutputDev.cc
@@ -20,8 +20,9 @@
// Copyright (C) 2009 Carlos Garcia Campos <carlosgc@gnome.org>
// Copyright (C) 2009 William Bader <williambader@hotmail.com>
// Copyright (C) 2010 Jakob Voss <jakob.voss@gbv.de>
-// Copyright (C) 2012 Adrian Johnson <ajohnson@redneon.com>
+// Copyright (C) 2012, 2013 Adrian Johnson <ajohnson@redneon.com>
// Copyright (C) 2013 Thomas Fischer <fischer@unix-ag.uni-kl.de>
+// Copyright (C) 2013 Hib Eris <hib@hiberis.nl>
//
// To see a description of the changes please see the Changelog file that
// came with your tarball or type make ChangeLog if you are building from git
@@ -39,27 +40,37 @@
#include <stdlib.h>
#include <stddef.h>
#include <ctype.h>
+#include <math.h>
#include "goo/gmem.h"
+#include "goo/NetPBMWriter.h"
+#include "goo/PNGWriter.h"
+#include "goo/TiffWriter.h"
#include "Error.h"
#include "GfxState.h"
#include "Object.h"
#include "Stream.h"
+#include "JBIG2Stream.h"
#include "ImageOutputDev.h"
-ImageOutputDev::ImageOutputDev(char *fileRootA, GBool pageNamesA, GBool dumpJPEGA, GBool listImagesA) {
+ImageOutputDev::ImageOutputDev(char *fileRootA, GBool pageNamesA, GBool listImagesA) {
listImages = listImagesA;
if (!listImages) {
fileRoot = copyString(fileRootA);
fileName = (char *)gmalloc(strlen(fileRoot) + 45);
}
- dumpJPEG = dumpJPEGA;
+ outputPNG = gFalse;
+ outputTiff = gFalse;
+ dumpJPEG = gFalse;
+ dumpJP2 = gFalse;
+ dumpJBIG2 = gFalse;
+ dumpCCITT = gFalse;
pageNames = pageNamesA;
imgNum = 0;
pageNum = 0;
ok = gTrue;
if (listImages) {
- printf("page num type width height color comp bpc enc interp object ID\n");
- printf("---------------------------------------------------------------------\n");
+ printf("page num type width height color comp bpc enc interp object ID x-ppi y-ppi size ratio\n");
+ printf("--------------------------------------------------------------------------------------------\n");
}
}
@@ -79,6 +90,34 @@ void ImageOutputDev::setFilename(const char *fileExt) {
}
}
+
+// Print a floating point number between 0 - 9999 using 4 characters
+// eg '1.23', '12.3', ' 123', '1234'
+//
+// We need to be careful to handle the cases where rounding adds an
+// extra digit before the decimal. eg printf("%4.2f", 9.99999)
+// outputs "10.00" instead of "9.99".
+static void printNumber(double d)
+{
+ char buf[10];
+
+ if (d < 10.0) {
+ sprintf(buf, "%4.2f", d);
+ buf[4] = 0;
+ printf("%s", buf);
+ } else if (d < 100.0) {
+ sprintf(buf, "%4.1f", d);
+ if (!isdigit(buf[3])) {
+ buf[3] = 0;
+ printf(" %s", buf);
+ } else {
+ printf("%s", buf);
+ }
+ } else {
+ printf("%4.0f", d);
+ }
+}
+
void ImageOutputDev::listImage(GfxState *state, Object *ref, Stream *str,
int width, int height,
GfxImageColorMap *colorMap,
@@ -179,192 +218,370 @@ void ImageOutputDev::listImage(GfxState *state, Object *ref, Stream *str,
printf("%-3s ", interpolate ? "yes" : "no");
if (inlineImg) {
- printf("[inline]\n");
+ printf("[inline] ");
} else if (ref->isRef()) {
const Ref imageRef = ref->getRef();
if (imageRef.gen >= 100000) {
- printf("[none]\n");
+ printf("[none] ");
} else {
- printf(" %6d %2d\n", imageRef.num, imageRef.gen);
+ printf(" %6d %2d ", imageRef.num, imageRef.gen);
}
} else {
- printf("[none]\n");
+ printf("[none] ");
}
+ double *mat = state->getCTM();
+ double width2 = mat[0] + mat[2];
+ double height2 = mat[1] + mat[3];
+ double xppi = fabs(width*72.0/width2) + 0.5;
+ double yppi = fabs(height*72.0/height2) + 0.5;
+ if (xppi < 1.0)
+ printf("%5.3f ", xppi);
+ else
+ printf("%5.0f ", xppi);
+ if (yppi < 1.0)
+ printf("%5.3f ", yppi);
+ else
+ printf("%5.0f ", yppi);
+
+ Goffset embedSize = -1;
+ if (!inlineImg)
+ embedSize = str->getBaseStream()->getLength();
+
+ long long imageSize = 0;
+ if (colorMap && colorMap->isOk())
+ imageSize = ((long long)width * height * colorMap->getNumPixelComps() * colorMap->getBits())/8;
+ else
+ imageSize = (long long)width*height/8; // mask
+
+ double ratio = -1.0;
+ if (imageSize > 0)
+ ratio = 100.0*embedSize/imageSize;
+
+ if (embedSize < 0) {
+ printf(" - ");
+ } else if (embedSize <= 9999) {
+ printf("%4lldB", embedSize);
+ } else {
+ double d = embedSize/1024.0;
+ if (d <= 9999.0) {
+ printNumber(d);
+ putchar('K');
+ } else {
+ d /= 1024.0;
+ if (d <= 9999.0) {
+ printNumber(d);
+ putchar('M');
+ } else {
+ d /= 1024.0;
+ printNumber(d);
+ putchar('G');
+ }
+ }
+ }
+
+ if (ratio > 9.9)
+ printf(" %3.0f%%\n", ratio);
+ else if (ratio >= 0.0)
+ printf(" %3.1f%%\n", ratio);
+ else
+ printf(" - \n");
+
++imgNum;
}
-void ImageOutputDev::writeMask(GfxState *state, Object *ref, Stream *str,
- int width, int height, GBool invert,
- GBool interpolate, GBool inlineImg) {
+void ImageOutputDev::writeRawImage(Stream *str, const char *ext) {
FILE *f;
int c;
- int size, i;
- // dump JPEG file
- if (dumpJPEG && str->getKind() == strDCT && !inlineImg) {
+ // open the image file
+ setFilename(ext);
+ ++imgNum;
+ if (!(f = fopen(fileName, "wb"))) {
+ error(errIO, -1, "Couldn't open image file '{0:s}'", fileName);
+ return;
+ }
- // open the image file
- setFilename("jpg");
- ++imgNum;
- if (!(f = fopen(fileName, "wb"))) {
- error(errIO, -1, "Couldn't open image file '{0:s}'", fileName);
- return;
- }
+ // initialize stream
+ str = str->getNextStream();
+ str->reset();
- // initialize stream
- str = str->getNextStream();
- str->reset();
+ // copy the stream
+ while ((c = str->getChar()) != EOF)
+ fputc(c, f);
- // copy the stream
- while ((c = str->getChar()) != EOF)
- fputc(c, f);
+ str->close();
+ fclose(f);
+}
- str->close();
- fclose(f);
+void ImageOutputDev::writeImageFile(ImgWriter *writer, ImageFormat format, const char *ext,
+ Stream *str, int width, int height, GfxImageColorMap *colorMap) {
+ FILE *f;
+ ImageStream *imgStr = NULL;
+ unsigned char *row;
+ unsigned char *rowp;
+ Guchar *p;
+ GfxRGB rgb;
+ GfxCMYK cmyk;
+ GfxGray gray;
+ Guchar zero = 0;
+ int invert_bits;
- // dump PBM file
- } else {
+ setFilename(ext);
+ ++imgNum;
+ if (!(f = fopen(fileName, "wb"))) {
+ error(errIO, -1, "Couldn't open image file '{0:s}'", fileName);
+ return;
+ }
- // open the image file and write the PBM header
- setFilename("pbm");
- ++imgNum;
- if (!(f = fopen(fileName, "wb"))) {
- error(errIO, -1, "Couldn't open image file '{0:s}'", fileName);
- return;
- }
- fprintf(f, "P4\n");
- fprintf(f, "%d %d\n", width, height);
+ if (!writer->init(f, width, height, 72, 72)) {
+ error(errIO, -1, "Error writing '{0:s}'", fileName);
+ return;
+ }
+ if (format != imgMonochrome) {
+ // initialize stream
+ imgStr = new ImageStream(str, width, colorMap->getNumPixelComps(),
+ colorMap->getBits());
+ imgStr->reset();
+ } else {
// initialize stream
str->reset();
+ }
+
+ row = (unsigned char *) gmallocn(width, sizeof(unsigned int));
- // copy the stream
- size = height * ((width + 7) / 8);
- for (i = 0; i < size; ++i) {
- fputc(str->getChar(), f);
+ // PDF masks use 0 = draw current color, 1 = leave unchanged.
+ // We invert this to provide the standard interpretation of alpha
+ // (0 = transparent, 1 = opaque). If the colorMap already inverts
+ // the mask we leave the data unchanged.
+ invert_bits = 0xff;
+ if (colorMap) {
+ colorMap->getGray(&zero, &gray);
+ if (colToByte(gray) == 0)
+ invert_bits = 0x00;
+ }
+
+ // for each line...
+ for (int y = 0; y < height; y++) {
+ switch (format) {
+ case imgRGB:
+ p = imgStr->getLine();
+ rowp = row;
+ for (int x = 0; x < width; ++x) {
+ if (p) {
+ colorMap->getRGB(p, &rgb);
+ *rowp++ = colToByte(rgb.r);
+ *rowp++ = colToByte(rgb.g);
+ *rowp++ = colToByte(rgb.b);
+ p += colorMap->getNumPixelComps();
+ } else {
+ *rowp++ = 0;
+ *rowp++ = 0;
+ *rowp++ = 0;
+ }
+ }
+ writer->writeRow(&row);
+ break;
+
+ case imgCMYK:
+ p = imgStr->getLine();
+ rowp = row;
+ for (int x = 0; x < width; ++x) {
+ if (p) {
+ colorMap->getCMYK(p, &cmyk);
+ *rowp++ = colToByte(cmyk.c);
+ *rowp++ = colToByte(cmyk.m);
+ *rowp++ = colToByte(cmyk.y);
+ *rowp++ = colToByte(cmyk.k);
+ p += colorMap->getNumPixelComps();
+ } else {
+ *rowp++ = 0;
+ *rowp++ = 0;
+ *rowp++ = 0;
+ *rowp++ = 0;
+ }
+ }
+ writer->writeRow(&row);
+ break;
+
+ case imgGray:
+ p = imgStr->getLine();
+ rowp = row;
+ for (int x = 0; x < width; ++x) {
+ if (p) {
+ colorMap->getGray(p, &gray);
+ *rowp++ = colToByte(gray);
+ p += colorMap->getNumPixelComps();
+ } else {
+ *rowp++ = 0;
+ }
+ }
+ writer->writeRow(&row);
+ break;
+
+ case imgMonochrome:
+ int size = (width + 7)/8;
+ for (int x = 0; x < size; x++)
+ row[x] = str->getChar() ^ invert_bits;
+ writer->writeRow(&row);
+ break;
}
+ }
- str->close();
- fclose(f);
+ gfree(row);
+ if (format != imgMonochrome) {
+ imgStr->close();
+ delete imgStr;
}
+ str->close();
+ writer->close();
+ fclose(f);
}
void ImageOutputDev::writeImage(GfxState *state, Object *ref, Stream *str,
int width, int height,
- GfxImageColorMap *colorMap,
- GBool interpolate, int *maskColors, GBool inlineImg) {
- FILE *f;
- ImageStream *imgStr;
- Guchar *p;
- Guchar zero = 0;
- GfxGray gray;
- GfxRGB rgb;
- int x, y;
- int c;
- int size, i;
- int pbm_mask = 0xff;
+ GfxImageColorMap *colorMap, GBool inlineImg) {
+ ImageFormat format;
- // dump JPEG file
if (dumpJPEG && str->getKind() == strDCT &&
(colorMap->getNumPixelComps() == 1 ||
colorMap->getNumPixelComps() == 3) &&
!inlineImg) {
- // open the image file
- setFilename("jpg");
- ++imgNum;
+ // dump JPEG file
+ writeRawImage(str, "jpg");
+
+ } else if (dumpJP2 && str->getKind() == strJPX && !inlineImg) {
+ // dump JPEG2000 file
+ writeRawImage(str, "jp2");
+
+ } else if (dumpJBIG2 && str->getKind() == strJBIG2 && !inlineImg) {
+ // dump JBIG2 globals stream if available
+ JBIG2Stream *jb2Str = static_cast<JBIG2Stream *>(str);
+ Object *globals = jb2Str->getGlobalsStream();
+ if (globals->isStream()) {
+ FILE *f;
+ int c;
+ Stream *str = globals->getStream();
+
+ setFilename("jb2g");
+ if (!(f = fopen(fileName, "wb"))) {
+ error(errIO, -1, "Couldn't open image file '{0:s}'", fileName);
+ return;
+ }
+ str->reset();
+ while ((c = str->getChar()) != EOF)
+ fputc(c, f);
+ str->close();
+ fclose(f);
+ }
+
+ // dump JBIG2 embedded file
+ writeRawImage(str, "jb2e");
+
+ } else if (dumpCCITT && str->getKind() == strCCITTFax && !inlineImg) {
+ // write CCITT parameters
+ CCITTFaxStream *ccittStr = static_cast<CCITTFaxStream *>(str);
+ FILE *f;
+ setFilename("params");
if (!(f = fopen(fileName, "wb"))) {
error(errIO, -1, "Couldn't open image file '{0:s}'", fileName);
return;
}
+ if (ccittStr->getEncoding() < 0)
+ fprintf(f, "-4 ");
+ else if (ccittStr->getEncoding() == 0)
+ fprintf(f, "-1 ");
+ else
+ fprintf(f, "-2 ");
- // initialize stream
- str = str->getNextStream();
- str->reset();
+ if (ccittStr->getEndOfLine())
+ fprintf(f, "-A ");
+ else
+ fprintf(f, "-P ");
+
+ fprintf(f, "-X %d ", ccittStr->getColumns());
+
+ if (ccittStr->getBlackIs1())
+ fprintf(f, "-W ");
+ else
+ fprintf(f, "-B ");
- // copy the stream
- while ((c = str->getChar()) != EOF)
- fputc(c, f);
+ fprintf(f, "-M\n"); // PDF uses MSB first
- str->close();
fclose(f);
- // dump PBM file
- } else if (colorMap->getNumPixelComps() == 1 &&
- colorMap->getBits() == 1) {
+ // dump CCITT file
+ writeRawImage(str, "ccitt");
- // open the image file and write the PBM header
- setFilename("pbm");
- ++imgNum;
- if (!(f = fopen(fileName, "wb"))) {
- error(errIO, -1, "Couldn't open image file '{0:s}'", fileName);
- return;
- }
- fprintf(f, "P4\n");
- fprintf(f, "%d %d\n", width, height);
+ } else if (outputPNG && !(outputTiff && colorMap &&
+ (colorMap->getColorSpace()->getMode() == csDeviceCMYK ||
+ (colorMap->getColorSpace()->getMode() == csICCBased &&
+ colorMap->getNumPixelComps() == 4)))) {
- // initialize stream
- str->reset();
+ // output in PNG format
- // if 0 comes out as 0 in the color map, the we _flip_ stream bits
- // otherwise we pass through stream bits unmolested
- colorMap->getGray(&zero, &gray);
- if(colToByte(gray))
- pbm_mask = 0;
+#if ENABLE_LIBPNG
+ ImgWriter *writer;
- // copy the stream
- size = height * ((width + 7) / 8);
- for (i = 0; i < size; ++i) {
- fputc(str->getChar() ^ pbm_mask, f);
+ if (!colorMap || (colorMap->getNumPixelComps() == 1 && colorMap->getBits() == 1)) {
+ writer = new PNGWriter(PNGWriter::MONOCHROME);
+ format = imgMonochrome;
+ } else if (colorMap->getColorSpace()->getMode() == csDeviceGray ||
+ colorMap->getColorSpace()->getMode() == csCalGray) {
+ writer = new PNGWriter(PNGWriter::GRAY);
+ format = imgGray;
+ } else {
+ writer = new PNGWriter(PNGWriter::RGB);
+ format = imgRGB;
}
- str->close();
- fclose(f);
-
- // dump PPM file
- } else {
+ writeImageFile(writer, format, "png", str, width, height, colorMap);
+#endif
- // open the image file and write the PPM header
- setFilename("ppm");
- ++imgNum;
- if (!(f = fopen(fileName, "wb"))) {
- error(errIO, -1, "Couldn't open image file '{0:s}'", fileName);
- return;
+ } else if (outputTiff) {
+ // output in TIFF format
+
+#if ENABLE_LIBTIFF
+ ImgWriter *writer;
+
+ if (!colorMap || (colorMap->getNumPixelComps() == 1 && colorMap->getBits() == 1)) {
+ writer = new TiffWriter(TiffWriter::MONOCHROME);
+ format = imgMonochrome;
+ } else if (colorMap->getColorSpace()->getMode() == csDeviceGray ||
+ colorMap->getColorSpace()->getMode() == csCalGray) {
+ writer = new TiffWriter(TiffWriter::GRAY);
+ format = imgGray;
+ } else if (colorMap->getColorSpace()->getMode() == csDeviceCMYK ||
+ (colorMap->getColorSpace()->getMode() == csICCBased && colorMap->getNumPixelComps() == 4)) {
+ writer = new TiffWriter(TiffWriter::CMYK);
+ format = imgCMYK;
+ } else {
+ writer = new TiffWriter(TiffWriter::RGB);
+ format = imgRGB;
}
- fprintf(f, "P6\n");
- fprintf(f, "%d %d\n", width, height);
- fprintf(f, "255\n");
- // initialize stream
- imgStr = new ImageStream(str, width, colorMap->getNumPixelComps(),
- colorMap->getBits());
- imgStr->reset();
+ writeImageFile(writer, format, "tif", str, width, height, colorMap);
+#endif
- // for each line...
- for (y = 0; y < height; ++y) {
-
- // write the line
- if ((p = imgStr->getLine())) {
- for (x = 0; x < width; ++x) {
- colorMap->getRGB(p, &rgb);
- fputc(colToByte(rgb.r), f);
- fputc(colToByte(rgb.g), f);
- fputc(colToByte(rgb.b), f);
- p += colorMap->getNumPixelComps();
- }
- } else {
- for (x = 0; x < width; ++x) {
- fputc(0, f);
- fputc(0, f);
- fputc(0, f);
- }
- }
+ } else {
+ // output in PPM/PBM format
+ ImgWriter *writer;
+
+ if (!colorMap || (colorMap->getNumPixelComps() == 1 && colorMap->getBits() == 1)) {
+ writer = new NetPBMWriter(NetPBMWriter::MONOCHROME);
+ format = imgMonochrome;
+ } else {
+ writer = new NetPBMWriter(NetPBMWriter::RGB);
+ format = imgRGB;
}
- imgStr->close();
- delete imgStr;
- fclose(f);
+ writeImageFile(writer, format,
+ format == imgRGB ? "ppm" : "pbm",
+ str, width, height, colorMap);
+
+ delete writer;
}
}
@@ -381,9 +598,9 @@ void ImageOutputDev::drawImageMask(GfxState *state, Object *ref, Stream *str,
int width, int height, GBool invert,
GBool interpolate, GBool inlineImg) {
if (listImages)
- listImage(state, ref, str, width, height, NULL, interpolate, inlineImg, imgMask);
+ listImage(state, ref, str, width, height, NULL, interpolate, inlineImg, imgStencil);
else
- writeMask(state, ref, str, width, height, invert, interpolate, inlineImg);
+ writeImage(state, ref, str, width, height, NULL, inlineImg);
}
void ImageOutputDev::drawImage(GfxState *state, Object *ref, Stream *str,
@@ -393,7 +610,7 @@ void ImageOutputDev::drawImage(GfxState *state, Object *ref, Stream *str,
if (listImages)
listImage(state, ref, str, width, height, colorMap, interpolate, inlineImg, imgImage);
else
- writeImage(state, ref, str, width, height, colorMap, interpolate, maskColors, inlineImg);
+ writeImage(state, ref, str, width, height, colorMap, inlineImg);
}
void ImageOutputDev::drawMaskedImage(
@@ -404,9 +621,8 @@ void ImageOutputDev::drawMaskedImage(
listImage(state, ref, str, width, height, colorMap, interpolate, gFalse, imgImage);
listImage(state, ref, str, maskWidth, maskHeight, NULL, maskInterpolate, gFalse, imgMask);
} else {
- drawImage(state, ref, str, width, height, colorMap, interpolate, NULL, gFalse);
- drawImageMask(state, ref, maskStr, maskWidth, maskHeight, maskInvert,
- maskInterpolate, gFalse);
+ writeImage(state, ref, str, width, height, colorMap, gFalse);
+ writeImage(state, ref, maskStr, maskWidth, maskHeight, NULL, gFalse);
}
}
@@ -419,8 +635,7 @@ void ImageOutputDev::drawSoftMaskedImage(
listImage(state, ref, str, width, height, colorMap, interpolate, gFalse, imgImage);
listImage(state, ref, maskStr, maskWidth, maskHeight, maskColorMap, maskInterpolate, gFalse, imgSmask);
} else {
- drawImage(state, ref, str, width, height, colorMap, interpolate, NULL, gFalse);
- drawImage(state, ref, maskStr, maskWidth, maskHeight,
- maskColorMap, maskInterpolate, NULL, gFalse);
+ writeImage(state, ref, str, width, height, colorMap, gFalse);
+ writeImage(state, ref, maskStr, maskWidth, maskHeight, maskColorMap, gFalse);
}
}
diff --git a/utils/ImageOutputDev.h b/utils/ImageOutputDev.h
index 13911ed3..a694bbc5 100644
--- a/utils/ImageOutputDev.h
+++ b/utils/ImageOutputDev.h
@@ -17,7 +17,7 @@
// Copyright (C) 2008 Timothy Lee <timothy.lee@siriushk.com>
// Copyright (C) 2009 Carlos Garcia Campos <carlosgc@gnome.org>
// Copyright (C) 2010 Jakob Voss <jakob.voss@gbv.de>
-// Copyright (C) 2012 Adrian Johnson <ajohnson@redneon.com>
+// Copyright (C) 2012, 2013 Adrian Johnson <ajohnson@redneon.com>
// Copyright (C) 2013 Thomas Freitag <Thomas.Freitag@alfa.de>
//
// To see a description of the changes please see the Changelog file that
@@ -36,6 +36,7 @@
#include <stdio.h>
#include "goo/gtypes.h"
+#include "goo/ImgWriter.h"
#include "OutputDev.h"
class GfxState;
@@ -52,17 +53,42 @@ public:
imgMask,
imgSmask
};
+ enum ImageFormat {
+ imgRGB,
+ imgGray,
+ imgMonochrome,
+ imgCMYK
+ };
// Create an OutputDev which will write images to files named
// <fileRoot>-NNN.<type> or <fileRoot>-PPP-NNN.<type>, if
// <pageNames> is set. Normally, all images are written as PBM
- // (.pbm) or PPM (.ppm) files. If <dumpJPEG> is set, JPEG images
+ // (.pbm) or PPM (.ppm) files unless PNG or Tiff output is enabled
+ // (PNG is used if both are enabled). If Jpeg is enabled, JPEG images
// are written as JPEG (.jpg) files.
- ImageOutputDev(char *fileRootA, GBool pageNamesA, GBool dumpJPEGA, GBool listImagesA);
+ ImageOutputDev(char *fileRootA, GBool pageNamesA, GBool listImagesA);
// Destructor.
virtual ~ImageOutputDev();
+ // Use PNG format for output
+ void enablePNG(GBool png) { outputPNG = png; }
+
+ // Use TIFF format for output
+ void enableTiff(GBool tiff) { outputTiff = tiff; }
+
+ // Use Jpeg format for Jpeg files
+ void enableJpeg(GBool jpeg) { dumpJPEG = jpeg; }
+
+ // Use Jpeg2000 format for Jpeg2000 files
+ void enableJpeg2000(GBool jp2) { dumpJP2 = jp2; }
+
+ // Use JBIG2 format for JBIG2 files
+ void enableJBig2(GBool jbig2) { dumpJBIG2 = jbig2; }
+
+ // Use CCITT format for CCITT files
+ void enableCCITT(GBool ccitt) { dumpCCITT = ccitt; }
+
// Check if file was successfully created.
virtual GBool isOk() { return ok; }
@@ -128,18 +154,21 @@ private:
GfxImageColorMap *colorMap,
GBool interpolate, GBool inlineImg,
ImageType imageType);
- void writeMask(GfxState *state, Object *ref, Stream *str,
- int width, int height, GBool invert,
- GBool interpolate, GBool inlineImg);
void writeImage(GfxState *state, Object *ref, Stream *str,
- int width, int height, GfxImageColorMap *colorMap,
- GBool interpolate, int *maskColors, GBool inlineImg);
-
+ int width, int height, GfxImageColorMap *colorMap, GBool inlineImg);
+ void writeRawImage(Stream *str, const char *ext);
+ void writeImageFile(ImgWriter *writer, ImageFormat format, const char *ext,
+ Stream *str, int width, int height, GfxImageColorMap *colorMap);
char *fileRoot; // root of output file names
char *fileName; // buffer for output file names
GBool listImages; // list images instead of dumping
GBool dumpJPEG; // set to dump native JPEG files
+ GBool dumpJP2; // set to dump native JPEG2000 files
+ GBool dumpJBIG2; // set to dump native JBIG2 files
+ GBool dumpCCITT; // set to dump native CCITT files
+ GBool outputPNG; // set to output in PNG format
+ GBool outputTiff; // set to output in TIFF format
GBool pageNames; // set to include page number in file names
int pageNum; // current page number
int imgNum; // current image number
diff --git a/utils/JSInfo.cc b/utils/JSInfo.cc
new file mode 100644
index 00000000..e3205c4c
--- /dev/null
+++ b/utils/JSInfo.cc
@@ -0,0 +1,233 @@
+//========================================================================
+//
+// JSInfo.cc
+//
+// This file is licensed under the GPLv2 or later
+//
+// Copyright (C) 2013 Adrian Johnson <ajohnson@redneon.com>
+//
+// To see a description of the changes please see the Changelog file that
+// came with your tarball or type make ChangeLog if you are building from git
+//
+//========================================================================
+
+
+#include "config.h"
+#include <stdio.h>
+#include "Object.h"
+#include "Dict.h"
+#include "Annot.h"
+#include "PDFDoc.h"
+#include "JSInfo.h"
+#include "Link.h"
+#include "Form.h"
+#include "UnicodeMap.h"
+#include "UTF.h"
+
+JSInfo::JSInfo(PDFDoc *docA, int firstPage) {
+ doc = docA;
+ currentPage = firstPage + 1;
+}
+
+JSInfo::~JSInfo() {
+}
+
+void JSInfo::printJS(GooString *js) {
+ Unicode *u;
+ char buf[8];
+ int i, n, len;
+
+ if (!js || !js->getCString())
+ return;
+
+ len = TextStringToUCS4(js, &u);
+ for (i = 0; i < len; i++) {
+ n = uniMap->mapUnicode(u[i], buf, sizeof(buf));
+ fwrite(buf, 1, n, file);
+ }
+}
+
+void JSInfo::scanLinkAction(LinkAction *link, const char *action) {
+ if (!link)
+ return;
+
+ if (link->getKind() == actionJavaScript) {
+ hasJS = gTrue;
+ if (print) {
+ LinkJavaScript *linkjs = static_cast<LinkJavaScript *>(link);
+ GooString *s = linkjs->getScript();
+ if (s && s->getCString()) {
+ fprintf(file, "%s:\n", action);
+ printJS(s);
+ fputs("\n\n", file);
+ }
+ }
+ }
+
+ if (link->getKind() == actionRendition) {
+ LinkRendition *linkr = static_cast<LinkRendition *>(link);
+ if (linkr->getScript()) {
+ hasJS = gTrue;
+ if (print) {
+ GooString *s = linkr->getScript();
+ if (s && s->getCString()) {
+ fprintf(file, "%s (Rendition):\n", action);
+ printJS(s);
+ fputs("\n\n", file);
+ }
+ }
+ }
+ }
+}
+
+void JSInfo::scanJS(int nPages) {
+ print = gFalse;
+ file = NULL;
+ scan(nPages);
+}
+
+void JSInfo::scanJS(int nPages, FILE *fout, UnicodeMap *uMap) {
+ print = gTrue;
+ file = fout;
+ uniMap = uMap;
+ scan(nPages);
+}
+
+void JSInfo::scan(int nPages) {
+ Page *page;
+ Annots *annots;
+ Object obj1, obj2;
+ int lastPage;
+
+ hasJS = gFalse;
+
+ // Names
+ int numNames = doc->getCatalog()->numJS();
+ if (numNames > 0) {
+ hasJS = gTrue;
+ if (print) {
+ for (int i = 0; i < numNames; i++) {
+ fprintf(file, "Name Dictionary \"%s\":\n", doc->getCatalog()->getJSName(i)->getCString());
+ printJS(doc->getCatalog()->getJS(i));
+ fputs("\n\n", file);
+ }
+ }
+ }
+
+ // document actions
+ scanLinkAction(doc->getCatalog()->getAdditionalAction(Catalog::actionCloseDocument),
+ "Before Close Document");
+ scanLinkAction(doc->getCatalog()->getAdditionalAction(Catalog::actionSaveDocumentStart),
+ "Before Save Document");
+ scanLinkAction(doc->getCatalog()->getAdditionalAction(Catalog::actionSaveDocumentFinish),
+ "After Save Document");
+ scanLinkAction(doc->getCatalog()->getAdditionalAction(Catalog::actionPrintDocumentStart),
+ "Before Print Document");
+ scanLinkAction(doc->getCatalog()->getAdditionalAction(Catalog::actionPrintDocumentFinish),
+ "After Print Document");
+
+ // form field actions
+ if (doc->getCatalog()->getFormType() == Catalog::AcroForm) {
+ Form *form = doc->getCatalog()->getForm();
+ for (int i = 0; i < form->getNumFields(); i++) {
+ FormField *field = form->getRootField(i);
+ for (int j = 0; j < field->getNumWidgets(); j++) {
+ FormWidget *widget = field->getWidget(j);
+ scanLinkAction(widget->getActivationAction(),
+ "Field Activated");
+ scanLinkAction(widget->getAdditionalAction(Annot::actionFieldModified),
+ "Field Modified");
+ scanLinkAction(widget->getAdditionalAction(Annot::actionFormatField),
+ "Format Field");
+ scanLinkAction(widget->getAdditionalAction(Annot::actionValidateField),
+ "Validate Field");
+ scanLinkAction(widget->getAdditionalAction(Annot::actionCalculateField),
+ "Calculate Field");
+ }
+ }
+ }
+
+ // scan pages
+
+ if (currentPage > doc->getNumPages()) {
+ return;
+ }
+
+ lastPage = currentPage + nPages;
+ if (lastPage > doc->getNumPages() + 1) {
+ lastPage = doc->getNumPages() + 1;
+ }
+
+ for (int pg = currentPage; pg < lastPage; ++pg) {
+ page = doc->getPage(pg);
+ if (!page) continue;
+
+ // page actions (open, close)
+ scanLinkAction(page->getAdditionalAction(Page::actionOpenPage), "Page Open");
+ scanLinkAction(page->getAdditionalAction(Page::actionClosePage), "Page Close");
+
+ // annotation actions (links, screen, widget)
+ annots = page->getAnnots();
+ for (int i = 0; i < annots->getNumAnnots(); ++i) {
+ if (annots->getAnnot(i)->getType() == Annot::typeLink) {
+ AnnotLink *annot = static_cast<AnnotLink *>(annots->getAnnot(i));
+ scanLinkAction(annot->getAction(), "Link Annotation Activated");
+ } else if (annots->getAnnot(i)->getType() == Annot::typeScreen) {
+ AnnotScreen *annot = static_cast<AnnotScreen *>(annots->getAnnot(i));
+ scanLinkAction(annot->getAction(),
+ "Screen Annotation Activated");
+ scanLinkAction(annot->getAdditionalAction(Annot::actionCursorEntering),
+ "Screen Annotation Cursor Enter");
+ scanLinkAction(annot->getAdditionalAction(Annot::actionCursorLeaving),
+ "Screen Annotation Cursor Leave");
+ scanLinkAction(annot->getAdditionalAction(Annot::actionMousePressed),
+ "Screen Annotation Mouse Pressed");
+ scanLinkAction(annot->getAdditionalAction(Annot::actionMouseReleased),
+ "Screen Annotation Mouse Released");
+ scanLinkAction(annot->getAdditionalAction(Annot::actionFocusIn),
+ "Screen Annotation Focus In");
+ scanLinkAction(annot->getAdditionalAction(Annot::actionFocusOut),
+ "Screen Annotation Focus Out");
+ scanLinkAction(annot->getAdditionalAction(Annot::actionPageOpening),
+ "Screen Annotation Page Open");
+ scanLinkAction(annot->getAdditionalAction(Annot::actionPageClosing),
+ "Screen Annotation Page Close");
+ scanLinkAction(annot->getAdditionalAction(Annot::actionPageVisible),
+ "Screen Annotation Page Visible");
+ scanLinkAction(annot->getAdditionalAction(Annot::actionPageInvisible),
+ "Screen Annotation Page Invisible");
+
+ } else if (annots->getAnnot(i)->getType() == Annot::typeWidget) {
+ AnnotWidget *annot = static_cast<AnnotWidget *>(annots->getAnnot(i));
+ scanLinkAction(annot->getAction(),
+ "Widget Annotation Activated");
+ scanLinkAction(annot->getAdditionalAction(Annot::actionCursorEntering),
+ "Widget Annotation Cursor Enter");
+ scanLinkAction(annot->getAdditionalAction(Annot::actionCursorLeaving),
+ "Widget Annotation Cursor Leave");
+ scanLinkAction(annot->getAdditionalAction(Annot::actionMousePressed),
+ "Widget Annotation Mouse Pressed");
+ scanLinkAction(annot->getAdditionalAction(Annot::actionMouseReleased),
+ "Widget Annotation Mouse Released");
+ scanLinkAction(annot->getAdditionalAction(Annot::actionFocusIn),
+ "Widget Annotation Focus In");
+ scanLinkAction(annot->getAdditionalAction(Annot::actionFocusOut),
+ "Widget Annotation Focus Out");
+ scanLinkAction(annot->getAdditionalAction(Annot::actionPageOpening),
+ "Widget Annotation Page Open");
+ scanLinkAction(annot->getAdditionalAction(Annot::actionPageClosing),
+ "Widget Annotation Page Close");
+ scanLinkAction(annot->getAdditionalAction(Annot::actionPageVisible),
+ "Widget Annotation Page Visible");
+ scanLinkAction(annot->getAdditionalAction(Annot::actionPageInvisible),
+ "Widget Annotation Page Invisible");
+ }
+ }
+ }
+
+ currentPage = lastPage;
+}
+
+GBool JSInfo::containsJS() {
+ return hasJS;
+};
diff --git a/utils/JSInfo.h b/utils/JSInfo.h
new file mode 100644
index 00000000..19b786ff
--- /dev/null
+++ b/utils/JSInfo.h
@@ -0,0 +1,60 @@
+//========================================================================
+//
+// JSInfo.h
+//
+// This file is licensed under the GPLv2 or later
+//
+// Copyright (C) 2013 Adrian Johnson <ajohnson@redneon.com>
+//
+// To see a description of the changes please see the Changelog file that
+// came with your tarball or type make ChangeLog if you are building from git
+//
+//========================================================================
+
+#ifndef JS_INFO_H
+#define JS_INFO_H
+
+#include <stdio.h>
+#include "Object.h"
+#include "PDFDoc.h"
+#include "goo/gtypes.h"
+
+#include "Link.h"
+#include "UnicodeMap.h"
+
+class PDFDoc;
+
+class JSInfo {
+public:
+
+ // Constructor.
+ JSInfo(PDFDoc *doc, int firstPage = 0);
+
+ // Destructor.
+ ~JSInfo();
+
+ // scan for JS in the PDF
+ void scanJS(int nPages);
+
+ // scan and print JS in the PDF
+ void scanJS(int nPages, FILE *fout, UnicodeMap *uMap);
+
+ // return true if PDF contains JavaScript
+ GBool containsJS();
+
+private:
+
+ PDFDoc *doc;
+ int currentPage;
+ GBool hasJS;
+ GBool print;
+ FILE *file;
+ UnicodeMap *uniMap;
+
+ void scan(int nPages);
+ void scanLinkAction(LinkAction *link, const char *action);
+ void printJS(GooString *js);
+
+};
+
+#endif
diff --git a/utils/Makefile.am b/utils/Makefile.am
index 0c954413..1dd9a128 100644
--- a/utils/Makefile.am
+++ b/utils/Makefile.am
@@ -88,12 +88,16 @@ pdfimages_SOURCES = \
pdfimages.cc \
ImageOutputDev.cc \
ImageOutputDev.h \
+ JSInfo.cc \
+ JSInfo.h \
$(common)
pdfinfo_SOURCES = \
pdfinfo.cc \
printencodings.cc \
printencodings.h \
+ JSInfo.cc \
+ JSInfo.h \
$(common)
pdftops_SOURCES = \
diff --git a/utils/Makefile.in b/utils/Makefile.in
index c23e158f..4211aefc 100644
--- a/utils/Makefile.in
+++ b/utils/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.13.3 from Makefile.am.
+# Makefile.in generated by automake 1.14.1 from Makefile.am.
# @configure_input@
# Copyright (C) 1994-2013 Free Software Foundation, Inc.
@@ -121,12 +121,12 @@ pdffonts_OBJECTS = $(am_pdffonts_OBJECTS)
pdffonts_LDADD = $(LDADD)
pdffonts_DEPENDENCIES = $(top_builddir)/poppler/libpoppler.la
am_pdfimages_OBJECTS = pdfimages.$(OBJEXT) ImageOutputDev.$(OBJEXT) \
- $(am__objects_1)
+ JSInfo.$(OBJEXT) $(am__objects_1)
pdfimages_OBJECTS = $(am_pdfimages_OBJECTS)
pdfimages_LDADD = $(LDADD)
pdfimages_DEPENDENCIES = $(top_builddir)/poppler/libpoppler.la
am_pdfinfo_OBJECTS = pdfinfo.$(OBJEXT) printencodings.$(OBJEXT) \
- $(am__objects_1)
+ JSInfo.$(OBJEXT) $(am__objects_1)
pdfinfo_OBJECTS = $(am_pdfinfo_OBJECTS)
pdfinfo_LDADD = $(LDADD)
pdfinfo_DEPENDENCIES = $(top_builddir)/poppler/libpoppler.la
@@ -337,6 +337,7 @@ GLIB_REQ = @GLIB_REQ@
GLIB_REQUIRED = @GLIB_REQUIRED@
GREP = @GREP@
GTKDOC_CHECK = @GTKDOC_CHECK@
+GTKDOC_CHECK_PATH = @GTKDOC_CHECK_PATH@
GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
GTKDOC_MKPDF = @GTKDOC_MKPDF@
@@ -373,7 +374,6 @@ LIBPNG_CFLAGS = @LIBPNG_CFLAGS@
LIBPNG_LIBS = @LIBPNG_LIBS@
LIBS = @LIBS@
LIBTIFF_CFLAGS = @LIBTIFF_CFLAGS@
-LIBTIFF_CFLAGSS = @LIBTIFF_CFLAGSS@
LIBTIFF_LIBS = @LIBTIFF_LIBS@
LIBTOOL = @LIBTOOL@
LIPO = @LIPO@
@@ -558,12 +558,16 @@ pdfimages_SOURCES = \
pdfimages.cc \
ImageOutputDev.cc \
ImageOutputDev.h \
+ JSInfo.cc \
+ JSInfo.h \
$(common)
pdfinfo_SOURCES = \
pdfinfo.cc \
printencodings.cc \
printencodings.h \
+ JSInfo.cc \
+ JSInfo.h \
$(common)
pdftops_SOURCES = \
@@ -737,6 +741,7 @@ distclean-compile:
-rm -f *.tab.c
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ImageOutputDev.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/JSInfo.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/parseargs.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pdfdetach.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pdffonts.Po@am__quote@
diff --git a/utils/pdffonts.cc b/utils/pdffonts.cc
index 820abbf7..535bf8fb 100644
--- a/utils/pdffonts.cc
+++ b/utils/pdffonts.cc
@@ -17,6 +17,7 @@
// Copyright (C) 2007-2008, 2010 Albert Astals Cid <aacid@kde.org>
// Copyright (C) 2010 Hib Eris <hib@hiberis.nl>
// Copyright (C) 2012 Adrian Johnson <ajohnson@redneon.com>
+// Copyright (C) 2013 Suzuki Toshiya <mpsuzuki@hiroshima-u.ac.jp>
//
// To see a description of the changes please see the Changelog file that
// came with your tarball or type make ChangeLog if you are building from git
@@ -150,6 +151,12 @@ int main(int argc, char *argv[]) {
if (lastPage < 1 || lastPage > doc->getNumPages()) {
lastPage = doc->getNumPages();
}
+ if (lastPage < firstPage) {
+ fprintf(stderr,
+ "Wrong page range given: the first page (%d) can not be after the last page (%d).\n",
+ firstPage, lastPage);
+ goto err1;
+ }
// get the fonts
{
diff --git a/utils/pdfimages.1 b/utils/pdfimages.1
index 2929eca1..8485f3d3 100644
--- a/utils/pdfimages.1
+++ b/utils/pdfimages.1
@@ -10,17 +10,26 @@ pdfimages \- Portable Document Format (PDF) image extractor
.SH DESCRIPTION
.B Pdfimages
saves images from a Portable Document Format (PDF) file as Portable
-Pixmap (PPM), Portable Bitmap (PBM), or JPEG files.
+Pixmap (PPM), Portable Bitmap (PBM), Portable Network Graphics (PNG),
+Tagged Image File Format (TIFF), JPEG, JPEG2000, or JBIG2 files.
.PP
Pdfimages reads the PDF file
.IR PDF-file ,
-scans one or more pages, and writes one PPM, PBM, or JPEG file for each image,
+scans one or more pages, and writes one file for each image,
.IR image-root - nnn . xxx ,
where
.I nnn
is the image number and
.I xxx
-is the image type (.ppm, .pbm, .jpg).
+is the image type (.ppm, .pbm, .png, .tif, .jpg, jp2, jb2e, or jb2g).
+.PP
+The default output format is PBM (for monochrome images) or PPM for
+non-monochrome. The \-png or \-tiff options change to default output
+to PNG or TIFF respectively. If both \-png and \-tiff are specified,
+CMYK images will be written as TIFF and all other images will be
+written as PNG. In addition the \-j, \-jp2, and \-jbig2 options will
+cause JPEG, JPEG2000, and JBIG2, respectively, images in the PDF file
+to be written in their native format.
.SH OPTIONS
.TP
.BI \-f " number"
@@ -29,11 +38,61 @@ Specifies the first page to scan.
.BI \-l " number"
Specifies the last page to scan.
.TP
+.B \-png
+Change the default output format to PNG.
+.TP
+.B \-tiff
+Change the default output format to TIFF.
+.TP
.B \-j
-Normally, all images are written as PBM (for monochrome images) or PPM
-(for non-monochrome images) files. With this option, images in DCT
-format are saved as JPEG files. All non-DCT images are saved in
-PBM/PPM format as usual.
+Write images in JPEG format as JPEG files instead of the default format. The JPEG file is identical to the JPEG data stored in the PDF.
+.TP
+.B \-jp2
+Write images in JPEG2000 format as JP2 files instead of the default format. The JP2 file is identical to the JPEG2000 data stored in the PDF.
+.TP
+.B \-jbig2
+Write images in JBIG2 format as JBIG2 files instead of the default format. JBIG2 data in PDF is of the embedded type. The embedded type of JBIG2 has an optional separate file containing global data. The embedded data is written with the extension .jb2e and the global data (if available) will be written to the same image number with the extension .jb2g. The content of both these files is indentical to the JBIG2 data in the PDF.
+.TP
+.B \-ccitt
+Write images in CCITT format as CCITT files instead of the default
+format. The CCITT file is identical to the CCITT data stored in the
+PDF. PDF files contain additional parameters specifying
+how to decode the CCITT data. These parameters are translated to
+fax2tiff input options and written to a .params file with the same image
+number. The parameters are:
+.RS
+.TP
+.B \-1
+1D Group 3 encoding
+.TP
+.B \-2
+2D Group 3 encoding
+.TP
+.B \-4
+Group 4 encoding
+.TP
+.B \-A
+Beginning of line is aligned on a byte boundary
+.TP
+.B \-P
+Beginning of line is not aligned on a byte boundary
+.TP
+.B \-X n
+The image width in pixels
+.TP
+.B \-W
+Encoding uses 1 for black and 0 for white
+.TP
+.B \-B
+Encoding uses 0 for black and 1 for white
+.TP
+.B \-M
+Input data fills from most significant bit to least significant bit.
+.RE
+.TP
+.B \-all
+Write JPEG, JPEG2000, JBIG2, and CCITT images in their native format. CMYK files are written as TIFF files. All other images are written as PNG files.
+This is equivalent to specifying the options \-png \-tiff \-j \-jp2 \-jbig2 \-ccitt.
.TP
.B \-list
Instead of writing the images, list the images along with various information for each image. Do not specify an
@@ -134,6 +193,18 @@ ccitt - CCITT Group 3 or Group 4 Fax
.TP
.B object ID
the image dictionary object ID (number and generation)
+.TP
+.B x\-ppi
+The horizontal resolution of the image (in pixels per inch) when rendered on the pdf page.
+.TP
+.B y\-ppi
+The vertical resolution of the image (in pixels per inch) when rendered on the pdf page.
+.TP
+.B size
+The size of the embedded image in the pdf file. The following suffixes are used: 'B' bytes, 'K' kilobytes, 'M' megabytes, and 'G' gigabytes.
+.TP
+.B ratio
+The compression ratio of the embedded image.
.RE
.TP
.BI \-opw " password"
diff --git a/utils/pdfimages.cc b/utils/pdfimages.cc
index 82c301c7..563839e1 100644
--- a/utils/pdfimages.cc
+++ b/utils/pdfimages.cc
@@ -18,7 +18,8 @@
// Copyright (C) 2007-2008, 2010 Albert Astals Cid <aacid@kde.org>
// Copyright (C) 2010 Hib Eris <hib@hiberis.nl>
// Copyright (C) 2010 Jakob Voss <jakob.voss@gbv.de>
-// Copyright (C) 2012 Adrian Johnson <ajohnson@redneon.com>
+// Copyright (C) 2012, 2013 Adrian Johnson <ajohnson@redneon.com>
+// Copyright (C) 2013 Suzuki Toshiya <mpsuzuki@hiroshima-u.ac.jp>
//
// To see a description of the changes please see the Changelog file that
// came with your tarball or type make ChangeLog if you are building from git
@@ -50,7 +51,13 @@
static int firstPage = 1;
static int lastPage = 0;
static GBool listImages = gFalse;
+static GBool enablePNG = gFalse;
+static GBool enableTiff = gFalse;
static GBool dumpJPEG = gFalse;
+static GBool dumpJP2 = gFalse;
+static GBool dumpJBIG2 = gFalse;
+static GBool dumpCCITT = gFalse;
+static GBool allFormats = gFalse;
static GBool pageNames = gFalse;
static char ownerPassword[33] = "\001";
static char userPassword[33] = "\001";
@@ -63,8 +70,24 @@ static const ArgDesc argDesc[] = {
"first page to convert"},
{"-l", argInt, &lastPage, 0,
"last page to convert"},
+#if ENABLE_LIBPNG
+ {"-png", argFlag, &enablePNG, 0,
+ "change the default output format to PNG"},
+#endif
+#if ENABLE_LIBTIFF
+ {"-tiff", argFlag, &enableTiff, 0,
+ "change the default output format to TIFF"},
+#endif
{"-j", argFlag, &dumpJPEG, 0,
"write JPEG images as JPEG files"},
+ {"-jp2", argFlag, &dumpJP2, 0,
+ "write JPEG2000 images as JP2 files"},
+ {"-jbig2", argFlag, &dumpJBIG2, 0,
+ "write JBIG2 images as JBIG2 files"},
+ {"-ccitt", argFlag, &dumpCCITT, 0,
+ "write CCITT images as CCITT files"},
+ {"-all", argFlag, &allFormats, 0,
+ "equivalent to -png -tiff -j -jp2 -jbig2 -ccitt"},
{"-list", argFlag, &listImages, 0,
"print list of images instead of saving"},
{"-opw", argString, ownerPassword, sizeof(ownerPassword),
@@ -166,12 +189,33 @@ int main(int argc, char *argv[]) {
firstPage = 1;
if (lastPage < 1 || lastPage > doc->getNumPages())
lastPage = doc->getNumPages();
+ if (lastPage < firstPage) {
+ error(errCommandLine, -1,
+ "Wrong page range given: the first page ({0:d}) can not be after the last page ({1:d}).",
+ firstPage, lastPage);
+ goto err1;
+ }
// write image files
- imgOut = new ImageOutputDev(imgRoot, pageNames, dumpJPEG, listImages);
+ imgOut = new ImageOutputDev(imgRoot, pageNames, listImages);
if (imgOut->isOk()) {
- doc->displayPages(imgOut, firstPage, lastPage, 72, 72, 0,
- gTrue, gFalse, gFalse);
+ if (allFormats) {
+ imgOut->enablePNG(gTrue);
+ imgOut->enableTiff(gTrue);
+ imgOut->enableJpeg(gTrue);
+ imgOut->enableJpeg2000(gTrue);
+ imgOut->enableJBig2(gTrue);
+ imgOut->enableCCITT(gTrue);
+ } else {
+ imgOut->enablePNG(enablePNG);
+ imgOut->enableTiff(enableTiff);
+ imgOut->enableJpeg(dumpJPEG);
+ imgOut->enableJpeg2000(dumpJP2);
+ imgOut->enableJBig2(dumpJBIG2);
+ imgOut->enableCCITT(dumpCCITT);
+ }
+ doc->displayPages(imgOut, firstPage, lastPage, 72, 72, 0,
+ gTrue, gFalse, gFalse);
}
delete imgOut;
diff --git a/utils/pdfinfo.1 b/utils/pdfinfo.1
index a3ad1c36..1dd7466e 100644
--- a/utils/pdfinfo.1
+++ b/utils/pdfinfo.1
@@ -48,6 +48,9 @@ tagged (yes/no)
form (AcroForm / XFA / none)
.RE
.RS
+javascript (yes/no)
+.RE
+.RS
page count
.RE
.RS
@@ -90,6 +93,9 @@ TrimBox, and ArtBox.
Prints document-level metadata. (This is the "Metadata" stream from
the PDF file's Catalog object.)
.TP
++.B \-js
++Prints all JavaScript in the PDF.
++.TP
.B \-rawdates
Prints the raw (undecoded) date strings, directly from the PDF file.
.TP
diff --git a/utils/pdfinfo.cc b/utils/pdfinfo.cc
index 14e4f6c6..5a9745fa 100644
--- a/utils/pdfinfo.cc
+++ b/utils/pdfinfo.cc
@@ -19,6 +19,8 @@
// Copyright (C) 2011 Vittal Aithal <vittal.aithal@cognidox.com>
// Copyright (C) 2012, 2013 Adrian Johnson <ajohnson@redneon.com>
// Copyright (C) 2012 Fabio D'Urso <fabiodurso@hotmail.it>
+// Copyright (C) 2013 Adrian Perez de Castro <aperez@igalia.com>
+// Copyright (C) 2013 Suzuki Toshiya <mpsuzuki@hiroshima-u.ac.jp>
//
// To see a description of the changes please see the Changelog file that
// came with your tarball or type make ChangeLog if you are building from git
@@ -53,6 +55,7 @@
#include "UTF.h"
#include "Error.h"
#include "DateInfo.h"
+#include "JSInfo.h"
static void printInfoString(Dict *infoDict, const char *key, const char *text,
UnicodeMap *uMap);
@@ -63,6 +66,7 @@ static int firstPage = 1;
static int lastPage = 0;
static GBool printBoxes = gFalse;
static GBool printMetadata = gFalse;
+static GBool printJS = gFalse;
static GBool rawDates = gFalse;
static char textEncName[128] = "";
static char ownerPassword[33] = "\001";
@@ -80,6 +84,8 @@ static const ArgDesc argDesc[] = {
"print the page bounding boxes"},
{"-meta", argFlag, &printMetadata, 0,
"print the document metadata (XML)"},
+ {"-js", argFlag, &printJS, 0,
+ "print all JavaScript in the PDF"},
{"-rawdates", argFlag, &rawDates, 0,
"print the undecoded date strings directly from the PDF file"},
{"-enc", argString, textEncName, sizeof(textEncName),
@@ -202,6 +208,12 @@ int main(int argc, char *argv[]) {
if (lastPage < 1 || lastPage > doc->getNumPages()) {
lastPage = doc->getNumPages();
}
+ if (lastPage < firstPage) {
+ error(errCommandLine, -1,
+ "Wrong page range given: the first page ({0:d}) can not be after the last page ({1:d}).",
+ firstPage, lastPage);
+ goto err2;
+ }
// print doc info
doc->getDocInfo(&info);
@@ -225,8 +237,12 @@ int main(int argc, char *argv[]) {
info.free();
// print tagging info
- printf("Tagged: %s\n",
- doc->getStructTreeRoot()->isDict() ? "yes" : "no");
+ printf("Tagged: %s\n",
+ (doc->getCatalog()->getMarkInfo() & Catalog::markInfoMarked) ? "yes" : "no");
+ printf("UserProperties: %s\n",
+ (doc->getCatalog()->getMarkInfo() & Catalog::markInfoUserProperties) ? "yes" : "no");
+ printf("Suspects: %s\n",
+ (doc->getCatalog()->getMarkInfo() & Catalog::markInfoSuspects) ? "yes" : "no");
// print form info
switch (doc->getCatalog()->getFormType())
@@ -242,6 +258,13 @@ int main(int argc, char *argv[]) {
break;
}
+ // print javascript info
+ {
+ JSInfo jsInfo(doc, firstPage - 1);
+ jsInfo.scanJS(lastPage - firstPage + 1);
+ printf("JavaScript: %s\n", jsInfo.containsJS() ? "yes" : "no");
+ }
+
// print page count
printf("Pages: %d\n", doc->getNumPages());
@@ -371,6 +394,13 @@ int main(int argc, char *argv[]) {
delete metadata;
}
+ // print javascript
+ if (printJS) {
+ JSInfo jsInfo(doc, firstPage - 1);
+ fputs("\n", stdout);
+ jsInfo.scanJS(lastPage - firstPage + 1, stdout, uMap);
+ }
+
exitCode = 0;
// clean up
diff --git a/utils/pdfseparate.cc b/utils/pdfseparate.cc
index 35ae0209..31dc18ce 100644
--- a/utils/pdfseparate.cc
+++ b/utils/pdfseparate.cc
@@ -5,7 +5,10 @@
// This file is licensed under the GPLv2 or later
//
// Copyright (C) 2011, 2012 Thomas Freitag <Thomas.Freitag@alfa.de>
-// Copyright (C) 2012 Albert Astals Cid <aacid@kde.org>
+// Copyright (C) 2012-2014 Albert Astals Cid <aacid@kde.org>
+// Copyright (C) 2013 Pino Toscano <pino@kde.org>
+// Copyright (C) 2013 Daniel Kahn Gillmor <dkg@fifthhorseman.net>
+// Copyright (C) 2013 Suzuki Toshiya <mpsuzuki@hiroshima-u.ac.jp>
//
//========================================================================
#include "config.h"
@@ -19,6 +22,7 @@
#include "PDFDoc.h"
#include "ErrorCodes.h"
#include "GlobalParams.h"
+#include <ctype.h>
static int firstPage = 0;
static int lastPage = 0;
@@ -44,7 +48,7 @@ static const ArgDesc argDesc[] = {
};
bool extractPages (const char *srcFileName, const char *destFileName) {
- char pathName[1024];
+ char pathName[4096];
GooString *gfileName = new GooString (srcFileName);
PDFDoc *doc = new PDFDoc (gfileName, NULL, NULL, NULL);
@@ -53,6 +57,11 @@ bool extractPages (const char *srcFileName, const char *destFileName) {
return false;
}
+ // destFileName can have multiple %% and one %d
+ // We use auxDestFileName to replace all the valid % appearances
+ // by 'A' (random char that is not %), if at the end of replacing
+ // any of the valid appearances there is still any % around, the
+ // pattern is wrong
if (firstPage == 0 && lastPage == 0) {
firstPage = 1;
lastPage = doc->getNumPages();
@@ -61,12 +70,55 @@ bool extractPages (const char *srcFileName, const char *destFileName) {
lastPage = doc->getNumPages();
if (firstPage == 0)
firstPage = 1;
- if (firstPage != lastPage && strstr(destFileName, "%d") == NULL) {
+ if (lastPage < firstPage) {
+ error(errCommandLine, -1,
+ "Wrong page range given: the first page ({0:d}) can not be after the last page ({1:d}).",
+ firstPage, lastPage);
+ return false;
+ }
+ bool foundmatch = false;
+ char *auxDestFileName = strdup(destFileName);
+ char *p = strstr(auxDestFileName, "%d");
+ if (p != NULL) {
+ foundmatch = true;
+ *p = 'A';
+ } else {
+ char pattern[5];
+ for (int i = 2; i < 10; i++) {
+ sprintf(pattern, "%%0%dd", i);
+ p = strstr(auxDestFileName, pattern);
+ if (p != NULL) {
+ foundmatch = true;
+ *p = 'A';
+ break;
+ }
+ }
+ }
+ if (!foundmatch && firstPage != lastPage) {
error(errSyntaxError, -1, "'{0:s}' must contain '%%d' if more than one page should be extracted", destFileName);
+ free(auxDestFileName);
+ return false;
+ }
+
+ // at this point auxDestFileName can only contain %%
+ p = strstr(auxDestFileName, "%%");
+ while (p != NULL) {
+ *p = 'A';
+ *(p + 1) = 'A';
+ p = strstr(p, "%%");
+ }
+
+ // at this point any other % is wrong
+ p = strstr(auxDestFileName, "%");
+ if (p != NULL) {
+ error(errSyntaxError, -1, "'{0:s}' can only contain one '%d' pattern", destFileName);
+ free(auxDestFileName);
return false;
}
+ free(auxDestFileName);
+
for (int pageNo = firstPage; pageNo <= lastPage; pageNo++) {
- sprintf (pathName, destFileName, pageNo);
+ snprintf (pathName, sizeof (pathName) - 1, destFileName, pageNo);
GooString *gpageName = new GooString (pathName);
int errCode = doc->savePageAs(gpageName, pageNo);
if ( errCode != errNone) {
diff --git a/utils/pdftocairo.1 b/utils/pdftocairo.1
index 7d17eef4..c903ffac 100644
--- a/utils/pdftocairo.1
+++ b/utils/pdftocairo.1
@@ -147,7 +147,7 @@ Specifies the height of crop area in pixels (image output) or points (vector out
Specifies the size of crop square in pixels (image output) or points (vector output) (sets \-W and \-H)
.TP
.B \-cropbox
-Uses the crop box rather than media box when generating the files
+Uses the crop box rather than media box when generating the files (PNG/JPEG/TIFF only)
.TP
.B \-mono
Generate a monochrome file (PNG and TIFF only).
@@ -169,32 +169,24 @@ Generate Level 3 PostScript (PS only). This enables all Level 2 features plus
shading patterns and masked images. This is the default setting.
.TP
.B \-origpagesizes
-Generate a file with variable page sizes and orientations (PS and PDF
-only). The size of each page will be the original page in the PDF
-file. If the output is PS the file will contain %%DocumentMedia and
-%%PageMedia DSC comments specifying the size of each page. Any
-specification of the page size via \-paper, \-paperw, or \-paperh will
-get overridden as long as each page of the PDF file has a defined
-paper size.
+This option is the same as "\-paper match".
.TP
.BI \-paper " size"
Set the paper size to one of "letter", "legal", "A4", or "A3"
(PS,PDF,SVG only). This can also be set to "match", which will set
-the paper size to match the size specified in the PDF
-file. \-origpagesizes overrides this setting if the PDF file has
-defined page sizes.
+the paper size of each page to match the size specified in the PDF
+file. If none the \-paper, \-paperw, or \-paperh options are
+specified the default is to match the paper size.
.TP
.BI \-paperw " size"
-Set the paper width, in points (PS,PDF,SVG only). \-origpagesizes overrides this setting
-if the PDF file has defined page sizes.
+Set the paper width, in points (PS,PDF,SVG only).
.TP
.BI \-paperh " size"
-Set the paper height, in points (PS,PDF,SVG only). \-origpagesizes overrides this setting
-if the PDF file has defined page sizes.
+Set the paper height, in points (PS,PDF,SVG only).
.TP
.B \-nocrop
-By default, output is cropped to the CropBox specified in the PDF
-file. This option disables cropping.
+By default, printing output is cropped to the CropBox specified in the PDF
+file. This option disables cropping (PS,PDF,SVG only).
.TP
.B \-expand
Expand PDF pages smaller than the paper to fill the paper (PS,PDF,SVG only). By
diff --git a/utils/pdftocairo.cc b/utils/pdftocairo.cc
index 192d2957..b3f57b65 100644
--- a/utils/pdftocairo.cc
+++ b/utils/pdftocairo.cc
@@ -19,13 +19,15 @@
// Copyright (C) 2009 Shen Liang <shenzhuxi@gmail.com>
// Copyright (C) 2009 Stefan Thomas <thomas@eload24.com>
// Copyright (C) 2009, 2010 Albert Astals Cid <aacid@kde.org>
-// Copyright (C) 2010, 2011, 2012 Adrian Johnson <ajohnson@redneon.com>
+// Copyright (C) 2010, 2011-2014 Adrian Johnson <ajohnson@redneon.com>
// Copyright (C) 2010 Hib Eris <hib@hiberis.nl>
// Copyright (C) 2010 Jonathan Liu <net147@gmail.com>
// Copyright (C) 2010 William Bader <williambader@hotmail.com>
// Copyright (C) 2011 Thomas Freitag <Thomas.Freitag@alfa.de>
// Copyright (C) 2011 Carlos Garcia Campos <carlosgc@gnome.org>
// Copyright (C) 2012 Koji Otani <sho@bbr.jp>
+// Copyright (C) 2013 Lu Wang <coolwanglu@gmail.com>
+// Copyright (C) 2013 Suzuki Toshiya <mpsuzuki@hiroshima-u.ac.jp>
//
// To see a description of the changes please see the Changelog file that
// came with your tarball or type make ChangeLog if you are building from git
@@ -102,7 +104,7 @@ static GooString icc;
static GBool level2 = gFalse;
static GBool level3 = gFalse;
-static GBool doOrigPageSizes = gFalse;
+static GBool origPageSizes = gFalse;
static char paperSize[15] = "";
static int paperWidth = -1;
static int paperHeight = -1;
@@ -201,7 +203,7 @@ static const ArgDesc argDesc[] = {
"generate Level 2 PostScript (PS, EPS)"},
{"-level3", argFlag, &level3, 0,
"generate Level 3 PostScript (PS, EPS)"},
- {"-origpagesizes",argFlag, &doOrigPageSizes,0,
+ {"-origpagesizes",argFlag, &origPageSizes,0,
"conserve original page sizes (PS, PDF, SVG)"},
{"-paper", argString, paperSize, sizeof(paperSize),
"paper size (letter, legal, A4, A3, match)"},
@@ -370,7 +372,7 @@ void writePageImage(GooString *filename)
int b = (*pixel & 0x000000ff) >> 0;
// an arbitrary integer approximation of .3*r + .59*g + .11*b
int y = (r*19661+g*38666+b*7209 + 32829)>>16;
- if (tiff && mono) {
+ if (mono) {
if (bit == 7)
*rowp = 0;
if (y > 127)
@@ -418,7 +420,7 @@ static void getOutputSize(double page_w, double page_h, double *width, double *h
{
if (printing) {
- if (doOrigPageSizes) {
+ if (origPageSizes) {
*width = page_w;
*height = page_h;
} else {
@@ -484,7 +486,13 @@ static void beginDocument(GooString *outputFileName, double w, double h)
if (outputFileName->cmp("fd://0") == 0)
output_file = stdout;
else
+ {
output_file = fopen(outputFileName->getCString(), "wb");
+ if (!output_file) {
+ fprintf(stderr, "Error opening output file %s\n", outputFileName->getCString());
+ exit(2);
+ }
+ }
if (ps || eps) {
#if CAIRO_HAS_PS_SURFACE
@@ -666,7 +674,7 @@ static GooString *getImageFileName(GooString *outputFileName, int numDigits, int
GooString *imageName = new GooString(outputFileName);
if (!singleFile) {
snprintf(buf, sizeof(buf), "-%0*d", numDigits, page);
- imageName->appendf(buf);
+ imageName->append(buf);
}
if (png)
imageName->append(".png");
@@ -820,10 +828,11 @@ int main(int argc, char *argv[]) {
checkInvalidPrintOption(transp, "-transp");
checkInvalidPrintOption(icc.getCString()[0], "-icc");
checkInvalidPrintOption(singleFile, "-singlefile");
+ checkInvalidPrintOption(useCropBox, "-cropbox");
} else {
checkInvalidImageOption(level2, "-level2");
checkInvalidImageOption(level3, "-level3");
- checkInvalidImageOption(doOrigPageSizes, "-origpagesizes");
+ checkInvalidImageOption(origPageSizes, "-origpagesizes");
checkInvalidImageOption(paperSize[0], "-paper");
checkInvalidImageOption(paperWidth > 0, "-paperw");
checkInvalidImageOption(paperHeight > 0, "-paperh");
@@ -834,6 +843,9 @@ int main(int argc, char *argv[]) {
checkInvalidImageOption(duplex, "-duplex");
}
+ if (printing)
+ useCropBox = !noCrop;
+
if (icc.getCString()[0] && !png) {
fprintf(stderr, "Error: -icc may only be used with png output.\n");
exit(99);
@@ -866,17 +878,23 @@ int main(int argc, char *argv[]) {
if (!level2 && !level3)
level3 = gTrue;
- if (eps && (doOrigPageSizes || paperSize[0] || paperWidth > 0 || paperHeight > 0)) {
+ if (eps && (origPageSizes || paperSize[0] || paperWidth > 0 || paperHeight > 0)) {
fprintf(stderr, "Error: page size options may not be used with eps output.\n");
exit(99);
}
if (paperSize[0]) {
+ if (origPageSizes) {
+ fprintf(stderr, "Error: -origpagesizes and -paper may not be used together.\n");
+ exit(99);
+ }
if (!setPSPaperSize(paperSize, paperWidth, paperHeight)) {
fprintf(stderr, "Invalid paper size\n");
exit(99);
}
}
+ if (paperWidth < 0 || paperHeight < 0)
+ origPageSizes = gTrue;
globalParams = new GlobalParams();
if (quiet) {
@@ -957,6 +975,12 @@ int main(int argc, char *argv[]) {
if (lastPage < 1 || lastPage > doc->getNumPages())
lastPage = doc->getNumPages();
+ if (lastPage < firstPage) {
+ fprintf(stderr,
+ "Wrong page range given: the first page (%d) can not be after the last page (%d).\n",
+ firstPage, lastPage);
+ exit(99);
+ }
if (eps && firstPage != lastPage) {
fprintf(stderr, "EPS files can only contain one page.\n");
exit(99);
diff --git a/utils/pdftohtml.1 b/utils/pdftohtml.1
index f08fccb8..e179070e 100644
--- a/utils/pdftohtml.1
+++ b/utils/pdftohtml.1
@@ -70,7 +70,7 @@ user password (for encrypted files)
.B \-hidden
force hidden text extraction
.TP
-3.B \-fmt
+.B \-fmt
image file format for Splash output (png or jpg).
If complex is selected, but \-fmt is not specified,
\-fmt png will be assumed
diff --git a/utils/pdftohtml.cc b/utils/pdftohtml.cc
index bcec8cb7..aabed0b7 100644
--- a/utils/pdftohtml.cc
+++ b/utils/pdftohtml.cc
@@ -16,12 +16,13 @@
// Copyright (C) 2007-2008, 2010, 2012 Albert Astals Cid <aacid@kde.org>
// Copyright (C) 2010 Hib Eris <hib@hiberis.nl>
// Copyright (C) 2010 Mike Slegeir <tehpola@yahoo.com>
-// Copyright (C) 2010 Suzuki Toshiya <mpsuzuki@hiroshima-u.ac.jp>
+// Copyright (C) 2010, 2013 Suzuki Toshiya <mpsuzuki@hiroshima-u.ac.jp>
// Copyright (C) 2010 OSSD CDAC Mumbai by Leena Chourey (leenac@cdacmumbai.in) and Onkar Potdar (onkar@cdacmumbai.in)
// Copyright (C) 2011 Steven Murdoch <Steven.Murdoch@cl.cam.ac.uk>
// Copyright (C) 2012 Igor Slepchin <igor.redhat@gmail.com>
// Copyright (C) 2012 Ihar Filipau <thephilips@gmail.com>
// Copyright (C) 2012 Luis Parravicini <lparravi@gmail.com>
+// Copyright (C) 2014 Pino Toscano <pino@kde.org>
//
// To see a description of the changes please see the Changelog file that
// came with your tarball or type make ChangeLog if you are building from git
@@ -104,8 +105,12 @@ static const ArgDesc argDesc[] = {
"don't print any messages or errors"},
{"-h", argFlag, &printHelp, 0,
"print usage information"},
+ {"-?", argFlag, &printHelp, 0,
+ "print usage information"},
{"-help", argFlag, &printHelp, 0,
"print usage information"},
+ {"--help", argFlag, &printHelp, 0,
+ "print usage information"},
{"-p", argFlag, &printHtml, 0,
"exchange .pdf links by .html"},
{"-c", argFlag, &complexMode, 0,
@@ -196,7 +201,7 @@ int main(int argc, char *argv[]) {
if (!printVersion) {
printUsage("pdftohtml", "<PDF-file> [<html-file> <xml-file>]", argDesc);
}
- exit(1);
+ exit(printHelp || printVersion ? 0 : 1);
}
// init error file
@@ -322,6 +327,12 @@ int main(int argc, char *argv[]) {
firstPage = 1;
if (lastPage < 1 || lastPage > doc->getNumPages())
lastPage = doc->getNumPages();
+ if (lastPage < firstPage) {
+ error(errCommandLine, -1,
+ "Wrong page range given: the first page ({0:d}) can not be after the last page ({1:d}).",
+ firstPage, lastPage);
+ goto error;
+ }
doc->getDocInfo(&info);
if (info.isDict()) {
diff --git a/utils/pdftoppm.1 b/utils/pdftoppm.1
index 2321d6d0..7f88b6d0 100644
--- a/utils/pdftoppm.1
+++ b/utils/pdftoppm.1
@@ -102,6 +102,18 @@ Specifies the TIFF compression type. This defaults to "none".
Enable or disable FreeType (a TrueType / Type 1 font rasterizer).
This defaults to "yes".
.TP
+.BI \-thinlinemode " none | solid | shape"
+Specifies the thin line mode. This defaults to "none".
+.TP
+"solid":
+adjust lines with a width less than one pixel to pixel boundary
+and paint it with a width of one pixel.
+.TP
+"shape":
+adjust lines with a width less than one pixel to pixel boundary
+and paint it with a width of one pixel but with a shape in proportion
+to its width.
+.TP
.BI \-aa " yes | no"
Enable or disable font anti-aliasing. This defaults to "yes".
.TP
diff --git a/utils/pdftoppm.cc b/utils/pdftoppm.cc
index 73f337c2..962860b1 100644
--- a/utils/pdftoppm.cc
+++ b/utils/pdftoppm.cc
@@ -25,6 +25,7 @@
// Copyright (C) 2010 William Bader <williambader@hotmail.com>
// Copyright (C) 2011-2013 Thomas Freitag <Thomas.Freitag@alfa.de>
// Copyright (C) 2013 Adam Reichold <adamreichold@myopera.com>
+// Copyright (C) 2013 Suzuki Toshiya <mpsuzuki@hiroshima-u.ac.jp>
//
// To see a description of the changes please see the Changelog file that
// came with your tarball or type make ChangeLog if you are building from git
@@ -94,6 +95,8 @@ static char vectorAntialiasStr[16] = "";
static char ownerPassword[33] = "";
static char userPassword[33] = "";
static char TiffCompressionStr[16] = "";
+static char thinLineModeStr[8] = "";
+static SplashThinLineMode thinLineMode = splashThinLineDefault;
#ifdef UTILS_USE_PTHREADS
static int numberOfJobs = 1;
#endif // UTILS_USE_PTHREADS
@@ -169,6 +172,8 @@ static const ArgDesc argDesc[] = {
{"-freetype", argString, enableFreeTypeStr, sizeof(enableFreeTypeStr),
"enable FreeType font rasterizer: yes, no"},
#endif
+ {"-thinlinemode", argString, thinLineModeStr, sizeof(thinLineModeStr),
+ "set thin line mode: none, solid, shape. Default: none"},
{"-aa", argString, antialiasStr, sizeof(antialiasStr),
"enable font anti-aliasing: yes, no"},
@@ -283,7 +288,7 @@ static void processPageJobs() {
#if SPLASH_CMYK
(jpegcmyk || overprint) ? splashModeDeviceN8 :
#endif
- splashModeRGB8, 4, gFalse, *pageJob.paperColor);
+ splashModeRGB8, 4, gFalse, *pageJob.paperColor, gTrue, gTrue, thinLineMode);
splashOut->startDoc(pageJob.doc);
savePageSlice(pageJob.doc, splashOut, pageJob.pg, x, y, w, h, pageJob.pg_w, pageJob.pg_h, pageJob.ppmFile);
@@ -368,6 +373,15 @@ int main(int argc, char *argv[]) {
fprintf(stderr, "Bad '-aaVector' value on command line\n");
}
}
+ if (thinLineModeStr[0]) {
+ if (strcmp(thinLineModeStr, "solid") == 0) {
+ thinLineMode = splashThinLineSolid;
+ } else if (strcmp(thinLineModeStr, "shape") == 0) {
+ thinLineMode = splashThinLineShape;
+ } else if (strcmp(thinLineModeStr, "none") != 0) {
+ fprintf(stderr, "Bad '-thinlinemode' value on command line\n");
+ }
+ }
if (quiet) {
globalParams->setErrQuiet(quiet);
}
@@ -412,6 +426,12 @@ int main(int argc, char *argv[]) {
lastPage = firstPage;
if (lastPage < 1 || lastPage > doc->getNumPages())
lastPage = doc->getNumPages();
+ if (lastPage < firstPage) {
+ fprintf(stderr,
+ "Wrong page range given: the first page (%d) can not be after the last page (%d).\n",
+ firstPage, lastPage);
+ goto err1;
+ }
if (singleFile && firstPage < lastPage) {
if (!quiet) {
@@ -444,7 +464,7 @@ int main(int argc, char *argv[]) {
(jpegcmyk || overprint) ? splashModeDeviceN8 :
#endif
splashModeRGB8, 4,
- gFalse, paperColor);
+ gFalse, paperColor, gTrue, gTrue, thinLineMode);
splashOut->startDoc(doc);
#endif // UTILS_USE_PTHREADS
diff --git a/utils/pdftops.1 b/utils/pdftops.1
index c7aeaf52..ca26bcc0 100644
--- a/utils/pdftops.1
+++ b/utils/pdftops.1
@@ -41,7 +41,7 @@ Generate Level 1 PostScript. The resulting PostScript files will be
significantly larger (if they contain images), but will print on Level
1 printers. This also converts all images to black and white. No
more than one of the PostScript level options (\-level1, \-level1sep,
-\-level2, \-level2sep, \-level3, \-level3Sep) may be given.
+\-level2, \-level2sep, \-level3, \-level3sep) may be given.
.TP
.B \-level1sep
Generate Level 1 separable PostScript. All colors are converted to
@@ -61,33 +61,22 @@ handle custom (spot) colors.
Generate Level 3 PostScript. This enables all Level 2 features plus
CID font embedding.
.TP
-.B \-level3Sep
+.B \-level3sep
Generate Level 3 separable PostScript. The separation handling is the
-same as for \-level2Sep.
-.TP
-.B \-origpagesizes
-Generate a PostScript file with variable page sizes and orientations,
-taking for each page the size of the original page in the PDF file.
-The PostScript file contains "<</PageSize [WIDTH HEIGHT]>> setpagedevice"
-lines in each page header, so that the paper input tray gets correctly
-changed on the printer. This option should be used when pdftops is used
-as a print filter. Any specification of the page size via \-paper,
-\-paperw, or \-paperh will get overridden as long as each page of the
-PDF file has a defined paper size. No more than one of the mode options
-(\-origpagesizes, \-eps, \-form) may be given.
+same as for \-level2sep.
.TP
.B \-eps
Generate an Encapsulated PostScript (EPS) file. An EPS file contains
a single image, so if you use this option with a multi-page PDF file,
you must use \-f and \-l to specify a single page. No more than one of
-the mode options (\-origpagesizes, \-eps, \-form) may be given.
+the mode options (\-eps, \-form) may be given.
.TP
.B \-form
Generate a PostScript form which can be imported by software that
understands forms. A form contains a single page, so if you use this
option with a multi-page PDF file, you must use \-f and \-l to specify a
single page. The \-level1 option cannot be used with \-form. No more
-than one of the mode options (\-origpagesizes, \-eps, \-form) may be
+than one of the mode options (\-eps, \-form) may be
given.
.TP
.B \-opi
@@ -144,17 +133,18 @@ preload images and forms
.TP
.BI \-paper " size"
Set the paper size to one of "letter", "legal", "A4", or "A3". This
-can also be set to "match", which will set the paper size to match the
-size specified in the PDF file. \-origpagesizes overrides this setting
-if the PDF file has defined page sizes.
+can also be set to "match", which will set the paper size of each page to match the
+size specified in the PDF file. If none the \-paper, \-paperw, or \-paperh
+options are spoecified the default is to match the paper size.
.TP
.BI \-paperw " size"
-Set the paper width, in points. \-origpagesizes overrides this setting
-if the PDF file has defined page sizes.
+Set the paper width, in points.
.TP
.BI \-paperh " size"
-Set the paper height, in points. \-origpagesizes overrides this setting
-if the PDF file has defined page sizes.
+Set the paper height, in points.
+.TP
+.B \-origpagesizes
+This option is the same as "\-paper match".
.TP
.B \-nocrop
By default, output is cropped to the CropBox specified in the PDF
diff --git a/utils/pdftops.cc b/utils/pdftops.cc
index 7f5a0ce3..babebed9 100644
--- a/utils/pdftops.cc
+++ b/utils/pdftops.cc
@@ -22,6 +22,8 @@
// Copyright (C) 2009, 2011, 2012 William Bader <williambader@hotmail.com>
// Copyright (C) 2010 Hib Eris <hib@hiberis.nl>
// Copyright (C) 2012 Thomas Freitag <Thomas.Freitag@alfa.de>
+// Copyright (C) 2013 Suzuki Toshiya <mpsuzuki@hiroshima-u.ac.jp>
+// Copyright (C) 2014 Adrian Johnson <ajohnson@redneon.com>
//
// To see a description of the changes please see the Changelog file that
// came with your tarball or type make ChangeLog if you are building from git
@@ -80,7 +82,7 @@ static GBool level2 = gFalse;
static GBool level2Sep = gFalse;
static GBool level3 = gFalse;
static GBool level3Sep = gFalse;
-static GBool doOrigPageSizes = gFalse;
+static GBool origPageSizes = gFalse;
static GBool doEPS = gFalse;
static GBool doForm = gFalse;
#if OPI_SUPPORT
@@ -128,7 +130,7 @@ static const ArgDesc argDesc[] = {
"generate Level 3 PostScript"},
{"-level3sep", argFlag, &level3Sep, 0,
"generate Level 3 separable PostScript"},
- {"-origpagesizes",argFlag, &doOrigPageSizes,0,
+ {"-origpagesizes",argFlag, &origPageSizes,0,
"conserve original page sizes"},
{"-eps", argFlag, &doEPS, 0,
"generate Encapsulated PostScript (EPS)"},
@@ -230,10 +232,9 @@ int main(int argc, char *argv[]) {
fprintf(stderr, "Error: use only one of the 'level' options.\n");
exit(1);
}
- if ((doOrigPageSizes ? 1 : 0) +
- (doEPS ? 1 : 0) +
+ if ((doEPS ? 1 : 0) +
(doForm ? 1 : 0) > 1) {
- fprintf(stderr, "Error: use only one of -origpagesizes, -eps, and -form\n");
+ fprintf(stderr, "Error: use only one of -eps, and -form\n");
exit(1);
}
if (level1) {
@@ -253,15 +254,21 @@ int main(int argc, char *argv[]) {
fprintf(stderr, "Error: forms are only available with Level 2 output.\n");
exit(1);
}
- mode = doOrigPageSizes ? psModePSOrigPageSizes
- : doEPS ? psModeEPS
- : doForm ? psModeForm
- : psModePS;
+ mode = doEPS ? psModeEPS
+ : doForm ? psModeForm
+ : psModePS;
fileName = new GooString(argv[1]);
// read config file
globalParams = new GlobalParams();
+ if (origPageSizes) {
+ paperWidth = paperHeight = -1;
+ }
if (paperSize[0]) {
+ if (origPageSizes) {
+ fprintf(stderr, "Error: -origpagesizes and -paper may not be used together.\n");
+ exit(1);
+ }
if (!setPSPaperSize(paperSize, paperWidth, paperHeight)) {
fprintf(stderr, "Invalid paper size\n");
delete fileName;
@@ -380,6 +387,12 @@ int main(int argc, char *argv[]) {
if (lastPage < 1 || lastPage > doc->getNumPages()) {
lastPage = doc->getNumPages();
}
+ if (lastPage < firstPage) {
+ error(errCommandLine, -1,
+ "Wrong page range given: the first page ({0:d}) can not be after the last page ({1:d}).",
+ firstPage, lastPage);
+ goto err2;
+ }
// check for multi-page EPS or form
if ((doEPS || doForm) && firstPage != lastPage) {
@@ -392,6 +405,7 @@ int main(int argc, char *argv[]) {
NULL, firstPage, lastPage, mode,
paperWidth,
paperHeight,
+ noCrop,
duplex);
if (psOut->isOk()) {
doc->displayPages(psOut, firstPage, lastPage, 72, 72,
diff --git a/utils/pdftotext.cc b/utils/pdftotext.cc
index 3b8b69f2..15c741d3 100644
--- a/utils/pdftotext.cc
+++ b/utils/pdftotext.cc
@@ -18,11 +18,12 @@
// Copyright (C) 2006 Dominic Lachowicz <cinamod@hotmail.com>
// Copyright (C) 2007-2008, 2010, 2011 Albert Astals Cid <aacid@kde.org>
// Copyright (C) 2009 Jan Jockusch <jan@jockusch.de>
-// Copyright (C) 2010 Hib Eris <hib@hiberis.nl>
+// Copyright (C) 2010, 2013 Hib Eris <hib@hiberis.nl>
// Copyright (C) 2010 Kenneth Berland <ken@hero.com>
// Copyright (C) 2011 Tom Gleason <tom@buildadam.com>
// Copyright (C) 2011 Steven Murdoch <Steven.Murdoch@cl.cam.ac.uk>
// Copyright (C) 2013 Yury G. Kudryashov <urkud.urkud@gmail.com>
+// Copyright (C) 2013 Suzuki Toshiya <mpsuzuki@hiroshima-u.ac.jp>
//
// To see a description of the changes please see the Changelog file that
// came with your tarball or type make ChangeLog if you are building from git
@@ -290,6 +291,12 @@ int main(int argc, char *argv[]) {
if (lastPage < 1 || lastPage > doc->getNumPages()) {
lastPage = doc->getNumPages();
}
+ if (lastPage < firstPage) {
+ error(errCommandLine, -1,
+ "Wrong page range given: the first page ({0:d}) can not be after the last page ({1:d}).",
+ firstPage, lastPage);
+ goto err3;
+ }
// write HTML header
if (htmlMeta) {
@@ -341,7 +348,7 @@ int main(int argc, char *argv[]) {
}
// write text file
- if (bbox) {
+ if (htmlMeta && bbox) { // htmlMeta && is superfluous but makes gcc happier
textOut = new TextOutputDev(NULL, physLayout, fixedPitch, rawOrder, htmlMeta);
if (textOut->isOk()) {
@@ -367,7 +374,9 @@ int main(int argc, char *argv[]) {
}
fprintf(f, "</doc>\n");
}
- fclose(f);
+ if (f != stdout) {
+ fclose(f);
+ }
} else {
textOut = new TextOutputDev(textFileName->getCString(),
physLayout, fixedPitch, rawOrder, htmlMeta);
@@ -385,9 +394,9 @@ int main(int argc, char *argv[]) {
}
} else {
- delete textOut;
- exitCode = 2;
- goto err3;
+ delete textOut;
+ exitCode = 2;
+ goto err3;
}
}
delete textOut;
@@ -437,7 +446,7 @@ static void printInfoString(FILE *f, Dict *infoDict, const char *key,
GooString *s1;
GBool isUnicode;
Unicode u;
- char buf[8];
+ char buf[9];
int i, n;
if (infoDict->lookup(key, &obj)->isString()) {
@@ -461,7 +470,9 @@ static void printInfoString(FILE *f, Dict *infoDict, const char *key,
++i;
}
n = uMap->mapUnicode(u, buf, sizeof(buf));
- fwrite(buf, 1, n, f);
+ buf[n] = '\0';
+ const std::string myString = myXmlTokenReplace(buf);
+ fputs(myString.c_str(), f);
}
fputs(text2, f);
}
diff --git a/utils/pdfunite.cc b/utils/pdfunite.cc
index 59b6a8f1..b53e4977 100644
--- a/utils/pdfunite.cc
+++ b/utils/pdfunite.cc
@@ -4,7 +4,7 @@
//
// This file is licensed under the GPLv2 or later
//
-// Copyright (C) 2011, 2012 Thomas Freitag <Thomas.Freitag@alfa.de>
+// Copyright (C) 2011-2014 Thomas Freitag <Thomas.Freitag@alfa.de>
// Copyright (C) 2012 Arseny Solokha <asolokha@gmx.com>
// Copyright (C) 2012 Fabio D'Urso <fabiodurso@hotmail.it>
// Copyright (C) 2012 Albert Astals Cid <aacid@kde.org>
@@ -12,6 +12,7 @@
// Copyright (C) 2013 Hib Eris <hib@hiberis.nl>
//
//========================================================================
+
#include <PDFDoc.h>
#include <GlobalParams.h>
#include "parseargs.h"
@@ -60,7 +61,7 @@ int main (int argc, char *argv[])
exitCode = 99;
const GBool ok = parseArgs (argDesc, &argc, argv);
- if (!ok || argc <= 3 || printVersion || printHelp) {
+ if (!ok || argc < 3 || printVersion || printHelp) {
fprintf(stderr, "pdfunite version %s\n", PACKAGE_VERSION);
fprintf(stderr, "%s\n", popplerCopyright);
fprintf(stderr, "%s\n", xpdfCopyright);
@@ -119,10 +120,22 @@ int main (int argc, char *argv[])
Ref *refPage = docs[i]->getCatalog()->getPageRef(j);
Object page;
docs[i]->getXRef()->fetch(refPage->num, refPage->gen, &page);
+ Dict *pageDict = page.getDict();
+ Dict *resDict = docs[i]->getCatalog()->getPage(j)->getResourceDict();
+ if (resDict) {
+ Object *newResource = new Object();
+ newResource->initDict(resDict);
+ pageDict->set("Resources", newResource);
+ }
pages.push_back(page);
offsets.push_back(numOffset);
- Dict *pageDict = page.getDict();
docs[i]->markPageObjects(pageDict, yRef, countRef, numOffset);
+ Object annotsObj;
+ pageDict->lookupNF("Annots", &annotsObj);
+ if (!annotsObj.isNull()) {
+ docs[i]->markAnnotations(&annotsObj, yRef, countRef, numOffset, refPage->num, refPage->num);
+ annotsObj.free();
+ }
}
objectsCount += docs[i]->writePageObjects(outStr, yRef, numOffset, gTrue);
numOffset = yRef->getNumObjects() + 1;