Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: orxonox.OLD/branches/gui/src/lib/gui/gl/glgui_handler.h @ 8688

Last change on this file since 8688 was 8671, checked in by bensch, 18 years ago

selecting with keyboard

File size: 1.3 KB
Line 
1/*!
2 * @file proto_singleton.h
3 * @brief Definition of the GLGuiHandler singleton Class
4*/
5
6#ifndef _GLGUI_HANDLER_H
7#define _GLGUI_HANDLER_H
8
9#include "event_listener.h"
10#include "glgui_widget.h"
11
12namespace OrxGui
13{
14
15  class GLGuiCursor;
16
17  // FORWARD DECLARATION
18
19  //! A singleton class for the GLGui-Handler
20  class GLGuiHandler : public EventListener
21  {
22
23  public:
24    virtual ~GLGuiHandler(void);
25    /** @returns a Pointer to the only object of this Class */
26    inline static GLGuiHandler* getInstance(void) { if (!GLGuiHandler::singletonRef) GLGuiHandler::singletonRef = new GLGuiHandler();  return GLGuiHandler::singletonRef; };
27
28    void activateCursor();
29    void deactivateCursor(/** ignore param */ bool deleteCursor = true);
30    GLGuiCursor* cursor() const { return this->_cursor; }
31
32    Vector2D cursorPositionOverFocusedWidget() const;
33    const Vector2D& cursorPositionAbs() const;
34    Vector2D cursorPositionRel(const GLGuiWidget* const widget) const;
35
36    void selectNext();
37
38    void activate();
39    void deactivate();
40
41    void checkFocus();
42
43    virtual void process(const Event &event);
44    void draw();
45    void tick(float dt);
46
47  private:
48    GLGuiHandler(void);
49    static GLGuiHandler* singletonRef;
50
51
52    bool                 isActive;
53    GLGuiCursor*         _cursor;
54
55  };
56}
57
58#endif /* _GLGUI_HANDLER_H */
Note: See TracBrowser for help on using the repository browser.