LGI  1.0
Lliurex Graphic Interface
 All Classes Namespaces Files Functions Variables Macros
layer.hpp
Go to the documentation of this file.
1 
2 #ifndef _LGI_LAYER_
3 #define _LGI_LAYER_
4 
5 #include "widget.hpp"
6 #include "events.hpp"
7 
8 #include <string>
9 #include <vector>
10 
11 #include <cairo-xlib.h>
12 
13 /* layer constants */
14 #define LGI_LAYER_DEPTH_TOP 0x00
15 #define LGI_LAYER_DEPTH_BOTTOM 0xFF
16 
17 namespace net
18 {
19  namespace lliurex
20  {
21  namespace lgi
22  {
23  class Layer
24  {
25 
26  public:
27  std::vector<Widget *> widgets;
28  std::string name;
29  float x;
30  float y;
31  int depth;
32  bool visible;
34 
42  Layer(std::string name,float x,float y,int depth);
43 
44 
45  Layer(std::string name);
46 
47  virtual ~Layer();
48 
49  virtual void SetDepth(int depth);
50  virtual void Add(Widget * widget);
51 
52  virtual void Draw(cairo_t * cairo);
53 
54 
57  virtual void OnExpose(ExposeEvent * event);
58  virtual void OnResize(ResizeEvent * event);
59  virtual void OnKeyPress(KeyPressEvent * event);
60  virtual void OnKeyUp(KeyUpEvent * event);
61  virtual void OnKeyDown(KeyDownEvent * event);
62  virtual void OnCharacter(CharacterEvent * event);
63  virtual void OnMouseDown(Widget * widget,MouseDownEvent * event);
64  virtual void OnMouseUp(Widget * widget,MouseUpEvent * event);
65  virtual void OnMouseMove(Widget * widget,MouseMoveEvent * event);
66  virtual void OnMouseEnter(Widget * widget,MouseEnterEvent * event);
67  virtual void OnMouseExit(Widget * widget,MouseExitEvent * event);
68  virtual void OnMouseClick(Widget * widget,MouseClickEvent * event);
69  virtual void OnMouseDoubleClick(Widget * widget,MouseDoubleClickEvent * event);
70  virtual void OnDrag(Widget * widget,DragEvent * event);
71  virtual void OnDrop(Widget * widget,DropEvent * event);
72  virtual void OnDestroy(DestroyEvent * event);
73  virtual void OnMessage(Widget * widget,MessageEvent * event);
74  virtual void OnAdd(LayerAddEvent * event);
75  virtual void OnRemove(LayerRemoveEvent * event);
76  virtual void OnShow(LayerShowEvent * event);
77  virtual void OnHide(LayerHideEvent * event);
78  virtual void OnDndEnter(DndEnterEvent * event);
79  virtual void OnDndLeave(DndLeaveEvent * event);
80  virtual void OnDndDrop(DndDropEvent * event);
81  virtual void OnDndMove(DndMoveEvent * event);
82  virtual void OnGotFocus(Widget * widget,GotFocusEvent * event);
83  virtual void OnLostFocus(Widget * widget,LostFocusEvent * event);
84 
85 
86  };
87 
88  }
89  }
90 }
91 
92 #endif
virtual void OnDndEnter(DndEnterEvent *event)
Definition: events.hpp:146
std::string name
Definition: layer.hpp:28
Definition: events.hpp:104
Definition: events.hpp:169
Definition: events.hpp:289
std::vector< Widget * > widgets
Definition: layer.hpp:27
virtual void OnDrag(Widget *widget, DragEvent *event)
Definition: events.hpp:83
Definition: events.hpp:326
virtual void OnMouseDown(Widget *widget, MouseDownEvent *event)
virtual void OnDndDrop(DndDropEvent *event)
Definition: events.hpp:279
Definition: events.hpp:62
Definition: events.hpp:349
float y
Definition: layer.hpp:30
Definition: layer.hpp:23
Definition: events.hpp:134
Definition: events.hpp:215
Definition: events.hpp:259
virtual void OnDndLeave(DndLeaveEvent *event)
virtual void SetDepth(int depth)
virtual void OnAdd(LayerAddEvent *event)
Definition: events.hpp:225
virtual void OnCharacter(CharacterEvent *event)
virtual void OnDndMove(DndMoveEvent *event)
virtual void OnMouseClick(Widget *widget, MouseClickEvent *event)
Definition: events.hpp:93
float x
Definition: layer.hpp:29
virtual void OnRemove(LayerRemoveEvent *event)
Layer(std::string name, float x, float y, int depth)
Definition: events.hpp:124
virtual void OnLostFocus(Widget *widget, LostFocusEvent *event)
Definition: events.hpp:301
Definition: events.hpp:114
virtual void OnKeyPress(KeyPressEvent *event)
virtual void OnMouseEnter(Widget *widget, MouseEnterEvent *event)
virtual void OnExpose(ExposeEvent *event)
Definition: events.hpp:204
bool visible
Definition: layer.hpp:32
virtual void OnKeyUp(KeyUpEvent *event)
Definition: events.hpp:339
virtual void OnGotFocus(Widget *widget, GotFocusEvent *event)
virtual void OnKeyDown(KeyDownEvent *event)
virtual void Add(Widget *widget)
Definition: events.hpp:311
Definition: events.hpp:238
virtual void OnMessage(Widget *widget, MessageEvent *event)
virtual void OnResize(ResizeEvent *event)
virtual void OnDestroy(DestroyEvent *event)
Widget * focus
Definition: layer.hpp:33
virtual void OnShow(LayerShowEvent *event)
virtual void OnMouseMove(Widget *widget, MouseMoveEvent *event)
virtual void OnMouseExit(Widget *widget, MouseExitEvent *event)
int depth
Definition: layer.hpp:31
Definition: events.hpp:158
virtual void Draw(cairo_t *cairo)
virtual void OnDrop(Widget *widget, DropEvent *event)
Definition: events.hpp:249
Definition: events.hpp:269
Definition: events.hpp:72
Definition: events.hpp:193
virtual void OnHide(LayerHideEvent *event)
virtual void OnMouseUp(Widget *widget, MouseUpEvent *event)
virtual void OnMouseDoubleClick(Widget *widget, MouseDoubleClickEvent *event)
Definition: widget.hpp:18