diff options
| author | Simon Robertshaw <simon@hardwired.org.uk> | 2012-08-03 16:09:34 (GMT) |
|---|---|---|
| committer | Simon Robertshaw <simon@hardwired.org.uk> | 2012-08-03 16:09:34 (GMT) |
| commit | 2652309a3fc4748fa5d983754bc52a7a617898ed (patch) | |
| tree | 6cc254a438bdc92396f9c28bd22c43d248408313 /src/interface/Window.h | |
| parent | 36b2aa01918344d91df30c4a6722ac39eaca0642 (diff) | |
| download | powder-2652309a3fc4748fa5d983754bc52a7a617898ed.zip powder-2652309a3fc4748fa5d983754bc52a7a617898ed.tar.gz | |
Nicer defaults for Window closing, Implement these with Sign tool, issue #51. Also set centre as default
Diffstat (limited to 'src/interface/Window.h')
| -rw-r--r-- | src/interface/Window.h | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/src/interface/Window.h b/src/interface/Window.h index 83fd1bc..357d9da 100644 --- a/src/interface/Window.h +++ b/src/interface/Window.h @@ -15,6 +15,7 @@ enum ChromeStyle //class State; class Engine; class Component; + class Button; /* class State * @@ -29,6 +30,9 @@ enum ChromeStyle Window(Point _position, Point _size); virtual ~Window(); + void SetOkayButton(ui::Button * button) { okayButton = button; } + void SetCancelButton(ui::Button * button) { cancelButton = button; } + bool AllowExclusiveDrawing; //false will not call draw on objects outside of bounds // Add Component to state @@ -70,7 +74,13 @@ enum ChromeStyle void* UserData; + enum OkayMethod { Enter, OkayButton }; + enum ExitMethod { MouseOutside, Escape, ExitButton }; + protected: + ui::Button * okayButton; + ui::Button * cancelButton; + virtual void OnInitialized() {} virtual void OnExit() {} virtual void OnTick(float dt) {} @@ -78,6 +88,9 @@ enum ChromeStyle virtual void OnFocus() {} virtual void OnBlur() {} + virtual void OnTryExit(ExitMethod); + virtual void OnTryOkay(OkayMethod); + virtual void OnMouseMove(int x, int y, int dx, int dy) {} virtual void OnMouseDown(int x, int y, unsigned button) {} virtual void OnMouseUp(int x, int y, unsigned button) {} |
