summaryrefslogtreecommitdiff
path: root/FL
diff options
context:
space:
mode:
Diffstat (limited to 'FL')
-rw-r--r--FL/Fl_Bitmap.H11
-rw-r--r--FL/Fl_GIF_Image.H42
-rw-r--r--FL/Fl_Image.H16
-rw-r--r--FL/Fl_JPEG_Image.H42
-rw-r--r--FL/Fl_PNG_Image.H42
-rw-r--r--FL/Fl_Pixmap.H19
6 files changed, 159 insertions, 13 deletions
diff --git a/FL/Fl_Bitmap.H b/FL/Fl_Bitmap.H
index 3d9ac5411..f4dc0bdf3 100644
--- a/FL/Fl_Bitmap.H
+++ b/FL/Fl_Bitmap.H
@@ -1,5 +1,5 @@
//
-// "$Id: Fl_Bitmap.H,v 1.5.2.3.2.2 2001/11/18 20:52:27 easysw Exp $"
+// "$Id: Fl_Bitmap.H,v 1.5.2.3.2.3 2001/11/19 01:06:45 easysw Exp $"
//
// Bitmap header file for the Fast Light Tool Kit (FLTK).
//
@@ -34,13 +34,16 @@ class FL_EXPORT Fl_Bitmap : public Fl_Image {
public:
const uchar *array;
+ int alloc_array; // Non-zero if data was allocated
Fl_Bitmask id; // for internal use
Fl_Bitmap(const uchar *bits, int W, int H) :
- Fl_Image(W,H), array(bits), id(0) {}
+ Fl_Image(W,H), array(bits), alloc_array(0), id(0) {}
Fl_Bitmap(const char *bits, int W, int H) :
- Fl_Image(W,H), array((const uchar *)bits), id(0) {}
+ Fl_Image(W,H), array((const uchar *)bits), alloc_array(0), id(0) {}
virtual ~Fl_Bitmap();
+ virtual Fl_Image *copy(int W, int H);
+ Fl_Image *copy() { return copy(w(), h()); }
virtual void draw(int X, int Y, int W, int H, int cx=0, int cy=0);
void draw(int X, int Y) {draw(X, Y, w(), h(), 0, 0);}
virtual void label(Fl_Widget*w);
@@ -50,5 +53,5 @@ class FL_EXPORT Fl_Bitmap : public Fl_Image {
#endif
//
-// End of "$Id: Fl_Bitmap.H,v 1.5.2.3.2.2 2001/11/18 20:52:27 easysw Exp $".
+// End of "$Id: Fl_Bitmap.H,v 1.5.2.3.2.3 2001/11/19 01:06:45 easysw Exp $".
//
diff --git a/FL/Fl_GIF_Image.H b/FL/Fl_GIF_Image.H
new file mode 100644
index 000000000..53d01262a
--- /dev/null
+++ b/FL/Fl_GIF_Image.H
@@ -0,0 +1,42 @@
+//
+// "$Id: Fl_GIF_Image.H,v 1.1.2.1 2001/11/19 01:06:45 easysw Exp $"
+//
+// GIF image header file for the Fast Light Tool Kit (FLTK).
+//
+// Copyright 1998-2001 by Bill Spitzak and others.
+//
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Library General Public
+// License as published by the Free Software Foundation; either
+// version 2 of the License, or (at your option) any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Library General Public License for more details.
+//
+// You should have received a copy of the GNU Library General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
+// USA.
+//
+// Please report all bugs and problems to "fltk-bugs@fltk.org".
+//
+
+#ifndef Fl_GIF_Image_H
+#define Fl_GIF_Image_H
+# include "Fl_Pixmap.H"
+
+class FL_EXPORT Fl_GIF_Image : public Fl_Pixmap {
+
+ public:
+
+ Fl_GIF_Image(const char* filename);
+ virtual ~Fl_GIF_Image();
+};
+
+#endif
+
+//
+// End of "$Id: Fl_GIF_Image.H,v 1.1.2.1 2001/11/19 01:06:45 easysw Exp $".
+//
diff --git a/FL/Fl_Image.H b/FL/Fl_Image.H
index e277eb34b..77de42652 100644
--- a/FL/Fl_Image.H
+++ b/FL/Fl_Image.H
@@ -1,5 +1,5 @@
//
-// "$Id: Fl_Image.H,v 1.5.2.3.2.2 2001/11/18 20:52:27 easysw Exp $"
+// "$Id: Fl_Image.H,v 1.5.2.3.2.3 2001/11/19 01:06:45 easysw Exp $"
//
// Image header file for the Fast Light Tool Kit (FLTK).
//
@@ -43,6 +43,11 @@ class FL_EXPORT Fl_Image {
Fl_Image(int W, int H) {w_ = W; h_ = H;}
virtual ~Fl_Image();
+ virtual Fl_Image *copy(int W, int H);
+ Fl_Image *copy() { return copy(w(), h()); }
+ virtual void color_average(Fl_Color c, float i);
+ void inactive() { color_average(FL_GRAY, .33f); }
+ virtual void desaturate();
virtual void label(Fl_Widget*w);
virtual void label(Fl_Menu_Item*m);
virtual void draw(int X, int Y, int W, int H, int cx=0, int cy=0);
@@ -53,13 +58,18 @@ class FL_EXPORT Fl_RGB_Image : public Fl_Image {
public:
const uchar *array;
+ int alloc_array; // Non-zero if array was allocated
int d, ld;
Fl_Offscreen id; // for internal use
Fl_Bitmask mask; // for internal use (mask bitmap)
Fl_RGB_Image(const uchar *bits, int W, int H, int D=3, int LD=0) :
- Fl_Image(W,H), array(bits), d(D), ld(LD), id(0) {}
+ Fl_Image(W,H), array(bits), alloc_array(0), d(D), ld(LD), id(0) {}
virtual ~Fl_RGB_Image();
+ virtual Fl_Image *copy(int W, int H);
+ Fl_Image *copy() { return copy(w(), h()); }
+ 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);
void draw(int X, int Y) {draw(X, Y, w(), h(), 0, 0);}
virtual void label(Fl_Widget*w);
@@ -69,5 +79,5 @@ class FL_EXPORT Fl_RGB_Image : public Fl_Image {
#endif
//
-// End of "$Id: Fl_Image.H,v 1.5.2.3.2.2 2001/11/18 20:52:27 easysw Exp $".
+// End of "$Id: Fl_Image.H,v 1.5.2.3.2.3 2001/11/19 01:06:45 easysw Exp $".
//
diff --git a/FL/Fl_JPEG_Image.H b/FL/Fl_JPEG_Image.H
new file mode 100644
index 000000000..ff53136f6
--- /dev/null
+++ b/FL/Fl_JPEG_Image.H
@@ -0,0 +1,42 @@
+//
+// "$Id: Fl_JPEG_Image.H,v 1.1.2.1 2001/11/19 01:06:45 easysw Exp $"
+//
+// JPEG image header file for the Fast Light Tool Kit (FLTK).
+//
+// Copyright 1998-2001 by Bill Spitzak and others.
+//
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Library General Public
+// License as published by the Free Software Foundation; either
+// version 2 of the License, or (at your option) any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Library General Public License for more details.
+//
+// You should have received a copy of the GNU Library General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
+// USA.
+//
+// Please report all bugs and problems to "fltk-bugs@fltk.org".
+//
+
+#ifndef Fl_JPEG_Image_H
+#define Fl_JPEG_Image_H
+# include "Fl_Image.H"
+
+class FL_EXPORT Fl_JPEG_Image : public Fl_RGB_Image {
+
+ public:
+
+ Fl_JPEG_Image(const char* filename);
+ virtual ~Fl_JPEG_Image();
+};
+
+#endif
+
+//
+// End of "$Id: Fl_JPEG_Image.H,v 1.1.2.1 2001/11/19 01:06:45 easysw Exp $".
+//
diff --git a/FL/Fl_PNG_Image.H b/FL/Fl_PNG_Image.H
new file mode 100644
index 000000000..f578c8549
--- /dev/null
+++ b/FL/Fl_PNG_Image.H
@@ -0,0 +1,42 @@
+//
+// "$Id: Fl_PNG_Image.H,v 1.1.2.1 2001/11/19 01:06:45 easysw Exp $"
+//
+// PNG image header file for the Fast Light Tool Kit (FLTK).
+//
+// Copyright 1998-2001 by Bill Spitzak and others.
+//
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Library General Public
+// License as published by the Free Software Foundation; either
+// version 2 of the License, or (at your option) any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Library General Public License for more details.
+//
+// You should have received a copy of the GNU Library General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
+// USA.
+//
+// Please report all bugs and problems to "fltk-bugs@fltk.org".
+//
+
+#ifndef Fl_PNG_Image_H
+#define Fl_PNG_Image_H
+# include "Fl_Image.H"
+
+class FL_EXPORT Fl_PNG_Image : public Fl_RGB_Image {
+
+ public:
+
+ Fl_PNG_Image(const char* filename);
+ virtual ~Fl_PNG_Image();
+};
+
+#endif
+
+//
+// End of "$Id: Fl_PNG_Image.H,v 1.1.2.1 2001/11/19 01:06:45 easysw Exp $".
+//
diff --git a/FL/Fl_Pixmap.H b/FL/Fl_Pixmap.H
index 9d448afa8..609753016 100644
--- a/FL/Fl_Pixmap.H
+++ b/FL/Fl_Pixmap.H
@@ -1,5 +1,5 @@
//
-// "$Id: Fl_Pixmap.H,v 1.6.2.8.2.3 2001/11/18 20:52:27 easysw Exp $"
+// "$Id: Fl_Pixmap.H,v 1.6.2.8.2.4 2001/11/19 01:06:45 easysw Exp $"
//
// Pixmap header file for the Fast Light Tool Kit (FLTK).
//
@@ -36,19 +36,26 @@ struct Fl_Menu_Item;
# endif // __sgi && !_COMPILER_VERSION
class FL_EXPORT Fl_Pixmap : public Fl_Image {
+ void copy_data();
+ void delete_data();
void measure();
public:
const char * const * data;
+ int alloc_data; // Non-zero if data was allocated
Fl_Offscreen id; // for internal use
Fl_Bitmask mask; // for internal use (mask bitmap)
- explicit Fl_Pixmap(char * const * d) : Fl_Image(-1,0), data((const char*const*)d), id(0),mask(0) {measure();}
- explicit Fl_Pixmap(uchar* const * d) : Fl_Image(-1,0), data((const char*const*)d), id(0),mask(0) {measure();}
- explicit Fl_Pixmap(const char * const * d) : Fl_Image(-1,0), data(d), id(0),mask(0) {measure();}
- explicit Fl_Pixmap(const uchar* const * d) : Fl_Image(-1,0), data((const char*const*)d), id(0),mask(0) {measure();}
+ explicit Fl_Pixmap(char * const * d) : Fl_Image(-1,0), data((const char*const*)d), alloc_data(0), id(0), mask(0) {measure();}
+ explicit Fl_Pixmap(uchar* const * d) : Fl_Image(-1,0), data((const char*const*)d), alloc_data(0), id(0), mask(0) {measure();}
+ explicit Fl_Pixmap(const char * const * d) : Fl_Image(-1,0), data(d), alloc_data(0), id(0), mask(0) {measure();}
+ explicit Fl_Pixmap(const uchar* const * d) : Fl_Image(-1,0), data((const char*const*)d), alloc_data(0), id(0), mask(0) {measure();}
virtual ~Fl_Pixmap();
+ virtual Fl_Image *copy(int W, int H);
+ Fl_Image *copy() { return copy(w(), h()); }
+ 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);
void draw(int X, int Y) {draw(X, Y, w(), h(), 0, 0);}
virtual void label(Fl_Widget*w);
@@ -58,5 +65,5 @@ class FL_EXPORT Fl_Pixmap : public Fl_Image {
#endif
//
-// End of "$Id: Fl_Pixmap.H,v 1.6.2.8.2.3 2001/11/18 20:52:27 easysw Exp $".
+// End of "$Id: Fl_Pixmap.H,v 1.6.2.8.2.4 2001/11/19 01:06:45 easysw Exp $".
//