#ifndef __GUIOBJECT_H #define __GUIOBJECT_H #include #include #include class ifc_window; class ScriptObject; // scriptobj.h class GuiObject; // this file class RootObject; // rootobj.h class svc_xuiObject; // studio/services/svc_xuiobject.h class GuiStatusCallback; class AppCmds; class CfgItem; class FindObjectCallback; class Group; class Layout; class GuiObject : public Dispatchable { public: ifc_window *guiobject_getRootWnd(); void guiobject_setRootWnd(ifc_window *w); void guiobject_onInit(); void guiobject_getGuiPosition(int *x, int *y, int *w, int *h, int *rx, int *ry, int *rw, int *rh); void guiobject_setGuiPosition(int *x, int *y, int *w, int *h, int *rx, int *ry, int *rw, int *rh); int guiobject_getAnchoragePosition(int *x1, int *x2, int *y1, int *y2, int *anchor); // returns anchor invalidation flag void guiobject_setAnchoragePosition(int *x1, int *x2, int *y1, int *y2, int *anchor); void guiobject_validateAnchorage(); // clears up anchor invalidation flag void guiobject_setParentGroup(Group *l); ScriptObject *guiobject_getScriptObject(); RootObject *guiobject_getRootObject(); Group *guiobject_getParentGroup(); GuiObject *guiobject_getParent(); Layout *guiobject_getParentLayout(); int guiobject_wantAutoContextMenu(); void guiobject_setId(const wchar_t *id); const wchar_t *guiobject_getId(); void guiobject_setTargetX(int tx); void guiobject_setTargetY(int ty); void guiobject_setTargetW(int tw); void guiobject_setTargetH(int th); void guiobject_setTargetA(int th); void guiobject_setTargetSpeed(float s); void guiobject_gotoTarget(void); void guiobject_cancelTarget(); void guiobject_reverseTarget(int reverse); int guiobject_getAutoWidth(); int guiobject_getAutoHeight(); int guiobject_movingToTarget(); void guiobject_bringToFront(); void guiobject_bringToBack(); void guiobject_bringAbove(GuiObject *o); void guiobject_bringBelow(GuiObject *o); void guiobject_setClickThrough(int ct); int guiobject_isClickThrough(); void guiobject_setAutoSysMetricsX(int a); void guiobject_setAutoSysMetricsY(int a); void guiobject_setAutoSysMetricsW(int a); void guiobject_setAutoSysMetricsH(int a); int guiobject_getAutoSysMetricsX(); int guiobject_getAutoSysMetricsY(); int guiobject_getAutoSysMetricsW(); int guiobject_getAutoSysMetricsH(); void guiobject_setRegionOp(int op); int guiobject_getRegionOp(); void guiobject_setRectRgn(int rrgn); int guiobject_isRectRgn(); void guiobject_setMover(int mover); int guiobject_getMover(); FOURCC guiobject_getDropTarget(); void guiobject_setDropTarget(const wchar_t *target); void guiobject_onLeftButtonDown(int x, int y); void guiobject_onLeftButtonUp(int x, int y); void guiobject_onRightButtonDown(int x, int y); void guiobject_onRightButtonUp(int x, int y); void guiobject_onLeftButtonDblClk(int x, int y); void guiobject_onRightButtonDblClk(int x, int y); void guiobject_onMouseMove(int x, int y); int guiobject_onMouseWheelUp(int click, int lines); // Need to return 1 if handled int guiobject_onMouseWheelDown(int click, int lines); // Need to return 1 if handled void guiobject_onEnterArea(); void guiobject_onLeaveArea(); void guiobject_onCancelCapture(); void guiobject_setEnabled(int en); void guiobject_onEnable(int en); void guiobject_onResize(int x, int y, int w, int h); void guiobject_onSetVisible(int v); void guiobject_onTargetReached(); void guiobject_setAlpha(int a); int guiobject_getAlpha(); void guiobject_setActiveAlpha(int a); int guiobject_getActiveAlpha(); void guiobject_setInactiveAlpha(int a); int guiobject_getInactiveAlpha(); void guiobject_onStartup(); const wchar_t *guiobject_getXmlParam(const wchar_t *param); int guiobject_setXmlParam(const wchar_t *param, const wchar_t *value); int guiobject_setXmlParamById(int id, const wchar_t *value); GuiObject *guiobject_getTopParent(); #ifdef WASABI_COMPILE_WNDMGR int guiobject_runModal(); void guiobject_endModal(int retcode); void guiobject_popParentLayout(); void guiobject_registerStatusCB(GuiStatusCallback *cb); void guiobject_setStatusText(const wchar_t *text, int overlay=FALSE); void guiobject_addAppCmds(AppCmds *commands); void guiobject_removeAppCmds(AppCmds *commands); void guiobject_pushCompleted(int max=100); void guiobject_incCompleted(int add=1); void guiobject_setCompleted(int pos); void guiobject_popCompleted(); #endif void guiobject_onChar(wchar_t c); void guiobject_onKeyDown(int vkcode); void guiobject_onKeyUp(int vkcode); svc_xuiObject *guiobject_getXuiService(); void guiobject_setXuiService(svc_xuiObject *svc); waServiceFactory *guiobject_getXuiServiceFactory(); void guiobject_setXuiServiceFactory(waServiceFactory *fac); GuiObject *guiobject_findObject(const wchar_t *id); GuiObject *guiobject_findObjectXY(int x, int y); GuiObject *guiobject_findObjectByInterface(GUID interface_guid); GuiObject *guiobject_findObjectByCallback(FindObjectCallback *cb); GuiObject *guiobject_findObjectChain(FindObjectCallback *cb, GuiObject *caller=NULL); const wchar_t *guiobject_getName(); #ifdef WASABI_COMPILE_CONFIG void guiobject_setCfgAttrib(CfgItem *i, const wchar_t *attrib); CfgItem *guiobject_getCfgItem(); const wchar_t *guiobject_getCfgAttrib(); int guiobject_getCfgInt(); void guiobject_setCfgInt(int i); float guiobject_getCfgFloat(); void guiobject_setCfgFloat(float v); const wchar_t *guiobject_getCfgString(); void guiobject_setCfgString(const wchar_t *s); int guiobject_hasCfgAttrib(); #endif void guiobject_onGetFocus(); void guiobject_onKillFocus(); void guiobject_onAccelerator(const wchar_t *accel); int guiobject_onAction(const wchar_t *action, const wchar_t *param, int x, int y, intptr_t p1, intptr_t p2, void *data, size_t datalen, ifc_window *source); int guiobject_wantFocus(); void guiobject_setNoDoubleClick(int no); void guiobject_setNoLeftClick(int no); void guiobject_setNoRightClick(int no); void guiobject_setNoMouseMove(int no); void guiobject_setNoContextMenu(int no); void guiobject_setCursor(const wchar_t *c); void guiobject_setAppBar(int enabled); int guiobject_getAppBar(); int guiobject_wantTranslation(); int guiobject_dragEnter(ifc_window *sourceWnd); int guiobject_dragOver(int x, int y, ifc_window *sourceWnd); int guiobject_dragLeave(ifc_window *sourceWnd); enum { GUI_GETGUIPOSITION=10, GUI_GETANCHORAGEPOSITION=11, GUI_SETGUIPOSITION=20, GUI_SETANCHORAGEPOSITION=21, GUI_VALIDATEANCHORAGE=22, GUI_SETPARENTGROUP=30, GUI_GETPARENTGROUP=40, GUI_GETPARENT=45, GUI_GETPARENTLAYOUT=50, GUI_GETTOPPARENT=55, GUI_GETROOTWND=60, GUI_WANTAUTOCTXMENU=70, GUI_SETID=80, GUI_GETID=90, GUI_SETTARGETX=100, GUI_SETTARGETY=110, GUI_SETTARGETW=120, GUI_SETTARGETH=130, GUI_SETTARGETA=140, GUI_SETTARGETSPEED=150, GUI_GOTOTARGET=160, GUI_CANCELTARGET=161, GUI_REVERSETARGET=162, GUI_MOVINGTOTARGET=170, GUI_GETAUTOWIDTH=180, GUI_GETAUTOHEIGHT=190, GUI_BRINGTOFRONT=200, GUI_BRINGTOBACK=210, GUI_BRINGBELOW=220, GUI_BRINGABOVE=230, GUI_SETCLICKTHROUGH=240, GUI_ISCLICKTHROUGH=250, GUI_SETAUTOSMX=260, GUI_SETAUTOSMY=270, GUI_SETAUTOSMW=280, GUI_SETAUTOSMH=290, GUI_GETAUTOSMX=300, GUI_GETAUTOSMY=310, GUI_GETAUTOSMW=320, GUI_GETAUTOSMH=330, GUI_ONLEFTBUTTONDOWN=340, GUI_ONLEFTBUTTONUP=350, GUI_ONRIGHTBUTTONDOWN=360, GUI_ONRIGHTBUTTONUP=370, GUI_ONLEFTBUTTONDBLCLK=380, GUI_ONRIGHTBUTTONDBLCLK=390, GUI_ONMOUSEWHEELUP=394, GUI_ONMOUSEWHEELDOWN=396, GUI_ONMOUSEMOVE=400, GUI_ONENTERAREA=410, GUI_ONLEAVEAREA=420, GUI_ONENABLE=430, GUI_SETENABLED=431, GUI_ONRESIZE=440, GUI_ONSETVISIBLE=450, GUI_ONTARGETREACHED=460, GUI_SETALPHA=470, GUI_GETALPHA=480, GUI_SETACTIVEALPHA=490, GUI_GETACTIVEALPHA=500, GUI_SETINACTIVEALPHA=510, GUI_GETINACTIVEALPHA=520, GUI_ONSTARTUP=530, GUI_SETXMLPARAM=540, GUI_SETXMLPARAMBYID=541, GUI_GETXMLPARAM=542, // GUI_ONUNKNOWNXMLPARAM=545, retired GUI_SETROOTWND=550, GUI_GETSCRIPTOBJECT=560, GUI_GETROOTOBJECT=570, GUI_RUNMODAL=580, GUI_ENDMODAL=590, GUI_SETXUISVC=600, GUI_GETXUISVC=610, GUI_POPPARENTLAYOUT=620, GUI_SETREGIONOP=630, GUI_GETREGIONOP=640, GUI_SETRECTRGN=650, GUI_ISRECTRGN=660, GUI_REGISTERSTATUSCB=670, GUI_SETSTATUSTXT=680, GUI_ADDCTXTCMDS=690, GUI_REMCTXTCMDS=700, GUI_FINDOBJECT=800, GUI_FINDOBJECTBYGUID=801, GUI_FINDOBJECTBYCB=802, GUI_FINDOBJECTCHAIN=803, GUI_FINDOBJECTXY=804, GUI_GETNAME=805, GUI_GETMOVER=810, GUI_SETMOVER=820, GUI_GETDROPTARGET=830, GUI_SETDROPTARGET=840, GUI_ONCANCELCAPTURE=850, GUI_SETCFGATTRIB=860, GUI_GETCFGITEM=870, GUI_GETCFGATTRIB=880, GUI_SETCFGINT=890, GUI_GETCFGINT=900, GUI_GETCFGFLOAT=910, GUI_SETCFGFLOAT=920, GUI_SETCFGSTRING=930, GUI_GETCFGSTRING=940, GUI_HASATTRIB=950, GUI_PUSHCOMPLETED=1000, GUI_INCCOMPLETED=1010, GUI_SETCOMPLETED=1020, GUI_POPCOMPLETED=1030, GUI_ONCHAR=1100, GUI_ONKEYDOWN=1110, GUI_ONKEYUP=1120, GUI_ONGETFOCUS=1200, GUI_ONKILLFOCUS=1210, GUI_ONACCELERATOR=1300, GUI_ONACTION=1400, GUI_ONINIT=1500, GUI_WANTFOCUS=1600, GUI_SETNOMOUSEMOVE=1700, GUI_SETNOLEFTCLICK=1800, GUI_SETNORIGHTCLICK=1900, GUI_SETNODOUBLECLICK=2000, GUI_SETNOCONTEXTMENU=2100, GUI_SETCURSOR=2200, GUI_SETXUIFAC=2300, GUI_GETXUIFAC=2310, GUI_SETAPPBAR=2400, GUI_GETAPPBAR=2410, GUI_WANTTRANSLATION=2420, GUI_DRAGENTER = 2430, GUI_DRAGOVER = 2440, GUI_DRAGLEAVE = 2450, }; operator ScriptObject *() { return (this == NULL) ? NULL : guiobject_getScriptObject(); } operator ifc_window *() { return (this == NULL) ? NULL : guiobject_getRootWnd(); } }; inline void GuiObject::guiobject_getGuiPosition(int *x, int *y, int *w, int *h, int *rx, int *ry, int *rw, int *rh) { _voidcall(GUI_GETGUIPOSITION, x, y, w, h, rx, ry, rw, rh); } inline void GuiObject::guiobject_setGuiPosition(int *x, int *y, int *w, int *h, int *rx, int *ry, int *rw, int *rh) { _voidcall(GUI_SETGUIPOSITION, x, y, w, h, rx, ry, rw, rh); } inline int GuiObject::guiobject_getAnchoragePosition(int *x1, int *y1, int *x2, int *y2, int *anchor) { return _call(GUI_GETANCHORAGEPOSITION, 0, x1, y1, x2, y2, anchor); } inline void GuiObject::guiobject_setAnchoragePosition(int *x1, int *y1, int *x2, int *y2, int *anchor) { _voidcall(GUI_SETANCHORAGEPOSITION, x1, y1, x2, y2, anchor); } inline void GuiObject::guiobject_validateAnchorage() { _voidcall(GUI_VALIDATEANCHORAGE); } inline void GuiObject::guiobject_setParentGroup(Group *g) { _voidcall(GUI_SETPARENTGROUP, g); } inline Group *GuiObject::guiobject_getParentGroup() { return _call(GUI_GETPARENTGROUP, (Group *)NULL); } inline GuiObject *GuiObject::guiobject_getParent() { return _call(GUI_GETPARENT, (GuiObject *)NULL); } inline Layout *GuiObject::guiobject_getParentLayout() { return _call(GUI_GETPARENTLAYOUT, (Layout*)NULL); } inline GuiObject *GuiObject::guiobject_getTopParent() { return _call(GUI_GETTOPPARENT, (GuiObject *)NULL); } inline ifc_window *GuiObject::guiobject_getRootWnd() { return _call(GUI_GETROOTWND, (ifc_window *)NULL); } inline void GuiObject::guiobject_setRootWnd(ifc_window *r) { _voidcall(GUI_SETROOTWND, r); } inline int GuiObject::guiobject_wantAutoContextMenu() { return _call(GUI_WANTAUTOCTXMENU, 0); } inline void GuiObject::guiobject_setId(const wchar_t *id) { _voidcall(GUI_SETID, id); } inline const wchar_t *GuiObject::guiobject_getId() { return _call(GUI_GETID, (const wchar_t *)NULL); } inline void GuiObject::guiobject_setTargetX(int tx) { _voidcall(GUI_SETTARGETX, tx); } inline void GuiObject::guiobject_setTargetY(int ty) { _voidcall(GUI_SETTARGETY, ty); } inline void GuiObject::guiobject_setTargetW(int tw) { _voidcall(GUI_SETTARGETW, tw); } inline void GuiObject::guiobject_setTargetH(int th) { _voidcall(GUI_SETTARGETH, th); } inline void GuiObject::guiobject_setTargetA(int ta) { _voidcall(GUI_SETTARGETA, ta); } inline void GuiObject::guiobject_setTargetSpeed(float s) { _voidcall(GUI_SETTARGETSPEED, s); } inline void GuiObject::guiobject_gotoTarget(void) { _voidcall(GUI_GOTOTARGET); } inline void GuiObject::guiobject_cancelTarget() { _voidcall(GUI_CANCELTARGET); } inline int GuiObject::guiobject_getAutoWidth() { return _call(GUI_GETAUTOWIDTH, 0); } inline int GuiObject::guiobject_getAutoHeight() { return _call(GUI_GETAUTOHEIGHT, 0); } inline int GuiObject::guiobject_movingToTarget() { return _call(GUI_MOVINGTOTARGET, 0); } inline void GuiObject::guiobject_bringToFront() { _voidcall(GUI_BRINGTOFRONT); } inline void GuiObject::guiobject_bringToBack() { _voidcall(GUI_BRINGTOBACK); } inline void GuiObject::guiobject_bringAbove(GuiObject *o) { _voidcall(GUI_BRINGABOVE, o); } inline void GuiObject::guiobject_bringBelow(GuiObject *o) { _voidcall(GUI_BRINGBELOW, o); } inline void GuiObject::guiobject_setClickThrough(int ct) { _voidcall(GUI_SETCLICKTHROUGH, ct); } inline void GuiObject::guiobject_setRegionOp(int op) { _voidcall(GUI_SETREGIONOP, op); } inline int GuiObject::guiobject_getRegionOp() { return _call(GUI_GETREGIONOP, 0); } inline void GuiObject::guiobject_setRectRgn(int rrgn) { _voidcall(GUI_SETRECTRGN, rrgn); } inline int GuiObject::guiobject_isRectRgn() { return _call(GUI_ISRECTRGN, 0); } inline int GuiObject::guiobject_isClickThrough() { return _call(GUI_ISCLICKTHROUGH, 0); } inline void GuiObject::guiobject_setAutoSysMetricsX(int a) { _voidcall(GUI_SETAUTOSMX, a); } inline void GuiObject::guiobject_setAutoSysMetricsY(int a) { _voidcall(GUI_SETAUTOSMY, a); } inline void GuiObject::guiobject_setAutoSysMetricsW(int a) { _voidcall(GUI_SETAUTOSMW, a); } inline void GuiObject::guiobject_setAutoSysMetricsH(int a) { _voidcall(GUI_SETAUTOSMH, a); } inline int GuiObject::guiobject_getAutoSysMetricsX() { return _call(GUI_GETAUTOSMX, 0); } inline int GuiObject::guiobject_getAutoSysMetricsY() { return _call(GUI_GETAUTOSMY, 0); } inline int GuiObject::guiobject_getAutoSysMetricsW() { return _call(GUI_GETAUTOSMW, 0); } inline int GuiObject::guiobject_getAutoSysMetricsH() { return _call(GUI_GETAUTOSMH, 0); } inline void GuiObject::guiobject_onLeftButtonDown(int x, int y) { _voidcall(GUI_ONLEFTBUTTONDOWN, x, y); } inline void GuiObject::guiobject_onLeftButtonUp(int x, int y) { _voidcall(GUI_ONLEFTBUTTONUP, x, y); } inline void GuiObject::guiobject_onRightButtonDown(int x, int y) { _voidcall(GUI_ONRIGHTBUTTONDOWN, x, y); } inline void GuiObject::guiobject_onRightButtonUp(int x, int y) { _voidcall(GUI_ONRIGHTBUTTONUP, x, y); } inline void GuiObject::guiobject_onLeftButtonDblClk(int x, int y) { _voidcall(GUI_ONLEFTBUTTONDBLCLK, x, y); } inline void GuiObject::guiobject_onRightButtonDblClk(int x, int y) { _voidcall(GUI_ONRIGHTBUTTONDBLCLK, x, y); } inline int GuiObject::guiobject_onMouseWheelUp(int click, int lines) { return _call(GUI_ONMOUSEWHEELUP, 0, click, lines); } inline int GuiObject::guiobject_onMouseWheelDown(int click, int lines) { return _call(GUI_ONMOUSEWHEELDOWN, 0, click, lines); } inline void GuiObject::guiobject_onMouseMove(int x, int y) { _voidcall(GUI_ONMOUSEMOVE, x, y); } inline void GuiObject::guiobject_onEnterArea() { _voidcall(GUI_ONENTERAREA); } inline void GuiObject::guiobject_onLeaveArea() { _voidcall(GUI_ONLEAVEAREA); } inline void GuiObject::guiobject_onEnable(int en) { _voidcall(GUI_ONENABLE, en); } inline void GuiObject::guiobject_setEnabled(int en) { _voidcall(GUI_SETENABLED, en); } inline void GuiObject::guiobject_onResize(int x, int y, int w, int h) { _voidcall(GUI_ONRESIZE, x, y, w, h); } inline void GuiObject::guiobject_onSetVisible(int v) { _voidcall(GUI_ONSETVISIBLE, v); } inline void GuiObject::guiobject_onTargetReached() { _voidcall(GUI_ONTARGETREACHED); } inline void GuiObject::guiobject_setAlpha(int a) { _voidcall(GUI_SETALPHA, a); } inline int GuiObject::guiobject_getAlpha() { return _call(GUI_GETALPHA, 255); } inline void GuiObject::guiobject_setActiveAlpha(int a) { _voidcall(GUI_SETACTIVEALPHA, a); } inline int GuiObject::guiobject_getActiveAlpha() { return _call(GUI_GETACTIVEALPHA, 255); } inline void GuiObject::guiobject_setInactiveAlpha(int a) { _voidcall(GUI_SETINACTIVEALPHA, a); } inline int GuiObject::guiobject_getInactiveAlpha() { return _call(GUI_GETINACTIVEALPHA, 255); } inline void GuiObject::guiobject_onStartup() { _voidcall(GUI_ONSTARTUP); } inline int GuiObject::guiobject_setXmlParam(const wchar_t *param, const wchar_t *value) { return _call(GUI_SETXMLPARAM, 0, param, value); } inline int GuiObject::guiobject_setXmlParamById(int id, const wchar_t *value) { return _call(GUI_SETXMLPARAMBYID, 0, id, value); } inline const wchar_t *GuiObject::guiobject_getXmlParam(const wchar_t *param) { return _call(GUI_GETXMLPARAM, (const wchar_t *)NULL, param); } inline ScriptObject *GuiObject::guiobject_getScriptObject() { return _call(GUI_GETSCRIPTOBJECT, (ScriptObject *)NULL); } inline RootObject *GuiObject::guiobject_getRootObject() { return _call(GUI_GETROOTOBJECT, (RootObject *)NULL); } #ifdef WASABI_COMPILE_WNDMGR inline int GuiObject::guiobject_runModal() { return _call(GUI_RUNMODAL, 0); } inline void GuiObject::guiobject_endModal(int retcode) { _voidcall(GUI_ENDMODAL, retcode); } #endif inline svc_xuiObject *GuiObject::guiobject_getXuiService() { return _call(GUI_GETXUISVC, (svc_xuiObject *)NULL); } inline void GuiObject::guiobject_setXuiService(svc_xuiObject *svc) { _voidcall(GUI_SETXUISVC, svc); } inline waServiceFactory *GuiObject::guiobject_getXuiServiceFactory() { return _call(GUI_GETXUIFAC, (waServiceFactory*)NULL); } inline void GuiObject::guiobject_setXuiServiceFactory(waServiceFactory *fac) { _voidcall(GUI_SETXUIFAC, fac); } #ifdef WASABI_COMPILE_WNDMGR inline void GuiObject::guiobject_popParentLayout() { _voidcall(GUI_POPPARENTLAYOUT); } inline void GuiObject::guiobject_setStatusText(const wchar_t *txt, int overlay) { _voidcall(GUI_SETSTATUSTXT, txt, overlay); } inline void GuiObject::guiobject_addAppCmds(AppCmds *commands) { _voidcall(GUI_ADDCTXTCMDS, commands); } inline void GuiObject::guiobject_removeAppCmds(AppCmds *commands) { _voidcall(GUI_REMCTXTCMDS, commands); } inline void GuiObject::guiobject_pushCompleted(int max) { _voidcall(GUI_PUSHCOMPLETED, max); } inline void GuiObject::guiobject_incCompleted(int add) { _voidcall(GUI_INCCOMPLETED, add); } inline void GuiObject::guiobject_setCompleted(int pos) { _voidcall(GUI_SETCOMPLETED, pos); } inline void GuiObject::guiobject_popCompleted() { _voidcall(GUI_POPCOMPLETED); } inline void GuiObject::guiobject_registerStatusCB(GuiStatusCallback *callback) { _voidcall(GUI_REGISTERSTATUSCB, callback); } #endif inline GuiObject *GuiObject::guiobject_findObject(const wchar_t *id) { return _call(GUI_FINDOBJECT, (GuiObject *)NULL, id); } inline GuiObject *GuiObject::guiobject_findObjectXY(int x, int y) { return _call(GUI_FINDOBJECTXY, (GuiObject *)NULL, x, y); } inline GuiObject *GuiObject::guiobject_findObjectByInterface(GUID interface_guid) { return _call(GUI_FINDOBJECTBYGUID, (GuiObject *)NULL, interface_guid); } inline GuiObject *GuiObject::guiobject_findObjectByCallback(FindObjectCallback *cb) { return _call(GUI_FINDOBJECTBYCB, (GuiObject *)NULL, cb); } inline GuiObject *GuiObject::guiobject_findObjectChain(FindObjectCallback *cb, GuiObject *caller) { return _call(GUI_FINDOBJECTCHAIN, (GuiObject *)NULL, cb, caller); } inline const wchar_t *GuiObject::guiobject_getName() { return _call(GUI_GETNAME, (const wchar_t *)NULL); } inline int GuiObject::guiobject_getMover() { return _call(GUI_GETMOVER, 0); } inline void GuiObject::guiobject_setMover(int s) { _voidcall(GUI_SETMOVER, s); } inline FOURCC GuiObject::guiobject_getDropTarget() { return _call(GUI_GETDROPTARGET, (FOURCC)0); } inline void GuiObject::guiobject_setDropTarget(const wchar_t *target) { _voidcall(GUI_SETDROPTARGET, target); } inline void GuiObject::guiobject_onCancelCapture() { _voidcall(GUI_ONCANCELCAPTURE); } #ifdef WASABI_COMPILE_CONFIG inline void GuiObject::guiobject_setCfgAttrib(CfgItem *item, const wchar_t *attr) { _voidcall(GUI_SETCFGATTRIB, item, attr); } inline CfgItem *GuiObject::guiobject_getCfgItem() { return _call(GUI_GETCFGITEM, (CfgItem *)NULL); } inline const wchar_t *GuiObject::guiobject_getCfgAttrib() { return _call(GUI_GETCFGATTRIB, (const wchar_t *)NULL); } inline int GuiObject::guiobject_getCfgInt() { return _call(GUI_GETCFGINT, 0); } inline void GuiObject::guiobject_setCfgInt(int i) { _voidcall(GUI_SETCFGINT, i); } inline float GuiObject::guiobject_getCfgFloat() { return _call(GUI_GETCFGFLOAT, (float)0); } inline void GuiObject::guiobject_setCfgFloat(float v) { _voidcall(GUI_SETCFGFLOAT, v); } inline const wchar_t *GuiObject::guiobject_getCfgString() { return _call(GUI_GETCFGSTRING, (const wchar_t *)NULL); } inline void GuiObject::guiobject_setCfgString(const wchar_t *s) { _voidcall(GUI_SETCFGSTRING, s); } inline int GuiObject::guiobject_hasCfgAttrib() { return _call(GUI_HASATTRIB, 0); } #endif inline void GuiObject::guiobject_onChar(wchar_t c) { _voidcall(GUI_ONCHAR, c); } inline void GuiObject::guiobject_onKeyDown(int k) { _voidcall(GUI_ONKEYDOWN, k); } inline void GuiObject::guiobject_onKeyUp(int k) { _voidcall(GUI_ONKEYUP, k); } inline void GuiObject::guiobject_onGetFocus() { _voidcall(GUI_ONGETFOCUS); } inline void GuiObject::guiobject_onKillFocus() { _voidcall(GUI_ONKILLFOCUS); } inline void GuiObject::guiobject_onAccelerator(const wchar_t *accel) { _voidcall(GUI_ONACCELERATOR, accel); } inline int GuiObject::guiobject_onAction(const wchar_t *action, const wchar_t *param, int x, int y, intptr_t p1, intptr_t p2, void *data, size_t datalen, ifc_window *source) { return _call(GUI_ONACTION, 0, action, param, x, y, p1, p2, data, datalen, source); } inline void GuiObject::guiobject_onInit() { _voidcall(GUI_ONINIT); } inline int GuiObject::guiobject_wantFocus() { return _call(GUI_WANTFOCUS, 0); } inline void GuiObject::guiobject_setNoDoubleClick(int no) { _voidcall(GUI_SETNODOUBLECLICK, no); } inline void GuiObject::guiobject_setNoLeftClick(int no) { _voidcall(GUI_SETNOLEFTCLICK, no); } inline void GuiObject::guiobject_setNoRightClick(int no) { _voidcall(GUI_SETNORIGHTCLICK, no); } inline void GuiObject::guiobject_setNoMouseMove(int no) { _voidcall(GUI_SETNOMOUSEMOVE, no); } inline void GuiObject::guiobject_setNoContextMenu(int no) { _voidcall(GUI_SETNOCONTEXTMENU, no); } inline void GuiObject::guiobject_setCursor(const wchar_t *c) { _voidcall(GUI_SETCURSOR, c); } inline void GuiObject::guiobject_reverseTarget(int reverse) { _voidcall(GUI_REVERSETARGET, reverse); } inline void GuiObject::guiobject_setAppBar(int enabled) { _voidcall(GUI_SETAPPBAR, enabled); } inline int GuiObject::guiobject_getAppBar() { return _call(GUI_GETAPPBAR, 0); } inline int GuiObject::guiobject_wantTranslation() { return _call(GUI_WANTTRANSLATION, (int)1); } inline int GuiObject::guiobject_dragEnter(ifc_window *sourceWnd) { return _call(GUI_DRAGENTER, (int)1, sourceWnd); } inline int GuiObject::guiobject_dragOver(int x, int y, ifc_window *sourceWnd) { return _call(GUI_DRAGOVER, (int)1, sourceWnd, x, y); } inline int GuiObject::guiobject_dragLeave(ifc_window *sourceWnd) { return _call(GUI_DRAGLEAVE, (int)1, sourceWnd); } #endif