Ajout de l'ensemble du workspace.
[GPU.git] / WCudaMSE / Tuto_Image / src / cpp / main.cpp
1 #include <iostream>
2
3 #include "GLUTImageViewers.h"
4
5 #include "VagueProvider.h"
6 #include "DamierProvider.h"
7 #include "EventProvider.h"
8
9 #include "MyDisplayableProvider.h"
10 #include "MyGLUTWindow.h"
11
12 using std::cout;
13 using std::endl;
14
15 /*----------------------------------------------------------------------*\
16 |* Declaration *|
17 \*---------------------------------------------------------------------*/
18
19 /*--------------------------------------*\
20 |* Imported *|
21 \*-------------------------------------*/
22
23 /*--------------------------------------*\
24 |* Public *|
25 \*-------------------------------------*/
26
27 int main(int argc, char** argv);
28
29 /*--------------------------------------*\
30 |* Private *|
31 \*-------------------------------------*/
32
33 static int mainGL(void);
34
35
36 /*----------------------------------------------------------------------*\
37 |* Implementation *|
38 \*---------------------------------------------------------------------*/
39
40 /*--------------------------------------*\
41 |* Public *|
42 \*-------------------------------------*/
43
44 int main(int argc, char** argv)
45 {
46 cout << "main" << endl;
47
48 GLUTImageViewers::init(argc, argv); // call once
49
50 return mainGL(); // Bloquant, Tant qu'une fenetre est ouverte
51 }
52
53 /*--------------------------------------*\
54 |* Private *|
55 \*-------------------------------------*/
56
57 int mainGL(void)
58 {
59 bool isAnimation = true;
60 bool isSelectionEnable = true;
61
62 VagueImage* ptrVague = VagueProvider::create();
63 DamierImage* ptrDamier = DamierProvider::create();
64 EventImage* ptrEvent = EventProvider::create();
65
66 // ImageViewer
67 GLUTImageViewers vagueViewer(ptrVague, isAnimation, false, 0, 0);
68 GLUTImageViewers damierViewer(ptrDamier, isAnimation, isSelectionEnable, 40, 40);
69 GLUTImageViewers eventViewer(ptrEvent, isAnimation, false, 80, 80);
70 // Insert here other ImageViewer ...
71
72 // OpenGLViewer (Advanced)
73 Displayable_A* ptrMyDisplayable = MyDisplayableProvider::createGL();
74 MyGLUTWindow myGlutWindow(ptrMyDisplayable, "Triangle OpenGL Custom Displayable", 600, 600, 100, 100); // scene OpenGL // (w,h,px,py)
75
76 GLUTImageViewers::runALL(); // Bloquant, Tant qu'une fenetre est ouverte
77
78 // destruction
79 {
80 delete ptrVague;
81 delete ptrDamier;
82 delete ptrEvent;
83
84 ptrVague = nullptr;
85 ptrDamier = nullptr;
86 ptrEvent = nullptr;
87 }
88
89 return EXIT_SUCCESS;
90 }
91
92 /*----------------------------------------------------------------------*\
93 |* End *|
94 \*---------------------------------------------------------------------*/
95