gtk-css-engine r167 - in trunk: . src
- From: robsta svn gnome org
- To: svn-commits-list gnome org
- Subject: gtk-css-engine r167 - in trunk: . src
- Date: Fri, 17 Oct 2008 10:27:19 +0000 (UTC)
Author: robsta
Date: Fri Oct 17 10:27:19 2008
New Revision: 167
URL: http://svn.gnome.org/viewvc/gtk-css-engine?rev=167&view=rev
Log:
* src/css2gtkrc.c (main): initialise and shutdown ccss.
* src/gce-serialize.c (accumulate_state), (serialize_state): use new ccss API to extract style properties.
Modified:
trunk/ChangeLog
trunk/src/css2gtkrc.c
trunk/src/gce-serialize.c
Modified: trunk/src/css2gtkrc.c
==============================================================================
--- trunk/src/css2gtkrc.c (original)
+++ trunk/src/css2gtkrc.c Fri Oct 17 10:27:19 2008
@@ -35,6 +35,8 @@
return EXIT_FAILURE;
}
+ ccss_init (NULL);
+
stylesheet = ccss_stylesheet_new_from_file (argv[1]);
g_assert (stylesheet);
@@ -51,5 +53,7 @@
g_free (gtkrc), gtkrc = NULL;
+ ccss_shutdown ();
+
return EXIT_SUCCESS;
}
Modified: trunk/src/gce-serialize.c
==============================================================================
--- trunk/src/gce-serialize.c (original)
+++ trunk/src/gce-serialize.c Fri Oct 17 10:27:19 2008
@@ -68,7 +68,6 @@
*/
enum { NORMAL = 0, ACTIVE, PRELIGHT, SELECTED, INSENSITIVE, N_STATES };
-enum { RED = 0, GREEN, BLUE, N_COLORS };
enum {
FG_SET = 1 << 0,
BG_SET = 1 << 1,
@@ -85,10 +84,10 @@
struct RcBlock {
struct RcState {
- double fg[N_COLORS];
- double bg[N_COLORS];
- double base[N_COLORS];
- double text[N_COLORS];
+ char fg[8];
+ char bg[8];
+ char base[8];
+ char text[8];
guint flags;
} colors[N_STATES];
guint flags;
@@ -101,9 +100,10 @@
char const *state_name,
struct RcState *state)
{
- ccss_style_t *style;
- Node node;
- gboolean ret;
+ ccss_style_t *style;
+ Node node;
+ char *color;
+ gboolean ret;
ccss_node_init ((ccss_node_t *) &node, &_node_class);
node.type_name = type_name;
@@ -117,19 +117,30 @@
return false;
}
- ret = ccss_style_get_color (style, &state->fg[RED], &state->fg[GREEN], &state->fg[BLUE]);
- if (ret) {
- state->flags |= FG_SET;
+ color = NULL;
+
+ ret = ccss_style_get_string (style, "color", &color);
+ if (ret && color) {
+ state->flags |= TEXT_SET;
+ strncpy (state->text, color, 8);
+ g_free (color), color = NULL;
}
- ret = ccss_style_get_background_color (style, &state->bg[RED], &state->bg[GREEN], &state->bg[BLUE]);
+ ret = ccss_style_get_string (style, "background-color", &color);
if (ret) {
state->flags |= BG_SET;
+ strncpy (state->bg, color, 8);
/* FIXME: also setting "base" to the background color, let's see how this works out. */
- state->base[RED] = state->bg[RED];
- state->base[GREEN] = state->bg[GREEN];
- state->base[BLUE] = state->bg[BLUE];
state->flags |= BASE_SET;
+ strncpy (state->base, color, 8);
+ g_free (color), color = NULL;
+ }
+
+ ret = ccss_style_get_string (style, "border-color", &color);
+ if (ret && color) {
+ state->flags |= FG_SET;
+ strncpy (state->fg, color, 8);
+ g_free (color), color = NULL;
}
ccss_style_free (style), style = NULL;
@@ -182,23 +193,19 @@
GString *rc_string)
{
if (FG_SET & state->flags) {
- g_string_append_printf (rc_string, "\tfg[%s] = { %.3f, %.3f, %.3f }\n", state_name,
- state->fg[RED], state->fg[GREEN], state->fg[BLUE]);
+ g_string_append_printf (rc_string, "\tfg[%s] = '%s'\n", state_name, state->fg);
}
if (BG_SET & state->flags) {
- g_string_append_printf (rc_string, "\tbg[%s] = { %.3f, %.3f, %.3f }\n", state_name,
- state->bg[RED], state->bg[GREEN], state->bg[BLUE]);
+ g_string_append_printf (rc_string, "\tbg[%s] = '%s'\n", state_name, state->bg);
}
if (BASE_SET & state->flags) {
- g_string_append_printf (rc_string, "\tbase[%s] = { %.3f, %.3f, %.3f }\n", state_name,
- state->base[RED], state->base[GREEN], state->base[BLUE]);
+ g_string_append_printf (rc_string, "\tbase[%s] = '%s'\n", state_name, state->base);
}
if (TEXT_SET & state->flags) {
- g_string_append_printf (rc_string, "\ttext[%s] = { %.3f, %.3f, %.3f }\n", state_name,
- state->text[RED], state->text[GREEN], state->text[BLUE]);
+ g_string_append_printf (rc_string, "\ttext[%s] = '%s'\n", state_name, state->text);
}
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]