X-Git-Url: https://www.fi.muni.cz/~kas/git//home/kas/public_html/git/?a=blobdiff_plain;f=libview%2Fev-view-presentation.c;h=7c03116b1e96a6c368aa636f948b360494673e3b;hb=480e86e21cd0534a4f278b747c5f499b867f53d9;hp=fa79f1042bbc5e0d648453659c8f0cd832c33e48;hpb=8c225e626012b51f44a33af4be67755d9be47be0;p=evince.git diff --git a/libview/ev-view-presentation.c b/libview/ev-view-presentation.c index fa79f104..7c03116b 100644 --- a/libview/ev-view-presentation.c +++ b/libview/ev-view-presentation.c @@ -111,18 +111,19 @@ static void ev_view_presentation_set_cursor_for_location (EvViewPresentation *pv G_DEFINE_TYPE (EvViewPresentation, ev_view_presentation, GTK_TYPE_WIDGET) +static GdkRGBA black = { 0., 0., 0., 1. }; +static GdkRGBA white = { 1., 1., 1., 1. }; + static void ev_view_presentation_set_normal (EvViewPresentation *pview) { GtkWidget *widget = GTK_WIDGET (pview); - GtkStyle *style; if (pview->state == EV_PRESENTATION_NORMAL) return; pview->state = EV_PRESENTATION_NORMAL; - style = gtk_widget_get_style (widget); - gdk_window_set_background (gtk_widget_get_window (widget), &style->black); + gdk_window_set_background_rgba (gtk_widget_get_window (widget), &black); gtk_widget_queue_draw (widget); } @@ -130,14 +131,12 @@ static void ev_view_presentation_set_black (EvViewPresentation *pview) { GtkWidget *widget = GTK_WIDGET (pview); - GtkStyle *style; if (pview->state == EV_PRESENTATION_BLACK) return; pview->state = EV_PRESENTATION_BLACK; - style = gtk_widget_get_style (widget); - gdk_window_set_background (gtk_widget_get_window (widget), &style->black); + gdk_window_set_background_rgba (gtk_widget_get_window (widget), &black); gtk_widget_queue_draw (widget); } @@ -145,14 +144,12 @@ static void ev_view_presentation_set_white (EvViewPresentation *pview) { GtkWidget *widget = GTK_WIDGET (pview); - GtkStyle *style; if (pview->state == EV_PRESENTATION_WHITE) return; pview->state = EV_PRESENTATION_WHITE; - style = gtk_widget_get_style (widget); - gdk_window_set_background (gtk_widget_get_window (widget), &style->white); + gdk_window_set_background_rgba (gtk_widget_get_window (widget), &white); gtk_widget_queue_draw (widget); } @@ -846,7 +843,7 @@ ev_view_presentation_set_cursor (EvViewPresentation *pview, gdk_window_set_cursor (gtk_widget_get_window (widget), cursor); gdk_flush (); if (cursor) - gdk_cursor_unref (cursor); + g_object_unref (cursor); } static void @@ -949,11 +946,19 @@ ev_view_presentation_dispose (GObject *object) } static void -ev_view_presentation_size_request (GtkWidget *widget, - GtkRequisition *requisition) +ev_view_presentation_get_preferred_width (GtkWidget *widget, + gint *minimum, + gint *natural) +{ + *minimum = *natural = 0; +} + +static void +ev_view_presentation_get_preferred_height (GtkWidget *widget, + gint *minimum, + gint *natural) { - requisition->width = 0; - requisition->height = 0; + *minimum = *natural = 0; } static void @@ -984,15 +989,8 @@ ev_view_presentation_draw_end_page (EvViewPresentation *pview, area.width = allocation.width; area.height = allocation.height; - gtk_paint_layout (gtk_widget_get_style (widget), - cr, - gtk_widget_get_state (widget), - FALSE, - widget, - NULL, - 15, - 15, - layout); + gtk_render_layout (gtk_widget_get_style_context (widget), + cr, 15, 15, layout); pango_font_description_free (font_desc); g_object_unref (layout); @@ -1217,10 +1215,9 @@ init_presentation (GtkWidget *widget) static void ev_view_presentation_realize (GtkWidget *widget) { - GdkWindow *window; - GtkStyle *style; - GdkWindowAttr attributes; - GtkAllocation allocation; + GdkWindow *window; + GdkWindowAttr attributes; + GtkAllocation allocation; gtk_widget_set_realized (widget, TRUE); @@ -1251,9 +1248,7 @@ ev_view_presentation_realize (GtkWidget *widget) gdk_window_set_user_data (window, widget); gtk_widget_set_window (widget, window); - gtk_widget_style_attach (widget); - style = gtk_widget_get_style (widget); - gdk_window_set_background (window, &style->black); + gdk_window_set_background_rgba (window, &black); g_idle_add ((GSourceFunc)init_presentation, widget); } @@ -1375,7 +1370,8 @@ ev_view_presentation_class_init (EvViewPresentationClass *klass) gobject_class->dispose = ev_view_presentation_dispose; - widget_class->size_request = ev_view_presentation_size_request; + widget_class->get_preferred_width = ev_view_presentation_get_preferred_width; + widget_class->get_preferred_height = ev_view_presentation_get_preferred_height; widget_class->realize = ev_view_presentation_realize; widget_class->draw = ev_view_presentation_draw; widget_class->key_press_event = ev_view_presentation_key_press_event;