[gnome-sudoku/arnaudb/wip/gtk4: 23/26] Make things work.



commit e41c0c8f79054504fbc844580faa3dbdb5f256fa
Author: Arnaud Bonatti <arnaud bonatti gmail com>
Date:   Fri Apr 17 23:18:38 2020 +0200

    Make things work.

 src/sudoku-view.vala | 18 +++++++++++++++++-
 1 file changed, 17 insertions(+), 1 deletion(-)
---
diff --git a/src/sudoku-view.vala b/src/sudoku-view.vala
index a411ff4..7523e3f 100644
--- a/src/sudoku-view.vala
+++ b/src/sudoku-view.vala
@@ -126,6 +126,12 @@ private class SudokuCellView : Widget
         game.cell_changed.connect (cell_changed_cb);
     }
 
+    protected override void snapshot (Gtk.Snapshot snap)
+    {
+        drawing.queue_draw ();
+        base.snapshot (snap);
+    }
+
     private inline void init_mouse ()  // called on construct
     {
         click_controller = new Gtk.GestureClick ();
@@ -500,6 +506,15 @@ public class SudokuView : Widget
         cells[selected_row, selected_col].selected = true;
     }
 
+    protected override void snapshot (Gtk.Snapshot snap)
+    {
+        drawing.queue_draw ();
+        for (uint8 i = 0; i < game.board.cols; i++)
+            for (uint8 j = 0; j < game.board.rows; j++)
+                cells[i, j].queue_draw ();
+        base.snapshot (snap);
+    }
+
     public SudokuView (SudokuGame game)
     {
         BinLayout layout = new BinLayout ();
@@ -594,6 +609,7 @@ public class SudokuView : Widget
                         }
                     }
 
+                    // Redraw the board
                     queue_draw ();
                 });
 
@@ -602,7 +618,7 @@ public class SudokuView : Widget
                         previous_board_broken_state = game.board.broken;
 
                     // Redraw the board
-                    this.queue_draw ();
+                    queue_draw ();
                 });
 
                 cells[row, col] = cell;


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]