51 lines
1.8 KiB
Plaintext
51 lines
1.8 KiB
Plaintext
<chapter id="gtk-migrating-GtkColorButton">
|
|
|
|
<title>Migrating from GnomeColorPicker to GtkColorButton</title>
|
|
|
|
<para>
|
|
Since version 2.6, GTK+ provides the #GtkColorButton
|
|
widget as a replacement for the <structname>GnomeColorPicker</structname>
|
|
widget in the libgnomeui library.
|
|
</para>
|
|
|
|
<para>
|
|
Porting an application from <structname>GnomeColorPicker</structname> to
|
|
<structname>GtkColorButton</structname> is very simple.
|
|
<structname>GtkColorButton</structname> doesn't support dithering
|
|
(since it is rarely needed on modern hardware), and it doesn't have
|
|
setters and getters to set the color from floating point or integer
|
|
components. So instead of
|
|
<informalexample><programlisting>
|
|
guint red, green, blue, alpha;
|
|
/* ... */
|
|
gnome_color_picker_set_i8 (color_picker, red, green, blue, alpha);
|
|
</programlisting></informalexample>
|
|
you have to write
|
|
<informalexample><programlisting>
|
|
GdkColor color;
|
|
|
|
color.red = red << 8;
|
|
color.green = green << 8;
|
|
color.blue = blue << 8;
|
|
gtk_color_button_set_color (color_picker, &color);
|
|
gtk_color_button_set_alpha (color_picker, alpha << 8);
|
|
</programlisting></informalexample>
|
|
and similarly for the setters taking other number formats. For
|
|
<function>gnome_color_picker_set_i16()</function> no conversion is needed,
|
|
for <function>gnome_color_picker_set_d()</function>, you need to convert
|
|
the color components like this:
|
|
<informalexample><programlisting>
|
|
color.red = (guint16) (red * 65535.0 + 0.5);
|
|
color.green = (guint16) (green * 65535.0 + 0.5);
|
|
color.blue = (guint16) (blue * 65535.0 + 0.5);
|
|
</programlisting></informalexample>
|
|
</para>
|
|
</chapter>
|
|
|
|
<!--
|
|
Local variables:
|
|
mode: sgml
|
|
sgml-parent-document: ("gtk-docs.sgml" "book" "part" "chapter")
|
|
End:
|
|
-->
|