[goffice] Add go_color_from_gdk_rgba, to fix 676358
- From: Andreas J. Guelzow <guelzow src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [goffice] Add go_color_from_gdk_rgba, to fix 676358
- Date: Sun, 20 May 2012 02:16:12 +0000 (UTC)
commit 2ef56fb0200094eee344c3021e383c978c3aa36f
Author: Andreas J Guelzow <aguelzow pyrshep ca>
Date: Sat May 19 20:14:21 2012 -0600
Add go_color_from_gdk_rgba, to fix 676358
2012-05-19 Andreas J. Guelzow <aguelzow pyrshep ca>
* goffice/utils/go-color.h (go_color_from_gdk_rgba): new
* goffice/utils/go-color.c (go_color_from_gdk_rgba): new
ChangeLog | 5 +++++
NEWS | 1 +
goffice/utils/go-color.c | 21 +++++++++++++++++++++
goffice/utils/go-color.h | 5 +++--
4 files changed, 30 insertions(+), 2 deletions(-)
---
diff --git a/ChangeLog b/ChangeLog
index af29fd2..e004ee7 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2012-05-19 Andreas J. Guelzow <aguelzow pyrshep ca>
+
+ * goffice/utils/go-color.h (go_color_from_gdk_rgba): new
+ * goffice/utils/go-color.c (go_color_from_gdk_rgba): new
+
2012-05-19 Jean Brefort <jean brefort normalesup org>
* Makefile.am: enhance Introspection build support.
diff --git a/NEWS b/NEWS
index 93ee056..d7e2c22 100644
--- a/NEWS
+++ b/NEWS
@@ -3,6 +3,7 @@ goffice 0.9.4:
Andreas:
* Add go_pango_attrs_to_markup, partial inverse to pango_parse_markup.
* Handle underline tags as named tags in textbuffer.
+ * Add go_color_from_gdk_rgba
Jean:
* Fixed logfit equation typo. [#675560]
diff --git a/goffice/utils/go-color.c b/goffice/utils/go-color.c
index a3479fe..39551a5 100644
--- a/goffice/utils/go-color.c
+++ b/goffice/utils/go-color.c
@@ -1,3 +1,4 @@
+/* vim: set sw=8: -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
/*
* gog-color.c :
*
@@ -92,4 +93,24 @@ go_color_to_gdk_rgba (GOColor color, GdkRGBA *res)
return res;
}
+
+GOColor
+go_color_from_gdk_rgba (GdkRGBA *rgbacolor, GOColor *res)
+{
+ GOColor color;
+ gint r, g, b, a;
+
+ g_return_val_if_fail (rgbacolor != NULL, 0);
+
+ r = CLAMP (rgbacolor->red * 256, 0, 255);
+ g = CLAMP (rgbacolor->green * 256, 0, 255);
+ b = CLAMP (rgbacolor->blue * 256, 0, 255);
+ a = CLAMP (rgbacolor->alpha * 256, 0, 255);
+
+ color = GO_COLOR_FROM_RGBA (r,g,b,a);
+
+ if (res)
+ *res = color;
+ return color;
+}
#endif /* GOFFICE_WITH_GTK */
diff --git a/goffice/utils/go-color.h b/goffice/utils/go-color.h
index 68ca49a..9d6771f 100644
--- a/goffice/utils/go-color.h
+++ b/goffice/utils/go-color.h
@@ -40,7 +40,7 @@ typedef struct {
cpp-perils...
*/
-#define GO_COLOR_FROM_GDK_RGBA(c) GO_COLOR_FROM_RGBA((int)((c).red * 255.), (int)((c).green * 255.), (int)((c).blue * 255.), (int)((c).alpha * 255.))
+#define GO_COLOR_FROM_GDK_RGBA(c) go_color_from_gdk_rgba (&(c), NULL)
#define GO_COLOR_FROM_RGB(r,g,b) ((((guint)(r&0xff))<<24)|(((guint)(g&0xff))<<16)|((guint)(b&0xff)<<8)|0xff)
#define GO_COLOR_FROM_RGBA(r,g,b,a) ((((guint)(r&0xff))<<24)|(((guint)(g&0xff))<<16)|((guint)(b&0xff)<<8)|(guint)(a&0xff))
@@ -84,7 +84,8 @@ gboolean go_color_from_str (char const *str, GOColor *res);
gchar *go_color_as_str (GOColor color);
PangoAttribute *go_color_to_pango (GOColor color, gboolean is_fore);
#ifdef GOFFICE_WITH_GTK
-GdkRGBA *go_color_to_gdk_rgba (GOColor color, GdkRGBA *res);
+GdkRGBA *go_color_to_gdk_rgba (GOColor color, GdkRGBA *res);
+GOColor go_color_from_gdk_rgba (GdkRGBA *rgbacolor, GOColor *res);
#endif
G_END_DECLS
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]