aboutsummaryrefslogtreecommitdiff
path: root/Src/Wasabi/api/script/objects/guiobj.h
diff options
context:
space:
mode:
authorJef <jef@targetspot.com>2024-09-24 08:54:57 -0400
committerJef <jef@targetspot.com>2024-09-24 08:54:57 -0400
commit20d28e80a5c861a9d5f449ea911ab75b4f37ad0d (patch)
tree12f17f78986871dd2cfb0a56e5e93b545c1ae0d0 /Src/Wasabi/api/script/objects/guiobj.h
parent537bcbc86291b32fc04ae4133ce4d7cac8ebe9a7 (diff)
downloadwinamp-20d28e80a5c861a9d5f449ea911ab75b4f37ad0d.tar.gz
Initial community commit
Diffstat (limited to 'Src/Wasabi/api/script/objects/guiobj.h')
-rw-r--r--Src/Wasabi/api/script/objects/guiobj.h423
1 files changed, 423 insertions, 0 deletions
diff --git a/Src/Wasabi/api/script/objects/guiobj.h b/Src/Wasabi/api/script/objects/guiobj.h
new file mode 100644
index 00000000..7997299d
--- /dev/null
+++ b/Src/Wasabi/api/script/objects/guiobj.h
@@ -0,0 +1,423 @@
+#ifndef __GUIOBJ_H
+#define __GUIOBJ_H
+
+#include <api/timer/timerclient.h>
+#include <api/wnd/api_window.h>
+#include <bfc/string/StringW.h>
+#include <bfc/depview.h>
+#include <api/skin/xmlobject.h>
+#include <api/script/objects/guiobjectx.h>
+#include <api/config/items/cfgitem.h>
+#include <api/wnd/wndclass/guiobjwnd.h>
+#include <api/script/objcontroller.h>
+
+class Layout;
+class FindObjectCallback;
+class ScriptObject;
+class SkinCursor;
+
+#ifndef _REDOCK_STRUCT_DEFINED
+#define _REDOCK_STRUCT_DEFINED
+typedef struct
+{
+ Layout *l;
+ RECT original_rect;
+}
+redock_struct;
+#endif
+
+class GuiObjectScriptController : public ScriptObjectControllerI
+{
+public:
+
+ virtual const wchar_t *getClassName();
+ virtual const wchar_t *getAncestorClassName();
+ virtual ScriptObjectController *getAncestorController();
+ virtual int getNumFunctions();
+ virtual const function_descriptor_struct *getExportedFunctions();
+ virtual GUID getClassGuid();
+ virtual ScriptObject *instantiate();
+ virtual void destroy(ScriptObject *o);
+ virtual void *encapsulate(ScriptObject *o);
+ virtual void deencapsulate(void *o);
+ virtual int getInstantiable();
+
+private:
+
+ static function_descriptor_struct exportedFunction[];
+
+};
+
+extern GuiObjectScriptController *guiController;
+
+#define GUIOBJECT_SCRIPTPARENT RootObject
+
+#define TARGET_FROZEN 0
+#define TARGET_RUNNING 1
+#define TARGETTIMER_ID 0x1879
+
+#define ANCHOR_NONE 0
+#define ANCHOR_LEFT 1
+#define ANCHOR_TOP 2
+#define ANCHOR_RIGHT 4
+#define ANCHOR_BOTTOM 8
+
+class GuiObjectI;
+
+class GuiObjectTimer : public TimerClientDI
+{
+public:
+ GuiObjectTimer() { obj = NULL; }
+ virtual ~GuiObjectTimer() { }
+
+public:
+ virtual void timerclient_timerCallback(int id);
+ virtual void setGuiObjectI(GuiObjectI *o) { obj = o; }
+
+private:
+ GuiObjectI *obj;
+};
+
+class GuiObjectI : public GuiObjectX, public DependentViewerTPtr<CfgItem>
+{
+public:
+ GuiObjectI(ScriptObject *o);
+ virtual ~GuiObjectI();
+
+ virtual ifc_window *guiobject_getRootWnd();
+ virtual void guiobject_setRootWnd(ifc_window *w);
+ virtual void guiobject_onInit();
+
+ virtual void guiobject_getGuiPosition(int *x, int *y, int *w, int *h, int *rx, int *ry, int *rw, int *rh);
+ virtual void guiobject_setGuiPosition(int *x, int *y, int *w, int *h, int *rx, int *ry, int *rw, int *rh);
+ virtual int guiobject_getAnchoragePosition(int *x1, int *y1, int *x2, int *y2, int *anchor);
+ virtual void guiobject_setAnchoragePosition(int *x1, int *y1, int *x2, int *y2, int *anchor);
+ virtual void guiobject_validateAnchorage();
+
+ virtual void guiobject_setParentGroup(Group *g);
+ virtual ScriptObject *guiobject_getScriptObject();
+ virtual RootObject *guiobject_getRootObject();
+ virtual Group *guiobject_getParentGroup();
+ virtual GuiObject *guiobject_getParent();
+ virtual void guiobject_setTabOrder(int a);
+
+ virtual void guiobject_setId(const wchar_t *id);
+ virtual const wchar_t *guiobject_getId();
+
+ virtual void guiobject_setTargetX(int tx);
+ virtual void guiobject_setTargetY(int ty);
+ virtual void guiobject_setTargetW(int tw);
+ virtual void guiobject_setTargetH(int th);
+ virtual void guiobject_setTargetA(int th);
+ virtual void guiobject_setTargetSpeed(float s);
+ virtual void guiobject_gotoTarget(void);
+ virtual void guiobject_cancelTarget();
+ virtual void guiobject_reverseTarget(int reverse);
+
+ virtual int guiobject_getAutoWidth();
+ virtual int guiobject_getAutoHeight();
+ virtual int guiobject_movingToTarget();
+
+ virtual void guiobject_bringToFront();
+ virtual void guiobject_bringToBack();
+ virtual void guiobject_bringAbove(GuiObject *o);
+ virtual void guiobject_bringBelow(GuiObject *o);
+
+ virtual void guiobject_setClickThrough(int ct);
+ virtual int guiobject_isClickThrough();
+
+ virtual void guiobject_setAutoSysMetricsX(int a);
+ virtual void guiobject_setAutoSysMetricsY(int a);
+ virtual void guiobject_setAutoSysMetricsW(int a);
+ virtual void guiobject_setAutoSysMetricsH(int a);
+ virtual int guiobject_getAutoSysMetricsX();
+ virtual int guiobject_getAutoSysMetricsY();
+ virtual int guiobject_getAutoSysMetricsW();
+ virtual int guiobject_getAutoSysMetricsH();
+
+ virtual int guiobject_getRegionOp();
+ virtual void guiobject_setRegionOp(int op);
+ virtual int guiobject_isRectRgn();
+ virtual void guiobject_setRectRgn(int rrgn);
+
+ virtual void guiobject_onLeftButtonDown(int x, int y);
+ virtual void guiobject_onLeftButtonUp(int x, int y);
+ virtual void guiobject_onRightButtonDown(int x, int y);
+ virtual void guiobject_onRightButtonUp(int x, int y);
+ virtual void guiobject_onLeftButtonDblClk(int x, int y);
+ virtual void guiobject_onRightButtonDblClk(int x, int y);
+ virtual int guiobject_onMouseWheelUp(int click, int lines);
+ virtual int guiobject_onMouseWheelDown(int click, int lines);
+ virtual void guiobject_onMouseMove(int x, int y);
+ virtual void guiobject_onEnterArea();
+ virtual void guiobject_onLeaveArea();
+ virtual void guiobject_onEnable(int en);
+ virtual void guiobject_setEnabled(int en);
+ virtual void guiobject_onResize(int x, int y, int w, int h);
+ virtual void guiobject_onSetVisible(int v);
+ virtual void guiobject_onTargetReached();
+ virtual void guiobject_setAlpha(int a);
+ virtual void guiobject_setActiveAlpha(int a);
+ virtual void guiobject_setInactiveAlpha(int a);
+ virtual int guiobject_getAlpha();
+ virtual int guiobject_getActiveAlpha();
+ virtual int guiobject_getInactiveAlpha();
+ virtual int guiobject_isActive();
+ virtual void guiobject_onStartup();
+ virtual int guiobject_setXmlParam(const wchar_t *param, const wchar_t *value);
+ virtual const wchar_t *guiobject_getXmlParam(const wchar_t *param);
+ virtual int guiobject_setXmlParamById(int id, const wchar_t *value);
+ virtual svc_xuiObject *guiobject_getXuiService();
+ virtual void guiobject_setXuiService(svc_xuiObject *svc);
+ virtual waServiceFactory *guiobject_getXuiServiceFactory();
+ virtual void guiobject_setXuiServiceFactory(waServiceFactory *fac);
+ virtual GuiObject *guiobject_getTopParent();
+ virtual Layout *guiobject_getParentLayout();
+ virtual int guiobject_runModal();
+ virtual void guiobject_endModal(int retcode);
+ virtual void guiobject_popParentLayout();
+ virtual void guiobject_registerStatusCB(GuiStatusCallback *cb);
+ virtual void guiobject_setStatusText(const wchar_t *txt, int overlay = FALSE);
+ virtual void guiobject_addAppCmds(AppCmds *commands);
+ virtual void guiobject_removeAppCmds(AppCmds *commands);
+ virtual void guiobject_pushCompleted(int max = 100);
+ virtual void guiobject_incCompleted(int add = 1);
+ virtual void guiobject_setCompleted(int pos);
+ virtual void guiobject_popCompleted();
+ virtual GuiObject *guiobject_findObject(const wchar_t *id);
+ virtual GuiObject *guiobject_findObjectXY(int x, int y); // in client coordinates relative to this object
+ virtual GuiObject *guiobject_findObjectByInterface(GUID interface_guid);
+ virtual GuiObject *guiobject_findObjectByCallback(FindObjectCallback *cb);
+ virtual void guiobject_setMover(int m);
+ virtual int guiobject_getMover();
+ virtual void guiobject_onCancelCapture();
+ virtual void guiobject_onChar(wchar_t c);
+ virtual void guiobject_onKeyDown(int vkcode);
+ virtual void guiobject_onKeyUp(int vkcode);
+
+ virtual FOURCC guiobject_getDropTarget();
+ virtual void guiobject_setDropTarget(const wchar_t *strval);
+
+ virtual void onTargetTimer();
+#ifdef USEAPPBAR
+ virtual int guiobject_getAppBar();
+ virtual void guiobject_setAppBar(int en);
+ virtual void setAppBar(const wchar_t *en);
+#endif
+
+ virtual void guiobject_setCfgAttrib(CfgItem *item, const wchar_t *name);
+
+ virtual int viewer_onEvent(CfgItem *item, int event, intptr_t param, void *ptr, size_t ptrlen);
+ virtual CfgItem *guiobject_getCfgItem();
+ const wchar_t *guiobject_getCfgAttrib();
+
+ virtual int guiobject_getCfgInt();
+ virtual void guiobject_setCfgInt(int i);
+ virtual float guiobject_getCfgFloat();
+ virtual void guiobject_setCfgFloat(float f);
+ virtual const wchar_t *guiobject_getCfgString();
+ virtual void guiobject_setCfgString(const wchar_t *s);
+ virtual int guiobject_hasCfgAttrib();
+
+ virtual const wchar_t *guiobject_getName();
+ virtual void guiobject_onAccelerator(const wchar_t *accel);
+ virtual 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);
+
+ virtual int guiobject_wantFocus();
+ virtual void guiobject_setNoDoubleClick(int no);
+ virtual void guiobject_setNoLeftClick(int no);
+ virtual void guiobject_setNoRightClick(int no);
+ virtual void guiobject_setNoMouseMove(int no);
+ virtual void guiobject_setNoContextMenu(int no);
+
+ virtual void guiobject_setCursor(const wchar_t *c);
+
+ virtual int guiobject_wantTranslation();
+
+ virtual int guiobject_dragEnter(ifc_window *sourceWnd);
+ virtual int guiobject_dragOver(int x, int y, ifc_window *sourceWnd);
+ virtual int guiobject_dragLeave(ifc_window *sourceWnd);
+
+private:
+ void setCfgAttr(const wchar_t *strvalue);
+ virtual void dataChanged();
+
+ void snapAdjust(ifc_window *w, RECT *r, int way);
+ void infoMenu(GuiObject *o, int x, int y);
+
+ int targetx, targety, targetw, targeth, targeta, targetspeed;
+ int start_time;
+ int targetstatus;
+
+ void startTargetTimer();
+ void stopTargetTimer();
+ void ensureTimerOk();
+
+ int autosysmetricsx, autosysmetricsy, autosysmetricsw, autosysmetricsh;
+
+ int startx, starty, startw, starth, starta;
+
+ int in_area;
+ StringW guiobject_id;
+ int clickthrough;
+ StringW autonotify;
+ ifc_window *my_root_wnd;
+ ScriptObject *my_script_object;
+ GuiObjectTimer timer;
+
+ int gui_x;
+ int gui_y;
+ int gui_w;
+ int gui_h;
+ int gui_rx;
+ int gui_ry;
+ int gui_rw;
+ int gui_rh;
+ int mover, moving;
+ FOURCC droptarget;
+ Group *p_group;
+ POINT anchor;
+ svc_xuiObject *xuisvc;
+ waServiceFactory *xuifac;
+ PtrList<StringW> notifylist;
+ int wantfocus;
+ int anchor_x1, anchor_y1, anchor_x2, anchor_y2, anchorage, anchorage_invalidated;
+ int reversetarget;
+ SkinCursor *cursor;
+ redock_struct redock;
+ int dodragcheck;
+ int m_lastnondocked_x, m_lastnondocked_y;
+#ifdef USEAPPBAR
+ int m_dock_side;
+ int m_initial_dock_side;
+#endif
+ StringW cfgattrname;
+ StringW cfgguid;
+ CfgItem *cfgitem;
+ int translate;
+};
+
+
+
+
+class GuiObject_ScriptMethods
+{
+public:
+
+ static scriptVar getId(SCRIPT_FUNCTION_PARAMS, ScriptObject *o);
+ static scriptVar show(SCRIPT_FUNCTION_PARAMS, ScriptObject *o);
+ static scriptVar hide(SCRIPT_FUNCTION_PARAMS, ScriptObject *o);
+ static scriptVar isvisible(SCRIPT_FUNCTION_PARAMS, ScriptObject *o);
+ static scriptVar getAlpha(SCRIPT_FUNCTION_PARAMS, ScriptObject *o);
+ static scriptVar setAlpha(SCRIPT_FUNCTION_PARAMS, ScriptObject *o, scriptVar a);
+ static scriptVar getActiveAlpha(SCRIPT_FUNCTION_PARAMS, ScriptObject *o);
+ static scriptVar setActiveAlpha(SCRIPT_FUNCTION_PARAMS, ScriptObject *o, scriptVar a);
+ static scriptVar getInactiveAlpha(SCRIPT_FUNCTION_PARAMS, ScriptObject *o);
+ static scriptVar setInactiveAlpha(SCRIPT_FUNCTION_PARAMS, ScriptObject *o, scriptVar a);
+ static scriptVar resize(SCRIPT_FUNCTION_PARAMS, ScriptObject *o, scriptVar x, scriptVar y, scriptVar w, scriptVar h);
+ static scriptVar onResize(SCRIPT_FUNCTION_PARAMS, ScriptObject *o, scriptVar x, scriptVar y, scriptVar w, scriptVar h);
+ static scriptVar init(SCRIPT_FUNCTION_PARAMS, ScriptObject *o, scriptVar parentGroup);
+ static scriptVar bringToFront(SCRIPT_FUNCTION_PARAMS, ScriptObject *o);
+ static scriptVar bringToBack(SCRIPT_FUNCTION_PARAMS, ScriptObject *o);
+ static scriptVar bringAbove(SCRIPT_FUNCTION_PARAMS, ScriptObject *o, scriptVar obj);
+ static scriptVar bringBelow(SCRIPT_FUNCTION_PARAMS, ScriptObject *o, scriptVar obj);
+ static scriptVar getIdVar(SCRIPT_FUNCTION_PARAMS, ScriptObject *o);
+ static scriptVar onLeftButtonDown(SCRIPT_FUNCTION_PARAMS, ScriptObject *o, scriptVar x, scriptVar y);
+ static scriptVar onLeftButtonUp(SCRIPT_FUNCTION_PARAMS, ScriptObject *o, scriptVar x, scriptVar y);
+ static scriptVar onRightButtonDown(SCRIPT_FUNCTION_PARAMS, ScriptObject *o, scriptVar x, scriptVar y);
+ static scriptVar onRightButtonUp(SCRIPT_FUNCTION_PARAMS, ScriptObject *o, scriptVar x, scriptVar y);
+ static scriptVar onRightButtonDblClk(SCRIPT_FUNCTION_PARAMS, ScriptObject *o, scriptVar x, scriptVar y);
+ static scriptVar onLeftButtonDblClk(SCRIPT_FUNCTION_PARAMS, ScriptObject *o, scriptVar x, scriptVar y);
+ static scriptVar onMouseWheelUp(SCRIPT_FUNCTION_PARAMS, ScriptObject *o, scriptVar clicked, scriptVar lines);
+ static scriptVar onMouseWheelDown(SCRIPT_FUNCTION_PARAMS, ScriptObject *o, scriptVar clicked, scriptVar lines);
+ static scriptVar onMouseMove(SCRIPT_FUNCTION_PARAMS, ScriptObject *o, scriptVar x, scriptVar y);
+ static scriptVar onEnterArea(SCRIPT_FUNCTION_PARAMS, ScriptObject *o);
+ static scriptVar onLeaveArea(SCRIPT_FUNCTION_PARAMS, ScriptObject *o);
+ static scriptVar onChar(SCRIPT_FUNCTION_PARAMS, ScriptObject *o, scriptVar c);
+ static scriptVar onKeyDown(SCRIPT_FUNCTION_PARAMS, ScriptObject *o, scriptVar c);
+ static scriptVar onKeyUp(SCRIPT_FUNCTION_PARAMS, ScriptObject *o, scriptVar c);
+ static scriptVar setEnabled(SCRIPT_FUNCTION_PARAMS, ScriptObject *o, scriptVar a);
+ static scriptVar getEnabled(SCRIPT_FUNCTION_PARAMS, ScriptObject *o);
+ static scriptVar onEnable(SCRIPT_FUNCTION_PARAMS, ScriptObject *o, scriptVar v);
+ static scriptVar isMouseOver(SCRIPT_FUNCTION_PARAMS, ScriptObject *o, scriptVar x, scriptVar y);
+ static scriptVar getLeft(SCRIPT_FUNCTION_PARAMS, ScriptObject *o);
+ static scriptVar getTop(SCRIPT_FUNCTION_PARAMS, ScriptObject *o);
+ static scriptVar getWidth(SCRIPT_FUNCTION_PARAMS, ScriptObject *o);
+ static scriptVar getHeight(SCRIPT_FUNCTION_PARAMS, ScriptObject *o);
+ static scriptVar setTargetX(SCRIPT_FUNCTION_PARAMS, ScriptObject *o, scriptVar a);
+ static scriptVar setTargetY(SCRIPT_FUNCTION_PARAMS, ScriptObject *o, scriptVar a);
+ static scriptVar setTargetW(SCRIPT_FUNCTION_PARAMS, ScriptObject *o, scriptVar a);
+ static scriptVar setTargetH(SCRIPT_FUNCTION_PARAMS, ScriptObject *o, scriptVar a);
+ static scriptVar setTargetA(SCRIPT_FUNCTION_PARAMS, ScriptObject *o, scriptVar a);
+ static scriptVar setTargetSpeed(SCRIPT_FUNCTION_PARAMS, ScriptObject *o, scriptVar a);
+ static scriptVar gotoTarget(SCRIPT_FUNCTION_PARAMS, ScriptObject *o);
+ static scriptVar onTargetReached(SCRIPT_FUNCTION_PARAMS, ScriptObject *o);
+ static scriptVar cancelTarget(SCRIPT_FUNCTION_PARAMS, ScriptObject *o);
+ static scriptVar reverseTarget(SCRIPT_FUNCTION_PARAMS, ScriptObject *o, scriptVar r);
+ static scriptVar movingToTarget(SCRIPT_FUNCTION_PARAMS, ScriptObject *o);
+ static scriptVar setXmlParam(SCRIPT_FUNCTION_PARAMS, ScriptObject *o, scriptVar param, scriptVar value);
+ static scriptVar getXmlParam(SCRIPT_FUNCTION_PARAMS, ScriptObject *o, scriptVar param);
+ static scriptVar onSetVisible(SCRIPT_FUNCTION_PARAMS, ScriptObject *o, scriptVar v);
+ static scriptVar onStartup(SCRIPT_FUNCTION_PARAMS, ScriptObject *o);
+ static scriptVar getGuiX(SCRIPT_FUNCTION_PARAMS, ScriptObject *o);
+ static scriptVar getGuiY(SCRIPT_FUNCTION_PARAMS, ScriptObject *o);
+ static scriptVar getGuiW(SCRIPT_FUNCTION_PARAMS, ScriptObject *o);
+ static scriptVar getGuiH(SCRIPT_FUNCTION_PARAMS, ScriptObject *o);
+ static scriptVar getGuiRelatX(SCRIPT_FUNCTION_PARAMS, ScriptObject *o);
+ static scriptVar getGuiRelatY(SCRIPT_FUNCTION_PARAMS, ScriptObject *o);
+ static scriptVar getGuiRelatW(SCRIPT_FUNCTION_PARAMS, ScriptObject *o);
+ static scriptVar getGuiRelatH(SCRIPT_FUNCTION_PARAMS, ScriptObject *o);
+ static scriptVar isActive(SCRIPT_FUNCTION_PARAMS, ScriptObject *o);
+ static scriptVar getParent(SCRIPT_FUNCTION_PARAMS, ScriptObject *o);
+ static scriptVar getTopParent(SCRIPT_FUNCTION_PARAMS, ScriptObject *o);
+ static scriptVar getParentLayout(SCRIPT_FUNCTION_PARAMS, ScriptObject *o);
+ static scriptVar runModal(SCRIPT_FUNCTION_PARAMS, ScriptObject *o);
+ static scriptVar endModal(SCRIPT_FUNCTION_PARAMS, ScriptObject *o, scriptVar retcode);
+ static scriptVar popParentLayout(SCRIPT_FUNCTION_PARAMS, ScriptObject *o);
+ static scriptVar setStatusText(SCRIPT_FUNCTION_PARAMS, ScriptObject *o, scriptVar text, scriptVar overlay);
+ static scriptVar findObject(SCRIPT_FUNCTION_PARAMS, ScriptObject *o, scriptVar id);
+ static scriptVar findObjectXY(SCRIPT_FUNCTION_PARAMS, ScriptObject *o, scriptVar x, scriptVar y);
+ static scriptVar getName(SCRIPT_FUNCTION_PARAMS, ScriptObject *o);
+ static scriptVar getMover(SCRIPT_FUNCTION_PARAMS, ScriptObject *o);
+ static scriptVar setMover(SCRIPT_FUNCTION_PARAMS, ScriptObject *o, scriptVar is);
+ static scriptVar setDropTarget(SCRIPT_FUNCTION_PARAMS, ScriptObject *o, scriptVar targ);
+
+ static scriptVar onCfgChanged(SCRIPT_FUNCTION_PARAMS, ScriptObject *o);
+ static scriptVar cfgGetInt(SCRIPT_FUNCTION_PARAMS, ScriptObject *o);
+ static scriptVar cfgSetInt(SCRIPT_FUNCTION_PARAMS, ScriptObject *o, scriptVar v);
+ static scriptVar cfgGetString(SCRIPT_FUNCTION_PARAMS, ScriptObject *o);
+ static scriptVar cfgSetString(SCRIPT_FUNCTION_PARAMS, ScriptObject *o, scriptVar v);
+ static scriptVar cfgGetFloat(SCRIPT_FUNCTION_PARAMS, ScriptObject *o);
+ static scriptVar cfgSetFloat(SCRIPT_FUNCTION_PARAMS, ScriptObject *o, scriptVar v);
+ static scriptVar cfgGetGuid(SCRIPT_FUNCTION_PARAMS, ScriptObject *o);
+ static scriptVar cfgGetAttributeName(SCRIPT_FUNCTION_PARAMS, ScriptObject *o);
+
+ static scriptVar clientToScreenX(SCRIPT_FUNCTION_PARAMS, ScriptObject *o, scriptVar x);
+ static scriptVar clientToScreenY(SCRIPT_FUNCTION_PARAMS, ScriptObject *o, scriptVar y);
+ static scriptVar clientToScreenW(SCRIPT_FUNCTION_PARAMS, ScriptObject *o, scriptVar x);
+ static scriptVar clientToScreenH(SCRIPT_FUNCTION_PARAMS, ScriptObject *o, scriptVar y);
+ static scriptVar screenToClientX(SCRIPT_FUNCTION_PARAMS, ScriptObject *o, scriptVar x);
+ static scriptVar screenToClientY(SCRIPT_FUNCTION_PARAMS, ScriptObject *o, scriptVar y);
+ static scriptVar screenToClientW(SCRIPT_FUNCTION_PARAMS, ScriptObject *o, scriptVar x);
+ static scriptVar screenToClientH(SCRIPT_FUNCTION_PARAMS, ScriptObject *o, scriptVar y);
+ static scriptVar getAutoWidth(SCRIPT_FUNCTION_PARAMS, ScriptObject *o);
+ static scriptVar getAutoHeight(SCRIPT_FUNCTION_PARAMS, ScriptObject *o);
+ static scriptVar setFocus(SCRIPT_FUNCTION_PARAMS, ScriptObject *o);
+ static scriptVar onGetFocus(SCRIPT_FUNCTION_PARAMS, ScriptObject *o);
+ static scriptVar onKillFocus(SCRIPT_FUNCTION_PARAMS, ScriptObject *o);
+ static scriptVar onAccelerator(SCRIPT_FUNCTION_PARAMS, ScriptObject *o, scriptVar accel);
+ static scriptVar sendAction(SCRIPT_FUNCTION_PARAMS, ScriptObject *obj, scriptVar action, scriptVar param, scriptVar x, scriptVar y, scriptVar p1, scriptVar p2);
+ static scriptVar onAction(SCRIPT_FUNCTION_PARAMS, ScriptObject *o, scriptVar action, scriptVar param, scriptVar x, scriptVar y, scriptVar p1, scriptVar p2, scriptVar source);
+ static scriptVar isMouseOverRect(SCRIPT_FUNCTION_PARAMS, ScriptObject *o);
+ static scriptVar getInterface(SCRIPT_FUNCTION_PARAMS, ScriptObject *o, scriptVar interfaceguid);
+ static scriptVar onDragEnter(SCRIPT_FUNCTION_PARAMS, ScriptObject *o);
+ static scriptVar onDragOver(SCRIPT_FUNCTION_PARAMS, ScriptObject *o, scriptVar x, scriptVar y);
+ static scriptVar onDragLeave(SCRIPT_FUNCTION_PARAMS, ScriptObject *o);
+};
+
+extern const wchar_t guiobjectXuiStr[];
+extern char guiobjectXuiSvcName[];
+class GuiObjectXuiSvc : public XuiObjectSvc<GuiObjectWnd, guiobjectXuiStr, guiobjectXuiSvcName> {};
+
+
+#endif