Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorCarlos Garcia Campos <carlosgc@gnome.org>2010-07-15 19:11:50 (GMT)
committer Carlos Garcia Campos <carlosgc@gnome.org>2010-07-15 19:11:50 (GMT)
commitcd9ceb034f67f4590d18ed61e41e74cb45de8cdf (patch)
tree0cad6a73f6e62c414b48d0ccab531dd5ce5c9ff0
parent112a5d9bbcab82dc413fafca5244e31c24569be7 (diff)
[libdocument] Use cairo instead of gdk_draw_rectangle()
-rw-r--r--libdocument/ev-document-misc.c58
-rw-r--r--libdocument/ev-document-misc.h2
-rw-r--r--libview/ev-view.c2
3 files changed, 31 insertions, 31 deletions
diff --git a/libdocument/ev-document-misc.c b/libdocument/ev-document-misc.c
index de40405..c0f75ea 100644
--- a/libdocument/ev-document-misc.c
+++ b/libdocument/ev-document-misc.c
@@ -133,7 +133,7 @@ ev_document_misc_get_page_border_size (gint page_width,
void
-ev_document_misc_paint_one_page (GdkDrawable *drawable,
+ev_document_misc_paint_one_page (cairo_t *cr,
GtkWidget *widget,
GdkRectangle *area,
GtkBorder *border,
@@ -143,35 +143,35 @@ ev_document_misc_paint_one_page (GdkDrawable *drawable,
GtkStyle *style = gtk_widget_get_style (widget);
GtkStateType state = gtk_widget_get_state (widget);
- gdk_draw_rectangle (drawable,
- highlight ? style->text_gc[state] : style->dark_gc[state],
- TRUE,
- area->x,
- area->y,
- area->width,
- area->height);
- gdk_draw_rectangle (drawable,
- inverted_colors ? style->black_gc : style->white_gc,
- TRUE,
- area->x + border->left,
- area->y + border->top,
- area->width - (border->left + border->right),
- area->height - (border->top + border->bottom));
- gdk_draw_rectangle (drawable,
- style->mid_gc[state],
- TRUE,
- area->x,
- area->y + area->height - (border->bottom - border->top),
- border->bottom - border->top,
- border->bottom - border->top);
- gdk_draw_rectangle (drawable,
- style->mid_gc[state],
- TRUE,
- area->x + area->width - (border->right - border->left),
- area->y,
- border->right - border->left,
- border->right - border->left);
+ gdk_cairo_set_source_color (cr, highlight ? &style->text[state] : &style->dark[state]);
+ gdk_cairo_rectangle (cr, area);
+ cairo_fill (cr);
+ if (inverted_colors)
+ cairo_set_source_rgb (cr, 0, 0, 0);
+ else
+ cairo_set_source_rgb (cr, 1, 1, 1);
+ cairo_rectangle (cr,
+ area->x + border->left,
+ area->y + border->top,
+ area->width - (border->left + border->right),
+ area->height - (border->top + border->bottom));
+ cairo_fill (cr);
+
+ gdk_cairo_set_source_color (cr, &style->mid[state]);
+ cairo_rectangle (cr,
+ area->x,
+ area->y + area->height - (border->bottom - border->top),
+ border->bottom - border->top,
+ border->bottom - border->top);
+ cairo_fill (cr);
+
+ cairo_rectangle (cr,
+ area->x + area->width - (border->right - border->left),
+ area->y,
+ border->right - border->left,
+ border->right - border->left);
+ cairo_fill (cr);
}
cairo_surface_t *
diff --git a/libdocument/ev-document-misc.h b/libdocument/ev-document-misc.h
index 7fbf716..dfce2e2 100644
--- a/libdocument/ev-document-misc.h
+++ b/libdocument/ev-document-misc.h
@@ -42,7 +42,7 @@ GdkPixbuf *ev_document_misc_get_loading_thumbnail (int width,
void ev_document_misc_get_page_border_size (gint page_width,
gint page_height,
GtkBorder *border);
-void ev_document_misc_paint_one_page (GdkDrawable *drawable,
+void ev_document_misc_paint_one_page (cairo_t *cr,
GtkWidget *widget,
GdkRectangle *area,
GtkBorder *border,
diff --git a/libview/ev-view.c b/libview/ev-view.c
index d5f2a71..eee1b56 100644
--- a/libview/ev-view.c
+++ b/libview/ev-view.c
@@ -4214,7 +4214,7 @@ draw_one_page (EvView *view,
bin_window = gtk_layout_get_bin_window (GTK_LAYOUT (view));
current_page = ev_document_model_get_page (view->model);
inverted_colors = ev_document_model_get_inverted_colors (view->model);
- ev_document_misc_paint_one_page (bin_window,
+ ev_document_misc_paint_one_page (cr,
GTK_WIDGET (view),
page_area, border,
page == current_page,