Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJuanjo MarĂ­n <juanj.marin@juntadeandalucia.es>2010-05-04 09:10:12 (GMT)
committer Carlos Garcia Campos <carlosgc@gnome.org>2010-05-04 09:10:12 (GMT)
commit5f13b35d7289f486f4022094f8574608d11c9d73 (patch)
treeb6a3bb4f71658945caebedea64369ec3c0c4d1e6
parent5a3fc72a0268f18a72702149eec1fb5dc2882f0f (diff)
Invert colors of pages when loading in inverted color mode
Fixes bug #616110.
-rw-r--r--libdocument/ev-document-misc.c5
-rw-r--r--libdocument/ev-document-misc.h3
-rw-r--r--libview/ev-view.c5
3 files changed, 9 insertions, 4 deletions
diff --git a/libdocument/ev-document-misc.c b/libdocument/ev-document-misc.c
index 7f2f731..4d8bc28 100644
--- a/libdocument/ev-document-misc.c
+++ b/libdocument/ev-document-misc.c
@@ -118,7 +118,8 @@ ev_document_misc_paint_one_page (GdkDrawable *drawable,
GtkWidget *widget,
GdkRectangle *area,
GtkBorder *border,
- gboolean highlight)
+ gboolean highlight,
+ gboolean inverted_colors)
{
GtkStyle *style = gtk_widget_get_style (widget);
GtkStateType state = gtk_widget_get_state (widget);
@@ -131,7 +132,7 @@ ev_document_misc_paint_one_page (GdkDrawable *drawable,
area->width,
area->height);
gdk_draw_rectangle (drawable,
- style->white_gc,
+ inverted_colors ? style->black_gc : style->white_gc,
TRUE,
area->x + border->left,
area->y + border->top,
diff --git a/libdocument/ev-document-misc.h b/libdocument/ev-document-misc.h
index e392076..2503aa7 100644
--- a/libdocument/ev-document-misc.h
+++ b/libdocument/ev-document-misc.h
@@ -43,7 +43,8 @@ void ev_document_misc_paint_one_page (GdkDrawable *drawable,
GtkWidget *widget,
GdkRectangle *area,
GtkBorder *border,
- gboolean highlight);
+ gboolean highlight,
+ gboolean inverted_colors);
cairo_surface_t *ev_document_misc_surface_from_pixbuf (GdkPixbuf *pixbuf);
GdkPixbuf *ev_document_misc_pixbuf_from_surface (cairo_surface_t *surface);
diff --git a/libview/ev-view.c b/libview/ev-view.c
index 244f19b..8f9d99a 100644
--- a/libview/ev-view.c
+++ b/libview/ev-view.c
@@ -3988,6 +3988,7 @@ draw_one_page (EvView *view,
GdkRectangle overlap;
GdkRectangle real_page_area;
gint current_page;
+ gboolean inverted_colors;
g_assert (view->document);
@@ -4004,10 +4005,12 @@ draw_one_page (EvView *view,
*page_ready = TRUE;
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 (view->layout.bin_window,
GTK_WIDGET (view),
page_area, border,
- page == current_page);
+ page == current_page,
+ inverted_colors);
if (gdk_rectangle_intersect (&real_page_area, expose_area, &overlap)) {
gint width, height;