summaryrefslogtreecommitdiff
path: root/src/ivyprobe.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/ivyprobe.c')
-rw-r--r--src/ivyprobe.c37
1 files changed, 35 insertions, 2 deletions
diff --git a/src/ivyprobe.c b/src/ivyprobe.c
index c73df3a..f8e02fb 100644
--- a/src/ivyprobe.c
+++ b/src/ivyprobe.c
@@ -6,7 +6,7 @@
*
* Main and only file
*
- * Authors: François-Régis Colin <fcolin@cena.dgac.fr>
+ * Authors: François-Régis Colin <fcolin@cena.fr>
*
* $Id$
*
@@ -24,6 +24,10 @@
#undef IVYMAINLOOP
#endif
+#ifdef GLUTMAINLOOP
+#undef IVYMAINLOOP
+#endif
+
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
@@ -39,6 +43,9 @@
#ifdef GTKMAINLOOP
#include "ivygtkloop.h"
#endif
+#ifdef GLUTMAINLOOP
+#include "ivyglutloop.h"
+#endif
#ifdef IVYMAINLOOP
#include "ivyloop.h"
#endif
@@ -79,6 +86,9 @@ void HandleStdin (Channel channel, HANDLE fd, void *data)
#ifdef GTKMAINLOOP
IvyGtkChannelClose(channel);
#endif
+#ifdef GLUTMAINLOOP
+ IvyGlutChannelClose(channel);
+#endif
#ifdef IVYMAINLOOP
IvyChannelClose (channel);
IvyStop();
@@ -183,6 +193,9 @@ void ApplicationCallback (IvyClientPtr app, void *user_data, IvyApplicationEvent
#ifdef GTKMAINLLOP
IvyGtkChannelSetUp( 0, NULL, NULL, HandleStdin);
#endif
+#ifdef GLUTMAINLLOP
+ IvyGlutChannelSetUp( 0, NULL, NULL, HandleStdin);
+#endif
#ifdef IVYMAINLOOP
IvyChannelSetUp (0, NULL, NULL, HandleStdin);
#endif
@@ -208,7 +221,14 @@ void TimerCall(TimerId id, void *user_data, unsigned long delta)
/*if ((int)user_data == 5) TimerModify (id, 2000);*/
}
#endif
-
+#ifdef GLUTMAINLLOP
+void
+display(void)
+{
+ glClear(GL_COLOR_BUFFER_BIT);
+ glFlush();
+}
+#endif
int main(int argc, char *argv[])
{
@@ -236,6 +256,12 @@ int main(int argc, char *argv[])
cntx = XtCreateApplicationContext();
IvyXtChannelAppContext (cntx);
#endif
+#ifdef GLUTMAINLLOOP
+ glutInit(&argc, argv);
+ glutCreateWindow("IvyProbe Test");
+ glClearColor(0.49, 0.62, 0.75, 0.0);
+ glutDisplayFunc(display);
+#endif
IvyInit ("IVYPROBE", "IVYPROBE READY", ApplicationCallback,NULL,NULL,NULL);
for (; optind < argc; optind++)
IvyBindMsg (Callback, NULL, argv[optind]);
@@ -247,6 +273,9 @@ int main(int argc, char *argv[])
#ifdef GTKMAINLOOP
IvyGtkChannelSetUp (0, NULL, NULL, HandleStdin);
#endif
+#ifdef GLUTMAINLOOP
+ IvyGlutChannelSetUp (0, NULL, NULL, HandleStdin);
+#endif
#ifdef IVYMAINLOOP
IvyChannelSetUp (0, NULL, NULL, HandleStdin);
#endif
@@ -266,6 +295,10 @@ int main(int argc, char *argv[])
#ifdef GTKMAINLOOP
gtk_main();
#endif
+#ifdef GLUTMAINLOOP
+ glutMainLoop();
+#endif
+
#ifdef IVYMAINLOOP
IvyMainLoop (0);
#endif