summaryrefslogtreecommitdiff
path: root/FL
diff options
context:
space:
mode:
authorAlbrecht Schlosser <albrechts.fltk@online.de>2022-03-20 19:59:22 +0100
committerAlbrecht Schlosser <albrechts.fltk@online.de>2022-04-13 16:50:30 +0200
commit10537b7143a06a4c0c1c4caba4f0150f9e290090 (patch)
treed265896f0d66a20391cbeb55b0f133fb3f1a90ca /FL
parent95b5623b96e37e46ef80e75326453ea840172ce7 (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.H8
-rw-r--r--FL/Fl_SVG_Image.H10
-rw-r--r--FL/Fl_Shared_Image.H6
-rw-r--r--FL/Fl_Tiled_Image.H6
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);