Initial community commit
This commit is contained in:
parent
537bcbc862
commit
fc06254474
16440 changed files with 4239995 additions and 2 deletions
74
Src/Wasabi/api/wnd/wndclass/clickwnd.h
Normal file
74
Src/Wasabi/api/wnd/wndclass/clickwnd.h
Normal file
|
@ -0,0 +1,74 @@
|
|||
#ifndef _CLICKWND_H
|
||||
#define _CLICKWND_H
|
||||
|
||||
// this class defines clicking behavior, i.e. detecting mouse downs and ups
|
||||
// and doing captures to determine clicks
|
||||
|
||||
#include <bfc/common.h>
|
||||
// benski> CUT: #include <api/wnd/wndclass/backbufferwnd.h>
|
||||
#include <api/wnd/wndclass/abstractwndhold.h>
|
||||
|
||||
#ifdef WASABI_COMPILE_SKIN
|
||||
#define CLICKWND_PARENT AbstractWndHolder
|
||||
#else
|
||||
#define CLICKWND_PARENT ServiceWndHolder
|
||||
#endif
|
||||
// benski> CUT: #define CLICKWND_PARENT BackBufferWnd
|
||||
|
||||
class NOVTABLE ClickWnd : public CLICKWND_PARENT {
|
||||
|
||||
public:
|
||||
ClickWnd();
|
||||
virtual ~ClickWnd();
|
||||
|
||||
void setHandleRightClick(int tf);
|
||||
int getHandleRightClick();
|
||||
|
||||
// override these to get clicks!
|
||||
virtual void onLeftPush(int x, int y) {}
|
||||
virtual void onRightPush(int x, int y) {}
|
||||
virtual void onLeftDoubleClick(int x, int y) {}
|
||||
virtual void onRightDoubleClick(int x, int y) {}
|
||||
|
||||
virtual void onEnterArea();
|
||||
virtual void onLeaveArea();
|
||||
|
||||
virtual void onSetVisible(int show);
|
||||
virtual void onCancelCapture();
|
||||
virtual int isInClick() { return mousedown; }
|
||||
|
||||
protected:
|
||||
virtual int onLeftButtonDown(int x, int y);
|
||||
virtual int onRightButtonDown(int x, int y);
|
||||
virtual int onLeftButtonUp(int x, int y);
|
||||
virtual int onRightButtonUp(int x, int y);
|
||||
virtual int onMouseMove(int x, int y);
|
||||
|
||||
// override this and return 0 to ignore clicks
|
||||
virtual int wantClicks() { return 1; }
|
||||
// override this and return 1 to force down-ness
|
||||
virtual int userDown() { return 0; }
|
||||
|
||||
virtual int getHilite() { return hilite; } // mouse is over, period
|
||||
virtual int getDown() { return down; } // mouse is over and pushing down
|
||||
|
||||
int onButtonDown(int which, int x, int y);
|
||||
int onButtonUp(int which, int x, int y);
|
||||
void _enterCapture();
|
||||
|
||||
virtual int wantClickWndAutoInvalidate() { return 1; }
|
||||
|
||||
private:
|
||||
void _onEnterArea();
|
||||
void _onLeaveArea();
|
||||
|
||||
int button; // 0 == left, 1 == right, which button was pushed
|
||||
int handleRight:1;
|
||||
int mousedown:1;
|
||||
int mcaptured:1; // we are capturing the mouse
|
||||
int hilite:1; // mouse is over but not down
|
||||
int down:1;
|
||||
int areacheck;
|
||||
};
|
||||
|
||||
#endif
|
Loading…
Add table
Add a link
Reference in a new issue