changeset 66:21a2bde995be

Tile: add update_pixmap method I realised this needed to be called from set_tile method, and also, this removes the need to be keeping track of img_data as another property of the tile.
author Jordi Gutiérrez Hermoso <jordigh@octave.org>
date Sun, 08 Sep 2019 21:46:52 -0400
parents a53572bf5a26
children 682614322b97
files tilerswift
diffstat 1 files changed, 7 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/tilerswift
+++ b/tilerswift
@@ -46,8 +46,6 @@
         super().__init__()
 
         self.raw_tile = raw_tile
-        self.img_data = bytes(sum(self.tile, []))
-
         self.set_palette(self.default_palette)
 
     def __repr__(self):
@@ -62,7 +60,11 @@
 
     def set_palette(self, new_palette):
         self.palette = new_palette
-        image = QtGui.QImage(self.img_data, 8, 8, QtGui.QImage.Format_Indexed8)
+        self.update_pixmap()
+
+    def update_pixmap(self):
+        img_data = bytes(sum(self.tile, []))
+        image = QtGui.QImage(img_data, 8, 8, QtGui.QImage.Format_Indexed8)
         image.setColorTable(self.palette_to_qt())
         self.pixmap = QtGui.QPixmap(image)
 
@@ -75,6 +77,8 @@
         del self._tile
         self.raw_tile = self.unparse_tile(tile)
 
+        self.update_pixmap()
+
     def del_tile(self):
         del self._tile
         del self.raw_tile