org.gnu.gdk

Class Drawable

Known Direct 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(GC gc, Font font, int x, int y, GlyphString glyphs)
This is a low-level function.
void
drawGlyphs(Font font, int x, int y, GlyphString glyphs)
This is a low-level function.
void
drawGrayImage(int x, int y, int width, int height, RgbDither dither, byte[] buffer, int rowStride)
void
drawGrayImage(GC gc, 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(int x, int y, int width, int height, RgbDither dither, byte[] buffer, int rowStride, RgbCmap cmap)
void
drawIndexedImage(GC gc, int x, int y, int width, int height, RgbDither dither, byte[] buffer, int rowStride, RgbCmap cmap)
void
drawLayout(int x, int y, Layout layout)
Render a Layout onto this Drawable using the default GC.
void
drawLayout(GC gc, int x, int y, Layout layout)
Render a Layout onto this Drawable.
void
drawLayoutLine(int x, int y, LayoutLine line)
Render a LayoutLine onto this Drawable using the default GC.
void
drawLayoutLine(GC gc, int x, int y, LayoutLine line)
Render a LayoutLine onto this Drawable.
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
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
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
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
drawLine(int x1, int y1, int x2, int y2)
Draw a line using the foreground color and other attributes of 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
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(int x, int y)
Draw a point using the foreground color and other attributes of the default GC.
void
drawPoint(GC gc, int x, int y)
Draw a point using the foreground color and other attributes of the 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
drawRGB32Image(int x, int y, int width, int height, RgbDither dither, byte[] buffer, int rowStride)
void
drawRGB32Image(GC gc, int x, int y, int width, int height, RgbDither dither, byte[] buffer, int rowStride)
void
drawRGB32ImageDitherAlign(int x, int y, int width, int height, RgbDither dither, byte[] buffer, int rowStride, int xdith, int ydith)
void
drawRGB32ImageDitherAlign(GC gc, int x, int y, int width, int height, RgbDither dither, byte[] buffer, int rowStride, int xdith, int ydith)
void
drawRGBImage(int x, int y, int width, int height, RgbDither dither, byte[] buffer, int rowStride)
void
drawRGBImage(GC gc, int x, int y, int width, int height, RgbDither dither, byte[] buffer, int rowStride)
void
drawRGBImageDitherAlign(int x, int y, int width, int height, RgbDither dither, byte[] buffer, int rowStride, int xdith, int ydith)
void
drawRGBImageDitherAlign(GC gc, int x, int y, int width, int height, RgbDither dither, byte[] buffer, int rowStride, int xdith, int ydith)
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
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

Method Details

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 -

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 -

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 -

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 -

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 -

drawGrayImage

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

drawGrayImage

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

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 -

drawIndexedImage

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

drawIndexedImage

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

drawLayout

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

drawLayout

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

drawLayoutLine

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

drawLayoutLine

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

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 -

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 -

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 -

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 -

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 -

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 -

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 -

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 -

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 -

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 -

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 -

drawPolygon

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

drawPolygon

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

drawRGB32Image

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

drawRGB32Image

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

drawRGB32ImageDitherAlign

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

drawRGB32ImageDitherAlign

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

drawRGBImage

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

drawRGBImage

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

drawRGBImageDitherAlign

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

drawRGBImageDitherAlign

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

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 -

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 -

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 -

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.

getColormap

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

getDepth

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

getDisplay

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

getHeight

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

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 -

getScreen

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

getSize

public Dimension getSize()

Deprecated. use getWidth and getHeight instead.

Returns the size of the Drawable.

getType

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

getVisibleRegion

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

getVisual

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

getWidth

public int getWidth()
Return the width 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 -