# Gdk::GC Class Reference

All drawing operations in GDK take a graphics context (GC) argument. More...

Inherits Glib::Object.

Collaboration diagram for Gdk::GC:

[legend]

List of all members.

## Public Member Functions

virtual | ~GC ()
GdkGC* | gobj ()
| Provides access to the underlying C GObject.
const GdkGC* | gobj () const
| Provides access to the underlying C GObject.
GdkGC* | gobj_copy ()
| Provides access to the underlying C instance. The caller is responsible for unrefing it. Use when directly setting fields in structs.
void | set_foreground (const Color& color)
| Sets the foreground color for a graphics context.
void | set_background (const Color& color)
| Sets the background color for a graphics context.
void | set_function (Function function)
void | set_fill (Fill fill)
| Set the fill mode for a graphics context.
void | set_tile (const Glib::RefPtr< Pixmap >& tile)
| Set a tile pixmap for a graphics context.
void | set_stipple (const Glib::RefPtr< Pixmap >& stipple)
| Set the stipple bitmap for a graphics context.
void | set_ts_origin (int x, int y)
void | set_clip_origin (int x, int y)
void | set_clip_mask (const Glib::RefPtr< Bitmap >& mask)
| Sets the clip mask for a graphics context from a bitmap.
void | set_clip_rectangle (Rectangle& rectangle)
| Sets the clip mask for a graphics context from a rectangle.
void | set_clip_rectangle (const Rectangle& rectangle)
| Sets the clip mask for a graphics context from a rectangle.
void | set_clip_region (const Region& region)
| Sets the clip mask for a graphics context from a region structure.
void | set_subwindow (SubwindowMode mode)
void | set_exposures (bool 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 | set_line_attributes (int line_width, LineStyle line_style, CapStyle cap_style, JoinStyle join_style)
void | set_dashes (int dash_offset, gint8* dash_list, int n)
void | offset (int x_offset, int y_offset)
| 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 | set_colormap (const Glib::RefPtr< Colormap >& colormap)
| Sets the colormap for the GC to the given colormap.
Glib::RefPtr< Colormap > | get_colormap ()
| Retrieves the colormap for a given GC, if it exists.
void | set_rgb_fg_color (const Color& color)
| Set the foreground color of a GC using an unallocated color.
void | set_rgb_bg_color (const Color& color)
| Set the background color of a GC using an unallocated color.
Glib::RefPtr< Screen > | get_screen ()
| Gets the Gdk::Screen for which gc was created.
Glib::RefPtr< const Screen > | get_screen () const
| Gets the Gdk::Screen for which gc was created.

## Static Public Member Functions

static Glib::RefPtr< GC > | create ()
static Glib::RefPtr< GC > | create (const Glib::RefPtr< Drawable >& drawable)

## Protected Member Functions

| GC ()
| GC (const Glib::RefPtr< Drawable >& drawable)

## Related Functions

(Note that these are not member functions.)
Glib::RefPtr< Gdk::GC > | wrap (GdkGC* object, bool take_copy=false)
| A Glib::wrap() method for this object.

## Detailed Description

All drawing operations in GDK take a graphics context (GC) argument.

A graphics context encapsulates information about the way things are drawn, such as the foreground color or line width. By using graphics contexts, the number of arguments to each drawing call is greatly reduced, and communication overhead is minimized, since identical arguments do not need to be passed repeatedly.

## Constructor & Destructor Documentation

virtual Gdk::GC::~GC | ( |  | ) | `[virtual]`

Gdk::GC::GC | ( |  | ) | `[protected]`

Gdk::GC::GC | ( | const Glib::RefPtr< Drawable >& | drawable | ) | `[explicit, protected]`

## Member Function Documentation

static Glib::RefPtr<GC> Gdk::GC::create | ( | const Glib::RefPtr< Drawable >& | drawable | ) | `[static]`

static Glib::RefPtr<GC> Gdk::GC::create | ( |  | ) | `[static]`

Glib::RefPtr<Colormap> Gdk::GC::get_colormap | ( |  | ) |

Retrieves the colormap for a given GC, 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 gdk_gc_set_colormap.

Returns:
  The colormap of gc, or `0` if gc doesn't have one.

Glib::RefPtr<const Screen> Gdk::GC::get_screen | ( |  | ) | const

Gets the Gdk::Screen for which gc was created.

Returns:
  The Gdk::Screen for gc.

Since gtkmm 2.2:

Glib::RefPtr<Screen> Gdk::GC::get_screen | ( |  | ) |

Gets the Gdk::Screen for which gc was created.

Returns:
  The Gdk::Screen for gc.

Since gtkmm 2.2:

const GdkGC* Gdk::GC::gobj | ( |  | ) | const`[inline]`

Provides access to the underlying C GObject.

Reimplemented from Glib::ObjectBase.

GdkGC* Gdk::GC::gobj | ( |  | ) | `[inline]`

Provides access to the underlying C GObject.

Reimplemented from Glib::ObjectBase.

GdkGC* Gdk::GC::gobj_copy | ( |  | ) |

Provides access to the underlying C instance. The caller is responsible for unrefing it. Use when directly setting fields in structs.

void Gdk::GC::offset | ( | int | x_offset,
|  | int | y_offset |
| ) |  |  |

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:

  | x_offset | Amount by which to offset the GC in the X direction.
  | y_offset | Amount by which to offset the GC in the Y direction.

void Gdk::GC::set_background | ( | const Color& | color | ) |

Sets the background color for a graphics context.

Note that this function uses color->pixel, use set_rgb_bg_color() to specify the background color as red, green, blue components.

Parameters:

  | color | The new background color.

void Gdk::GC::set_clip_mask | ( | const Glib::RefPtr< Bitmap >& | mask | ) |

Sets the clip mask for a graphics context from a bitmap.

The clip mask is interpreted relative to the clip origin. (See set_clip_origin()).

Parameters:

  | mask | A bitmap.

void Gdk::GC::set_clip_origin | ( | int | x,
|  | int | y |
| ) |  |  |

void Gdk::GC::set_clip_rectangle | ( | const Rectangle& | rectangle | ) |

Sets the clip mask for a graphics context from a rectangle.

The clip mask is interpreted relative to the clip origin. (See set_clip_origin()).

Parameters:

  | rectangle | The rectangle to clip to.

void Gdk::GC::set_clip_rectangle | ( | Rectangle& | rectangle | ) |

Sets the clip mask for a graphics context from a rectangle.

Deprecated:
  Use set_clip_rectangle(const Rectangle& rectangle) instead.

The clip mask is interpreted relative to the clip origin. (See set_clip_origin()).

Parameters:

  | rectangle | The rectangle to clip to.

void Gdk::GC::set_clip_region | ( | const Region& | region | ) |

Sets the clip mask for a graphics context from a region structure.

The clip mask is interpreted relative to the clip origin. (See set_clip_origin()).

Parameters:

  | region | The Gdk::Region.

void Gdk::GC::set_colormap | ( | const Glib::RefPtr< Colormap >& | colormap | ) |

Sets the colormap for the GC to the given colormap.

The depth of the colormap's visual must match the depth of the drawable for which the GC was created.

Parameters:

  | colormap | A Gdk::Colormap.

void Gdk::GC::set_dashes | ( | int | dash_offset,
|  | gint8 * | dash_list,
|  | int | n |
| ) |  |  |

void Gdk::GC::set_exposures | ( | bool | 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 gdk_draw_drawable()).

Parameters:

  | exposures | If `true`, exposure events will be generated.

void Gdk::GC::set_fill | ( | Fill | fill | ) |

Set the fill mode for a graphics context.

Parameters:

  | fill | The new fill mode.

void Gdk::GC::set_foreground | ( | const Color& | color | ) |

Sets the foreground color for a graphics context.

Note that this function uses color->pixel, use set_rgb_fg_color() to specify the foreground color as red, green, blue components.

Parameters:

  | color | The new foreground color.

void Gdk::GC::set_function | ( | Function | function | ) |

void Gdk::GC::set_line_attributes | ( | int | line_width,
|  | LineStyle | line_style,
|  | CapStyle | cap_style,
|  | JoinStyle | join_style |
| ) |  |  |

void Gdk::GC::set_rgb_bg_color | ( | const Color& | color | ) |

Set the background color of a GC using an unallocated color.

The pixel value for the color will be determined using GdkRGB. If the colormap for the GC 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.

Parameters:

  | color | An unallocated Gdk::Color.

void Gdk::GC::set_rgb_fg_color | ( | const Color& | color | ) |

Set the foreground color of a GC using an unallocated color.

The pixel value for the color will be determined using GdkRGB. If the colormap for the GC 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.

Parameters:

  | color | An unallocated Gdk::Color.

void Gdk::GC::set_stipple | ( | const Glib::RefPtr< Pixmap >& | stipple | ) |

Set the stipple bitmap for a graphics context.

The stipple will only be used if the fill mode is Gdk::STIPPLED or Gdk::OPAQUE_STIPPLED.

Parameters:

  | stipple | The new stipple bitmap.

void Gdk::GC::set_subwindow | ( | SubwindowMode | mode | ) |

void Gdk::GC::set_tile | ( | const Glib::RefPtr< Pixmap >& | tile | ) |

Set a tile pixmap for a graphics context.

This will only be used if the fill mode is Gdk::TILED.

Parameters:

  | tile | The new tile pixmap.

void Gdk::GC::set_ts_origin | ( | int | x,
|  | int | y |
| ) |  |  |

## Friends And Related Function Documentation

Glib::RefPtr< Gdk::GC > wrap | ( | GdkGC * | object,
|  | bool | take_copy = `false` |
| ) |  |  | `[related]`

A Glib::wrap() method for this object.

Parameters:

  | object | The C instance.
  | take_copy | False if the result should take ownership of the C instance. True if it should take a new copy or ref.

Returns:
  A C++ instance that wraps this C instance.

The documentation for this class was generated from the following file:

- gdkmm/gc.h