aboutsummaryrefslogtreecommitdiff
path: root/Src/Wasabi/api/wnd/virtualwnd.h
diff options
context:
space:
mode:
Diffstat (limited to 'Src/Wasabi/api/wnd/virtualwnd.h')
-rw-r--r--Src/Wasabi/api/wnd/virtualwnd.h84
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