Ajout de l'ensemble du workspace.
[GPU.git] / WCudaMSE / Tuto_Image / src / cpp / core / 03_Event / image / EventImage.h
1 #ifndef EVENT_IMAGE_H_
2 #define EVENT_IMAGE_H_
3
4 #include "ImageMOOs_A.h"
5 #include "MathTools.h"
6 #include "SimpleKeyListener.h"
7 #include "SimpleMouseListener.h"
8
9 /*----------------------------------------------------------------------*\
10 |* Declaration *|
11 \*---------------------------------------------------------------------*/
12
13 /*--------------------------------------*\
14 |* Public *|
15 \*-------------------------------------*/
16
17 class EventImage: public ImageMOOs_A
18 {
19
20 /*--------------------------------------*\
21 |* Constructeur *|
22 \*-------------------------------------*/
23
24 public:
25
26 EventImage(unsigned int w, unsigned int h);
27 virtual ~EventImage(void);
28
29 /*--------------------------------------*\
30 |* Methode *|
31 \*-------------------------------------*/
32
33 protected:
34
35 /*--------------------------------------*\
36 |* Override *|
37 \*-------------------------------------*/
38
39 /**
40 * Override, call periodicly by the api
41 */
42 virtual void fillImageGL(uchar4* ptrTabPixels, int w, int h);
43
44 /**
45 * Override, call periodicly by the api
46 */
47 virtual void animationStep(bool& isNeedUpdateView);
48
49 /**
50 * Override, call by the api at each "draw"
51 */
52 virtual void paintPrimitives(Graphic2Ds& graphic2D);
53
54 private:
55
56 void control(void);
57
58 /*--------------------------------------*\
59 |* Attribut *|
60 \*-------------------------------------*/
61
62 private:
63
64 // Inputs
65 double dt;
66
67 // Tools
68 double t;
69 SimpleKeyListener* ptrKeyListener;
70 SimpleMouseListener* ptrMouseListener;
71 };
72
73 #endif
74
75 /*----------------------------------------------------------------------*\
76 |* End *|
77 /*----------------------------------------------------------------------*/