diff options
Diffstat (limited to 'Build/source/libs/poppler/poppler-src/poppler/Stream.h')
-rw-r--r-- | Build/source/libs/poppler/poppler-src/poppler/Stream.h | 496 |
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: |