// Path: src/main/java/org/bridj/jawt/JawtLibrary.java
// public static class JNIEnv extends TypedPointer {
// 
//     public JNIEnv(long address) {
//         super(address);
//     }
// 
//     public JNIEnv(Pointer address) {
//         super(address);
//     }
// };


import org.bridj.Callback;
import org.bridj.Pointer;
import org.bridj.StructObject;
import org.bridj.ann.Convention;
import org.bridj.ann.Field;
import org.bridj.ann.Library;
import org.bridj.jawt.JawtLibrary.JNIEnv;
    @Field(4)
    public Pointer<Unlock_callback> Unlock() {
        return this.io.getPointerField(this, 4);
    }

    @Field(5)
    public Pointer<GetComponent_callback> GetComponent() {
        return this.io.getPointerField(this, 5);
    }

    public static abstract class GetDrawingSurface_callback extends Callback {

        public abstract Pointer<org.bridj.jawt.JAWT_DrawingSurface> invoke(Pointer<JNIEnv> env, Pointer<?> target);
    };
    /// <i>native declaration : jawt.h:236</i>

    public static abstract class FreeDrawingSurface_callback extends Callback {

        public abstract void invoke(Pointer<org.bridj.jawt.JAWT_DrawingSurface> ds);
    };
    /// <i>native declaration : jawt.h:242</i>

    public static abstract class Lock_callback extends Callback {

        public abstract void invoke(Pointer<JNIEnv> env);
    };
    /// <i>native declaration : jawt.h:247</i>

    public static abstract class Unlock_callback extends Callback {

// Path: src/main/java/org/bridj/jawt/JawtLibrary.java
// public static class JNIEnv extends TypedPointer {
// 
//     public JNIEnv(long address) {
//         super(address);
//     }
// 
//     public JNIEnv(Pointer address) {
//         super(address);
//     }
// };


// Path: src/main/java/org/bridj/jawt/JAWT.java
import org.bridj.Callback;
import org.bridj.Pointer;
import org.bridj.StructObject;
import org.bridj.ann.Convention;
import org.bridj.ann.Field;
import org.bridj.ann.Library;
import org.bridj.jawt.JawtLibrary.JNIEnv;

    @Field(4)
    public Pointer<Unlock_callback> Unlock() {
        return this.io.getPointerField(this, 4);
    }

    @Field(5)
    public Pointer<GetComponent_callback> GetComponent() {
        return this.io.getPointerField(this, 5);
    }

    public static abstract class GetDrawingSurface_callback extends Callback {

        public abstract Pointer<org.bridj.jawt.JAWT_DrawingSurface> invoke(Pointer<JNIEnv> env, Pointer<?> target);
    };
    /// <i>native declaration : jawt.h:236</i>

    public static abstract class FreeDrawingSurface_callback extends Callback {

        public abstract void invoke(Pointer<org.bridj.jawt.JAWT_DrawingSurface> ds);
    };
    /// <i>native declaration : jawt.h:242</i>

    public static abstract class Lock_callback extends Callback {

        public abstract void invoke(Pointer<JNIEnv> env);
    };
    /// <i>native declaration : jawt.h:247</i>

    public static abstract class Unlock_callback extends Callback {

        public abstract void invoke(Pointer<JNIEnv> env);