• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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