40package com.jogamp.gluegen.opengl;
42import com.jogamp.gluegen.CommentEmitter;
43import com.jogamp.gluegen.GlueGenException;
44import com.jogamp.gluegen.JavaEmitter;
45import com.jogamp.gluegen.JavaMethodBindingEmitter;
46import com.jogamp.gluegen.MethodBinding;
47import com.jogamp.gluegen.cgram.types.FunctionSymbol;
48import com.jogamp.gluegen.cgram.types.Type;
49import com.jogamp.gluegen.procaddress.ProcAddressJavaMethodBindingEmitter;
51import java.io.PrintWriter;
63 final String getProcAddressTableExpr,
final boolean changeNameAndArguments,
final boolean bufferObjectVariant,
final GLEmitter emitter) {
65 super(methodToWrap, callThroughProcAddress, getProcAddressTableExpr, changeNameAndArguments, emitter);
67 this.glEmitter = emitter;
74 this.glEmitter = emitter;
84 final String name = super.getArgumentName(i);
92 if (binding.getJavaArgumentType(i).isLong()) {
93 final Type cType = binding.getCArgumentType(i);
94 final Type targetType = cType.asPointer().getTargetType();
95 if (cType.isPointer() && (targetType.isVoid() || targetType.isPrimitive())) {
96 return name +
"_buffer_offset";
107 final String symbolRenamed = binding.getName();
108 final StringBuilder newComment =
new StringBuilder();
110 final FunctionSymbol funcSym = binding.getCSymbol();
111 writer.print(
"<code> ");
112 writer.print(funcSym.getType().toString(symbolRenamed, tagNativeBinding));
113 writer.print(
" </code> ");
115 newComment.append(
"<br>Part of ");
118 newComment.append(
"CORE FUNC");
121 final GlueGenException ex =
new GlueGenException(
"Couldn't find extension to: " + funcSym.getAliasedString(), funcSym.getASTLocusTag());
122 System.err.println(ex.getMessage());
127 newComment.append(
"UNDEFINED");
131 newComment.append(
"<br>");
132 emitAliasedDocNamesComment(funcSym, newComment);
133 writer.print(newComment.toString());
BuildStaticGLInfo getGLDocInfo()
Returns the information about the association between #defines, function symbols and the OpenGL exten...
boolean getAllowNonGLExtensions()
If true, accept all non encapsulated defines and functions, as it is mandatory for GL declarations.
A subclass of ProcAddressEmitter with special OpenGL-specific configuration abilities.
GLConfiguration getGLConfig()
int addExtensionsOfSymbols2Doc(StringBuilder buf, final String sep1, final String sep2, final String first)
A specialization of the proc address emitter which knows how to change argument names to take into ac...
GLJavaMethodBindingEmitter(final GLJavaMethodBindingEmitter methodToWrap)
GLJavaMethodBindingEmitter(final JavaMethodBindingEmitter methodToWrap, final boolean callThroughProcAddress, final String getProcAddressTableExpr, final boolean changeNameAndArguments, final boolean bufferObjectVariant, final GLEmitter emitter)
String getArgumentName(final int i)
boolean bufferObjectVariant
CommentEmitter glCommentEmitter
GLJavaMethodBindingEmitter(final ProcAddressJavaMethodBindingEmitter methodToWrap, final GLEmitter emitter, final boolean bufferObjectVariant)