FOREIGN MODULE sun_java2d_pipe_hw;

IMPORT
    java_lang := "java.lang",
    java_util := "java.util",
    java_awt_image := "java.awt.image",
    sun_java2d := "sun.java2d",
    java_awt := "java.awt",
    sun_awt_image := "sun.awt.image",
    sun_java2d_pipe := "sun.java2d.pipe",
    java_io := "java.io";

TYPE

  AccelDeviceEventListener* = POINTER TO INTERFACE RECORD (java_lang.Object)    (* Typebound Procedures *)
                              END;

  AccelDeviceEventNotifier* = POINTER TO EXTENSIBLE RECORD (java_lang.Object)
                              STATIC
                                DEVICE_DISPOSED* = 1;
                                DEVICE_RESET*    = 0;
                                PROCEDURE addListener*(p0 : AccelDeviceEventListener;
                                                       p1 : INTEGER);
                                PROCEDURE eventOccured*(p0 : INTEGER;
                                                        p1 : INTEGER);
                                PROCEDURE removeListener*(p0 : AccelDeviceEventListener);
                              END;

  AccelGraphicsConfig* = POINTER TO INTERFACE RECORD (java_lang.Object + BufferedContextProvider)    (* Typebound Procedures *)
                         END;

  AccelSurface* = POINTER TO INTERFACE RECORD (java_lang.Object + BufferedContextProvider + sun_java2d.Surface)    (* Typebound Procedures *)
                  STATIC
                    FLIP_BACKBUFFER* = 4;
                    RT_PLAIN*        = 2;
                    RT_TEXTURE*      = 5;
                    TEXTURE*         = 3;
                    UNDEFINED*       = 0;
                    WINDOW*          = 1;
                  END;

  AccelTypedVolatileImage* = POINTER TO EXTENSIBLE RECORD (sun_awt_image.SunVolatileImage)    (* Typebound Procedures *)
                             STATIC
                               PROCEDURE Init*(p0 : java_awt.GraphicsConfiguration;
                                               p1 : INTEGER;
                                               p2 : INTEGER;
                                               p3 : INTEGER;
                                               p4 : INTEGER) : AccelTypedVolatileImage,CONSTRUCTOR;
                             END;

  BufferedContextProvider* = POINTER TO INTERFACE RECORD (java_lang.Object)    (* Typebound Procedures *)
                             END;

  ContextCapabilities* = POINTER TO EXTENSIBLE RECORD (java_lang.Object)    (* Typebound Procedures *)
                           caps!      : INTEGER;
                           adapterId! : java_lang.String;
                         STATIC
                           CAPS_EMPTY*             = 0;
                           CAPS_MULTITEXTURE*      = 16;
                           CAPS_PS20*              = 128;
                           CAPS_PS30*              = 256;
                           CAPS_RT_PLAIN_ALPHA*    = 2;
                           CAPS_RT_TEXTURE_ALPHA*  = 4;
                           CAPS_RT_TEXTURE_OPAQUE* = 8;
                           CAPS_TEXNONPOW2*        = 32;
                           CAPS_TEXNONSQUARE*      = 64;
                           FIRST_PRIVATE_CAP!      = 65536;
                           PROCEDURE Init!(p0 : INTEGER;
                                           p1 : java_lang.String) : ContextCapabilities,CONSTRUCTOR;
                         END;

  ExtendedBufferCapabilities* = POINTER TO EXTENSIBLE RECORD (java_awt.BufferCapabilities)    (* Typebound Procedures *)
                                STATIC
                                  PROCEDURE Init*(p0 : java_awt.ImageCapabilities;
                                                  p1 : java_awt.ImageCapabilities;
                                                  p2 : java_awt.BufferCapabilities$FlipContents;
                                                  p3 : ExtendedBufferCapabilities$VSyncType) : ExtendedBufferCapabilities,CONSTRUCTOR;
                                  PROCEDURE Init*(p0 : java_awt.BufferCapabilities;
                                                  p1 : ExtendedBufferCapabilities$VSyncType) : ExtendedBufferCapabilities,CONSTRUCTOR;
                                  PROCEDURE Init*(p0 : java_awt.BufferCapabilities) : ExtendedBufferCapabilities,CONSTRUCTOR;
                                  PROCEDURE Init*(p0 : java_awt.ImageCapabilities;
                                                  p1 : java_awt.ImageCapabilities;
                                                  p2 : java_awt.BufferCapabilities$FlipContents) : ExtendedBufferCapabilities,CONSTRUCTOR;
                                END;

  ExtendedBufferCapabilities$VSyncType* = POINTER TO RECORD (java_lang.Enum)    (* Typebound Procedures *)
                                          STATIC
                                            VSYNC_DEFAULT* : ExtendedBufferCapabilities$VSyncType;
                                            VSYNC_OFF*     : ExtendedBufferCapabilities$VSyncType;
                                            VSYNC_ON*      : ExtendedBufferCapabilities$VSyncType;
                                            PROCEDURE valueOf*(p0 : java_lang.String) : ExtendedBufferCapabilities$VSyncType;
                                            PROCEDURE values*() : POINTER TO ARRAY OF ExtendedBufferCapabilities$VSyncType;
                                          END;




PROCEDURE (self:AccelDeviceEventListener) onDeviceDispose*(),NEW,ABSTRACT;

PROCEDURE (self:AccelDeviceEventListener) onDeviceReset*(),NEW,ABSTRACT;

PROCEDURE (self:AccelGraphicsConfig) addDeviceEventListener*(p0 : AccelDeviceEventListener),NEW,ABSTRACT;

PROCEDURE (self:AccelGraphicsConfig) createCompatibleVolatileImage*(p0 : INTEGER;
                                                                    p1 : INTEGER;
                                                                    p2 : INTEGER;
                                                                    p3 : INTEGER) : java_awt_image.VolatileImage,NEW,ABSTRACT;

PROCEDURE (self:AccelGraphicsConfig) getContextCapabilities*() : ContextCapabilities,NEW,ABSTRACT;

PROCEDURE (self:AccelGraphicsConfig) removeDeviceEventListener*(p0 : AccelDeviceEventListener),NEW,ABSTRACT;

PROCEDURE (self:AccelSurface) getBounds*() : java_awt.Rectangle,NEW,ABSTRACT;

PROCEDURE (self:AccelSurface) getNativeBounds*() : java_awt.Rectangle,NEW,ABSTRACT;

PROCEDURE (self:AccelSurface) getNativeOps*() : LONGINT,NEW,ABSTRACT;

PROCEDURE (self:AccelSurface) getNativeResource*(p0 : INTEGER) : LONGINT,NEW,ABSTRACT;

PROCEDURE (self:AccelSurface) getType*() : INTEGER,NEW,ABSTRACT;

PROCEDURE (self:AccelSurface) isSurfaceLost*() : BOOLEAN,NEW,ABSTRACT;

PROCEDURE (self:AccelSurface) isValid*() : BOOLEAN,NEW,ABSTRACT;

PROCEDURE (self:AccelSurface) markDirty*(),NEW,ABSTRACT;

PROCEDURE (self:AccelTypedVolatileImage) createGraphics*() : java_awt.Graphics2D,EXTENSIBLE;

PROCEDURE (self:BufferedContextProvider) getContext*() : sun_java2d_pipe.BufferedContext,NEW,ABSTRACT;

PROCEDURE (self:ContextCapabilities) getAdapterId*() : java_lang.String,NEW,EXTENSIBLE;

PROCEDURE (self:ContextCapabilities) getCaps*() : INTEGER,NEW,EXTENSIBLE;

PROCEDURE (self:ContextCapabilities) toString*() : java_lang.String,EXTENSIBLE;

PROCEDURE (self:ExtendedBufferCapabilities) derive*(p0 : ExtendedBufferCapabilities$VSyncType) : ExtendedBufferCapabilities,NEW,EXTENSIBLE;

PROCEDURE (self:ExtendedBufferCapabilities) getVSync*() : ExtendedBufferCapabilities$VSyncType,NEW,EXTENSIBLE;

PROCEDURE (self:ExtendedBufferCapabilities) isPageFlipping*() : BOOLEAN;

PROCEDURE (self:ExtendedBufferCapabilities$VSyncType) id*() : INTEGER,NEW,EXTENSIBLE;

END sun_java2d_pipe_hw.