diff options
Diffstat (limited to 'Src/Wasabi/api/skin/skinapi.h')
-rw-r--r-- | Src/Wasabi/api/skin/skinapi.h | 79 |
1 files changed, 79 insertions, 0 deletions
diff --git a/Src/Wasabi/api/skin/skinapi.h b/Src/Wasabi/api/skin/skinapi.h new file mode 100644 index 00000000..b4cedc99 --- /dev/null +++ b/Src/Wasabi/api/skin/skinapi.h @@ -0,0 +1,79 @@ +#ifndef __SKINAPI_H +#define __SKINAPI_H + +#include <api/skin/api_skin.h> +#include <bfc/string/StringW.h> +#include <api/skin/widgets.h> +#include <api/xml/xmlparams.h> + +class SkinApi : public api_skinI +{ + public: + + SkinApi(); + virtual ~SkinApi(); + virtual void preShutdown(); + + virtual ARGB32 skin_getColorElement(const wchar_t *type, const wchar_t **color_group = NULL); + virtual const ARGB32 *skin_getColorElementRef(const wchar_t *type, const wchar_t **color_group = NULL); + virtual const int *skin_getIterator(); + virtual void skin_switchSkin(const wchar_t *skin_name, const wchar_t *skin_path); + virtual void skin_unloadSkin(); + virtual const wchar_t *getSkinName(); + virtual const wchar_t *getSkinPath(); + virtual const wchar_t *getSkinsPath(); + virtual const wchar_t *getDefaultSkinPath(); + virtual ARGB32 *imgldr_requestSkinBitmap(const wchar_t *file, int *has_alpha, int *x, int *y, int *subw, int *subh, int *w, int *h, int cached); + virtual void imgldr_releaseSkinBitmap(ARGB32 *bmpbits); + virtual ARGB32 filterSkinColor(ARGB32 color, const wchar_t *elementid, const wchar_t *groupname); + virtual void reapplySkinFilters(); + virtual int colortheme_getNumColorSets(); + virtual const wchar_t *colortheme_enumColorSet(int n); + virtual int colortheme_getNumColorGroups(const wchar_t *colorset); + virtual const wchar_t *colortheme_enumColorGroupName(const wchar_t *colorset, int n); + virtual ColorThemeGroup *colortheme_enumColorGroup(int colorset, int n); + virtual ColorThemeGroup *colortheme_getColorGroup(const wchar_t *colorset, const wchar_t *group); + virtual void colortheme_setColorSet(const wchar_t *colorset); + virtual const wchar_t *colortheme_getColorSet(); + virtual void colortheme_newColorSet(const wchar_t *set); + virtual void colortheme_updateColorSet(const wchar_t *set); + virtual void colortheme_renameColorSet(const wchar_t *set, const wchar_t *newname); + virtual void colortheme_deleteColorSet(const wchar_t *set); + virtual int loadSkinFile(const wchar_t *xmlfile); + virtual int loadGroupDefData(const wchar_t *groupdef, SkinItem **lastgroupitem); + virtual void unloadSkinPart(int skinpartid); + virtual ifc_window *group_create(const wchar_t *groupid, int scripts_enabled=1); + virtual int group_exists(const wchar_t *groupid); +#ifdef WASABI_COMPILE_CONFIG + virtual ifc_window *group_create_cfg(const wchar_t *groupid, CfgItem *cfgitem, const wchar_t *attributename, int scripts_enabled=1); +#endif // WASABI_COMPILE_CONFIG +#ifdef WASABI_COMPILE_WNDMGR + virtual ifc_window *group_create_layout(const wchar_t *groupid, int scripts_enabled=1); +#endif //WASABI_COMPILE_WNDMGR + virtual int group_destroy(ifc_window *group); + virtual int parse(const wchar_t *str, const wchar_t *how); + virtual GuiObject *xui_new(const wchar_t *classname); + virtual void xui_delete(GuiObject *o); + virtual OSCURSOR cursor_request(const wchar_t *id); + + virtual int getNumGroupDefs(); + virtual SkinItem *enumGroupDef(int n); + virtual ifc_window *group_createBySkinItem(SkinItem *item, int scripts_enabled=1); + virtual SkinItem *getGroupDefAncestor(SkinItem *item); + virtual int groupdef_getNumObjects(SkinItem *item); + virtual SkinItem *groupdef_enumObject(SkinItem *groupitem, int n); + virtual void skin_setLockUI(int l) { if (l) lockui++; else if (lockui) lockui--; } + virtual int skin_getLockUI() { return lockui; } + virtual double skin_getVersion(); +#ifdef WASABI_COMPILE_IMGLDR + virtual ARGB32 skin_getBitmapColor(const wchar_t *id); +#endif + bool skin_isLoaded(); + + private: + + StringW skinspath; + int lockui; +}; + +#endif |