libeek: define new boxed type EekColor for colors

This commit is contained in:
Daiki Ueno
2011-01-19 14:05:46 +09:00
parent 1ddf39b3da
commit 71d5259f85
2 changed files with 69 additions and 0 deletions

View File

@ -145,3 +145,46 @@ eek_outline_get_type (void)
(GBoxedFreeFunc)eek_outline_free);
return our_type;
}
/* EekColor */
static EekColor *
eek_color_copy (const EekColor *color)
{
return g_slice_dup (EekColor, color);
}
static void
eek_color_free (EekColor *color)
{
g_slice_free (EekColor, color);
}
GType
eek_color_get_type (void)
{
static GType our_type = 0;
if (our_type == 0)
our_type =
g_boxed_type_register_static ("EekColor",
(GBoxedCopyFunc)eek_color_copy,
(GBoxedFreeFunc)eek_color_free);
return our_type;
}
EekColor *
eek_color_new (gdouble red,
gdouble green,
gdouble blue,
gdouble alpha)
{
EekColor *color;
color = g_slice_new (EekColor);
color->red = red;
color->green = green;
color->blue = blue;
color->alpha = alpha;
return color;
}