org.gnu.gdk
Class GC

java.lang.Object
  extended by org.gnu.glib.Struct
      extended by org.gnu.glib.GObject
          extended by org.gnu.gdk.GC

public class GC
extends GObject

All drawing operations in GDK take a GC argument. A graphics context encapsulates information about the way things are drawn, such as the foreground color or line width. By using graphics context, the number of arguments to each drawing call is reduced, and communication overhead is minimized.


Constructor Summary
GC(Drawable drawable)
          Create a new graphics context with default values.
GC(org.gnu.glib.Handle handle)
           
GC(Window window)
          Deprecated.  
 
Method Summary
 void copy(GC source)
          Copy the set of values (settings) from another graphics context.
 int getClipXOrigin()
          Getst he x origin of the clip mask.
 int getClipYOrigin()
          Gets the y origin of the clip mask.
 Colormap getColormap()
          Gets the colormap, if it exists.
static GC getDefaultGC(Drawable d)
          Convenience method to construct a new GC with default values.
 Screen getScreen()
          Gets the Screen for which this GC was created.
 int getTsXOrigin()
          Gets the x origin of the tile or stipple.
 int getTsYOrigin()
          Gets the y origin of the tile or stipple.
 void offset(int xOffset, int yOffset)
          Offset attributes such as the clip and tile-stipple origins of the GC so that drawing at X - x_offset, y - y_offset with the offset GC has the same effect as drawing at x, y with the original GC.
 void setBackground(Color color)
          Sets the background color for the graphics context.
 void setClipMask(Bitmap mask)
          Sets the clip mask for a graphics context from a bitmap.
 void setClipOrigin(int x, int y)
          Sets the origin of the clip mask.
 void setClipRectangle(Rectangle rect)
          Sets the clip mask for a graphics context from a rectangle.
 void setClipRegion(Region reg)
          Sets the clip mask for a graphics context from a region.
 void setColormap(Colormap colormap)
          Sets the colormap to the given colormap.
 void setDashes(int dashOffset, int[] dashList)
          Sets the way dashed-lines are drawn.
 void setExposures(boolean exposures)
          Sets whether copying non-visible portions of a drawable using this graphics context generate exposure events for the corresponding regions of the destination drawable.
 void setFillMode(Fill mode)
          Sets the fill mode for the graphic context.
 void setForeground(Color color)
          Sets the foreground color for the graphics context.
 void setFunction(Function func)
          Determines how the current pixel values and the pixel values being drawn are combined to produce the final pixel values.
 void setLineAttributes(int lineWidth, LineStyle lineStyle, CapStyle capStyle, JoinStyle joinStyle)
          Sets various attributes of how lines are drawn.
 void setOrigin(int x, int y)
          Sets the origin when using tiles or stipples with the GC.
 void setRGBBackground(Color color)
          Sets the background color using an unallocated color.
 void setRGBForeground(Color color)
          Sets the foreground color using an unallocated color.
 void setStipple(Pixmap stipple)
          Sets the stipple bitmap for a graphics context.
 void setSubwindow(SubwindowMode mode)
          Sets how drawing with this GC on a window will affect child windows.
 void setTile(Pixmap tile)
          Sets the tile pixmap for the graphics context.
 
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
 

Constructor Detail

GC

public GC(org.gnu.glib.Handle handle)

GC

public GC(Window window)
Deprecated. 

Parameters:
window -

GC

public GC(Drawable drawable)
Create a new graphics context with default values.

Parameters:
drawable - The created GC must always be used with drawables of the same depth as this one.
Method Detail

getDefaultGC

public static GC getDefaultGC(Drawable d)
Convenience method to construct a new GC with default values.

Parameters:
d -

getClipXOrigin

public int getClipXOrigin()
Getst he x origin of the clip mask.


getClipYOrigin

public int getClipYOrigin()
Gets the y origin of the clip mask.


getTsXOrigin

public int getTsXOrigin()
Gets the x origin of the tile or stipple.


getTsYOrigin

public int getTsYOrigin()
Gets the y origin of the tile or stipple.


setForeground

public void setForeground(Color color)
Sets the foreground color for the graphics context.


setBackground

public void setBackground(Color color)
Sets the background color for the graphics context.


setRGBForeground

public void setRGBForeground(Color color)
Sets the foreground color using an unallocated color. The pixel value for the color will be determined using GdkRGB. If the colormap has not previously been initialized for GdkRGB, then for pseudo-color colormaps (colormaps with a small modifiable number of colors), a colorcube will be allocated in the colormap.

Calling this function for a GC without a colormap is an error.


setRGBBackground

public void setRGBBackground(Color color)
Sets the background color using an unallocated color. The pixel value for the color will be determined using GdkRGB. If the colormap has not previously been initialized for GdkRGB, then for pseudo-color colormaps (colormaps with a small modifiable number of colors), a colorcube will be allocated in the colormap.

Calling this function for a GC without a colormap is an error.


setFunction

public void setFunction(Function func)
Determines how the current pixel values and the pixel values being drawn are combined to produce the final pixel values.


setFillMode

public void setFillMode(Fill mode)
Sets the fill mode for the graphic context.


setTile

public void setTile(Pixmap tile)
Sets the tile pixmap for the graphics context. This will only be used if the fill mode is TILED.


setStipple

public void setStipple(Pixmap stipple)
Sets the stipple bitmap for a graphics context. The stipple will only be used if the fill mode is STIPPLED or OPAQUE_STIPPLED.


setOrigin

public void setOrigin(int x,
                      int y)
Sets the origin when using tiles or stipples with the GC. The tile or stipple will be aligned such that the upper left cornor of the tile or stipple will coincide with this point.


setClipOrigin

public void setClipOrigin(int x,
                          int y)
Sets the origin of the clip mask. The coordinates are interpreted relative to the upper-left cornor of the destination drawable of the current operation.


setClipRectangle

public void setClipRectangle(Rectangle rect)
Sets the clip mask for a graphics context from a rectangle.


setClipRegion

public void setClipRegion(Region reg)
Sets the clip mask for a graphics context from a region.


setClipMask

public void setClipMask(Bitmap mask)
Sets the clip mask for a graphics context from a bitmap.


setSubwindow

public void setSubwindow(SubwindowMode mode)
Sets how drawing with this GC on a window will affect child windows.


setExposures

public void setExposures(boolean exposures)
Sets whether copying non-visible portions of a drawable using this graphics context generate exposure events for the corresponding regions of the destination drawable.

See Also:
Drawable.drawDrawable(org.gnu.gdk.GC, org.gnu.gdk.Drawable, int, int, int, int, int, int)

setLineAttributes

public void setLineAttributes(int lineWidth,
                              LineStyle lineStyle,
                              CapStyle capStyle,
                              JoinStyle joinStyle)
Sets various attributes of how lines are drawn. See the corresponding members of GdkGCValues for full explanations of the arguments.

Parameters:
lineWidth - the width of lines.
lineStyle - the dash-style for lines.
capStyle - the manner in which the ends of lines are drawn.
joinStyle - the manner in which lines are joined together.

setDashes

public void setDashes(int dashOffset,
                      int[] dashList)
Sets the way dashed-lines are drawn. Lines will be drawn with alternating on and off segments of the lengths specified in dash_list. The manner in which the on and off segments are drawn is determined by the line style.

Parameters:
dashOffset - the phase of the pattern for the dashed line-style you want to see
dashList - the dash-list for the dashed line-style you want to set.
See Also:
setLineAttributes(int, org.gnu.gdk.LineStyle, org.gnu.gdk.CapStyle, org.gnu.gdk.JoinStyle)

offset

public void offset(int xOffset,
                   int yOffset)
Offset attributes such as the clip and tile-stipple origins of the GC so that drawing at X - x_offset, y - y_offset with the offset GC has the same effect as drawing at x, y with the original GC.

Parameters:
xOffset - amount by which to offset the GC in the X direction
yOffset - amount by which to offset the GC in the Y direction

copy

public void copy(GC source)
Copy the set of values (settings) from another graphics context.

Parameters:
source - the source graphics context.

setColormap

public void setColormap(Colormap colormap)
Sets the colormap to the given colormap. The depth of the colormap's visual must match the depth of the drawable for which the GC was created.


getColormap

public Colormap getColormap()
Gets the colormap, if it exists. A GC will have a colormap if the drawable for which it was created has a colormap, or if a colormap was set explicitely with setColormap().


getScreen

public Screen getScreen()
Gets the Screen for which this GC was created.