summaryrefslogtreecommitdiff
path: root/fluid/Fluid_Image.h
diff options
context:
space:
mode:
authorMichael R Sweet <michael.r.sweet@gmail.com>1998-10-06 18:21:25 +0000
committerMichael R Sweet <michael.r.sweet@gmail.com>1998-10-06 18:21:25 +0000
commitf9039b2ae21988783feae9b362818e7923e82d14 (patch)
tree6d6fe3679d73448758f9794e7d4d4f6b22a4adad /fluid/Fluid_Image.h
parent67e89232f9ba067825a158734a09e0fa21aacbe3 (diff)
Initial revision
git-svn-id: file:///fltk/svn/fltk/trunk@2 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Diffstat (limited to 'fluid/Fluid_Image.h')
-rw-r--r--fluid/Fluid_Image.h28
1 files changed, 28 insertions, 0 deletions
diff --git a/fluid/Fluid_Image.h b/fluid/Fluid_Image.h
new file mode 100644
index 000000000..fdc7937bc
--- /dev/null
+++ b/fluid/Fluid_Image.h
@@ -0,0 +1,28 @@
+// Fluid_Image.H
+
+// This class stores the image labels for widgets in fluid. This is
+// not a class in fltk itself, and this will produce different types of
+// code depending on what the image type is. There are private subclasses
+// in Fluid_Image.C for each type of image format. Right now only xpm
+// files are supported.
+
+class Fluid_Image {
+ const char *name_;
+ int refcount;
+protected:
+ Fluid_Image(const char *name); // no public constructor
+ virtual ~Fluid_Image(); // no public destructor
+public:
+ int written;
+ static Fluid_Image* find(const char *);
+ void decrement(); // reference counting & automatic free
+ void increment();
+ virtual void label(Fl_Widget *) = 0; // set the label of this widget
+ virtual void write_static() = 0;
+ virtual void write_code() = 0;
+ const char *name() const {return name_;}
+};
+
+// pop up file chooser and return a legal image selected by user,
+// or zero for any errors:
+Fluid_Image *ui_find_image(const char *);