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 /src | |
| 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 'src')
| -rw-r--r-- | src/Fl_Image.cxx | 4 | ||||
| -rw-r--r-- | src/Fl_SVG_Image.cxx | 6 | ||||
| -rw-r--r-- | src/Fl_Shared_Image.cxx | 2 | ||||
| -rw-r--r-- | src/Fl_Tiled_Image.cxx | 8 |
4 files changed, 10 insertions, 10 deletions
diff --git a/src/Fl_Image.cxx b/src/Fl_Image.cxx index eba5b2001..3ff657b92 100644 --- a/src/Fl_Image.cxx +++ b/src/Fl_Image.cxx @@ -88,7 +88,7 @@ void Fl_Image::draw_empty(int X, int Y) { \param[in] W,H Requested width and height of the copied image */ -Fl_Image *Fl_Image::copy(int W, int H) { +Fl_Image *Fl_Image::copy(int W, int H) const { return new Fl_Image(W, H, d()); } @@ -401,7 +401,7 @@ void Fl_RGB_Image::uncache() { Fl_Graphics_Driver::default_driver().uncache(this, id_, mask_); } -Fl_Image *Fl_RGB_Image::copy(int W, int H) { +Fl_Image *Fl_RGB_Image::copy(int W, int H) const { Fl_RGB_Image *new_image; // New RGB image uchar *new_array; // New array for image data diff --git a/src/Fl_SVG_Image.cxx b/src/Fl_SVG_Image.cxx index 5af4723b3..58dd48b34 100644 --- a/src/Fl_SVG_Image.cxx +++ b/src/Fl_SVG_Image.cxx @@ -64,7 +64,7 @@ Fl_SVG_Image::Fl_SVG_Image(const char *filename, const char *svg_data) : Fl_RGB_ // private constructor -Fl_SVG_Image::Fl_SVG_Image(Fl_SVG_Image *source) : Fl_RGB_Image(NULL, 0, 0, 4) { +Fl_SVG_Image::Fl_SVG_Image(const Fl_SVG_Image *source) : Fl_RGB_Image(NULL, 0, 0, 4) { init_(NULL, NULL, source); } @@ -124,7 +124,7 @@ static char *svg_inflate(const char *fname) { } #endif -void Fl_SVG_Image::init_(const char *filename, const char *in_filedata, Fl_SVG_Image *copy_source) { +void Fl_SVG_Image::init_(const char *filename, const char *in_filedata, const Fl_SVG_Image *copy_source) { if (copy_source) { filename = in_filedata = NULL; counted_svg_image_ = copy_source->counted_svg_image_; @@ -206,7 +206,7 @@ void Fl_SVG_Image::rasterize_(int W, int H) { } -Fl_Image *Fl_SVG_Image::copy(int W, int H) { +Fl_Image *Fl_SVG_Image::copy(int W, int H) const { Fl_SVG_Image *svg2 = new Fl_SVG_Image(this); svg2->to_desaturate_ = to_desaturate_; svg2->average_weight_ = average_weight_; diff --git a/src/Fl_Shared_Image.cxx b/src/Fl_Shared_Image.cxx index 8b3a34ded..91e093b6f 100644 --- a/src/Fl_Shared_Image.cxx +++ b/src/Fl_Shared_Image.cxx @@ -300,7 +300,7 @@ void Fl_Shared_Image::reload() { // For doxygen docs see Fl_Image::copy(). Fl_Image * -Fl_Shared_Image::copy(int W, int H) { +Fl_Shared_Image::copy(int W, int H) const { Fl_Image *temp_image; // New image file Fl_Shared_Image *temp_shared; // New shared image diff --git a/src/Fl_Tiled_Image.cxx b/src/Fl_Tiled_Image.cxx index a97081e6a..da1ed5531 100644 --- a/src/Fl_Tiled_Image.cxx +++ b/src/Fl_Tiled_Image.cxx @@ -1,7 +1,7 @@ // // Tiled image code for the Fast Light Tool Kit (FLTK). // -// Copyright 1998-2020 by Bill Spitzak and others. +// Copyright 1998-2022 by Bill Spitzak and others. // // This library is free software. Distribution and use rights are outlined in // the file "COPYING" which should have been included with this file. If this @@ -77,9 +77,9 @@ Fl_Tiled_Image::Fl_Tiled_Image(Fl_Image *i, // I - Image to tile // 'Fl_Tiled_Image::copy()' - Copy and resize a tiled image... // -Fl_Image * // O - New image -Fl_Tiled_Image::copy(int W, // I - New width - int H) { // I - New height +Fl_Image * // O - New image +Fl_Tiled_Image::copy(int W, // I - New width + int H) const { // I - New height return new Fl_Tiled_Image(image_, W, H); } |
