source: trunk/poppler/mypoppler/poppler/FlateStream.h @ 461

Last change on this file since 461 was 257, checked in by Eugene Romanenko, 13 years ago

PDF plugin: Poppler library updated to version 0.10.0

File size: 1.4 KB
Line 
1//========================================================================
2//
3// FlateStream.h
4//
5// Copyright (C) 2005, Jeff Muizelaar <jeff@infidigm.net>
6//
7// This file is under the GPLv2 or later license
8//
9//========================================================================
10
11#ifndef FLATESTREAM_H
12#define FLATESTREAM_H
13#include <config.h>
14
15#ifdef USE_GCC_PRAGMAS
16#pragma interface
17#endif
18
19
20#ifdef USE_GCC_PRAGMAS
21#pragma implementation
22#endif
23
24#include <stdio.h>
25#include <stdlib.h>
26#include <stddef.h>
27#ifdef HAVE_UNISTD_H
28#include <unistd.h>
29#endif
30#include <string.h>
31#include <ctype.h>
32#include "goo/gmem.h"
33#include "goo/gfile.h"
34#include "poppler-config.h"
35#include "Error.h"
36#include "Object.h"
37#include "Decrypt.h"
38#include "Stream.h"
39
40extern "C" {
41#include <zlib.h>
42}
43
44class FlateStream: public FilterStream {
45public:
46
47  FlateStream(Stream *strA, int predictor, int columns, int colors, int bits);
48  virtual ~FlateStream();
49  virtual StreamKind getKind() { return strFlate; }
50  virtual void reset();
51  virtual int getChar();
52  virtual int lookChar();
53  virtual int getRawChar();
54  virtual GooString *getPSFilter(int psLevel, char *indent);
55  virtual GBool isBinary(GBool last = gTrue);
56
57private:
58  int fill_buffer(void);
59  z_stream d_stream;
60  StreamPredictor *pred;
61  int status;
62  /* in_buf currently needs to be 1 or we over read from EmbedStreams */
63  unsigned char in_buf[1];
64  unsigned char out_buf[4096];
65  int out_pos;
66  int out_buf_len;
67};
68
69#endif
Note: See TracBrowser for help on using the repository browser.