org.gnu.gdk
Class Drawable

java.lang.Object
  extended by org.gnu.glib.Struct
      extended by org.gnu.glib.GObject
          extended by org.gnu.gdk.Drawable
Direct Known Subclasses:
Bitmap, Pixmap, Window

public class Drawable
extends GObject

Provides support for drawing points, lines, arcs, and text onto what we call 'drawables'. Drawables, as the name suggests, are things which support drawing onto them and are either org.gnu.gdk.Window or org.gnu.gdk.Pixmap objects.


Method Summary
 void drawArc(boolean filled, int x, int y, int width, int height, int angle1, int angle2)
          Draws an arc or a filled 'pie slice'.
 void drawArc(GC gc, boolean filled, int x, int y, int width, int height, int angle1, int angle2)
          Draws an arc or a filled 'pie slice'.
 void drawDrawable(Drawable src, int xsrc, int ysrc, int xdest, int ydest, int width, int height)
          Convience method that copies the width x height region of the Drawable at coordinates (xsrc,ysrc) to coordinates (xdest,ydest) using the default GC.
 void drawDrawable(GC gc, Drawable src, int xsrc, int ysrc, int xdest, int ydest, int width, int height)
          Copies the width x height region of the Drawable at coordinates (xsrc,ysrc) to coordinates (xdest,ydest).
 void drawGlyphs(Font font, int x, int y, GlyphString glyphs)
          This is a low-level function.
 void drawGlyphs(GC gc, Font font, int x, int y, GlyphString glyphs)
          This is a low-level function.
 void drawGrayImage(GC gc, int x, int y, int width, int height, RgbDither dither, byte[] buffer, int rowStride)
           
 void drawGrayImage(int x, int y, int width, int height, RgbDither dither, byte[] buffer, int rowStride)
           
 void drawImage(GC gc, Image image, int xsrc, int ysrc, int xdest, int ydest, int width, int height)
          Draw an Image onto this Drawable.
 void drawImage(Image image, int xsrc, int ysrc, int xdest, int ydest, int width, int height)
          Draw an Image onto this Drawable using the default GC.
 void drawIndexedImage(GC gc, int x, int y, int width, int height, RgbDither dither, byte[] buffer, int rowStride, RgbCmap cmap)
           
 void drawIndexedImage(int x, int y, int width, int height, RgbDither dither, byte[] buffer, int rowStride, RgbCmap cmap)
           
 void drawLayout(GC gc, int x, int y, Layout layout)
          Render a Layout onto this Drawable.
 void drawLayout(int x, int y, Layout layout)
          Render a Layout onto this Drawable using the default GC.
 void drawLayoutLine(GC gc, int x, int y, LayoutLine line)
          Render a LayoutLine onto this Drawable.
 void drawLayoutLine(int x, int y, LayoutLine line)
          Render a LayoutLine onto this Drawable using the default GC.
 void drawLayoutLineWithColors(GC gc, int x, int y, LayoutLine line, Color foreground, Color background)
          Render a LayoutLne onto this Drawable overriding the layout's normal colors with the provided forground and background.
 void drawLayoutLineWithColors(int x, int y, LayoutLine line, Color foreground, Color background)
          Render a LayoutLne onto this Drawable overriding the layout's normal colors with the provided forground and background and using the default GC.
 void drawLayoutWithColors(GC gc, int x, int y, Layout layout, Color foreground, Color background)
          Render a Layout onto this Drawable overriding the layout's normal colors with the provided forground and background.
 void drawLayoutWithColors(int x, int y, Layout layout, Color foreground, Color background)
          Render a Layout onto this Drawable overriding the layout's normal colors with the provided forground and background using the default GC.
 void drawLine(GC gc, int x1, int y1, int x2, int y2)
          Draw a line using the foreground color and other attributes of the GC.
 void drawLine(int x1, int y1, int x2, int y2)
          Draw a line using the foreground color and other attributes of the default GC.
 void drawLines(GC gc, Point[] points)
          Draw a series of lines connecting the given points.
 void drawLines(Point[] points)
          Draw a series of lines connecting the given points.
 void drawPixbuf(GC gc, Pixbuf pixbuf, int srcx, int srcy, int destx, int desty, int width, int height, RgbDither dither, int xdither, int ydither)
          Render a rectangular portion of a Pixbuf to this Drawable.
 void drawPixbuf(Pixbuf pixbuf, int srcx, int srcy, int destx, int desty, int width, int height, RgbDither dither, int xdither, int ydither)
          Render a rectangular portion of a Pixbuf to this Drawable.
 void drawPoint(GC gc, int x, int y)
          Draw a point using the foreground color and other attributes of the GC.
 void drawPoint(int x, int y)
          Draw a point using the foreground color and other attributes of the default GC.
 void drawPoints(GC gc, Point[] points)
          Draw a number of points using the forground color and other attributes of the GC.
 void drawPoints(Point[] points)
          Draw a number of points using the forground color and other attributes of the default GC.
 void drawPolygon(boolean filled, Point[] points)
          Convience method that draws an outlined or filled polygon using the default GC.
 void drawPolygon(GC gc, boolean filled, Point[] points)
          Draws an outlined or filled polygon.
 void drawRectangle(boolean filled, int x, int y, int width, int height)
          Draws a rectangle outlined or filled using the forground color and other attributes of the default GC.
 void drawRectangle(GC gc, boolean filled, int x, int y, int width, int height)
          Draws a rectangle outlined or filled using the forground color and other attributes of the GC.
 void drawRGB32Image(GC gc, int x, int y, int width, int height, RgbDither dither, byte[] buffer, int rowStride)
           
 void drawRGB32Image(int x, int y, int width, int height, RgbDither dither, byte[] buffer, int rowStride)
           
 void drawRGB32ImageDitherAlign(GC gc, int x, int y, int width, int height, RgbDither dither, byte[] buffer, int rowStride, int xdith, int ydith)
           
 void drawRGB32ImageDitherAlign(int x, int y, int width, int height, RgbDither dither, byte[] buffer, int rowStride, int xdith, int ydith)
           
 void drawRGBImage(GC gc, int x, int y, int width, int height, RgbDither dither, byte[] buffer, int rowStride)
           
 void drawRGBImage(int x, int y, int width, int height, RgbDither dither, byte[] buffer, int rowStride)
           
 void drawRGBImageDitherAlign(GC gc, int x, int y, int width, int height, RgbDither dither, byte[] buffer, int rowStride, int xdith, int ydith)
           
 void drawRGBImageDitherAlign(int x, int y, int width, int height, RgbDither dither, byte[] buffer, int rowStride, int xdith, int ydith)
           
 void drawSegments(GC gc, Segment[] segments)
          Draw a number of unconnected lines.
 void drawSegments(Segment[] segments)
          Draw a number of unconnected lines using the default GC.
 Region getClipRegion()
          Computes the Region of a Drawable that potentially can be written to by drawing primitives.
 Colormap getColormap()
          Gets the Colormap for the Drawable if one is set; returns null otherwise.
 int getDepth()
          Obtains the bit depth of the Drawable, this is, the number of bits that make up a pixel.
 Display getDisplay()
          Get the Display associated with the Drawable.
 int getHeight()
          Return the height of the Drawable.
 Image getImage(int x, int y, int width, int height)
          Obtains the pixels from a server-side Drawable as a client-side Image.
 Screen getScreen()
          Get the Screen associated with the Drawable.
 Dimension getSize()
          Deprecated. use getWidth and getHeight instead.
static Type getType()
          Retrieve the runtime type used by the GLib library.
 Region getVisibleRegion()
          Computes the Region of a Drawable that is potentially visible.
 Visual getVisual()
          Gets the Visual describing the pixel format of this Drawable.
 int getWidth()
          Return the width of the Drawable
 void setColormap(Colormap cmap)
          Sets the Colormap associated with the Drawable.
 
Methods inherited from class org.gnu.glib.GObject
addEventHandler, addEventHandler, addEventHandler, addEventHandler, addEventHandler, addEventHandler, addEventHandler, addListener, collect, freezeNotify, getBooleanProperty, getData, getDoubleProperty, getEventListenerClass, getEventType, getFloatProperty, getGObjectFromHandle, getIntProperty, getJavaObjectProperty, getLongProperty, getPixbufProperty, getProperty, getStringProperty, hasProperty, notify, removeEventHandler, removeListener, setBooleanProperty, setData, setDoubleProperty, setFloatProperty, setIntProperty, setJavaObjectProperty, setLongProperty, setPixbufProperty, setProperty, setStringProperty, thawNotify
 
Methods inherited from class org.gnu.glib.Struct
equals, getHandle, getNullHandle, hashCode
 
Methods inherited from class java.lang.Object
getClass, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

getSize

public Dimension getSize()
Deprecated. use getWidth and getHeight instead.

Returns the size of the Drawable.


getWidth

public int getWidth()
Return the width of the Drawable


getHeight

public int getHeight()
Return the height of the Drawable.


setColormap

public void setColormap(Colormap cmap)
Sets the Colormap associated with the Drawable. Normally this happens automatically when the Drawable is created.

Parameters:
cmap -

getColormap

public Colormap getColormap()
Gets the Colormap for the Drawable if one is set; returns null otherwise.


getVisual

public Visual getVisual()
Gets the Visual describing the pixel format of this Drawable.


getDepth

public int getDepth()
Obtains the bit depth of the Drawable, this is, the number of bits that make up a pixel.


getImage

public Image getImage(int x,
                      int y,
                      int width,
                      int height)
Obtains the pixels from a server-side Drawable as a client-side Image. The format of the Image depends on the Visual for the current display which makes manipulating Image extremely difficult.

Parameters:
x -
y -
width -
height -

getClipRegion

public Region getClipRegion()
Computes the Region of a Drawable that potentially can be written to by drawing primitives. This Region will not take into account the clip region for the GC, and may also not take into account other factors such as if the Window is obscured by other Windows.


getVisibleRegion

public Region getVisibleRegion()
Computes the Region of a Drawable that is potentially visible.


drawRGBImage

public void drawRGBImage(GC gc,
                         int x,
                         int y,
                         int width,
                         int height,
                         RgbDither dither,
                         byte[] buffer,
                         int rowStride)

drawRGBImage

public void drawRGBImage(int x,
                         int y,
                         int width,
                         int height,
                         RgbDither dither,
                         byte[] buffer,
                         int rowStride)

drawRGBImageDitherAlign

public void drawRGBImageDitherAlign(GC gc,
                                    int x,
                                    int y,
                                    int width,
                                    int height,
                                    RgbDither dither,
                                    byte[] buffer,
                                    int rowStride,
                                    int xdith,
                                    int ydith)

drawRGBImageDitherAlign

public void drawRGBImageDitherAlign(int x,
                                    int y,
                                    int width,
                                    int height,
                                    RgbDither dither,
                                    byte[] buffer,
                                    int rowStride,
                                    int xdith,
                                    int ydith)

drawRGB32Image

public void drawRGB32Image(GC gc,
                           int x,
                           int y,
                           int width,
                           int height,
                           RgbDither dither,
                           byte[] buffer,
                           int rowStride)

drawRGB32Image

public void drawRGB32Image(int x,
                           int y,
                           int width,
                           int height,
                           RgbDither dither,
                           byte[] buffer,
                           int rowStride)

drawRGB32ImageDitherAlign

public void drawRGB32ImageDitherAlign(GC gc,
                                      int x,
                                      int y,
                                      int width,
                                      int height,
                                      RgbDither dither,
                                      byte[] buffer,
                                      int rowStride,
                                      int xdith,
                                      int ydith)

drawRGB32ImageDitherAlign

public void drawRGB32ImageDitherAlign(int x,
                                      int y,
                                      int width,
                                      int height,
                                      RgbDither dither,
                                      byte[] buffer,
                                      int rowStride,
                                      int xdith,
                                      int ydith)

drawGrayImage

public void drawGrayImage(GC gc,
                          int x,
                          int y,
                          int width,
                          int height,
                          RgbDither dither,
                          byte[] buffer,
                          int rowStride)

drawGrayImage

public void drawGrayImage(int x,
                          int y,
                          int width,
                          int height,
                          RgbDither dither,
                          byte[] buffer,
                          int rowStride)

drawIndexedImage

public void drawIndexedImage(GC gc,
                             int x,
                             int y,
                             int width,
                             int height,
                             RgbDither dither,
                             byte[] buffer,
                             int rowStride,
                             RgbCmap cmap)

drawIndexedImage

public void drawIndexedImage(int x,
                             int y,
                             int width,
                             int height,
                             RgbDither dither,
                             byte[] buffer,
                             int rowStride,
                             RgbCmap cmap)

drawPolygon

public void drawPolygon(GC gc,
                        boolean filled,
                        Point[] points)
Draws an outlined or filled polygon.

Parameters:
gc -
filled -
points -

drawPolygon

public void drawPolygon(boolean filled,
                        Point[] points)
Convience method that draws an outlined or filled polygon using the default GC.

Parameters:
filled -
points -

drawDrawable

public void drawDrawable(GC gc,
                         Drawable src,
                         int xsrc,
                         int ysrc,
                         int xdest,
                         int ydest,
                         int width,
                         int height)
Copies the width x height region of the Drawable at coordinates (xsrc,ysrc) to coordinates (xdest,ydest).

Parameters:
gc -
src -
xsrc -
ysrc -
xdest -
ydest -
width -
height -

drawDrawable

public void drawDrawable(Drawable src,
                         int xsrc,
                         int ysrc,
                         int xdest,
                         int ydest,
                         int width,
                         int height)
Convience method that copies the width x height region of the Drawable at coordinates (xsrc,ysrc) to coordinates (xdest,ydest) using the default GC.

Parameters:
src -
xsrc -
ysrc -
xdest -
ydest -
width -
height -

drawImage

public void drawImage(GC gc,
                      Image image,
                      int xsrc,
                      int ysrc,
                      int xdest,
                      int ydest,
                      int width,
                      int height)
Draw an Image onto this Drawable. The depth of the Image must match the depth of this Drawable.

Parameters:
gc -
image -
xsrc -
ysrc -
xdest -
ydest -
width -
height -

drawImage

public void drawImage(Image image,
                      int xsrc,
                      int ysrc,
                      int xdest,
                      int ydest,
                      int width,
                      int height)
Draw an Image onto this Drawable using the default GC. The depth of the Image must match the depth of this Drawable.

Parameters:
image -
xsrc -
ysrc -
xdest -
ydest -
width -
height -

drawPoints

public void drawPoints(GC gc,
                       Point[] points)
Draw a number of points using the forground color and other attributes of the GC.

Parameters:
gc -
points -

drawPoints

public void drawPoints(Point[] points)
Draw a number of points using the forground color and other attributes of the default GC.

Parameters:
points -

drawSegments

public void drawSegments(GC gc,
                         Segment[] segments)
Draw a number of unconnected lines.

Parameters:
gc -
segments -

drawSegments

public void drawSegments(Segment[] segments)
Draw a number of unconnected lines using the default GC.

Parameters:
segments -

drawLines

public void drawLines(GC gc,
                      Point[] points)
Draw a series of lines connecting the given points. The way in which joins between lines are drawn is determined by the CapStyle value in GC.

Parameters:
gc -
points -

drawLines

public void drawLines(Point[] points)
Draw a series of lines connecting the given points. The way in which joins between lines are drawn is determined by the CapStyle value in the default GC.

Parameters:
points -

drawGlyphs

public void drawGlyphs(GC gc,
                       Font font,
                       int x,
                       int y,
                       GlyphString glyphs)
This is a low-level function. Normally, 99 percent of text rendering should be down using drawLayout() instead.

A glyph is a single image in a font. This method draws a sequence of glyphs.

Parameters:
gc -
font -
x -
y -
glyphs -

drawGlyphs

public void drawGlyphs(Font font,
                       int x,
                       int y,
                       GlyphString glyphs)
This is a low-level function. Normally, 99 percent of text rendering should be down using drawLayout() instead.

A glyph is a single image in a font. This method draws a sequence of glyphs.

Parameters:
font -
x -
y -
glyphs -

drawLayoutLine

public void drawLayoutLine(GC gc,
                           int x,
                           int y,
                           LayoutLine line)
Render a LayoutLine onto this Drawable.

Parameters:
gc -
x -
y -
line -

drawLayoutLine

public void drawLayoutLine(int x,
                           int y,
                           LayoutLine line)
Render a LayoutLine onto this Drawable using the default GC.

Parameters:
x -
y -
line -

drawLayout

public void drawLayout(GC gc,
                       int x,
                       int y,
                       Layout layout)
Render a Layout onto this Drawable.

Parameters:
gc -
x -
y -
layout -

drawLayout

public void drawLayout(int x,
                       int y,
                       Layout layout)
Render a Layout onto this Drawable using the default GC.

Parameters:
x -
y -
layout -

drawLayoutLineWithColors

public void drawLayoutLineWithColors(GC gc,
                                     int x,
                                     int y,
                                     LayoutLine line,
                                     Color foreground,
                                     Color background)
Render a LayoutLne onto this Drawable overriding the layout's normal colors with the provided forground and background.

Parameters:
gc -
x -
y -
line -
foreground -
background -

drawLayoutLineWithColors

public void drawLayoutLineWithColors(int x,
                                     int y,
                                     LayoutLine line,
                                     Color foreground,
                                     Color background)
Render a LayoutLne onto this Drawable overriding the layout's normal colors with the provided forground and background and using the default GC.

Parameters:
x -
y -
line -
foreground -
background -

drawLayoutWithColors

public void drawLayoutWithColors(GC gc,
                                 int x,
                                 int y,
                                 Layout layout,
                                 Color foreground,
                                 Color background)
Render a Layout onto this Drawable overriding the layout's normal colors with the provided forground and background.

Parameters:
gc -
x -
y -
layout -
foreground -
background -

drawLayoutWithColors

public void drawLayoutWithColors(int x,
                                 int y,
                                 Layout layout,
                                 Color foreground,
                                 Color background)
Render a Layout onto this Drawable overriding the layout's normal colors with the provided forground and background using the default GC.

Parameters:
x -
y -
layout -
foreground -
background -

getDisplay

public Display getDisplay()
Get the Display associated with the Drawable.


getScreen

public Screen getScreen()
Get the Screen associated with the Drawable.


drawPoint

public void drawPoint(GC gc,
                      int x,
                      int y)
Draw a point using the foreground color and other attributes of the GC.

Parameters:
gc -
x -
y -

drawPoint

public void drawPoint(int x,
                      int y)
Draw a point using the foreground color and other attributes of the default GC.

Parameters:
x -
y -

drawLine

public void drawLine(GC gc,
                     int x1,
                     int y1,
                     int x2,
                     int y2)
Draw a line using the foreground color and other attributes of the GC.

Parameters:
gc -
x1 -
y1 -
x2 -
y2 -

drawLine

public void drawLine(int x1,
                     int y1,
                     int x2,
                     int y2)
Draw a line using the foreground color and other attributes of the default GC.

Parameters:
x1 -
y1 -
x2 -
y2 -

drawPixbuf

public void drawPixbuf(GC gc,
                       Pixbuf pixbuf,
                       int srcx,
                       int srcy,
                       int destx,
                       int desty,
                       int width,
                       int height,
                       RgbDither dither,
                       int xdither,
                       int ydither)
Render a rectangular portion of a Pixbuf to this Drawable.

Parameters:
gc -
pixbuf -
srcx -
srcy -
destx -
desty -
width -
height -
dither -
xdither -
ydither -

drawPixbuf

public void drawPixbuf(Pixbuf pixbuf,
                       int srcx,
                       int srcy,
                       int destx,
                       int desty,
                       int width,
                       int height,
                       RgbDither dither,
                       int xdither,
                       int ydither)
Render a rectangular portion of a Pixbuf to this Drawable.

Parameters:
pixbuf -
srcx -
srcy -
destx -
desty -
width -
height -
dither -
xdither -
ydither -

drawRectangle

public void drawRectangle(GC gc,
                          boolean filled,
                          int x,
                          int y,
                          int width,
                          int height)
Draws a rectangle outlined or filled using the forground color and other attributes of the GC.

Parameters:
gc -
filled -
x -
y -
width -
height -

drawRectangle

public void drawRectangle(boolean filled,
                          int x,
                          int y,
                          int width,
                          int height)
Draws a rectangle outlined or filled using the forground color and other attributes of the default GC.

Parameters:
filled -
x -
y -
width -
height -

drawArc

public void drawArc(GC gc,
                    boolean filled,
                    int x,
                    int y,
                    int width,
                    int height,
                    int angle1,
                    int angle2)
Draws an arc or a filled 'pie slice'. The arc is defined by the bounding rectangle of the entire elipse, and the start and end angles of the part of the elipse to be drawn.

Parameters:
gc -
filled -
x -
y -
width -
height -
angle1 -
angle2 -

drawArc

public void drawArc(boolean filled,
                    int x,
                    int y,
                    int width,
                    int height,
                    int angle1,
                    int angle2)
Draws an arc or a filled 'pie slice'. The arc is defined by the bounding rectangle of the entire elipse, and the start and end angles of the part of the elipse to be drawn.

Parameters:
filled -
x -
y -
width -
height -
angle1 -
angle2 -

getType

public static Type getType()
Retrieve the runtime type used by the GLib library.