org.gnu.gdk

Class Drawable

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
voiddrawArc(GC gc, boolean filled, int x, int y, int width, int height, int angle1, int angle2)
Draws an arc or a filled 'pie slice'.
voiddrawArc(boolean filled, int x, int y, int width, int height, int angle1, int angle2)
Draws an arc or a filled 'pie slice'.
voiddrawDrawable(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).
voiddrawDrawable(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.
voiddrawGlyphs(GC gc, Font font, int x, int y, GlyphString glyphs)
This is a low-level function.
voiddrawGlyphs(Font font, int x, int y, GlyphString glyphs)
This is a low-level function.
voiddrawGrayImage(GC gc, int x, int y, int width, int height, RgbDither dither, byte[] buffer, int rowStride)
voiddrawGrayImage(int x, int y, int width, int height, RgbDither dither, byte[] buffer, int rowStride)
voiddrawImage(GC gc, Image image, int xsrc, int ysrc, int xdest, int ydest, int width, int height)
Draw an Image onto this Drawable.
voiddrawImage(Image image, int xsrc, int ysrc, int xdest, int ydest, int width, int height)
Draw an Image onto this Drawable using the default GC.
voiddrawIndexedImage(GC gc, int x, int y, int width, int height, RgbDither dither, byte[] buffer, int rowStride, RgbCmap cmap)
voiddrawIndexedImage(int x, int y, int width, int height, RgbDither dither, byte[] buffer, int rowStride, RgbCmap cmap)
voiddrawLayout(GC gc, int x, int y, Layout layout)
Render a Layout onto this Drawable.
voiddrawLayout(int x, int y, Layout layout)
Render a Layout onto this Drawable using the default GC.
voiddrawLayoutLine(GC gc, int x, int y, LayoutLine line)
Render a LayoutLine onto this Drawable.
voiddrawLayoutLine(int x, int y, LayoutLine line)
Render a LayoutLine onto this Drawable using the default GC.
voiddrawLayoutLineWithColors(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.
voiddrawLayoutLineWithColors(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.
voiddrawLayoutWithColors(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.
voiddrawLayoutWithColors(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.
voiddrawLine(GC gc, int x1, int y1, int x2, int y2)
Draw a line using the foreground color and other attributes of the GC.
voiddrawLine(int x1, int y1, int x2, int y2)
Draw a line using the foreground color and other attributes of the default GC.
voiddrawLines(GC gc, Point[] points)
Draw a series of lines connecting the given points.
voiddrawLines(Point[] points)
Draw a series of lines connecting the given points.
voiddrawPixbuf(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.
voiddrawPixbuf(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.
voiddrawPoint(GC gc, int x, int y)
Draw a point using the foreground color and other attributes of the GC.
voiddrawPoint(int x, int y)
Draw a point using the foreground color and other attributes of the default GC.
voiddrawPoints(GC gc, Point[] points)
Draw a number of points using the forground color and other attributes of the GC.
voiddrawPoints(Point[] points)
Draw a number of points using the forground color and other attributes of the default GC.
voiddrawPolygon(GC gc, boolean filled, Point[] points)
Draws an outlined or filled polygon.
voiddrawPolygon(boolean filled, Point[] points)
Convience method that draws an outlined or filled polygon using the default GC.
voiddrawRectangle(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.
voiddrawRectangle(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.
voiddrawRGB32Image(GC gc, int x, int y, int width, int height, RgbDither dither, byte[] buffer, int rowStride)
voiddrawRGB32Image(int x, int y, int width, int height, RgbDither dither, byte[] buffer, int rowStride)
voiddrawRGB32ImageDitherAlign(GC gc, int x, int y, int width, int height, RgbDither dither, byte[] buffer, int rowStride, int xdith, int ydith)
voiddrawRGB32ImageDitherAlign(int x, int y, int width, int height, RgbDither dither, byte[] buffer, int rowStride, int xdith, int ydith)
voiddrawRGBImage(GC gc, int x, int y, int width, int height, RgbDither dither, byte[] buffer, int rowStride)
voiddrawRGBImage(int x, int y, int width, int height, RgbDither dither, byte[] buffer, int rowStride)
voiddrawRGBImageDitherAlign(GC gc, int x, int y, int width, int height, RgbDither dither, byte[] buffer, int rowStride, int xdith, int ydith)
voiddrawRGBImageDitherAlign(int x, int y, int width, int height, RgbDither dither, byte[] buffer, int rowStride, int xdith, int ydith)
voiddrawSegments(GC gc, Segment[] segments)
Draw a number of unconnected lines.
voiddrawSegments(Segment[] segments)
Draw a number of unconnected lines using the default GC.
RegiongetClipRegion()
Computes the Region of a Drawable that potentially can be written to by drawing primitives.
ColormapgetColormap()
Gets the Colormap for the Drawable if one is set; returns null otherwise.
intgetDepth()
Obtains the bit depth of the Drawable, this is, the number of bits that make up a pixel.
DisplaygetDisplay()
Get the Display associated with the Drawable.
intgetHeight()
Return the height of the Drawable.
ImagegetImage(int x, int y, int width, int height)
Obtains the pixels from a server-side Drawable as a client-side Image.
ScreengetScreen()
Get the Screen associated with the Drawable.
DimensiongetSize()
Returns the size of the Drawable.
static TypegetType()
Retrieve the runtime type used by the GLib library.
RegiongetVisibleRegion()
Computes the Region of a Drawable that is potentially visible.
VisualgetVisual()
Gets the Visual describing the pixel format of this Drawable.
intgetWidth()
Return the width of the Drawable
voidsetColormap(Colormap cmap)
Sets the Colormap associated with the Drawable.

Method Detail

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

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

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(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)

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(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)

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

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

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

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

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(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

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(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

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

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)

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)

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