From 1fa5c3e1b0d245a6c0b0cab1160c97d7e04c923b Mon Sep 17 00:00:00 2001 From: Ray Strode Date: Mon, 2 Apr 2007 23:38:19 -0400 Subject: add a description to view --- src/pop-demo.c | 4 ++-- src/pop-window-view.c | 9 +++++++-- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/src/pop-demo.c b/src/pop-demo.c index cf50435..db0c8f6 100644 --- a/src/pop-demo.c +++ b/src/pop-demo.c @@ -196,8 +196,8 @@ on_expose_event (GtkWidget *widget, cairo_context = gdk_cairo_create (widget->window); //cairo_scale (cairo_context, x_scale_factor, y_scale_factor); - cairo_set_source_rgb (cairo_context, 0.5, 0.5, 0.6); - cairo_paint (cairo_context); + //cairo_set_source_rgb (cairo_context, 0.5, 0.5, 0.6); + //cairo_paint (cairo_context); draw_windows (cairo_context); cairo_destroy (cairo_context); diff --git a/src/pop-window-view.c b/src/pop-window-view.c index e665dde..4539e9a 100644 --- a/src/pop-window-view.c +++ b/src/pop-window-view.c @@ -544,7 +544,7 @@ pop_window_view_enable_window_damage_reporting (PopWindowView *view) view->priv->damage = XDamageCreate (GDK_WINDOW_XDISPLAY (view->priv->window), GDK_WINDOW_XWINDOW (view->priv->window), - XDamageReportNonEmpty); + XDamageReportRawRectangles); } static void @@ -565,7 +565,7 @@ pop_window_view_window_redrawn (PopWindowView *view, GdkWindow *window, GdkRectangle *rectangle) { - //g_print ("window 0x%lx redrawn (area: %dx%d+%d+%d)\n", GDK_WINDOW_XWINDOW (view->priv->window), rectangle->x, rectangle->y, rectangle->width, rectangle->height); + g_print ("window 0x%lx redrawn (area: %dx%d+%d+%d)\n", GDK_WINDOW_XWINDOW (view->priv->window), rectangle->x, rectangle->y, rectangle->width, rectangle->height); if (view->priv->pattern == NULL) pop_window_view_create_pattern_from_window (view); @@ -903,6 +903,9 @@ pop_window_view_render_to_context (PopWindowView *view, if (view->priv->pattern == NULL) return; + if (!view->priv->is_damaged && FALSE) + return; + pop_window_view_report_fixed_damage (view); cairo_save (cairo_context); @@ -920,6 +923,8 @@ pop_window_view_render_to_context (PopWindowView *view, cairo_move_to (cairo_context, 0.0, 0.0); cairo_append_path (cairo_context, view->priv->clip_path); cairo_clip (cairo_context); + gdk_cairo_rectangle (cairo_context, view->priv->damaged_area); + cairo_clip (cairo_context); cairo_paint (cairo_context); cairo_restore (cairo_context); -- cgit v1.2.3