From e24dc9a626d1548f67dc79b8f73c519c392bda33 Mon Sep 17 00:00:00 2001
From: Kenneth Russel <kbrussel@alum.mit.edu>
Date: Sun, 26 Feb 2006 10:21:31 +0000
Subject: Added five examples of GlueGen configuration files to the manual for
 supporting access to various C programming language constructs. Still need to
 add at least two more for concrete and somewhat complex examples which show
 up in JOGL.

git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/../svn-server-sync/gluegen/trunk@18 a78bb65f-1512-4460-ba86-f6dc96a7bf27
---
 doc/manual/example5/function.c   | 16 ++++++++++++++++
 doc/manual/example5/function.cfg |  9 +++++++++
 doc/manual/example5/function.h   |  8 ++++++++
 doc/manual/example5/gen.sh       | 17 +++++++++++++++++
 4 files changed, 50 insertions(+)
 create mode 100644 doc/manual/example5/function.c
 create mode 100644 doc/manual/example5/function.cfg
 create mode 100644 doc/manual/example5/function.h
 create mode 100644 doc/manual/example5/gen.sh

(limited to 'doc/manual/example5')

diff --git a/doc/manual/example5/function.c b/doc/manual/example5/function.c
new file mode 100644
index 0000000..457b4a4
--- /dev/null
+++ b/doc/manual/example5/function.c
@@ -0,0 +1,16 @@
+static ScreenInfo default;
+static int initialized = 0;
+
+ScreenInfo* default_screen_depth() {
+  if (!initialized) {
+    default.redBits = 8;
+    default.greenBits = 8;
+    default.blueBits = 8;
+    initialized = 1;
+  }
+  return &default;
+}
+
+void set_screen_depth(ScreenInfo* info) {
+  /* Do something ... */
+}
diff --git a/doc/manual/example5/function.cfg b/doc/manual/example5/function.cfg
new file mode 100644
index 0000000..cb158ca
--- /dev/null
+++ b/doc/manual/example5/function.cfg
@@ -0,0 +1,9 @@
+Package testfunction
+Style AllStatic
+JavaClass TestFunction
+JavaOutputDir   gensrc/java
+NativeOutputDir gensrc/native
+
+# Tell GlueGen that default_screen_depth() returns a pointer to a
+# single ScreenInfo
+ReturnValueCapacity default_screen_depth sizeof(ScreenInfo)
diff --git a/doc/manual/example5/function.h b/doc/manual/example5/function.h
new file mode 100644
index 0000000..d845887
--- /dev/null
+++ b/doc/manual/example5/function.h
@@ -0,0 +1,8 @@
+typedef struct {
+  int redBits;
+  int greenBits;
+  int blueBits;
+} ScreenInfo;
+
+ScreenInfo* default_screen_depth();
+void set_screen_depth(ScreenInfo* info);
diff --git a/doc/manual/example5/gen.sh b/doc/manual/example5/gen.sh
new file mode 100644
index 0000000..6fb971e
--- /dev/null
+++ b/doc/manual/example5/gen.sh
@@ -0,0 +1,17 @@
+#!/bin/ksh
+
+JAVA=java
+GLUEGEN_JAR=../../../build/gluegen.jar
+ANTLR_JAR=../../../../../ANTLR/antlr-2.7.4/antlr.jar
+
+NAME=`uname`
+
+if [ $NAME="Windows*" ] ; then
+  SEP=\;
+elif [ $NAME="CYGWIN*" ] ; then
+  SEP=\;
+else
+  SEP=:
+fi
+
+java -cp $GLUEGEN_JAR$SEP$ANTLR_JAR com.sun.gluegen.GlueGen -I. -Ecom.sun.gluegen.JavaEmitter -Cfunction.cfg function.h
-- 
cgit v1.2.3