diff options
| -rw-r--r-- | FL/Fl_Image.H | 6 | ||||
| -rw-r--r-- | src/Fl_Image.cxx | 7 |
2 files changed, 11 insertions, 2 deletions
diff --git a/FL/Fl_Image.H b/FL/Fl_Image.H index 5dad09c01..f2e68bc1b 100644 --- a/FL/Fl_Image.H +++ b/FL/Fl_Image.H @@ -201,8 +201,12 @@ class FL_EXPORT Fl_RGB_Image : public Fl_Image { static size_t max_size_; public: + /** Points to the start of the object's data array + */ const uchar *array; - int alloc_array; // Non-zero if array was allocated + /** If non-zero, the object's data array is delete[]'d when deleting the object. + */ + int alloc_array; private: // These two variables are used to cache the image and mask for the main display graphics driver diff --git a/src/Fl_Image.cxx b/src/Fl_Image.cxx index 2fc389c86..25c3f0afe 100644 --- a/src/Fl_Image.cxx +++ b/src/Fl_Image.cxx @@ -245,6 +245,10 @@ int fl_convert_pixmap(const char*const* cdata, uchar* out, Fl_Color bg); \param[in] LD Line data size (default=0).<br> Line data is extra data that is included after each line of color image data and is normally not present. + + This constructor sets Fl_RGB_Image::alloc_array to 0. + To have the image object control the deallocation of the data array, + set alloc_array to non-zero after construction. \see Fl_Image::data(), Fl_Image::w(), Fl_Image::h(), Fl_Image::d(), Fl_Image::ld() */ Fl_RGB_Image::Fl_RGB_Image(const uchar *bits, int W, int H, int D, int LD) : @@ -263,7 +267,8 @@ Fl_RGB_Image::Fl_RGB_Image(const uchar *bits, int W, int H, int D, int LD) : The constructor creates a new RGBA image from the specified Fl_Pixmap. The RGBA image is built fully opaque except for the transparent area - of the pixmap that is assigned the \p bg color with full transparency + of the pixmap that is assigned the \p bg color with full transparency. + This constructor sets Fl_RGB_Image::alloc_array to 1. */ Fl_RGB_Image::Fl_RGB_Image(const Fl_Pixmap *pxm, Fl_Color bg): Fl_Image(pxm->w(), pxm->h(), 4), |
