1 import java.io.PrintStream; 2 3 /** 4 * Emits a Java interface and Java & C implementation for a C function. 5 * 6 * <p> The Java interface will have Buffer and array variants for functions that 7 * have a typed pointer argument. The array variant will convert a single "<type> *data" 8 * argument to a pair of arguments "<type>[] data, int offset". 9 */ 10 public class GLESCodeEmitter extends JniCodeEmitter { 11 12 PrintStream mJavaImplStream; 13 PrintStream mCStream; 14 15 PrintStream mJavaInterfaceStream; 16 17 /** 18 */ GLESCodeEmitter(String classPathName, ParameterChecker checker, PrintStream javaImplStream, PrintStream cStream)19 public GLESCodeEmitter(String classPathName, 20 ParameterChecker checker, 21 PrintStream javaImplStream, 22 PrintStream cStream) { 23 mClassPathName = classPathName; 24 mChecker = checker; 25 26 mJavaImplStream = javaImplStream; 27 mCStream = cStream; 28 mUseContextPointer = false; 29 mUseStaticMethods = true; 30 } 31 emitCode(CFunc cfunc, String original)32 public void emitCode(CFunc cfunc, String original) { 33 emitCode(cfunc, original, null, mJavaImplStream, 34 mCStream); 35 } 36 emitNativeRegistration(String nativeRegistrationName)37 public void emitNativeRegistration(String nativeRegistrationName) { 38 emitNativeRegistration(nativeRegistrationName, mCStream); 39 } 40 } 41