diff options
| author | Albrecht Schlosser <albrechts.fltk@online.de> | 2022-03-20 19:59:22 +0100 |
|---|---|---|
| committer | Albrecht Schlosser <albrechts.fltk@online.de> | 2022-04-13 16:50:30 +0200 |
| commit | 10537b7143a06a4c0c1c4caba4f0150f9e290090 (patch) | |
| tree | d265896f0d66a20391cbeb55b0f133fb3f1a90ca /FL | |
| parent | 95b5623b96e37e46ef80e75326453ea840172ce7 (diff) | |
Make Fl_Image::copy() 'const', including all derived classes
Copying an image does not (and must not) change the original object,
hence copy() should always be 'const'.
This is *necessary* if the given Fl_Image object is 'const'.
Diffstat (limited to 'FL')
| -rw-r--r-- | FL/Fl_Image.H | 8 | ||||
| -rw-r--r-- | FL/Fl_SVG_Image.H | 10 | ||||
| -rw-r--r-- | FL/Fl_Shared_Image.H | 6 | ||||
| -rw-r--r-- | FL/Fl_Tiled_Image.H | 6 |
4 files changed, 18 insertions, 12 deletions
diff --git a/FL/Fl_Image.H b/FL/Fl_Image.H index 31b005dc4..49b277740 100644 --- a/FL/Fl_Image.H +++ b/FL/Fl_Image.H @@ -234,7 +234,7 @@ public: Fl_Image(int W, int H, int D); virtual ~Fl_Image(); - virtual Fl_Image *copy(int W, int H); + virtual Fl_Image *copy(int W, int H) const; /** Creates a copy of the specified image. The image should be released when you are done with it. @@ -247,7 +247,7 @@ public: \see Fl_Image::release() \see Fl_Image::copy(int w, int h) */ - Fl_Image *copy() { return copy(w(), h()); } + Fl_Image *copy() const { return copy(w(), h()); } virtual void color_average(Fl_Color c, float i); /** The inactive() method calls @@ -340,8 +340,8 @@ public: Fl_RGB_Image(const uchar *bits, int W, int H, int D=3, int LD=0); Fl_RGB_Image(const Fl_Pixmap *pxm, Fl_Color bg=FL_GRAY); virtual ~Fl_RGB_Image(); - virtual Fl_Image *copy(int W, int H); - Fl_Image *copy() { return Fl_Image::copy(); } + virtual Fl_Image *copy(int W, int H) const; + Fl_Image *copy() const { return Fl_Image::copy(); } virtual void color_average(Fl_Color c, float i); virtual void desaturate(); virtual void draw(int X, int Y, int W, int H, int cx=0, int cy=0); diff --git a/FL/Fl_SVG_Image.H b/FL/Fl_SVG_Image.H index 2f98a2a46..d09f3882b 100644 --- a/FL/Fl_SVG_Image.H +++ b/FL/Fl_SVG_Image.H @@ -147,16 +147,18 @@ private: float svg_scaling_(int W, int H); void rasterize_(int W, int H); virtual void cache_size_(int &width, int &height); - void init_(const char *filename, const char *filedata, Fl_SVG_Image *copy_source); - Fl_SVG_Image(Fl_SVG_Image *source); + void init_(const char *filename, const char *filedata, const Fl_SVG_Image *copy_source); + Fl_SVG_Image(const Fl_SVG_Image *source); public: /** Set this to \c false to allow image re-scaling that alters the image aspect ratio. Upon object creation, proportional is set to \c true, and the aspect ratio is kept constant.*/ bool proportional; Fl_SVG_Image(const char *filename, const char *svg_data = NULL); virtual ~Fl_SVG_Image(); - virtual Fl_Image *copy(int W, int H); - Fl_Image *copy() { return Fl_Image::copy(); } + virtual Fl_Image *copy(int W, int H) const; + Fl_Image *copy() const { + return Fl_Image::copy(); + } void resize(int width, int height); virtual void desaturate(); virtual void color_average(Fl_Color c, float i); diff --git a/FL/Fl_Shared_Image.H b/FL/Fl_Shared_Image.H index d109014e5..88a3050be 100644 --- a/FL/Fl_Shared_Image.H +++ b/FL/Fl_Shared_Image.H @@ -145,8 +145,10 @@ public: return this; } - virtual Fl_Image *copy(int W, int H); - Fl_Image *copy() { return Fl_Image::copy(); } + virtual Fl_Image *copy(int W, int H) const; + Fl_Image *copy() const { + return Fl_Image::copy(); + } virtual void color_average(Fl_Color c, float i); virtual void desaturate(); virtual void draw(int X, int Y, int W, int H, int cx = 0, int cy = 0); diff --git a/FL/Fl_Tiled_Image.H b/FL/Fl_Tiled_Image.H index 66814a8fd..599de4b4e 100644 --- a/FL/Fl_Tiled_Image.H +++ b/FL/Fl_Tiled_Image.H @@ -40,8 +40,10 @@ class FL_EXPORT Fl_Tiled_Image : public Fl_Image { Fl_Tiled_Image(Fl_Image *i, int W = 0, int H = 0); virtual ~Fl_Tiled_Image(); - virtual Fl_Image *copy(int W, int H); - Fl_Image *copy() { return Fl_Image::copy(); } + virtual Fl_Image *copy(int W, int H) const; + Fl_Image *copy() const { + return Fl_Image::copy(); + } virtual void color_average(Fl_Color c, float i); virtual void desaturate(); virtual void draw(int X, int Y, int W, int H, int cx = 0, int cy = 0); |
