#include <precomp.h>
#include "rootwnd.h"

#define CBCLASS RootWndI
START_DISPATCH;
  CB(GETTIMERCLIENT, getTimerClient);
  VCB(BATCHPROCESSES, performBatchProcesses);
  CB(GETOSWINDOWHANDLE, getOsWindowHandle);
  CB(GETOSMODULEHANDLE, getOsModuleHandle);
  CB(GETROOTWNDNAME, getRootWndName);
  CB(GETID, getId);
  CB(GETGUIOBJECT, getGuiObject);
  CB(INIT, init);
  CB(ISINITED, isInited);
  CB(ISPOSTONINIT, isPostOnInit);
  CB(SETVIRTUAL, setVirtual);
  CB(CLICKTHROUGH, isClickThrough);
  CB(GETFORWARDWND, getForwardWnd);
  CB(ONMOUSEMOVE, onMouseMove);
  CB(ONLBUP, onLeftButtonUp);
  CB(ONRBUP, onRightButtonUp);
  CB(ONLBDOWN, onLeftButtonDown);
  CB(ONRBDOWN, onRightButtonDown);
  CB(ONLBDBLCLK, onLeftButtonDblClk);
  CB(ONRBDBLCLK, onRightButtonDblClk);
  CB(GETDRAGINTERFACE, getDragInterface);
  CB(GETCURSORTYPE, getCursorType);
  CB(GETCUSTOMCURSOR, getCustomCursor);
  CB(FROMPOINT, rootWndFromPoint);
  VCB(GETCLIENTRECT, getClientRect);
  VCB(GETNONCLIENTRECT, getNonClientRect);
  VCB(GETWINDOWRECT, getWindowRect);
  VCB(SETVISIBLE, setVisible);
  VCB(SETCLOAKED, setCloaked);
  VCB(ONSETVISIBLE, onSetVisible);
  CB(ISVISIBLE, isVisible);
  CB(GETINTERFACE, getInterface);
  VCB(INVALIDATE, invalidate);
  VCB(INVALIDATERECT, invalidateRect);
  VCB(INVALIDATERGN, invalidateRgn);
  VCB(INVALIDATEFROM, invalidateFrom);
  VCB(INVALIDATERECTFROM, invalidateRectFrom);
  VCB(INVALIDATERGNFROM, invalidateRgnFrom);
  VCB(ONCHILDINVALIDATE, onChildInvalidate);
  VCB(VALIDATE, validate);
  VCB(VALIDATERECT, validateRect);
  VCB(VALIDATERGN, validateRgn);
  CB(PAINTTREE, rootwnd_paintTree);
  CB(PAINT, paint);
  CB(GETFRAMEBUFFER, getFrameBuffer);
  CB(GETPARENT, getParent);
  CB(GETROOTPARENT, getRootParent);
  CB(GETDESKTOPPARENT, getDesktopParent);
  VCB(SETPARENT, setParent);
  CB(ONSIBINVALIDATE, onSiblingInvalidateRgn);
  CB(WANTSIBINVALIDATE, wantSiblingInvalidations);
  CB(CASCADEREPAINTFROM, cascadeRepaintFrom);
  CB(CASCADEREPAINTRGNFROM, cascadeRepaintRgnFrom);
  CB(CASCADEREPAINTRECTFROM, cascadeRepaintRectFrom);
  CB(CASCADEREPAINT, cascadeRepaint);
  CB(CASCADEREPAINTRGN, cascadeRepaintRgn);
  CB(CASCADEREPAINTRECT, cascadeRepaintRect);
  VCB(REPAINT, repaint);
  CB(GETTEXTUREWND, getBaseTextureWindow);
  CB(CHILDNOTIFY, childNotify);
  CB(GETPREFERENCES, getPreferences);
  VCB(SETPREFERENCES, setPreferences);
  CB(GETREGION, getRegion);
  VCB(SETSTARTHIDDEN, setStartHidden);
  CB(GETRENDERRATIO, getRenderRatio);
  VCB(SETRENDERRATIO, setRenderRatio);
  VCB(SETRATIOLINKED, setRatioLinked);
  CB(HANDLERATIO, handleRatio);
  VCB(_RESIZE, resize);
  VCB(_MOVE, move);
  VCB(NOTIFYDEFERREDMOVE, notifyDeferredMove);
  VCB(GETPOSITION, getPosition);
  VCB(REGISTERROOTWNDCHILD, registerRootWndChild);
  VCB(UNREGISTERROOTWNDCHILD, unregisterRootWndChild);
  CB(FINDROOTWNDCHILD, findRootWndChild);
  CB(ENUMROOTWNDCHILDREN, enumRootWndChildren);
  CB(GETNUMROOTWNDCHILDREN, getNumRootWndChildren);
  CB(ISVIRTUAL, isVirtual);
  VCB(BRINGVTOFRONT, bringVirtualToFront);
  VCB(BRINGVTOBACK, bringVirtualToBack);
  VCB(BRINGVABOVE, bringVirtualAbove);
  VCB(BRINGVBELOW, bringVirtualBelow);
  CB(CHECKDBLCLK, checkDoubleClick);
  VCB(SETVCAPTURE, setVirtualChildCapture);
  CB(GETVCAPTURE, getVirtualChildCapture);
  CB(PTINREGION, ptInRegion);
  VCB(CLIENTSCREEN, clientToScreen);
  VCB(SCREENCLIENT, screenToClient);
  CB(ONACTIVATE, onActivate);
  VCB(ACTIVATE, activate);
  CB(ONDEACTIVATE, onDeactivate);
  CB(ISACTIVATED, isActive);
  CB(HANDLETRANSPARENCY, handleTransparency);
  CB(HANDLEDESKTOPALPHA, handleDesktopAlpha);
  CB(GETNOTIFYID, getNotifyId);
  VCB(SETENABLED, setEnabled);
  CB(ONENABLE, onEnable);
  CB(ISENABLED, isEnabled);
  CB(GETPAINTALPHA, getPaintingAlpha);
  VCB(SETALPHA, setAlpha);
  VCB(GETALPHA, getAlpha);
  VCB(SETCLICKTHROUGH, setClickThrough);
  VCB(SETTOOLTIP, setTip);
  CB(RUNMODAL, runModal);
  VCB(ENDMODAL, endModal);
  CB(WANTAUTOCONTEXTMENU, wantAutoContextMenu);
  VCB(ONCANCELCAPTURE, onCancelCapture);
  VCB(CANCELCAPTURE, cancelCapture);
  VCB(BRINGTOFRONT, bringToFront);
  VCB(BRINGTOBACK, bringToBack);
  VCB(SETFOCUS, setFocus);
  CB(GOTFOCUS, gotFocus);
  CB(ONGETFOCUS, onGetFocus);
  CB(ONKILLFOCUS, onKillFocus);
  CB(GETNEXTVFOCUS, getNextVirtualFocus);
  VCB(SETVFOCUS, setVirtualChildFocus);
  CB(WANTFOCUS, wantFocus);
  CB(ONACCELERATOREVENT, onAcceleratorEvent);
  CB(ONCHAR, onChar);
  CB(ONKEYDOWN, onKeyDown);
  CB(ONKEYUP, onKeyUp);
  CB(ONSYSKEYDOWN, onSysKeyDown);
  CB(ONSYSKEYUP, onSysKeyUp);
  CB(GETREGIONOP, getRegionOp);
  VCB(SETREGIONOP, setRegionOp);
  VCB(INVALWNDRGN, invalidateWindowRegion);
  CB(GETCOMPOSEDRGN, getComposedRegion);
  CB(GETSUBTRACTORRGN, getSubtractorRegion);
  CB(ISRECTRGN, isRectRgn);
  VCB(SETRECTRGN, setRectRgn);
  CB(GETDEPENDENCYPTR, rootwnd_getDependencyPtr);
  VCB(ADDMINMAXENFORCER, addMinMaxEnforcer);
  VCB(REMOVEMINMAXENFORCER, removeMinMaxEnforcer);
  CB(GETNUMMINMAXENFORCERS, getNumMinMaxEnforcers);
  CB(ENUMMINMAXENFORCER, enumMinMaxEnforcer);
  VCB(SIGNALMINMAXCHANGED, signalMinMaxEnforcerChanged);
  CB(ROOTWNDONACTION, onAction);
  VCB(SETRENDERBASETEXTURE, setRenderBaseTexture);
  CB(GETRENDERBASETEXTURE, getRenderBaseTexture);
	VCB(RENDERBASETEXTURE, rootwnd_renderBaseTexture);
  CB(TRIGGEREVENT, triggerEvent);
  CB(GETFLAG, getFlag);
  CB(ALLOWDEACTIVATE, allowDeactivation);
  VCB(SETALLOWDEACTIVATE, setAllowDeactivation);
  CB(FINDWND_BYID,  findWindow);
  CB(FINDWND_BYGUID, findWindowByInterface);
  CB(FINDWND_BYCB, findWindowByCallback);
  CB(FINDWNDCHAIN, findWindowChain);
  VCB(SETTABORDER, setTabOrder);
  CB(GETTABORDER, getTabOrder);
  VCB(SETVIRTUALTABORDER, setVirtualTabOrder);
  CB(GETVIRTUALTABORDER, getVirtualTabOrder);
  VCB(SETAUTOTABORDER, setAutoTabOrder);
  VCB(SETVIRTUALAUTOTABORDER, setVirtualAutoTabOrder);
  CB(GETCURVIRTUALCHILDFOCUS, getCurVirtualChildFocus);
  CB(GETTAB, getTab);
  VCB(FOCUSNEXT, focusNext);
  VCB(FOCUSPREVIOUS, focusPrevious);
  VCB(SETWINDOWTITLE, setWindowTitle);
  CB(ENUMTAB, enumTab);
  CB(GETNUMTABS, getNumTabs);
  VCB(ONSETROOTFOCUS, onSetRootFocus);
  VCB(SETFOCUSONCLICK, setFocusOnClick);
  CB(GETFOCUSONCLICK, getFocusOnClick);
  VCB(SETNODOUBLECLICKS, setNoDoubleClicks);
  VCB(SETNOLEFTCLICKS, setNoLeftClicks);
  VCB(SETNORIGHTCLICKS, setNoRightClicks);
  VCB(SETNOMOUSEMOVES, setNoMouseMoves);
  VCB(SETNOCONTEXTMENUS, setNoContextMenus);
  CB(WANTLEFTCLICKS, wantLeftClicks);
  CB(WANTRIGHTCLICKS, wantRightClicks);
  CB(WANTDOUBLECLICKS, wantDoubleClicks);
  CB(WANTMOUSEMOVES, wantMouseMoves);
  CB(WANTCONTEXTMENUS, wantContextMenus);
  CB(WANTACTIVATION, wantActivation);
  VCB(SETDEFAULTCURSOR, setDefaultCursor);
  CB(GETACCESSIBLEOBJECT, getAccessibleObject);
  CB(ACCGETSTATE,accessibility_getState);
#ifndef WA3COMPATIBILITY
  VCB(SETDROPTARGET, setDropTarget);
  CB(GETDROPTARGET, getDropTarget);
#endif
#ifdef EXPERIMENTAL_INDEPENDENT_AOT
  VCB(SETALWAYSONTOP, setAlwaysOnTop);
  CB(GETALWAYSONTOP, getAlwaysOnTop);
#endif
  CB(ISMINIMIZED, isMinimized);
  VCB(MAXIMIZE, maximize);
  VCB(RESTORE, restore);
  CB(GETRESTOREDRECT, getRestoredRect);
END_DISPATCH;
#undef CBCLASS