wxArtProvider - Functions for wxArtProvider class
Please see following description for synopsis
wxArtProvider(3) Erlang Module Definition wxArtProvider(3)
NAME
wxArtProvider - Functions for wxArtProvider class
DESCRIPTION
wxArtProvider class is used to customize the look of wxWidgets applica-
tion.
When wxWidgets needs to display an icon or a bitmap (e.g. in the stan-
dard file dialog), it does not use a hard-coded resource but asks
wxArtProvider for it instead. This way users can plug in their own
wxArtProvider class and easily replace standard art with their own ver-
sion.
All that is needed is to derive a class from wxArtProvider, override
either its wxArtProvider::CreateBitmap() (not implemented in wx) and/or
its wxArtProvider::CreateIconBundle() (not implemented in wx) methods
and register the provider with wxArtProvider::Push() (not implemented
in wx):
If you need bitmap images (of the same artwork) that should be dis-
played at different sizes you should probably consider overriding
wxArtProvider::CreateIconBundle (not implemented in wx) and supplying
icon bundles that contain different bitmap sizes.
There's another way of taking advantage of this class: you can use it
in your code and use platform native icons as provided by getBitmap/2
or getIcon/2.
Identifying art resources
Every bitmap and icon bundle are known to wxArtProvider under an unique
ID that is used when requesting a resource from it. The ID is repre-
sented by the ?wxArtID type and can have one of these predefined values
(you can see bitmaps represented by these constants in the page_sam-
ples_artprov):
Additionally, any string recognized by custom art providers registered
using wxArtProvider::Push (not implemented in wx) may be used.
Note: When running under GTK+ 2, GTK+ stock item IDs (e.g. "gtk-cdrom")
may be used as well: For a list of the GTK+ stock items please refer to
the GTK+ documentation page. It is also possible to load icons from the
current icon theme by specifying their name (without extension and
directory components). Icon themes recognized by GTK+ follow the
freedesktop.org Icon Themes specification. Note that themes are not
guaranteed to contain all icons, so wxArtProvider may return ?wxNull-
Bitmap or ?wxNullIcon. The default theme is typically installed in
/usr/share/icons/hicolor.
Clients
The client is the entity that calls wxArtProvider's getBitmap/2 or
getIcon/2 function. It is represented by wxClientID type and can have
one of these values:
Client ID serve as a hint to wxArtProvider that is supposed to help it
to choose the best looking bitmap. For example it is often desirable to
use slightly different icons in menus and toolbars even though they
represent the same action (e.g. wxART_FILE_OPEN). Remember that this is
really only a hint for wxArtProvider - it is common that getBitmap/2
returns identical bitmap for different client values!
See: Examples, wxArtProvider, usage; stock ID list
wxWidgets docs: wxArtProvider
DATA TYPES
wxArtProvider() = wx:wx_object()
EXPORTS
getBitmap(Id) -> wxBitmap:wxBitmap()
Types:
Id = unicode:chardata()
getBitmap(Id, Options :: [Option]) -> wxBitmap:wxBitmap()
Types:
Id = unicode:chardata()
Option =
{client, unicode:chardata()} |
{size, {W :: integer(), H :: integer()}}
Query registered providers for bitmap with given ID.
Return: The bitmap if one of registered providers recognizes the
ID or wxNullBitmap otherwise.
getIcon(Id) -> wxIcon:wxIcon()
Types:
Id = unicode:chardata()
getIcon(Id, Options :: [Option]) -> wxIcon:wxIcon()
Types:
Id = unicode:chardata()
Option =
{client, unicode:chardata()} |
{size, {W :: integer(), H :: integer()}}
Same as getBitmap/2, but return a wxIcon object (or ?wxNullIcon
on failure).
wxWidgets team. wx 2.1.1 wxArtProvider(3)