From f594d7a779169cf79beaf78a5624557930b2ecf6 Mon Sep 17 00:00:00 2001 From: RomainFT Date: Wed, 1 Feb 2023 02:57:56 +0100 Subject: [PATCH] trnsformation tools: update the expansion rgba immediately #357 --- src/tools/transform_tools/abstract_transform_tool.py | 4 ++++ src/tools/transform_tools/tool_crop.py | 4 +++- src/tools/transform_tools/tool_skew.py | 4 +++- 3 files changed, 10 insertions(+), 2 deletions(-) diff --git a/src/tools/transform_tools/abstract_transform_tool.py b/src/tools/transform_tools/abstract_transform_tool.py index 331ad6a0..d0018083 100644 --- a/src/tools/transform_tools/abstract_transform_tool.py +++ b/src/tools/transform_tools/abstract_transform_tool.py @@ -229,6 +229,10 @@ def get_deformed_surface(self, source_surface, new_surface, coefs): ############################################################################ # Options ################################################################## + def on_options_changed(self): + super().on_options_changed() + self._update_expansion_rgba(self._last_btn) + def _update_expansion_rgba(self, event_btn=1): """When the canvas grows, the color of the new pixels is parametrable""" color_type = self.get_option_value('crop-expand') diff --git a/src/tools/transform_tools/tool_crop.py b/src/tools/transform_tools/tool_crop.py index 4c220857..6e884ebf 100644 --- a/src/tools/transform_tools/tool_crop.py +++ b/src/tools/transform_tools/tool_crop.py @@ -135,8 +135,10 @@ def on_unclicked_motion_on_area(self, event, surface): def on_press_on_area(self, event, surface, event_x, event_y): self.x_press = self.x_motion = event_x self.y_press = self.y_motion = event_y + if event.button != self._last_btn: + self._update_expansion_rgba(event.button) + self._last_btn = event.button self._unclicked = False - self._update_expansion_rgba(event.button) self.update_modifier_state(event.state) if 'SHIFT' in self._modifier_keys and 'ALT' in self._modifier_keys: diff --git a/src/tools/transform_tools/tool_skew.py b/src/tools/transform_tools/tool_skew.py index cb089ee6..68da77da 100644 --- a/src/tools/transform_tools/tool_skew.py +++ b/src/tools/transform_tools/tool_skew.py @@ -140,7 +140,9 @@ def on_press_on_area(self, event, surface, event_x, event_y): self._xy = self.get_xy() # horizontal deformation # TODO répliquer ce que fait le scale avec son x2/y2 qui évite un effet # flamby dégueulasse lié aux arrondis ? - self._update_expansion_rgba(event.button) + if event.button != self._last_btn: + self._update_expansion_rgba(event.button) + self._last_btn = event.button self.update_modifier_state(event.state) if 'SHIFT' in self._modifier_keys and 'ALT' in self._modifier_keys: