[gnumeric] GdkGC: eliminate from cell rendering.
- From: Morten Welinder <mortenw src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnumeric] GdkGC: eliminate from cell rendering.
- Date: Thu, 29 Jul 2010 01:56:41 +0000 (UTC)
commit 3c447dc04ef3e151a92c26821143d5be64f23b6b
Author: Morten Welinder <terra gnome org>
Date: Wed Jul 28 21:56:14 2010 -0400
GdkGC: eliminate from cell rendering.
src/widgets/ChangeLog | 21 +++++---
src/widgets/gnumeric-cell-renderer-expr-entry.c | 1 -
src/widgets/gnumeric-cell-renderer-text.c | 58 +++++++++++------------
3 files changed, 40 insertions(+), 40 deletions(-)
---
diff --git a/src/widgets/ChangeLog b/src/widgets/ChangeLog
index 9c0e277..3a2d770 100644
--- a/src/widgets/ChangeLog
+++ b/src/widgets/ChangeLog
@@ -1,16 +1,21 @@
+2010-07-28 Morten Welinder <terra gnome org>
+
+ * gnumeric-cell-renderer-text.c (gnumeric_cell_renderer_text_render):
+ Draw with cairo.
+
2010-07-28 Andreas J. Guelzow <aguelzow pyrshep ca>
* gnumeric-expr-entry.c (gee_dump_lexer): fix format warning
(gee_check_tooltip): ditto
-
+
2010-07-27 Andreas J. Guelzow <aguelzow pyrshep ca>
* gnumeric-expr-entry.c (gee_scan_for_range): show all ranges or none.
-
+
2010-07-22 Andreas J. Guelzow <aguelzow pyrshep ca>
* gnumeric-expr-entry.c (gee_set_tooltip): don't remove the completion
- (gee_set_tooltip_completion): return whether the tool tip was shown,
+ (gee_set_tooltip_completion): return whether the tool tip was shown,
check the preference setting.
(gee_check_tooltip): check the preference setting and watch the return
value of gee_set_tooltip_completion
@@ -36,24 +41,24 @@
2010-07-21 Andreas J. Guelzow <aguelzow pyrshep ca>
* gnumeric-expr-entry.c (gee_create_tooltip): add argument
- (gee_set_tooltip_completion): create the tooltip in 2 parts, function
+ (gee_set_tooltip_completion): create the tooltip in 2 parts, function
names with description and instructions
(gee_check_tooltip): the list now contains function descriptors
2010-07-20 Andreas J. Guelzow <aguelzow pyrshep ca>
* gnumeric-expr-entry.c (_GnmExprEntry) add field
- (gee_delete_tooltip): set the completion invalid even if the text is
+ (gee_delete_tooltip): set the completion invalid even if the text is
NULL
(gee_set_tooltip_completion): set the completion range even if we don't
know the text
(gee_check_tooltip): ditto
- (cb_gee_key_press_event): pass range information to
+ (cb_gee_key_press_event): pass range information to
dialog_function_select_paste and return a value.
2010-07-20 Andreas J. Guelzow <aguelzow pyrshep ca>
- * gnumeric-expr-entry.c (cb_gee_key_press_event) call
+ * gnumeric-expr-entry.c (cb_gee_key_press_event) call
dialog_function_select_paste on Sift-F4
2010-07-19 Andreas J. Guelzow <aguelzow pyrshep ca>
@@ -77,7 +82,7 @@
* gnumeric-expr-entry.c (gee_check_tooltip): fix the check for unclosed
strings.
-
+
2010-07-18 Morten Welinder <terra gnome org>
* gnumeric-expr-entry.c (cb_icon_clicked): Fix signedness problem.
diff --git a/src/widgets/gnumeric-cell-renderer-expr-entry.c b/src/widgets/gnumeric-cell-renderer-expr-entry.c
index 5923077..5cc90d5 100644
--- a/src/widgets/gnumeric-cell-renderer-expr-entry.c
+++ b/src/widgets/gnumeric-cell-renderer-expr-entry.c
@@ -75,7 +75,6 @@ gnumeric_cell_renderer_expr_entry_class_init (GnumericCellRendererExprEntryClass
parent_class = g_type_class_peek_parent (object_class);
cell_class->start_editing = gnumeric_cell_renderer_expr_entry_start_editing;
-
}
diff --git a/src/widgets/gnumeric-cell-renderer-text.c b/src/widgets/gnumeric-cell-renderer-text.c
index b0075e6..19a40cb 100644
--- a/src/widgets/gnumeric-cell-renderer-text.c
+++ b/src/widgets/gnumeric-cell-renderer-text.c
@@ -62,59 +62,55 @@ gnumeric_cell_renderer_text_render (GtkCellRenderer *cell,
{
GtkCellRendererText *celltext = (GtkCellRendererText *) cell;
- GtkStateType state;
- GdkGC *gc = gdk_gc_new (window);
+ GtkStateType state, frame_state;
+ cairo_t *cr = gdk_cairo_create (window);
if ((flags & GTK_CELL_RENDERER_SELECTED) == GTK_CELL_RENDERER_SELECTED) {
+ frame_state = GTK_STATE_ACTIVE;
if (GTK_WIDGET_HAS_FOCUS (widget))
state = GTK_STATE_SELECTED;
else
state = GTK_STATE_ACTIVE;
} else {
+ frame_state = GTK_STATE_INSENSITIVE;
if (gtk_widget_get_state (widget) == GTK_STATE_INSENSITIVE)
state = GTK_STATE_INSENSITIVE;
else
state = GTK_STATE_NORMAL;
}
- if (celltext->background_set)
- {
- GdkColor color;
+ if (celltext->background_set) {
+ cairo_set_source_rgb (cr,
+ celltext->background.red / 65535.,
+ celltext->background.green / 65535.,
+ celltext->background.blue / 65535.);
- color.red = celltext->background.red;
- color.green = celltext->background.green;
- color.blue = celltext->background.blue;
+ if (expose_area) {
+ gdk_cairo_rectangle (cr, background_area);
+ cairo_clip (cr);
+ }
- gdk_gc_set_rgb_fg_color (gc, &color);
+ cairo_rectangle (cr,
+ background_area->x,
+ background_area->y + cell->ypad,
+ background_area->width,
+ background_area->height - 2 * cell->ypad);
+ cairo_fill (cr);
if (expose_area)
- gdk_gc_set_clip_rectangle (gc, expose_area);
- gdk_draw_rectangle (window,
- gc,
- TRUE,
- background_area->x,
- background_area->y + cell->ypad,
- background_area->width,
- background_area->height - 2 * cell->ypad);
- if (expose_area)
- gdk_gc_set_clip_rectangle (gc, NULL);
+ cairo_reset_clip (cr);
}
- gdk_gc_set_rgb_fg_color (gc, &widget->style->bg[
- ((flags & GTK_CELL_RENDERER_SELECTED) == GTK_CELL_RENDERER_SELECTED) ?
- GTK_STATE_ACTIVE : GTK_STATE_INSENSITIVE]);
-
if (celltext->editable) {
- gdk_draw_rectangle (window, gc, FALSE,
- background_area->x,
- background_area->y,
- background_area->width - 1,
- background_area->height - 1);
-
+ GtkStyle *style = gtk_widget_get_style (widget);
+ gdk_cairo_set_source_color (cr, &style->bg[frame_state]);
+ gdk_cairo_rectangle (cr, background_area);
+ cairo_clip (cr);
+ gdk_cairo_rectangle (cr, background_area);
+ cairo_stroke (cr);
}
- g_object_unref (G_OBJECT (gc));
-
+ cairo_destroy (cr);
if (celltext->foreground_set) {
GTK_CELL_RENDERER_CLASS (parent_class)->render
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]