summaryrefslogtreecommitdiffstats
path: root/doc/manual/example6/function.cfg
diff options
context:
space:
mode:
Diffstat (limited to 'doc/manual/example6/function.cfg')
-rw-r--r--doc/manual/example6/function.cfg25
1 files changed, 25 insertions, 0 deletions
diff --git a/doc/manual/example6/function.cfg b/doc/manual/example6/function.cfg
new file mode 100644
index 0000000..c94e856
--- /dev/null
+++ b/doc/manual/example6/function.cfg
@@ -0,0 +1,25 @@
+Package testfunction
+Style AllStatic
+JavaClass TestFunction
+JavaOutputDir gensrc/java
+NativeOutputDir gensrc/native
+
+# Get returned array's capacity from XGetVisualInfo to be correct
+TemporaryCVariableDeclaration XGetVisualInfo int count;
+TemporaryCVariableAssignment XGetVisualInfo count = _ptr3[0];
+ReturnValueCapacity XGetVisualInfo count * sizeof(XVisualInfo)
+
+# Helper routine to make the ReturnedArrayLength expression below work correctly
+CustomJavaCode TestFunction private static int getFirstElement(IntBuffer buf) { return buf.get(buf.position()); }
+CustomJavaCode TestFunction private static int getFirstElement(int[] arr, int offset) { return arr[offset]; }
+ReturnedArrayLength XGetVisualInfo getFirstElement({3})
+
+# We don't need the Display and Visual data structures to be
+# explicitly exposed
+Opaque long Display *
+Opaque long Visual *
+# Ignore the empty Display and Visual data structures (though made
+# opaque, the references from XVisualInfo and elsewhere are still
+# traversed)
+Ignore Display
+Ignore Visual