summaryrefslogtreecommitdiff
path: root/Build/source/libs/xpdf/xpdf-3.04/fofi/FoFiBase.h
diff options
context:
space:
mode:
Diffstat (limited to 'Build/source/libs/xpdf/xpdf-3.04/fofi/FoFiBase.h')
-rw-r--r--Build/source/libs/xpdf/xpdf-3.04/fofi/FoFiBase.h58
1 files changed, 58 insertions, 0 deletions
diff --git a/Build/source/libs/xpdf/xpdf-3.04/fofi/FoFiBase.h b/Build/source/libs/xpdf/xpdf-3.04/fofi/FoFiBase.h
new file mode 100644
index 00000000000..c9f93ebacda
--- /dev/null
+++ b/Build/source/libs/xpdf/xpdf-3.04/fofi/FoFiBase.h
@@ -0,0 +1,58 @@
+//========================================================================
+//
+// FoFiBase.h
+//
+// Copyright 1999-2003 Glyph & Cog, LLC
+//
+//========================================================================
+
+#ifndef FOFIBASE_H
+#define FOFIBASE_H
+
+#include <aconf.h>
+
+#ifdef USE_GCC_PRAGMAS
+#pragma interface
+#endif
+
+#include "gtypes.h"
+
+//------------------------------------------------------------------------
+
+typedef void (*FoFiOutputFunc)(void *stream, const char *data, int len);
+
+//------------------------------------------------------------------------
+// FoFiBase
+//------------------------------------------------------------------------
+
+class FoFiBase {
+public:
+
+ virtual ~FoFiBase();
+
+protected:
+
+ FoFiBase(char *fileA, int lenA, GBool freeFileDataA);
+ static char *readFile(char *fileName, int *fileLen);
+
+ // S = signed / U = unsigned
+ // 8/16/32/Var = word length, in bytes
+ // BE = big endian
+ int getS8(int pos, GBool *ok);
+ int getU8(int pos, GBool *ok);
+ int getS16BE(int pos, GBool *ok);
+ int getU16BE(int pos, GBool *ok);
+ int getS32BE(int pos, GBool *ok);
+ Guint getU32BE(int pos, GBool *ok);
+ Guint getU32LE(int pos, GBool *ok);
+ Guint getUVarBE(int pos, int size, GBool *ok);
+
+ GBool checkRegion(int pos, int size);
+
+ Guchar *fileData;
+ Guchar *file;
+ int len;
+ GBool freeFileData;
+};
+
+#endif