Commit 96333f6d authored by Albert Astals Cid's avatar Albert Astals Cid

Add override markers

parent da490581
......@@ -99,6 +99,10 @@ if(NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES)
endif(NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES)
if(CMAKE_COMPILER_IS_GNUCXX)
if (NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS "5.0.0")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wsuggest-override" )
endif()
# set the default compile warnings
set(DEFAULT_COMPILE_WARNINGS_NO)
set(DEFAULT_COMPILE_WARNINGS_YES "-Wall -Wcast-align -fno-exceptions -fno-check-new -fno-common")
......
......@@ -69,13 +69,13 @@ class MemReader: public Reader {
public:
static MemReader *make(char *bufA, int lenA);
virtual ~MemReader();
virtual int getByte(int pos);
virtual GBool getU16BE(int pos, int *val);
virtual GBool getU32BE(int pos, Guint *val);
virtual GBool getU32LE(int pos, Guint *val);
virtual GBool getUVarBE(int pos, int size, Guint *val);
virtual GBool cmp(int pos, const char *s);
~MemReader();
int getByte(int pos) override;
GBool getU16BE(int pos, int *val) override;
GBool getU32BE(int pos, Guint *val) override;
GBool getU32LE(int pos, Guint *val) override;
GBool getUVarBE(int pos, int size, Guint *val) override;
GBool cmp(int pos, const char *s) override;
private:
......@@ -164,13 +164,13 @@ class FileReader: public Reader {
public:
static FileReader *make(char *fileName);
virtual ~FileReader();
virtual int getByte(int pos);
virtual GBool getU16BE(int pos, int *val);
virtual GBool getU32BE(int pos, Guint *val);
virtual GBool getU32LE(int pos, Guint *val);
virtual GBool getUVarBE(int pos, int size, Guint *val);
virtual GBool cmp(int pos, const char *s);
~FileReader();
int getByte(int pos) override;
GBool getU16BE(int pos, int *val) override;
GBool getU32BE(int pos, Guint *val) override;
GBool getU32LE(int pos, Guint *val) override;
GBool getUVarBE(int pos, int size, Guint *val) override;
GBool cmp(int pos, const char *s) override;
private:
......@@ -287,13 +287,13 @@ class StreamReader: public Reader {
public:
static StreamReader *make(int (*getCharA)(void *data), void *dataA);
virtual ~StreamReader();
virtual int getByte(int pos);
virtual GBool getU16BE(int pos, int *val);
virtual GBool getU32BE(int pos, Guint *val);
virtual GBool getU32LE(int pos, Guint *val);
virtual GBool getUVarBE(int pos, int size, Guint *val);
virtual GBool cmp(int pos, const char *s);
~StreamReader();
int getByte(int pos) override;
GBool getU16BE(int pos, int *val) override;
GBool getU32BE(int pos, Guint *val) override;
GBool getU32LE(int pos, Guint *val) override;
GBool getUVarBE(int pos, int size, Guint *val) override;
GBool cmp(int pos, const char *s) override;
private:
......
......@@ -53,7 +53,7 @@ public:
// Create a FoFiTrueType object from a file on disk.
static FoFiTrueType *load(char *fileName, int faceIndexA=0);
virtual ~FoFiTrueType();
~FoFiTrueType();
// Returns true if this an OpenType font containing CFF data, false
// if it's a TrueType font (or OpenType font with TrueType data).
......
......@@ -29,7 +29,7 @@ public:
// Create a FoFiType1 object from a file on disk.
static FoFiType1 *load(char *fileName);
virtual ~FoFiType1();
~FoFiType1();
// Return the font name.
char *getName();
......
......@@ -28,8 +28,8 @@ class PopplerCachedFileLoader: public CachedFileLoader {
public:
PopplerCachedFileLoader(GInputStream* inputStreamA, GCancellable *cancellableA, goffset lengthA = -1);
~PopplerCachedFileLoader();
size_t init(GooString *url, CachedFile* cachedFile);
int load(const std::vector<ByteRange> &ranges, CachedFileWriter *writer);
size_t init(GooString *url, CachedFile* cachedFile) override;
int load(const std::vector<ByteRange> &ranges, CachedFileWriter *writer) override;
private:
GInputStream *inputStream;
......
......@@ -32,31 +32,31 @@ public:
PopplerInputStream(GInputStream *inputStream, GCancellable *cancellableA,
Goffset startA, GBool limitedA, Goffset lengthA, Object *dictA);
virtual ~PopplerInputStream();
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()
~PopplerInputStream();
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 && !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;
GInputStream *inputStream;
GCancellable *cancellable;
......
......@@ -39,13 +39,13 @@ public:
JpegWriter(Format format = RGB);
~JpegWriter();
bool init(FILE *f, int width, int height, int hDPI, int vDPI);
bool init(FILE *f, int width, int height, int hDPI, int vDPI) override;
bool writePointers(unsigned char **rowPointers, int rowCount);
bool writeRow(unsigned char **row);
bool writePointers(unsigned char **rowPointers, int rowCount) override;
bool writeRow(unsigned char **row) override;
bool close();
bool supportCMYK();
bool close() override;
bool supportCMYK() override;
private:
JpegWriter(const JpegWriter &other);
......
......@@ -36,12 +36,12 @@ public:
NetPBMWriter(Format formatA = RGB);
~NetPBMWriter() {};
bool init(FILE *f, int width, int height, int hDPI, int vDPI);
bool init(FILE *f, int width, int height, int hDPI, int vDPI) override;
bool writePointers(unsigned char **rowPointers, int rowCount);
bool writeRow(unsigned char **row);
bool writePointers(unsigned char **rowPointers, int rowCount) override;
bool writeRow(unsigned char **row) override;
bool close();
bool close() override;
private:
FILE *file;
......
......@@ -43,12 +43,12 @@ public:
void setSRGBProfile();
bool init(FILE *f, int width, int height, int hDPI, int vDPI);
bool init(FILE *f, int width, int height, int hDPI, int vDPI) override;
bool writePointers(unsigned char **rowPointers, int rowCount);
bool writeRow(unsigned char **row);
bool writePointers(unsigned char **rowPointers, int rowCount) override;
bool writeRow(unsigned char **row) override;
bool close();
bool close() override;
private:
PNGWriter(const PNGWriter &other);
......
......@@ -40,14 +40,14 @@ public:
void setCompressionString(const char *compressionStringArg);
bool init(FILE *openedFile, int width, int height, int hDPI, int vDPI);
bool init(FILE *openedFile, int width, int height, int hDPI, int vDPI) override;
bool writePointers(unsigned char **rowPointers, int rowCount);
bool writeRow(unsigned char **rowData);
bool writePointers(unsigned char **rowPointers, int rowCount) override;
bool writeRow(unsigned char **rowData) override;
bool supportCMYK() { return true; }
bool supportCMYK() override { return true; }
bool close();
bool close() override;
private:
TiffWriter(const TiffWriter &other);
......
......@@ -270,8 +270,8 @@ public:
double getVerticalCorner() const { return verticalCorner; }
private:
virtual AnnotBorderType getType() const { return typeArray; }
virtual void writeToObject(XRef *xref, Object *obj1) const;
AnnotBorderType getType() const override { return typeArray; }
void writeToObject(XRef *xref, Object *obj1) const override;
double horizontalCorner; // (Default 0)
double verticalCorner; // (Default 0)
......@@ -289,8 +289,8 @@ public:
AnnotBorderBS(Dict *dict);
private:
virtual AnnotBorderType getType() const { return typeBS; }
virtual void writeToObject(XRef *xref, Object *obj1) const;
AnnotBorderType getType() const override { return typeBS; }
void writeToObject(XRef *xref, Object *obj1) const override;
const char *getStyleName() const;
......@@ -725,7 +725,7 @@ public:
AnnotMarkup(PDFDoc *docA, PDFRectangle *rect);
AnnotMarkup(PDFDoc *docA, Dict *dict, Object *obj);
virtual ~AnnotMarkup();
~AnnotMarkup();
// getters
GooString *getLabel() const { return label; }
......@@ -745,7 +745,7 @@ public:
void setDate(GooString *new_date);
protected:
virtual void removeReferencedObjects();
void removeReferencedObjects() override;
GooString *label; // T (Default autor)
AnnotPopup *popup; // Popup
......@@ -787,7 +787,7 @@ public:
AnnotText(PDFDoc *docA, Dict *dict, Object *obj);
~AnnotText();
virtual void draw(Gfx *gfx, GBool printing);
void draw(Gfx *gfx, GBool printing) override;
// getters
GBool getOpen() const { return open; }
......@@ -820,7 +820,7 @@ class AnnotMovie: public Annot {
AnnotMovie(PDFDoc *docA, Dict *dict, Object *obj);
~AnnotMovie();
virtual void draw(Gfx *gfx, GBool printing);
void draw(Gfx *gfx, GBool printing) override;
GooString* getTitle() { return title; }
Movie* getMovie() { return movie; }
......@@ -878,9 +878,9 @@ public:
AnnotLink(PDFDoc *docA, PDFRectangle *rect);
AnnotLink(PDFDoc *docA, Dict *dict, Object *obj);
virtual ~AnnotLink();
~AnnotLink();
virtual void draw(Gfx *gfx, GBool printing);
void draw(Gfx *gfx, GBool printing) override;
// getters
LinkAction *getAction() const { return action; }
......@@ -922,9 +922,9 @@ public:
AnnotFreeText(PDFDoc *docA, Dict *dict, Object *obj);
~AnnotFreeText();
virtual void draw(Gfx *gfx, GBool printing);
virtual Object *getAppearanceResDict(Object *dest);
virtual void setContents(GooString *new_content);
void draw(Gfx *gfx, GBool printing) override;
Object *getAppearanceResDict(Object *dest) override;
void setContents(GooString *new_content) override;
void setAppearanceString(GooString *new_string);
void setQuadding(AnnotFreeTextQuadding new_quadding);
......@@ -986,9 +986,9 @@ public:
AnnotLine(PDFDoc *docA, Dict *dict, Object *obj);
~AnnotLine();
virtual void draw(Gfx *gfx, GBool printing);
virtual Object *getAppearanceResDict(Object *dest);
virtual void setContents(GooString *new_content);
void draw(Gfx *gfx, GBool printing) override;
Object *getAppearanceResDict(Object *dest) override;
void setContents(GooString *new_content) override;
void setVertices(double x1, double y1, double x2, double y2);
void setStartEndStyle(AnnotLineEndingStyle start, AnnotLineEndingStyle end);
......@@ -1050,9 +1050,9 @@ public:
AnnotTextMarkup(PDFDoc *docA, PDFRectangle *rect, AnnotSubtype subType);
AnnotTextMarkup(PDFDoc *docA, Dict *dict, Object *obj);
virtual ~AnnotTextMarkup();
~AnnotTextMarkup();
virtual void draw(Gfx *gfx, GBool printing);
void draw(Gfx *gfx, GBool printing) override;
// typeHighlight, typeUnderline, typeSquiggly or typeStrikeOut
void setType(AnnotSubtype new_type);
......@@ -1102,7 +1102,7 @@ public:
AnnotGeometry(PDFDoc *docA, Dict *dict, Object *obj);
~AnnotGeometry();
virtual void draw(Gfx *gfx, GBool printing);
void draw(Gfx *gfx, GBool printing) override;
void setType(AnnotSubtype new_type); // typeSquare or typeCircle
void setInteriorColor(AnnotColor *new_color);
......@@ -1138,7 +1138,7 @@ public:
AnnotPolygon(PDFDoc *docA, Dict *dict, Object *obj);
~AnnotPolygon();
virtual void draw(Gfx *gfx, GBool printing);
void draw(Gfx *gfx, GBool printing) override;
void setType(AnnotSubtype new_type); // typePolygon or typePolyLine
void setVertices(AnnotPath *path);
......@@ -1213,7 +1213,7 @@ public:
AnnotInk(PDFDoc *docA, Dict *dict, Object *obj);
~AnnotInk();
virtual void draw(Gfx *gfx, GBool printing);
void draw(Gfx *gfx, GBool printing) override;
void setInkList(AnnotPath **paths, int n_paths);
......@@ -1248,7 +1248,7 @@ public:
AnnotFileAttachment(PDFDoc *docA, Dict *dict, Object *obj);
~AnnotFileAttachment();
virtual void draw(Gfx *gfx, GBool printing);
void draw(Gfx *gfx, GBool printing) override;
// getters
Object *getFile() { return &file; }
......@@ -1276,7 +1276,7 @@ public:
AnnotSound(PDFDoc *docA, Dict *dict, Object *obj);
~AnnotSound();
virtual void draw(Gfx *gfx, GBool printing);
void draw(Gfx *gfx, GBool printing) override;
// getters
Sound *getSound() { return sound; }
......@@ -1309,9 +1309,9 @@ public:
AnnotWidget(PDFDoc *docA, Dict *dict, Object *obj);
AnnotWidget(PDFDoc *docA, Dict *dict, Object *obj, FormField *fieldA);
virtual ~AnnotWidget();
~AnnotWidget();
virtual void draw(Gfx *gfx, GBool printing);
void draw(Gfx *gfx, GBool printing) override;
void drawBorder();
void drawFormFieldButton(GfxResources *resources, GooString *da);
......
......@@ -74,7 +74,7 @@ protected:
class CairoFreeTypeFont : public CairoFont {
public:
static CairoFreeTypeFont *create(GfxFont *gfxFont, XRef *xref, FT_Library lib, GBool useCIDs);
virtual ~CairoFreeTypeFont();
~CairoFreeTypeFont();
private:
CairoFreeTypeFont(Ref ref, cairo_font_face_t *cairo_font_face,
......@@ -88,9 +88,9 @@ public:
static CairoType3Font *create(GfxFont *gfxFont, PDFDoc *doc,
CairoFontEngine *fontEngine,
GBool printing, XRef *xref);
virtual ~CairoType3Font();
~CairoType3Font();
virtual GBool matches(Ref &other, GBool printing);
GBool matches(Ref &other, GBool printing) override;
private:
CairoType3Font(Ref ref, PDFDoc *doc,
......
......@@ -3119,7 +3119,7 @@ public:
return image;
}
void getRow(int row_num, uint32_t *row_data) {
void getRow(int row_num, uint32_t *row_data) override {
int i;
Guchar *pix;
......
......@@ -97,121 +97,121 @@ public:
// Does this device use upside-down coordinates?
// (Upside-down means (0,0) is the top left corner of the page.)
virtual GBool upsideDown() { return gTrue; }
GBool upsideDown() override { return gTrue; }
// Does this device use drawChar() or drawString()?
virtual GBool useDrawChar() { return gTrue; }
GBool useDrawChar() override { return gTrue; }
// Does this device use tilingPatternFill()? If this returns false,
// tiling pattern fills will be reduced to a series of other drawing
// operations.
virtual GBool useTilingPatternFill() { return gTrue; }
GBool useTilingPatternFill() override { return gTrue; }
// Does this device use functionShadedFill(), axialShadedFill(), and
// radialShadedFill()? If this returns false, these shaded fills
// will be reduced to a series of other drawing operations.
#if CAIRO_VERSION >= CAIRO_VERSION_ENCODE(1, 12, 0)
virtual GBool useShadedFills(int type) { return type <= 7; }
GBool useShadedFills(int type) override { return type <= 7; }
#else
virtual GBool useShadedFills(int type) { return type > 1 && type < 4; }
GBool useShadedFills(int type) override { return type > 1 && type < 4; }
#endif
// Does this device use FillColorStop()?
virtual GBool useFillColorStop() { return gTrue; }
GBool useFillColorStop() override { return gTrue; }
// Does this device use beginType3Char/endType3Char? Otherwise,
// text in Type 3 fonts will be drawn with drawChar/drawString.
virtual GBool interpretType3Chars() { return gFalse; }
GBool interpretType3Chars() override { return gFalse; }
// Does this device need to clip pages to the crop box even when the
// box is the crop box?
virtual GBool needClipToCropBox() { return gTrue; }
GBool needClipToCropBox() override { return gTrue; }
//----- initialization and control
// Start a page.
virtual void startPage(int pageNum, GfxState *state, XRef *xref);
void startPage(int pageNum, GfxState *state, XRef *xref) override;
// End a page.
virtual void endPage();
void endPage() override;
//----- save/restore graphics state
virtual void saveState(GfxState *state);
virtual void restoreState(GfxState *state);
void saveState(GfxState *state) override;
void restoreState(GfxState *state) override;
//----- update graphics state
virtual void updateAll(GfxState *state);
virtual void setDefaultCTM(double *ctm);
virtual void updateCTM(GfxState *state, double m11, double m12,
double m21, double m22, double m31, double m32);
virtual void updateLineDash(GfxState *state);
virtual void updateFlatness(GfxState *state);
virtual void updateLineJoin(GfxState *state);
virtual void updateLineCap(GfxState *state);
virtual void updateMiterLimit(GfxState *state);
virtual void updateLineWidth(GfxState *state);
virtual void updateFillColor(GfxState *state);
virtual void updateStrokeColor(GfxState *state);
virtual void updateFillOpacity(GfxState *state);
virtual void updateStrokeOpacity(GfxState *state);
virtual void updateFillColorStop(GfxState *state, double offset);
virtual void updateBlendMode(GfxState *state);
void updateAll(GfxState *state) override;
void setDefaultCTM(double *ctm) override;
void updateCTM(GfxState *state, double m11, double m12,
double m21, double m22, double m31, double m32) override;
void updateLineDash(GfxState *state) override;
void updateFlatness(GfxState *state) override;
void updateLineJoin(GfxState *state) override;
void updateLineCap(GfxState *state) override;
void updateMiterLimit(GfxState *state) override;
void updateLineWidth(GfxState *state) override;
void updateFillColor(GfxState *state) override;
void updateStrokeColor(GfxState *state) override;
void updateFillOpacity(GfxState *state) override;
void updateStrokeOpacity(GfxState *state) override;
void updateFillColorStop(GfxState *state, double offset) override;
void updateBlendMode(GfxState *state) override;
//----- update text state
virtual void updateFont(GfxState *state);
void updateFont(GfxState *state) override;
//----- path painting
virtual void stroke(GfxState *state);
virtual void fill(GfxState *state);
virtual void eoFill(GfxState *state);
virtual void clipToStrokePath(GfxState *state);
virtual GBool tilingPatternFill(GfxState *state, Gfx *gfx, Catalog *cat, Object *str,
double *pmat, int paintType, int tilingType, Dict *resDict,
double *mat, double *bbox,
int x0, int y0, int x1, int y1,
double xStep, double yStep);
void stroke(GfxState *state) override;
void fill(GfxState *state) override;
void eoFill(GfxState *state) override;
void clipToStrokePath(GfxState *state) override;
GBool tilingPatternFill(GfxState *state, Gfx *gfx, Catalog *cat, Object *str,
double *pmat, int paintType, int tilingType, Dict *resDict,
double *mat, double *bbox,
int x0, int y0, int x1, int y1,
double xStep, double yStep) override;
#if CAIRO_VERSION >= CAIRO_VERSION_ENCODE(1, 12, 0)
virtual GBool functionShadedFill(GfxState *state, GfxFunctionShading *shading);
GBool functionShadedFill(GfxState *state, GfxFunctionShading *shading) override;
#endif
virtual GBool axialShadedFill(GfxState *state, GfxAxialShading *shading, double tMin, double tMax);
virtual GBool axialShadedSupportExtend(GfxState *state, GfxAxialShading *shading);
virtual GBool radialShadedFill(GfxState *state, GfxRadialShading *shading, double sMin, double sMax);
virtual GBool radialShadedSupportExtend(GfxState *state, GfxRadialShading *shading);
GBool axialShadedFill(GfxState *state, GfxAxialShading *shading, double tMin, double tMax) override;
GBool axialShadedSupportExtend(GfxState *state, GfxAxialShading *shading) override;
GBool radialShadedFill(GfxState *state, GfxRadialShading *shading, double sMin, double sMax) override;
GBool radialShadedSupportExtend(GfxState *state, GfxRadialShading *shading) override;
#if CAIRO_VERSION >= CAIRO_VERSION_ENCODE(1, 12, 0)
virtual GBool gouraudTriangleShadedFill(GfxState *state, GfxGouraudTriangleShading *shading);
virtual GBool patchMeshShadedFill(GfxState *state, GfxPatchMeshShading *shading);
GBool gouraudTriangleShadedFill(GfxState *state, GfxGouraudTriangleShading *shading) override;
GBool patchMeshShadedFill(GfxState *state, GfxPatchMeshShading *shading) override;
#endif
//----- path clipping
virtual void clip(GfxState *state);
virtual void eoClip(GfxState *state);
void clip(GfxState *state) override;
void eoClip(GfxState *state) override;
//----- text drawing
void beginString(GfxState *state, GooString *s);
void endString(GfxState *state);
void beginString(GfxState *state, GooString *s) override;
void endString(GfxState *state) override;
void drawChar(GfxState *state, double x, double y,
double dx, double dy,
double originX, double originY,
CharCode code, int nBytes, Unicode *u, int uLen);
void beginActualText(GfxState *state, GooString *text);
void endActualText(GfxState *state);
CharCode code, int nBytes, Unicode *u, int uLen) override;
void beginActualText(GfxState *state, GooString *text) override;
void endActualText(GfxState *state) override;
virtual GBool beginType3Char(GfxState *state, double x, double y,
double dx, double dy,
CharCode code, Unicode *u, int uLen);
virtual void endType3Char(GfxState *state);
virtual void beginTextObject(GfxState *state);
virtual void endTextObject(GfxState *state);
GBool beginType3Char(GfxState *state, double x, double y,
double dx, double dy,
CharCode code, Unicode *u, int uLen) override;
void endType3Char(GfxState *state) override;
void beginTextObject(GfxState *state) override;
void endTextObject(GfxState *state) override;
//----- image drawing
virtual void drawImageMask(GfxState *state, Object *ref, Stream *str,
int width, int height, GBool invert, GBool interpolate,
GBool inlineImg);
virtual void setSoftMaskFromImageMask(GfxState *state,
Object *ref, Stream *str,
int width, int height, GBool invert,
GBool inlineImg, double *baseMatrix);
virtual void unsetSoftMaskFromImageMask(GfxState *state, double *baseMatrix);
void drawImageMask(GfxState *state, Object *ref, Stream *str,
int width, int height, GBool invert, GBool interpolate,
GBool inlineImg) override;
void setSoftMaskFromImageMask(GfxState *state,
Object *ref, Stream *str,
int width, int height, GBool invert,
GBool inlineImg, double *baseMatrix) override;
void unsetSoftMaskFromImageMask(GfxState *state, double *baseMatrix) override;
void drawImageMaskPrescaled(GfxState *state, Object *ref, Stream *str,
int width, int height, GBool invert, GBool interpolate,
GBool inlineImg);
......@@ -219,42 +219,42 @@ public:
int width, int height, GBool invert, GBool interpolate,
GBool inlineImg);
virtual void drawImage(GfxState *state, Object *ref, Stream *str,
int width, int height, GfxImageColorMap *colorMap,
GBool interpolate, int *maskColors, GBool inlineImg);
virtual void drawSoftMaskedImage(GfxState *state, Object *ref, Stream *str