## org.gnu.gdk
Class GC

    java.lang.Object
      org.gnu.glib.Struct
          org.gnu.glib.GObject
              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, 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.