[gnome-color-manager] Set XYZ objects in GcmCieWidget, not x', y' values
- From: Richard Hughes <rhughes src gnome org>
- To: svn-commits-list gnome org
- Cc:
- Subject: [gnome-color-manager] Set XYZ objects in GcmCieWidget, not x', y' values
- Date: Thu, 3 Dec 2009 20:23:28 +0000 (UTC)
commit 00306d09275f4a1f45f22dda7d2d0816034927cb
Author: Richard Hughes <richard hughsie com>
Date: Thu Dec 3 20:22:27 2009 +0000
Set XYZ objects in GcmCieWidget, not x', y' values
src/gcm-cie-widget.c | 143 +++++++++++++++-----------------------------------
src/gcm-prefs.c | 12 ++---
2 files changed, 47 insertions(+), 108 deletions(-)
---
diff --git a/src/gcm-cie-widget.c b/src/gcm-cie-widget.c
index 950e6b0..91a1589 100644
--- a/src/gcm-cie-widget.c
+++ b/src/gcm-cie-widget.c
@@ -29,6 +29,7 @@
#include <stdlib.h>
#include <math.h>
+#include "gcm-xyz.h"
#include "gcm-cie-widget.h"
#include "egg-debug.h"
@@ -400,14 +401,11 @@ enum
{
PROP_0,
PROP_USE_GRID,
- PROP_RED_X,
- PROP_RED_Y,
- PROP_GREEN_X,
- PROP_GREEN_Y,
- PROP_BLUE_X,
- PROP_BLUE_Y,
- PROP_WHITE_X,
- PROP_WHITE_Y,
+ PROP_RED,
+ PROP_GREEN,
+ PROP_BLUE,
+ PROP_WHITE,
+ PROP_LAST
};
/**
@@ -421,30 +419,6 @@ dkp_cie_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec
case PROP_USE_GRID:
g_value_set_boolean (value, cie->priv->use_grid);
break;
- case PROP_RED_X:
- g_value_set_double (value, cie->priv->red_x);
- break;
- case PROP_RED_Y:
- g_value_set_double (value, cie->priv->red_y);
- break;
- case PROP_GREEN_X:
- g_value_set_double (value, cie->priv->green_x);
- break;
- case PROP_GREEN_Y:
- g_value_set_double (value, cie->priv->green_y);
- break;
- case PROP_BLUE_X:
- g_value_set_double (value, cie->priv->blue_x);
- break;
- case PROP_BLUE_Y:
- g_value_set_double (value, cie->priv->blue_y);
- break;
- case PROP_WHITE_X:
- g_value_set_double (value, cie->priv->white_x);
- break;
- case PROP_WHITE_Y:
- g_value_set_double (value, cie->priv->white_y);
- break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
break;
@@ -458,34 +432,31 @@ static void
dkp_cie_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec)
{
GcmCieWidget *cie = GCM_CIE_WIDGET (object);
+ GcmXyz *xyz;
switch (prop_id) {
case PROP_USE_GRID:
cie->priv->use_grid = g_value_get_boolean (value);
break;
- case PROP_RED_X:
- cie->priv->red_x = g_value_get_double (value);
+ case PROP_RED:
+ xyz = g_value_get_object (value);
+ cie->priv->red_x = gcm_xyz_get_x (xyz);
+ cie->priv->red_y = gcm_xyz_get_y (xyz);
break;
- case PROP_RED_Y:
- cie->priv->red_y = g_value_get_double (value);
+ case PROP_GREEN:
+ xyz = g_value_get_object (value);
+ cie->priv->green_x = gcm_xyz_get_x (xyz);
+ cie->priv->green_y = gcm_xyz_get_y (xyz);
break;
- case PROP_GREEN_X:
- cie->priv->green_x = g_value_get_double (value);
+ case PROP_BLUE:
+ xyz = g_value_get_object (value);
+ cie->priv->blue_x = gcm_xyz_get_x (xyz);
+ cie->priv->blue_y = gcm_xyz_get_y (xyz);
break;
- case PROP_GREEN_Y:
- cie->priv->green_y = g_value_get_double (value);
- break;
- case PROP_BLUE_X:
- cie->priv->blue_x = g_value_get_double (value);
- break;
- case PROP_BLUE_Y:
- cie->priv->blue_y = g_value_get_double (value);
- break;
- case PROP_WHITE_X:
- cie->priv->white_x = g_value_get_double (value);
- break;
- case PROP_WHITE_Y:
- cie->priv->white_y = g_value_get_double (value);
+ case PROP_WHITE:
+ xyz = g_value_get_object (value);
+ cie->priv->white_x = gcm_xyz_get_x (xyz);
+ cie->priv->white_y = gcm_xyz_get_y (xyz);
break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
@@ -520,45 +491,25 @@ gcm_cie_widget_class_init (GcmCieWidgetClass *class)
TRUE,
G_PARAM_READWRITE));
g_object_class_install_property (object_class,
- PROP_RED_X,
- g_param_spec_double ("red-x", NULL, NULL,
- -G_MAXDOUBLE, G_MAXDOUBLE, 0.0f,
- G_PARAM_READWRITE));
- g_object_class_install_property (object_class,
- PROP_RED_Y,
- g_param_spec_double ("red-y", NULL, NULL,
- -G_MAXDOUBLE, G_MAXDOUBLE, 0.0f,
- G_PARAM_READWRITE));
- g_object_class_install_property (object_class,
- PROP_GREEN_X,
- g_param_spec_double ("green-x", NULL, NULL,
- -G_MAXDOUBLE, G_MAXDOUBLE, 0.0f,
- G_PARAM_READWRITE));
- g_object_class_install_property (object_class,
- PROP_GREEN_Y,
- g_param_spec_double ("green-y", NULL, NULL,
- -G_MAXDOUBLE, G_MAXDOUBLE, 0.0f,
- G_PARAM_READWRITE));
- g_object_class_install_property (object_class,
- PROP_BLUE_X,
- g_param_spec_double ("blue-x", NULL, NULL,
- -G_MAXDOUBLE, G_MAXDOUBLE, 0.0f,
- G_PARAM_READWRITE));
+ PROP_RED,
+ g_param_spec_object ("red", NULL, NULL,
+ GCM_TYPE_XYZ,
+ G_PARAM_WRITABLE));
g_object_class_install_property (object_class,
- PROP_BLUE_Y,
- g_param_spec_double ("blue-y", NULL, NULL,
- -G_MAXDOUBLE, G_MAXDOUBLE, 0.0f,
- G_PARAM_READWRITE));
+ PROP_GREEN,
+ g_param_spec_object ("green", NULL, NULL,
+ GCM_TYPE_XYZ,
+ G_PARAM_WRITABLE));
g_object_class_install_property (object_class,
- PROP_WHITE_X,
- g_param_spec_double ("white-x", NULL, NULL,
- -G_MAXDOUBLE, G_MAXDOUBLE, 0.0f,
- G_PARAM_READWRITE));
+ PROP_BLUE,
+ g_param_spec_object ("blue", NULL, NULL,
+ GCM_TYPE_XYZ,
+ G_PARAM_WRITABLE));
g_object_class_install_property (object_class,
- PROP_WHITE_Y,
- g_param_spec_double ("white-y", NULL, NULL,
- -G_MAXDOUBLE, G_MAXDOUBLE, 0.0f,
- G_PARAM_READWRITE));
+ PROP_WHITE,
+ g_param_spec_object ("white", NULL, NULL,
+ GCM_TYPE_XYZ,
+ G_PARAM_WRITABLE));
}
/**
@@ -572,10 +523,6 @@ gcm_cie_widget_init (GcmCieWidget *cie)
PangoFontDescription *desc;
cie->priv = GCM_CIE_WIDGET_GET_PRIVATE (cie);
- cie->priv->red_x = 0;
- cie->priv->red_y = 0;
- cie->priv->blue_x = 0;
- cie->priv->blue_y = 0;
cie->priv->use_grid = TRUE;
cie->priv->tongue_buffer = g_ptr_array_new_with_free_func (g_free);
@@ -1278,14 +1225,10 @@ gcm_cie_widget_test (EggTest *test)
NULL);
g_object_set (widget,
- "red-x", gcm_xyz_get_x (red),
- "red-y", gcm_xyz_get_y (red),
- "green-x", gcm_xyz_get_x (green),
- "green-y", gcm_xyz_get_y (green),
- "blue-x", gcm_xyz_get_x (blue),
- "blue-y", gcm_xyz_get_y (blue),
- "white-x", gcm_xyz_get_x (white),
- "white-y", gcm_xyz_get_y (white),
+ "red", red,
+ "green", green,
+ "blue", blue,
+ "white", white,
NULL);
/* show in a dialog as an example */
diff --git a/src/gcm-prefs.c b/src/gcm-prefs.c
index c2f11ad..cb14e57 100644
--- a/src/gcm-prefs.c
+++ b/src/gcm-prefs.c
@@ -1440,14 +1440,10 @@ gcm_prefs_profiles_treeview_clicked_cb (GtkTreeSelection *selection, gpointer us
NULL);
g_object_set (cie_widget,
- "red-x", gcm_xyz_get_x (red),
- "red-y", gcm_xyz_get_y (red),
- "green-x", gcm_xyz_get_x (green),
- "green-y", gcm_xyz_get_y (green),
- "blue-x", gcm_xyz_get_x (blue),
- "blue-y", gcm_xyz_get_y (blue),
- "white-x", gcm_xyz_get_x (white),
- "white-y", gcm_xyz_get_y (white),
+ "white", white,
+ "red", red,
+ "green", green,
+ "blue", blue,
NULL);
/* ensure showing */
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]