]> www.fi.muni.cz Git - evince.git/commitdiff
[libdocument] Use cairo instead of gdk_draw_rectangle()
authorCarlos Garcia Campos <carlosgc@gnome.org>
Thu, 15 Jul 2010 19:11:50 +0000 (21:11 +0200)
committerCarlos Garcia Campos <carlosgc@gnome.org>
Thu, 15 Jul 2010 19:11:50 +0000 (21:11 +0200)
libdocument/ev-document-misc.c
libdocument/ev-document-misc.h
libview/ev-view.c

index de4040510a52d414c46c02129cdc25f797ac4271..c0f75eae10f65fac4e67170d19f2c67356ac5856 100644 (file)
@@ -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 *
index 7fbf716ad36ddfc5acf43e1a52c6dea8862051d0..dfce2e2e1fb95cade7a1fb5eebfca21e4f998d97 100644 (file)
@@ -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,
index d5f2a71cc46849a4bf9c6660f7901d6bf8babb83..eee1b56331eb6366cdbc7d0426120e6293513be1 100644 (file)
@@ -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,