diff options
Diffstat (limited to 'Build/source/libs/poppler/poppler-0.22.0/poppler/DCTStream.h')
-rw-r--r-- | Build/source/libs/poppler/poppler-0.22.0/poppler/DCTStream.h | 87 |
1 files changed, 87 insertions, 0 deletions
diff --git a/Build/source/libs/poppler/poppler-0.22.0/poppler/DCTStream.h b/Build/source/libs/poppler/poppler-0.22.0/poppler/DCTStream.h new file mode 100644 index 00000000000..55bd985d1d7 --- /dev/null +++ b/Build/source/libs/poppler/poppler-0.22.0/poppler/DCTStream.h @@ -0,0 +1,87 @@ +//======================================================================== +// +// DCTStream.h +// +// This file is licensed under the GPLv2 or later +// +// Copyright 2005 Jeff Muizelaar <jeff@infidigm.net> +// Copyright 2005 Martin Kretzschmar <martink@gnome.org> +// Copyright 2005-2007, 2009-2011 Albert Astals Cid <aacid@kde.org> +// Copyright 2010 Carlos Garcia Campos <carlosgc@gnome.org> +// Copyright 2011 Daiki Ueno <ueno@unixuser.org> +// +//======================================================================== + +#ifndef DCTSTREAM_H +#define DCTSTREAM_H + +#ifdef USE_GCC_PRAGMAS +#pragma interface +#endif + + +#ifdef USE_GCC_PRAGMAS +#pragma implementation +#endif + +#include "poppler-config.h" +#include <stdio.h> +#include <stdlib.h> +#include <stddef.h> +#include <setjmp.h> +#ifdef HAVE_UNISTD_H +#include <unistd.h> +#endif +#include <string.h> +#include <ctype.h> +#include "goo/gmem.h" +#include "goo/gfile.h" +#include "Error.h" +#include "Object.h" +#include "Decrypt.h" +#include "Stream.h" + +extern "C" { +#include <jpeglib.h> +} + +struct str_src_mgr { + struct jpeg_source_mgr pub; + JOCTET buffer; + Stream *str; + int index; +}; + +struct str_error_mgr { + struct jpeg_error_mgr pub; + jmp_buf setjmp_buffer; +}; + +class DCTStream: public FilterStream { +public: + + DCTStream(Stream *strA, int colorXformA); + virtual ~DCTStream(); + virtual StreamKind getKind() { return strDCT; } + virtual void reset(); + virtual int getChar(); + virtual int lookChar(); + virtual GooString *getPSFilter(int psLevel, const char *indent); + virtual GBool isBinary(GBool last = gTrue); + +private: + void init(); + + virtual GBool hasGetChars() { return true; } + virtual int getChars(int nChars, Guchar *buffer); + + int colorXform; + JSAMPLE *current; + JSAMPLE *limit; + struct jpeg_decompress_struct cinfo; + struct str_error_mgr err; + struct str_src_mgr src; + JSAMPARRAY row_buffer; +}; + +#endif |