GtkSharp/doc/en/Gdk/GC.xml

673 lines
26 KiB
XML
Raw Normal View History

<Type Name="GC" FullName="Gdk.GC">
<TypeSignature Language="C#" Value="public class GC : GLib.Object, IWrapper, IDisposable" Maintainer="miguel" />
<AssemblyInfo>
<AssemblyName>gdk-sharp</AssemblyName>
<AssemblyVersion>0.0.0.0</AssemblyVersion>
<Attributes />
</AssemblyInfo>
<ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the <link location="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details.</ThreadSafetyStatement>
<Docs>
<summary>Represents a graphics context</summary>
<remarks>
<para>
The Gdk.GC class is used to represent a graphics context.
</para>
<para>
A number of resources are used when performing graphics
operations. Most information about performing graphics (for
example, foreground color, background color, line style, and
so on) is stored in resources called graphics contexts
(GCs). Most graphics operations take a GC as an
argument.
</para>
<para>
Graphics operations can be performed to either windows (<see cref="T:Gdk.Window" />) or pixmaps (<see cref="T:Gdk.Pixmap" />), which collectively are called
drawables (<see cref="T:Gdk.Drawable" />). Each drawable exists
on a single screen. A GC is created for a specific screen and
drawable depth and can only be used with drawables of matching
screen and depth.
</para>
</remarks>
</Docs>
<Base>
<BaseTypeName>GLib.Object</BaseTypeName>
</Base>
<Interfaces>
<Interface>
<InterfaceName>GLib.IWrapper</InterfaceName>
</Interface>
<Interface>
<InterfaceName>System.IDisposable</InterfaceName>
</Interface>
</Interfaces>
<Attributes />
<Members>
<Member MemberName="Copy">
<MemberSignature Language="C#" Value="public void Copy (Gdk.GC src_gc);" />
<MemberType>Method</MemberType>
<ReturnValue>
<ReturnType>System.Void</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="src_gc" Type="Gdk.GC" />
</Parameters>
<Docs>
<summary>Copy the set of values from one graphics context onto another graphics context.</summary>
<param name="src_gc">The GC to copy.</param>
<remarks>
<para>
Copies the settings of the <param name="src_gc" /> graphics
context into this GC.
</para>
</remarks>
</Docs>
</Member>
<Member MemberName="SetTsOrigin">
<MemberSignature Language="C#" Value="public void SetTsOrigin (int x, int y);" />
<MemberType>Method</MemberType>
<ReturnValue>
<ReturnType>System.Void</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="x" Type="System.Int32" />
<Parameter Name="y" Type="System.Int32" />
</Parameters>
<Docs>
<summary>Set the origin when using tiles or stipples with the GC.</summary>
<param name="x">the x-coordinate of the origin.</param>
<param name="y">the y-coordinate of the origin.</param>
<remarks>
<para>
Set the origin when using tiles or stipples with the
GC. The tile or stipple will be aligned such that the upper
left corner of the tile or stipple will coincide with this
point.
</para>
</remarks>
</Docs>
</Member>
<Member MemberName="SetClipOrigin">
<MemberSignature Language="C#" Value="public void SetClipOrigin (int x, int y);" />
<MemberType>Method</MemberType>
<ReturnValue>
<ReturnType>System.Void</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="x" Type="System.Int32" />
<Parameter Name="y" Type="System.Int32" />
</Parameters>
<Docs>
<summary>Sets the origin of the clip mask.</summary>
<param name="x">the x-coordinate of the origin.</param>
<param name="y">the y-coordinate of the origin.</param>
<remarks>
<para>Sets the origin of the clip mask. The coordinates are
interpreted relative to the upper-left corner of the
destination drawable of the current operation.</para>
</remarks>
</Docs>
</Member>
<Member MemberName="Offset">
<MemberSignature Language="C#" Value="public void Offset (int x_offset, int y_offset);" />
<MemberType>Method</MemberType>
<ReturnValue>
<ReturnType>System.Void</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="x_offset" Type="System.Int32" />
<Parameter Name="y_offset" Type="System.Int32" />
</Parameters>
<Docs>
<summary>Set the x and y offsets on the Gdk.GC</summary>
<param name="x_offset">amount by which to offset the GC in the X direction</param>
<param name="y_offset">amount by which to offset the GC in the Y direction</param>
<remarks>
<para>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.</para>
</remarks>
</Docs>
</Member>
<Member MemberName="SetDashes">
<MemberSignature Language="C#" Value="public void SetDashes (int dash_offset, byte [] dash_list, int n);" />
<MemberType>Method</MemberType>
<ReturnValue>
<ReturnType>System.Void</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="dash_offset" Type="System.Int32" />
<Parameter Name="dash_list" Type="System.Byte []" />
<Parameter Name="n" Type="System.Int32" />
</Parameters>
<Docs>
<summary>Sets the way dashed-lines are drawn.</summary>
<param name="dash_offset">the dash offset.</param>
<param name="dash_list">an array of dash lengths.</param>
<param name="n">the number of elemenst in dash_list.</param>
<remarks>
<para>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 value of
the GC. (This can be changed with
Gdk.GC.SetLineAttributes())</para>
</remarks>
</Docs>
</Member>
<Member MemberName="SetValues">
<MemberSignature Language="C#" Value="public void SetValues (Gdk.GCValues values, Gdk.GCValuesMask values_mask);" />
<MemberType>Method</MemberType>
<ReturnValue>
<ReturnType>System.Void</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="values" Type="Gdk.GCValues" />
<Parameter Name="values_mask" Type="Gdk.GCValuesMask" />
</Parameters>
<Docs>
<summary>Sets attributes of a graphics context in bulk.</summary>
<param name="values">struct containing the new values</param>
<param name="values_mask">mask indicating which struct fields are to be used</param>
<remarks>
<para>Sets attributes of a graphics context in bulk. For
each flag set in values_mask, the corresponding field will
be read from values and set as the new value for gc. If
you're only setting a few values on gc, calling individual
"setter" functions is likely more convenient.</para>
</remarks>
</Docs>
</Member>
<Member MemberName="SetLineAttributes">
<MemberSignature Language="C#" Value="public void SetLineAttributes (int line_width, Gdk.LineStyle line_style, Gdk.CapStyle cap_style, Gdk.JoinStyle join_style);" />
<MemberType>Method</MemberType>
<ReturnValue>
<ReturnType>System.Void</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="line_width" Type="System.Int32" />
<Parameter Name="line_style" Type="Gdk.LineStyle" />
<Parameter Name="cap_style" Type="Gdk.CapStyle" />
<Parameter Name="join_style" Type="Gdk.JoinStyle" />
</Parameters>
<Docs>
<summary>Sets various attributes of how lines are drawn.</summary>
<param name="line_width">the width of lines.</param>
<param name="line_style">the dash-style for lines.</param>
<param name="cap_style">the manner in which the ends of lines are drawn.</param>
<param name="join_style">the way in which lines are joined together.</param>
<remarks>
<para>Sets various attributes of how lines are drawn. See
the corresponding members of Gdk.GC.Values for full
explanations of the arguments.</para>
</remarks>
</Docs>
</Member>
<Member MemberName="GetValues">
<MemberSignature Language="C#" Value="public void GetValues (Gdk.GCValues values);" />
<MemberType>Method</MemberType>
<ReturnValue>
<ReturnType>System.Void</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="values" Type="Gdk.GCValues" />
</Parameters>
<Docs>
<summary>Retrieves the current values from a graphics context.</summary>
<param name="values">the GdkGCValues structure in which to store the results.</param>
<remarks>
<para>Retrieves the current values from a graphics context.</para>
</remarks>
</Docs>
</Member>
<Member MemberName="Finalize">
<MemberSignature Language="C#" Value="protected virtual void Finalize ();" />
<MemberType>Method</MemberType>
<ReturnValue>
<ReturnType>System.Void</ReturnType>
</ReturnValue>
<Parameters />
<Docs>
<summary>Disposes the resources associated with the object.</summary>
<remarks />
</Docs>
</Member>
<Member MemberName=".ctor">
<MemberSignature Language="C#" Value="public GC (IntPtr raw);" />
<MemberType>Constructor</MemberType>
<ReturnValue />
<Parameters>
<Parameter Name="raw" Type="System.IntPtr" />
</Parameters>
<Docs>
<summary>Internal constructor</summary>
<param name="raw">Pointer to the C object.</param>
<returns>An instance of GC, wrapping the C object.</returns>
<remarks>
<para>This is an internal constructor, and should not be used by user code.</para>
</remarks>
</Docs>
</Member>
<Member MemberName=".ctor">
<MemberSignature Language="C#" Value="public GC (Gdk.Drawable drawable);" />
<MemberType>Constructor</MemberType>
<ReturnValue />
<Parameters>
<Parameter Name="drawable" Type="Gdk.Drawable" />
</Parameters>
<Docs>
<summary>To be added</summary>
<param name="drawable">To be added: an object of type 'Gdk.Drawable'</param>
<returns>To be added: an object of type 'Gdk.GC'</returns>
<remarks>To be added</remarks>
</Docs>
</Member>
<Member MemberName=".ctor">
<MemberSignature Language="C#" Value="public GC (Gdk.Drawable drawable, Gdk.GCValues values, Gdk.GCValuesMask values_mask);" />
<MemberType>Constructor</MemberType>
<ReturnValue />
<Parameters>
<Parameter Name="drawable" Type="Gdk.Drawable" />
<Parameter Name="values" Type="Gdk.GCValues" />
<Parameter Name="values_mask" Type="Gdk.GCValuesMask" />
</Parameters>
<Docs>
<summary>To be added</summary>
<param name="drawable">To be added: an object of type 'Gdk.Drawable'</param>
<param name="values">To be added: an object of type 'Gdk.GCValues'</param>
<param name="values_mask">To be added: an object of type 'Gdk.GCValuesMask'</param>
<returns>To be added: an object of type 'Gdk.GC'</returns>
<remarks>To be added</remarks>
</Docs>
</Member>
<Member MemberName=".ctor">
<MemberSignature Language="C#" Value="protected GC ();" />
<MemberType>Constructor</MemberType>
<ReturnValue />
<Parameters />
<Docs>
<summary>To be added</summary>
<returns>To be added: an object of type 'Gdk.GC'</returns>
<remarks>To be added</remarks>
</Docs>
</Member>
<Member MemberName="GType">
<MemberSignature Language="C#" Value="public static uint GType { get; };" />
<MemberType>Property</MemberType>
<ReturnValue>
<ReturnType>System.UInt32</ReturnType>
</ReturnValue>
<Docs>
<summary>The GLib Type for Gdk.GC</summary>
<returns>The GLib Type for the Gdk.GC class.</returns>
<remarks />
</Docs>
</Member>
<Member MemberName="RgbFgColor">
<MemberSignature Language="C#" Value="public Gdk.Color RgbFgColor { set; };" />
<MemberType>Property</MemberType>
<ReturnValue>
<ReturnType>Gdk.Color</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="value" Type="Gdk.Color" />
</Parameters>
<Docs>
<summary>Set the foreground color of a GC using an unallocated color.</summary>
<param name="value" />
<returns>an object of type 'Gdk.Color'</returns>
<remarks>
<para>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.</para>
<para>Calling this function for a GC without a colormap is
an error.</para>
</remarks>
</Docs>
</Member>
<Member MemberName="ClipRectangle">
<MemberSignature Language="C#" Value="public Gdk.Rectangle ClipRectangle { set; };" />
<MemberType>Property</MemberType>
<ReturnValue>
<ReturnType>Gdk.Rectangle</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="value" Type="Gdk.Rectangle" />
</Parameters>
<Docs>
<summary>Sets the clip mask for a graphics context from a rectangle.</summary>
<param name="value">the rectangle to clip to.</param>
<returns>an object of type 'Gdk.Rectangle'</returns>
<remarks>
<para>Sets the clip mask for a graphics context from a
rectangle. The clip mask is interpreted relative to the clip
origin. (See <see cref="M:Gdk.GC.SetClipOrigin()" />).</para>
</remarks>
</Docs>
</Member>
<Member MemberName="Tile">
<MemberSignature Language="C#" Value="public Gdk.Pixmap Tile { set; };" />
<MemberType>Property</MemberType>
<ReturnValue>
<ReturnType>Gdk.Pixmap</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="value" Type="Gdk.Pixmap" />
</Parameters>
<Docs>
<summary>Set a tile pixmap for a graphics context.</summary>
<param name="value">the new tile pixmap.</param>
<returns>an object of type 'Gdk.Pixmap'</returns>
<remarks>
<para>Set a tile pixmap for a graphics context. This will
only be used if the fill mode is GDK_TILED.</para>
</remarks>
</Docs>
</Member>
<Member MemberName="ClipMask">
<MemberSignature Language="C#" Value="public Gdk.Bitmap ClipMask { set; };" />
<MemberType>Property</MemberType>
<ReturnValue>
<ReturnType>Gdk.Bitmap</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="value" Type="Gdk.Bitmap" />
</Parameters>
<Docs>
<summary>Sets the clip mask for a graphics context from a bitmap.</summary>
<param name="value">a bitmap.</param>
<returns>a bitmap.</returns>
<remarks>
<para>Sets the clip mask for a graphics context from a
bitmap. The clip mask is interpreted relative to the clip
origin. (See <see cref="M:Gdk.GC.SetClipOrigin()" />).</para>
</remarks>
</Docs>
</Member>
<Member MemberName="Fill">
<MemberSignature Language="C#" Value="public Gdk.Fill Fill { set; };" />
<MemberType>Property</MemberType>
<ReturnValue>
<ReturnType>Gdk.Fill</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="value" Type="Gdk.Fill" />
</Parameters>
<Docs>
<summary>Set the fill mode for a graphics context.</summary>
<param name="value">the new fill mode.</param>
<returns>the new fill mode.</returns>
<remarks>
<para>Set the fill mode for a graphics context.</para>
</remarks>
</Docs>
</Member>
<Member MemberName="Colormap">
<MemberSignature Language="C#" Value="public Gdk.Colormap Colormap { set; get; };" />
<MemberType>Property</MemberType>
<ReturnValue>
<ReturnType>Gdk.Colormap</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="value" Type="Gdk.Colormap" />
</Parameters>
<Docs>
<summary>Sets the colormap for the GC to the given colormap.</summary>
<param name="value"> a Gdk.Colormap</param>
<returns> a Gdk.Colormap</returns>
<remarks>
<para>
Fetches or changes the colormap of the GC. The depth of
the colormap's visual must match the depth of the drawable
for which the GC was created.
</para>
</remarks>
</Docs>
</Member>
<Member MemberName="RgbBgColor">
<MemberSignature Language="C#" Value="public Gdk.Color RgbBgColor { set; };" />
<MemberType>Property</MemberType>
<ReturnValue>
<ReturnType>Gdk.Color</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="value" Type="Gdk.Color" />
</Parameters>
<Docs>
<summary>Set the background color of a GC using an unallocated color.</summary>
<param name="value">a Gdk.Color</param>
<returns>a Gdk.Color</returns>
<remarks>
<para>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.</para>
<para>Calling this function for a GC without a colormap is
an error.</para>
</remarks>
</Docs>
</Member>
<Member MemberName="Foreground">
<MemberSignature Language="C#" Value="public Gdk.Color Foreground { set; };" />
<MemberType>Property</MemberType>
<ReturnValue>
<ReturnType>Gdk.Color</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="value" Type="Gdk.Color" />
</Parameters>
<Docs>
<summary>Sets the foreground color for a graphics context.</summary>
<param name="value">the new foreground color.</param>
<returns>the new foreground color.</returns>
<remarks>
<para>
Sets the foreground color for a graphics context to the
given color. The color must have been allocated for this
to work.
</para>
<example>
<code lang="C#">
Gdk.GC my_gc = new Gdk.GC (gdk_window);
//
// Create the color
//
Gdk.Color red_color = new Gdk.Color (0xff, 0, 0);
//
// Allocate it
//
Gdk.Colormap colormap = Gdk.Colormap.System;
colormap.AllocColor (ref red_color, true, true);
my_gc.Foreground = red_color;
//
// Draw diagonal, using the GC with the red color
//
gdk_window.DrawLine (my_gc, 0, 0, 100, 100);
</code>
</example>
</remarks>
</Docs>
</Member>
<Member MemberName="ClipRegion">
<MemberSignature Language="C#" Value="public Gdk.Region ClipRegion { set; };" />
<MemberType>Property</MemberType>
<ReturnValue>
<ReturnType>Gdk.Region</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="value" Type="Gdk.Region" />
</Parameters>
<Docs>
<summary>Sets the clip mask for a graphics context from a region structure.</summary>
<param name="value">the Gdk.Region</param>
<returns>the Gdk.Region</returns>
<remarks>
<para>Sets the clip mask for a graphics context from a
region structure. The clip mask is interpreted relative to
the clip origin. (See <see cref="M:Gdk.GC.SetClipOrigin()" />).</para>
</remarks>
</Docs>
</Member>
<Member MemberName="Subwindow">
<MemberSignature Language="C#" Value="public Gdk.SubwindowMode Subwindow { set; };" />
<MemberType>Property</MemberType>
<ReturnValue>
<ReturnType>Gdk.SubwindowMode</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="value" Type="Gdk.SubwindowMode" />
</Parameters>
<Docs>
<summary>Sets how drawing with this GC on a window will affect child windows of that window.</summary>
<param name="value">the subwindow mode.</param>
<returns>the subwindow mode.</returns>
<remarks>
<para>Sets how drawing with this GC on a window will affect
child windows of that window.</para>
</remarks>
</Docs>
</Member>
<Member MemberName="Stipple">
<MemberSignature Language="C#" Value="public Gdk.Pixmap Stipple { set; };" />
<MemberType>Property</MemberType>
<ReturnValue>
<ReturnType>Gdk.Pixmap</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="value" Type="Gdk.Pixmap" />
</Parameters>
<Docs>
<summary>Set the stipple bitmap for a graphics context.</summary>
<param name="value">the new stipple bitmap.</param>
<returns>the new stipple bitmap.</returns>
<remarks>
<para>
Set the stipple bitmap for a graphics context. The
stipple will only be used if the fill mode is <see cref="E:Gdk.Fill.Stippled" />
or <see cref="Gdk.Fill.OpaqueStippled" />.
</para>
</remarks>
</Docs>
</Member>
<Member MemberName="Function">
<MemberSignature Language="C#" Value="public Gdk.Function Function { set; };" />
<MemberType>Property</MemberType>
<ReturnValue>
<ReturnType>Gdk.Function</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="value" Type="Gdk.Function" />
</Parameters>
<Docs>
<summary>Determines how the current pixel values and the pixel values being drawn are combined to produce the final pixel values.</summary>
<param name="value">a function.</param>
<returns>a function.</returns>
<remarks>
<para>Determines how the current pixel values and the pixel
values being drawn are combined to produce the final pixel
values.</para>
</remarks>
</Docs>
</Member>
<Member MemberName="Background">
<MemberSignature Language="C#" Value="public Gdk.Color Background { set; };" />
<MemberType>Property</MemberType>
<ReturnValue>
<ReturnType>Gdk.Color</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="value" Type="Gdk.Color" />
</Parameters>
<Docs>
<summary>Sets the background color for a graphics context.</summary>
<param name="value">the new background color.</param>
<returns>the new background color.</returns>
<remarks>
<para>
Sets the background color for a graphics
context. The color must have been allocated.
</para>
<example>
<code lang="C#">
Gdk.GC my_gc = new Gdk.GC (gdk_window);
//
// Create the color
//
Gdk.Color back_color = new Gdk.Color (0xff, 0, 0);
Gdk.Color fore_color = new Gdk.Color (0, 0, 0xff);
//
// Allocate them
//
Gdk.Colormap colormap = Gdk.Colormap.System;
colormap.AllocColor (ref back_color, true, true);
Gdk.Colormap colormap = Gdk.Colormap.System;
colormap.AllocColor (ref fore_color, true, true);
my_gc.Background = back_color;
my_gc.Background = fore_color;
//
// Draw a thick line, alternating between foreground and
// background colors
//
my_gc.SetLineAttributes (3, LineStyle.DoubleDash, CapStyle.NotLast, JoinStyle.Round);
//
// Draw diagonal, using the GC with the red color
//
gdk_window.DrawLine (my_gc, 0, 0, 100, 100);
</code>
</example>
</remarks>
</Docs>
</Member>
<Member MemberName="Exposures">
<MemberSignature Language="C#" Value="public bool Exposures { set; };" />
<MemberType>Property</MemberType>
<ReturnValue>
<ReturnType>System.Boolean</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="value" Type="System.Boolean" />
</Parameters>
<Docs>
<summary>Sets whether or not this GC should geenrate exposure events.</summary>
<param name="value">To be added: an object of type 'bool'</param>
<returns>To be added: an object of type 'bool'</returns>
<remarks>
<para>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 <see cref="T:Gdk.Drawable" />).</para>
</remarks>
</Docs>
</Member>
<Member MemberName=".ctor">
<MemberSignature Language="C#" Value="protected GC (GLib.Type gtype);" />
<MemberType>Constructor</MemberType>
<ReturnValue />
<Parameters>
<Parameter Name="gtype" Type="GLib.Type" />
</Parameters>
<Docs>
<summary>Internal constructor</summary>
<param name="gtype">GLib type for the type</param>
<returns>Creates a new instance of GC, using the GLib-provided type</returns>
<remarks>
<para>This is a constructor used by derivative types of <see cref="T:Gdk.GC" /> that would have their own GLib type assigned to it. This is not typically used by C# code.</para>
</remarks>
</Docs>
</Member>
</Members>
</Type>