[gtk+] snapshot: Fix blend mode handling
- From: Matthias Clasen <matthiasc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk+] snapshot: Fix blend mode handling
- Date: Sun, 8 Oct 2017 03:38:57 +0000 (UTC)
commit f597de817ead93c78a7ea110a7a22493fa13c067
Author: Matthias Clasen <mclasen redhat com>
Date: Sat Oct 7 23:31:47 2017 -0400
snapshot: Fix blend mode handling
We were getting out states confused and were always creating
a blend mode node with mode NORMAL.
gtk/gtksnapshot.c | 27 +++++++++++++--------------
1 files changed, 13 insertions(+), 14 deletions(-)
---
diff --git a/gtk/gtksnapshot.c b/gtk/gtksnapshot.c
index d846d7b..a9a428d 100644
--- a/gtk/gtksnapshot.c
+++ b/gtk/gtksnapshot.c
@@ -772,7 +772,7 @@ gtk_snapshot_collect_blend_bottom (GtkSnapshot *snapshot,
guint n_nodes,
const char *name)
{
- GtkSnapshotState *prev_state = gtk_snapshot_get_current_state (snapshot);
+ GtkSnapshotState *prev_state = gtk_snapshot_get_previous_state (snapshot);
g_assert (prev_state->collect_func == gtk_snapshot_collect_blend_top);
@@ -803,7 +803,6 @@ gtk_snapshot_push_blend (GtkSnapshot *snapshot,
...)
{
GtkSnapshotState *current_state = gtk_snapshot_get_current_state (snapshot);
- GtkSnapshotState *bottom_state;
GtkSnapshotState *top_state;
char *str;
@@ -818,19 +817,19 @@ gtk_snapshot_push_blend (GtkSnapshot *snapshot,
else
str = NULL;
- bottom_state = gtk_snapshot_push_state (snapshot,
- str,
- current_state->clip_region,
- current_state->translate_x,
- current_state->translate_y,
- gtk_snapshot_collect_blend_top);
-
top_state = gtk_snapshot_push_state (snapshot,
- g_strdup (str),
- bottom_state->clip_region,
- bottom_state->translate_x,
- bottom_state->translate_y,
- gtk_snapshot_collect_blend_bottom);
+ str,
+ current_state->clip_region,
+ current_state->translate_x,
+ current_state->translate_y,
+ gtk_snapshot_collect_blend_top);
+
+ gtk_snapshot_push_state (snapshot,
+ g_strdup (str),
+ top_state->clip_region,
+ top_state->translate_x,
+ top_state->translate_y,
+ gtk_snapshot_collect_blend_bottom);
top_state->data.blend.blend_mode = blend_mode;
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]