From 1e247284337090fd8f65e4c191652647d95a36ac Mon Sep 17 00:00:00 2001 From: Owen Taylor Date: Wed, 22 Dec 2004 03:14:27 +0000 Subject: Hook things up a bit, it works! (sort of) Tue Dec 21 21:58:56 2004 Owen Taylor * pdf/xpdf/pdf-document.cc shell/ev-view.c: Hook things up a bit, it works! (sort of) * pdf/xpdf/Makefile.am pdf/xpdf/pdf-document.cc: Move to .cc since we need to use C++ in the implementation. * shell/dummy.cc: Add a CC file to force evince to be linked as a C++ program.x --- (limited to 'shell/ev-view.c') diff --git a/shell/ev-view.c b/shell/ev-view.c index 70b50e0..9fbc81a 100644 --- a/shell/ev-view.c +++ b/shell/ev-view.c @@ -223,8 +223,9 @@ ev_view_realize (GtkWidget *widget) gdk_window_set_user_data (view->bin_window, widget); gdk_window_show (view->bin_window); - attributes.event_mask = GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK | GDK_BUTTON_MOTION_MASK | GDK_EXPOSURE_MASK; - + if (view->document) + ev_document_set_target (view->document, view->bin_window); + update_window_backgrounds (view); } @@ -233,10 +234,13 @@ ev_view_unrealize (GtkWidget *widget) { EvView *view = EV_VIEW (widget); + if (view->document) + ev_document_set_target (view->document, NULL); + gdk_window_set_user_data (view->bin_window, NULL); gdk_window_destroy (view->bin_window); view->bin_window = NULL; - + GTK_WIDGET_CLASS (ev_view_parent_class)->unrealize (widget); } @@ -258,7 +262,12 @@ static void expose_bin_window (GtkWidget *widget, GdkEventExpose *event) { - /* EvView *view = EV_VIEW (widget); */ + EvView *view = EV_VIEW (widget); + + if (view->document) + ev_document_render (view->document, + event->area.x, event->area.y, + event->area.width, event->area.height); } static gboolean @@ -417,6 +426,9 @@ ev_view_set_document (EvView *view, if (view->document) g_object_ref (view->document); + if (GTK_WIDGET_REALIZED (view)) + ev_document_set_target (view->document, view->bin_window); + gtk_widget_queue_resize (GTK_WIDGET (view)); } } -- cgit v0.9.1