winamp/Src/Wasabi/api/wnd/virtualwnd.h
2024-09-24 14:54:57 +02:00

85 lines
2.6 KiB
C++

#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