blob: b303503ccc0f094e38c258c0290aee7c50eeadf8 [file] [log] [blame]
Jack Palevich412f38f22009-04-13 16:22:25 -07001import 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 */
10public class GLESCodeEmitter extends JniCodeEmitter {
11
12 PrintStream mJavaImplStream;
13 PrintStream mCStream;
14
15 PrintStream mJavaInterfaceStream;
16
17 /**
18 */
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
32 public void emitCode(CFunc cfunc, String original) {
33 emitCode(cfunc, original, null, mJavaImplStream,
34 mCStream);
35 }
36
37 public void emitNativeRegistration(String nativeRegistrationName) {
38 emitNativeRegistration(nativeRegistrationName, mCStream);
39 }
40}