X-Git-Url: http://pileus.org/git/?a=blobdiff_plain;f=gdk%2Fgdkcolor.c;h=53765f601019c87c72dd119264b03759e6dd5b71;hb=0c58cb744ce65ddd6a9465fa8b86e67dc72f80c7;hp=423bc98fb23b7af424a447ecba17af688e129016;hpb=57223c9a056bfff1635ddd1e67f660cd5a61e9ff;p=~andy%2Fgtk diff --git a/gdk/gdkcolor.c b/gdk/gdkcolor.c index 423bc98fb..53765f601 100644 --- a/gdk/gdkcolor.c +++ b/gdk/gdkcolor.c @@ -12,9 +12,7 @@ * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the - * Free Software Foundation, Inc., 59 Temple Place - Suite 330, - * Boston, MA 02111-1307, USA. + * License along with this library. If not, see . */ /* @@ -25,98 +23,41 @@ */ #include "config.h" -#include -#include "gdkscreen.h" #include "gdkcolor.h" + +#include "gdkscreen.h" #include "gdkinternals.h" -#include "gdkalias.h" -/** - * gdk_colormap_ref: - * @cmap: a #GdkColormap - * - * Deprecated function; use g_object_ref() instead. - * - * Return value: the colormap - **/ -GdkColormap* -gdk_colormap_ref (GdkColormap *cmap) -{ - return (GdkColormap *) g_object_ref (cmap); -} +#include /** - * gdk_colormap_unref: - * @cmap: a #GdkColormap + * SECTION:colors + * @Short_description: Manipulation of colors + * @Title: Colors * - * Deprecated function; use g_object_ref() instead. - **/ -void -gdk_colormap_unref (GdkColormap *cmap) -{ - g_object_unref (cmap); -} - - -/** - * gdk_colormap_get_visual: - * @colormap: a #GdkColormap. - * - * Returns the visual for which a given colormap was created. - * - * Return value: the visual of the colormap. - **/ -GdkVisual * -gdk_colormap_get_visual (GdkColormap *colormap) -{ - g_return_val_if_fail (GDK_IS_COLORMAP (colormap), NULL); - - return colormap->visual; -} - -/** - * gdk_colors_store: - * @colormap: a #GdkColormap. - * @colors: the new color values. - * @ncolors: the number of colors to change. - * - * Changes the value of the first @ncolors colors in - * a private colormap. This function is obsolete and - * should not be used. See gdk_color_change(). - **/ -void -gdk_colors_store (GdkColormap *colormap, - GdkColor *colors, - gint ncolors) -{ - gint i; - - for (i = 0; i < ncolors; i++) - { - colormap->colors[i].pixel = colors[i].pixel; - colormap->colors[i].red = colors[i].red; - colormap->colors[i].green = colors[i].green; - colormap->colors[i].blue = colors[i].blue; - } + * A #GdkColor represents a color. + * + * When working with cairo, it is often more convenient + * to use a #GdkRGBA instead. + */ - gdk_colormap_change (colormap, ncolors); -} /** * gdk_color_copy: - * @color: a #GdkColor. - * - * Makes a copy of a color structure. The result - * must be freed using gdk_color_free(). - * - * Return value: a copy of @color. - **/ + * @color: a #GdkColor + * + * Makes a copy of a color structure. + * + * The result must be freed using gdk_color_free(). + * + * Return value: a copy of @color + */ GdkColor* gdk_color_copy (const GdkColor *color) { GdkColor *new_color; - + g_return_val_if_fail (color != NULL, NULL); new_color = g_slice_new (GdkColor); @@ -126,11 +67,10 @@ gdk_color_copy (const GdkColor *color) /** * gdk_color_free: - * @color: a #GdkColor. - * - * Frees a color structure created with - * gdk_color_copy(). - **/ + * @color: a #GdkColor + * + * Frees a color structure created with gdk_color_copy(). + */ void gdk_color_free (GdkColor *color) { @@ -139,201 +79,73 @@ gdk_color_free (GdkColor *color) g_slice_free (GdkColor, color); } -/** - * gdk_color_white: - * @colormap: a #GdkColormap. - * @color: the location to store the color. - * - * Returns the white color for a given colormap. The resulting - * value has already allocated been allocated. - * - * Return value: %TRUE if the allocation succeeded. - **/ -gboolean -gdk_color_white (GdkColormap *colormap, - GdkColor *color) -{ - gint return_val; - - g_return_val_if_fail (colormap != NULL, FALSE); - - if (color) - { - color->red = 65535; - color->green = 65535; - color->blue = 65535; - - return_val = gdk_colormap_alloc_color (colormap, color, FALSE, TRUE); - } - else - return_val = FALSE; - - return return_val; -} - -/** - * gdk_color_black: - * @colormap: a #GdkColormap. - * @color: the location to store the color. - * - * Returns the black color for a given colormap. The resulting - * value has already benn allocated. - * - * Return value: %TRUE if the allocation succeeded. - **/ -gboolean -gdk_color_black (GdkColormap *colormap, - GdkColor *color) -{ - gint return_val; - - g_return_val_if_fail (colormap != NULL, FALSE); - - if (color) - { - color->red = 0; - color->green = 0; - color->blue = 0; - - return_val = gdk_colormap_alloc_color (colormap, color, FALSE, TRUE); - } - else - return_val = FALSE; - - return return_val; -} - -/******************** - * Color allocation * - ********************/ - -/** - * gdk_colormap_alloc_color: - * @colormap: a #GdkColormap. - * @color: the color to allocate. On return the - * pixel field will be - * filled in if allocation succeeds. - * @writeable: If %TRUE, the color is allocated writeable - * (their values can later be changed using gdk_color_change()). - * Writeable colors cannot be shared between applications. - * @best_match: If %TRUE, GDK will attempt to do matching against - * existing colors if the color cannot be allocated as requested. - * - * Allocates a single color from a colormap. - * - * Return value: %TRUE if the allocation succeeded. - **/ -gboolean -gdk_colormap_alloc_color (GdkColormap *colormap, - GdkColor *color, - gboolean writeable, - gboolean best_match) -{ - gboolean success; - - gdk_colormap_alloc_colors (colormap, color, 1, writeable, best_match, - &success); - - return success; -} - -/** - * gdk_color_alloc: - * @colormap: a #GdkColormap. - * @color: The color to allocate. On return, the - * pixel field will be filled in. - * - * Allocates a single color from a colormap. - * - * Return value: %TRUE if the allocation succeeded. - * - * Deprecated: Use gdk_colormap_alloc_color() instead. - **/ -gboolean -gdk_color_alloc (GdkColormap *colormap, - GdkColor *color) -{ - gboolean success; - - gdk_colormap_alloc_colors (colormap, color, 1, FALSE, TRUE, &success); - - return success; -} - /** * gdk_color_hash: - * @colora: a #GdkColor. - * + * @color: a #GdkColor + * * A hash function suitable for using for a hash - * table that stores #GdkColor's. - * - * Return value: The hash function applied to @colora - **/ + * table that stores #GdkColors. + * + * Return value: The hash function applied to @color + */ guint -gdk_color_hash (const GdkColor *colora) +gdk_color_hash (const GdkColor *color) { - return ((colora->red) + - (colora->green << 11) + - (colora->blue << 22) + - (colora->blue >> 6)); + return ((color->red) + + (color->green << 11) + + (color->blue << 22) + + (color->blue >> 6)); } /** * gdk_color_equal: - * @colora: a #GdkColor. - * @colorb: another #GdkColor. - * - * Compares two colors. - * + * @colora: a #GdkColor + * @colorb: another #GdkColor + * + * Compares two colors. + * * Return value: %TRUE if the two colors compare equal - **/ + */ gboolean gdk_color_equal (const GdkColor *colora, - const GdkColor *colorb) + const GdkColor *colorb) { g_return_val_if_fail (colora != NULL, FALSE); g_return_val_if_fail (colorb != NULL, FALSE); return ((colora->red == colorb->red) && - (colora->green == colorb->green) && - (colora->blue == colorb->blue)); + (colora->green == colorb->green) && + (colora->blue == colorb->blue)); } -GType -gdk_color_get_type (void) -{ - static GType our_type = 0; - - if (our_type == 0) - our_type = g_boxed_type_register_static (g_intern_static_string ("GdkColor"), - (GBoxedCopyFunc)gdk_color_copy, - (GBoxedFreeFunc)gdk_color_free); - return our_type; -} +G_DEFINE_BOXED_TYPE (GdkColor, gdk_color, + gdk_color_copy, + gdk_color_free) /** * gdk_color_parse: - * @spec: the string specifying the color. - * @color: the #GdkColor to fill in - * + * @spec: the string specifying the color + * @color: (out): the #GdkColor to fill in + * * Parses a textual specification of a color and fill in the * red, green, * and blue fields of a #GdkColor - * structure. The color is not allocated, you - * must call gdk_colormap_alloc_color() yourself. The string can - * either one of a large set of standard names. (Taken from the X11 - * rgb.txt file), or it can be a hex value in the - * form '#rgb' '#rrggbb' '#rrrgggbbb' or - * '#rrrrggggbbbb' where 'r', 'g' and 'b' are hex digits of the - * red, green, and blue components of the color, respectively. (White - * in the four forms is '#fff' '#ffffff' '#fffffffff' and - * '#ffffffffffff') - * - * Return value: %TRUE if the parsing succeeded. - **/ + * structure. + * + * The string can either one of a large set of standard names + * (taken from the X11 rgb.txt file), or + * it can be a hex value in the form '#rgb' '#rrggbb' + * '#rrrgggbbb' or '#rrrrggggbbbb' where 'r', 'g' and + * 'b' are hex digits of the red, green, and blue components + * of the color, respectively. (White in the four forms is + * '#fff', '#ffffff', '#fffffffff' and + * '#ffffffffffff'). + * + * Return value: %TRUE if the parsing succeeded + */ gboolean gdk_color_parse (const gchar *spec, - GdkColor *color) + GdkColor *color) { PangoColor pango_color; @@ -358,10 +170,12 @@ gdk_color_parse (const gchar *spec, * g and b are hex digits * representing the red, green and blue components respectively. * + * The returned string can be parsed by gdk_color_parse(). + * * Return value: a newly-allocated text string * * Since: 2.12 - **/ + */ gchar * gdk_color_to_string (const GdkColor *color) { @@ -375,20 +189,3 @@ gdk_color_to_string (const GdkColor *color) return pango_color_to_string (&pango_color); } - -/** - * gdk_colormap_get_system: - * - * Gets the system's default colormap for the default screen. (See - * gdk_colormap_get_system_for_screen ()) - * - * Return value: the default colormap. - **/ -GdkColormap* -gdk_colormap_get_system (void) -{ - return gdk_screen_get_system_colormap (gdk_screen_get_default ()); -} - -#define __GDK_COLOR_C__ -#include "gdkaliasdef.c"