Package Name: java.awt.image

Return to: Package List


with java.lang; use java.lang;
with java.lang.String; use java.lang.String;
with java.awt.Color; use java.awt.Color;
with java.awt.Graphics; use java.awt.Graphics;

with java.util.Hashtable; use java.util.Hashtable;

package java.awt.Image is
    type Image_Obj is new Object with null record;


    type Image_Ptr is access all Image_Obj'Class;

    ------- image.ColorModel --------


    package ColorModel is
	type ColorModel_Obj is abstract new Object with null record;

	type ColorModel_Ptr is access all ColorModel_Obj'Class;

	function getRGBdefault return ColorModel_Ptr;
	procedure init_ColorModel(Obj : access ColorModel_Obj'Class;

	    bits : Integer);

	function getPixelSize(Obj : access ColorModel_Obj) return Integer;
	function getRed(Obj : access ColorModel_Obj;
	    pixel : Integer)

	  return Integer is abstract;
	function getGreen(Obj : access ColorModel_Obj;
	    pixel : Integer)

	  return Integer is abstract;
	function getBlue(Obj : access ColorModel_Obj;
	    pixel : Integer)

	  return Integer is abstract;
	function getAlpha(Obj : access ColorModel_Obj;
	    pixel : Integer)

	  return Integer is abstract;
	function getRGB(Obj : access ColorModel_Obj;
	    pixel : Integer)

	  return Integer is abstract;
	pragma Import(Java, getRGBdefault);
	pragma Import(Java, getAlpha);
	pragma Import(Java, getGreen);
	pragma Import(Java, getRed);
	pragma Import(Java, getRGB);
	pragma Import(Java, getBlue);

	pragma Import(Java, getPixelSize);

	pragma Import(Java_Constructor, init_ColorModel);

    end ColorModel;

    use ColorModel;

    ---------- image.ImageConsumer ----------

    package ImageConsumer is

	-- NOTE: ImageConsumer is an "interface" type
	type ImageConsumer_Obj is new Object with null record;

	pragma Convention(Java_Interface, ImageConsumer_Obj);

	type ImageConsumer_Ptr is access all ImageConsumer_Obj'Class;
	RANDOMPIXELORDER : constant Integer;

	pragma Import(Java, RANDOMPIXELORDER);
	TOPDOWNLEFTRIGHT : constant Integer;

	pragma Import(Java, TOPDOWNLEFTRIGHT);
	COMPLETESCANLINES : constant Integer;

	pragma Import(Java, COMPLETESCANLINES);
	SINGLEPASS : constant Integer;

	pragma Import(Java, SINGLEPASS);
	SINGLEFRAME : constant Integer;

	pragma Import(Java, SINGLEFRAME);
	IMAGEERROR : constant Integer;

	pragma Import(Java, IMAGEERROR);
	SINGLEFRAMEDONE : constant Integer;

	pragma Import(Java, SINGLEFRAMEDONE);
	STATICIMAGEDONE : constant Integer;

	pragma Import(Java, STATICIMAGEDONE);
	IMAGEABORTED : constant Integer;

	pragma Import(Java, IMAGEABORTED);
	procedure setDimensions(Obj : access ImageConsumer_Obj;
	    width : Integer;

	    height : Integer);
	procedure setProperties(Obj : access ImageConsumer_Obj;

	    props : Hashtable_Ptr);
	procedure setColorModel(Obj : access ImageConsumer_Obj;

	    model : ColorModel_Ptr);
	procedure setHints(Obj : access ImageConsumer_Obj;

	    hintflags : Integer);
	type Pixel_Byte is mod 2**8;

	type Pixel_Byte_Array is array(Positive range <>) of Pixel_Byte;
	procedure setPixels(Obj : access ImageConsumer_Obj;
	    x : Integer;
	    y : Integer;
	    w : Integer;
	    h : Integer;
	    model : ColorModel_Ptr;
	    pixels : Pixel_Byte_Array;
	    off : Integer;

	    scansize : Integer);
	type Pixel_Integer is mod 2**32;
	type Pixel_Integer_Array is 

	  array(Positive range <>) of Pixel_Integer;
	procedure setPixels(Obj : access ImageConsumer_Obj;
	    x : Integer;
	    y : Integer;
	    w : Integer;
	    h : Integer;
	    model : ColorModel_Ptr;
	    pixels : Pixel_Integer_Array;
	    off : Integer;

	    scansize : Integer);
	procedure imageComplete(Obj : access ImageConsumer_Obj;

	    status : Integer);
	pragma Import(Java, setColorModel);
	pragma Import(Java, setHints);
	pragma Import(Java, setPixels);
	pragma Import(Java, setDimensions);
	pragma Import(Java, setProperties);

	pragma Import(Java, imageComplete);

    end ImageConsumer;

    use ImageConsumer;
    ------- image.ImageProducer ---------

    package ImageProducer is

	-- NOTE: ImageProducer is an "interface" type
	type ImageProducer_Obj is new Object with null record;

	pragma Convention(Java_Interface, ImageProducer_Obj);

	type ImageProducer_Ptr is access all ImageProducer_Obj'Class;
	procedure addConsumer(Obj : access ImageProducer_Obj;

	    ic : ImageConsumer_Ptr);
	function isConsumer(Obj : access ImageProducer_Obj;
	    ic : ImageConsumer_Ptr)

	  return Boolean;
	procedure removeConsumer(Obj : access ImageProducer_Obj;

	    ic : ImageConsumer_Ptr);
	procedure startProduction(Obj : access ImageProducer_Obj;

	    ic : ImageConsumer_Ptr);
	procedure requestTopDownLeftRightResend(Obj : access ImageProducer_Obj;

	    ic : ImageConsumer_Ptr);
	pragma Import(Java, isConsumer);
	pragma Import(Java, addConsumer);
	pragma Import(Java, startProduction);
	pragma Import(Java, removeConsumer);


	pragma Import(Java, requestTopDownLeftRightResend);

    end ImageProducer;

    use ImageProducer;
    ------- image.ImageObserver ---------

    package ImageObserver is

	-- NOTE: ImageObserver is an "interface" type
	type ImageObserver_Obj is new Object with null record;

	pragma Convention(Java_Interface, ImageObserver_Obj);

	type ImageObserver_Ptr is access all ImageObserver_Obj'Class;
	WIDTH : constant Integer;

	pragma Import(Java, WIDTH);
	HEIGHT : constant Integer;

	pragma Import(Java, HEIGHT);
	PROPERTIES : constant Integer;

	pragma Import(Java, PROPERTIES);
	SOMEBITS : constant Integer;

	pragma Import(Java, SOMEBITS);
	FRAMEBITS : constant Integer;

	pragma Import(Java, FRAMEBITS);
	ALLBITS : constant Integer;

	pragma Import(Java, ALLBITS);
	ERROR : constant Integer;

	pragma Import(Java, ERROR);
	ABORT_op : constant Integer;

	pragma Import(Java, ABORT_op, "ABORT");
	function imageUpdate(Obj : access ImageObserver_Obj;
	    img : Image_Ptr;
	    infoflags : Integer;
	    x : Integer;
	    y : Integer;
	    width : Integer;
	    height : Integer)

	  return Boolean;


	pragma Import(Java, imageUpdate);

    end ImageObserver;

    use ImageObserver;

    ------- Image operations ----------------
    UndefinedProperty : constant Object_Ptr;

    pragma Import(Java, UndefinedProperty);
    function getWidth(Obj : access Image_Obj;
        observer : ImageObserver_Ptr)

      return Integer;
    function getHeight(Obj : access Image_Obj;
        observer : ImageObserver_Ptr)

      return Integer;

    function getSource(Obj : access Image_Obj) return ImageProducer_Ptr;

    function getGraphics(Obj : access Image_Obj) return Graphics_Ptr;
    function getProperty(Obj : access Image_Obj;
        name : String_Ptr;
        observer : ImageObserver_Ptr)

      return Object_Ptr;

    procedure flush(Obj : access Image_Obj);

    procedure init_Image(Obj : access Image_Obj'Class);
    pragma Import(Java, getWidth);
    pragma Import(Java, getHeight);
    pragma Import(Java, getSource);
    pragma Import(Java, getGraphics);
    pragma Import(Java, getProperty);

    pragma Import(Java, flush);

    pragma Import(Java_Constructor, init_Image);
    ----- operations to draw an image on a graphics object ----

    ----- (these are actually virtual methods of Graphics_Obj) -------
    function drawImage(Obj : Graphics_Ptr;
        img : Image_Ptr;
        x : Integer;
        y : Integer;
        observer : ImageObserver_Ptr)

      return Boolean;
    function drawImage(Obj : Graphics_Ptr;
        img : Image_Ptr;
        x : Integer;
        y : Integer;
        width : Integer;
        height : Integer;
        observer : ImageObserver_Ptr)

      return Boolean;
    function drawImage(Obj : Graphics_Ptr;
        img : Image_Ptr;
        x : Integer;
        y : Integer;
        bgcolor : Color_Ptr;
        observer : ImageObserver_Ptr)

      return Boolean;
    function drawImage(Obj : Graphics_Ptr;
        img : Image_Ptr;
        x : Integer;
        y : Integer;
        width : Integer;
        height : Integer;
        bgcolor : Color_Ptr;
        observer : ImageObserver_Ptr)

      return Boolean;

    pragma Import(Java, drawImage, "java/awt/Graphics.drawImage");
end java.awt.Image;