1 //========================================================================
5 // Copyright (C) 2005, Jeff Muizelaar <jeff@infidigm.net>
6 // Copyright (C) 2010, 2011, Albert Astals Cid <aacid@kde.org>
8 // This file is under the GPLv2 or later license
10 //========================================================================
15 #ifdef USE_GCC_PRAGMAS
20 #ifdef USE_GCC_PRAGMAS
21 #pragma implementation
24 #include "poppler-config.h"
34 #include "goo/gfile.h"
44 class FlateStream
: public FilterStream
{
47 FlateStream(Stream
*strA
, int predictor
, int columns
, int colors
, int bits
);
48 virtual ~FlateStream();
49 virtual StreamKind
getKind() { return strFlate
; }
51 virtual int getChar();
52 virtual int lookChar();
53 virtual int getRawChar();
54 virtual void getRawChars(int nChars
, int *buffer
);
55 virtual GooString
*getPSFilter(int psLevel
, const char *indent
);
56 virtual GBool
isBinary(GBool last
= gTrue
);
59 inline int doGetRawChar() {
63 return out_buf
[out_pos
++];
66 int fill_buffer(void);
68 StreamPredictor
*pred
;
70 /* in_buf currently needs to be 1 or we over read from EmbedStreams */
71 unsigned char in_buf
[1];
72 unsigned char out_buf
[4096];