<Type Name="Color" FullName="Gdk.Color"> <TypeSignature Language="C#" Value="public sealed struct Color;" Maintainer="auto" /> <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>Describes an allocated or unallocated color.</summary> <remarks> <para> The Gdk.Color structure is used to describe an allocated or unallocated color. Unallocated colors only have the red, green and blue ushort values initialized. Colors are allocated using the <see cref="M:Gdk.Colormap.AllocColor(Gdk.Color,bool,bool)" /> method. After a color is allocated the value in the <see cref="F:Gdk.Color.pixel" /> field is valid. </para> <example> <code lang="C#"> DrawRedLine (Gdk.Drawable drawable) { Gdk.GC gc = new Gdk.GC (drawable); Gdk.Color red_color = new Gdk.Color (0xff, 0, 0); // Use the system colormap, easy. Gdk.Colormap colormap = Gdk.Colormap.System; colormap.AllocColor (red_color, true, true); gc.Foreground = red_color; // Now you can use it drawable.DrawLine (gc, 0, 0, 100, 100); } </code> </example> </remarks> </Docs> <Base> <BaseTypeName>System.ValueType</BaseTypeName> </Base> <Interfaces /> <Attributes /> <Members> <Member MemberName="Zero"> <MemberSignature Language="C#" Value="public static Gdk.Color Zero;" /> <MemberType>Field</MemberType> <ReturnValue> <ReturnType>Gdk.Color</ReturnType> </ReturnValue> <Parameters /> <Docs> <summary>Unallocated, empty color.</summary> <remarks /> </Docs> </Member> <Member MemberName="pixel"> <MemberSignature Language="C#" Value="public uint pixel;" /> <MemberType>Field</MemberType> <ReturnValue> <ReturnType>System.UInt32</ReturnType> </ReturnValue> <Parameters /> <Docs> <summary>Pixel value for the color</summary> <remarks> <para> Colors are specified in Gdk by their red, green and blue elements. But before the color can be used, the color has to be allocated in a given colormap. The value of the allocation is stored in this pixel field and it is the token used to render the color. </para> <para> The pixel value is initialized when using the <see cref="M:Gdk.Colormap.AllocColor(Gdk.Color,bool,bool)" /> method. </para> </remarks> </Docs> </Member> <Member MemberName="red"> <MemberSignature Language="C#" Value="public ushort red;" /> <MemberType>Field</MemberType> <ReturnValue> <ReturnType>System.UInt16</ReturnType> </ReturnValue> <Parameters /> <Docs> <summary>Red element of the color</summary> <remarks /> </Docs> </Member> <Member MemberName="green"> <MemberSignature Language="C#" Value="public ushort green;" /> <MemberType>Field</MemberType> <ReturnValue> <ReturnType>System.UInt16</ReturnType> </ReturnValue> <Parameters /> <Docs> <summary>Green element of the color</summary> <remarks /> </Docs> </Member> <Member MemberName="blue"> <MemberSignature Language="C#" Value="public ushort blue;" /> <MemberType>Field</MemberType> <ReturnValue> <ReturnType>System.UInt16</ReturnType> </ReturnValue> <Parameters /> <Docs> <summary>Blue element of the color.</summary> <remarks /> </Docs> </Member> <Member MemberName=".ctor"> <MemberSignature Language="C#" Value="public Color (byte r, byte g, byte b);" /> <MemberType>Constructor</MemberType> <ReturnValue /> <Parameters> <Parameter Name="r" Type="System.Byte" /> <Parameter Name="g" Type="System.Byte" /> <Parameter Name="b" Type="System.Byte" /> </Parameters> <Docs> <summary>Color constructor from RGB byte values</summary> <param name="r">Red value (0-255)</param> <param name="g">Green value (0-255)</param> <param name="b">Blue value (0-255)</param> <returns>The constructed color structure</returns> <remarks> <para> This constructs the color from three byte values for red, green and blue. Notice that the Gdk.Color structure actually uses 16-bit color values, so the byte values are mapped into the 16-bit value space. This is just a convenience routine to initialize this structure. </para> <para> To use the Gdk.Color you must allocate it within the current colormap. </para> <example> <code lang="C#"> DrawRedLine (Gdk.Drawable drawable) { Gdk.GC gc = new Gdk.GC (drawable); Gdk.Color red_color = new Gdk.Color (0xff, 0, 0); // Use the system colormap, easy. Gdk.Colormap colormap = Gdk.Colormap.System; colormap.AllocColor (red_color, true, true); // Now you can use it drawable.DrawLine (gc, 0, 0, 100, 100); } </code> </example> </remarks> </Docs> </Member> <Member MemberName="Parse"> <MemberSignature Language="C#" Value="public static bool Parse (string spec, ref Gdk.Color color);" /> <MemberType>Method</MemberType> <ReturnValue> <ReturnType>System.Int32</ReturnType> </ReturnValue> <Parameters> <Parameter Name="spec" Type="System.String" /> <Parameter Name="color" Type="Gdk.Color&" RefType="ref" /> </Parameters> <Docs> <summary>Parses a textual color representation</summary> <param name="spec">A string specification for the color.</param> <param name="color">A structure where the colors are generated</param> <returns>Non-zero on success</returns> <remarks> <para> Parses a textual specification of a color and fill in the red, green, and blue fields of the Gdk.Color structure. The color is not allocated, you must call <see cref="M:Gdk.Colormap.AllocColor(Gdk.Color,bool,bool)" /> yourself. </para> <para> The text string can be in any of the forms accepted by XParseColor; these include name for a color from rgb.txt, such as DarkSlateGray, or a hex specification such as 305050. </para> <example> <code lang="C#"> DrawRedLine (Gdk.Drawable drawable) { Gdk.GC gc = new Gdk.GC (drawable); Gdk.Color red_color; Gdk.Color.Parse ("red", ref red_color); // Use the system colormap, easy. Gdk.Colormap colormap = Gdk.Colormap.System; colormap.AllocColor (red_color, true, true); // Now you can use it drawable.DrawLine (gc, 0, 0, 100, 100); } </code> </example> </remarks> </Docs> </Member> <Member MemberName="New"> <MemberSignature Language="C#" Value="public static Gdk.Color New (IntPtr raw);" /> <MemberType>Method</MemberType> <ReturnValue> <ReturnType>Gdk.Color</ReturnType> </ReturnValue> <Parameters> <Parameter Name="raw" Type="System.IntPtr" /> </Parameters> <Docs> <summary>Creates a color from an unmanaged location.</summary> <param name="raw">A pointer to the unmanaged GdkColor structure.</param> <returns>This returns a Gdk.Color structure.</returns> <remarks> <para> The <paramref name="raw" /> parameter points to a C-based GdkColor structure. This routine creates a Gdk.Color structure from its unmanaged version. </para> </remarks> </Docs> </Member> <Member MemberName="ToString"> <MemberSignature Language="C#" Value="public virtual string ToString ();" /> <MemberType>Method</MemberType> <ReturnValue> <ReturnType>System.String</ReturnType> </ReturnValue> <Parameters /> <Docs> <summary>The color value as a string.</summary> <returns>The color value as a string.</returns> <remarks /> </Docs> </Member> <Member MemberName="Equal"> <MemberSignature Language="C#" Value="public bool Equal (Gdk.Color colorb);" /> <MemberType>Method</MemberType> <ReturnValue> <ReturnType>System.Boolean</ReturnType> </ReturnValue> <Parameters> <Parameter Name="colorb" Type="Gdk.Color" /> </Parameters> <Docs> <summary>Compares whether two colors are equal.</summary> <param name="colorb">The color to compare</param> <returns>true if the red, green and blue components are the same</returns> <remarks> <para> Notice that this will not compare the <see cref="F:Gdk.Color.pixel" /> value, it will only compare the red, green and blue elements. </para> </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.Color</summary> <returns>The GLib Type for the Gdk.Color class.</returns> <remarks /> </Docs> </Member> <Member MemberName="GetHashCode"> <MemberSignature Language="C#" Value="public virtual int GetHashCode ();" /> <MemberType>Method</MemberType> <ReturnValue> <ReturnType>System.Int32</ReturnType> </ReturnValue> <Parameters /> <Docs> <summary>A hash function suitable for using for a hash table that stores <see cref="T:Gdk.Color" /> objects.</summary> <returns>The hash code.</returns> <remarks>To be added</remarks> </Docs> </Member> <Member MemberName=".ctor"> <MemberSignature Language="C#" Value="public Color (System.Drawing.Color color);" /> <MemberType>Constructor</MemberType> <ReturnValue /> <Parameters> <Parameter Name="color" Type="System.Drawing.Color" /> </Parameters> <Docs> <summary>Color constructor from a System.Drawing.Color.</summary> <param name="color">The <see cref="T:System.Drawing.Color" /> object.</param> <returns>The constructed color structure from the System.Drawing.Color definition.</returns> <remarks> <para> This constructs the color from the specified System.Drawing.Color object. Notice that the Gdk.Color structure actually uses 16-bit color values, so the byte values are mapped into the 16-bit value space. This is just a convenience routine to initialize this structure. </para> <para> To use the Gdk.Color you must allocate it within the current colormap. </para> <example> <code lang="C#"> DrawRedLine (Gdk.Drawable drawable) { Gdk.GC gc = new Gdk.GC (drawable); Gdk.Color red_color = new Gdk.Color (0xff, 0, 0); // Use the system colormap, easy. Gdk.Colormap colormap = Gdk.Colormap.System; colormap.AllocColor (red_color, true, true); // Now you can use it drawable.DrawLine (gc, 0, 0, 100, 100); } </code> </example> </remarks> </Docs> </Member> </Members> </Type>