<refentry id="GnomeColorPicker"> <refmeta> <refentrytitle>GnomeColorPicker</refentrytitle> <manvolnum>3</manvolnum> <refmiscinfo>GNOMEUI Library</refmiscinfo> </refmeta> <refnamediv> <refname>GnomeColorPicker</refname><refpurpose>Widget for selecting colors.</refpurpose> </refnamediv> <refsynopsisdiv><title>Synopsis</title> <synopsis> #include <gnome.h> struct <link linkend="GnomeColorPicker-struct">GnomeColorPicker</link>; <link linkend="GtkWidget">GtkWidget</link>* <link linkend="gnome-color-picker-new">gnome_color_picker_new</link> (void); void <link linkend="gnome-color-picker-set-d">gnome_color_picker_set_d</link> (<link linkend="GnomeColorPicker">GnomeColorPicker</link> *cp, <link linkend="gdouble">gdouble</link> r, <link linkend="gdouble">gdouble</link> g, <link linkend="gdouble">gdouble</link> b, <link linkend="gdouble">gdouble</link> a); void <link linkend="gnome-color-picker-get-d">gnome_color_picker_get_d</link> (<link linkend="GnomeColorPicker">GnomeColorPicker</link> *cp, <link linkend="gdouble">gdouble</link> *r, <link linkend="gdouble">gdouble</link> *g, <link linkend="gdouble">gdouble</link> *b, <link linkend="gdouble">gdouble</link> *a); void <link linkend="gnome-color-picker-set-i8">gnome_color_picker_set_i8</link> (<link linkend="GnomeColorPicker">GnomeColorPicker</link> *cp, <link linkend="guint8">guint8</link> r, <link linkend="guint8">guint8</link> g, <link linkend="guint8">guint8</link> b, <link linkend="guint8">guint8</link> a); void <link linkend="gnome-color-picker-get-i8">gnome_color_picker_get_i8</link> (<link linkend="GnomeColorPicker">GnomeColorPicker</link> *cp, <link linkend="guint8">guint8</link> *r, <link linkend="guint8">guint8</link> *g, <link linkend="guint8">guint8</link> *b, <link linkend="guint8">guint8</link> *a); void <link linkend="gnome-color-picker-set-i16">gnome_color_picker_set_i16</link> (<link linkend="GnomeColorPicker">GnomeColorPicker</link> *cp, <link linkend="gushort">gushort</link> r, <link linkend="gushort">gushort</link> g, <link linkend="gushort">gushort</link> b, <link linkend="gushort">gushort</link> a); void <link linkend="gnome-color-picker-get-i16">gnome_color_picker_get_i16</link> (<link linkend="GnomeColorPicker">GnomeColorPicker</link> *cp, <link linkend="gushort">gushort</link> *r, <link linkend="gushort">gushort</link> *g, <link linkend="gushort">gushort</link> *b, <link linkend="gushort">gushort</link> *a); void <link linkend="gnome-color-picker-set-dither">gnome_color_picker_set_dither</link> (<link linkend="GnomeColorPicker">GnomeColorPicker</link> *cp, <link linkend="gboolean">gboolean</link> dither); void <link linkend="gnome-color-picker-set-use-alpha">gnome_color_picker_set_use_alpha</link> (<link linkend="GnomeColorPicker">GnomeColorPicker</link> *cp, <link linkend="gboolean">gboolean</link> use_alpha); void <link linkend="gnome-color-picker-set-title">gnome_color_picker_set_title</link> (<link linkend="GnomeColorPicker">GnomeColorPicker</link> *cp, const <link linkend="gchar">gchar</link> *title); </synopsis> </refsynopsisdiv> <refsect1> <title>Object Hierarchy</title> <synopsis> <link linkend="GtkObject">GtkObject</link> +----<link linkend="GtkWidget">GtkWidget</link> +----<link linkend="GtkContainer">GtkContainer</link> +----<link linkend="GtkBin">GtkBin</link> +----<link linkend="GtkButton">GtkButton</link> +----GnomeColorPicker </synopsis> </refsect1> <refsect1> <title>Description</title> <para> This widget provides color selection facilities to your application. The widget appears as a button which contains a "color swatch" of the currently selected color. When the button is pressed, the widget presents the user with a color selection dialog where the color can be selected. </para> <para>You can select the color to be displayed in a number of ways: floating point values for the red, green and blue channels, integers in the range 0 to 65,535, or integers in the range 0 to 255, depending on your needs.</para> <informalexample> <programlisting> void color_picked_callback(GtkWidget *w, guint r, guint g, guint b, guint a, gpointer data) { g_print("User selected color (rgba): <literal>d</literal> <literal>d</literal> <literal>d</literal> <literal>d</literal>\n", r, g, b, a); /* save colors to configuration file, or use them some other way */ } ... GtkWidget *cp; /* create a color picker, set a default color */ cp = <link linkend="gnome-color-picker-new">gnome_color_picker_new</link>(); <link linkend="gnome-color-picker-set-i8">gnome_color_picker_set_i8</link>(GNOME_COLOR_PICKER(cp), 255, 0, 0, 0); /* connect a function to our widget */ gtk_signal_connect(GTK_OBJECT(cp), "color_set", GTK_SIGNAL_FUNC(color_picked_callback), NULL); ... /* retrieve color from our widget, someplace else in code */ gdouble r, g, b, a; <link linkend="gnome-color-picker-get-d">gnome_color_picker_get_d</link>(GNOME_COLOR_PICKER(cp), &r, &g, &b, &a); g_print("Color (rgba): %<literal>g</literal> %<literal>g</literal> %<literal>g</literal> %<literal>g</literal>\n", r, g, b, a); </programlisting> </informalexample> </refsect1> <refsect1> <title>Details</title> <refsect2> <title><anchor id="GnomeColorPicker-struct">struct GnomeColorPicker</title> <programlisting>struct GnomeColorPicker;</programlisting> <para> </para></refsect2> <refsect2> <title><anchor id="gnome-color-picker-new">gnome_color_picker_new ()</title> <programlisting><link linkend="GtkWidget">GtkWidget</link>* gnome_color_picker_new (void);</programlisting> <para> Creates a new GNOME color picker widget. This returns a widget in the form of a small button containing a swatch representing the current selected color. When the button is clicked, a color-selection dialog will open, allowing the user to select a color. The swatch will be updated to reflect the new color when the user finishes.</para> <para> </para><informaltable pgwide="1" frame="none" role="params"> <tgroup cols="2"> <colspec colwidth="2*"> <colspec colwidth="8*"> <tbody> <row><entry align="right"><emphasis>Returns</emphasis> :</entry><entry> Pointer to new GNOME color picker widget. </entry></row> </tbody></tgroup></informaltable></refsect2> <refsect2> <title><anchor id="gnome-color-picker-set-d">gnome_color_picker_set_d ()</title> <programlisting>void gnome_color_picker_set_d (<link linkend="GnomeColorPicker">GnomeColorPicker</link> *cp, <link linkend="gdouble">gdouble</link> r, <link linkend="gdouble">gdouble</link> g, <link linkend="gdouble">gdouble</link> b, <link linkend="gdouble">gdouble</link> a);</programlisting> <para> Set color shown in the color picker widget using floating point values.</para> <para> </para><informaltable pgwide="1" frame="none" role="params"> <tgroup cols="2"> <colspec colwidth="2*"> <colspec colwidth="8*"> <tbody> <row><entry align="right"><parameter>cp</parameter> :</entry> <entry> Pointer to GNOME color picker widget. </entry></row> <row><entry align="right"><parameter>r</parameter> :</entry> <entry> Red color component, values are in [0.0, 1.0] </entry></row> <row><entry align="right"><parameter>g</parameter> :</entry> <entry> Green color component, values are in [0.0, 1.0] </entry></row> <row><entry align="right"><parameter>b</parameter> :</entry> <entry> Blue color component, values are in [0.0, 1.0] </entry></row> <row><entry align="right"><parameter>a</parameter> :</entry> <entry> Alpha component, values are in [0.0, 1.0] </entry></row> </tbody></tgroup></informaltable></refsect2> <refsect2> <title><anchor id="gnome-color-picker-get-d">gnome_color_picker_get_d ()</title> <programlisting>void gnome_color_picker_get_d (<link linkend="GnomeColorPicker">GnomeColorPicker</link> *cp, <link linkend="gdouble">gdouble</link> *r, <link linkend="gdouble">gdouble</link> *g, <link linkend="gdouble">gdouble</link> *b, <link linkend="gdouble">gdouble</link> *a);</programlisting> <para> Retrieve color currently selected in the color picker widget in the form of floating point values.</para> <para> </para><informaltable pgwide="1" frame="none" role="params"> <tgroup cols="2"> <colspec colwidth="2*"> <colspec colwidth="8*"> <tbody> <row><entry align="right"><parameter>cp</parameter> :</entry> <entry> Pointer to GNOME color picker widget. </entry></row> <row><entry align="right"><parameter>r</parameter> :</entry> <entry> Output location of red color component, values are in [0.0, 1.0] </entry></row> <row><entry align="right"><parameter>g</parameter> :</entry> <entry> Output location of green color component, values are in [0.0, 1.0] </entry></row> <row><entry align="right"><parameter>b</parameter> :</entry> <entry> Output location of blue color component, values are in [0.0, 1.0] </entry></row> <row><entry align="right"><parameter>a</parameter> :</entry> <entry> Output location of alpha color component, values are in [0.0, 1.0] </entry></row> </tbody></tgroup></informaltable></refsect2> <refsect2> <title><anchor id="gnome-color-picker-set-i8">gnome_color_picker_set_i8 ()</title> <programlisting>void gnome_color_picker_set_i8 (<link linkend="GnomeColorPicker">GnomeColorPicker</link> *cp, <link linkend="guint8">guint8</link> r, <link linkend="guint8">guint8</link> g, <link linkend="guint8">guint8</link> b, <link linkend="guint8">guint8</link> a);</programlisting> <para> Set color shown in the color picker widget using 8-bit integer values.</para> <para> </para><informaltable pgwide="1" frame="none" role="params"> <tgroup cols="2"> <colspec colwidth="2*"> <colspec colwidth="8*"> <tbody> <row><entry align="right"><parameter>cp</parameter> :</entry> <entry> Pointer to GNOME color picker widget. </entry></row> <row><entry align="right"><parameter>r</parameter> :</entry> <entry> Red color component, values are in [0, 255] </entry></row> <row><entry align="right"><parameter>g</parameter> :</entry> <entry> Green color component, values are in [0, 255] </entry></row> <row><entry align="right"><parameter>b</parameter> :</entry> <entry> Blue color component, values are in [0, 255] </entry></row> <row><entry align="right"><parameter>a</parameter> :</entry> <entry> Alpha component, values are in [0, 255] </entry></row> </tbody></tgroup></informaltable></refsect2> <refsect2> <title><anchor id="gnome-color-picker-get-i8">gnome_color_picker_get_i8 ()</title> <programlisting>void gnome_color_picker_get_i8 (<link linkend="GnomeColorPicker">GnomeColorPicker</link> *cp, <link linkend="guint8">guint8</link> *r, <link linkend="guint8">guint8</link> *g, <link linkend="guint8">guint8</link> *b, <link linkend="guint8">guint8</link> *a);</programlisting> <para> Retrieve color currently selected in the color picker widget in the form of 8-bit integer values.</para> <para> </para><informaltable pgwide="1" frame="none" role="params"> <tgroup cols="2"> <colspec colwidth="2*"> <colspec colwidth="8*"> <tbody> <row><entry align="right"><parameter>cp</parameter> :</entry> <entry> Pointer to GNOME color picker widget. </entry></row> <row><entry align="right"><parameter>r</parameter> :</entry> <entry> Output location of red color component, values are in [0, 255] </entry></row> <row><entry align="right"><parameter>g</parameter> :</entry> <entry> Output location of green color component, values are in [0, 255] </entry></row> <row><entry align="right"><parameter>b</parameter> :</entry> <entry> Output location of blue color component, values are in [0, 255] </entry></row> <row><entry align="right"><parameter>a</parameter> :</entry> <entry> Output location of alpha color component, values are in [0, 255] </entry></row> </tbody></tgroup></informaltable></refsect2> <refsect2> <title><anchor id="gnome-color-picker-set-i16">gnome_color_picker_set_i16 ()</title> <programlisting>void gnome_color_picker_set_i16 (<link linkend="GnomeColorPicker">GnomeColorPicker</link> *cp, <link linkend="gushort">gushort</link> r, <link linkend="gushort">gushort</link> g, <link linkend="gushort">gushort</link> b, <link linkend="gushort">gushort</link> a);</programlisting> <para> Set color shown in the color picker widget using 16-bit integer values.</para> <para> </para><informaltable pgwide="1" frame="none" role="params"> <tgroup cols="2"> <colspec colwidth="2*"> <colspec colwidth="8*"> <tbody> <row><entry align="right"><parameter>cp</parameter> :</entry> <entry> Pointer to GNOME color picker widget. </entry></row> <row><entry align="right"><parameter>r</parameter> :</entry> <entry> Red color component, values are in [0, 65535] </entry></row> <row><entry align="right"><parameter>g</parameter> :</entry> <entry> Green color component, values are in [0, 65535] </entry></row> <row><entry align="right"><parameter>b</parameter> :</entry> <entry> Blue color component, values are in [0, 65535] </entry></row> <row><entry align="right"><parameter>a</parameter> :</entry> <entry> Alpha component, values are in [0, 65535] </entry></row> </tbody></tgroup></informaltable></refsect2> <refsect2> <title><anchor id="gnome-color-picker-get-i16">gnome_color_picker_get_i16 ()</title> <programlisting>void gnome_color_picker_get_i16 (<link linkend="GnomeColorPicker">GnomeColorPicker</link> *cp, <link linkend="gushort">gushort</link> *r, <link linkend="gushort">gushort</link> *g, <link linkend="gushort">gushort</link> *b, <link linkend="gushort">gushort</link> *a);</programlisting> <para> Retrieve color currently selected in the color picker widget in the form of 16-bit integer values.</para> <para> </para><informaltable pgwide="1" frame="none" role="params"> <tgroup cols="2"> <colspec colwidth="2*"> <colspec colwidth="8*"> <tbody> <row><entry align="right"><parameter>cp</parameter> :</entry> <entry> Pointer to GNOME color picker widget. </entry></row> <row><entry align="right"><parameter>r</parameter> :</entry> <entry> Output location of red color component, values are in [0, 65535] </entry></row> <row><entry align="right"><parameter>g</parameter> :</entry> <entry> Output location of green color component, values are in [0, 65535] </entry></row> <row><entry align="right"><parameter>b</parameter> :</entry> <entry> Output location of blue color component, values are in [0, 65535] </entry></row> <row><entry align="right"><parameter>a</parameter> :</entry> <entry> Output location of alpha color component, values are in [0, 65535] </entry></row> </tbody></tgroup></informaltable></refsect2> <refsect2> <title><anchor id="gnome-color-picker-set-dither">gnome_color_picker_set_dither ()</title> <programlisting>void gnome_color_picker_set_dither (<link linkend="GnomeColorPicker">GnomeColorPicker</link> *cp, <link linkend="gboolean">gboolean</link> dither);</programlisting> <para> Sets whether the picker should dither the color sample or just paint a solid rectangle.</para> <para> </para><informaltable pgwide="1" frame="none" role="params"> <tgroup cols="2"> <colspec colwidth="2*"> <colspec colwidth="8*"> <tbody> <row><entry align="right"><parameter>cp</parameter> :</entry> <entry> Pointer to GNOME color picker widget. </entry></row> <row><entry align="right"><parameter>dither</parameter> :</entry> <entry> <literal>TRUE</literal> if color sample should be dithered, <literal>FALSE</literal> if not. </entry></row> </tbody></tgroup></informaltable></refsect2> <refsect2> <title><anchor id="gnome-color-picker-set-use-alpha">gnome_color_picker_set_use_alpha ()</title> <programlisting>void gnome_color_picker_set_use_alpha (<link linkend="GnomeColorPicker">GnomeColorPicker</link> *cp, <link linkend="gboolean">gboolean</link> use_alpha);</programlisting> <para> Sets whether or not the picker should use the alpha channel.</para> <para> </para><informaltable pgwide="1" frame="none" role="params"> <tgroup cols="2"> <colspec colwidth="2*"> <colspec colwidth="8*"> <tbody> <row><entry align="right"><parameter>cp</parameter> :</entry> <entry> Pointer to GNOME color picker widget. </entry></row> <row><entry align="right"><parameter>use_alpha</parameter> :</entry> <entry> <literal>TRUE</literal> if color sample should use alpha channel, <literal>FALSE</literal> if not. </entry></row> </tbody></tgroup></informaltable></refsect2> <refsect2> <title><anchor id="gnome-color-picker-set-title">gnome_color_picker_set_title ()</title> <programlisting>void gnome_color_picker_set_title (<link linkend="GnomeColorPicker">GnomeColorPicker</link> *cp, const <link linkend="gchar">gchar</link> *title);</programlisting> <para> Sets the title for the color selection dialog.</para> <para> </para><informaltable pgwide="1" frame="none" role="params"> <tgroup cols="2"> <colspec colwidth="2*"> <colspec colwidth="8*"> <tbody> <row><entry align="right"><parameter>cp</parameter> :</entry> <entry> Pointer to GNOME color picker widget. </entry></row> <row><entry align="right"><parameter>title</parameter> :</entry> <entry> String containing new window title. </entry></row> </tbody></tgroup></informaltable></refsect2> </refsect1> </refentry>