Main Page   Namespace List   Class Hierarchy   Compound List   File List   Compound Members   File Members  

gui_manager_generic.h

Go to the documentation of this file.
00001 /*
00002         ClanGUI, copyrights by various people. Have a look in the CREDITS file.
00003         
00004         This sourcecode is distributed using the Library GNU Public Licence,
00005         version 2 or (at your option) any later version. Please read LICENSE
00006         for details.
00007 */
00008 
00009 #ifndef header_guimanager_generic
00010 #define header_guimanager_generic
00011 
00012 #include "API/GUI/gui_manager.h"
00013 
00014 class CL_InputDevice;
00015 class CL_Key;
00016 
00017 class CL_GUIManager_Generic
00018 {
00019 // Construction:
00020 public:
00021         CL_GUIManager_Generic(CL_GUIManager *owner, CL_Component *parent = NULL);
00022 
00023         ~CL_GUIManager_Generic();
00024 
00025 // Attributes:
00026 public:
00027         CL_Component *get_focus();
00028 
00029 // Operations:
00030 public:
00031         void set_focus(CL_Component *component);
00032 
00033         void run();
00034         
00035         void show();
00036         
00037         void enable_input();
00038         
00039         void disable_input();
00040         
00041         void gui_capture_mouse(CL_Component *component);
00042         
00043         void gui_release_mouse();
00044         
00045         void quit();
00046         
00047 // Implementation:
00048 private:
00049         void on_button_press(CL_InputDevice *, const CL_Key&);
00050         void on_button_release(CL_InputDevice *, const CL_Key&);
00051         void on_mouse_move(CL_InputDevice *, int, int);
00052 
00053         CL_Slot slot_button_press;
00054         CL_Slot slot_button_release;
00055         CL_Slot slot_mouse_move;
00056 
00057         volatile bool quit_run;
00058         CL_GUIManager *owner;
00059         CL_GUIManager *parent;
00060         bool input_enabled;
00061 
00062         CL_Component *comp_focus;
00063         CL_Component *comp_capture_mouse;
00064         CL_Component *comp_mouse_over;
00065 };
00066 
00067 #endif

Generated at Wed Apr 4 19:54:00 2001 for ClanLib by doxygen1.2.6 written by Dimitri van Heesch, © 1997-2001