summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlbert Astals Cid <aacid@kde.org>2021-01-17 18:31:19 +0100
committerAlbert Astals Cid <tsdgeos@yahoo.es>2021-03-01 21:37:34 +0000
commitce1fcd4352f920a59d965310440be18ff48acb8f (patch)
tree63eade90c9942eb9da6e6e526941c5723ef95ef9
parentd1e5c5b29214d82f43eb72d51b2df5184fcbbe33 (diff)
Hide symbols by default
Use cmake for better import/export defines
-rw-r--r--CMakeLists.txt7
-rw-r--r--cpp/CMakeLists.txt2
-rw-r--r--cpp/poppler-global.h14
-rw-r--r--fofi/FoFiTrueType.h3
-rw-r--r--fofi/FoFiType1C.h4
-rw-r--r--glib/CMakeLists.txt8
-rw-r--r--glib/poppler-macros.h33
-rw-r--r--goo/GooString.h4
-rw-r--r--goo/GooTimer.h4
-rw-r--r--goo/ImgWriter.h4
-rw-r--r--goo/JpegWriter.h3
-rw-r--r--goo/NetPBMWriter.h3
-rw-r--r--goo/PNGWriter.h3
-rw-r--r--goo/TiffWriter.h3
-rw-r--r--goo/gbase64.h4
-rw-r--r--goo/gbasename.h3
-rw-r--r--goo/gfile.h15
-rw-r--r--goo/glibc.h7
-rw-r--r--goo/gstrtod.h4
-rw-r--r--poppler/Annot.h67
-rw-r--r--poppler/Array.h3
-rw-r--r--poppler/BBoxOutputDev.h2
-rw-r--r--poppler/CachedFile.h7
-rw-r--r--poppler/Catalog.h5
-rw-r--r--poppler/CertificateInfo.h3
-rw-r--r--poppler/DateInfo.h7
-rw-r--r--poppler/Dict.h3
-rw-r--r--poppler/Error.h5
-rw-r--r--poppler/FileSpec.h7
-rw-r--r--poppler/FontInfo.h5
-rw-r--r--poppler/Form.h17
-rw-r--r--poppler/Function.h2
-rw-r--r--poppler/Gfx.h5
-rw-r--r--poppler/GfxFont.h9
-rw-r--r--poppler/GfxState.h27
-rw-r--r--poppler/GlobalParams.h7
-rw-r--r--poppler/JSInfo.h4
-rw-r--r--poppler/Lexer.h2
-rw-r--r--poppler/Link.h13
-rw-r--r--poppler/MarkedContentOutputDev.h3
-rw-r--r--poppler/Movie.h3
-rw-r--r--poppler/Object.h3
-rw-r--r--poppler/OptionalContent.h5
-rw-r--r--poppler/Outline.h3
-rw-r--r--poppler/OutputDev.h3
-rw-r--r--poppler/PDFDoc.h3
-rw-r--r--poppler/PDFDocEncoding.h5
-rw-r--r--poppler/PDFDocFactory.h3
-rw-r--r--poppler/PSOutputDev.h3
-rw-r--r--poppler/Page.h3
-rw-r--r--poppler/PageTransition.h2
-rw-r--r--poppler/Parser.h2
-rw-r--r--poppler/Rendition.h2
-rw-r--r--poppler/SignatureHandler.h3
-rw-r--r--poppler/SignatureInfo.h4
-rw-r--r--poppler/Sound.h2
-rw-r--r--poppler/SplashOutputDev.h3
-rw-r--r--poppler/Stream.h19
-rw-r--r--poppler/StructElement.h5
-rw-r--r--poppler/TextOutputDev.h13
-rw-r--r--poppler/UTF.h17
-rw-r--r--poppler/UnicodeMap.h3
-rw-r--r--poppler/UnicodeMapFuncs.h2
-rw-r--r--poppler/UnicodeTypeTable.h5
-rw-r--r--poppler/XRef.h3
-rw-r--r--qt5/demos/CMakeLists.txt1
-rw-r--r--qt5/src/CMakeLists.txt3
-rw-r--r--qt5/src/poppler-export.h20
-rw-r--r--qt5/tests/CMakeLists.txt1
-rw-r--r--qt6/demos/CMakeLists.txt1
-rw-r--r--qt6/src/CMakeLists.txt3
-rw-r--r--qt6/src/poppler-export.h20
-rw-r--r--qt6/tests/CMakeLists.txt1
-rw-r--r--splash/Splash.h3
-rw-r--r--splash/SplashBitmap.h3
-rw-r--r--splash/SplashPath.h3
-rw-r--r--splash/SplashPattern.h3
77 files changed, 251 insertions, 261 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 1c6be697..487d42c1 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -20,6 +20,7 @@ test_big_endian(WORDS_BIGENDIAN)
include(CheckFileOffsetBits)
CHECK_FILE_OFFSET_BITS()
+include(GenerateExportHeader)
include(GNUInstallDirs)
set(ENABLE_FUZZER FALSE)
@@ -44,6 +45,10 @@ set(POPPLER_VERSION "${POPPLER_MAJOR_VERSION}.${POPPLER_MINOR_VERSION_STRING}.${
set(CMAKE_CXX_STANDARD 14)
set(CMAKE_CXX_EXTENSIONS OFF)
set(CMAKE_LINK_DEPENDS_NO_SHARED TRUE)
+set(CMAKE_C_VISIBILITY_PRESET hidden)
+set(CMAKE_CXX_VISIBILITY_PRESET hidden)
+set(CMAKE_VISIBILITY_INLINES_HIDDEN 1)
+
# command line switches
option(ENABLE_UNSTABLE_API_ABI_HEADERS "Install API/ABI unstable xpdf headers." OFF)
@@ -565,6 +570,7 @@ add_library(poppler STATIC ${poppler_SRCS})
else()
add_library(poppler ${poppler_SRCS})
endif()
+generate_export_header(poppler BASE_NAME poppler-private EXPORT_FILE_NAME "${CMAKE_CURRENT_BINARY_DIR}/poppler_private_export.h")
set_target_properties(poppler PROPERTIES VERSION 108.0.0 SOVERSION 108)
if(MINGW AND BUILD_SHARED_LIBS)
get_target_property(POPPLER_SOVERSION poppler SOVERSION)
@@ -650,6 +656,7 @@ if(ENABLE_UNSTABLE_API_ABI_HEADERS)
poppler/BBoxOutputDev.h
poppler/UTF.h
poppler/Sound.h
+ ${CMAKE_CURRENT_BINARY_DIR}/poppler_private_export.h
${CMAKE_CURRENT_BINARY_DIR}/poppler/poppler-config.h
DESTINATION include/poppler)
install(FILES
diff --git a/cpp/CMakeLists.txt b/cpp/CMakeLists.txt
index 5d351979..c37936b6 100644
--- a/cpp/CMakeLists.txt
+++ b/cpp/CMakeLists.txt
@@ -25,6 +25,7 @@ set(poppler_cpp_SRCS
)
add_library(poppler-cpp ${poppler_cpp_SRCS})
+generate_export_header(poppler-cpp BASE_NAME poppler-cpp EXPORT_FILE_NAME "${CMAKE_CURRENT_BINARY_DIR}/poppler_cpp_export.h")
set_target_properties(poppler-cpp PROPERTIES VERSION 0.9.0 SOVERSION 0)
if(MINGW AND BUILD_SHARED_LIBS)
get_target_property(POPPLER_CPP_SOVERSION poppler-cpp SOVERSION)
@@ -46,6 +47,7 @@ install(FILES
poppler-page-transition.h
poppler-rectangle.h
poppler-toc.h
+ ${CMAKE_CURRENT_BINARY_DIR}/poppler_cpp_export.h
${CMAKE_CURRENT_BINARY_DIR}/poppler-version.h
DESTINATION include/poppler/cpp)
diff --git a/cpp/poppler-global.h b/cpp/poppler-global.h
index 1ae63bda..bdc12beb 100644
--- a/cpp/poppler-global.h
+++ b/cpp/poppler-global.h
@@ -22,19 +22,7 @@
#ifndef POPPLER_GLOBAL_H
#define POPPLER_GLOBAL_H
-#if defined(_WIN32)
-# define LIB_EXPORT __declspec(dllexport)
-# define LIB_IMPORT __declspec(dllimport)
-#else
-# define LIB_EXPORT
-# define LIB_IMPORT
-#endif
-
-#if defined(poppler_cpp_EXPORTS)
-# define POPPLER_CPP_EXPORT LIB_EXPORT
-#else
-# define POPPLER_CPP_EXPORT LIB_IMPORT
-#endif
+#include "poppler_cpp_export.h"
#include <iosfwd>
#include <string>
diff --git a/fofi/FoFiTrueType.h b/fofi/FoFiTrueType.h
index dd9a6b3f..b90ae2be 100644
--- a/fofi/FoFiTrueType.h
+++ b/fofi/FoFiTrueType.h
@@ -32,6 +32,7 @@
#include <unordered_map>
#include <string>
#include "FoFiBase.h"
+#include "poppler_private_export.h"
class GooString;
struct TrueTypeTable;
@@ -41,7 +42,7 @@ struct TrueTypeCmap;
// FoFiTrueType
//------------------------------------------------------------------------
-class FoFiTrueType : public FoFiBase
+class POPPLER_PRIVATE_EXPORT FoFiTrueType : public FoFiBase
{
public:
// Create a FoFiTrueType object from a memory buffer.
diff --git a/fofi/FoFiType1C.h b/fofi/FoFiType1C.h
index b2ebc934..ad7a4c3f 100644
--- a/fofi/FoFiType1C.h
+++ b/fofi/FoFiType1C.h
@@ -27,6 +27,8 @@
#include "FoFiBase.h"
+#include "poppler_private_export.h"
+
#include <set>
class GooString;
@@ -148,7 +150,7 @@ struct Type1CEexecBuf
// FoFiType1C
//------------------------------------------------------------------------
-class FoFiType1C : public FoFiBase
+class POPPLER_PRIVATE_EXPORT FoFiType1C : public FoFiBase
{
public:
// Create a FoFiType1C object from a memory buffer.
diff --git a/glib/CMakeLists.txt b/glib/CMakeLists.txt
index 961b7756..fd26a5d9 100644
--- a/glib/CMakeLists.txt
+++ b/glib/CMakeLists.txt
@@ -32,7 +32,6 @@ set(poppler_glib_public_headers
poppler-form-field.h
poppler-annot.h
poppler-layer.h
- poppler-macros.h
poppler-movie.h
poppler-media.h
poppler.h
@@ -87,10 +86,8 @@ set(poppler_glib_generated_SRCS
${CMAKE_SOURCE_DIR}/poppler/CairoRescaleBox.cc
)
add_library(poppler-glib ${poppler_glib_SRCS} ${poppler_glib_generated_SRCS})
+generate_export_header(poppler-glib EXPORT_MACRO_NAME POPPLER_PUBLIC EXPORT_FILE_NAME "${CMAKE_CURRENT_BINARY_DIR}/poppler-macros.h")
set_target_properties(poppler-glib PROPERTIES VERSION 8.19.0 SOVERSION 8)
-set_target_properties(poppler-glib PROPERTIES C_VISIBILITY_PRESET hidden)
-set_target_properties(poppler-glib PROPERTIES CXX_VISIBILITY_PRESET hidden)
-set_target_properties(poppler-glib PROPERTIES VISIBILITY_INLINES_HIDDEN 1)
if(MINGW AND BUILD_SHARED_LIBS)
get_target_property(POPPLER_GLIB_SOVERSION poppler-glib SOVERSION)
set_target_properties(poppler-glib PROPERTIES SUFFIX "-${POPPLER_GLIB_SOVERSION}${CMAKE_SHARED_LIBRARY_SUFFIX}")
@@ -105,6 +102,7 @@ install(FILES
${poppler_glib_public_headers}
${CMAKE_CURRENT_BINARY_DIR}/poppler-enums.h
${CMAKE_CURRENT_BINARY_DIR}/poppler-features.h
+ ${CMAKE_CURRENT_BINARY_DIR}/poppler-macros.h
DESTINATION include/poppler/glib)
set_directory_properties(PROPERTIES ADDITIONAL_MAKE_CLEAN_FILES
@@ -136,7 +134,7 @@ if (HAVE_INTROSPECTION AND BUILD_SHARED_LIBS)
# Load temporary source-file lists, including a few generated at build
set(orig_introspect_srcs ${poppler_glib_SRCS} ${poppler_glib_public_headers})
- set(gen_introspect_srcs "poppler-enums.c" "poppler-enums.h" "poppler-features.h")
+ set(gen_introspect_srcs "poppler-enums.c" "poppler-enums.h" "poppler-features.h" "poppler-macros.h")
# Prefix the files with their correct directories for full paths
_gir_list_prefix(_orig_introspect_paths orig_introspect_srcs "${CMAKE_CURRENT_SOURCE_DIR}/")
_gir_list_prefix(_gen_introspect_paths gen_introspect_srcs "${CMAKE_CURRENT_BINARY_DIR}/")
diff --git a/glib/poppler-macros.h b/glib/poppler-macros.h
deleted file mode 100644
index 41c4598e..00000000
--- a/glib/poppler-macros.h
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
- * Copyright © 2018 Christian Persch
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2, or (at your option)
- * any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.
- */
-
-#ifndef __POPPLER_MACROS_H__
-#define __POPPLER_MACROS_H__
-
-/**
- * POPPLER_PUBLIC:
- */
-#if defined(_WIN32)
-# define POPPLER_PUBLIC __declspec(dllexport)
-#elif defined(__GNUC__)
-# define POPPLER_PUBLIC __attribute__((visibility("default"))) extern
-#else
-# define POPPLER_PUBLIC
-#endif
-
-#endif /* __POPPLER_MACROS_H__ */
diff --git a/goo/GooString.h b/goo/GooString.h
index 11762645..81c2d5b7 100644
--- a/goo/GooString.h
+++ b/goo/GooString.h
@@ -38,6 +38,8 @@
#ifndef GooString_H
#define GooString_H
+#include "poppler_private_export.h"
+
#include <cstdarg>
#include <string>
@@ -47,7 +49,7 @@
# define GOOSTRING_FORMAT
#endif
-class GooString : private std::string
+class POPPLER_PRIVATE_EXPORT GooString : private std::string
{
public:
// Create an empty string.
diff --git a/goo/GooTimer.h b/goo/GooTimer.h
index c4faaaba..00b85618 100644
--- a/goo/GooTimer.h
+++ b/goo/GooTimer.h
@@ -18,6 +18,8 @@
#define GOOTIMER_H
#include "poppler-config.h"
+#include "poppler_private_export.h"
+
#ifdef HAVE_GETTIMEOFDAY
# include <sys/time.h>
#endif
@@ -33,7 +35,7 @@
// GooTimer
//------------------------------------------------------------------------
-class GooTimer
+class POPPLER_PRIVATE_EXPORT GooTimer
{
public:
// Create a new timer.
diff --git a/goo/ImgWriter.h b/goo/ImgWriter.h
index e69b59e1..64f60efb 100644
--- a/goo/ImgWriter.h
+++ b/goo/ImgWriter.h
@@ -15,9 +15,11 @@
#ifndef IMGWRITER_H
#define IMGWRITER_H
+#include "poppler_private_export.h"
+
#include <cstdio>
-class ImgWriter
+class POPPLER_PRIVATE_EXPORT ImgWriter
{
public:
ImgWriter() = default;
diff --git a/goo/JpegWriter.h b/goo/JpegWriter.h
index a598ec34..8cdbc70e 100644
--- a/goo/JpegWriter.h
+++ b/goo/JpegWriter.h
@@ -19,6 +19,7 @@
#define JPEGWRITER_H
#include "poppler-config.h"
+#include "poppler_private_export.h"
#ifdef ENABLE_LIBJPEG
@@ -27,7 +28,7 @@
struct JpegWriterPrivate;
-class JpegWriter : public ImgWriter
+class POPPLER_PRIVATE_EXPORT JpegWriter : public ImgWriter
{
public:
/* RGB - 3 bytes/pixel
diff --git a/goo/NetPBMWriter.h b/goo/NetPBMWriter.h
index 9f864a1d..c3e5faa8 100644
--- a/goo/NetPBMWriter.h
+++ b/goo/NetPBMWriter.h
@@ -16,6 +16,7 @@
#define NETPBMWRITER_H
#include "poppler-config.h"
+#include "poppler_private_export.h"
#include "ImgWriter.h"
@@ -24,7 +25,7 @@
// http://netpbm.sourceforge.net/doc/pbm.html
// http://netpbm.sourceforge.net/doc/ppm.html
-class NetPBMWriter : public ImgWriter
+class POPPLER_PRIVATE_EXPORT NetPBMWriter : public ImgWriter
{
public:
/* RGB - 3 bytes/pixel
diff --git a/goo/PNGWriter.h b/goo/PNGWriter.h
index 67281258..f2f94c17 100644
--- a/goo/PNGWriter.h
+++ b/goo/PNGWriter.h
@@ -17,6 +17,7 @@
#define PNGWRITER_H
#include "poppler-config.h"
+#include "poppler_private_export.h"
#ifdef ENABLE_LIBPNG
@@ -24,7 +25,7 @@
struct PNGWriterPrivate;
-class PNGWriter : public ImgWriter
+class POPPLER_PRIVATE_EXPORT PNGWriter : public ImgWriter
{
public:
/* RGB - 3 bytes/pixel
diff --git a/goo/TiffWriter.h b/goo/TiffWriter.h
index 2f7159ea..d0358efc 100644
--- a/goo/TiffWriter.h
+++ b/goo/TiffWriter.h
@@ -15,6 +15,7 @@
#define TIFFWRITER_H
#include "poppler-config.h"
+#include "poppler_private_export.h"
#ifdef ENABLE_LIBTIFF
@@ -23,7 +24,7 @@
struct TiffWriterPrivate;
-class TiffWriter : public ImgWriter
+class POPPLER_PRIVATE_EXPORT TiffWriter : public ImgWriter
{
public:
/* RGB - 3 bytes/pixel
diff --git a/goo/gbase64.h b/goo/gbase64.h
index 0a402773..08990687 100644
--- a/goo/gbase64.h
+++ b/goo/gbase64.h
@@ -15,10 +15,12 @@
#ifndef GOO_GBASE64_H
#define GOO_GBASE64_H
+#include "poppler_private_export.h"
+
#include <string>
#include <vector>
-std::string gbase64Encode(const void *input, size_t len);
+std::string POPPLER_PRIVATE_EXPORT gbase64Encode(const void *input, size_t len);
inline std::string gbase64Encode(const std::vector<char> &input)
{
diff --git a/goo/gbasename.h b/goo/gbasename.h
index 5e8d6c45..33e97649 100644
--- a/goo/gbasename.h
+++ b/goo/gbasename.h
@@ -17,7 +17,8 @@
#define GBASENAME_H
#include <string>
+#include "poppler_private_export.h"
-std::string gbasename(const char *filename);
+std::string POPPLER_PRIVATE_EXPORT gbasename(const char *filename);
#endif // ndef GBASENAME_H
diff --git a/goo/gfile.h b/goo/gfile.h
index 4eb2cf4a..97cd517f 100644
--- a/goo/gfile.h
+++ b/goo/gfile.h
@@ -36,6 +36,7 @@
#define GFILE_H
#include "poppler-config.h"
+#include "poppler_private_export.h"
#include <cstdio>
#include <cstdlib>
#include <cstddef>
@@ -82,27 +83,27 @@ typedef long long Goffset;
// Append a file name to a path string. <path> may be an empty
// string, denoting the current directory). Returns <path>.
-extern GooString *appendToPath(GooString *path, const char *fileName);
+extern GooString POPPLER_PRIVATE_EXPORT *appendToPath(GooString *path, const char *fileName);
#ifndef _WIN32
// Open a file descriptor
// Could be implemented on WIN32 too, but the only external caller of
// this function is not used on WIN32
-extern int openFileDescriptor(const char *path, int flags);
+extern int POPPLER_PRIVATE_EXPORT openFileDescriptor(const char *path, int flags);
#endif
// Open a file. On Windows, this converts the path from UTF-8 to
// UCS-2 and calls _wfopen (if available). On other OSes, this simply
// calls fopen.
-extern FILE *openFile(const char *path, const char *mode);
+extern FILE POPPLER_PRIVATE_EXPORT *openFile(const char *path, const char *mode);
// Just like fgets, but handles Unix, Mac, and/or DOS end-of-line
// conventions.
-extern char *getLine(char *buf, int size, FILE *f);
+extern char POPPLER_PRIVATE_EXPORT *getLine(char *buf, int size, FILE *f);
// Like fseek/ftell but uses platform specific variants that support large files
-extern int Gfseek(FILE *f, Goffset offset, int whence);
-extern Goffset Gftell(FILE *f);
+extern int POPPLER_PRIVATE_EXPORT Gfseek(FILE *f, Goffset offset, int whence);
+extern Goffset POPPLER_PRIVATE_EXPORT Gftell(FILE *f);
// Largest offset supported by Gfseek/Gftell
extern Goffset GoffsetMax();
@@ -111,7 +112,7 @@ extern Goffset GoffsetMax();
// GooFile
//------------------------------------------------------------------------
-class GooFile
+class POPPLER_PRIVATE_EXPORT GooFile
{
public:
GooFile(const GooFile &) = delete;
diff --git a/goo/glibc.h b/goo/glibc.h
index fc8b12cf..3de68e9f 100644
--- a/goo/glibc.h
+++ b/goo/glibc.h
@@ -15,19 +15,20 @@
#define GLIBC_H
#include "config.h"
+#include "poppler_private_export.h"
#include <ctime>
#ifndef HAVE_GMTIME_R
-struct tm *gmtime_r(const time_t *timep, struct tm *result);
+struct tm POPPLER_PRIVATE_EXPORT *gmtime_r(const time_t *timep, struct tm *result);
#endif
#ifndef HAVE_LOCALTIME_R
-struct tm *localtime_r(const time_t *timep, struct tm *result);
+struct tm POPPLER_PRIVATE_EXPORT *localtime_r(const time_t *timep, struct tm *result);
#endif
#ifndef HAVE_TIMEGM
-time_t timegm(struct tm *tm);
+time_t POPPLER_PRIVATE_EXPORT timegm(struct tm *tm);
#endif
#ifndef HAVE_STRTOK_R
diff --git a/goo/gstrtod.h b/goo/gstrtod.h
index 66ba4694..fbf1872f 100644
--- a/goo/gstrtod.h
+++ b/goo/gstrtod.h
@@ -23,6 +23,8 @@
#ifndef GSTRTOD_H
#define GSTRTOD_H
+#include "poppler_private_export.h"
+
#ifdef __cplusplus
extern "C" {
#endif
@@ -33,7 +35,7 @@ extern "C" {
* A limitation of the implementation is that this function
* will still accept localized versions of infinities and NANs.
*/
-double gatof(const char *nptr);
+double POPPLER_PRIVATE_EXPORT gatof(const char *nptr);
double gstrtod(const char *nptr, char **endptr);
#ifdef __cplusplus
diff --git a/poppler/Annot.h b/poppler/Annot.h
index bb63680e..8c0fabe6 100644
--- a/poppler/Annot.h
+++ b/poppler/Annot.h
@@ -52,6 +52,7 @@
#include <vector>
#include "Object.h"
+#include "poppler_private_export.h"
class XRef;
class Gfx;
@@ -114,7 +115,7 @@ protected:
// AnnotPath
//------------------------------------------------------------------------
-class AnnotPath
+class POPPLER_PRIVATE_EXPORT AnnotPath
{
public:
AnnotPath();
@@ -140,7 +141,7 @@ protected:
// AnnotCalloutLine
//------------------------------------------------------------------------
-class AnnotCalloutLine
+class POPPLER_PRIVATE_EXPORT AnnotCalloutLine
{
public:
AnnotCalloutLine(double x1, double y1, double x2, double y2);
@@ -162,7 +163,7 @@ protected:
// AnnotCalloutMultiLine
//------------------------------------------------------------------------
-class AnnotCalloutMultiLine : public AnnotCalloutLine
+class POPPLER_PRIVATE_EXPORT AnnotCalloutMultiLine : public AnnotCalloutLine
{
public:
AnnotCalloutMultiLine(double x1, double y1, double x2, double y2, double x3, double y3);
@@ -202,10 +203,10 @@ private:
// AnnotQuadrilateral
//------------------------------------------------------------------------
-class AnnotQuadrilaterals
+class POPPLER_PRIVATE_EXPORT AnnotQuadrilaterals
{
public:
- class AnnotQuadrilateral
+ class POPPLER_PRIVATE_EXPORT AnnotQuadrilateral
{
public:
AnnotQuadrilateral();
@@ -290,7 +291,7 @@ protected:
// AnnotBorderArray
//------------------------------------------------------------------------
-class AnnotBorderArray : public AnnotBorder
+class POPPLER_PRIVATE_EXPORT AnnotBorderArray : public AnnotBorder
{
public:
AnnotBorderArray();
@@ -336,7 +337,7 @@ private:
// AnnotColor
//------------------------------------------------------------------------
-class AnnotColor
+class POPPLER_PRIVATE_EXPORT AnnotColor
{
public:
enum AnnotColorSpace
@@ -369,7 +370,7 @@ private:
// DefaultAppearance
//------------------------------------------------------------------------
-class DefaultAppearance
+class POPPLER_PRIVATE_EXPORT DefaultAppearance
{
public:
DefaultAppearance(Object &&fontNameA, double fontPtSizeA, std::unique_ptr<AnnotColor> fontColorA);
@@ -473,7 +474,7 @@ protected:
// AnnotAppearanceCharacs
//------------------------------------------------------------------------
-class AnnotAppearanceCharacs
+class POPPLER_PRIVATE_EXPORT AnnotAppearanceCharacs
{
public:
enum AnnotAppearanceCharacsTextPos
@@ -602,7 +603,7 @@ private:
// Annot
//------------------------------------------------------------------------
-class Annot
+class POPPLER_PRIVATE_EXPORT Annot
{
friend class Annots;
friend class Page;
@@ -798,7 +799,7 @@ protected:
// AnnotPopup
//------------------------------------------------------------------------
-class AnnotPopup : public Annot
+class POPPLER_PRIVATE_EXPORT AnnotPopup : public Annot
{
public:
AnnotPopup(PDFDoc *docA, PDFRectangle *rect);
@@ -821,7 +822,7 @@ protected:
// AnnotMarkup
//------------------------------------------------------------------------
-class AnnotMarkup : public Annot
+class POPPLER_PRIVATE_EXPORT AnnotMarkup : public Annot
{
public:
enum AnnotMarkupReplyType
@@ -876,7 +877,7 @@ private:
// AnnotText
//------------------------------------------------------------------------
-class AnnotText : public AnnotMarkup
+class POPPLER_PRIVATE_EXPORT AnnotText : public AnnotMarkup
{
public:
enum AnnotTextState
@@ -921,7 +922,7 @@ private:
// AnnotMovie
//------------------------------------------------------------------------
-class AnnotMovie : public Annot
+class POPPLER_PRIVATE_EXPORT AnnotMovie : public Annot
{
public:
AnnotMovie(PDFDoc *docA, PDFRectangle *rect, Movie *movieA);
@@ -944,7 +945,7 @@ private:
// AnnotScreen
//------------------------------------------------------------------------
-class AnnotScreen : public Annot
+class POPPLER_PRIVATE_EXPORT AnnotScreen : public Annot
{
public:
AnnotScreen(PDFDoc *docA, PDFRectangle *rect);
@@ -1008,7 +1009,7 @@ protected:
// AnnotFreeText
//------------------------------------------------------------------------
-class AnnotFreeText : public AnnotMarkup
+class POPPLER_PRIVATE_EXPORT AnnotFreeText : public AnnotMarkup
{
public:
enum AnnotFreeTextQuadding
@@ -1076,7 +1077,7 @@ protected:
// AnnotLine
//------------------------------------------------------------------------
-class AnnotLine : public AnnotMarkup
+class POPPLER_PRIVATE_EXPORT AnnotLine : public AnnotMarkup
{
public:
enum AnnotLineIntent
@@ -1154,7 +1155,7 @@ protected:
// AnnotTextMarkup
//------------------------------------------------------------------------
-class AnnotTextMarkup : public AnnotMarkup
+class POPPLER_PRIVATE_EXPORT AnnotTextMarkup : public AnnotMarkup
{
public:
AnnotTextMarkup(PDFDoc *docA, PDFRectangle *rect, AnnotSubtype subType);
@@ -1183,7 +1184,7 @@ private:
// AnnotStamp
//------------------------------------------------------------------------
-class AnnotStamp : public AnnotMarkup
+class POPPLER_PRIVATE_EXPORT AnnotStamp : public AnnotMarkup
{
public:
AnnotStamp(PDFDoc *docA, PDFRectangle *rect);
@@ -1205,7 +1206,7 @@ private:
// AnnotGeometry
//------------------------------------------------------------------------
-class AnnotGeometry : public AnnotMarkup
+class POPPLER_PRIVATE_EXPORT AnnotGeometry : public AnnotMarkup
{
public:
AnnotGeometry(PDFDoc *docA, PDFRectangle *rect, AnnotSubtype subType);
@@ -1234,7 +1235,7 @@ private:
// AnnotPolygon
//------------------------------------------------------------------------
-class AnnotPolygon : public AnnotMarkup
+class POPPLER_PRIVATE_EXPORT AnnotPolygon : public AnnotMarkup
{
public:
enum AnnotPolygonIntent
@@ -1285,7 +1286,7 @@ private:
// AnnotCaret
//------------------------------------------------------------------------
-class AnnotCaret : public AnnotMarkup
+class POPPLER_PRIVATE_EXPORT AnnotCaret : public AnnotMarkup
{
public:
enum AnnotCaretSymbol
@@ -1315,7 +1316,7 @@ private:
// AnnotInk
//------------------------------------------------------------------------
-class AnnotInk : public AnnotMarkup
+class POPPLER_PRIVATE_EXPORT AnnotInk : public AnnotMarkup
{
public:
AnnotInk(PDFDoc *docA, PDFRectangle *rect);
@@ -1403,7 +1404,7 @@ private:
// AnnotWidget
//------------------------------------------------------------------------
-class AnnotWidget : public Annot
+class POPPLER_PRIVATE_EXPORT AnnotWidget : public Annot
{
public:
enum AnnotWidgetHighlightMode
@@ -1520,10 +1521,10 @@ private:
// AnnotRichMedia
//------------------------------------------------------------------------
-class AnnotRichMedia : public Annot
+class POPPLER_PRIVATE_EXPORT AnnotRichMedia : public Annot
{
public:
- class Params
+ class POPPLER_PRIVATE_EXPORT Params
{
public:
Params(Dict *dict);
@@ -1539,7 +1540,7 @@ public:
std::unique_ptr<GooString> flashVars; // FlashVars
};
- class Instance
+ class POPPLER_PRIVATE_EXPORT Instance
{
public:
enum Type
@@ -1565,7 +1566,7 @@ public:
std::unique_ptr<Params> params; // Params
};
- class Configuration
+ class POPPLER_PRIVATE_EXPORT Configuration
{
public:
enum Type
@@ -1597,7 +1598,7 @@ public:
class Content;
- class Asset
+ class POPPLER_PRIVATE_EXPORT Asset
{
public:
Asset();
@@ -1616,7 +1617,7 @@ public:
Object fileSpec;
};
- class Content
+ class POPPLER_PRIVATE_EXPORT Content
{
public:
Content(Dict *dict);
@@ -1640,7 +1641,7 @@ public:
int nAssets;
};
- class Activation
+ class POPPLER_PRIVATE_EXPORT Activation
{
public:
enum Condition
@@ -1659,7 +1660,7 @@ public:
Condition condition;
};
- class Deactivation
+ class POPPLER_PRIVATE_EXPORT Deactivation
{
public:
enum Condition
@@ -1678,7 +1679,7 @@ public:
Condition condition;
};
- class Settings
+ class POPPLER_PRIVATE_EXPORT Settings
{
public:
Settings(Dict *dict);
diff --git a/poppler/Array.h b/poppler/Array.h
index 989ae32c..782ef725 100644
--- a/poppler/Array.h
+++ b/poppler/Array.h
@@ -33,6 +33,7 @@
#include <vector>
#include "poppler-config.h"
+#include "poppler_private_export.h"
#include "Object.h"
class XRef;
@@ -41,7 +42,7 @@ class XRef;
// Array
//------------------------------------------------------------------------
-class Array
+class POPPLER_PRIVATE_EXPORT Array
{
public:
// Constructor.
diff --git a/poppler/BBoxOutputDev.h b/poppler/BBoxOutputDev.h
index f661e978..e48122fd 100644
--- a/poppler/BBoxOutputDev.h
+++ b/poppler/BBoxOutputDev.h
@@ -12,7 +12,7 @@
#include <GfxState.h>
#include <OutputDev.h>
-class BBoxOutputDev : public OutputDev
+class POPPLER_PRIVATE_EXPORT BBoxOutputDev : public OutputDev
{
public:
bool upsideDown() override { return false; }
diff --git a/poppler/CachedFile.h b/poppler/CachedFile.h
index bc73b59a..588c0e4e 100644
--- a/poppler/CachedFile.h
+++ b/poppler/CachedFile.h
@@ -16,6 +16,7 @@
#define CACHEDFILE_H
#include "poppler-config.h"
+#include "poppler_private_export.h"
#include "Object.h"
#include "Stream.h"
@@ -38,7 +39,7 @@ class CachedFileLoader;
// needs from the CachedFileLoader.
//------------------------------------------------------------------------
-class CachedFile
+class POPPLER_PRIVATE_EXPORT CachedFile
{
friend class CachedFileWriter;
@@ -96,7 +97,7 @@ private:
// should be written.
//------------------------------------------------------------------------
-class CachedFileWriter
+class POPPLER_PRIVATE_EXPORT CachedFileWriter
{
public:
@@ -123,7 +124,7 @@ private:
// loadng data from an URI into a CachedFile.
//------------------------------------------------------------------------
-class CachedFileLoader
+class POPPLER_PRIVATE_EXPORT CachedFileLoader
{
public:
diff --git a/poppler/Catalog.h b/poppler/Catalog.h
index 469e73f5..587ad1cf 100644
--- a/poppler/Catalog.h
+++ b/poppler/Catalog.h
@@ -41,6 +41,7 @@
#define CATALOG_H
#include "poppler-config.h"
+#include "poppler_private_export.h"
#include "Object.h"
#include "Link.h"
@@ -64,7 +65,7 @@ class StructTreeRoot;
// NameTree
//------------------------------------------------------------------------
-class NameTree
+class POPPLER_PRIVATE_EXPORT NameTree
{
public:
NameTree();
@@ -105,7 +106,7 @@ private:
// Catalog
//------------------------------------------------------------------------
-class Catalog
+class POPPLER_PRIVATE_EXPORT Catalog
{
public:
// Constructor.
diff --git a/poppler/CertificateInfo.h b/poppler/CertificateInfo.h
index b2d4506e..b99edc8c 100644
--- a/poppler/CertificateInfo.h
+++ b/poppler/CertificateInfo.h
@@ -17,6 +17,7 @@
#include <memory>
#include <ctime>
#include "goo/GooString.h"
+#include "poppler_private_export.h"
enum CertificateKeyUsageExtension
{
@@ -39,7 +40,7 @@ enum PublicKeyType
OTHERKEY
};
-class X509CertificateInfo
+class POPPLER_PRIVATE_EXPORT X509CertificateInfo
{
public:
X509CertificateInfo();
diff --git a/poppler/DateInfo.h b/poppler/DateInfo.h
index eec0e502..640f60d5 100644
--- a/poppler/DateInfo.h
+++ b/poppler/DateInfo.h
@@ -25,19 +25,20 @@
#define DATE_INFO_H
#include "goo/GooString.h"
+#include "poppler_private_export.h"
#include <ctime>
-bool parseDateString(const char *string, int *year, int *month, int *day, int *hour, int *minute, int *second, char *tz, int *tzHour, int *tzMinute);
+bool POPPLER_PRIVATE_EXPORT parseDateString(const char *string, int *year, int *month, int *day, int *hour, int *minute, int *second, char *tz, int *tzHour, int *tzMinute);
/* Converts the time_t into a PDF Date format string.
* If timeA is NULL, current time is used.
* Returns new GooString. Free with delete.
*/
-GooString *timeToDateString(const time_t *timeA);
+GooString POPPLER_PRIVATE_EXPORT *timeToDateString(const time_t *timeA);
/* Convert PDF date string to time.
* Returns -1 if conversion fails.
*/
-time_t dateStringToTime(const GooString *dateString);
+time_t POPPLER_PRIVATE_EXPORT dateStringToTime(const GooString *dateString);
#endif
diff --git a/poppler/Dict.h b/poppler/Dict.h
index 688f0671..fb9af6c0 100644
--- a/poppler/Dict.h
+++ b/poppler/Dict.h
@@ -37,13 +37,14 @@
#include <utility>
#include "poppler-config.h"
+#include "poppler_private_export.h"
#include "Object.h"
//------------------------------------------------------------------------
// Dict
//------------------------------------------------------------------------
-class Dict
+class POPPLER_PRIVATE_EXPORT Dict
{
public:
// Constructor.
diff --git a/poppler/Error.h b/poppler/Error.h
index ff8f7187..b292afcf 100644
--- a/poppler/Error.h
+++ b/poppler/Error.h
@@ -30,6 +30,7 @@
#include <cstdarg>
#include "poppler-config.h"
+#include "poppler_private_export.h"
#include "goo/gfile.h"
#include "goo/GooString.h"
@@ -51,8 +52,8 @@ enum ErrorCategory
using ErrorCallback = void (*)(ErrorCategory category, Goffset pos, const char *msg);
-extern void setErrorCallback(ErrorCallback cbk);
+extern void POPPLER_PRIVATE_EXPORT setErrorCallback(ErrorCallback cbk);
-extern void CDECL error(ErrorCategory category, Goffset pos, const char *msg, ...) GOOSTRING_FORMAT;
+extern void CDECL POPPLER_PRIVATE_EXPORT error(ErrorCategory category, Goffset pos, const char *msg, ...) GOOSTRING_FORMAT;
#endif
diff --git a/poppler/FileSpec.h b/poppler/FileSpec.h
index d587996d..e526e50e 100644
--- a/poppler/FileSpec.h
+++ b/poppler/FileSpec.h
@@ -17,8 +17,9 @@
#define FILE_SPEC_H
#include "Object.h"
+#include "poppler_private_export.h"
-class EmbFile
+class POPPLER_PRIVATE_EXPORT EmbFile
{
public:
EmbFile(Object &&efStream);
@@ -48,7 +49,7 @@ private:
Object m_objStr;
};
-class FileSpec
+class POPPLER_PRIVATE_EXPORT FileSpec
{
public:
FileSpec(const Object *fileSpec);
@@ -79,6 +80,6 @@ private:
};
Object getFileSpecName(const Object *fileSpec);
-Object getFileSpecNameForPlatform(const Object *fileSpec);
+Object POPPLER_PRIVATE_EXPORT getFileSpecNameForPlatform(const Object *fileSpec);
#endif /* FILE_SPEC_H */
diff --git a/poppler/FontInfo.h b/poppler/FontInfo.h
index b95f03cf..85279859 100644
--- a/poppler/FontInfo.h
+++ b/poppler/FontInfo.h
@@ -28,13 +28,14 @@
#define FONT_INFO_H
#include "Object.h"
+#include "poppler_private_export.h"
#include <unordered_set>
class GfxFont;
class PDFDoc;
-class FontInfo
+class POPPLER_PRIVATE_EXPORT FontInfo
{
public:
enum Type
@@ -86,7 +87,7 @@ private:
Ref embRef;
};
-class FontInfoScanner
+class POPPLER_PRIVATE_EXPORT FontInfoScanner
{
public:
// Constructor.
diff --git a/poppler/Form.h b/poppler/Form.h
index 4538b255..dcf89760 100644
--- a/poppler/Form.h
+++ b/poppler/Form.h
@@ -32,6 +32,7 @@
#include "Object.h"
#include "Annot.h"
+#include "poppler_private_export.h"
#include <ctime>
@@ -101,7 +102,7 @@ class FormFieldChoice;
// to a page.
//------------------------------------------------------------------------
-class FormWidget
+class POPPLER_PRIVATE_EXPORT FormWidget
{
public:
virtual ~FormWidget();
@@ -181,7 +182,7 @@ protected:
// FormWidgetButton
//------------------------------------------------------------------------
-class FormWidgetButton : public FormWidget
+class POPPLER_PRIVATE_EXPORT FormWidgetButton : public FormWidget
{
public:
FormWidgetButton(PDFDoc *docA, Object *dictObj, unsigned num, Ref ref, FormField *p);
@@ -205,7 +206,7 @@ protected:
// FormWidgetText
//------------------------------------------------------------------------
-class FormWidgetText : public FormWidget
+class POPPLER_PRIVATE_EXPORT FormWidgetText : public FormWidget
{
public:
FormWidgetText(PDFDoc *docA, Object *dictObj, unsigned num, Ref ref, FormField *p);
@@ -240,7 +241,7 @@ protected:
// FormWidgetChoice
//------------------------------------------------------------------------
-class FormWidgetChoice : public FormWidget
+class POPPLER_PRIVATE_EXPORT FormWidgetChoice : public FormWidget
{
public:
FormWidgetChoice(PDFDoc *docA, Object *dictObj, unsigned num, Ref ref, FormField *p);
@@ -284,7 +285,7 @@ protected:
// FormWidgetSignature
//------------------------------------------------------------------------
-class FormWidgetSignature : public FormWidget
+class POPPLER_PRIVATE_EXPORT FormWidgetSignature : public FormWidget
{
public:
FormWidgetSignature(PDFDoc *docA, Object *dictObj, unsigned num, Ref ref, FormField *p);
@@ -587,7 +588,7 @@ protected:
// FormFieldSignature
//------------------------------------------------------------------------
-class FormFieldSignature : public FormField
+class POPPLER_PRIVATE_EXPORT FormFieldSignature : public FormField
{
public:
FormFieldSignature(PDFDoc *docA, Object &&dict, const Ref ref, FormField *parent, std::set<int> *usedParents);
@@ -636,7 +637,7 @@ private:
// Catalog entry).
//------------------------------------------------------------------------
-class Form
+class POPPLER_PRIVATE_EXPORT Form
{
public:
Form(PDFDoc *docA, Object *acroForm);
@@ -694,7 +695,7 @@ private:
// FormPageWidgets
//------------------------------------------------------------------------
-class FormPageWidgets
+class POPPLER_PRIVATE_EXPORT FormPageWidgets
{
public:
FormPageWidgets(Annots *annots, unsigned int page, Form *form);
diff --git a/poppler/Function.h b/poppler/Function.h
index 73fca2d7..feb4a3c7 100644
--- a/poppler/Function.h
+++ b/poppler/Function.h
@@ -43,7 +43,7 @@ class PSStack;
#define funcMaxOutputs 32
#define sampledFuncMaxInputs 16
-class Function
+class POPPLER_PRIVATE_EXPORT Function
{
public:
Function();
diff --git a/poppler/Gfx.h b/poppler/Gfx.h
index 1e5955f5..ae9fa76f 100644
--- a/poppler/Gfx.h
+++ b/poppler/Gfx.h
@@ -36,6 +36,7 @@
#define GFX_H
#include "poppler-config.h"
+#include "poppler_private_export.h"
#include "GfxState.h"
#include "Object.h"
#include "PopplerCache.h"
@@ -107,7 +108,7 @@ struct Operator
//------------------------------------------------------------------------
-class GfxResources
+class POPPLER_PRIVATE_EXPORT GfxResources
{
public:
GfxResources(XRef *xref, Dict *resDict, GfxResources *nextA);
@@ -148,7 +149,7 @@ private:
// Gfx
//------------------------------------------------------------------------
-class Gfx
+class POPPLER_PRIVATE_EXPORT Gfx
{
public:
// Constructor for regular output.
diff --git a/poppler/GfxFont.h b/poppler/GfxFont.h
index 8bbd1eff..16f062e9 100644
--- a/poppler/GfxFont.h
+++ b/poppler/GfxFont.h
@@ -36,6 +36,7 @@
#include "goo/GooString.h"
#include "Object.h"
#include "CharTypes.h"
+#include "poppler_private_export.h"
class Dict;
class CMap;
@@ -110,7 +111,7 @@ enum GfxFontLocType
gfxFontLocResident // font resident in PS printer
};
-class GfxFontLoc
+class POPPLER_PRIVATE_EXPORT GfxFontLoc
{
public:
GfxFontLoc();
@@ -148,7 +149,7 @@ public:
#define fontItalic (1 << 6)
#define fontBold (1 << 18)
-class GfxFont
+class POPPLER_PRIVATE_EXPORT GfxFont
{
public:
enum Stretch
@@ -332,7 +333,7 @@ protected:
// Gfx8BitFont
//------------------------------------------------------------------------
-class Gfx8BitFont : public GfxFont
+class POPPLER_PRIVATE_EXPORT Gfx8BitFont : public GfxFont
{
public:
Gfx8BitFont(XRef *xref, const char *tagA, Ref idA, GooString *nameA, GfxFontType typeA, Ref embFontIDA, Dict *fontDict);
@@ -392,7 +393,7 @@ private:
// GfxCIDFont
//------------------------------------------------------------------------
-class GfxCIDFont : public GfxFont
+class POPPLER_PRIVATE_EXPORT GfxCIDFont : public GfxFont
{
public:
GfxCIDFont(XRef *xref, const char *tagA, Ref idA, GooString *nameA, GfxFontType typeA, Ref embFontIDA, Dict *fontDict);
diff --git a/poppler/GfxState.h b/poppler/GfxState.h
index aec5c6c8..5aeb6e24 100644
--- a/poppler/GfxState.h
+++ b/poppler/GfxState.h
@@ -36,6 +36,7 @@
#define GFXSTATE_H
#include "poppler-config.h"
+#include "poppler_private_export.h"
#include "Object.h"
#include "Function.h"
@@ -216,7 +217,7 @@ enum GfxColorSpaceMode
typedef std::shared_ptr<void> GfxLCMSProfilePtr;
#ifdef USE_CMS
-GfxLCMSProfilePtr make_GfxLCMSProfilePtr(void *profile);
+GfxLCMSProfilePtr POPPLER_PRIVATE_EXPORT make_GfxLCMSProfilePtr(void *profile);
#endif
// wrapper of cmsHTRANSFORM to copy
@@ -241,7 +242,7 @@ private:
unsigned int transformPixelType;
};
-class GfxColorSpace
+class POPPLER_PRIVATE_EXPORT GfxColorSpace
{
public:
GfxColorSpace();
@@ -313,7 +314,7 @@ protected:
// GfxDeviceGrayColorSpace
//------------------------------------------------------------------------
-class GfxDeviceGrayColorSpace : public GfxColorSpace
+class POPPLER_PRIVATE_EXPORT GfxDeviceGrayColorSpace : public GfxColorSpace
{
public:
GfxDeviceGrayColorSpace();
@@ -389,7 +390,7 @@ private:
// GfxDeviceRGBColorSpace
//------------------------------------------------------------------------
-class GfxDeviceRGBColorSpace : public GfxColorSpace
+class POPPLER_PRIVATE_EXPORT GfxDeviceRGBColorSpace : public GfxColorSpace
{
public:
GfxDeviceRGBColorSpace();
@@ -469,7 +470,7 @@ private:
// GfxDeviceCMYKColorSpace
//------------------------------------------------------------------------
-class GfxDeviceCMYKColorSpace : public GfxColorSpace
+class POPPLER_PRIVATE_EXPORT GfxDeviceCMYKColorSpace : public GfxColorSpace
{
public:
GfxDeviceCMYKColorSpace();
@@ -547,7 +548,7 @@ private:
// GfxICCBasedColorSpace
//------------------------------------------------------------------------
-class GfxICCBasedColorSpace : public GfxColorSpace
+class POPPLER_PRIVATE_EXPORT GfxICCBasedColorSpace : public GfxColorSpace
{
public:
GfxICCBasedColorSpace(int nCompsA, GfxColorSpace *altA, const Ref *iccProfileStreamA);
@@ -899,7 +900,7 @@ protected:
// GfxUnivariateShading
//------------------------------------------------------------------------
-class GfxUnivariateShading : public GfxShading
+class POPPLER_PRIVATE_EXPORT GfxUnivariateShading : public GfxShading
{
public:
GfxUnivariateShading(int typeA, double t0A, double t1A, std::vector<std::unique_ptr<Function>> &&funcsA, bool extend0A, bool extend1A);
@@ -940,7 +941,7 @@ private:
// GfxFunctionShading
//------------------------------------------------------------------------
-class GfxFunctionShading : public GfxShading
+class POPPLER_PRIVATE_EXPORT GfxFunctionShading : public GfxShading
{
public:
GfxFunctionShading(double x0A, double y0A, double x1A, double y1A, const double *matrixA, std::vector<std::unique_ptr<Function>> &&funcsA);
@@ -1046,7 +1047,7 @@ struct GfxGouraudVertex
GfxColor color;
};
-class GfxGouraudTriangleShading : public GfxShading
+class POPPLER_PRIVATE_EXPORT GfxGouraudTriangleShading : public GfxShading
{
public:
GfxGouraudTriangleShading(int typeA, GfxGouraudVertex *verticesA, int nVerticesA, int (*trianglesA)[3], int nTrianglesA, std::vector<std::unique_ptr<Function>> &&funcsA);
@@ -1138,7 +1139,7 @@ struct GfxPatch
ColorValue color[2][2];
};
-class GfxPatchMeshShading : public GfxShading
+class POPPLER_PRIVATE_EXPORT GfxPatchMeshShading : public GfxShading
{
public:
GfxPatchMeshShading(int typeA, GfxPatch *patchesA, int nPatchesA, std::vector<std::unique_ptr<Function>> &&funcsA);
@@ -1187,7 +1188,7 @@ private:
// GfxImageColorMap
//------------------------------------------------------------------------
-class GfxImageColorMap
+class POPPLER_PRIVATE_EXPORT GfxImageColorMap
{
public:
// Constructor.
@@ -1319,7 +1320,7 @@ private:
GfxSubpath(const GfxSubpath *subpath);
};
-class GfxPath
+class POPPLER_PRIVATE_EXPORT GfxPath
{
public:
// Constructor.
@@ -1381,7 +1382,7 @@ private:
// GfxState
//------------------------------------------------------------------------
-class GfxState
+class POPPLER_PRIVATE_EXPORT GfxState
{
public:
/**
diff --git a/poppler/GlobalParams.h b/poppler/GlobalParams.h
index 4568e123..980dc87b 100644
--- a/poppler/GlobalParams.h
+++ b/poppler/GlobalParams.h
@@ -39,6 +39,7 @@
#include <cassert>
#include "poppler-config.h"
+#include "poppler_private_export.h"
#include <cstdio>
#include "CharTypes.h"
#include "UnicodeMap.h"
@@ -64,7 +65,7 @@ class SysFontList;
//------------------------------------------------------------------------
// The global parameters object.
-extern std::unique_ptr<GlobalParams> globalParams;
+extern std::unique_ptr<GlobalParams> POPPLER_PRIVATE_EXPORT globalParams;
//------------------------------------------------------------------------
@@ -78,7 +79,7 @@ enum SysFontType
//------------------------------------------------------------------------
-class GlobalParams
+class POPPLER_PRIVATE_EXPORT GlobalParams
{
public:
// Initialize the global parameters
@@ -201,7 +202,7 @@ private:
const char *popplerDataDir;
};
-class GlobalParamsIniter
+class POPPLER_PRIVATE_EXPORT GlobalParamsIniter
{
public:
GlobalParamsIniter(ErrorCallback errorCallback);
diff --git a/poppler/JSInfo.h b/poppler/JSInfo.h
index 4cd17bf5..aca0d6b1 100644
--- a/poppler/JSInfo.h
+++ b/poppler/JSInfo.h
@@ -21,13 +21,13 @@
#include <cstdio>
#include "Object.h"
#include "PDFDoc.h"
-
+#include "poppler_private_export.h"
#include "Link.h"
#include "UnicodeMap.h"
class PDFDoc;
-class JSInfo
+class POPPLER_PRIVATE_EXPORT JSInfo
{
public:
// Constructor.
diff --git a/poppler/Lexer.h b/poppler/Lexer.h
index 926bbf05..3efa9c87 100644
--- a/poppler/Lexer.h
+++ b/poppler/Lexer.h
@@ -38,7 +38,7 @@ class XRef;
// Lexer
//------------------------------------------------------------------------
-class Lexer
+class POPPLER_PRIVATE_EXPORT Lexer
{
public:
// Construct a lexer for a single stream. Deletes the stream when
diff --git a/poppler/Link.h b/poppler/Link.h
index c8afbdc1..63803b60 100644
--- a/poppler/Link.h
+++ b/poppler/Link.h
@@ -33,6 +33,7 @@
#define LINK_H
#include "Object.h"
+#include "poppler_private_export.h"
#include <memory>
#include <set>
@@ -65,7 +66,7 @@ enum LinkActionKind
actionUnknown // anything else
};
-class LinkAction
+class POPPLER_PRIVATE_EXPORT LinkAction
{
public:
LinkAction();
@@ -112,7 +113,7 @@ enum LinkDestKind
destFitBV
};
-class LinkDest
+class POPPLER_PRIVATE_EXPORT LinkDest
{
public:
// Build a LinkDest from the array.
@@ -161,7 +162,7 @@ private:
// LinkGoTo
//------------------------------------------------------------------------
-class LinkGoTo : public LinkAction
+class POPPLER_PRIVATE_EXPORT LinkGoTo : public LinkAction
{
public:
// Build a LinkGoTo from a destination (dictionary, name, or string).
@@ -242,7 +243,7 @@ private:
// LinkURI
//------------------------------------------------------------------------
-class LinkURI : public LinkAction
+class POPPLER_PRIVATE_EXPORT LinkURI : public LinkAction
{
public:
// Build a LinkURI given the URI (string) and base URI.
@@ -498,7 +499,7 @@ private:
// LinkResetForm
//------------------------------------------------------------------------
-class LinkResetForm : public LinkAction
+class POPPLER_PRIVATE_EXPORT LinkResetForm : public LinkAction
{
public:
// Build a LinkResetForm.
@@ -546,7 +547,7 @@ private:
// Links
//------------------------------------------------------------------------
-class Links
+class POPPLER_PRIVATE_EXPORT Links
{
public:
// Extract links from array of annotations.
diff --git a/poppler/MarkedContentOutputDev.h b/poppler/MarkedContentOutputDev.h
index 00d477d1..b1d37649 100644
--- a/poppler/MarkedContentOutputDev.h
+++ b/poppler/MarkedContentOutputDev.h
@@ -13,6 +13,7 @@
#define MARKEDCONTENTOUTPUTDEV_H
#include "goo/gmem.h"
+#include "poppler_private_export.h"
#include "OutputDev.h"
#include "GfxState.h"
#include "GfxFont.h"
@@ -84,7 +85,7 @@ private:
typedef std::vector<TextSpan> TextSpanArray;
-class MarkedContentOutputDev : public OutputDev
+class POPPLER_PRIVATE_EXPORT MarkedContentOutputDev : public OutputDev
{
public:
MarkedContentOutputDev(int mcidA);
diff --git a/poppler/Movie.h b/poppler/Movie.h
index 596be189..afc337e2 100644
--- a/poppler/Movie.h
+++ b/poppler/Movie.h
@@ -26,6 +26,7 @@
#define _MOVIE_H_
#include "Object.h"
+#include "poppler_private_export.h"
struct MovieActivationParameters
{
@@ -71,7 +72,7 @@ struct MovieActivationParameters
int zdenum; // 1
};
-class Movie
+class POPPLER_PRIVATE_EXPORT Movie
{
public:
Movie(const Object *movieDict, const Object *aDict);
diff --git a/poppler/Object.h b/poppler/Object.h
index 104a95b1..1ce75211 100644
--- a/poppler/Object.h
+++ b/poppler/Object.h
@@ -43,6 +43,7 @@
#include "goo/GooString.h"
#include "goo/GooLikely.h"
#include "Error.h"
+#include "poppler_private_export.h"
#define OBJECT_TYPE_CHECK(wanted_type) \
if (unlikely(type != wanted_type)) { \
@@ -162,7 +163,7 @@ constexpr int numObjTypes = 17; // total number of object types
// Object
//------------------------------------------------------------------------
-class Object
+class POPPLER_PRIVATE_EXPORT Object
{
public:
Object() : type(objNone) { }
diff --git a/poppler/OptionalContent.h b/poppler/OptionalContent.h
index d3d02e68..3ab5f646 100644
--- a/poppler/OptionalContent.h
+++ b/poppler/OptionalContent.h
@@ -17,6 +17,7 @@
#include "Object.h"
#include "CharTypes.h"
+#include "poppler_private_export.h"
#include <unordered_map>
#include <memory>
@@ -27,7 +28,7 @@ class OptionalContentGroup;
//------------------------------------------------------------------------
-class OCGs
+class POPPLER_PRIVATE_EXPORT OCGs
{
public:
OCGs(Object *ocgObject, XRef *xref);
@@ -66,7 +67,7 @@ private:
//------------------------------------------------------------------------
-class OptionalContentGroup
+class POPPLER_PRIVATE_EXPORT OptionalContentGroup
{
public:
enum State
diff --git a/poppler/Outline.h b/poppler/Outline.h
index 2e22fb54..e1e0ba8e 100644
--- a/poppler/Outline.h
+++ b/poppler/Outline.h
@@ -28,6 +28,7 @@
#include <memory>
#include "Object.h"
#include "CharTypes.h"
+#include "poppler_private_export.h"
class GooString;
class XRef;
@@ -53,7 +54,7 @@ private:
//------------------------------------------------------------------------
-class OutlineItem
+class POPPLER_PRIVATE_EXPORT OutlineItem
{
public:
OutlineItem(const Dict *dict, int refNumA, OutlineItem *parentA, XRef *xrefA);
diff --git a/poppler/OutputDev.h b/poppler/OutputDev.h
index 024764a6..3a8430c8 100644
--- a/poppler/OutputDev.h
+++ b/poppler/OutputDev.h
@@ -37,6 +37,7 @@
#define OUTPUTDEV_H
#include "poppler-config.h"
+#include "poppler_private_export.h"
#include "CharTypes.h"
#include "Object.h"
#include "PopplerCache.h"
@@ -61,7 +62,7 @@ class Function;
// OutputDev
//------------------------------------------------------------------------
-class OutputDev
+class POPPLER_PRIVATE_EXPORT OutputDev
{
public:
// Constructor.
diff --git a/poppler/PDFDoc.h b/poppler/PDFDoc.h
index 5ab1fb21..a9ce2bd3 100644
--- a/poppler/PDFDoc.h
+++ b/poppler/PDFDoc.h
@@ -46,6 +46,7 @@
#include <mutex>
#include "poppler-config.h"
+#include "poppler_private_export.h"
#include <cstdio>
#include "XRef.h"
#include "Catalog.h"
@@ -117,7 +118,7 @@ enum PDFSubtypeConformance
// PDFDoc
//------------------------------------------------------------------------
-class PDFDoc
+class POPPLER_PRIVATE_EXPORT PDFDoc
{
public:
PDFDoc(const GooString *fileNameA, const GooString *ownerPassword = nullptr, const GooString *userPassword = nullptr, void *guiDataA = nullptr);
diff --git a/poppler/PDFDocEncoding.h b/poppler/PDFDocEncoding.h
index 7117268e..01f38158 100644
--- a/poppler/PDFDocEncoding.h
+++ b/poppler/PDFDocEncoding.h
@@ -28,11 +28,12 @@
#include <string>
#include "CharTypes.h"
+#include "poppler_private_export.h"
class GooString;
-extern const Unicode pdfDocEncoding[256];
+extern const Unicode POPPLER_PRIVATE_EXPORT pdfDocEncoding[256];
-char *pdfDocEncodingToUTF16(const std::string &orig, int *length);
+char POPPLER_PRIVATE_EXPORT *pdfDocEncodingToUTF16(const std::string &orig, int *length);
#endif
diff --git a/poppler/PDFDocFactory.h b/poppler/PDFDocFactory.h
index 92a66d7e..584f34a3 100644
--- a/poppler/PDFDocFactory.h
+++ b/poppler/PDFDocFactory.h
@@ -16,6 +16,7 @@
#include <memory>
#include "PDFDoc.h"
+#include "poppler_private_export.h"
class GooString;
class PDFDocBuilder;
@@ -32,7 +33,7 @@ class PDFDocBuilder;
// the constructor, or by registering a new PDFDocBuilder afterwards.
//------------------------------------------------------------------------
-class PDFDocFactory
+class POPPLER_PRIVATE_EXPORT PDFDocFactory
{
public:
diff --git a/poppler/PSOutputDev.h b/poppler/PSOutputDev.h
index 9acaee91..549d778d 100644
--- a/poppler/PSOutputDev.h
+++ b/poppler/PSOutputDev.h
@@ -38,6 +38,7 @@
#define PSOUTPUTDEV_H
#include "poppler-config.h"
+#include "poppler_private_export.h"
#include <cstddef>
#include "Object.h"
#include "GfxState.h"
@@ -115,7 +116,7 @@ typedef void (*PSOutputFunc)(void *stream, const char *data, int len);
typedef GooString *(*PSOutCustomCodeCbk)(PSOutputDev *psOut, PSOutCustomCodeLocation loc, int n, void *data);
-class PSOutputDev : public OutputDev
+class POPPLER_PRIVATE_EXPORT PSOutputDev : public OutputDev
{
public:
// Open a PostScript output file, and write the prolog.
diff --git a/poppler/Page.h b/poppler/Page.h
index b0cc8a1c..68126306 100644
--- a/poppler/Page.h
+++ b/poppler/Page.h
@@ -40,6 +40,7 @@
#include "poppler-config.h"
#include "Object.h"
+#include "poppler_private_export.h"
class Dict;
class PDFDoc;
@@ -135,7 +136,7 @@ private:
// Page
//------------------------------------------------------------------------
-class Page
+class POPPLER_PRIVATE_EXPORT Page
{
public:
// Constructor.
diff --git a/poppler/PageTransition.h b/poppler/PageTransition.h
index 5da48195..0e0a8510 100644
--- a/poppler/PageTransition.h
+++ b/poppler/PageTransition.h
@@ -58,7 +58,7 @@ enum PageTransitionDirection
transitionOutward
};
-class PageTransition
+class POPPLER_PRIVATE_EXPORT PageTransition
{
public:
// Construct a Page Transition.
diff --git a/poppler/Parser.h b/poppler/Parser.h
index 1a5fc643..b379b67d 100644
--- a/poppler/Parser.h
+++ b/poppler/Parser.h
@@ -33,7 +33,7 @@
// Parser
//------------------------------------------------------------------------
-class Parser
+class POPPLER_PRIVATE_EXPORT Parser
{
public:
// Constructor.
diff --git a/poppler/Rendition.h b/poppler/Rendition.h
index 2667c7a7..97ca5b91 100644
--- a/poppler/Rendition.h
+++ b/poppler/Rendition.h
@@ -118,7 +118,7 @@ struct MediaParameters
MediaWindowParameters windowParams;
};
-class MediaRendition
+class POPPLER_PRIVATE_EXPORT MediaRendition
{
public:
MediaRendition(Object *obj);
diff --git a/poppler/SignatureHandler.h b/poppler/SignatureHandler.h
index d55f1c84..c4d24c92 100644
--- a/poppler/SignatureHandler.h
+++ b/poppler/SignatureHandler.h
@@ -21,6 +21,7 @@
#include "goo/GooString.h"
#include "SignatureInfo.h"
#include "CertificateInfo.h"
+#include "poppler_private_export.h"
#include <vector>
#include <functional>
@@ -38,7 +39,7 @@
#include <secmodt.h>
#include <sechash.h>
-class SignatureHandler
+class POPPLER_PRIVATE_EXPORT SignatureHandler
{
public:
explicit SignatureHandler();
diff --git a/poppler/SignatureInfo.h b/poppler/SignatureInfo.h
index 75d414eb..3ea2a05b 100644
--- a/poppler/SignatureInfo.h
+++ b/poppler/SignatureInfo.h
@@ -19,6 +19,8 @@
#include <memory>
#include <ctime>
+#include "poppler_private_export.h"
+
enum SignatureValidationStatus
{
SIGNATURE_VALID,
@@ -43,7 +45,7 @@ enum CertificateValidationStatus
class X509CertificateInfo;
-class SignatureInfo
+class POPPLER_PRIVATE_EXPORT SignatureInfo
{
public:
SignatureInfo();
diff --git a/poppler/Sound.h b/poppler/Sound.h
index 6fe6a875..ee34b77e 100644
--- a/poppler/Sound.h
+++ b/poppler/Sound.h
@@ -42,7 +42,7 @@ enum SoundEncoding
soundALaw // A-law-encoded samples
};
-class Sound
+class POPPLER_PRIVATE_EXPORT Sound
{
public:
// Try to parse the Object obj
diff --git a/poppler/SplashOutputDev.h b/poppler/SplashOutputDev.h
index f0b5028b..544ac14c 100644
--- a/poppler/SplashOutputDev.h
+++ b/poppler/SplashOutputDev.h
@@ -35,6 +35,7 @@
#include "splash/SplashTypes.h"
#include "splash/SplashPattern.h"
#include "poppler-config.h"
+#include "poppler_private_export.h"
#include "OutputDev.h"
#include "GfxState.h"
#include "GlobalParams.h"
@@ -189,7 +190,7 @@ private:
// SplashOutputDev
//------------------------------------------------------------------------
-class SplashOutputDev : public OutputDev
+class POPPLER_PRIVATE_EXPORT SplashOutputDev : public OutputDev
{
public:
// Constructor.
diff --git a/poppler/Stream.h b/poppler/Stream.h
index 10028e40..f4d4b586 100644
--- a/poppler/Stream.h
+++ b/poppler/Stream.h
@@ -43,6 +43,7 @@
#include <cstdio>
#include "poppler-config.h"
+#include "poppler_private_export.h"
#include "Object.h"
class GooFile;
@@ -103,7 +104,7 @@ typedef struct _ByteRange
// Stream (base class)
//------------------------------------------------------------------------
-class Stream
+class POPPLER_PRIVATE_EXPORT Stream
{
public:
// Constructor.
@@ -266,7 +267,7 @@ private:
//
// This is the base class for all streams that output to a file
//------------------------------------------------------------------------
-class OutStream
+class POPPLER_PRIVATE_EXPORT OutStream
{
public:
// Constructor.
@@ -293,7 +294,7 @@ public:
//------------------------------------------------------------------------
// FileOutStream
//------------------------------------------------------------------------
-class FileOutStream : public OutStream
+class POPPLER_PRIVATE_EXPORT FileOutStream : public OutStream
{
public:
FileOutStream(FILE *fa, Goffset startA);
@@ -319,7 +320,7 @@ private:
// This is the base class for all streams that read directly from a file.
//------------------------------------------------------------------------
-class BaseStream : public Stream
+class POPPLER_PRIVATE_EXPORT BaseStream : public Stream
{
public:
// TODO Mirar si puedo hacer que dictA sea un puntero
@@ -349,7 +350,7 @@ protected:
// BaseInputStream
//------------------------------------------------------------------------
-class BaseSeekInputStream : public BaseStream
+class POPPLER_PRIVATE_EXPORT BaseSeekInputStream : public BaseStream
{
public:
// This enum is used to tell the seek() method how it must reposition
@@ -430,7 +431,7 @@ protected:
// ImageStream
//------------------------------------------------------------------------
-class ImageStream
+class POPPLER_PRIVATE_EXPORT ImageStream
{
public:
// Create an image stream object for an image with the specified
@@ -586,7 +587,7 @@ private:
#define cachedStreamBufSize 1024
-class CachedFileStream : public BaseStream
+class POPPLER_PRIVATE_EXPORT CachedFileStream : public BaseStream
{
public:
CachedFileStream(CachedFile *ccA, Goffset startA, bool limitedA, Goffset lengthA, Object &&dictA);
@@ -724,7 +725,7 @@ private:
T *bufPtr;
};
-class MemStream : public BaseMemStream<const char>
+class POPPLER_PRIVATE_EXPORT MemStream : public BaseMemStream<const char>
{
public:
MemStream(const char *bufA, Goffset startA, Goffset lengthA, Object &&dictA) : BaseMemStream(bufA, startA, lengthA, std::move(dictA)) { }
@@ -748,7 +749,7 @@ public:
// that creating a new FileStream (using makeSubStream).
//------------------------------------------------------------------------
-class EmbedStream : public BaseStream
+class POPPLER_PRIVATE_EXPORT EmbedStream : public BaseStream
{
public:
EmbedStream(Stream *strA, Object &&dictA, bool limitedA, Goffset lengthA, bool reusableA = false);
diff --git a/poppler/StructElement.h b/poppler/StructElement.h
index 73cf9a85..6c8e47e1 100644
--- a/poppler/StructElement.h
+++ b/poppler/StructElement.h
@@ -17,6 +17,7 @@
#include "goo/GooString.h"
#include "MarkedContentOutputDev.h"
#include "Object.h"
+#include "poppler_private_export.h"
#include <vector>
#include <set>
@@ -25,7 +26,7 @@ class Dict;
class StructElement;
class StructTreeRoot;
-class Attribute
+class POPPLER_PRIVATE_EXPORT Attribute
{
public:
enum Type
@@ -160,7 +161,7 @@ private:
friend class StructElement;
};
-class StructElement
+class POPPLER_PRIVATE_EXPORT StructElement
{
public:
enum Type
diff --git a/poppler/TextOutputDev.h b/poppler/TextOutputDev.h
index ed52180a..2c39c67d 100644
--- a/poppler/TextOutputDev.h
+++ b/poppler/TextOutputDev.h
@@ -37,6 +37,7 @@
#define TEXTOUTPUTDEV_H
#include "poppler-config.h"
+#include "poppler_private_export.h"
#include <cstdio>
#include "GfxFont.h"
#include "GfxState.h"
@@ -83,7 +84,7 @@ enum EndOfLineKind
// TextFontInfo
//------------------------------------------------------------------------
-class TextFontInfo
+class POPPLER_PRIVATE_EXPORT TextFontInfo
{
public:
TextFontInfo(const GfxState *state);
@@ -133,7 +134,7 @@ private:
// TextWord
//------------------------------------------------------------------------
-class TextWord
+class POPPLER_PRIVATE_EXPORT TextWord
{
public:
// Constructor.
@@ -503,7 +504,7 @@ private:
// TextWordList
//------------------------------------------------------------------------
-class TextWordList
+class POPPLER_PRIVATE_EXPORT TextWordList
{
public:
// Build a flat word list, in content stream order (if
@@ -551,7 +552,7 @@ private:
// TextPage
//------------------------------------------------------------------------
-class TextPage
+class POPPLER_PRIVATE_EXPORT TextPage
{
public:
// Constructor.
@@ -708,7 +709,7 @@ private:
// ActualText
//------------------------------------------------------------------------
-class ActualText
+class POPPLER_PRIVATE_EXPORT ActualText
{
public:
// Create an ActualText
@@ -737,7 +738,7 @@ private:
// TextOutputDev
//------------------------------------------------------------------------
-class TextOutputDev : public OutputDev
+class POPPLER_PRIVATE_EXPORT TextOutputDev : public OutputDev
{
public:
// Open a text output file. If <fileName> is NULL, no file is
diff --git a/poppler/UTF.h b/poppler/UTF.h
index c9d693c3..2e4cfe7f 100644
--- a/poppler/UTF.h
+++ b/poppler/UTF.h
@@ -20,6 +20,7 @@
#include "goo/GooString.h"
#include "CharTypes.h"
+#include "poppler_private_export.h"
// Convert a UTF-16 string to a UCS-4
// utf16 - utf16 bytes
@@ -33,7 +34,7 @@ int UTF16toUCS4(const Unicode *utf16, int utf16Len, Unicode **ucs4_out);
// ucs4 - if the number of UCS-4 characters is > 0, allocates and
// returns UCS-4 string. Free with gfree.
// returns number of UCS-4 characters
-int TextStringToUCS4(const GooString *textStr, Unicode **ucs4);
+int POPPLER_PRIVATE_EXPORT TextStringToUCS4(const GooString *textStr, Unicode **ucs4);
// check if UCS-4 character is valid
bool UnicodeIsValid(Unicode ucs4);
@@ -45,7 +46,7 @@ bool UnicodeIsWhitespace(Unicode ucs4);
// (excluding terminating NULL). Each invalid byte is counted as a
// code point since the UTF-8 conversion functions will replace it with
// REPLACEMENT_CHAR.
-int utf8CountUtf16CodeUnits(const char *utf8);
+int POPPLER_PRIVATE_EXPORT utf8CountUtf16CodeUnits(const char *utf8);
// Convert UTF-8 to UTF-16
// utf8- UTF-8 string to convert. If not null terminated, set maxUtf8 to num
@@ -55,14 +56,14 @@ int utf8CountUtf16CodeUnits(const char *utf8);
// maxUtf8 - maximum number of UTF-8 bytes to convert. Conversion stops when
// either this count is reached or a null is encountered.
// Returns number of UTF-16 code units written (excluding NULL).
-int utf8ToUtf16(const char *utf8, uint16_t *utf16, int maxUtf16 = INT_MAX, int maxUtf8 = INT_MAX);
+int POPPLER_PRIVATE_EXPORT utf8ToUtf16(const char *utf8, uint16_t *utf16, int maxUtf16 = INT_MAX, int maxUtf8 = INT_MAX);
// Allocate utf16 string and convert utf8 into it.
-uint16_t *utf8ToUtf16(const char *utf8, int *len = nullptr);
+uint16_t POPPLER_PRIVATE_EXPORT *utf8ToUtf16(const char *utf8, int *len = nullptr);
// Count number of UTF-8 bytes required to convert a UTF-16 string to
// UTF-8 (excluding terminating NULL).
-int utf16CountUtf8Bytes(const uint16_t *utf16);
+int POPPLER_PRIVATE_EXPORT utf16CountUtf8Bytes(const uint16_t *utf16);
// Convert UTF-16 to UTF-8
// utf16- UTF-16 string to convert. If not null terminated, set maxUtf16 to num
@@ -72,10 +73,10 @@ int utf16CountUtf8Bytes(const uint16_t *utf16);
// maxUtf16 - maximum number of UTF-16 code units to convert. Conversion stops when
// either this count is reached or a null is encountered.
// Returns number of UTF-8 bytes written (excluding NULL).
-int utf16ToUtf8(const uint16_t *utf16, char *utf8, int maxUtf8 = INT_MAX, int maxUtf16 = INT_MAX);
+int POPPLER_PRIVATE_EXPORT utf16ToUtf8(const uint16_t *utf16, char *utf8, int maxUtf8 = INT_MAX, int maxUtf16 = INT_MAX);
// Allocate utf8 string and convert utf16 into it.
-char *utf16ToUtf8(const uint16_t *utf16, int *len = nullptr);
+char POPPLER_PRIVATE_EXPORT *utf16ToUtf8(const uint16_t *utf16, int *len = nullptr);
// Convert a UCS-4 string to pure ASCII (7bit)
// in - UCS-4 string bytes
@@ -88,6 +89,6 @@ char *utf16ToUtf8(const uint16_t *utf16, int *len = nullptr);
// of length @out_len + 1, for each character in the ascii string giving the index
// of the corresponding character in the text of the line (thanks to this info
// being passed in @in_idx parameter).
-void unicodeToAscii7(const Unicode *in, int len, Unicode **ucs4_out, int *out_len, const int *in_idx, int **indices);
+void POPPLER_PRIVATE_EXPORT unicodeToAscii7(const Unicode *in, int len, Unicode **ucs4_out, int *out_len, const int *in_idx, int **indices);
#endif
diff --git a/poppler/UnicodeMap.h b/poppler/UnicodeMap.h
index 3093333a..9ec22c4c 100644
--- a/poppler/UnicodeMap.h
+++ b/poppler/UnicodeMap.h
@@ -29,6 +29,7 @@
#define UNICODEMAP_H
#include "poppler-config.h"
+#include "poppler_private_export.h"
#include "CharTypes.h"
#include <atomic>
@@ -56,7 +57,7 @@ struct UnicodeMapExt;
//------------------------------------------------------------------------
-class UnicodeMap
+class POPPLER_PRIVATE_EXPORT UnicodeMap
{
public:
// Create the UnicodeMap specified by <encodingName>. Sets the
diff --git a/poppler/UnicodeMapFuncs.h b/poppler/UnicodeMapFuncs.h
index 8f35293a..bace0a62 100644
--- a/poppler/UnicodeMapFuncs.h
+++ b/poppler/UnicodeMapFuncs.h
@@ -28,7 +28,7 @@
#include "UTF.h"
-int mapUTF8(Unicode u, char *buf, int bufSize);
+int POPPLER_PRIVATE_EXPORT mapUTF8(Unicode u, char *buf, int bufSize);
int mapUTF16(Unicode u, char *buf, int bufSize);
diff --git a/poppler/UnicodeTypeTable.h b/poppler/UnicodeTypeTable.h
index 064cda38..85d88d62 100644
--- a/poppler/UnicodeTypeTable.h
+++ b/poppler/UnicodeTypeTable.h
@@ -28,6 +28,7 @@
#define UNICODETYPETABLE_H
#include "CharTypes.h"
+#include "poppler_private_export.h"
extern bool unicodeTypeL(Unicode c);
@@ -41,8 +42,8 @@ extern bool unicodeIsAlphabeticPresentationForm(Unicode c);
extern Unicode unicodeToUpper(Unicode c);
-extern Unicode *unicodeNormalizeNFKC(const Unicode *in, int len, int *out_len, int **indices);
+extern Unicode POPPLER_PRIVATE_EXPORT *unicodeNormalizeNFKC(const Unicode *in, int len, int *out_len, int **indices);
-extern Unicode *unicodeNormalizeNFKC(const Unicode *in, int len, int *out_len, int **indices, bool reverseRTL);
+extern Unicode POPPLER_PRIVATE_EXPORT *unicodeNormalizeNFKC(const Unicode *in, int len, int *out_len, int **indices, bool reverseRTL);
#endif
diff --git a/poppler/XRef.h b/poppler/XRef.h
index c18ff548..1b050f8e 100644
--- a/poppler/XRef.h
+++ b/poppler/XRef.h
@@ -35,6 +35,7 @@
#define XREF_H
#include "poppler-config.h"
+#include "poppler_private_export.h"
#include "Object.h"
#include "Stream.h"
#include "PopplerCache.h"
@@ -92,7 +93,7 @@ struct XRefEntry
}
};
-class XRef
+class POPPLER_PRIVATE_EXPORT XRef
{
public:
// Constructor, create an empty XRef, used for PDF writing
diff --git a/qt5/demos/CMakeLists.txt b/qt5/demos/CMakeLists.txt
index fc5ae601..37374bba 100644
--- a/qt5/demos/CMakeLists.txt
+++ b/qt5/demos/CMakeLists.txt
@@ -2,6 +2,7 @@ include_directories(
${CMAKE_CURRENT_SOURCE_DIR}
${CMAKE_CURRENT_SOURCE_DIR}/../src
${CMAKE_CURRENT_BINARY_DIR}
+ ${CMAKE_CURRENT_BINARY_DIR}/../src
)
set(poppler_qt5viewer_SRCS
diff --git a/qt5/src/CMakeLists.txt b/qt5/src/CMakeLists.txt
index afacd2c3..1212bb84 100644
--- a/qt5/src/CMakeLists.txt
+++ b/qt5/src/CMakeLists.txt
@@ -37,6 +37,7 @@ set(poppler_qt5_SRCS
poppler-version.cpp
)
add_library(poppler-qt5 ${poppler_qt5_SRCS})
+generate_export_header(poppler-qt5 BASE_NAME poppler-qt5 EXPORT_FILE_NAME "${CMAKE_CURRENT_BINARY_DIR}/poppler-export.h")
set_target_properties(poppler-qt5 PROPERTIES VERSION 1.27.0 SOVERSION 1)
if(MINGW AND BUILD_SHARED_LIBS)
get_target_property(POPPLER_QT5_SOVERSION poppler-qt5 SOVERSION)
@@ -60,9 +61,9 @@ install(FILES
poppler-annotation.h
poppler-form.h
poppler-optcontent.h
- poppler-export.h
poppler-page-transition.h
poppler-media.h
+ ${CMAKE_CURRENT_BINARY_DIR}/poppler-export.h
${CMAKE_CURRENT_BINARY_DIR}/poppler-version.h
DESTINATION include/poppler/qt5)
diff --git a/qt5/src/poppler-export.h b/qt5/src/poppler-export.h
deleted file mode 100644
index 597eccf1..00000000
--- a/qt5/src/poppler-export.h
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * This file is used to set the poppler_qt5_EXPORT macros right.
- * This is needed for setting the visibility on windows, it will have no effect on other platforms.
- */
-#if defined(_WIN32)
-# 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 _POPPLER_QT5_LIB_EXPORT
-# define _POPPLER_QT5_LIB_IMPORT
-#endif
-
-#ifdef poppler_qt5_EXPORTS
-# define POPPLER_QT5_EXPORT _POPPLER_QT5_LIB_EXPORT
-#else
-# define POPPLER_QT5_EXPORT _POPPLER_QT5_LIB_IMPORT
-#endif
diff --git a/qt5/tests/CMakeLists.txt b/qt5/tests/CMakeLists.txt
index 82ef2139..c3decb92 100644
--- a/qt5/tests/CMakeLists.txt
+++ b/qt5/tests/CMakeLists.txt
@@ -4,6 +4,7 @@ include_directories(
${CMAKE_CURRENT_SOURCE_DIR}
${CMAKE_CURRENT_SOURCE_DIR}/../src
${CMAKE_CURRENT_BINARY_DIR}
+ ${CMAKE_CURRENT_BINARY_DIR}/../src
)
macro(QT5_ADD_SIMPLETEST exe source)
diff --git a/qt6/demos/CMakeLists.txt b/qt6/demos/CMakeLists.txt
index 692a2714..f7c770aa 100644
--- a/qt6/demos/CMakeLists.txt
+++ b/qt6/demos/CMakeLists.txt
@@ -2,6 +2,7 @@ include_directories(
${CMAKE_CURRENT_SOURCE_DIR}
${CMAKE_CURRENT_SOURCE_DIR}/../src
${CMAKE_CURRENT_BINARY_DIR}
+ ${CMAKE_CURRENT_BINARY_DIR}/../src
)
set(poppler_qt6viewer_SRCS
diff --git a/qt6/src/CMakeLists.txt b/qt6/src/CMakeLists.txt
index a4cf8323..7fecbc23 100644
--- a/qt6/src/CMakeLists.txt
+++ b/qt6/src/CMakeLists.txt
@@ -37,6 +37,7 @@ set(poppler_qt6_SRCS
poppler-version.cpp
)
add_library(poppler-qt6 ${poppler_qt6_SRCS})
+generate_export_header(poppler-qt6 BASE_NAME poppler-qt6 EXPORT_FILE_NAME "${CMAKE_CURRENT_BINARY_DIR}/poppler-export.h")
set_target_properties(poppler-qt6 PROPERTIES VERSION 1.1.0 SOVERSION 1)
if(MINGW AND BUILD_SHARED_LIBS)
get_target_property(POPPLER_QT6_SOVERSION poppler-qt6 SOVERSION)
@@ -60,9 +61,9 @@ install(FILES
poppler-annotation.h
poppler-form.h
poppler-optcontent.h
- poppler-export.h
poppler-page-transition.h
poppler-media.h
+ ${CMAKE_CURRENT_BINARY_DIR}/poppler-export.h
${CMAKE_CURRENT_BINARY_DIR}/poppler-version.h
DESTINATION include/poppler/qt6)
diff --git a/qt6/src/poppler-export.h b/qt6/src/poppler-export.h
deleted file mode 100644
index 29eca234..00000000
--- a/qt6/src/poppler-export.h
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * This file is used to set the poppler_qt6_EXPORT macros right.
- * This is needed for setting the visibility on windows, it will have no effect on other platforms.
- */
-#if defined(_WIN32)
-# define _POPPLER_QT6_LIB_EXPORT __declspec(dllexport)
-# define _POPPLER_QT6_LIB_IMPORT __declspec(dllimport)
-#elif defined(__GNUC__)
-# define _POPPLER_QT6_LIB_EXPORT __attribute__((visibility("default")))
-# define _POPPLER_QT6_LIB_IMPORT
-#else
-# define _POPPLER_QT6_LIB_EXPORT
-# define _POPPLER_QT6_LIB_IMPORT
-#endif
-
-#ifdef poppler_qt6_EXPORTS
-# define POPPLER_QT6_EXPORT _POPPLER_QT6_LIB_EXPORT
-#else
-# define POPPLER_QT6_EXPORT _POPPLER_QT6_LIB_IMPORT
-#endif
diff --git a/qt6/tests/CMakeLists.txt b/qt6/tests/CMakeLists.txt
index 7f9e749e..72cc4860 100644
--- a/qt6/tests/CMakeLists.txt
+++ b/qt6/tests/CMakeLists.txt
@@ -4,6 +4,7 @@ include_directories(
${CMAKE_CURRENT_SOURCE_DIR}
${CMAKE_CURRENT_SOURCE_DIR}/../src
${CMAKE_CURRENT_BINARY_DIR}
+ ${CMAKE_CURRENT_BINARY_DIR}/../src
)
macro(QT6_ADD_SIMPLETEST exe source)
diff --git a/splash/Splash.h b/splash/Splash.h
index d1dad3b1..68f27ae6 100644
--- a/splash/Splash.h
+++ b/splash/Splash.h
@@ -31,6 +31,7 @@
#include "SplashTypes.h"
#include "SplashClip.h"
#include "SplashPattern.h"
+#include "poppler_private_export.h"
class SplashBitmap;
struct SplashGlyphBitmap;
@@ -78,7 +79,7 @@ enum SplashPipeResultColorCtrl
// Splash
//------------------------------------------------------------------------
-class Splash
+class POPPLER_PRIVATE_EXPORT Splash
{
public:
// Create a new rasterizer object.
diff --git a/splash/SplashBitmap.h b/splash/SplashBitmap.h
index 454f0519..9586f328 100644
--- a/splash/SplashBitmap.h
+++ b/splash/SplashBitmap.h
@@ -35,6 +35,7 @@
#include "SplashTypes.h"
#include "poppler/GfxState.h"
+#include "poppler_private_export.h"
#include <cstdio>
class ImgWriter;
@@ -43,7 +44,7 @@ class ImgWriter;
// SplashBitmap
//------------------------------------------------------------------------
-class SplashBitmap
+class POPPLER_PRIVATE_EXPORT SplashBitmap
{
public:
// Create a new bitmap. It will have <widthA> x <heightA> pixels in
diff --git a/splash/SplashPath.h b/splash/SplashPath.h
index 1d1de3fd..e04d67af 100644
--- a/splash/SplashPath.h
+++ b/splash/SplashPath.h
@@ -23,6 +23,7 @@
#define SPLASHPATH_H
#include "SplashTypes.h"
+#include "poppler_private_export.h"
//------------------------------------------------------------------------
// SplashPathPoint
@@ -64,7 +65,7 @@ struct SplashPathHint
// SplashPath
//------------------------------------------------------------------------
-class SplashPath
+class POPPLER_PRIVATE_EXPORT SplashPath
{
public:
// Create an empty path.
diff --git a/splash/SplashPattern.h b/splash/SplashPattern.h
index dd12466e..83de32db 100644
--- a/splash/SplashPattern.h
+++ b/splash/SplashPattern.h
@@ -23,6 +23,7 @@
#define SPLASHPATTERN_H
#include "SplashTypes.h"
+#include "poppler_private_export.h"
class SplashScreen;
@@ -62,7 +63,7 @@ private:
// SplashSolidColor
//------------------------------------------------------------------------
-class SplashSolidColor : public SplashPattern
+class POPPLER_PRIVATE_EXPORT SplashSolidColor : public SplashPattern
{
public:
SplashSolidColor(SplashColorPtr colorA);