diff options
Diffstat (limited to 'Src/Wasabi/api/wnd/virtualwnd.h')
-rw-r--r-- | Src/Wasabi/api/wnd/virtualwnd.h | 84 |
1 files changed, 84 insertions, 0 deletions
diff --git a/Src/Wasabi/api/wnd/virtualwnd.h b/Src/Wasabi/api/wnd/virtualwnd.h new file mode 100644 index 00000000..fc10ef63 --- /dev/null +++ b/Src/Wasabi/api/wnd/virtualwnd.h @@ -0,0 +1,84 @@ +#ifndef _VIRTUALWND_H +#define _VIRTUALWND_H + +#include <api/wnd/basewnd.h> + +#define VIRTUALWND_PARENT BaseWnd +#define AUTOWH 0xFFFE +#define NOCHANGE 0xFFFD + +class NOVTABLE VirtualWnd : public VIRTUALWND_PARENT +{ +protected: + VirtualWnd(); + virtual ~VirtualWnd(); +public: + virtual int init( ifc_window *parent, int nochild = FALSE ); + virtual int init( OSMODULEHANDLE moduleHandle, OSWINDOWHANDLE parent, int nochild = FALSE ); + + virtual void bringToFront(); + virtual void bringToBack(); + virtual void bringAbove( BaseWnd *w ); + virtual void bringBelow( BaseWnd *w ); + + //NONPORTABLE--avoid prolonged use + virtual HWND getOsWindowHandle(); + virtual HINSTANCE getOsModuleHandle(); + +public: + virtual void resize( int x, int y, int w, int h, int wantcb = 1 ) override; + virtual void resize( RECT *r, int wantcb = 1 ); + virtual void move( int x, int y ) override; + virtual void invalidate() override; + virtual void invalidateRect( RECT *r ) override; + virtual void invalidateRgn( api_region *reg ) override; + virtual void validate() override; + virtual void validateRect( RECT *r ) override; + virtual void validateRgn( api_region *reg ) override; + virtual void getClientRect( RECT * ) override; + virtual void getNonClientRect( RECT * ) override; + virtual void getWindowRect( RECT * ) override; + virtual int beginCapture() override; + virtual int endCapture() override; + virtual int getCapture() override; + virtual void setVirtualChildCapture( BaseWnd *child ); + virtual void repaint() override; + /* virtual int focusNextSibbling(int dochild); + virtual int focusNextVirtualChild(BaseWnd *child);*/ + virtual int cascadeRepaint( int pack = 1 ) override; + virtual int cascadeRepaintRect( RECT *r, int pack = 1 ) override; + virtual int cascadeRepaintRgn( api_region *r, int pack = 1 ) override; + virtual ifc_window *rootWndFromPoint( POINT *pt ) override; + virtual double getRenderRatio() override; + virtual int reparent( ifc_window *newparent ) override; + virtual int setVirtual( int i ) override; + virtual ifc_window *getRootParent() override; + virtual int gotFocus() override; + virtual int onGetFocus() override; + virtual int onKillFocus() override; + virtual void setFocus() override; + virtual int onActivate() override; + virtual int onDeactivate() override; + virtual void setVirtualChildFocus( ifc_window *child ) override; + virtual int wantFocus() override + { + return 0; + } + virtual void setAllowDeactivation( int allow ) override; + virtual int allowDeactivation() override; + +public: + virtual int isVirtual() override + { + return !bypassvirtual; + } + +protected: + int virtualX, virtualY, virtualH, virtualW; + int bypassvirtual; + int focus; + int resizecount; + double lastratio; +}; + +#endif |