summaryrefslogtreecommitdiff
path: root/Build/source/libs/poppler/poppler-src/poppler/Stream.h
diff options
context:
space:
mode:
Diffstat (limited to 'Build/source/libs/poppler/poppler-src/poppler/Stream.h')
-rw-r--r--Build/source/libs/poppler/poppler-src/poppler/Stream.h496
1 files changed, 252 insertions, 244 deletions
diff --git a/Build/source/libs/poppler/poppler-src/poppler/Stream.h b/Build/source/libs/poppler/poppler-src/poppler/Stream.h
index 07b3933ac85..152dbb0fea1 100644
--- a/Build/source/libs/poppler/poppler-src/poppler/Stream.h
+++ b/Build/source/libs/poppler/poppler-src/poppler/Stream.h
@@ -15,14 +15,14 @@
//
// Copyright (C) 2005 Jeff Muizelaar <jeff@infidigm.net>
// Copyright (C) 2008 Julien Rebetez <julien@fhtagn.net>
-// Copyright (C) 2008, 2010, 2011, 2016 Albert Astals Cid <aacid@kde.org>
+// Copyright (C) 2008, 2010, 2011, 2016, 2017 Albert Astals Cid <aacid@kde.org>
// Copyright (C) 2009 Carlos Garcia Campos <carlosgc@gnome.org>
// Copyright (C) 2009 Stefan Thomas <thomas@eload24.com>
// Copyright (C) 2010 Hib Eris <hib@hiberis.nl>
// Copyright (C) 2011, 2012, 2016 William Bader <williambader@hotmail.com>
// Copyright (C) 2012, 2013 Thomas Freitag <Thomas.Freitag@alfa.de>
// Copyright (C) 2012, 2013 Fabio D'Urso <fabiodurso@hotmail.it>
-// Copyright (C) 2013 Adrian Johnson <ajohnson@redneon.com>
+// Copyright (C) 2013, 2017 Adrian Johnson <ajohnson@redneon.com>
// Copyright (C) 2013 Peter Breitenlohner <peb@mppmu.mpg.de>
// Copyright (C) 2013 Adam Reichold <adamreichold@myopera.com>
// Copyright (C) 2013 Pino Toscano <pino@kde.org>
@@ -105,10 +105,6 @@ public:
// Destructor.
virtual ~Stream();
- // Reference counting.
- int incRef();
- int decRef();
-
// Get kind of stream.
virtual StreamKind getKind() = 0;
@@ -213,6 +209,7 @@ public:
// Get the dictionary associated with this stream.
virtual Dict *getDict() = 0;
+ virtual Object *getDictObject() = 0;
// Is this an encoding filter?
virtual GBool isEncoder() { return gFalse; }
@@ -226,16 +223,22 @@ public:
// Add filters to this stream according to the parameters in <dict>.
// Returns the new stream.
- Stream *addFilters(Object *dict, int recursion = 0);
+ Stream *addFilters(Dict *dict, int recursion = 0);
private:
+ friend class Object; // for incRef/decRef
+
+ // Reference counting.
+ int incRef();
+ int decRef();
+
virtual GBool hasGetChars() { return false; }
virtual int getChars(int nChars, Guchar *buffer);
- Stream *makeFilter(char *name, Stream *str, Object *params, int recursion = 0, Object *dict = NULL);
+ Stream *makeFilter(char *name, Stream *str, Object *params, int recursion = 0, Dict *dict = nullptr);
int ref; // reference count
-#if MULTITHREADED
+#ifdef MULTITHREADED
GooMutex mutex;
#endif
};
@@ -254,10 +257,6 @@ public:
// Desctructor.
virtual ~OutStream ();
- // Reference counting.
- int incRef() { return ++ref; }
- int decRef() { return --ref; }
-
// Close the stream
virtual void close() = 0;
@@ -268,10 +267,6 @@ public:
virtual void put (char c) = 0;
virtual void printf (const char *format, ...) GCC_PRINTF_FORMAT(2,3) = 0;
-
-private:
- int ref; // reference count
-
};
//------------------------------------------------------------------------
@@ -281,15 +276,15 @@ class FileOutStream : public OutStream {
public:
FileOutStream (FILE* fa, Goffset startA);
- virtual ~FileOutStream ();
+ ~FileOutStream ();
- virtual void close();
+ void close() override;
- virtual Goffset getPos();
+ Goffset getPos() override;
- virtual void put (char c);
+ void put (char c) override;
- virtual void printf (const char *format, ...);
+ void printf (const char *format, ...) override GCC_PRINTF_FORMAT(2,3);
private:
FILE *f;
Goffset start;
@@ -306,16 +301,18 @@ private:
class BaseStream: public Stream {
public:
- BaseStream(Object *dictA, Goffset lengthA);
- virtual ~BaseStream();
+ // TODO Mirar si puedo hacer que dictA sea un puntero
+ BaseStream(Object &&dictA, Goffset lengthA);
+ ~BaseStream();
virtual BaseStream *copy() = 0;
virtual Stream *makeSubStream(Goffset start, GBool limited,
- Goffset length, Object *dict) = 0;
- virtual void setPos(Goffset pos, int dir = 0) = 0;
- virtual GBool isBinary(GBool last = gTrue) { return last; }
- virtual BaseStream *getBaseStream() { return this; }
- virtual Stream *getUndecodedStream() { return this; }
- virtual Dict *getDict() { return dict.getDict(); }
+ Goffset length, Object &&dict) = 0;
+ void setPos(Goffset pos, int dir = 0) override = 0;
+ GBool isBinary(GBool last = gTrue) override { return last; }
+ BaseStream *getBaseStream() override { return this; }
+ Stream *getUndecodedStream() override { return this; }
+ Dict *getDict() override { return dict.getDict(); }
+ Object *getDictObject() override { return &dict; }
virtual GooString *getFileName() { return NULL; }
virtual Goffset getLength() { return length; }
@@ -339,17 +336,18 @@ class FilterStream: public Stream {
public:
FilterStream(Stream *strA);
- virtual ~FilterStream();
- virtual void close();
- virtual Goffset getPos() { return str->getPos(); }
- virtual void setPos(Goffset pos, int dir = 0);
- virtual BaseStream *getBaseStream() { return str->getBaseStream(); }
- virtual Stream *getUndecodedStream() { return str->getUndecodedStream(); }
- virtual Dict *getDict() { return str->getDict(); }
- virtual Stream *getNextStream() { return str; }
-
- virtual int getUnfilteredChar () { return str->getUnfilteredChar(); }
- virtual void unfilteredReset () { str->unfilteredReset(); }
+ ~FilterStream();
+ void close() override;
+ Goffset getPos() override { return str->getPos(); }
+ void setPos(Goffset pos, int dir = 0) override;
+ BaseStream *getBaseStream() override { return str->getBaseStream(); }
+ Stream *getUndecodedStream() override { return str->getUndecodedStream(); }
+ Dict *getDict() override { return str->getDict(); }
+ Object *getDictObject() override { return str->getDictObject(); }
+ Stream *getNextStream() override { return str; }
+
+ int getUnfilteredChar () override { return str->getUnfilteredChar(); }
+ void unfilteredReset () override { str->unfilteredReset(); }
protected:
@@ -447,32 +445,32 @@ class FileStream: public BaseStream {
public:
FileStream(GooFile* fileA, Goffset startA, GBool limitedA,
- Goffset lengthA, Object *dictA);
- virtual ~FileStream();
- virtual BaseStream *copy();
- virtual Stream *makeSubStream(Goffset startA, GBool limitedA,
- Goffset lengthA, Object *dictA);
- virtual StreamKind getKind() { return strFile; }
- virtual void reset();
- virtual void close();
- virtual int getChar()
+ Goffset lengthA, Object &&dictA);
+ ~FileStream();
+ BaseStream *copy() override;
+ Stream *makeSubStream(Goffset startA, GBool limitedA,
+ Goffset lengthA, Object &&dictA) override;
+ StreamKind getKind() override { return strFile; }
+ void reset() override;
+ void close() override;
+ int getChar() override
{ return (bufPtr >= bufEnd && !fillBuf()) ? EOF : (*bufPtr++ & 0xff); }
- virtual int lookChar()
+ int lookChar() override
{ return (bufPtr >= bufEnd && !fillBuf()) ? EOF : (*bufPtr & 0xff); }
- virtual Goffset getPos() { return bufPos + (bufPtr - buf); }
- virtual void setPos(Goffset pos, int dir = 0);
- virtual Goffset getStart() { return start; }
- virtual void moveStart(Goffset delta);
+ Goffset getPos() override { return bufPos + (bufPtr - buf); }
+ void setPos(Goffset pos, int dir = 0) override;
+ Goffset getStart() override { return start; }
+ void moveStart(Goffset delta) override;
- virtual int getUnfilteredChar () { return getChar(); }
- virtual void unfilteredReset () { reset(); }
+ int getUnfilteredChar () override { return getChar(); }
+ void unfilteredReset () override { reset(); }
private:
GBool fillBuf();
- virtual GBool hasGetChars() { return true; }
- virtual int getChars(int nChars, Guchar *buffer)
+ GBool hasGetChars() override { return true; }
+ int getChars(int nChars, Guchar *buffer) override
{
int n, m;
@@ -517,25 +515,25 @@ class CachedFileStream: public BaseStream {
public:
CachedFileStream(CachedFile *ccA, Goffset startA, GBool limitedA,
- Goffset lengthA, Object *dictA);
- virtual ~CachedFileStream();
- virtual BaseStream *copy();
- virtual Stream *makeSubStream(Goffset startA, GBool limitedA,
- Goffset lengthA, Object *dictA);
- virtual StreamKind getKind() { return strCachedFile; }
- virtual void reset();
- virtual void close();
- virtual int getChar()
+ Goffset lengthA, Object &&dictA);
+ ~CachedFileStream();
+ BaseStream *copy() override;
+ Stream *makeSubStream(Goffset startA, GBool limitedA,
+ Goffset lengthA, Object &&dictA) override;
+ StreamKind getKind() override { return strCachedFile; }
+ void reset() override;
+ void close() override;
+ int getChar() override
{ return (bufPtr >= bufEnd && !fillBuf()) ? EOF : (*bufPtr++ & 0xff); }
- virtual int lookChar()
+ int lookChar() override
{ return (bufPtr >= bufEnd && !fillBuf()) ? EOF : (*bufPtr & 0xff); }
- virtual Goffset getPos() { return bufPos + (bufPtr - buf); }
- virtual void setPos(Goffset pos, int dir = 0);
- virtual Goffset getStart() { return start; }
- virtual void moveStart(Goffset delta);
+ Goffset getPos() override { return bufPos + (bufPtr - buf); }
+ void setPos(Goffset pos, int dir = 0) override;
+ Goffset getStart() override { return start; }
+ void moveStart(Goffset delta) override;
- virtual int getUnfilteredChar () { return getChar(); }
- virtual void unfilteredReset () { reset(); }
+ int getUnfilteredChar () override { return getChar(); }
+ void unfilteredReset () override { reset(); }
private:
@@ -560,34 +558,34 @@ private:
class MemStream: public BaseStream {
public:
- MemStream(char *bufA, Goffset startA, Goffset lengthA, Object *dictA);
- virtual ~MemStream();
- virtual BaseStream *copy();
- virtual Stream *makeSubStream(Goffset start, GBool limited,
- Goffset lengthA, Object *dictA);
- virtual StreamKind getKind() { return strWeird; }
- virtual void reset();
- virtual void close();
- virtual int getChar()
+ MemStream(char *bufA, Goffset startA, Goffset lengthA, Object &&dictA);
+ ~MemStream();
+ BaseStream *copy() override;
+ Stream *makeSubStream(Goffset start, GBool limited,
+ Goffset lengthA, Object &&dictA) override;
+ StreamKind getKind() override { return strWeird; }
+ void reset() override;
+ void close() override;
+ int getChar() override
{ return (bufPtr < bufEnd) ? (*bufPtr++ & 0xff) : EOF; }
- virtual int lookChar()
+ int lookChar() override
{ return (bufPtr < bufEnd) ? (*bufPtr & 0xff) : EOF; }
- virtual Goffset getPos() { return (int)(bufPtr - buf); }
- virtual void setPos(Goffset pos, int dir = 0);
- virtual Goffset getStart() { return start; }
- virtual void moveStart(Goffset delta);
+ Goffset getPos() override { return (int)(bufPtr - buf); }
+ void setPos(Goffset pos, int dir = 0) override;
+ Goffset getStart() override { return start; }
+ void moveStart(Goffset delta) override;
//if needFree = true, the stream will delete buf when it is destroyed
//otherwise it will not touch it. Default value is false
virtual void setNeedFree (GBool val) { needFree = val; }
- virtual int getUnfilteredChar () { return getChar(); }
- virtual void unfilteredReset () { reset (); }
+ int getUnfilteredChar () override { return getChar(); }
+ void unfilteredReset () override { reset (); }
private:
- virtual GBool hasGetChars() { return true; }
- virtual int getChars(int nChars, Guchar *buffer);
+ GBool hasGetChars() override { return true; }
+ int getChars(int nChars, Guchar *buffer) override;
char *buf;
Goffset start;
@@ -609,31 +607,41 @@ private:
class EmbedStream: public BaseStream {
public:
- EmbedStream(Stream *strA, Object *dictA, GBool limitedA, Goffset lengthA);
- virtual ~EmbedStream();
- virtual BaseStream *copy();
- virtual Stream *makeSubStream(Goffset start, GBool limitedA,
- Goffset lengthA, Object *dictA);
- virtual StreamKind getKind() { return str->getKind(); }
- virtual void reset() {}
- virtual int getChar();
- virtual int lookChar();
- virtual Goffset getPos() { return str->getPos(); }
- virtual void setPos(Goffset pos, int dir = 0);
- virtual Goffset getStart();
- virtual void moveStart(Goffset delta);
-
- virtual int getUnfilteredChar () { return str->getUnfilteredChar(); }
- virtual void unfilteredReset () { str->unfilteredReset(); }
-
+ EmbedStream(Stream *strA, Object &&dictA, GBool limitedA, Goffset lengthA, GBool reusableA = gFalse);
+ ~EmbedStream();
+ BaseStream *copy() override;
+ Stream *makeSubStream(Goffset start, GBool limitedA,
+ Goffset lengthA, Object &&dictA) override;
+ StreamKind getKind() override { return str->getKind(); }
+ void reset() override {}
+ int getChar() override;
+ int lookChar() override;
+ Goffset getPos() override;
+ void setPos(Goffset pos, int dir = 0) override;
+ Goffset getStart() override;
+ void moveStart(Goffset delta) override;
+
+ int getUnfilteredChar () override { return str->getUnfilteredChar(); }
+ void unfilteredReset () override { str->unfilteredReset(); }
+
+ void rewind();
+ void restore();
private:
- virtual GBool hasGetChars() { return true; }
- virtual int getChars(int nChars, Guchar *buffer);
+ GBool hasGetChars() override { return true; }
+ int getChars(int nChars, Guchar *buffer) override;
Stream *str;
GBool limited;
+ GBool reusable;
+ GBool record;
+ GBool replay;
+ unsigned char *bufData;
+ long bufMax;
+ long bufLen;
+ long bufPos;
+
};
//------------------------------------------------------------------------
@@ -644,14 +652,14 @@ class ASCIIHexStream: public FilterStream {
public:
ASCIIHexStream(Stream *strA);
- virtual ~ASCIIHexStream();
- virtual StreamKind getKind() { return strASCIIHex; }
- virtual void reset();
- virtual int getChar()
+ ~ASCIIHexStream();
+ StreamKind getKind() override { return strASCIIHex; }
+ void reset() override;
+ int getChar() override
{ int c = lookChar(); buf = EOF; return c; }
- virtual int lookChar();
- virtual GooString *getPSFilter(int psLevel, const char *indent);
- virtual GBool isBinary(GBool last = gTrue);
+ int lookChar() override;
+ GooString *getPSFilter(int psLevel, const char *indent) override;
+ GBool isBinary(GBool last = gTrue) override;
private:
@@ -667,14 +675,14 @@ class ASCII85Stream: public FilterStream {
public:
ASCII85Stream(Stream *strA);
- virtual ~ASCII85Stream();
- virtual StreamKind getKind() { return strASCII85; }
- virtual void reset();
- virtual int getChar()
+ ~ASCII85Stream();
+ StreamKind getKind() override { return strASCII85; }
+ void reset() override;
+ int getChar() override
{ int ch = lookChar(); ++index; return ch; }
- virtual int lookChar();
- virtual GooString *getPSFilter(int psLevel, const char *indent);
- virtual GBool isBinary(GBool last = gTrue);
+ int lookChar() override;
+ GooString *getPSFilter(int psLevel, const char *indent) override;
+ GBool isBinary(GBool last = gTrue) override;
private:
@@ -693,20 +701,20 @@ public:
LZWStream(Stream *strA, int predictor, int columns, int colors,
int bits, int earlyA);
- virtual ~LZWStream();
- virtual StreamKind getKind() { return strLZW; }
- virtual void reset();
- virtual int getChar();
- virtual int lookChar();
- virtual int getRawChar();
- virtual void getRawChars(int nChars, int *buffer);
- virtual GooString *getPSFilter(int psLevel, const char *indent);
- virtual GBool isBinary(GBool last = gTrue);
+ ~LZWStream();
+ StreamKind getKind() override { return strLZW; }
+ void reset() override;
+ int getChar() override;
+ int lookChar() override;
+ int getRawChar() override;
+ void getRawChars(int nChars, int *buffer) override;
+ GooString *getPSFilter(int psLevel, const char *indent) override;
+ GBool isBinary(GBool last = gTrue) override;
private:
- virtual GBool hasGetChars() { return true; }
- virtual int getChars(int nChars, Guchar *buffer);
+ GBool hasGetChars() override { return true; }
+ int getChars(int nChars, Guchar *buffer) override;
inline int doGetRawChar() {
if (eof) {
@@ -752,20 +760,20 @@ class RunLengthStream: public FilterStream {
public:
RunLengthStream(Stream *strA);
- virtual ~RunLengthStream();
- virtual StreamKind getKind() { return strRunLength; }
- virtual void reset();
- virtual int getChar()
+ ~RunLengthStream();
+ StreamKind getKind() override { return strRunLength; }
+ void reset() override;
+ int getChar() override
{ return (bufPtr >= bufEnd && !fillBuf()) ? EOF : (*bufPtr++ & 0xff); }
- virtual int lookChar()
+ int lookChar() override
{ return (bufPtr >= bufEnd && !fillBuf()) ? EOF : (*bufPtr & 0xff); }
- virtual GooString *getPSFilter(int psLevel, const char *indent);
- virtual GBool isBinary(GBool last = gTrue);
+ GooString *getPSFilter(int psLevel, const char *indent) override;
+ GBool isBinary(GBool last = gTrue) override;
private:
- virtual GBool hasGetChars() { return true; }
- virtual int getChars(int nChars, Guchar *buffer);
+ GBool hasGetChars() override { return true; }
+ int getChars(int nChars, Guchar *buffer) override;
char buf[128]; // buffer
char *bufPtr; // next char to read
@@ -787,16 +795,16 @@ public:
CCITTFaxStream(Stream *strA, int encodingA, GBool endOfLineA,
GBool byteAlignA, int columnsA, int rowsA,
GBool endOfBlockA, GBool blackA);
- virtual ~CCITTFaxStream();
- virtual StreamKind getKind() { return strCCITTFax; }
- virtual void reset();
- virtual int getChar()
+ ~CCITTFaxStream();
+ StreamKind getKind() override { return strCCITTFax; }
+ void reset() override;
+ int getChar() override
{ int c = lookChar(); buf = EOF; return c; }
- virtual int lookChar();
- virtual GooString *getPSFilter(int psLevel, const char *indent);
- virtual GBool isBinary(GBool last = gTrue);
+ int lookChar() override;
+ GooString *getPSFilter(int psLevel, const char *indent) override;
+ GBool isBinary(GBool last = gTrue) override;
- virtual void unfilteredReset ();
+ void unfilteredReset () override;
int getEncoding() { return encoding; }
GBool getEndOfLine() { return endOfLine; }
@@ -868,17 +876,17 @@ struct DCTHuffTable {
class DCTStream: public FilterStream {
public:
- DCTStream(Stream *strA, int colorXformA, Object *dict, int recursion);
+ DCTStream(Stream *strA, int colorXformA, Dict *dict, int recursion);
virtual ~DCTStream();
- virtual StreamKind getKind() { return strDCT; }
- virtual void reset();
- virtual void close();
- virtual int getChar();
- virtual int lookChar();
- virtual GooString *getPSFilter(int psLevel, const char *indent);
- virtual GBool isBinary(GBool last = gTrue);
+ StreamKind getKind() override { return strDCT; }
+ void reset() override;
+ void close() override;
+ int getChar() override;
+ int lookChar() override;
+ GooString *getPSFilter(int psLevel, const char *indent) override;
+ GBool isBinary(GBool last = gTrue) override;
- virtual void unfilteredReset();
+ void unfilteredReset() override;
private:
@@ -977,16 +985,16 @@ public:
FlateStream(Stream *strA, int predictor, int columns,
int colors, int bits);
- virtual ~FlateStream();
- virtual StreamKind getKind() { return strFlate; }
- virtual void reset();
- virtual int getChar();
- virtual int lookChar();
- virtual int getRawChar();
- virtual void getRawChars(int nChars, int *buffer);
- virtual GooString *getPSFilter(int psLevel, const char *indent);
- virtual GBool isBinary(GBool last = gTrue);
- virtual void unfilteredReset ();
+ ~FlateStream();
+ StreamKind getKind() override { return strFlate; }
+ void reset() override;
+ int getChar() override;
+ int lookChar() override;
+ int getRawChar() override;
+ void getRawChars(int nChars, int *buffer) override;
+ GooString *getPSFilter(int psLevel, const char *indent) override;
+ GBool isBinary(GBool last = gTrue) override;
+ void unfilteredReset () override;
private:
void flateReset(GBool unfiltered);
@@ -1004,8 +1012,8 @@ private:
return c;
}
- virtual GBool hasGetChars() { return true; }
- virtual int getChars(int nChars, Guchar *buffer);
+ GBool hasGetChars() override { return true; }
+ int getChars(int nChars, Guchar *buffer) override;
StreamPredictor *pred; // predictor
Guchar buf[flateWindow]; // output data buffer
@@ -1051,13 +1059,13 @@ class EOFStream: public FilterStream {
public:
EOFStream(Stream *strA);
- virtual ~EOFStream();
- virtual StreamKind getKind() { return strWeird; }
- virtual void reset() {}
- virtual int getChar() { return EOF; }
- virtual int lookChar() { return EOF; }
- virtual GooString *getPSFilter(int /*psLevel*/, const char * /*indent*/) { return NULL; }
- virtual GBool isBinary(GBool /*last = gTrue*/) { return gFalse; }
+ ~EOFStream();
+ StreamKind getKind() override { return strWeird; }
+ void reset() override {}
+ int getChar() override { return EOF; }
+ int lookChar() override { return EOF; }
+ GooString *getPSFilter(int /*psLevel*/, const char * /*indent*/) override { return NULL; }
+ GBool isBinary(GBool /*last = gTrue*/) override { return gFalse; }
};
//------------------------------------------------------------------------
@@ -1068,14 +1076,14 @@ class BufStream: public FilterStream {
public:
BufStream(Stream *strA, int bufSizeA);
- virtual ~BufStream();
- virtual StreamKind getKind() { return strWeird; }
- virtual void reset();
- virtual int getChar();
- virtual int lookChar();
- virtual GooString *getPSFilter(int psLevel, const char *indent)
+ ~BufStream();
+ StreamKind getKind() override { return strWeird; }
+ void reset() override;
+ int getChar() override;
+ int lookChar() override;
+ GooString *getPSFilter(int psLevel, const char *indent) override
{ return NULL; }
- virtual GBool isBinary(GBool last = gTrue);
+ GBool isBinary(GBool last = gTrue) override;
int lookChar(int idx);
@@ -1094,13 +1102,13 @@ public:
FixedLengthEncoder(Stream *strA, int lengthA);
~FixedLengthEncoder();
- virtual StreamKind getKind() { return strWeird; }
- virtual void reset();
- virtual int getChar();
- virtual int lookChar();
- virtual GooString *getPSFilter(int /*psLevel*/, const char * /*indent*/) { return NULL; }
- virtual GBool isBinary(GBool /*last = gTrue*/);
- virtual GBool isEncoder() { return gTrue; }
+ StreamKind getKind() override { return strWeird; }
+ void reset() override;
+ int getChar() override;
+ int lookChar() override;
+ GooString *getPSFilter(int /*psLevel*/, const char * /*indent*/) override { return NULL; }
+ GBool isBinary(GBool /*last = gTrue*/) override;
+ GBool isEncoder() override { return gTrue; }
private:
@@ -1116,16 +1124,16 @@ class ASCIIHexEncoder: public FilterStream {
public:
ASCIIHexEncoder(Stream *strA);
- virtual ~ASCIIHexEncoder();
- virtual StreamKind getKind() { return strWeird; }
- virtual void reset();
- virtual int getChar()
+ ~ASCIIHexEncoder();
+ StreamKind getKind() override { return strWeird; }
+ void reset() override;
+ int getChar() override
{ return (bufPtr >= bufEnd && !fillBuf()) ? EOF : (*bufPtr++ & 0xff); }
- virtual int lookChar()
+ int lookChar() override
{ return (bufPtr >= bufEnd && !fillBuf()) ? EOF : (*bufPtr & 0xff); }
- virtual GooString *getPSFilter(int /*psLevel*/, const char * /*indent*/) { return NULL; }
- virtual GBool isBinary(GBool /*last = gTrue*/) { return gFalse; }
- virtual GBool isEncoder() { return gTrue; }
+ GooString *getPSFilter(int /*psLevel*/, const char * /*indent*/) override { return NULL; }
+ GBool isBinary(GBool /*last = gTrue*/) override { return gFalse; }
+ GBool isEncoder() override { return gTrue; }
private:
@@ -1146,16 +1154,16 @@ class ASCII85Encoder: public FilterStream {
public:
ASCII85Encoder(Stream *strA);
- virtual ~ASCII85Encoder();
- virtual StreamKind getKind() { return strWeird; }
- virtual void reset();
- virtual int getChar()
+ ~ASCII85Encoder();
+ StreamKind getKind() override { return strWeird; }
+ void reset() override;
+ int getChar() override
{ return (bufPtr >= bufEnd && !fillBuf()) ? EOF : (*bufPtr++ & 0xff); }
- virtual int lookChar()
+ int lookChar() override
{ return (bufPtr >= bufEnd && !fillBuf()) ? EOF : (*bufPtr & 0xff); }
- virtual GooString *getPSFilter(int /*psLevel*/, const char * /*indent*/) { return NULL; }
- virtual GBool isBinary(GBool /*last = gTrue*/) { return gFalse; }
- virtual GBool isEncoder() { return gTrue; }
+ GooString *getPSFilter(int /*psLevel*/, const char * /*indent*/) override { return NULL; }
+ GBool isBinary(GBool /*last = gTrue*/) override { return gFalse; }
+ GBool isEncoder() override { return gTrue; }
private:
@@ -1176,16 +1184,16 @@ class RunLengthEncoder: public FilterStream {
public:
RunLengthEncoder(Stream *strA);
- virtual ~RunLengthEncoder();
- virtual StreamKind getKind() { return strWeird; }
- virtual void reset();
- virtual int getChar()
+ ~RunLengthEncoder();
+ StreamKind getKind() override { return strWeird; }
+ void reset() override;
+ int getChar() override
{ return (bufPtr >= bufEnd && !fillBuf()) ? EOF : (*bufPtr++ & 0xff); }
- virtual int lookChar()
+ int lookChar() override
{ return (bufPtr >= bufEnd && !fillBuf()) ? EOF : (*bufPtr & 0xff); }
- virtual GooString *getPSFilter(int /*psLevel*/, const char * /*indent*/) { return NULL; }
- virtual GBool isBinary(GBool /*last = gTrue*/) { return gTrue; }
- virtual GBool isEncoder() { return gTrue; }
+ GooString *getPSFilter(int /*psLevel*/, const char * /*indent*/) override { return NULL; }
+ GBool isBinary(GBool /*last = gTrue*/) override { return gTrue; }
+ GBool isEncoder() override { return gTrue; }
private:
@@ -1212,15 +1220,15 @@ class LZWEncoder: public FilterStream {
public:
LZWEncoder(Stream *strA);
- virtual ~LZWEncoder();
- virtual StreamKind getKind() { return strWeird; }
- virtual void reset();
- virtual int getChar();
- virtual int lookChar();
- virtual GooString *getPSFilter(int psLevel, const char *indent)
+ ~LZWEncoder();
+ StreamKind getKind() override { return strWeird; }
+ void reset() override;
+ int getChar() override;
+ int lookChar() override;
+ GooString *getPSFilter(int psLevel, const char *indent) override
{ return NULL; }
- virtual GBool isBinary(GBool last = gTrue) { return gTrue; }
- virtual GBool isEncoder() { return gTrue; }
+ GBool isBinary(GBool last = gTrue) override { return gTrue; }
+ GBool isEncoder() override { return gTrue; }
private:
@@ -1244,16 +1252,16 @@ class CMYKGrayEncoder: public FilterStream {
public:
CMYKGrayEncoder(Stream *strA);
- virtual ~CMYKGrayEncoder();
- virtual StreamKind getKind() { return strWeird; }
- virtual void reset();
- virtual int getChar()
+ ~CMYKGrayEncoder();
+ StreamKind getKind() override { return strWeird; }
+ void reset() override;
+ int getChar() override
{ return (bufPtr >= bufEnd && !fillBuf()) ? EOF : (*bufPtr++ & 0xff); }
- virtual int lookChar()
+ int lookChar() override
{ return (bufPtr >= bufEnd && !fillBuf()) ? EOF : (*bufPtr & 0xff); }
- virtual GooString *getPSFilter(int /*psLevel*/, const char * /*indent*/) { return NULL; }
- virtual GBool isBinary(GBool /*last = gTrue*/) { return gFalse; }
- virtual GBool isEncoder() { return gTrue; }
+ GooString *getPSFilter(int /*psLevel*/, const char * /*indent*/) override { return NULL; }
+ GBool isBinary(GBool /*last = gTrue*/) override { return gFalse; }
+ GBool isEncoder() override { return gTrue; }
private:
@@ -1273,16 +1281,16 @@ class RGBGrayEncoder: public FilterStream {
public:
RGBGrayEncoder(Stream *strA);
- virtual ~RGBGrayEncoder();
- virtual StreamKind getKind() { return strWeird; }
- virtual void reset();
- virtual int getChar()
+ ~RGBGrayEncoder();
+ StreamKind getKind() override { return strWeird; }
+ void reset() override;
+ int getChar() override
{ return (bufPtr >= bufEnd && !fillBuf()) ? EOF : (*bufPtr++ & 0xff); }
- virtual int lookChar()
+ int lookChar() override
{ return (bufPtr >= bufEnd && !fillBuf()) ? EOF : (*bufPtr & 0xff); }
- virtual GooString *getPSFilter(int /*psLevel*/, const char * /*indent*/) { return NULL; }
- virtual GBool isBinary(GBool /*last = gTrue*/) { return gFalse; }
- virtual GBool isEncoder() { return gTrue; }
+ GooString *getPSFilter(int /*psLevel*/, const char * /*indent*/) override { return NULL; }
+ GBool isBinary(GBool /*last = gTrue*/) override { return gFalse; }
+ GBool isEncoder() override { return gTrue; }
private: