Ajout de l'ensemble du workspace.
[GPU.git] / WCudaMSE / API_Bilat_Displayable / INC / Displayable_A.h
1 #ifndef DISPLAYABLE_A_H
2 #define DISPLAYABLE_A_H
3
4 /**
5 * version : 0.0.2
6 * Date 02.06.2014
7 *
8 * v 0.0.2 : remove de la méthode repaint
9 */
10 #include "envBilatDisplayable.h"
11 #include "KeyListener_I.h"
12 #include "MouseListener_I.h"
13 #include "TextRenderer_A.h"
14 #include "FPSCounter.h"
15 #include "Panel_A.h"
16 #include <algorithm>
17
18 /*----------------------------------------------------------------------*\
19 |* Declaration *|
20 \*---------------------------------------------------------------------*/
21
22 /*--------------------------------------*\
23 |* Public *|
24 \*-------------------------------------*/
25
26 class CBI_DISPLAYABLE Displayable_A
27 {
28 public:
29 /*--------------------------------------*\
30 |* Destructor *|
31 \*-------------------------------------*/
32
33 Displayable_A();
34 virtual ~Displayable_A();
35
36 /*--------------------------------------*\
37 |* Methodes *|
38 \*-------------------------------------*/
39
40 void displayRoot(Panel_A &panel);
41 virtual void init(Panel_A &panel)=0;
42 virtual void reshape(Panel_A &panel, int w, int h)=0;
43 virtual void display(Panel_A &panel)=0;
44 virtual void release(Panel_A &panel)=0;
45
46 /**
47 * Non!
48 * Car sinon il faut cr�er un Displayable par "Context" (par exemple un pour GLUT et un pour X11)
49 * S1 ) setTextRenderer(TextRenderer* ...)
50 * S2 ) display(TextRenderer* ...)
51 */
52 //virtual TextRenderer_A* getTextRenderer() = 0;
53 /*--------------------------------------*\
54 |* Get *|
55 \*-------------------------------------*/
56
57 KeyListener_I* getKeyListener();
58 MouseListener_I* getMouseListener();
59 int getFPS() const;
60
61
62 /*--------------------------------------*\
63 |* Set *|
64 \*-------------------------------------*/
65
66 void setKeyListener(KeyListener_I* ptrKeyListener);
67
68 void setMouseListener(MouseListener_I* ptrMouseListener);
69 private:
70 KeyListener_I* ptrKeyListener;
71 MouseListener_I* ptrMouseListener;
72 FPSCounter fpsCounter;
73
74 };
75
76 #endif
77
78 /*----------------------------------------------------------------------*\
79 |* End *|
80 \*---------------------------------------------------------------------*/