Ajout de l'ensemble du workspace.
[GPU.git] / WCudaMSE / Tuto_Image / src / cpp / main.cpp
diff --git a/WCudaMSE/Tuto_Image/src/cpp/main.cpp b/WCudaMSE/Tuto_Image/src/cpp/main.cpp
new file mode 100755 (executable)
index 0000000..3323c34
--- /dev/null
@@ -0,0 +1,95 @@
+#include <iostream>
+
+#include "GLUTImageViewers.h"
+
+#include "VagueProvider.h"
+#include "DamierProvider.h"
+#include "EventProvider.h"
+
+#include "MyDisplayableProvider.h"
+#include "MyGLUTWindow.h"
+
+using std::cout;
+using std::endl;
+
+/*----------------------------------------------------------------------*\
+ |*                    Declaration                                     *|
+ \*---------------------------------------------------------------------*/
+
+/*--------------------------------------*\
+ |*            Imported                *|
+ \*-------------------------------------*/
+
+/*--------------------------------------*\
+ |*            Public                  *|
+ \*-------------------------------------*/
+
+int main(int argc, char** argv);
+
+/*--------------------------------------*\
+ |*            Private                 *|
+ \*-------------------------------------*/
+
+static int mainGL(void);
+
+
+/*----------------------------------------------------------------------*\
+ |*                    Implementation                                  *|
+ \*---------------------------------------------------------------------*/
+
+/*--------------------------------------*\
+ |*            Public                  *|
+ \*-------------------------------------*/
+
+int main(int argc, char** argv)
+    {
+    cout << "main" << endl;
+
+    GLUTImageViewers::init(argc, argv); // call once
+
+    return mainGL(); // Bloquant, Tant qu'une fenetre est ouverte
+    }
+
+/*--------------------------------------*\
+ |*            Private                 *|
+ \*-------------------------------------*/
+
+int mainGL(void)
+    {
+    bool isAnimation = true;
+    bool isSelectionEnable = true;
+
+    VagueImage* ptrVague = VagueProvider::create();
+    DamierImage* ptrDamier = DamierProvider::create();
+    EventImage* ptrEvent = EventProvider::create();
+
+    // ImageViewer
+    GLUTImageViewers vagueViewer(ptrVague, isAnimation, false, 0, 0);
+    GLUTImageViewers damierViewer(ptrDamier, isAnimation, isSelectionEnable, 40, 40);
+    GLUTImageViewers eventViewer(ptrEvent, isAnimation, false, 80, 80);
+    // Insert here other ImageViewer ...
+
+    // OpenGLViewer (Advanced)
+    Displayable_A* ptrMyDisplayable = MyDisplayableProvider::createGL();
+    MyGLUTWindow myGlutWindow(ptrMyDisplayable, "Triangle OpenGL Custom Displayable", 600, 600, 100, 100); // scene OpenGL // (w,h,px,py)
+
+    GLUTImageViewers::runALL();  // Bloquant, Tant qu'une fenetre est ouverte
+
+    // destruction
+       {
+       delete ptrVague;
+       delete ptrDamier;
+       delete ptrEvent;
+
+       ptrVague = nullptr;
+       ptrDamier = nullptr;
+       ptrEvent = nullptr;
+       }
+
+    return EXIT_SUCCESS;
+    }
+
+/*----------------------------------------------------------------------*\
+ |*                    End                                             *|
+ \*---------------------------------------------------------------------*/
+