Inherited by fltk::bmpImage, fltk::gifImage, fltk::jpegImage, fltk::pngImage, fltk::pnmImage, and fltk::xpmFileImage.
Public Types | |
| typedef SharedImage *(* | Handler )(const char *filename, uchar *header, int headerlen) |
Public Member Functions | |
| void | _draw (const Rectangle &) const |
| void | clear_cache () |
| void | reload (const uchar *datas=0) |
| int | remove () |
Static Public Member Functions | |
| static void | add_handler (Handler f) |
| static SharedImage * | get (SharedImage *(*create)(), const char *name, const uchar *datas=0) |
| static SharedImage * | get (const char *n) |
| static const char * | get_filename (const char *) |
| static void | reload (const char *name, const uchar *datas=0) |
| static int | remove (const char *name) |
| static void | remove_handler (Handler f) |
| static void | set_cache_size (unsigned l) |
| static void | set_root_directory (const char *d) |
Static Public Attributes | |
| static SharedImage * | first_image |
Protected Member Functions | |
| virtual bool | fetch ()=0 |
| void | find_less_used () |
| const char * | get_filename () const |
| void | remove_from_tree (SharedImage *&p, SharedImage *image) |
Static Protected Member Functions | |
| static void | check_mem_usage () |
| static SharedImage * | find (SharedImage *image, const char *name) |
| static void | insert (SharedImage *&p, SharedImage *image) |
Protected Attributes | |
| const uchar * | datas |
| SharedImage * | l1 |
| SharedImage * | l2 |
| const char * | name |
| int | refcount |
| unsigned int | used |
Static Protected Attributes | |
| static int | image_used |
| static unsigned | mem_usage_limit |
| static const char * | shared_image_root |
| typedef SharedImage*(* fltk::SharedImage::Handler)(const char *filename, uchar *header, int headerlen) |
a SharedImageHandler accepts handling a filename by analizing its extension and/or eventually its header, if it handles it it returns a non null pointer on the loaded concrete image fetch to the data/pixels unified buffer the image, return true if success. this method() does NOT draw the image, it only prepares a generic buffer and its info, this method should be used by all non-progresive-reading read() methods so that we avoid redondant code
| void SharedImage::add_handler | ( | SharedImage::Handler | f | ) | [static] |
adds a new handler for hanling a concrete type of image, typically one handler per image type should be registered
Referenced by fltk::register_images().
| void SharedImage::clear_cache | ( | ) |
Clear the cache for this image and all of its children in the binary tree
Calls destroy() on this and every less-recently-used SharedImage?.
References clear_cache(), and fltk::Image::destroy().
Referenced by clear_cache().
| SharedImage * SharedImage::get | ( | SharedImage *(*)() | create, | |
| const char * | name, | |||
| const uchar * | datas = 0 | |||
| ) | [static] |
Return an SharedImage, using the create function if an image with the given name doesn't already exist. Use datas, or read from the file with filename name if datas==0.
References datas, l1, l2, name, newstring(), refcount, and used.
| SharedImage * SharedImage::get | ( | const char * | n | ) | [static] |
get an image of this name and dimensions , can be already loaded or not
| const char * SharedImage::get_filename | ( | const char * | name | ) | [static] |
Expand a name relative to root to see what file it will read
Prepends the shared_image_root to the name. This is what get_filename() would return for a SharedImage with this name.
| const char * SharedImage::get_filename | ( | ) | const [protected] |
Return the filename obtained from the concatenation of the image root directory and this image name WARNING : the returned pointer will be available only until next call to get_filename
| void SharedImage::reload | ( | const uchar * | datas = 0 |
) |
Reload the image, useful if it has changed on disk, or if the datas / in memory have changed (you can also give a new pointer on datas)
References fltk::Image::refetch().
| int SharedImage::remove | ( | ) |
| void SharedImage::remove_handler | ( | SharedImage::Handler | f | ) | [static] |
removes a concrete handler
| void SharedImage::set_cache_size | ( | unsigned | l | ) | [static] |
Set the size of the cache (0 = unlimited is the default)
| void SharedImage::set_root_directory | ( | const char * | d | ) | [static] |
Set the position where images are looked for on disk
©2007 Bill Spitzak and others.