diff options
| author | Matthias Melcher <github@matthiasm.com> | 2025-03-07 16:34:35 +0100 |
|---|---|---|
| committer | Matthias Melcher <github@matthiasm.com> | 2025-03-07 16:34:48 +0100 |
| commit | 1985aefc0e502048f92b91beef87c0dfbe669fed (patch) | |
| tree | af62874def4590e437a47784b4428d975ceb262f /fluid/app/Fluid_Image.h | |
| parent | 42a04c064d4b31c3a85210311f3ada163c406a25 (diff) | |
Restructuring Fluid source files.
Diffstat (limited to 'fluid/app/Fluid_Image.h')
| -rw-r--r-- | fluid/app/Fluid_Image.h | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/fluid/app/Fluid_Image.h b/fluid/app/Fluid_Image.h new file mode 100644 index 000000000..e3b5faaac --- /dev/null +++ b/fluid/app/Fluid_Image.h @@ -0,0 +1,60 @@ +// +// Image header file for the Fast Light Tool Kit (FLTK). +// +// This class stores the image labels for widgets in fluid. This is +// not a class in FLTK itself, and will produce different types of +// code depending on what the image type is. +// +// Copyright 1998-2010 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 +// file is missing or damaged, see the license at: +// +// https://www.fltk.org/COPYING.php +// +// Please see the following page on how to report bugs and issues: +// +// https://www.fltk.org/bugs.php +// + +#ifndef FLUID_IMAGE_H +#define FLUID_IMAGE_H + +#include "io/code.h" + +#include <FL/Fl_Shared_Image.H> + +class Fluid_Image { + bool is_animated_gif_; + const char *name_; + int refcount; + Fl_Shared_Image *img; + const char *function_name_; +protected: + Fluid_Image(const char *name); // no public constructor + ~Fluid_Image(); // no public destructor + size_t write_static_binary(Fd_Code_Writer& f, const char* fmt); + size_t write_static_text(Fd_Code_Writer& f, const char* fmt); + void write_static_rgb(Fd_Code_Writer& f, const char* idata_name); +public: + int written; + static Fluid_Image* find(const char *); + void decrement(); // reference counting & automatic free + void increment(); + void image(Fl_Widget *); // set the image of this widget + void deimage(Fl_Widget *); // set the deimage of this widget + void write_static(Fd_Code_Writer& f, int compressed); + void write_initializer(Fd_Code_Writer& f, const char *type_name, const char *format, ...); + void write_code(Fd_Code_Writer& f, int bind, const char *var, int inactive = 0); + void write_inline(Fd_Code_Writer& f, int inactive = 0); + void write_file_error(Fd_Code_Writer& f, const char *fmt); + 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 *); +extern const char *ui_find_image_name; + +#endif |
