MT_ENGINE —
typedef struct { MT_TOOLKIT *toolkit; MT_LIBRARY *library; int refcount; char *name; void *data; MT_CONFIG *config; MT_COLOR_PALETTE palette; int metric[MT_METRIC_MAX]; MT_POINT metric_size[MT_METRIC_SIZE_MAX]; char *font; int font_size; void *dlhandle; int realized; void (*init)(MT_ENGINE *engine, MT_TOOLKIT *mt); void (*exit)(MT_ENGINE *engine); void (*realize)(MT_ENGINE *engine); void (*draw_widget)(MT_ENGINE *engine, MT_WINDOW *win, MT_RECTANGLE *area, int type, int state, int x, int y, int width, int height, MT_WIDG void (*draw_string)(MT_ENGINE *engine, MT_WINDOW *win, int type, int state, MT_STRING *str); } MT_ENGINE;
points to MT_TOOLKIT structure which is used to calling the mt_*
functions
points to MetaTheme library instance which this engine uses
reference counter
the name of theme engine
points to internal data of theme engine
themerc configuration file
palette
metrics
size metrics
font family
font size
handle obtained from dlopen()
this is optional and used only in some toolkit backends in their own way
theme engine's functions (see their description)