From edbf35a6e713661a60a9518eeaa818c15aab089d Mon Sep 17 00:00:00 2001 From: sg215889 Date: Wed, 29 Jul 2009 05:18:57 -0700 Subject: Add GL2GL3 synthetic methods for OpenGL Composable Pipeline --- src/java/com/sun/gluegen/opengl/BuildComposablePipeline.java | 2 ++ 1 file changed, 2 insertions(+) (limited to 'src/java/com/sun/gluegen/opengl/BuildComposablePipeline.java') diff --git a/src/java/com/sun/gluegen/opengl/BuildComposablePipeline.java b/src/java/com/sun/gluegen/opengl/BuildComposablePipeline.java index 89176f557..1698b187d 100644 --- a/src/java/com/sun/gluegen/opengl/BuildComposablePipeline.java +++ b/src/java/com/sun/gluegen/opengl/BuildComposablePipeline.java @@ -619,6 +619,7 @@ public class BuildComposablePipeline emitGLIsMethod(output, "GLES2"); emitGLIsMethod(output, "GL2ES1"); emitGLIsMethod(output, "GL2ES2"); + emitGLIsMethod(output, "GL2GL3"); output.println(" public boolean isGLES() {"); output.println(" return isGLES2() || isGLES1();"); output.println(" }"); @@ -648,6 +649,7 @@ public class BuildComposablePipeline emitGLGetMethod(output, "GLES2"); emitGLGetMethod(output, "GL2ES1"); emitGLGetMethod(output, "GL2ES2"); + emitGLGetMethod(output, "GL2GL3"); output.println(" public GLProfile getGLProfile() {"); output.println(" return "+getDownstreamObjectName()+".getGLProfile();"); output.println(" }"); -- cgit v1.2.3 From 22c78ff7b99a0ba42cbd019a3517fbeb4c6890a1 Mon Sep 17 00:00:00 2001 From: Sven Gothel Date: Sat, 1 Aug 2009 01:46:36 -0700 Subject: refine Trace/Debug output --- .../com/sun/gluegen/opengl/BuildComposablePipeline.java | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) (limited to 'src/java/com/sun/gluegen/opengl/BuildComposablePipeline.java') diff --git a/src/java/com/sun/gluegen/opengl/BuildComposablePipeline.java b/src/java/com/sun/gluegen/opengl/BuildComposablePipeline.java index 1698b187d..d62a68573 100644 --- a/src/java/com/sun/gluegen/opengl/BuildComposablePipeline.java +++ b/src/java/com/sun/gluegen/opengl/BuildComposablePipeline.java @@ -746,9 +746,9 @@ public class BuildComposablePipeline output.println(" * "); output.println("
");
       if(null!=prologNameOpt) {
-          output.println("     drawable.setGL( new "+className+"( drawable.getGL().getGL2ES2(), new "+prologNameOpt+"( drawable.getGL().getGL2ES2() ) ) );");
+          output.println("     GL gl = drawable.setGL( new "+className+"( drawable.getGL().getGL2ES2(), new "+prologNameOpt+"( drawable.getGL().getGL2ES2() ) ) );");
       } else {
-          output.println("     drawable.setGL( new "+className+"( drawable.getGL().getGL2ES2() ) );");
+          output.println("     GL gl = drawable.setGL( new "+className+"( drawable.getGL().getGL2ES2() ) );");
       }
       output.println("
"); output.println("*/"); @@ -898,7 +898,7 @@ public class BuildComposablePipeline output.println(" Sample code which installs this pipeline:

"); output.println(); output.println("
");
-      output.println("     drawable.setGL(new DebugGL(drawable.getGL()));");
+      output.println("     GL gl = drawable.setGL(new DebugGL(drawable.getGL()));");
       output.println("
"); output.println("*/"); } @@ -1036,7 +1036,7 @@ public class BuildComposablePipeline output.println(" before and after each OpenGL method call. Sample code which installs this pipeline:

"); output.println(); output.println("
");
-      output.println("     drawable.setGL(new TraceGL(drawable.getGL(), System.err));");
+      output.println("     GL gl = drawable.setGL(new TraceGL(drawable.getGL(), System.err));");
       output.println("
"); output.println("*/"); } @@ -1057,7 +1057,7 @@ public class BuildComposablePipeline output.println("printIndent();"); } - output.print(" println("); + output.print(" print("); printFunctionCallString(output, m); output.println(");"); } @@ -1095,10 +1095,10 @@ public class BuildComposablePipeline } else if(params[i].equals(int.class)) { output.print("+\"<"+params[i].getName()+"> 0x\"+Integer.toHexString(arg"+i+").toUpperCase()"); } else { - output.print("+\"<"+params[i].getName()+">\"+arg"+i); + output.print("+\"<"+params[i].getName()+"> \"+arg"+i); } if ( i < params.length-1) { - output.print("+\",\""); + output.print("+\", \""); } } output.print("+\")\""); -- cgit v1.2.3 From c83fc5cdcc615b4ee88ac2e0eb8737970fb2b8c3 Mon Sep 17 00:00:00 2001 From: Sven Gothel Date: Sat, 1 Aug 2009 02:31:15 -0700 Subject: Retain interface order in Custom Pipeline --- .../gluegen/opengl/BuildComposablePipeline.java | 22 ++++++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) (limited to 'src/java/com/sun/gluegen/opengl/BuildComposablePipeline.java') diff --git a/src/java/com/sun/gluegen/opengl/BuildComposablePipeline.java b/src/java/com/sun/gluegen/opengl/BuildComposablePipeline.java index d62a68573..b52047bbf 100644 --- a/src/java/com/sun/gluegen/opengl/BuildComposablePipeline.java +++ b/src/java/com/sun/gluegen/opengl/BuildComposablePipeline.java @@ -330,15 +330,29 @@ public class BuildComposablePipeline PrintWriter output = new PrintWriter(new BufferedWriter(new FileWriter(file))); + List baseInterfaces = Arrays.asList(baseInterfaceClass.getInterfaces()); HashSet clazzList = new HashSet(); clazzList.add(baseInterfaceClass); - clazzList.addAll(Arrays.asList(baseInterfaceClass.getInterfaces())); + clazzList.addAll(baseInterfaces); + int ifNamesNumber = clazzList.size(); - String[] ifNames = new String[clazzList.size()]; + // keep original order .. + clazzList.clear(); + String[] ifNames = new String[ifNamesNumber]; { int i=0; - for (Iterator iter=clazzList.iterator(); iter.hasNext(); ) { - ifNames[i++] = new String(((Class)iter.next()).getName()); + + for (Iterator iter=baseInterfaces.iterator(); iter.hasNext(); ) { + Class ifClass = (Class)iter.next(); + if(!clazzList.contains(ifClass)) { + ifNames[i++] = new String(ifClass.getName()); + clazzList.add(ifClass); + } + } + + if(null!=baseInterfaceClass && !clazzList.contains(baseInterfaceClass)) { + ifNames[i++] = new String(baseInterfaceClass.getName()); + clazzList.add(baseInterfaceClass); } } -- cgit v1.2.3