Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members

FX::FXIconSource Class Reference

An icon source is a class that loads an icon of any type. More...

#include <FXIconSource.h>

Inheritance diagram for FX::FXIconSource:
FX::FXObject

Public Member Functions

virtual FXIconiconFromType (FXApp *app, const FXString &type) const
 Determine icon type from extension string, return icon of that type. More...
 
virtual FXIconiconFromStream (FXApp *app, FXStream &store) const
 Determine icon type from header bytes in stream, return icon of that type. More...
 
virtual FXIconloadIconFile (FXApp *app, const FXString &filename, const FXString &type=FXString::null) const
 Load an icon from the file filename. More...
 
virtual FXIconloadIconData (FXApp *app, const FXuchar *pixels, const FXString &type=FXString::null) const
 Load an icon of a given type (e.g. More...
 
virtual FXIconloadIconStream (FXApp *app, FXStream &store, const FXString &type=FXString::null) const
 Load an icon of a given type (e.g. More...
 
virtual FXImageimageFromType (FXApp *app, const FXString &type) const
 Determine image type from extension string, return image of that type. More...
 
virtual FXImageimageFromStream (FXApp *app, FXStream &store) const
 Determine image type from header bytes in stream, return image of that type. More...
 
virtual FXImageloadImageFile (FXApp *app, const FXString &filename, const FXString &type=FXString::null) const
 Load an image from the file filename. More...
 
virtual FXImageloadImageData (FXApp *app, const FXuchar *pixels, const FXString &type=FXString::null) const
 Load an image of a given type (e.g. More...
 
virtual FXImageloadImageStream (FXApp *app, FXStream &store, const FXString &type=FXString::null) const
 Load an image of a given type (e.g. More...
 
virtual FXIconloadScaledIconFile (FXApp *app, const FXString &filename, FXint size=32, FXint qual=0, const FXString &type=FXString::null) const
 Load an icon from filename and scale it such that its dimensions does not exceed given size. More...
 
virtual FXIconloadScaledIconData (FXApp *app, const FXuchar *pixels, FXint size=32, FXint qual=0, const FXString &type=FXString::null) const
 Load an icon from pixels and scale it such that its dimensions does not exceed given size.
 
virtual FXIconloadScaledIconStream (FXApp *app, FXStream &store, FXint size=32, FXint qual=0, const FXString &type=FXString::null) const
 Load icon from stream and scale it such that its dimensions does not exceed given size.
 
virtual FXImageloadScaledImageFile (FXApp *app, const FXString &filename, FXint size=32, FXint qual=0, const FXString &type=FXString::null) const
 Load image from filename and scale it such that its dimensions does not exceed given size. More...
 
virtual FXImageloadScaledImageData (FXApp *app, const FXuchar *pixels, FXint size=32, FXint qual=0, const FXString &type=FXString::null) const
 Load image and scale it such that its dimensions does not exceed given size.
 
virtual FXImageloadScaledImageStream (FXApp *app, FXStream &store, FXint size=32, FXint qual=0, const FXString &type=FXString::null) const
 Load image and scale it such that its dimensions does not exceed given size.
 
- Public Member Functions inherited from FX::FXObject
const FXchar * getClassName () const
 Get class name of some object.
 
FXbool isMemberOf (const FXMetaClass *metaclass) const
 Check if object is member of metaclass.
 
virtual long tryHandle (FXObject *sender, FXSelector sel, void *ptr)
 Try handle message safely, catching certain exceptions.
 
virtual long onDefault (FXObject *, FXSelector, void *)
 Called for unhandled messages.
 
virtual void save (FXStream &store) const
 Save object to stream.
 
virtual void load (FXStream &store)
 Load object from stream.
 
virtual ~FXObject ()
 Virtual destructor.
 

Static Public Attributes

static FXIconSource defaultIconSource
 Default icon source provides icons and images for all types built into the FOX library at compile time.
 

Detailed Description

An icon source is a class that loads an icon of any type.

It exists purely for convenience, to make loading icons simpler by concentrating the knowledge of the supported icon formats into a single place. Needless to say, this class is subclassable, allowing users to add additional icon types and make them available to all widgets which deal with icons. When icons are loaded, they are NOT created (realized) yet; this allows users to manipulate the pixel data prior to realizing the icons. Image/icon formats can be determined by file extension type, or by their contents. The latter method may be less reliable for some types of file formats which don't have well-defined file-header signatures. File signature recognition is always attempted when file extension method fails, as a fallback method.

Member Function Documentation

◆ iconFromStream()

virtual FXIcon* FX::FXIconSource::iconFromStream ( FXApp app,
FXStream store 
) const
virtual

Determine icon type from header bytes in stream, return icon of that type.

Rewind the stream to the start. Return NULL if no match.

◆ iconFromType()

virtual FXIcon* FX::FXIconSource::iconFromType ( FXApp app,
const FXString type 
) const
virtual

Determine icon type from extension string, return icon of that type.

Return NULL if no match.

◆ imageFromStream()

virtual FXImage* FX::FXIconSource::imageFromStream ( FXApp app,
FXStream store 
) const
virtual

Determine image type from header bytes in stream, return image of that type.

Rewind the stream to the start. Return NULL if no match.

◆ imageFromType()

virtual FXImage* FX::FXIconSource::imageFromType ( FXApp app,
const FXString type 
) const
virtual

Determine image type from extension string, return image of that type.

Return NULL if no match.

◆ loadIconData()

virtual FXIcon* FX::FXIconSource::loadIconData ( FXApp app,
const FXuchar *  pixels,
const FXString type = FXString::null 
) const
virtual

Load an icon of a given type (e.g.

"gif") from reswrapped data. Returns NULL if there's some error loading the icon. [The optional parameter is actually mandatory at the time of this writing; future versions will attempt to inspect the first few bytes of the stream to divine the icon format if the parameter is omitted].

◆ loadIconFile()

virtual FXIcon* FX::FXIconSource::loadIconFile ( FXApp app,
const FXString filename,
const FXString type = FXString::null 
) const
virtual

Load an icon from the file filename.

By default, the file extension is stripped and used as the icon type; if an explicit icon type is forced, then that type is used and the extension is ignored. For example, loadIcon("icon","gif") will try to load a CompuServe GIF file, since the filename does not give any clue as to the type of the icon.

◆ loadIconStream()

virtual FXIcon* FX::FXIconSource::loadIconStream ( FXApp app,
FXStream store,
const FXString type = FXString::null 
) const
virtual

Load an icon of a given type (e.g.

"gif") from an already open stream. Returns NULL if there's some error loading the icon. [The optional parameter is actually mandatory at the time of this writing; future versions will attempt to inspect the first few bytes of the stream to divine the icon format if the parameter is omitted].

◆ loadImageData()

virtual FXImage* FX::FXIconSource::loadImageData ( FXApp app,
const FXuchar *  pixels,
const FXString type = FXString::null 
) const
virtual

Load an image of a given type (e.g.

"gif") from reswrapped data. Returns NULL if there's some error loading the icon. [The optional parameter is actually mandatory at the time of this writing; future versions will attempt to inspect the first few bytes of the stream to divine the icon format if the parameter is omitted].

◆ loadImageFile()

virtual FXImage* FX::FXIconSource::loadImageFile ( FXApp app,
const FXString filename,
const FXString type = FXString::null 
) const
virtual

Load an image from the file filename.

By default, the file extension is stripped and used as the image type; if an explicit image type is forced, then that type is used and the extension is ignored. For example, loadImage("image","gif") will try to load a CompuServe GIF file, since the filename does not give any clue as to the type of the image.

◆ loadImageStream()

virtual FXImage* FX::FXIconSource::loadImageStream ( FXApp app,
FXStream store,
const FXString type = FXString::null 
) const
virtual

Load an image of a given type (e.g.

"gif") from an already open stream. Returns NULL if there's some error loading the image. [The optional parameter is actually mandatory at the time of this writing; future versions will attempt to inspect the first few bytes of the stream to divine the image format if the parameter is omitted].

◆ loadScaledIconFile()

virtual FXIcon* FX::FXIconSource::loadScaledIconFile ( FXApp app,
const FXString filename,
FXint  size = 32,
FXint  qual = 0,
const FXString type = FXString::null 
) const
virtual

Load an icon from filename and scale it such that its dimensions does not exceed given size.

The icon type is determined from the filename extension unless explicitly forced.

◆ loadScaledImageFile()

virtual FXImage* FX::FXIconSource::loadScaledImageFile ( FXApp app,
const FXString filename,
FXint  size = 32,
FXint  qual = 0,
const FXString type = FXString::null 
) const
virtual

Load image from filename and scale it such that its dimensions does not exceed given size.

The image type is determined from the filename extension unless explicitly forced.


The documentation for this class was generated from the following file:

Copyright © 1997-2022 Jeroen van der Zijp