Name

MT_ENGINE —

Synopsis

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;

Structure Members

toolkit

points to MT_TOOLKIT structure which is used to calling the mt_* functions

library

points to MetaTheme library instance which this engine uses

refcount

reference counter

name

the name of theme engine

data

points to internal data of theme engine

config

themerc configuration file

palette

palette

metric

metrics

metric_size

size metrics

font

font family

font_size

font size

dlhandle

handle obtained from dlopen()

realized

this is optional and used only in some toolkit backends in their own way

init, exit, realize, draw_widget, draw_string

theme engine's functions (see their description)