OSDN Git Service

Support "const GLChar*" and "const GLenum*" types
authorJesse Hall <jessehall@google.com>
Fri, 29 Mar 2013 22:20:45 +0000 (15:20 -0700)
committerJesse Hall <jessehall@google.com>
Wed, 10 Apr 2013 15:34:54 +0000 (08:34 -0700)
Bug: 8566953
Change-Id: I349575e592e8b0d93d14237230b69bec4e04cf3e

opengl/tools/glgen/src/CType.java
opengl/tools/glgen/src/JType.java

index 92950ea..aba98af 100644 (file)
@@ -70,7 +70,8 @@ public class CType {
     }
 
     public boolean isConstCharPointer() {
-        return isConst && isPointer && baseType.equals("char");
+        return isConst && isPointer &&
+            (baseType.equals("char") || baseType.equals("GLchar"));
     }
 
     public boolean isTypedPointer() {
index 994e609..795d833 100644 (file)
@@ -46,6 +46,7 @@ public class JType {
     typeMapping.put(new CType("GLubyte", true, true), new JType("String", false, false));
     typeMapping.put(new CType("char", false, true), new JType("byte"));
     typeMapping.put(new CType("char", true, true), new JType("String", false, false));
+    typeMapping.put(new CType("GLchar", true, true), new JType("String", false, false));
     typeMapping.put(new CType("int"), new JType("int"));
 
     // EGL primitive types
@@ -80,6 +81,8 @@ public class JType {
             new JType("java.nio.IntBuffer", true, false));
     typeMapping.put(new CType("GLenum", false, true),
             new JType("java.nio.IntBuffer", true, false));
+    typeMapping.put(new CType("GLenum", true, true),
+            new JType("java.nio.IntBuffer", true, false));
     typeMapping.put(new CType("GLfixed", false, true),
             new JType("java.nio.IntBuffer", true, false));
     typeMapping.put(new CType("GLfixed", true, true),
@@ -107,6 +110,7 @@ public class JType {
     arrayTypeMapping.put(new CType("GLboolean", false, true),
             new JType("boolean", false, true));
     arrayTypeMapping.put(new CType("GLenum", false, true), new JType("int", false, true));
+    arrayTypeMapping.put(new CType("GLenum", true, true), new JType("int", false, true));
     arrayTypeMapping.put(new CType("GLfixed", true, true), new JType("int", false, true));
     arrayTypeMapping.put(new CType("GLfixed", false, true), new JType("int", false, true));
     arrayTypeMapping.put(new CType("GLfloat", false, true), new JType("float", false, true));