diff options
Diffstat (limited to 'Build/source/libs/poppler/poppler-0.24.1/poppler/Hints.h')
-rw-r--r-- | Build/source/libs/poppler/poppler-0.24.1/poppler/Hints.h | 96 |
1 files changed, 96 insertions, 0 deletions
diff --git a/Build/source/libs/poppler/poppler-0.24.1/poppler/Hints.h b/Build/source/libs/poppler/poppler-0.24.1/poppler/Hints.h new file mode 100644 index 00000000000..f5225f9fa9b --- /dev/null +++ b/Build/source/libs/poppler/poppler-0.24.1/poppler/Hints.h @@ -0,0 +1,96 @@ +//======================================================================== +// +// Hints.h +// +// This file is licensed under the GPLv2 or later +// +// Copyright 2010 Hib Eris <hib@hiberis.nl> +// Copyright 2010 Albert Astals Cid <aacid@kde.org> +// Copyright 2013 Adrian Johnson <ajohnson@redneon.com> +// +//======================================================================== + +#ifndef HINTS_H +#define HINTS_H + +#include <string.h> +#include "goo/gtypes.h" +#include <vector> +#include "PDFDoc.h" + +class Stream; +class BaseStream; +class Linearization; +class XRef; + +//------------------------------------------------------------------------ +// Hints +//------------------------------------------------------------------------ + +class Hints { +public: + + Hints(BaseStream *str, Linearization *linearization, XRef *xref, SecurityHandler *secHdlr); + ~Hints(); + + int getPageObjectNum(int page); + Goffset getPageOffset(int page); + std::vector<ByteRange>* getPageRanges(int page); + +private: + + void readTables(BaseStream *str, Linearization *linearization, XRef *xref, SecurityHandler *secHdlr); + void readPageOffsetTable(Stream *str); + void readSharedObjectsTable(Stream *str); + + Guint readBit(Stream *str); + Guint readBits(int n, Stream *str); + + Guint hintsOffset; + Guint hintsLength; + Guint hintsOffset2; + Guint hintsLength2; + Guint mainXRefEntriesOffset; + + int nPages; + int pageFirst; + int pageObjectFirst; + Goffset pageOffsetFirst; + Guint pageEndFirst; + int objectNumberFirst; + + Guint nObjectLeast; + Guint objectOffsetFirst; + Guint nBitsDiffObjects; + Guint pageLengthLeast; + Guint nBitsDiffPageLength; + Guint OffsetStreamLeast; + Guint nBitsOffsetStream; + Guint lengthStreamLeast; + Guint nBitsLengthStream; + Guint nBitsNumShared; + Guint nBitsShared; + Guint nBitsNumerator; + Guint denominator; + + Guint *nObjects; + int *pageObjectNum; + Guint *xRefOffset; + Guint *pageLength; + Goffset *pageOffset; + Guint *numSharedObject; + Guint **sharedObjectId; + + Guint nSharedGroups; + Guint *groupLength; + Guint *groupOffset; + Guint *groupHasSignature; + Guint *groupNumObjects; + Guint *groupXRefOffset; + + int inputBits; + char bitsBuffer; + +}; + +#endif |