| PdfCompilerCompat.h | | PdfCompilerCompat.h | |
| | | | |
| skipping to change at line 13 | | skipping to change at line 13 | |
| | | | |
| // | | // | |
| // *** THIS HEADER IS INCLUDED BY PdfDefines.h *** | | // *** THIS HEADER IS INCLUDED BY PdfDefines.h *** | |
| // *** DO NOT INCLUDE DIRECTLY *** | | // *** DO NOT INCLUDE DIRECTLY *** | |
| #ifndef _PDF_DEFINES_H_ | | #ifndef _PDF_DEFINES_H_ | |
| #error Please include PdfDefines.h instead | | #error Please include PdfDefines.h instead | |
| #endif | | #endif | |
| | | | |
| #include "podofo_config.h" | | #include "podofo_config.h" | |
| | | | |
|
| | | #ifndef PODOFO_COMPILE_RC | |
| | | | |
| // Silence some annoying warnings from Visual Studio | | // Silence some annoying warnings from Visual Studio | |
| #ifdef _MSC_VER | | #ifdef _MSC_VER | |
| #if _MSC_VER <= 1200 // Visual Studio 6 | | #if _MSC_VER <= 1200 // Visual Studio 6 | |
| #pragma warning(disable: 4786) | | #pragma warning(disable: 4786) | |
| #pragma warning(disable: 4251) | | #pragma warning(disable: 4251) | |
| #elif _MSC_VER <= 1400 // Visual Studio 2005 | | #elif _MSC_VER <= 1400 // Visual Studio 2005 | |
| #pragma warning(disable: 4251) | | #pragma warning(disable: 4251) | |
| #pragma warning(disable: 4275) | | #pragma warning(disable: 4275) | |
| #endif // _MSC_VER | | #endif // _MSC_VER | |
| #endif // _MSC_VER | | #endif // _MSC_VER | |
| | | | |
| skipping to change at line 107 | | skipping to change at line 109 | |
| #undef PDF_INT64_TYPENAME | | #undef PDF_INT64_TYPENAME | |
| #undef PDF_UINT8_TYPENAME | | #undef PDF_UINT8_TYPENAME | |
| #undef PDF_UINT16_TYPENAME | | #undef PDF_UINT16_TYPENAME | |
| #undef PDF_UINT32_TYPENAME | | #undef PDF_UINT32_TYPENAME | |
| #undef PDF_UINT64_TYPENAME | | #undef PDF_UINT64_TYPENAME | |
| | | | |
| /* | | /* | |
| * Some elderly compilers, notably VC6, don't support LL literals. | | * Some elderly compilers, notably VC6, don't support LL literals. | |
| * In those cases we can use the oversized literal without any suffix. | | * In those cases we can use the oversized literal without any suffix. | |
| */ | | */ | |
|
| | | #if defined(_MSC_VER) && _MSC_VER <= 1200 // Visual Studio 6 | |
| | | # define PODOFO_LL_LITERAL(x) x | |
| | | # define PODOFO_ULL_LITERAL(x) x | |
| | | #else | |
| #if defined(PODOFO_COMPILER_LACKS_LL_LITERALS) | | #if defined(PODOFO_COMPILER_LACKS_LL_LITERALS) | |
| # define PODOFO_LL_LITERAL(x) x | | # define PODOFO_LL_LITERAL(x) x | |
| # define PODOFO_ULL_LITERAL(x) x | | # define PODOFO_ULL_LITERAL(x) x | |
| #else | | #else | |
| # define PODOFO_LL_LITERAL(x) x##LL | | # define PODOFO_LL_LITERAL(x) x##LL | |
| # define PODOFO_ULL_LITERAL(x) x##ULL | | # define PODOFO_ULL_LITERAL(x) x##ULL | |
| #endif | | #endif | |
|
| | | #endif | |
| | | | |
| | | #if defined(_MSC_VER) && _MSC_VER <= 1200 // Visual Studio 6 | |
| | | # define PODOFO_MIN(_a, _b) ((_a) < (_b) ? (_a) : (_b)) | |
| | | #else | |
| | | # define PODOFO_MIN(_a, _b) (std::min((_a), (_b))) | |
| | | #endif | |
| | | | |
| // pdf_long is defined as ptrdiff_t . It's a pointer-sized signed quantity | | // pdf_long is defined as ptrdiff_t . It's a pointer-sized signed quantity | |
| // used throughout the code for a variety of purposes. | | // used throughout the code for a variety of purposes. | |
| // | | // | |
| // pdf_long is DEPRECATED. Please use one of the explicitly sized types | | // pdf_long is DEPRECATED. Please use one of the explicitly sized types | |
| // instead, or define a typedef that meaningfully describes what it's for. | | // instead, or define a typedef that meaningfully describes what it's for. | |
| // Good choices in many cases include size_t (string and buffer sizes) and | | // Good choices in many cases include size_t (string and buffer sizes) and | |
| // ptrdiff_t (offsets and pointer arithmetic). | | // ptrdiff_t (offsets and pointer arithmetic). | |
| // | | // | |
| // pdf_long should not be used in new code. | | // pdf_long should not be used in new code. | |
| | | | |
| skipping to change at line 138 | | skipping to change at line 151 | |
| | | | |
| // Different compilers use different format specifiers for 64-bit integers | | // Different compilers use different format specifiers for 64-bit integers | |
| // (yay!). Use these macros with C's automatic string concatenation to han
dle | | // (yay!). Use these macros with C's automatic string concatenation to han
dle | |
| // that ghastly quirk. | | // that ghastly quirk. | |
| // | | // | |
| // for example: printf("Value of signed 64-bit integer: %"PDF_FORMAT_INT6
4" (more blah)", 128LL) | | // for example: printf("Value of signed 64-bit integer: %"PDF_FORMAT_INT6
4" (more blah)", 128LL) | |
| // | | // | |
| #if defined(_MSC_VER) | | #if defined(_MSC_VER) | |
| # define PDF_FORMAT_INT64 "I64d" | | # define PDF_FORMAT_INT64 "I64d" | |
| # define PDF_FORMAT_UINT64 "I64u" | | # define PDF_FORMAT_UINT64 "I64u" | |
|
| | | #elif defined(SZ_INT64) && defined(SZ_LONG) && SZ_INT64 == SZ_LONG | |
| | | # define PDF_FORMAT_INT64 "ld" | |
| | | # define PDF_FORMAT_UINT64 "lu" | |
| #else | | #else | |
| # define PDF_FORMAT_INT64 "lld" | | # define PDF_FORMAT_INT64 "lld" | |
| # define PDF_FORMAT_UINT64 "llu" | | # define PDF_FORMAT_UINT64 "llu" | |
| #endif | | #endif | |
| | | | |
| // Different compilers express __FUNC__ in different ways and with differen
t | | // Different compilers express __FUNC__ in different ways and with differen
t | |
| // capabilities. Try to find the best option. | | // capabilities. Try to find the best option. | |
| // | | // | |
| // Note that __LINE__ and __FILE__ are *NOT* included. | | // Note that __LINE__ and __FILE__ are *NOT* included. | |
| // Further note that you can't use compile-time string concatenation on __F
UNC__ and friends | | // Further note that you can't use compile-time string concatenation on __F
UNC__ and friends | |
| | | | |
| skipping to change at line 162 | | skipping to change at line 178 | |
| #if (defined(_MSC_VER) && _MSC_VER <= 1200) | | #if (defined(_MSC_VER) && _MSC_VER <= 1200) | |
| # define PODOFO__FUNCTION__ __FUNCTION__ | | # define PODOFO__FUNCTION__ __FUNCTION__ | |
| #elif defined(__BORLANDC__) || defined(__TURBOC__) | | #elif defined(__BORLANDC__) || defined(__TURBOC__) | |
| # define PODOFO__FUNCTION__ __FUNC__ | | # define PODOFO__FUNCTION__ __FUNC__ | |
| #elif defined(__GNUC__) | | #elif defined(__GNUC__) | |
| # define PODOFO__FUNCTION__ __PRETTY_FUNCTION__ | | # define PODOFO__FUNCTION__ __PRETTY_FUNCTION__ | |
| #else | | #else | |
| # define PODOFO__FUNCTION__ __FUNCTION__ | | # define PODOFO__FUNCTION__ __FUNCTION__ | |
| #endif | | #endif | |
| | | | |
|
| | | #if defined(_WIN32) | |
| | | | |
| | | // Undefined stuff which windows does define that breaks the build | |
| | | // e.g. GetObject is defined to either GetObjectA or GetObjectW | |
| | | #ifdef GetObject | |
| | | #undef GetObject | |
| | | #endif // GetObject | |
| | | | |
| | | #ifdef CreateFont | |
| | | #undef CreateFont | |
| | | #endif // CreateFont | |
| | | | |
| | | #ifdef DrawText | |
| | | #undef DrawText | |
| | | #endif // DrawText | |
| | | | |
| | | #endif // defined(_WIN32) | |
| | | | |
| /** | | /** | |
| * \page PoDoFo PdfCompilerCompat Header | | * \page PoDoFo PdfCompilerCompat Header | |
| * | | * | |
| * <b>PdfCompilerCompat.h</b> gathers up nastyness required for various | | * <b>PdfCompilerCompat.h</b> gathers up nastyness required for various | |
| * compiler compatibility into a central place. All compiler-specific defin
es, | | * compiler compatibility into a central place. All compiler-specific defin
es, | |
| * wrappers, and the like should be included here and (if necessary) in | | * wrappers, and the like should be included here and (if necessary) in | |
| * PdfCompilerCompat.cpp if they must be visible to public users of the lib
rary. | | * PdfCompilerCompat.cpp if they must be visible to public users of the lib
rary. | |
| * | | * | |
| * If the nasty platform and compiler specific hacks can be kept to PoDoFo'
s | | * If the nasty platform and compiler specific hacks can be kept to PoDoFo'
s | |
| * build and need not be visible to users of the library, put them in | | * build and need not be visible to users of the library, put them in | |
| * PdfCompilerCompatPrivate.{cpp,h} instead. | | * PdfCompilerCompatPrivate.{cpp,h} instead. | |
| * | | * | |
| * Please NEVER use symbols from this header or the PoDoFo::compat namespac
e in | | * Please NEVER use symbols from this header or the PoDoFo::compat namespac
e in | |
| * a "using" directive. Always explicitly reference names so it's clear tha
t | | * a "using" directive. Always explicitly reference names so it's clear tha
t | |
| * you're pulling them from the compat cruft. | | * you're pulling them from the compat cruft. | |
| */ | | */ | |
| | | | |
|
| | | #endif // !PODOFO_COMPILE_RC | |
| | | | |
| #endif | | #endif | |
| | | | |
End of changes. 6 change blocks. |
| 0 lines changed or deleted | | 36 lines changed or added | |
|
| PdfDefines.h | | PdfDefines.h | |
| | | | |
| skipping to change at line 19 | | skipping to change at line 19 | |
| *
* | | *
* | |
| * This program is distributed in the hope that it will be useful,
* | | * This program is distributed in the hope that it will be useful,
* | |
| * but WITHOUT ANY WARRANTY; without even the implied warranty of
* | | * but WITHOUT ANY WARRANTY; without even the implied warranty of
* | |
| * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* | | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* | |
| * GNU General Public License for more details.
* | | * GNU General Public License for more details.
* | |
| *
* | | *
* | |
| * You should have received a copy of the GNU Library General Public
* | | * You should have received a copy of the GNU Library General Public
* | |
| * License along with this program; if not, write to the
* | | * License along with this program; if not, write to the
* | |
| * Free Software Foundation, Inc.,
* | | * Free Software Foundation, Inc.,
* | |
| * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
* | | * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
* | |
|
| | | * | |
| | | * | |
| | | * In addition, as a special exception, the copyright holders give | |
| | | * | |
| | | * permission to link the code of portions of this program with the | |
| | | * | |
| | | * OpenSSL library under certain conditions as described in each | |
| | | * | |
| | | * individual source file, and distribute linked combinations | |
| | | * | |
| | | * including the two. | |
| | | * | |
| | | * You must obey the GNU General Public License in all respects | |
| | | * | |
| | | * for all of the code used other than OpenSSL. If you modify | |
| | | * | |
| | | * file(s) with this exception, you may extend this exception to your | |
| | | * | |
| | | * version of the file(s), but you are not obligated to do so. If you | |
| | | * | |
| | | * do not wish to do so, delete this exception statement from your | |
| | | * | |
| | | * version. If you delete this exception statement from all source | |
| | | * | |
| | | * files in the program, then also delete it here. | |
| | | * | |
| **************************************************************************
*/ | | **************************************************************************
*/ | |
| | | | |
| #ifndef _PDF_DEFINES_H_ | | #ifndef _PDF_DEFINES_H_ | |
| #define _PDF_DEFINES_H_ | | #define _PDF_DEFINES_H_ | |
| | | | |
| /** \file PdfDefines.h | | /** \file PdfDefines.h | |
| * This file should be included as the FIRST file in every header of | | * This file should be included as the FIRST file in every header of | |
| * PoDoFo lib. It includes all standard files, defines some useful | | * PoDoFo lib. It includes all standard files, defines some useful | |
| * macros, some datatypes and all important enumeration types. On | | * macros, some datatypes and all important enumeration types. On | |
| * supporting platforms it will be precompiled to speed compilation. | | * supporting platforms it will be precompiled to speed compilation. | |
| | | | |
| skipping to change at line 54 | | skipping to change at line 67 | |
| #define PODOFO_MAKE_VERSION(M,m,p) PODOFO_MAKE_VERSION_REAL(M,m,p) | | #define PODOFO_MAKE_VERSION(M,m,p) PODOFO_MAKE_VERSION_REAL(M,m,p) | |
| #define PODOFO_VERSION PODOFO_MAKE_VERSION(PODOFO_VERSION_MAJOR, PODOFO_VER
SION_MINOR, PODOFO_VERSION_PATCH) | | #define PODOFO_VERSION PODOFO_MAKE_VERSION(PODOFO_VERSION_MAJOR, PODOFO_VER
SION_MINOR, PODOFO_VERSION_PATCH) | |
| | | | |
| /** | | /** | |
| * PoDoFo version represented as a string literal, eg '0.7.99' | | * PoDoFo version represented as a string literal, eg '0.7.99' | |
| */ | | */ | |
| #define PODOFO_MAKE_VERSION_STR_REAL(M,m,p) ("\"" #M "." #m "." #p "\"") | | #define PODOFO_MAKE_VERSION_STR_REAL(M,m,p) ("\"" #M "." #m "." #p "\"") | |
| #define PODOFO_MAKE_VERSION_STR(M,m,p) PODOFO_MAKE_VERSION_STR_REAL(M,m,p) | | #define PODOFO_MAKE_VERSION_STR(M,m,p) PODOFO_MAKE_VERSION_STR_REAL(M,m,p) | |
| #define PODOFO_VERSION_STR PODOFO_MAKE_VERSION_STR(PODOFO_VERSION_MAJOR, PO
DOFO_VERSION_MINOR, PODOFO_VERSION_PATCH) | | #define PODOFO_VERSION_STR PODOFO_MAKE_VERSION_STR(PODOFO_VERSION_MAJOR, PO
DOFO_VERSION_MINOR, PODOFO_VERSION_PATCH) | |
| | | | |
|
| | | #ifndef PODOFO_COMPILE_RC | |
| | | | |
| // Include common system files | | // Include common system files | |
| // (most are now pulled in my PdfCompilerCompat.h) | | // (most are now pulled in my PdfCompilerCompat.h) | |
| #include <wchar.h> | | #include <wchar.h> | |
| | | | |
| // Include common STL files | | // Include common STL files | |
| #include <map> | | #include <map> | |
| #include <string> | | #include <string> | |
| #include <vector> | | #include <vector> | |
| #include <set> | | #include <set> | |
| | | | |
| | | | |
| skipping to change at line 219 | | skipping to change at line 234 | |
| }; | | }; | |
| | | | |
| /** | | /** | |
| * Enum for the different font formats supported by PoDoFo | | * Enum for the different font formats supported by PoDoFo | |
| */ | | */ | |
| enum EPdfFontType { | | enum EPdfFontType { | |
| ePdfFontType_TrueType, | | ePdfFontType_TrueType, | |
| ePdfFontType_Type1Pfa, | | ePdfFontType_Type1Pfa, | |
| ePdfFontType_Type1Pfb, | | ePdfFontType_Type1Pfb, | |
| ePdfFontType_Type1Base14, | | ePdfFontType_Type1Base14, | |
|
| | | ePdfFontType_Type3, | |
| ePdfFontType_Unknown = 0xff | | ePdfFontType_Unknown = 0xff | |
| }; | | }; | |
| | | | |
| /** | | /** | |
| * Enum for the colorspaces supported | | * Enum for the colorspaces supported | |
| * by PDF. | | * by PDF. | |
| */ | | */ | |
| enum EPdfColorSpace { | | enum EPdfColorSpace { | |
| ePdfColorSpace_DeviceGray, /**< Gray */ | | ePdfColorSpace_DeviceGray, /**< Gray */ | |
| ePdfColorSpace_DeviceRGB, /**< RGB */ | | ePdfColorSpace_DeviceRGB, /**< RGB */ | |
| ePdfColorSpace_DeviceCMYK, /**< CMYK */ | | ePdfColorSpace_DeviceCMYK, /**< CMYK */ | |
| ePdfColorSpace_Separation, /**< Separation */ | | ePdfColorSpace_Separation, /**< Separation */ | |
| ePdfColorSpace_CieLab, /**< CIE-Lab */ | | ePdfColorSpace_CieLab, /**< CIE-Lab */ | |
|
| | | ePdfColorSpace_Indexed, /**< Indexed */ | |
| ePdfColorSpace_Unknown = 0xff | | ePdfColorSpace_Unknown = 0xff | |
| }; | | }; | |
| | | | |
| /** | | /** | |
|
| | | * Enum for text rendering mode (Tr) | |
| | | */ | |
| | | enum EPdfTextRenderingMode { | |
| | | ePdfTextRenderingMode_Fill = 0, /**< Default mode, fill | |
| | | text */ | |
| | | ePdfTextRenderingMode_Stroke, /**< Stroke text */ | |
| | | ePdfTextRenderingMode_FillAndStroke, /**< Fill, then stroke | |
| | | text */ | |
| | | ePdfTextRenderingMode_Invisible, /**< Neither fill nor s | |
| | | troke text (invisible) */ | |
| | | ePdfTextRenderingMode_FillToClipPath, /**< Fill text and add | |
| | | to path for clipping */ | |
| | | ePdfTextRenderingMode_StrokeToClipPath, /**< Stroke text and ad | |
| | | d to path for clipping */ | |
| | | ePdfTextRenderingMode_FillAndStrokeToClipPath, /**< Fill, then stroke | |
| | | text and add to path for clipping */ | |
| | | ePdfTextRenderingMode_ToClipPath, /**< Add text to path f | |
| | | or clipping */ | |
| | | ePdfTextRenderingMode_Unknown = 0xff | |
| | | }; | |
| | | | |
| | | /** | |
| * Enum for the different stroke styles that can be set | | * Enum for the different stroke styles that can be set | |
| * when drawing to a PDF file (mostly for line drawing). | | * when drawing to a PDF file (mostly for line drawing). | |
| */ | | */ | |
| enum EPdfStrokeStyle { | | enum EPdfStrokeStyle { | |
| ePdfStrokeStyle_Solid, | | ePdfStrokeStyle_Solid, | |
| ePdfStrokeStyle_Dash, | | ePdfStrokeStyle_Dash, | |
| ePdfStrokeStyle_Dot, | | ePdfStrokeStyle_Dot, | |
| ePdfStrokeStyle_DashDot, | | ePdfStrokeStyle_DashDot, | |
| ePdfStrokeStyle_DashDotDot, | | ePdfStrokeStyle_DashDotDot, | |
| ePdfStrokeStyle_Custom | | ePdfStrokeStyle_Custom | |
| }; | | }; | |
| | | | |
| /** | | /** | |
|
| | | * Enum for predefined tiling patterns. | |
| | | */ | |
| | | enum EPdfTilingPatternType { | |
| | | ePdfTilingPatternType_BDiagonal = 1, | |
| | | ePdfTilingPatternType_Cross, | |
| | | ePdfTilingPatternType_DiagCross, | |
| | | ePdfTilingPatternType_FDiagonal, | |
| | | ePdfTilingPatternType_Horizontal, | |
| | | ePdfTilingPatternType_Vertical, | |
| | | ePdfTilingPatternType_Image | |
| | | }; | |
| | | | |
| | | /** | |
| * Enum for line cap styles when drawing. | | * Enum for line cap styles when drawing. | |
| */ | | */ | |
| enum EPdfLineCapStyle { | | enum EPdfLineCapStyle { | |
| ePdfLineCapStyle_Butt = 0, | | ePdfLineCapStyle_Butt = 0, | |
| ePdfLineCapStyle_Round = 1, | | ePdfLineCapStyle_Round = 1, | |
| ePdfLineCapStyle_Square = 2 | | ePdfLineCapStyle_Square = 2 | |
| }; | | }; | |
| | | | |
| /** | | /** | |
| * Enum for line join styles when drawing. | | * Enum for line join styles when drawing. | |
| | | | |
| skipping to change at line 495 | | skipping to change at line 540 | |
| * More information can be found at: http://podofo.sourceforge.net | | * More information can be found at: http://podofo.sourceforge.net | |
| * | | * | |
| * <b>PoDoFo</b> is created by Dominik Seichter <domseichter@web.de>, | | * <b>PoDoFo</b> is created by Dominik Seichter <domseichter@web.de>, | |
| * Leonard Rosenthol <leonardr@pdfsages.com> and Craig Ringer <craig@postne
wspapers.com.au> | | * Leonard Rosenthol <leonardr@pdfsages.com> and Craig Ringer <craig@postne
wspapers.com.au> | |
| * | | * | |
| * \page Codingstyle (Codingstyle) | | * \page Codingstyle (Codingstyle) | |
| * \verbinclude CODINGSTYLE.txt | | * \verbinclude CODINGSTYLE.txt | |
| * | | * | |
| */ | | */ | |
| | | | |
|
| | | #endif // !PODOFO_COMPILE_RC | |
| | | | |
| #endif // _PDF_DEFINES_H_ | | #endif // _PDF_DEFINES_H_ | |
| | | | |
End of changes. 7 change blocks. |
| 0 lines changed or deleted | | 67 lines changed or added | |
|
| PdfEncoding.h | | PdfEncoding.h | |
| | | | |
| skipping to change at line 19 | | skipping to change at line 19 | |
| *
* | | *
* | |
| * This program is distributed in the hope that it will be useful,
* | | * This program is distributed in the hope that it will be useful,
* | |
| * but WITHOUT ANY WARRANTY; without even the implied warranty of
* | | * but WITHOUT ANY WARRANTY; without even the implied warranty of
* | |
| * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* | | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* | |
| * GNU General Public License for more details.
* | | * GNU General Public License for more details.
* | |
| *
* | | *
* | |
| * You should have received a copy of the GNU Library General Public
* | | * You should have received a copy of the GNU Library General Public
* | |
| * License along with this program; if not, write to the
* | | * License along with this program; if not, write to the
* | |
| * Free Software Foundation, Inc.,
* | | * Free Software Foundation, Inc.,
* | |
| * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
* | | * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
* | |
|
| | | * | |
| | | * | |
| | | * In addition, as a special exception, the copyright holders give | |
| | | * | |
| | | * permission to link the code of portions of this program with the | |
| | | * | |
| | | * OpenSSL library under certain conditions as described in each | |
| | | * | |
| | | * individual source file, and distribute linked combinations | |
| | | * | |
| | | * including the two. | |
| | | * | |
| | | * You must obey the GNU General Public License in all respects | |
| | | * | |
| | | * for all of the code used other than OpenSSL. If you modify | |
| | | * | |
| | | * file(s) with this exception, you may extend this exception to your | |
| | | * | |
| | | * version of the file(s), but you are not obligated to do so. If you | |
| | | * | |
| | | * do not wish to do so, delete this exception statement from your | |
| | | * | |
| | | * version. If you delete this exception statement from all source | |
| | | * | |
| | | * files in the program, then also delete it here. | |
| | | * | |
| **************************************************************************
*/ | | **************************************************************************
*/ | |
| | | | |
| #ifndef _PDF_ENCODING_H_ | | #ifndef _PDF_ENCODING_H_ | |
| #define _PDF_ENCODING_H_ | | #define _PDF_ENCODING_H_ | |
| | | | |
| #include "PdfDefines.h" | | #include "PdfDefines.h" | |
| #include "PdfName.h" | | #include "PdfName.h" | |
| #include "PdfString.h" | | #include "PdfString.h" | |
| #include "util/PdfMutex.h" | | #include "util/PdfMutex.h" | |
| | | | |
| | | | |
| skipping to change at line 167 | | skipping to change at line 180 | |
| /** Convert a unicode PdfString to a string encoded with this encoding. | | /** Convert a unicode PdfString to a string encoded with this encoding. | |
| * | | * | |
| * \param rString an unicode PdfString. | | * \param rString an unicode PdfString. | |
| * \param pFont the font for which this string is converted | | * \param pFont the font for which this string is converted | |
| * | | * | |
| * \returns an encoded PdfRefCountedBuffer. The PdfRefCountedBuffer is
treated as a series of bytes | | * \returns an encoded PdfRefCountedBuffer. The PdfRefCountedBuffer is
treated as a series of bytes | |
| * and is allowed to have 0 bytes. The returned buffer must n
ot be a unicode string. | | * and is allowed to have 0 bytes. The returned buffer must n
ot be a unicode string. | |
| */ | | */ | |
| virtual PdfRefCountedBuffer ConvertToEncoding( const PdfString & rStrin
g, const PdfFont* pFont ) const = 0; | | virtual PdfRefCountedBuffer ConvertToEncoding( const PdfString & rStrin
g, const PdfFont* pFont ) const = 0; | |
| | | | |
|
| /** | | | |
| * \returns true if this encoding should be deleted automatically with | | | |
| the | | | |
| * font. | | | |
| */ | | | |
| virtual bool IsAutoDelete() const = 0; | | virtual bool IsAutoDelete() const = 0; | |
| | | | |
|
| /** | | | |
| * \returns true if this is a single byte encoding with a maximum of 2 | | | |
| 56 values. | | | |
| */ | | | |
| virtual bool IsSingleByteEncoding() const = 0; | | virtual bool IsSingleByteEncoding() const = 0; | |
| | | | |
| /** | | /** | |
| * \returns the first character code that is defined for this encoding | | * \returns the first character code that is defined for this encoding | |
| */ | | */ | |
| inline int GetFirstChar() const; | | inline int GetFirstChar() const; | |
| | | | |
| /** | | /** | |
| * \returns the last character code that is defined for this encoding | | * \returns the last character code that is defined for this encoding | |
| */ | | */ | |
| | | | |
| skipping to change at line 388 | | skipping to change at line 394 | |
| * \param nIndex character code at position index | | * \param nIndex character code at position index | |
| * \returns unicode character code | | * \returns unicode character code | |
| * | | * | |
| * \see GetFirstChar | | * \see GetFirstChar | |
| * \see GetLastChar | | * \see GetLastChar | |
| * | | * | |
| * Will throw an exception if nIndex is out of range. | | * Will throw an exception if nIndex is out of range. | |
| */ | | */ | |
| virtual pdf_utf16be GetCharCode( int nIndex ) const; | | virtual pdf_utf16be GetCharCode( int nIndex ) const; | |
| | | | |
|
| | | char GetUnicodeCharCode(pdf_utf16be unicodeValue) const; | |
| | | | |
| private: | | private: | |
| /** Initialize the internal table of mappings from unicode code points | | /** Initialize the internal table of mappings from unicode code points | |
| * to encoded byte values. | | * to encoded byte values. | |
| */ | | */ | |
| void InitEncodingTable(); | | void InitEncodingTable(); | |
| | | | |
| protected: | | protected: | |
| | | | |
| /** Get a unique ID for this encoding | | /** Get a unique ID for this encoding | |
| * which can used for comparisons! | | * which can used for comparisons! | |
| | | | |
End of changes. 4 change blocks. |
| 9 lines changed or deleted | | 28 lines changed or added | |
|
| PdfEncodingFactory.h | | PdfEncodingFactory.h | |
| | | | |
| skipping to change at line 19 | | skipping to change at line 19 | |
| *
* | | *
* | |
| * This program is distributed in the hope that it will be useful,
* | | * This program is distributed in the hope that it will be useful,
* | |
| * but WITHOUT ANY WARRANTY; without even the implied warranty of
* | | * but WITHOUT ANY WARRANTY; without even the implied warranty of
* | |
| * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* | | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* | |
| * GNU General Public License for more details.
* | | * GNU General Public License for more details.
* | |
| *
* | | *
* | |
| * You should have received a copy of the GNU Library General Public
* | | * You should have received a copy of the GNU Library General Public
* | |
| * License along with this program; if not, write to the
* | | * License along with this program; if not, write to the
* | |
| * Free Software Foundation, Inc.,
* | | * Free Software Foundation, Inc.,
* | |
| * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
* | | * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
* | |
|
| | | * | |
| | | * | |
| | | * In addition, as a special exception, the copyright holders give | |
| | | * | |
| | | * permission to link the code of portions of this program with the | |
| | | * | |
| | | * OpenSSL library under certain conditions as described in each | |
| | | * | |
| | | * individual source file, and distribute linked combinations | |
| | | * | |
| | | * including the two. | |
| | | * | |
| | | * You must obey the GNU General Public License in all respects | |
| | | * | |
| | | * for all of the code used other than OpenSSL. If you modify | |
| | | * | |
| | | * file(s) with this exception, you may extend this exception to your | |
| | | * | |
| | | * version of the file(s), but you are not obligated to do so. If you | |
| | | * | |
| | | * do not wish to do so, delete this exception statement from your | |
| | | * | |
| | | * version. If you delete this exception statement from all source | |
| | | * | |
| | | * files in the program, then also delete it here. | |
| | | * | |
| **************************************************************************
*/ | | **************************************************************************
*/ | |
| | | | |
| #ifndef _PDF_ENCODING_FACTORY_H_ | | #ifndef _PDF_ENCODING_FACTORY_H_ | |
| #define _PDF_ENCODING_FACTORY_H_ | | #define _PDF_ENCODING_FACTORY_H_ | |
| | | | |
| #include "PdfDefines.h" | | #include "PdfDefines.h" | |
| #include "util/PdfMutex.h" | | #include "util/PdfMutex.h" | |
| #include "string.h" | | #include "string.h" | |
| | | | |
| namespace PoDoFo { | | namespace PoDoFo { | |
| | | | |
| class PdfEncoding; | | class PdfEncoding; | |
| class PdfDocEncoding; | | class PdfDocEncoding; | |
| class PdfMacRomanEncoding; | | class PdfMacRomanEncoding; | |
| class PdfObject; | | class PdfObject; | |
| class PdfWinAnsiEncoding; | | class PdfWinAnsiEncoding; | |
| class PdfStandardEncoding; // OC 13.08.2010 | | class PdfStandardEncoding; // OC 13.08.2010 | |
| class PdfMacExpertEncoding; // OC 13.08.2010 | | class PdfMacExpertEncoding; // OC 13.08.2010 | |
| class PdfSymbolEncoding; // OC 13.08.2010 | | class PdfSymbolEncoding; // OC 13.08.2010 | |
| class PdfZapfDingbatsEncoding; // OC 13.08.2010 | | class PdfZapfDingbatsEncoding; // OC 13.08.2010 | |
|
| | | class PdfIdentityEncoding; | |
| | | | |
| /** This factory creates a PdfEncoding | | /** This factory creates a PdfEncoding | |
| * from an existing object in the PDF. | | * from an existing object in the PDF. | |
| */ | | */ | |
| class PODOFO_API PdfEncodingFactory { | | class PODOFO_API PdfEncodingFactory { | |
| public: | | public: | |
| /** Singleton method which returns a global instance | | /** Singleton method which returns a global instance | |
| * of PdfDocEncoding. | | * of PdfDocEncoding. | |
| * | | * | |
| * \returns global instance of PdfDocEncoding | | * \returns global instance of PdfDocEncoding | |
| | | | |
| skipping to change at line 98 | | skipping to change at line 112 | |
| static const PdfEncoding* GlobalSymbolEncodingInstance(); | | static const PdfEncoding* GlobalSymbolEncodingInstance(); | |
| | | | |
| // OC 13.08.2010: | | // OC 13.08.2010: | |
| /** Singleton method which returns a global instance | | /** Singleton method which returns a global instance | |
| * of ZapfDingbatsEncoding. | | * of ZapfDingbatsEncoding. | |
| * | | * | |
| * \returns global instance of ZapfDingbatsEncoding | | * \returns global instance of ZapfDingbatsEncoding | |
| */ | | */ | |
| static const PdfEncoding* GlobalZapfDingbatsEncodingInstance(); | | static const PdfEncoding* GlobalZapfDingbatsEncodingInstance(); | |
| | | | |
|
| | | /** Singleton method which returns a global instance | |
| | | * of IndentityEncoding useful for writing direct UTF8 strings. | |
| | | * | |
| | | * \returns global instance of IdentityEncoding | |
| | | */ | |
| | | static const PdfEncoding* GlobalIdentityEncodingInstance(); | |
| | | | |
| /** Free's the memory allocated by | | /** Free's the memory allocated by | |
| * the global encoding instancess in this singleton. | | * the global encoding instancess in this singleton. | |
| * | | * | |
| * PoDoFo will reallocated these encodings as soon | | * PoDoFo will reallocated these encodings as soon | |
| * as they are needed again. | | * as they are needed again. | |
| * | | * | |
|
| + Only call this method if no other class | | * Only call this method if no other class | |
| * of PoDoFo exists anymore, as PdfString etc | | * of PoDoFo exists anymore, as PdfString etc | |
| * contain pointers to the global instances. | | * contain pointers to the global instances. | |
|
| | | * | |
| */ | | */ | |
| static void FreeGlobalEncodingInstances(); | | static void FreeGlobalEncodingInstances(); | |
| | | | |
| static void PoDoFoClientAttached(); | | static void PoDoFoClientAttached(); | |
| | | | |
| private: | | private: | |
| /** Always use this static declaration, | | /** Always use this static declaration, | |
| * if you need an instance of PdfDocEncoding | | * if you need an instance of PdfDocEncoding | |
| * as heap allocation is expensive for PdfDocEncoding. | | * as heap allocation is expensive for PdfDocEncoding. | |
| */ | | */ | |
| | | | |
| skipping to change at line 159 | | skipping to change at line 181 | |
| */ | | */ | |
| static const PdfSymbolEncoding* s_pSymbolEncoding; | | static const PdfSymbolEncoding* s_pSymbolEncoding; | |
| | | | |
| // OC 13.08.2010: | | // OC 13.08.2010: | |
| /** Always use this static declaration, | | /** Always use this static declaration, | |
| * if you need an instance of ZapfDingbatsEncoding | | * if you need an instance of ZapfDingbatsEncoding | |
| * as heap allocation is expensive for PdfZapfDingbatsEncoding. | | * as heap allocation is expensive for PdfZapfDingbatsEncoding. | |
| */ | | */ | |
| static const PdfZapfDingbatsEncoding* s_pZapfDingbatsEncoding; | | static const PdfZapfDingbatsEncoding* s_pZapfDingbatsEncoding; | |
| | | | |
|
| | | static const PdfIdentityEncoding *s_pIdentityEncoding; | |
| | | | |
| static Util::PdfMutex s_mutex; | | static Util::PdfMutex s_mutex; | |
| }; | | }; | |
| | | | |
| }; /* namespace PoDoFo */ | | }; /* namespace PoDoFo */ | |
| | | | |
| #endif // _PDF_ENCODING_FACTORY_H__ | | #endif // _PDF_ENCODING_FACTORY_H__ | |
| | | | |
End of changes. 6 change blocks. |
| 1 lines changed or deleted | | 38 lines changed or added | |
|
| PdfEncrypt.h | | PdfEncrypt.h | |
| /**************************************************************************
* | | /**************************************************************************
* | |
|
| * Copyright (C) 2006 by Dominik Seichter * | | * Copyright (C) 2006 by Dominik Seichter | |
| * domseichter@web.de * | | * | |
| * * | | * domseichter@web.de | |
| * This program is free software; you can redistribute it and/or modify * | | * | |
| * it under the terms of the GNU Library General Public License as * | | * | |
| * published by the Free Software Foundation; either version 2 of the * | | * | |
| * License, or (at your option) any later version. * | | * This program is free software; you can redistribute it and/or modify | |
| * * | | * | |
| * This program is distributed in the hope that it will be useful, * | | * it under the terms of the GNU Library General Public License as | |
| * but WITHOUT ANY WARRANTY; without even the implied warranty of * | | * | |
| * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * | | * published by the Free Software Foundation; either version 2 of the | |
| * GNU General Public License for more details. * | | * | |
| * * | | * License, or (at your option) any later version. | |
| * You should have received a copy of the GNU Library General Public * | | * | |
| * License along with this program; if not, write to the * | | * | |
| * Free Software Foundation, Inc., * | | * | |
| * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * | | * 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 Library General Public | |
| | | * | |
| | | * License along with this program; if not, write to the | |
| | | * | |
| | | * Free Software Foundation, Inc., | |
| | | * | |
| | | * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. | |
| | | * | |
| | | * | |
| | | * | |
| | | * In addition, as a special exception, the copyright holders give | |
| | | * | |
| | | * permission to link the code of portions of this program with the | |
| | | * | |
| | | * OpenSSL library under certain conditions as described in each | |
| | | * | |
| | | * individual source file, and distribute linked combinations | |
| | | * | |
| | | * including the two. | |
| | | * | |
| | | * You must obey the GNU General Public License in all respects | |
| | | * | |
| | | * for all of the code used other than OpenSSL. If you modify | |
| | | * | |
| | | * file(s) with this exception, you may extend this exception to your | |
| | | * | |
| | | * version of the file(s), but you are not obligated to do so. If you | |
| | | * | |
| | | * do not wish to do so, delete this exception statement from your | |
| | | * | |
| | | * version. If you delete this exception statement from all source | |
| | | * | |
| | | * files in the program, then also delete it here. | |
| | | * | |
| | | ************************************************************************** | |
| | | */ | |
| | | | |
| #ifndef _PDFENCRYPT_H_ | | #ifndef _PDFENCRYPT_H_ | |
| #define _PDFENCRYPT_H_ | | #define _PDFENCRYPT_H_ | |
| | | | |
| #include "PdfDefines.h" | | #include "PdfDefines.h" | |
| #include "PdfString.h" | | #include "PdfString.h" | |
| #include "PdfReference.h" | | #include "PdfReference.h" | |
| | | | |
| namespace PoDoFo { | | namespace PoDoFo { | |
| | | | |
| | | | |
| skipping to change at line 334 | | skipping to change at line 347 | |
| | | | |
| /// Get the P object value (protection) | | /// Get the P object value (protection) | |
| pdf_int32 GetPValue() const { return m_pValue; } | | pdf_int32 GetPValue() const { return m_pValue; } | |
| | | | |
| /// Get the revision number of the encryption method | | /// Get the revision number of the encryption method | |
| int GetRevision() const { return m_rValue; } | | int GetRevision() const { return m_rValue; } | |
| | | | |
| /// Get the key length of the encryption key in bits | | /// Get the key length of the encryption key in bits | |
| int GetKeyLength() const { return m_keyLength*8; } | | int GetKeyLength() const { return m_keyLength*8; } | |
| | | | |
|
| | | /// Is metadata encrypted | |
| | | bool IsMetadataEncrypted() const { return m_bEncryptMetadata; } | |
| | | | |
| /// Encrypt a wxString | | /// Encrypt a wxString | |
| //void Encrypt( std::string & str, pdf_long inputLen ) const; | | //void Encrypt( std::string & str, pdf_long inputLen ) const; | |
| | | | |
| /// Encrypt a character string | | /// Encrypt a character string | |
| // inStr: the input buffer | | // inStr: the input buffer | |
| // inLen: length of the input buffer | | // inLen: length of the input buffer | |
| // outStr: the output buffer | | // outStr: the output buffer | |
| // outLen: length of the output buffer | | // outLen: length of the output buffer | |
| virtual void Encrypt(const unsigned char* inStr, pdf_long inLen, | | virtual void Encrypt(const unsigned char* inStr, pdf_long inLen, | |
| unsigned char* outStr, pdf_long outLen) const = 0; | | unsigned char* outStr, pdf_long outLen) const = 0; | |
| | | | |
| /// Decrypt a character string | | /// Decrypt a character string | |
| // inStr: the input buffer | | // inStr: the input buffer | |
| // inLen: length of the input buffer | | // inLen: length of the input buffer | |
| // outStr: the output buffer | | // outStr: the output buffer | |
| // outLen: length of the output buffer | | // outLen: length of the output buffer | |
| virtual void Decrypt(const unsigned char* inStr, pdf_long inLen, | | virtual void Decrypt(const unsigned char* inStr, pdf_long inLen, | |
|
| unsigned char* outStr, pdf_long outLen) const = 0; | | unsigned char* outStr, pdf_long &outLen) const = 0
; | |
| | | | |
| /// Calculate stream size | | /// Calculate stream size | |
| virtual pdf_long CalculateStreamLength(pdf_long length) const = 0; | | virtual pdf_long CalculateStreamLength(pdf_long length) const = 0; | |
| | | | |
| /// Calculate stream offset | | /// Calculate stream offset | |
| virtual pdf_long CalculateStreamOffset() const = 0; | | virtual pdf_long CalculateStreamOffset() const = 0; | |
| | | | |
| /** Set the reference of the object that is currently encrypted. | | /** Set the reference of the object that is currently encrypted. | |
| * | | * | |
| * This value will be used in following calls of Encrypt | | * This value will be used in following calls of Encrypt | |
| * to encrypt the object. | | * to encrypt the object. | |
| * | | * | |
| * \see Encrypt | | * \see Encrypt | |
| */ | | */ | |
| inline void SetCurrentReference( const PdfReference & rRef ); | | inline void SetCurrentReference( const PdfReference & rRef ); | |
| | | | |
| protected: | | protected: | |
|
| PdfEncrypt() {}; | | PdfEncrypt() : m_bEncryptMetadata(true) {}; | |
| PdfEncrypt( const PdfEncrypt & rhs ); | | PdfEncrypt( const PdfEncrypt & rhs ); | |
| | | | |
| /// Check two keys for equality | | /// Check two keys for equality | |
| bool CheckKey(unsigned char key1[32], unsigned char key2[32]); | | bool CheckKey(unsigned char key1[32], unsigned char key2[32]); | |
| | | | |
| EPdfEncryptAlgorithm m_eAlgorithm; ///< The used encryption algorithm | | EPdfEncryptAlgorithm m_eAlgorithm; ///< The used encryption algorithm | |
| int m_keyLength; ///< Length of encryption key | | int m_keyLength; ///< Length of encryption key | |
| int m_rValue; ///< Revision | | int m_rValue; ///< Revision | |
| pdf_int32 m_pValue; ///< P entry in pdf document | | pdf_int32 m_pValue; ///< P entry in pdf document | |
| EPdfKeyLength m_eKeyLength; ///< The key length | | EPdfKeyLength m_eKeyLength; ///< The key length | |
| std::string m_userPass; ///< User password | | std::string m_userPass; ///< User password | |
| std::string m_ownerPass; ///< Owner password | | std::string m_ownerPass; ///< Owner password | |
| unsigned char m_uValue[48]; ///< U entry in pdf document | | unsigned char m_uValue[48]; ///< U entry in pdf document | |
| unsigned char m_oValue[48]; ///< O entry in pdf document | | unsigned char m_oValue[48]; ///< O entry in pdf document | |
| unsigned char m_encryptionKey[32]; ///< Encryption key | | unsigned char m_encryptionKey[32]; ///< Encryption key | |
| PdfReference m_curReference; ///< Reference of the current PdfO
bject | | PdfReference m_curReference; ///< Reference of the current PdfO
bject | |
| std::string m_documentId; ///< DocumentID of the current doc
ument | | std::string m_documentId; ///< DocumentID of the current doc
ument | |
|
| | | bool m_bEncryptMetadata; ///< Is metadata encrypted | |
| | | | |
| private: | | private: | |
| static int s_nEnabledEncryptionAlgorithms; ///< Or'ed int containin
g the enabled encryption algorithms | | static int s_nEnabledEncryptionAlgorithms; ///< Or'ed int containin
g the enabled encryption algorithms | |
| }; | | }; | |
| | | | |
| #ifdef PODOFO_HAVE_LIBIDN | | #ifdef PODOFO_HAVE_LIBIDN | |
| /** A pure virtual class that is used to encrypt a PDF file (AES-256) | | /** A pure virtual class that is used to encrypt a PDF file (AES-256) | |
| * This class is the base for classes that implement algorithms based on S
HA hashes | | * This class is the base for classes that implement algorithms based on S
HA hashes | |
| * | | * | |
| * Client code is working only with PdfEncrypt class and knows nothing | | * Client code is working only with PdfEncrypt class and knows nothing | |
| | | | |
| skipping to change at line 492 | | skipping to change at line 509 | |
| * | | * | |
| */ | | */ | |
| | | | |
| class PdfEncryptAESBase { | | class PdfEncryptAESBase { | |
| public: | | public: | |
| ~PdfEncryptAESBase(); | | ~PdfEncryptAESBase(); | |
| | | | |
| protected: | | protected: | |
| PdfEncryptAESBase(); | | PdfEncryptAESBase(); | |
| | | | |
|
| /// AES encryption | | void BaseDecrypt(const unsigned char* key, int keylen, const unsigned c | |
| void AES(const unsigned char* key, int keylen, const unsigned char* iv, | | har* iv, | |
| | | const unsigned char* textin, pdf_long textlen, | |
| | | unsigned char* textout, pdf_long &textoutlen); | |
| | | void BaseEncrypt(const unsigned char* key, int keylen, const unsigned c | |
| | | har* iv, | |
| const unsigned char* textin, pdf_long textlen, | | const unsigned char* textin, pdf_long textlen, | |
| unsigned char* textout, pdf_long textoutlen); | | unsigned char* textout, pdf_long textoutlen); | |
| | | | |
| AESCryptoEngine* m_aes; ///< AES encryptor | | AESCryptoEngine* m_aes; ///< AES encryptor | |
| }; | | }; | |
| | | | |
| /** A pure virtual class that is used to encrypt a PDF file (RC4-40..128) | | /** A pure virtual class that is used to encrypt a PDF file (RC4-40..128) | |
| * This class is the base for classes that implement algorithms based on R
C4 | | * This class is the base for classes that implement algorithms based on R
C4 | |
| * | | * | |
| * Client code is working only with PdfEncrypt class and knows nothing | | * Client code is working only with PdfEncrypt class and knows nothing | |
| | | | |
| skipping to change at line 584 | | skipping to change at line 603 | |
| int keylength, int revision, bool authenticate, | | int keylength, int revision, bool authenticate, | |
| unsigned char ownerKey[32]); | | unsigned char ownerKey[32]); | |
| | | | |
| /// Pad a password to 32 characters | | /// Pad a password to 32 characters | |
| void PadPassword(const std::string& password, unsigned char pswd[32]); | | void PadPassword(const std::string& password, unsigned char pswd[32]); | |
| | | | |
| /// Compute encryption key and user key | | /// Compute encryption key and user key | |
| void ComputeEncryptionKey(const std::string & documentID, | | void ComputeEncryptionKey(const std::string & documentID, | |
| unsigned char userPad[32], unsigned char owne
rKey[32], | | unsigned char userPad[32], unsigned char owne
rKey[32], | |
| int pValue, int keyLength, int revision, | | int pValue, int keyLength, int revision, | |
|
| unsigned char userKey[32]); | | unsigned char userKey[32], bool bEncryptMetad
ata); | |
| | | | |
| /** Create the encryption key for the current object. | | /** Create the encryption key for the current object. | |
| * | | * | |
| * \param objkey pointer to an array of at least MD5_HASHBYTES (=16) b
ytes length | | * \param objkey pointer to an array of at least MD5_HASHBYTES (=16) b
ytes length | |
| * \param pnKeyLen pointer to an integer where the actual keylength is
stored. | | * \param pnKeyLen pointer to an integer where the actual keylength is
stored. | |
| */ | | */ | |
| virtual void CreateObjKey( unsigned char objkey[16], int* pnKeyLen ) co
nst; | | virtual void CreateObjKey( unsigned char objkey[16], int* pnKeyLen ) co
nst; | |
| | | | |
| unsigned char m_rc4key[16]; ///< last RC4 key | | unsigned char m_rc4key[16]; ///< last RC4 key | |
| unsigned char m_rc4last[256]; ///< last RC4 state table | | unsigned char m_rc4last[256]; ///< last RC4 state table | |
| | | | |
| skipping to change at line 610 | | skipping to change at line 629 | |
| * Client code is working only with PdfEncrypt class and knows nothing | | * Client code is working only with PdfEncrypt class and knows nothing | |
| * about PdfEncryptAES*, it is created through CreatePdfEncrypt factory
method | | * about PdfEncryptAES*, it is created through CreatePdfEncrypt factory
method | |
| * | | * | |
| */ | | */ | |
| | | | |
| class PdfEncryptAESV2 : public PdfEncryptMD5Base, public PdfEncryptAESBase
{ | | class PdfEncryptAESV2 : public PdfEncryptMD5Base, public PdfEncryptAESBase
{ | |
| public: | | public: | |
| /* | | /* | |
| * Constructors of PdfEncryptAESV2 | | * Constructors of PdfEncryptAESV2 | |
| */ | | */ | |
|
| PdfEncryptAESV2(PdfString oValue, PdfString uValue, int pValue); | | PdfEncryptAESV2(PdfString oValue, PdfString uValue, int pValue, bool
bEncryptMetadata); | |
| PdfEncryptAESV2( const PdfEncrypt & rhs ) : PdfEncryptMD5Base(rhs) {} | | PdfEncryptAESV2( const PdfEncrypt & rhs ) : PdfEncryptMD5Base(rhs) {} | |
| PdfEncryptAESV2( const std::string & userPassword, | | PdfEncryptAESV2( const std::string & userPassword, | |
| const std::string & ownerPassword, | | const std::string & ownerPassword, | |
| int protection = ePdfPermissions_Print | | | int protection = ePdfPermissions_Print | | |
| ePdfPermissions_Edit | | | ePdfPermissions_Edit | | |
| ePdfPermissions_Copy | | | ePdfPermissions_Copy | | |
| ePdfPermissions_EditNotes | | | ePdfPermissions_EditNotes | | |
| ePdfPermissions_FillAndSign | | | ePdfPermissions_FillAndSign | | |
| ePdfPermissions_Accessible | | | ePdfPermissions_Accessible | | |
| ePdfPermissions_DocAssembly | | | ePdfPermissions_DocAssembly | | |
| | | | |
| skipping to change at line 638 | | skipping to change at line 657 | |
| | | | |
| virtual PdfInputStream* CreateEncryptionInputStream( PdfInputStream*
pInputStream ); | | virtual PdfInputStream* CreateEncryptionInputStream( PdfInputStream*
pInputStream ); | |
| virtual PdfOutputStream* CreateEncryptionOutputStream( PdfOutputStre
am* pOutputStream ); | | virtual PdfOutputStream* CreateEncryptionOutputStream( PdfOutputStre
am* pOutputStream ); | |
| | | | |
| virtual bool Authenticate( const std::string & password, const PdfStrin
g & documentId ); | | virtual bool Authenticate( const std::string & password, const PdfStrin
g & documentId ); | |
| | | | |
| /// Encrypt a character string | | /// Encrypt a character string | |
| virtual void Encrypt(const unsigned char* inStr, pdf_long inLen, | | virtual void Encrypt(const unsigned char* inStr, pdf_long inLen, | |
| unsigned char* outStr, pdf_long outLen) const; | | unsigned char* outStr, pdf_long outLen) const; | |
| virtual void Decrypt(const unsigned char* inStr, pdf_long inLen, | | virtual void Decrypt(const unsigned char* inStr, pdf_long inLen, | |
|
| unsigned char* outStr, pdf_long outLen) const; | | unsigned char* outStr, pdf_long &outLen) const; | |
| | | | |
| virtual void GenerateEncryptionKey(const PdfString & documentId); | | virtual void GenerateEncryptionKey(const PdfString & documentId); | |
| | | | |
| virtual pdf_long CalculateStreamOffset() const; | | virtual pdf_long CalculateStreamOffset() const; | |
| | | | |
| virtual pdf_long CalculateStreamLength(pdf_long length) const; | | virtual pdf_long CalculateStreamLength(pdf_long length) const; | |
| }; | | }; | |
| | | | |
| #ifdef PODOFO_HAVE_LIBIDN | | #ifdef PODOFO_HAVE_LIBIDN | |
| /** A class that is used to encrypt a PDF file (AES-256) | | /** A class that is used to encrypt a PDF file (AES-256) | |
| | | | |
| skipping to change at line 688 | | skipping to change at line 707 | |
| | | | |
| virtual PdfInputStream* CreateEncryptionInputStream( PdfInputStream* pI
nputStream ); | | virtual PdfInputStream* CreateEncryptionInputStream( PdfInputStream* pI
nputStream ); | |
| virtual PdfOutputStream* CreateEncryptionOutputStream( PdfOutputStream*
pOutputStream ); | | virtual PdfOutputStream* CreateEncryptionOutputStream( PdfOutputStream*
pOutputStream ); | |
| | | | |
| virtual bool Authenticate( const std::string & password, const PdfStrin
g & documentId ); | | virtual bool Authenticate( const std::string & password, const PdfStrin
g & documentId ); | |
| | | | |
| /// Encrypt a character string | | /// Encrypt a character string | |
| virtual void Encrypt(const unsigned char* inStr, pdf_long inLen, | | virtual void Encrypt(const unsigned char* inStr, pdf_long inLen, | |
| unsigned char* outStr, pdf_long outLen) const; | | unsigned char* outStr, pdf_long outLen) const; | |
| virtual void Decrypt(const unsigned char* inStr, pdf_long inLen, | | virtual void Decrypt(const unsigned char* inStr, pdf_long inLen, | |
|
| unsigned char* outStr, pdf_long outLen) const; | | unsigned char* outStr, pdf_long &outLen) const; | |
| | | | |
| virtual void GenerateEncryptionKey(const PdfString & documentId); | | virtual void GenerateEncryptionKey(const PdfString & documentId); | |
| | | | |
| virtual pdf_long CalculateStreamOffset() const; | | virtual pdf_long CalculateStreamOffset() const; | |
| | | | |
| virtual pdf_long CalculateStreamLength(pdf_long length) const; | | virtual pdf_long CalculateStreamLength(pdf_long length) const; | |
| }; | | }; | |
| | | | |
| #endif // PODOFO_HAVE_LIBIDN | | #endif // PODOFO_HAVE_LIBIDN | |
| | | | |
| | | | |
| skipping to change at line 712 | | skipping to change at line 731 | |
| * about PdfEncryptRC4, it is created through CreatePdfEncrypt factory
method | | * about PdfEncryptRC4, it is created through CreatePdfEncrypt factory
method | |
| * | | * | |
| */ | | */ | |
| | | | |
| class PdfEncryptRC4 : public PdfEncryptMD5Base { | | class PdfEncryptRC4 : public PdfEncryptMD5Base { | |
| public: | | public: | |
| /* | | /* | |
| * Constructors of PdfEncryptRC4 objects | | * Constructors of PdfEncryptRC4 objects | |
| */ | | */ | |
| PdfEncryptRC4(PdfString oValue, PdfString uValue, | | PdfEncryptRC4(PdfString oValue, PdfString uValue, | |
|
| int pValue, int rValue, EPdfEncryptAlgorithm eAlgorithm, lon
g length); | | int pValue, int rValue, EPdfEncryptAlgorithm eAlgorithm, lon
g length, bool bEncryptMetadata); | |
| PdfEncryptRC4( const PdfEncrypt & rhs ) : PdfEncryptMD5Base(rhs) {} | | PdfEncryptRC4( const PdfEncrypt & rhs ) : PdfEncryptMD5Base(rhs) {} | |
| PdfEncryptRC4( const std::string & userPassword, | | PdfEncryptRC4( const std::string & userPassword, | |
| const std::string & ownerPassword, | | const std::string & ownerPassword, | |
| int protection = ePdfPermissions_Print | | | int protection = ePdfPermissions_Print | | |
| ePdfPermissions_Edit | | | ePdfPermissions_Edit | | |
| ePdfPermissions_Copy | | | ePdfPermissions_Copy | | |
| ePdfPermissions_EditNotes | | | ePdfPermissions_EditNotes | | |
| ePdfPermissions_FillAndSign | | | ePdfPermissions_FillAndSign | | |
| ePdfPermissions_Accessible | | | ePdfPermissions_Accessible | | |
| ePdfPermissions_DocAssembly | | | ePdfPermissions_DocAssembly | | |
| | | | |
| skipping to change at line 738 | | skipping to change at line 757 | |
| * Destruct PdfEncryptRC4 object | | * Destruct PdfEncryptRC4 object | |
| */ | | */ | |
| virtual ~PdfEncryptRC4() {} | | virtual ~PdfEncryptRC4() {} | |
| | | | |
| virtual bool Authenticate( const std::string & password, const PdfStrin
g & documentId ); | | virtual bool Authenticate( const std::string & password, const PdfStrin
g & documentId ); | |
| | | | |
| /// Encrypt a character string | | /// Encrypt a character string | |
| virtual void Encrypt(const unsigned char* inStr, pdf_long inLen, | | virtual void Encrypt(const unsigned char* inStr, pdf_long inLen, | |
| unsigned char* outStr, pdf_long outLen) const; | | unsigned char* outStr, pdf_long outLen) const; | |
| virtual void Decrypt(const unsigned char* inStr, pdf_long inLen, | | virtual void Decrypt(const unsigned char* inStr, pdf_long inLen, | |
|
| unsigned char* outStr, pdf_long outLen) const; | | unsigned char* outStr, pdf_long &outLen) const; | |
| | | | |
| virtual PdfInputStream* CreateEncryptionInputStream( PdfInputStream*
pInputStream ); | | virtual PdfInputStream* CreateEncryptionInputStream( PdfInputStream*
pInputStream ); | |
| virtual PdfOutputStream* CreateEncryptionOutputStream( PdfOutputStre
am* pOutputStream ); | | virtual PdfOutputStream* CreateEncryptionOutputStream( PdfOutputStre
am* pOutputStream ); | |
| | | | |
| virtual void GenerateEncryptionKey(const PdfString & documentId); | | virtual void GenerateEncryptionKey(const PdfString & documentId); | |
| | | | |
| virtual pdf_long CalculateStreamOffset() const; | | virtual pdf_long CalculateStreamOffset() const; | |
| | | | |
| virtual pdf_long CalculateStreamLength(pdf_long length) const; | | virtual pdf_long CalculateStreamLength(pdf_long length) const; | |
| }; | | }; | |
| | | | |
End of changes. 12 change blocks. |
| 29 lines changed or deleted | | 80 lines changed or added | |
|
| PdfError.h | | PdfError.h | |
| | | | |
| skipping to change at line 19 | | skipping to change at line 19 | |
| *
* | | *
* | |
| * This program is distributed in the hope that it will be useful,
* | | * This program is distributed in the hope that it will be useful,
* | |
| * but WITHOUT ANY WARRANTY; without even the implied warranty of
* | | * but WITHOUT ANY WARRANTY; without even the implied warranty of
* | |
| * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* | | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* | |
| * GNU General Public License for more details.
* | | * GNU General Public License for more details.
* | |
| *
* | | *
* | |
| * You should have received a copy of the GNU Library General Public
* | | * You should have received a copy of the GNU Library General Public
* | |
| * License along with this program; if not, write to the
* | | * License along with this program; if not, write to the
* | |
| * Free Software Foundation, Inc.,
* | | * Free Software Foundation, Inc.,
* | |
| * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
* | | * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
* | |
|
| | | * | |
| | | * | |
| | | * In addition, as a special exception, the copyright holders give | |
| | | * | |
| | | * permission to link the code of portions of this program with the | |
| | | * | |
| | | * OpenSSL library under certain conditions as described in each | |
| | | * | |
| | | * individual source file, and distribute linked combinations | |
| | | * | |
| | | * including the two. | |
| | | * | |
| | | * You must obey the GNU General Public License in all respects | |
| | | * | |
| | | * for all of the code used other than OpenSSL. If you modify | |
| | | * | |
| | | * file(s) with this exception, you may extend this exception to your | |
| | | * | |
| | | * version of the file(s), but you are not obligated to do so. If you | |
| | | * | |
| | | * do not wish to do so, delete this exception statement from your | |
| | | * | |
| | | * version. If you delete this exception statement from all source | |
| | | * | |
| | | * files in the program, then also delete it here. | |
| | | * | |
| **************************************************************************
*/ | | **************************************************************************
*/ | |
| | | | |
| #ifndef _PDF_ERROR_H_ | | #ifndef _PDF_ERROR_H_ | |
| #define _PDF_ERROR_H_ | | #define _PDF_ERROR_H_ | |
| | | | |
| // PdfError.h should not include PdfDefines.h, since it is included by it. | | // PdfError.h should not include PdfDefines.h, since it is included by it. | |
| // It should avoid depending on anything defined in PdfDefines.h . | | // It should avoid depending on anything defined in PdfDefines.h . | |
| | | | |
| #include "podofoapi.h" | | #include "podofoapi.h" | |
| #include <string> | | #include <string> | |
| #include <queue> | | #include <queue> | |
| #include <cstdarg> | | #include <cstdarg> | |
| | | | |
| #if defined(_MSC_VER) && _MSC_VER <= 1200 // same pragma as in PdfDefines
.h which we cannot include here | | #if defined(_MSC_VER) && _MSC_VER <= 1200 // same pragma as in PdfDefines
.h which we cannot include here | |
| #pragma warning(disable: 4251) | | #pragma warning(disable: 4251) | |
|
| | | #pragma warning(disable: 4275) | |
| #endif | | #endif | |
| | | | |
| /** \file PdfError.h | | /** \file PdfError.h | |
| * Error information and logging is implemented in this file. | | * Error information and logging is implemented in this file. | |
| */ | | */ | |
| | | | |
| namespace PoDoFo { | | namespace PoDoFo { | |
| | | | |
| /** Error Code defines which are used in PdfError to describe the error. | | /** Error Code defines which are used in PdfError to describe the error. | |
| * | | * | |
| | | | |
| skipping to change at line 111 | | skipping to change at line 125 | |
| ePdfError_MutexError, /**< Error during a mutex operation
*/ | | ePdfError_MutexError, /**< Error during a mutex operation
*/ | |
| | | | |
| ePdfError_UnsupportedImageFormat, /**< This image format is not suppo
rted by PoDoFO. */ | | ePdfError_UnsupportedImageFormat, /**< This image format is not suppo
rted by PoDoFO. */ | |
| ePdfError_CannotConvertColor, /**< This color format cannot be co
nverted. */ | | ePdfError_CannotConvertColor, /**< This color format cannot be co
nverted. */ | |
| | | | |
| ePdfError_NotImplemented, /**< This feature is currently not
implemented. */ | | ePdfError_NotImplemented, /**< This feature is currently not
implemented. */ | |
| | | | |
| ePdfError_DestinationAlreadyPresent,/**< An destination was already pre
sent when trying to add a Action */ | | ePdfError_DestinationAlreadyPresent,/**< An destination was already pre
sent when trying to add a Action */ | |
| ePdfError_ChangeOnImmutable, /**< Changing values on immutable o
bjects is not allowed. */ | | ePdfError_ChangeOnImmutable, /**< Changing values on immutable o
bjects is not allowed. */ | |
| | | | |
|
| | | ePdfError_NotCompiled, /**< This feature was disabled duri | |
| | | ng compile time. */ | |
| | | | |
| ePdfError_Unknown = 0xffff /**< Unknown error */ | | ePdfError_Unknown = 0xffff /**< Unknown error */ | |
| }; | | }; | |
| | | | |
| /** | | /** | |
| * Used in PdfError::LogMessage to specify the log level. | | * Used in PdfError::LogMessage to specify the log level. | |
| * | | * | |
| * \see PdfError::LogMessage | | * \see PdfError::LogMessage | |
| */ | | */ | |
| enum ELogSeverity { | | enum ELogSeverity { | |
| eLogSeverity_Critical, /**< Critical unexpected error */ | | eLogSeverity_Critical, /**< Critical unexpected error */ | |
| | | | |
| skipping to change at line 204 | | skipping to change at line 220 | |
| /** The error handling class of PoDoFo lib. | | /** The error handling class of PoDoFo lib. | |
| * Whenever a function encounters an error | | * Whenever a function encounters an error | |
| * a PdfError object is returned. | | * a PdfError object is returned. | |
| * | | * | |
| * A PdfError with Error() == ErrOk means | | * A PdfError with Error() == ErrOk means | |
| * successfull execution. | | * successfull execution. | |
| * | | * | |
| * This class provides also meaningfull | | * This class provides also meaningfull | |
| * error descriptions. | | * error descriptions. | |
| */ | | */ | |
|
| class PODOFO_EXCEPTION_API_DOXYGEN PdfError : public std::exception { | | class PODOFO_EXCEPTION_API_DOXYGEN PdfError { | |
| public: | | public: | |
| | | | |
| // OC 17.08.2010 New to optionally replace stderr output by a callback: | | // OC 17.08.2010 New to optionally replace stderr output by a callback: | |
| class LogMessageCallback | | class LogMessageCallback | |
| { | | { | |
| public: | | public: | |
| virtual ~LogMessageCallback() {} // every class with virtual method
s needs a virtual destructor | | virtual ~LogMessageCallback() {} // every class with virtual method
s needs a virtual destructor | |
| virtual void LogMessage( ELogSeverity eLogSeverity, const char* psz
Prefix, const char* pszMsg, va_list & args ) = 0; | | virtual void LogMessage( ELogSeverity eLogSeverity, const char* psz
Prefix, const char* pszMsg, va_list & args ) = 0; | |
| virtual void LogMessage( ELogSeverity eLogSeverity, const wchar_t*
pszPrefix, const wchar_t* pszMsg, va_list & args ) = 0; | | virtual void LogMessage( ELogSeverity eLogSeverity, const wchar_t*
pszPrefix, const wchar_t* pszMsg, va_list & args ) = 0; | |
| }; | | }; | |
| | | | |
| skipping to change at line 343 | | skipping to change at line 359 | |
| | | | |
| /** \returns true if an error code was set | | /** \returns true if an error code was set | |
| * and false if the error code is ePdfError_ErrOk | | * and false if the error code is ePdfError_ErrOk | |
| */ | | */ | |
| inline bool IsError() const; | | inline bool IsError() const; | |
| | | | |
| /** Print an error message to stderr | | /** Print an error message to stderr | |
| */ | | */ | |
| void PrintErrorMsg() const; | | void PrintErrorMsg() const; | |
| | | | |
|
| /** Reimplemented from std::exception. | | /** Obtain error description. | |
| * \returns a c string describing the error. | | * \returns a c string describing the error. | |
|
| * Annotated throw() in defiance of CODINGSTYLE.txt because we can't d
iscard qualifiers on override. | | | |
| */ | | */ | |
|
| virtual const char* what() const throw(); | | const char* what() const; | |
| | | | |
| /** Get the name for a certain error code. | | /** Get the name for a certain error code. | |
| * \returns the name or NULL if no name for the specified | | * \returns the name or NULL if no name for the specified | |
| * error code is available. | | * error code is available. | |
| */ | | */ | |
| PODOFO_NOTHROW static const char* ErrorName( EPdfError eCode ); | | PODOFO_NOTHROW static const char* ErrorName( EPdfError eCode ); | |
| | | | |
| /** Get the error message for a certain error code. | | /** Get the error message for a certain error code. | |
| * \returns the error message or NULL if no error | | * \returns the error message or NULL if no error | |
| * message for the specified error code | | * message for the specified error code | |
| | | | |
End of changes. 7 change blocks. |
| 4 lines changed or deleted | | 33 lines changed or added | |
|
| PdfInputDevice.h | | PdfInputDevice.h | |
| | | | |
| skipping to change at line 19 | | skipping to change at line 19 | |
| *
* | | *
* | |
| * This program is distributed in the hope that it will be useful,
* | | * This program is distributed in the hope that it will be useful,
* | |
| * but WITHOUT ANY WARRANTY; without even the implied warranty of
* | | * but WITHOUT ANY WARRANTY; without even the implied warranty of
* | |
| * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* | | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* | |
| * GNU General Public License for more details.
* | | * GNU General Public License for more details.
* | |
| *
* | | *
* | |
| * You should have received a copy of the GNU Library General Public
* | | * You should have received a copy of the GNU Library General Public
* | |
| * License along with this program; if not, write to the
* | | * License along with this program; if not, write to the
* | |
| * Free Software Foundation, Inc.,
* | | * Free Software Foundation, Inc.,
* | |
| * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
* | | * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
* | |
|
| | | * | |
| | | * | |
| | | * In addition, as a special exception, the copyright holders give | |
| | | * | |
| | | * permission to link the code of portions of this program with the | |
| | | * | |
| | | * OpenSSL library under certain conditions as described in each | |
| | | * | |
| | | * individual source file, and distribute linked combinations | |
| | | * | |
| | | * including the two. | |
| | | * | |
| | | * You must obey the GNU General Public License in all respects | |
| | | * | |
| | | * for all of the code used other than OpenSSL. If you modify | |
| | | * | |
| | | * file(s) with this exception, you may extend this exception to your | |
| | | * | |
| | | * version of the file(s), but you are not obligated to do so. If you | |
| | | * | |
| | | * do not wish to do so, delete this exception statement from your | |
| | | * | |
| | | * version. If you delete this exception statement from all source | |
| | | * | |
| | | * files in the program, then also delete it here. | |
| | | * | |
| **************************************************************************
*/ | | **************************************************************************
*/ | |
| | | | |
| #ifndef _PDF_INPUT_DEVICE_H_ | | #ifndef _PDF_INPUT_DEVICE_H_ | |
| #define _PDF_INPUT_DEVICE_H_ | | #define _PDF_INPUT_DEVICE_H_ | |
| | | | |
| #include <istream> | | #include <istream> | |
|
| | | #include <ios> | |
| | | | |
| #include "PdfDefines.h" | | #include "PdfDefines.h" | |
| #include "PdfLocale.h" | | #include "PdfLocale.h" | |
| | | | |
| namespace PoDoFo { | | namespace PoDoFo { | |
| | | | |
| /** This class provides an Input device which operates | | /** This class provides an Input device which operates | |
| * either on a file, a buffer in memory or any arbitrary std::istream | | * either on a file, a buffer in memory or any arbitrary std::istream | |
| * | | * | |
| * This class is suitable for inheritance to provide input | | * This class is suitable for inheritance to provide input | |
| | | | |
| skipping to change at line 49 | | skipping to change at line 63 | |
| public: | | public: | |
| | | | |
| /** Construct a new PdfInputDevice that reads all data from a file. | | /** Construct a new PdfInputDevice that reads all data from a file. | |
| * | | * | |
| * \param pszFilename path to a file that will be opened and all data | | * \param pszFilename path to a file that will be opened and all data | |
| * is read from this file. | | * is read from this file. | |
| */ | | */ | |
| PdfInputDevice( const char* pszFilename ); | | PdfInputDevice( const char* pszFilename ); | |
| | | | |
| #ifdef _WIN32 | | #ifdef _WIN32 | |
|
| #if defined(_MSC_VER) && _MSC_VER <= 1200 // nicht f | | | |
| #else | | | |
| /** Construct a new PdfInputDevice that reads all data from a file. | | /** Construct a new PdfInputDevice that reads all data from a file. | |
| * | | * | |
| * \param pszFilename path to a file that will be opened and all data | | * \param pszFilename path to a file that will be opened and all data | |
| * is read from this file. | | * is read from this file. | |
| * | | * | |
| * This is an overloaded member function to allow working | | * This is an overloaded member function to allow working | |
| * with unicode characters. On Unix systes you can also path | | * with unicode characters. On Unix systes you can also path | |
| * UTF-8 to the const char* overload. | | * UTF-8 to the const char* overload. | |
| */ | | */ | |
| PdfInputDevice( const wchar_t* pszFilename ); | | PdfInputDevice( const wchar_t* pszFilename ); | |
|
| #endif | | | |
| #endif // _WIN32 | | #endif // _WIN32 | |
| | | | |
| /** Construct a new PdfInputDevice that reads all data from a memory bu
ffer. | | /** Construct a new PdfInputDevice that reads all data from a memory bu
ffer. | |
| * The buffer will not be owned by this object - it is COPIED. | | * The buffer will not be owned by this object - it is COPIED. | |
| * | | * | |
| * \param pBuffer a buffer in memory | | * \param pBuffer a buffer in memory | |
| * \param lLen the length of the buffer in memory | | * \param lLen the length of the buffer in memory | |
| */ | | */ | |
| PdfInputDevice( const char* pBuffer, size_t lLen ); | | PdfInputDevice( const char* pBuffer, size_t lLen ); | |
| | | | |
| | | | |
End of changes. 4 change blocks. |
| 3 lines changed or deleted | | 27 lines changed or added | |
|
| PdfInputStream.h | | PdfInputStream.h | |
| | | | |
| skipping to change at line 19 | | skipping to change at line 19 | |
| *
* | | *
* | |
| * This program is distributed in the hope that it will be useful,
* | | * This program is distributed in the hope that it will be useful,
* | |
| * but WITHOUT ANY WARRANTY; without even the implied warranty of
* | | * but WITHOUT ANY WARRANTY; without even the implied warranty of
* | |
| * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* | | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* | |
| * GNU General Public License for more details.
* | | * GNU General Public License for more details.
* | |
| *
* | | *
* | |
| * You should have received a copy of the GNU Library General Public
* | | * You should have received a copy of the GNU Library General Public
* | |
| * License along with this program; if not, write to the
* | | * License along with this program; if not, write to the
* | |
| * Free Software Foundation, Inc.,
* | | * Free Software Foundation, Inc.,
* | |
| * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
* | | * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
* | |
|
| | | * | |
| | | * | |
| | | * In addition, as a special exception, the copyright holders give | |
| | | * | |
| | | * permission to link the code of portions of this program with the | |
| | | * | |
| | | * OpenSSL library under certain conditions as described in each | |
| | | * | |
| | | * individual source file, and distribute linked combinations | |
| | | * | |
| | | * including the two. | |
| | | * | |
| | | * You must obey the GNU General Public License in all respects | |
| | | * | |
| | | * for all of the code used other than OpenSSL. If you modify | |
| | | * | |
| | | * file(s) with this exception, you may extend this exception to your | |
| | | * | |
| | | * version of the file(s), but you are not obligated to do so. If you | |
| | | * | |
| | | * do not wish to do so, delete this exception statement from your | |
| | | * | |
| | | * version. If you delete this exception statement from all source | |
| | | * | |
| | | * files in the program, then also delete it here. | |
| | | * | |
| **************************************************************************
*/ | | **************************************************************************
*/ | |
| | | | |
| #ifndef _PDF_INPUT_STREAM_H_ | | #ifndef _PDF_INPUT_STREAM_H_ | |
| #define _PDF_INPUT_STREAM_H_ | | #define _PDF_INPUT_STREAM_H_ | |
| | | | |
| #include "PdfDefines.h" | | #include "PdfDefines.h" | |
| | | | |
| namespace PoDoFo { | | namespace PoDoFo { | |
| | | | |
| class PdfInputDevice; | | class PdfInputDevice; | |
| | | | |
| skipping to change at line 40 | | skipping to change at line 53 | |
| /** An interface for reading blocks of data from an | | /** An interface for reading blocks of data from an | |
| * a data source. | | * a data source. | |
| */ | | */ | |
| class PODOFO_API PdfInputStream { | | class PODOFO_API PdfInputStream { | |
| public: | | public: | |
| | | | |
| virtual ~PdfInputStream() { }; | | virtual ~PdfInputStream() { }; | |
| | | | |
| /** Read data from the input stream | | /** Read data from the input stream | |
| * | | * | |
|
| * \param pBuffer the data will be stored into this buffer | | * \param pBuffer the data will be stored into this buffer | |
| * \param lLen the size of the buffer and number of bytes | | * \param lLen the size of the buffer and number of bytes | |
| * that will be read | | * that will be read | |
| | | * \param pTotalLeft total bytes left (needed for AES IV and padding) | |
| * | | * | |
| * \returns the number of bytes read, -1 if an error ocurred | | * \returns the number of bytes read, -1 if an error ocurred | |
| * and zero if no more bytes are available for reading. | | * and zero if no more bytes are available for reading. | |
| */ | | */ | |
|
| virtual pdf_long Read( char* pBuffer, pdf_long lLen ) = 0; | | virtual pdf_long Read( char* pBuffer, pdf_long lLen, pdf_long *pTotalLe
ft = 0 ) = 0; | |
| | | | |
| }; | | }; | |
| | | | |
| /** An input stream that reads data from a file | | /** An input stream that reads data from a file | |
| */ | | */ | |
| class PODOFO_API PdfFileInputStream : public PdfInputStream { | | class PODOFO_API PdfFileInputStream : public PdfInputStream { | |
| public: | | public: | |
| | | | |
| /** Open a file for reading data | | /** Open a file for reading data | |
| * | | * | |
| | | | |
| skipping to change at line 85 | | skipping to change at line 99 | |
| | | | |
| /** Read data from the input stream | | /** Read data from the input stream | |
| * | | * | |
| * \param pBuffer the data will be stored into this buffer | | * \param pBuffer the data will be stored into this buffer | |
| * \param lLen the size of the buffer and number of bytes | | * \param lLen the size of the buffer and number of bytes | |
| * that will be read | | * that will be read | |
| * | | * | |
| * \returns the number of bytes read, -1 if an error ocurred | | * \returns the number of bytes read, -1 if an error ocurred | |
| * and zero if no more bytes are available for reading. | | * and zero if no more bytes are available for reading. | |
| */ | | */ | |
|
| virtual pdf_long Read( char* pBuffer, pdf_long lLen ); | | virtual pdf_long Read( char* pBuffer, pdf_long lLen, pdf_long* = 0 ); | |
| | | | |
| /** Get the length of the file. | | /** Get the length of the file. | |
| * \return the file length | | * \return the file length | |
| */ | | */ | |
| pdf_long GetFileLength(); | | pdf_long GetFileLength(); | |
| | | | |
| /** Get the internal FILE handle. | | /** Get the internal FILE handle. | |
| * \return the internal FILE handle | | * \return the internal FILE handle | |
| */ | | */ | |
| FILE* GetHandle(); | | FILE* GetHandle(); | |
| | | | |
| skipping to change at line 123 | | skipping to change at line 137 | |
| | | | |
| /** Read data from the input stream | | /** Read data from the input stream | |
| * | | * | |
| * \param pBuffer the data will be stored into this buffer | | * \param pBuffer the data will be stored into this buffer | |
| * \param lLen the size of the buffer and number of bytes | | * \param lLen the size of the buffer and number of bytes | |
| * that will be read | | * that will be read | |
| * | | * | |
| * \returns the number of bytes read, -1 if an error ocurred | | * \returns the number of bytes read, -1 if an error ocurred | |
| * and zero if no more bytes are available for reading. | | * and zero if no more bytes are available for reading. | |
| */ | | */ | |
|
| virtual pdf_long Read( char* pBuffer, pdf_long lLen ); | | virtual pdf_long Read( char* pBuffer, pdf_long lLen, pdf_long* ); | |
| | | | |
| private: | | private: | |
| const char* m_pBuffer; | | const char* m_pBuffer; | |
| const char* m_pCur; | | const char* m_pCur; | |
| pdf_long m_lBufferLen; | | pdf_long m_lBufferLen; | |
| }; | | }; | |
| | | | |
| /** An input stream that reads data from an input device | | /** An input stream that reads data from an input device | |
| */ | | */ | |
| class PODOFO_API PdfDeviceInputStream : public PdfInputStream { | | class PODOFO_API PdfDeviceInputStream : public PdfInputStream { | |
| | | | |
| skipping to change at line 153 | | skipping to change at line 167 | |
| | | | |
| /** Read data from the input stream | | /** Read data from the input stream | |
| * | | * | |
| * \param pBuffer the data will be stored into this buffer | | * \param pBuffer the data will be stored into this buffer | |
| * \param lLen the size of the buffer and number of bytes | | * \param lLen the size of the buffer and number of bytes | |
| * that will be read | | * that will be read | |
| * | | * | |
| * \returns the number of bytes read, -1 if an error ocurred | | * \returns the number of bytes read, -1 if an error ocurred | |
| * and zero if no more bytes are available for reading. | | * and zero if no more bytes are available for reading. | |
| */ | | */ | |
|
| virtual pdf_long Read( char* pBuffer, pdf_long lLen ); | | virtual pdf_long Read( char* pBuffer, pdf_long lLen, pdf_long* ); | |
| | | | |
| private: | | private: | |
| PdfInputDevice* m_pDevice; | | PdfInputDevice* m_pDevice; | |
| }; | | }; | |
| | | | |
| }; | | }; | |
| | | | |
| #endif // _PDF_INPUT_STREAM_H_ | | #endif // _PDF_INPUT_STREAM_H_ | |
| | | | |
End of changes. 6 change blocks. |
| 7 lines changed or deleted | | 34 lines changed or added | |
|
| PdfObjectStreamParserObject.h | | PdfObjectStreamParserObject.h | |
| | | | |
| skipping to change at line 19 | | skipping to change at line 19 | |
| *
* | | *
* | |
| * This program is distributed in the hope that it will be useful,
* | | * This program is distributed in the hope that it will be useful,
* | |
| * but WITHOUT ANY WARRANTY; without even the implied warranty of
* | | * but WITHOUT ANY WARRANTY; without even the implied warranty of
* | |
| * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* | | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* | |
| * GNU General Public License for more details.
* | | * GNU General Public License for more details.
* | |
| *
* | | *
* | |
| * You should have received a copy of the GNU Library General Public
* | | * You should have received a copy of the GNU Library General Public
* | |
| * License along with this program; if not, write to the
* | | * License along with this program; if not, write to the
* | |
| * Free Software Foundation, Inc.,
* | | * Free Software Foundation, Inc.,
* | |
| * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
* | | * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
* | |
|
| | | * | |
| | | * | |
| | | * In addition, as a special exception, the copyright holders give | |
| | | * | |
| | | * permission to link the code of portions of this program with the | |
| | | * | |
| | | * OpenSSL library under certain conditions as described in each | |
| | | * | |
| | | * individual source file, and distribute linked combinations | |
| | | * | |
| | | * including the two. | |
| | | * | |
| | | * You must obey the GNU General Public License in all respects | |
| | | * | |
| | | * for all of the code used other than OpenSSL. If you modify | |
| | | * | |
| | | * file(s) with this exception, you may extend this exception to your | |
| | | * | |
| | | * version of the file(s), but you are not obligated to do so. If you | |
| | | * | |
| | | * do not wish to do so, delete this exception statement from your | |
| | | * | |
| | | * version. If you delete this exception statement from all source | |
| | | * | |
| | | * files in the program, then also delete it here. | |
| | | * | |
| **************************************************************************
*/ | | **************************************************************************
*/ | |
| | | | |
| #ifndef _PDF_OBJECT_STREAM_PARSER_OBJECT_H_ | | #ifndef _PDF_OBJECT_STREAM_PARSER_OBJECT_H_ | |
| #define _PDF_OBJECT_STREAM_PARSER_OBJECT_H_ | | #define _PDF_OBJECT_STREAM_PARSER_OBJECT_H_ | |
| | | | |
| #include "PdfDefines.h" | | #include "PdfDefines.h" | |
| | | | |
| #include "PdfRefCountedBuffer.h" | | #include "PdfRefCountedBuffer.h" | |
| | | | |
| namespace PoDoFo { | | namespace PoDoFo { | |
| | | | |
| skipping to change at line 42 | | skipping to change at line 55 | |
| class PdfVecObjects; | | class PdfVecObjects; | |
| | | | |
| /** | | /** | |
| * A utility class for PdfParser that can parse | | * A utility class for PdfParser that can parse | |
| * an object stream object. | | * an object stream object. | |
| * | | * | |
| * It is mainly here to make PdfParser more modular. | | * It is mainly here to make PdfParser more modular. | |
| */ | | */ | |
| class PdfObjectStreamParserObject { | | class PdfObjectStreamParserObject { | |
| public: | | public: | |
|
| typedef std::vector<long long> ObjectIdList; | | typedef std::vector<pdf_int64> ObjectIdList; | |
| /** | | /** | |
| * Create a new PdfObjectStreamParserObject from an existing | | * Create a new PdfObjectStreamParserObject from an existing | |
| * PdfParserObject. The PdfParserObject will be removed and deleted. | | * PdfParserObject. The PdfParserObject will be removed and deleted. | |
| * All objects from the object stream will be read into memory. | | * All objects from the object stream will be read into memory. | |
| * | | * | |
| * \param pParser PdfParserObject for an object stream | | * \param pParser PdfParserObject for an object stream | |
| * \param pVecObjects add loaded objecs to this vector of objects | | * \param pVecObjects add loaded objecs to this vector of objects | |
| * \param rBuffer use this allocated buffer for caching | | * \param rBuffer use this allocated buffer for caching | |
| * \param pEncrypt encryption object used to decrypt streams | | * \param pEncrypt encryption object used to decrypt streams | |
| */ | | */ | |
| PdfObjectStreamParserObject(PdfParserObject* pParser, PdfVecObjects* pV
ecObjects, const PdfRefCountedBuffer & rBuffer, PdfEncrypt* pEncrypt ); | | PdfObjectStreamParserObject(PdfParserObject* pParser, PdfVecObjects* pV
ecObjects, const PdfRefCountedBuffer & rBuffer, PdfEncrypt* pEncrypt ); | |
| | | | |
| ~PdfObjectStreamParserObject(); | | ~PdfObjectStreamParserObject(); | |
| | | | |
| void Parse(ObjectIdList const &); | | void Parse(ObjectIdList const &); | |
| | | | |
| private: | | private: | |
|
| void ReadObjectsFromStream( char* pBuffer, pdf_long lBufferLen, long lo
ng lNum, long long lFirst, ObjectIdList const &); | | void ReadObjectsFromStream( char* pBuffer, pdf_long lBufferLen, pdf_int
64 lNum, pdf_int64 lFirst, ObjectIdList const &); | |
| | | | |
| private: | | private: | |
| PdfParserObject* m_pParser; | | PdfParserObject* m_pParser; | |
| PdfVecObjects* m_vecObjects; | | PdfVecObjects* m_vecObjects; | |
| PdfRefCountedBuffer m_buffer; | | PdfRefCountedBuffer m_buffer; | |
| PdfEncrypt* m_pEncrypt; | | PdfEncrypt* m_pEncrypt; | |
| }; | | }; | |
| | | | |
| }; | | }; | |
| | | | |
| | | | |
End of changes. 3 change blocks. |
| 2 lines changed or deleted | | 28 lines changed or added | |
|
| PdfParser.h | | PdfParser.h | |
| | | | |
| skipping to change at line 19 | | skipping to change at line 19 | |
| *
* | | *
* | |
| * This program is distributed in the hope that it will be useful,
* | | * This program is distributed in the hope that it will be useful,
* | |
| * but WITHOUT ANY WARRANTY; without even the implied warranty of
* | | * but WITHOUT ANY WARRANTY; without even the implied warranty of
* | |
| * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* | | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* | |
| * GNU General Public License for more details.
* | | * GNU General Public License for more details.
* | |
| *
* | | *
* | |
| * You should have received a copy of the GNU Library General Public
* | | * You should have received a copy of the GNU Library General Public
* | |
| * License along with this program; if not, write to the
* | | * License along with this program; if not, write to the
* | |
| * Free Software Foundation, Inc.,
* | | * Free Software Foundation, Inc.,
* | |
| * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
* | | * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
* | |
|
| | | * | |
| | | * | |
| | | * In addition, as a special exception, the copyright holders give | |
| | | * | |
| | | * permission to link the code of portions of this program with the | |
| | | * | |
| | | * OpenSSL library under certain conditions as described in each | |
| | | * | |
| | | * individual source file, and distribute linked combinations | |
| | | * | |
| | | * including the two. | |
| | | * | |
| | | * You must obey the GNU General Public License in all respects | |
| | | * | |
| | | * for all of the code used other than OpenSSL. If you modify | |
| | | * | |
| | | * file(s) with this exception, you may extend this exception to your | |
| | | * | |
| | | * version of the file(s), but you are not obligated to do so. If you | |
| | | * | |
| | | * do not wish to do so, delete this exception statement from your | |
| | | * | |
| | | * version. If you delete this exception statement from all source | |
| | | * | |
| | | * files in the program, then also delete it here. | |
| | | * | |
| **************************************************************************
*/ | | **************************************************************************
*/ | |
| | | | |
| #ifndef _PDF_PARSER_H_ | | #ifndef _PDF_PARSER_H_ | |
| #define _PDF_PARSER_H_ | | #define _PDF_PARSER_H_ | |
| | | | |
| #include "PdfDefines.h" | | #include "PdfDefines.h" | |
| #include "PdfTokenizer.h" | | #include "PdfTokenizer.h" | |
| #include "PdfVecObjects.h" | | #include "PdfVecObjects.h" | |
| | | | |
| #define W_ARRAY_SIZE 3 | | #define W_ARRAY_SIZE 3 | |
| | | | |
| skipping to change at line 387 | | skipping to change at line 400 | |
| * read. An exception is thrown if document contains more | | * read. An exception is thrown if document contains more | |
| * objects than this. Use to avoid problems with very large | | * objects than this. Use to avoid problems with very large | |
| * documents with millions of objects, which use 500MB of | | * documents with millions of objects, which use 500MB of | |
| * working set and spend 15 mins in Load() before throwing | | * working set and spend 15 mins in Load() before throwing | |
| * an out of memory exception. | | * an out of memory exception. | |
| * | | * | |
| * \param nMaxObjects set max number of objects | | * \param nMaxObjects set max number of objects | |
| */ | | */ | |
| inline static void SetMaxObjectCount( long nMaxObjects ); | | inline static void SetMaxObjectCount( long nMaxObjects ); | |
| | | | |
|
| | | inline pdf_long GetXRefOffset(void); | |
| | | | |
| | | bool HasXRefStream(); | |
| | | | |
| protected: | | protected: | |
| /** Searches backwards from the end of the file | | /** Searches backwards from the end of the file | |
| * and tries to find a token. | | * and tries to find a token. | |
| * The current file is positioned right after the token. | | * The current file is positioned right after the token. | |
| * | | * | |
| * \param pszToken a token to find | | * \param pszToken a token to find | |
| * \param lRange range in bytes in which to search | | * \param lRange range in bytes in which to search | |
| * begining at the end of the file | | * begining at the end of the file | |
| */ | | */ | |
| void FindToken( const char* pszToken, const long lRange ); | | void FindToken( const char* pszToken, const long lRange ); | |
| | | | |
| skipping to change at line 456 | | skipping to change at line 473 | |
| | | | |
| /** Read a xref subsection | | /** Read a xref subsection | |
| * | | * | |
| * Throws ePdfError_NoXref if the number of objects read was not | | * Throws ePdfError_NoXref if the number of objects read was not | |
| * the number specified by the subsection header (as passed in | | * the number specified by the subsection header (as passed in | |
| * `nNumObjects'). | | * `nNumObjects'). | |
| * | | * | |
| * \param nFirstObject object number of the first object | | * \param nFirstObject object number of the first object | |
| * \param nNumObjects how many objects should be read from this secti
on | | * \param nNumObjects how many objects should be read from this secti
on | |
| */ | | */ | |
|
| void ReadXRefSubsection( long long & nFirstObject, long long & nNumObje
cts ); | | void ReadXRefSubsection( pdf_int64 & nFirstObject, pdf_int64 & nNumObje
cts ); | |
| | | | |
| /** Reads a xref stream contens object | | /** Reads a xref stream contens object | |
| * \param lOffset read the stream from this offset | | * \param lOffset read the stream from this offset | |
| * \param bReadOnlyTrailer only the trailer is skipped over, the conte
nts | | * \param bReadOnlyTrailer only the trailer is skipped over, the conte
nts | |
| * of the xref stream are not parsed | | * of the xref stream are not parsed | |
| */ | | */ | |
| void ReadXRefStreamContents( pdf_long lOffset, bool bReadOnlyTrailer ); | | void ReadXRefStreamContents( pdf_long lOffset, bool bReadOnlyTrailer ); | |
| | | | |
| /** Reads all objects from the pdf into memory | | /** Reads all objects from the pdf into memory | |
| * from the offsets listed in m_vecOffsets. | | * from the offsets listed in m_vecOffsets. | |
| | | | |
| skipping to change at line 677 | | skipping to change at line 694 | |
| } | | } | |
| | | | |
| // ----------------------------------------------------- | | // ----------------------------------------------------- | |
| // | | // | |
| // ----------------------------------------------------- | | // ----------------------------------------------------- | |
| void PdfParser::SetMaxObjectCount( long nMaxObjects ) | | void PdfParser::SetMaxObjectCount( long nMaxObjects ) | |
| { | | { | |
| PdfParser::s_nMaxObjects = nMaxObjects; | | PdfParser::s_nMaxObjects = nMaxObjects; | |
| } | | } | |
| | | | |
|
| | | // ----------------------------------------------------- | |
| | | // | |
| | | // ----------------------------------------------------- | |
| | | pdf_long PdfParser::GetXRefOffset() | |
| | | { | |
| | | return m_nXRefOffset; | |
| | | } | |
| | | | |
| }; | | }; | |
| | | | |
| #endif // _PDF_PARSER_H_ | | #endif // _PDF_PARSER_H_ | |
| | | | |
End of changes. 4 change blocks. |
| 1 lines changed or deleted | | 39 lines changed or added | |
|
| PdfRefCountedInputDevice.h | | PdfRefCountedInputDevice.h | |
| | | | |
| skipping to change at line 19 | | skipping to change at line 19 | |
| *
* | | *
* | |
| * This program is distributed in the hope that it will be useful,
* | | * This program is distributed in the hope that it will be useful,
* | |
| * but WITHOUT ANY WARRANTY; without even the implied warranty of
* | | * but WITHOUT ANY WARRANTY; without even the implied warranty of
* | |
| * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* | | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* | |
| * GNU General Public License for more details.
* | | * GNU General Public License for more details.
* | |
| *
* | | *
* | |
| * You should have received a copy of the GNU Library General Public
* | | * You should have received a copy of the GNU Library General Public
* | |
| * License along with this program; if not, write to the
* | | * License along with this program; if not, write to the
* | |
| * Free Software Foundation, Inc.,
* | | * Free Software Foundation, Inc.,
* | |
| * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
* | | * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
* | |
|
| | | * | |
| | | * | |
| | | * In addition, as a special exception, the copyright holders give | |
| | | * | |
| | | * permission to link the code of portions of this program with the | |
| | | * | |
| | | * OpenSSL library under certain conditions as described in each | |
| | | * | |
| | | * individual source file, and distribute linked combinations | |
| | | * | |
| | | * including the two. | |
| | | * | |
| | | * You must obey the GNU General Public License in all respects | |
| | | * | |
| | | * for all of the code used other than OpenSSL. If you modify | |
| | | * | |
| | | * file(s) with this exception, you may extend this exception to your | |
| | | * | |
| | | * version of the file(s), but you are not obligated to do so. If you | |
| | | * | |
| | | * do not wish to do so, delete this exception statement from your | |
| | | * | |
| | | * version. If you delete this exception statement from all source | |
| | | * | |
| | | * files in the program, then also delete it here. | |
| | | * | |
| **************************************************************************
*/ | | **************************************************************************
*/ | |
| | | | |
| #ifndef _PDF_REF_COUNTED_INPUT_DEVICE_H_ | | #ifndef _PDF_REF_COUNTED_INPUT_DEVICE_H_ | |
| #define _PDF_REF_COUNTED_INPUT_DEVICE_H_ | | #define _PDF_REF_COUNTED_INPUT_DEVICE_H_ | |
| | | | |
| #include "PdfDefines.h" | | #include "PdfDefines.h" | |
| | | | |
| namespace PoDoFo { | | namespace PoDoFo { | |
| | | | |
| class PdfInputDevice; | | class PdfInputDevice; | |
| | | | |
| skipping to change at line 50 | | skipping to change at line 63 | |
| PdfRefCountedInputDevice(); | | PdfRefCountedInputDevice(); | |
| | | | |
| /** Create a new PdfRefCountedInputDevice which reads from a file. | | /** Create a new PdfRefCountedInputDevice which reads from a file. | |
| * The file is opened using fopen() | | * The file is opened using fopen() | |
| * \param pszFilename a filename to be passed to fopen | | * \param pszFilename a filename to be passed to fopen | |
| * \param pszMode a mode string that can be passed to fopen | | * \param pszMode a mode string that can be passed to fopen | |
| */ | | */ | |
| PdfRefCountedInputDevice( const char* pszFilename, const char* pszMode
); | | PdfRefCountedInputDevice( const char* pszFilename, const char* pszMode
); | |
| | | | |
| #ifdef _WIN32 | | #ifdef _WIN32 | |
|
| #if defined(_MSC_VER) && _MSC_VER <= 1200 // nicht f | | | |
| #else | | | |
| /** Create a new PdfRefCountedInputDevice which reads from a file. | | /** Create a new PdfRefCountedInputDevice which reads from a file. | |
| * The file is opened using fopen() | | * The file is opened using fopen() | |
| * \param pszFilename a filename to be passed to fopen | | * \param pszFilename a filename to be passed to fopen | |
| * \param pszMode a mode string that can be passed to fopen | | * \param pszMode a mode string that can be passed to fopen | |
| * | | * | |
| * This is an overloaded member function to allow working | | * This is an overloaded member function to allow working | |
| * with unicode characters. On Unix systes you can also path | | * with unicode characters. On Unix systes you can also path | |
| * UTF-8 to the const char* overload. | | * UTF-8 to the const char* overload. | |
| * | | * | |
| */ | | */ | |
| PdfRefCountedInputDevice( const wchar_t* pszFilename, const char* pszMo
de ); | | PdfRefCountedInputDevice( const wchar_t* pszFilename, const char* pszMo
de ); | |
|
| #endif | | | |
| #endif // _WIN32 | | #endif // _WIN32 | |
| | | | |
| /** Create a new PdfRefCountedInputDevice which operates on a in memory
buffer | | /** Create a new PdfRefCountedInputDevice which operates on a in memory
buffer | |
| * | | * | |
| * \param pBuffer pointer to the buffer | | * \param pBuffer pointer to the buffer | |
| * \param lLen length of the buffer | | * \param lLen length of the buffer | |
| */ | | */ | |
| PdfRefCountedInputDevice( const char* pBuffer, size_t lLen ); | | PdfRefCountedInputDevice( const char* pBuffer, size_t lLen ); | |
| | | | |
| /** Create a new PdfRefCountedInputDevice from an PdfInputDevice | | /** Create a new PdfRefCountedInputDevice from an PdfInputDevice | |
| | | | |
End of changes. 3 change blocks. |
| 3 lines changed or deleted | | 26 lines changed or added | |
|
| PdfString.h | | PdfString.h | |
| | | | |
| skipping to change at line 19 | | skipping to change at line 19 | |
| *
* | | *
* | |
| * This program is distributed in the hope that it will be useful,
* | | * This program is distributed in the hope that it will be useful,
* | |
| * but WITHOUT ANY WARRANTY; without even the implied warranty of
* | | * but WITHOUT ANY WARRANTY; without even the implied warranty of
* | |
| * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* | | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* | |
| * GNU General Public License for more details.
* | | * GNU General Public License for more details.
* | |
| *
* | | *
* | |
| * You should have received a copy of the GNU Library General Public
* | | * You should have received a copy of the GNU Library General Public
* | |
| * License along with this program; if not, write to the
* | | * License along with this program; if not, write to the
* | |
| * Free Software Foundation, Inc.,
* | | * Free Software Foundation, Inc.,
* | |
| * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
* | | * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
* | |
|
| | | * | |
| | | * | |
| | | * In addition, as a special exception, the copyright holders give | |
| | | * | |
| | | * permission to link the code of portions of this program with the | |
| | | * | |
| | | * OpenSSL library under certain conditions as described in each | |
| | | * | |
| | | * individual source file, and distribute linked combinations | |
| | | * | |
| | | * including the two. | |
| | | * | |
| | | * You must obey the GNU General Public License in all respects | |
| | | * | |
| | | * for all of the code used other than OpenSSL. If you modify | |
| | | * | |
| | | * file(s) with this exception, you may extend this exception to your | |
| | | * | |
| | | * version of the file(s), but you are not obligated to do so. If you | |
| | | * | |
| | | * do not wish to do so, delete this exception statement from your | |
| | | * | |
| | | * version. If you delete this exception statement from all source | |
| | | * | |
| | | * files in the program, then also delete it here. | |
| | | * | |
| **************************************************************************
*/ | | **************************************************************************
*/ | |
| | | | |
| #ifndef _PDF_STRING_H_ | | #ifndef _PDF_STRING_H_ | |
| #define _PDF_STRING_H_ | | #define _PDF_STRING_H_ | |
| | | | |
| #include "PdfDefines.h" | | #include "PdfDefines.h" | |
| #include "PdfDataType.h" | | #include "PdfDataType.h" | |
| #include "PdfRefCountedBuffer.h" | | #include "PdfRefCountedBuffer.h" | |
| | | | |
| namespace PoDoFo { | | namespace PoDoFo { | |
| | | | |
| skipping to change at line 100 | | skipping to change at line 113 | |
| PdfString( const char* pszString, const PdfEncoding * const pEncoding =
NULL ); | | PdfString( const char* pszString, const PdfEncoding * const pEncoding =
NULL ); | |
| | | | |
| /** Construct a new PdfString from a 0 terminated | | /** Construct a new PdfString from a 0 terminated | |
| * string. | | * string. | |
| * The input string will be copied. | | * The input string will be copied. | |
| * | | * | |
| * \param pszString the string to copy | | * \param pszString the string to copy | |
| */ | | */ | |
| #if defined(_MSC_VER) && _MSC_VER <= 1200 // nicht f | | #if defined(_MSC_VER) && _MSC_VER <= 1200 // nicht f | |
| #else | | #else | |
|
| PdfString( const wchar_t* pszString ); | | PdfString( const wchar_t* pszString, pdf_long lLen = -1 ); | |
| #endif | | #endif | |
|
| | | void setFromWchar_t( const wchar_t* pszString, pdf_long lLen = -1 ); | |
| | | | |
| /** Construct a new PdfString from a string. | | /** Construct a new PdfString from a string. | |
| * The input string will be copied. | | * The input string will be copied. | |
| * If the first to bytes of the string are 0xFE and 0xFF | | * If the first to bytes of the string are 0xFE and 0xFF | |
| * this string is treated as UTF-16BE encoded unicode string. | | * this string is treated as UTF-16BE encoded unicode string. | |
| * | | * | |
| * \param pszString the string to copy | | * \param pszString the string to copy | |
| * \param lLen length of the string data to encode | | * \param lLen length of the string data to encode | |
| * \param bHex if true the data will be | | * \param bHex if true the data will be | |
| * hex encoded during writeout of the string and IsHex() w
ill return true. | | * hex encoded during writeout of the string and IsHex() w
ill return true. | |
| | | | |
| skipping to change at line 352 | | skipping to change at line 366 | |
| | | | |
| /** Converts this string to a unicode string | | /** Converts this string to a unicode string | |
| * | | * | |
| * If IsUnicode() returns true a copy of this string is returned | | * If IsUnicode() returns true a copy of this string is returned | |
| * otherwise the string data is converted to UTF-16be and returned. | | * otherwise the string data is converted to UTF-16be and returned. | |
| * | | * | |
| * \returns a unicode version of this string | | * \returns a unicode version of this string | |
| */ | | */ | |
| PdfString ToUnicode() const; | | PdfString ToUnicode() const; | |
| | | | |
|
| | | /** Returns internal buffer; do not free it, it's owned by the PdfS | |
| | | tring | |
| | | * | |
| | | * \returns internal buffer; do not free it, it's owned by the PdfS | |
| | | tring | |
| | | */ | |
| | | PdfRefCountedBuffer &GetBuffer(void); | |
| | | | |
| static const PdfString StringNull; | | static const PdfString StringNull; | |
| | | | |
| static pdf_long ConvertUTF8toUTF16( const pdf_utf8* pszUtf8, pdf_utf16b
e* pszUtf16, pdf_long lLenUtf16 ); | | static pdf_long ConvertUTF8toUTF16( const pdf_utf8* pszUtf8, pdf_utf16b
e* pszUtf16, pdf_long lLenUtf16 ); | |
| static pdf_long ConvertUTF8toUTF16( const pdf_utf8* pszUtf8, pdf_long l
LenUtf8, | | static pdf_long ConvertUTF8toUTF16( const pdf_utf8* pszUtf8, pdf_long l
LenUtf8, | |
| pdf_utf16be* pszUtf16, pdf_long lLenUtf
16, | | pdf_utf16be* pszUtf16, pdf_long lLenUtf
16, | |
| EPdfStringConversion eConversion = ePdf
StringConversion_Strict ); | | EPdfStringConversion eConversion = ePdf
StringConversion_Strict ); | |
| | | | |
| static pdf_long ConvertUTF16toUTF8( const pdf_utf16be* pszUtf16, pdf_ut
f8* pszUtf8, pdf_long lLenUtf8 ); | | static pdf_long ConvertUTF16toUTF8( const pdf_utf16be* pszUtf16, pdf_ut
f8* pszUtf8, pdf_long lLenUtf8 ); | |
| static pdf_long ConvertUTF16toUTF8( const pdf_utf16be* pszUtf16, pdf_lo
ng lLenUtf16, | | static pdf_long ConvertUTF16toUTF8( const pdf_utf16be* pszUtf16, pdf_lo
ng lLenUtf16, | |
| pdf_utf8* pszUtf8, pdf_long lLenUtf8, | | pdf_utf8* pszUtf8, pdf_long lLenUtf8, | |
| | | | |
End of changes. 4 change blocks. |
| 1 lines changed or deleted | | 36 lines changed or added | |
|
| PdfVecObjects.h | | PdfVecObjects.h | |
| | | | |
| skipping to change at line 19 | | skipping to change at line 19 | |
| *
* | | *
* | |
| * This program is distributed in the hope that it will be useful,
* | | * This program is distributed in the hope that it will be useful,
* | |
| * but WITHOUT ANY WARRANTY; without even the implied warranty of
* | | * but WITHOUT ANY WARRANTY; without even the implied warranty of
* | |
| * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* | | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* | |
| * GNU General Public License for more details.
* | | * GNU General Public License for more details.
* | |
| *
* | | *
* | |
| * You should have received a copy of the GNU Library General Public
* | | * You should have received a copy of the GNU Library General Public
* | |
| * License along with this program; if not, write to the
* | | * License along with this program; if not, write to the
* | |
| * Free Software Foundation, Inc.,
* | | * Free Software Foundation, Inc.,
* | |
| * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
* | | * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
* | |
|
| | | * | |
| | | * | |
| | | * In addition, as a special exception, the copyright holders give | |
| | | * | |
| | | * permission to link the code of portions of this program with the | |
| | | * | |
| | | * OpenSSL library under certain conditions as described in each | |
| | | * | |
| | | * individual source file, and distribute linked combinations | |
| | | * | |
| | | * including the two. | |
| | | * | |
| | | * You must obey the GNU General Public License in all respects | |
| | | * | |
| | | * for all of the code used other than OpenSSL. If you modify | |
| | | * | |
| | | * file(s) with this exception, you may extend this exception to your | |
| | | * | |
| | | * version of the file(s), but you are not obligated to do so. If you | |
| | | * | |
| | | * do not wish to do so, delete this exception statement from your | |
| | | * | |
| | | * version. If you delete this exception statement from all source | |
| | | * | |
| | | * files in the program, then also delete it here. | |
| | | * | |
| **************************************************************************
*/ | | **************************************************************************
*/ | |
| | | | |
| #ifndef _PDF_VEC_OBJECTS_H_ | | #ifndef _PDF_VEC_OBJECTS_H_ | |
| #define _PDF_VEC_OBJECTS_H_ | | #define _PDF_VEC_OBJECTS_H_ | |
| | | | |
| #include "PdfDefines.h" | | #include "PdfDefines.h" | |
| #include "PdfReference.h" | | #include "PdfReference.h" | |
| | | | |
| #include <list> | | #include <list> | |
| | | | |
| | | | |
| skipping to change at line 400 | | skipping to change at line 413 | |
| * Warning this might be slow! | | * Warning this might be slow! | |
| */ | | */ | |
| void CollectGarbage( PdfObject* pTrailer ); | | void CollectGarbage( PdfObject* pTrailer ); | |
| | | | |
| /** Get next unique subset-prefix | | /** Get next unique subset-prefix | |
| * | | * | |
| * \returns a string to use as subset-prefix. | | * \returns a string to use as subset-prefix. | |
| */ | | */ | |
| std::string GetNextSubsetPrefix(); | | std::string GetNextSubsetPrefix(); | |
| | | | |
|
| | | /** | |
| | | * Set the object count so that the object described this reference | |
| | | * is contained in the object count. | |
| | | * | |
| | | * \param rRef reference of newly added object | |
| | | */ | |
| | | void SetObjectCount( const PdfReference & rRef ); | |
| | | | |
| private: | | private: | |
| /** | | /** | |
| * \returns the next free object reference | | * \returns the next free object reference | |
| */ | | */ | |
| PdfReference GetNextFreeObject(); | | PdfReference GetNextFreeObject(); | |
| | | | |
| /** | | /** | |
| * Create a list of all references that point to the object | | * Create a list of all references that point to the object | |
| * for each object in this vector. | | * for each object in this vector. | |
| * \param pList write all references to this list | | * \param pList write all references to this list | |
| | | | |
| skipping to change at line 426 | | skipping to change at line 447 | |
| void InsertOneReferenceIntoVector( const PdfObject* pObj, TVecReference
PointerList* pList ); | | void InsertOneReferenceIntoVector( const PdfObject* pObj, TVecReference
PointerList* pList ); | |
| | | | |
| /** Delete all objects from the vector which do not have references to
them selves | | /** Delete all objects from the vector which do not have references to
them selves | |
| * \param pList must be a list created by BuildReferenceCountVector | | * \param pList must be a list created by BuildReferenceCountVector | |
| * \param pTrailer must be the trailer object so that it is not delete
d | | * \param pTrailer must be the trailer object so that it is not delete
d | |
| * \param pNotDelete a list of object which must not be deleted | | * \param pNotDelete a list of object which must not be deleted | |
| * \see BuildReferenceCountVector | | * \see BuildReferenceCountVector | |
| */ | | */ | |
| void GarbageCollection( TVecReferencePointerList* pList, PdfObject* pTr
ailer, TPdfReferenceSet* pNotDelete = NULL ); | | void GarbageCollection( TVecReferencePointerList* pList, PdfObject* pTr
ailer, TPdfReferenceSet* pNotDelete = NULL ); | |
| | | | |
|
| /** | | | |
| * Set the object count so that the object described this reference | | | |
| * is contained in the object count. | | | |
| * | | | |
| * \param rRef reference of newly added object | | | |
| */ | | | |
| void SetObjectCount( const PdfReference & rRef ); | | | |
| | | | |
| private: | | private: | |
| bool m_bAutoDelete; | | bool m_bAutoDelete; | |
| size_t m_nObjectCount; | | size_t m_nObjectCount; | |
| bool m_bSorted; | | bool m_bSorted; | |
| TVecObjects m_vector; | | TVecObjects m_vector; | |
| | | | |
| TVecObservers m_vecObservers; | | TVecObservers m_vecObservers; | |
| TPdfReferenceList m_lstFreeObjects; | | TPdfReferenceList m_lstFreeObjects; | |
| | | | |
| PdfDocument* m_pDocument; | | PdfDocument* m_pDocument; | |
| | | | |
End of changes. 3 change blocks. |
| 8 lines changed or deleted | | 34 lines changed or added | |
|
| podofo-base.h | | podofo-base.h | |
| | | | |
| skipping to change at line 19 | | skipping to change at line 19 | |
| *
* | | *
* | |
| * This program is distributed in the hope that it will be useful,
* | | * This program is distributed in the hope that it will be useful,
* | |
| * but WITHOUT ANY WARRANTY; without even the implied warranty of
* | | * but WITHOUT ANY WARRANTY; without even the implied warranty of
* | |
| * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* | | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* | |
| * GNU General Public License for more details.
* | | * GNU General Public License for more details.
* | |
| *
* | | *
* | |
| * You should have received a copy of the GNU Library General Public
* | | * You should have received a copy of the GNU Library General Public
* | |
| * License along with this program; if not, write to the
* | | * License along with this program; if not, write to the
* | |
| * Free Software Foundation, Inc.,
* | | * Free Software Foundation, Inc.,
* | |
| * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
* | | * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
* | |
|
| | | * | |
| | | * | |
| | | * In addition, as a special exception, the copyright holders give | |
| | | * | |
| | | * permission to link the code of portions of this program with the | |
| | | * | |
| | | * OpenSSL library under certain conditions as described in each | |
| | | * | |
| | | * individual source file, and distribute linked combinations | |
| | | * | |
| | | * including the two. | |
| | | * | |
| | | * You must obey the GNU General Public License in all respects | |
| | | * | |
| | | * for all of the code used other than OpenSSL. If you modify | |
| | | * | |
| | | * file(s) with this exception, you may extend this exception to your | |
| | | * | |
| | | * version of the file(s), but you are not obligated to do so. If you | |
| | | * | |
| | | * do not wish to do so, delete this exception statement from your | |
| | | * | |
| | | * version. If you delete this exception statement from all source | |
| | | * | |
| | | * files in the program, then also delete it here. | |
| | | * | |
| **************************************************************************
*/ | | **************************************************************************
*/ | |
| | | | |
| #ifndef _PODOFO_BASE_H_ | | #ifndef _PODOFO_BASE_H_ | |
| #define _PODOFO_BASE_H_ | | #define _PODOFO_BASE_H_ | |
| | | | |
| // Include files from PoDoFo-base | | // Include files from PoDoFo-base | |
| | | | |
| #include "base/PdfVersion.h" | | #include "base/PdfVersion.h" | |
| #include "base/PdfDefines.h" | | #include "base/PdfDefines.h" | |
| #include "base/Pdf3rdPtyForwardDecl.h" | | #include "base/Pdf3rdPtyForwardDecl.h" | |
| | | | |
| skipping to change at line 41 | | skipping to change at line 54 | |
| #include "base/PdfColor.h" | | #include "base/PdfColor.h" | |
| #include "base/PdfContentsTokenizer.h" | | #include "base/PdfContentsTokenizer.h" | |
| #include "base/PdfData.h" | | #include "base/PdfData.h" | |
| #include "base/PdfDataType.h" | | #include "base/PdfDataType.h" | |
| #include "base/PdfDate.h" | | #include "base/PdfDate.h" | |
| #include "base/PdfDictionary.h" | | #include "base/PdfDictionary.h" | |
| #include "base/PdfEncodingFactory.h" | | #include "base/PdfEncodingFactory.h" | |
| #include "base/PdfEncoding.h" | | #include "base/PdfEncoding.h" | |
| #include "base/PdfEncrypt.h" | | #include "base/PdfEncrypt.h" | |
| #include "base/PdfError.h" | | #include "base/PdfError.h" | |
|
| | | #include "base/PdfExtension.h" | |
| #include "base/PdfFileStream.h" | | #include "base/PdfFileStream.h" | |
| #include "base/PdfFilter.h" | | #include "base/PdfFilter.h" | |
| #include "base/PdfImmediateWriter.h" | | #include "base/PdfImmediateWriter.h" | |
| #include "base/PdfInputDevice.h" | | #include "base/PdfInputDevice.h" | |
| #include "base/PdfInputStream.h" | | #include "base/PdfInputStream.h" | |
| #include "base/PdfLocale.h" | | #include "base/PdfLocale.h" | |
| #include "base/PdfMemoryManagement.h" | | #include "base/PdfMemoryManagement.h" | |
| #include "base/PdfMemStream.h" | | #include "base/PdfMemStream.h" | |
| #include "base/PdfName.h" | | #include "base/PdfName.h" | |
| #include "base/PdfObject.h" | | #include "base/PdfObject.h" | |
| #include "base/PdfObjectStreamParserObject.h" | | #include "base/PdfObjectStreamParserObject.h" | |
| #include "base/PdfOutputDevice.h" | | #include "base/PdfOutputDevice.h" | |
| #include "base/PdfOutputStream.h" | | #include "base/PdfOutputStream.h" | |
| #include "base/PdfParser.h" | | #include "base/PdfParser.h" | |
| #include "base/PdfParserObject.h" | | #include "base/PdfParserObject.h" | |
| #include "base/PdfRect.h" | | #include "base/PdfRect.h" | |
| #include "base/PdfRefCountedBuffer.h" | | #include "base/PdfRefCountedBuffer.h" | |
| #include "base/PdfRefCountedInputDevice.h" | | #include "base/PdfRefCountedInputDevice.h" | |
| #include "base/PdfReference.h" | | #include "base/PdfReference.h" | |
|
| | | #include "base/PdfSigIncWriter.h" | |
| #include "base/PdfStream.h" | | #include "base/PdfStream.h" | |
| #include "base/PdfString.h" | | #include "base/PdfString.h" | |
| #include "base/PdfTokenizer.h" | | #include "base/PdfTokenizer.h" | |
| #include "base/PdfVariant.h" | | #include "base/PdfVariant.h" | |
| #include "base/PdfVecObjects.h" | | #include "base/PdfVecObjects.h" | |
| #include "base/PdfWriter.h" | | #include "base/PdfWriter.h" | |
| #include "base/PdfXRef.h" | | #include "base/PdfXRef.h" | |
| #include "base/PdfXRefStream.h" | | #include "base/PdfXRefStream.h" | |
| #include "base/PdfXRefStreamParserObject.h" | | #include "base/PdfXRefStreamParserObject.h" | |
| | | | |
| | | | |
End of changes. 3 change blocks. |
| 0 lines changed or deleted | | 28 lines changed or added | |
|
| podofo.h | | podofo.h | |
| | | | |
| skipping to change at line 19 | | skipping to change at line 19 | |
| *
* | | *
* | |
| * This program is distributed in the hope that it will be useful,
* | | * This program is distributed in the hope that it will be useful,
* | |
| * but WITHOUT ANY WARRANTY; without even the implied warranty of
* | | * but WITHOUT ANY WARRANTY; without even the implied warranty of
* | |
| * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* | | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* | |
| * GNU General Public License for more details.
* | | * GNU General Public License for more details.
* | |
| *
* | | *
* | |
| * You should have received a copy of the GNU Library General Public
* | | * You should have received a copy of the GNU Library General Public
* | |
| * License along with this program; if not, write to the
* | | * License along with this program; if not, write to the
* | |
| * Free Software Foundation, Inc.,
* | | * Free Software Foundation, Inc.,
* | |
| * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
* | | * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
* | |
|
| | | * | |
| | | * | |
| | | * In addition, as a special exception, the copyright holders give | |
| | | * | |
| | | * permission to link the code of portions of this program with the | |
| | | * | |
| | | * OpenSSL library under certain conditions as described in each | |
| | | * | |
| | | * individual source file, and distribute linked combinations | |
| | | * | |
| | | * including the two. | |
| | | * | |
| | | * You must obey the GNU General Public License in all respects | |
| | | * | |
| | | * for all of the code used other than OpenSSL. If you modify | |
| | | * | |
| | | * file(s) with this exception, you may extend this exception to your | |
| | | * | |
| | | * version of the file(s), but you are not obligated to do so. If you | |
| | | * | |
| | | * do not wish to do so, delete this exception statement from your | |
| | | * | |
| | | * version. If you delete this exception statement from all source | |
| | | * | |
| | | * files in the program, then also delete it here. | |
| | | * | |
| **************************************************************************
*/ | | **************************************************************************
*/ | |
| | | | |
| #ifndef _PODOFO_H_ | | #ifndef _PODOFO_H_ | |
| #define _PODOFO_H_ | | #define _PODOFO_H_ | |
| | | | |
| /** | | /** | |
| * This file can be used in client applications to include | | * This file can be used in client applications to include | |
| * all files required by PoDoFo at once. | | * all files required by PoDoFo at once. | |
| * | | * | |
| * Some symbols may be declared in the PoDoFo::NonPublic namespace. | | * Some symbols may be declared in the PoDoFo::NonPublic namespace. | |
| | | | |
| skipping to change at line 65 | | skipping to change at line 78 | |
| #include "doc/PdfFont.h" | | #include "doc/PdfFont.h" | |
| #include "doc/PdfFontMetricsBase14.h" | | #include "doc/PdfFontMetricsBase14.h" | |
| #include "doc/PdfFontMetricsFreetype.h" | | #include "doc/PdfFontMetricsFreetype.h" | |
| #include "doc/PdfFontMetrics.h" | | #include "doc/PdfFontMetrics.h" | |
| #include "doc/PdfFontMetricsObject.h" | | #include "doc/PdfFontMetricsObject.h" | |
| #include "doc/PdfFontSimple.h" | | #include "doc/PdfFontSimple.h" | |
| #include "doc/PdfFontTrueType.h" | | #include "doc/PdfFontTrueType.h" | |
| #include "doc/PdfFontTTFSubset.h" | | #include "doc/PdfFontTTFSubset.h" | |
| #include "doc/PdfFontType1Base14.h" | | #include "doc/PdfFontType1Base14.h" | |
| #include "doc/PdfFontType1.h" | | #include "doc/PdfFontType1.h" | |
|
| | | #include "doc/PdfFontType3.h" | |
| #include "doc/PdfFunction.h" | | #include "doc/PdfFunction.h" | |
| #include "doc/PdfHintStream.h" | | #include "doc/PdfHintStream.h" | |
| #include "doc/PdfIdentityEncoding.h" | | #include "doc/PdfIdentityEncoding.h" | |
| #include "doc/PdfImage.h" | | #include "doc/PdfImage.h" | |
| #include "doc/PdfInfo.h" | | #include "doc/PdfInfo.h" | |
| #include "doc/PdfMemDocument.h" | | #include "doc/PdfMemDocument.h" | |
| #include "doc/PdfNamesTree.h" | | #include "doc/PdfNamesTree.h" | |
| #include "doc/PdfOutlines.h" | | #include "doc/PdfOutlines.h" | |
| #include "doc/PdfPage.h" | | #include "doc/PdfPage.h" | |
| #include "doc/PdfPagesTreeCache.h" | | #include "doc/PdfPagesTreeCache.h" | |
| #include "doc/PdfPagesTree.h" | | #include "doc/PdfPagesTree.h" | |
| #include "doc/PdfPainter.h" | | #include "doc/PdfPainter.h" | |
| #include "doc/PdfPainterMM.h" | | #include "doc/PdfPainterMM.h" | |
| #include "doc/PdfShadingPattern.h" | | #include "doc/PdfShadingPattern.h" | |
|
| | | #include "doc/PdfSigIncMemDocument.h" | |
| | | #include "doc/PdfSigIncPainter.h" | |
| #include "doc/PdfSignatureField.h" | | #include "doc/PdfSignatureField.h" | |
| #include "doc/PdfSignOutputDevice.h" | | #include "doc/PdfSignOutputDevice.h" | |
| #include "doc/PdfStreamedDocument.h" | | #include "doc/PdfStreamedDocument.h" | |
| #include "doc/PdfTable.h" | | #include "doc/PdfTable.h" | |
|
| | | #include "doc/PdfTilingPattern.h" | |
| #include "doc/PdfXObject.h" | | #include "doc/PdfXObject.h" | |
| | | | |
| #ifdef _PODOFO_NO_NAMESPACE_ | | #ifdef _PODOFO_NO_NAMESPACE_ | |
| using namespace PoDoFo; | | using namespace PoDoFo; | |
| #endif /* _PODOFO_NO_NAMESPACE_ */ | | #endif /* _PODOFO_NO_NAMESPACE_ */ | |
| | | | |
| #endif /* _PODOFO_H_ */ | | #endif /* _PODOFO_H_ */ | |
| | | | |
End of changes. 4 change blocks. |
| 0 lines changed or deleted | | 30 lines changed or added | |
|