[gimp/gtk3-port: 90/248] app: fix canvas double buffering using cairo_push, pop_group()
- From: Michael Natterer <mitch src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gimp/gtk3-port: 90/248] app: fix canvas double buffering using cairo_push, pop_group()
- Date: Fri, 18 Mar 2011 23:08:31 +0000 (UTC)
commit 0e110bbc6b26bbb34d98677e8b067881db81f72e
Author: Michael Natterer <mitch gimp org>
Date: Wed Oct 20 14:06:30 2010 +0200
app: fix canvas double buffering using cairo_push,pop_group()
app/display/gimpdisplayshell-callbacks.c | 20 +++++++++-----------
1 files changed, 9 insertions(+), 11 deletions(-)
---
diff --git a/app/display/gimpdisplayshell-callbacks.c b/app/display/gimpdisplayshell-callbacks.c
index 8a07e95..fb7912a 100644
--- a/app/display/gimpdisplayshell-callbacks.c
+++ b/app/display/gimpdisplayshell-callbacks.c
@@ -242,15 +242,18 @@ gimp_display_shell_canvas_draw (GtkWidget *widget,
{
gimp_display_shell_pause (shell);
-#if 0
if (gimp_display_shell_is_double_buffered (shell))
- gdk_window_begin_paint_region (eevent->window, eevent->region);
-#endif
- }
+ {
+ cairo_push_group (cr);
+ }
- if (gimp_display_get_image (shell->display))
- {
gimp_display_shell_canvas_draw_image (shell, cr);
+
+ if (gimp_display_shell_is_double_buffered (shell))
+ {
+ cairo_pop_group_to_source (cr);
+ cairo_paint (cr);
+ }
}
else
{
@@ -275,11 +278,6 @@ gimp_display_shell_canvas_draw_after (GtkWidget *widget,
{
if (gimp_display_get_image (shell->display))
{
-#if 0
- if (gimp_display_shell_is_double_buffered (shell))
- gdk_window_end_paint (eevent->window);
-#endif
-
gimp_display_shell_resume (shell);
}
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]