<Type Name="Colormap" FullName="Gdk.Colormap">
  <TypeSignature Language="C#" Maintainer="auto" Value="public class Colormap : GLib.Object" />
  <AssemblyInfo>
    <AssemblyName>gdk-sharp</AssemblyName>
    <AssemblyPublicKey>
    </AssemblyPublicKey>
    <AssemblyVersion>2.12.0.0</AssemblyVersion>
  </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>A structure that contains different colors.</summary>
    <remarks>None.</remarks>
  </Docs>
  <Base>
    <BaseTypeName>GLib.Object</BaseTypeName>
  </Base>
  <Interfaces>
  </Interfaces>
  <Members>
    <Member MemberName=".ctor">
      <MemberSignature Language="C#" Value="public Colormap (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>
        <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 Colormap (Gdk.Visual visual, bool allocate);" />
      <MemberType>Constructor</MemberType>
      <ReturnValue />
      <Parameters>
        <Parameter Name="visual" Type="Gdk.Visual" />
        <Parameter Name="allocate" Type="System.Boolean" />
      </Parameters>
      <Docs>
        <summary>Creates a new colormap for the given visual.</summary>
        <param name="visual">A <see cref="T:Gdk.Visual" /></param>
        <param name="allocate">if true, the newly created colormap will be a private colormap, and all colors in it will be allocated for the applications use.</param>
        <remarks>None.</remarks>
      </Docs>
    </Member>
    <Member MemberName="System">
      <MemberSignature Language="C#" Value="public static Gdk.Colormap System { get; };" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>Gdk.Colormap</ReturnType>
      </ReturnValue>
      <Docs>
        <summary>Gets the system's default colormap for the default screen.</summary>
        <value>The system's default colormap for the default screen.</value>
        <remarks>None.</remarks>
      </Docs>
    </Member>
    <Member MemberName="Visual">
      <MemberSignature Language="C#" Value="public Gdk.Visual Visual { get; };" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>Gdk.Visual</ReturnType>
      </ReturnValue>
      <Docs>
        <summary>Returns the visual for which a given colormap was created.</summary>
        <value>The <see cref="Gdk.Visual" /> of the colormap.</value>
        <remarks>None.</remarks>
      </Docs>
    </Member>
    <Member MemberName="AllocColor">
      <MemberSignature Language="C#" Value="public bool AllocColor (ref Gdk.Color color, bool writeable, bool best_match);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="color" Type="Gdk.Color&amp;" RefType="ref" />
        <Parameter Name="writeable" Type="System.Boolean" />
        <Parameter Name="best_match" Type="System.Boolean" />
      </Parameters>
      <Docs>
        <summary>Allocates a single color from a colormap.</summary>
        <param name="color">The color to allocate. On return the pixel field will be filled in if allocation succeeds.</param>
        <param name="writeable">If true, the color is allocated writeable (their values can later be changed using <see cref="M:Gdk.Color.Change" />). Writeable colors cannot be shared between applications.</param>
        <param name="best_match">If true, GDK will attempt to do matching against existing colors if the color cannot be allocated as requested.</param>
        <returns>True if the allocation succeeded.</returns>
        <remarks>None.</remarks>
      </Docs>
    </Member>
    <Member MemberName="Screen">
      <MemberSignature Language="C#" Value="public Gdk.Screen Screen { get; };" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>Gdk.Screen</ReturnType>
      </ReturnValue>
      <Docs>
        <summary>Gets the screen for which this colormap was created.</summary>
        <value>The screen for which this colormap was created.</value>
        <remarks>None.</remarks>
      </Docs>
    </Member>
    <Member MemberName="GType">
      <MemberSignature Language="C#" Value="public static GLib.GType GType { get; };" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>GLib.GType</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>GType Property.</summary>
        <value>a <see cref="T:GLib.GType" /></value>
        <remarks>Returns the native <see cref="T:GLib.GType" /> value for <see cref="T:Gdk.Colormap" />.</remarks>
      </Docs>
    </Member>
    <Member MemberName="QueryColor">
      <MemberSignature Language="C#" Value="public void QueryColor (ulong pixel, ref Gdk.Color result);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="pixel" Type="System.UInt64" />
        <Parameter Name="result" Type="Gdk.Color&amp;" RefType="ref" />
      </Parameters>
      <Docs>
        <summary>Locates the RGB color in the colormap corresponding to the given hardware pixel.</summary>
        <param name="pixel">Pixel value in hardware display format.</param>
        <param name="result">
          <see cref="T:Gdk.Color" /> with red, green, blue fields initialized.</param>
        <remarks>Pixel must be a valid pixel in the colormap; it's a programmer error to call his function with a pixel which is not in the colormap. Hardware pixels are normally obtained from <see cref="M:Gdk.Colormap.AllocColors" />, or from a <see cref="T:Gdk.Image" />. (A <see cref="T:Gdk.Image" /> contains image data in hardware format, a <see cref="T:Gdk.Pixbuf" /> contains image data in a canonical 24-bit RGB format.)</remarks>
      </Docs>
    </Member>
    <Member MemberName="FreeColors">
      <MemberSignature Language="C#" Value="public void FreeColors (Gdk.Color[] colors, int ncolors);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="colors" Type="Gdk.Color[]" />
        <Parameter Name="ncolors" Type="System.Int32" />
      </Parameters>
      <Docs>
        <summary>Frees previously allocated colors.</summary>
        <param name="colors">The colors to free.</param>
        <param name="ncolors">The number of colors in colors.</param>
        <remarks>None.</remarks>
      </Docs>
    </Member>
    <Member MemberName="AllocColors">
      <MemberSignature Language="C#" Value="public int AllocColors (Gdk.Color[] colors, int ncolors, bool writeable, bool best_match, bool[] success);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Int32</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="colors" Type="Gdk.Color[]" />
        <Parameter Name="ncolors" Type="System.Int32" />
        <Parameter Name="writeable" Type="System.Boolean" />
        <Parameter Name="best_match" Type="System.Boolean" />
        <Parameter Name="success" Type="System.Boolean[]" />
      </Parameters>
      <Docs>
        <summary>Allocates colors from a colormap.</summary>
        <param name="colors">The color values to allocate. On return, the pixel values for allocated colors will be filled in.</param>
        <param name="ncolors">The number of colors in colors.</param>
        <param name="writeable">If true, the colors are allocated writeable (their values can later be changed using <see cref="M:Gdk.Color.Change" />). Writeable colors cannot be shared between applications.</param>
        <param name="best_match">If true, GDK will attempt to do matching against existing colors if the colors cannot be allocated as requested.</param>
        <param name="success">An array of length ncolors. On return, this indicates whether the corresponding color in colors was sucessfully allocated or not.</param>
        <returns>The number of colors that were not successfully allocated.</returns>
        <remarks>None.</remarks>
      </Docs>
    </Member>
    <Member MemberName=".ctor">
      <MemberSignature Language="C#" Value="protected Colormap (GLib.GType gtype);" />
      <MemberType>Constructor</MemberType>
      <ReturnValue />
      <Parameters>
        <Parameter Name="gtype" Type="GLib.GType" />
      </Parameters>
      <Docs>
        <summary>Internal constructor</summary>
        <param name="gtype">a <see cref="T:GLib.GType" /></param>
        <remarks>This is a constructor used by derivative types of <see cref="T:Gdk.Colormap" /> that would have their own GLib.GType assigned to it.  This is not typically used by C# code.</remarks>
      </Docs>
      <Attributes>
        <Attribute>
          <AttributeName>System.Obsolete</AttributeName>
        </Attribute>
      </Attributes>
    </Member>
    <Member MemberName="SystemSize">
      <MemberSignature Language="C#" Value="public static int SystemSize { get; };" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>System.Int32</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>To be added</summary>
        <value>a <see cref="T:System.Int32" /></value>
        <remarks>To be added</remarks>
        <since version="Gtk# 2.4" />
      </Docs>
      <Attributes>
        <Attribute>
          <AttributeName>System.Obsolete</AttributeName>
        </Attribute>
      </Attributes>
    </Member>
    <Member MemberName="Ref">
      <MemberSignature Language="C#" Value="public Gdk.Colormap Ref ();" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>Gdk.Colormap</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>To be added</summary>
        <returns>a <see cref="T:Gdk.Colormap" /></returns>
        <remarks>To be added</remarks>
        <since version="Gtk# 2.4" />
      </Docs>
    </Member>
    <Member MemberName="Unref">
      <MemberSignature Language="C#" Value="public void Unref ();" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>To be added</summary>
        <remarks>To be added</remarks>
        <since version="Gtk# 2.4" />
      </Docs>
    </Member>
    <Member MemberName="Change">
      <MemberSignature Language="C#" Value="public void Change (int ncolors);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="ncolors" Type="System.Int32" />
      </Parameters>
      <Docs>
        <summary>To be added</summary>
        <param name="ncolors">a <see cref="T:System.Int32" /></param>
        <remarks>To be added</remarks>
        <since version="Gtk# 2.4" />
      </Docs>
    </Member>
    <Member MemberName="Size">
      <MemberSignature Language="C#" Value="public int Size { get; };" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>System.Int32</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>The size of the <see cref="T:Gdk.Colormap" /></summary>
        <value>The size of the <see cref="T:Gdk.Colormap" /></value>
        <remarks>
        </remarks>
        <since version="Gtk# 2.4" />
      </Docs>
    </Member>
  </Members>
</Type>
