From d6df7dfe448d16f00915018c6f4c62da9c34b525 Mon Sep 17 00:00:00 2001 From: Andrew Merrin Date: Mon, 16 Jan 2023 08:21:50 +0000 Subject: [PATCH 1/3] added transparency property for matplotlib --- .../src/flet_core/matplotlib_chart.py | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/sdk/python/packages/flet-core/src/flet_core/matplotlib_chart.py b/sdk/python/packages/flet-core/src/flet_core/matplotlib_chart.py index a0b5a3805..524b6df53 100644 --- a/sdk/python/packages/flet-core/src/flet_core/matplotlib_chart.py +++ b/sdk/python/packages/flet-core/src/flet_core/matplotlib_chart.py @@ -92,6 +92,7 @@ def __init__( # isolated: bool = False, original_size: bool = False, + transparency: bool = False, ): Container.__init__( @@ -120,6 +121,7 @@ def __init__( self.figure = figure self.isolated = isolated self.original_size = original_size + self.transparency = transparency def _is_isolated(self): return self.__isolated @@ -133,7 +135,12 @@ def _before_build_command(self): super()._before_build_command() if self.__figure is not None: s = io.StringIO() - self.__figure.savefig(s, format="svg") + + if self.__transparency: + self.__figure.savefig(s, format="svg", transparent=True) + else: + self.__figure.savefig(s, format="svg") + svg = s.getvalue() if not self.__original_size: @@ -178,3 +185,12 @@ def maintain_aspect_ratio(self) -> bool: @maintain_aspect_ratio.setter def maintain_aspect_ratio(self, value: bool): self.__maintain_aspect_ratio = value + + # transparency + @property + def transparency(self) -> bool: + return self.__transparency + + @transparency.setter + def transparency(self, value: bool): + self.__transparency = value From 2318e8f8d275d2a0dde4bc55a26c14e59af8ce8a Mon Sep 17 00:00:00 2001 From: Andrew Merrin Date: Mon, 16 Jan 2023 08:29:34 +0000 Subject: [PATCH 2/3] rename property for consistency --- .../src/flet_core/matplotlib_chart.py | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/sdk/python/packages/flet-core/src/flet_core/matplotlib_chart.py b/sdk/python/packages/flet-core/src/flet_core/matplotlib_chart.py index 524b6df53..aeff397a8 100644 --- a/sdk/python/packages/flet-core/src/flet_core/matplotlib_chart.py +++ b/sdk/python/packages/flet-core/src/flet_core/matplotlib_chart.py @@ -92,7 +92,7 @@ def __init__( # isolated: bool = False, original_size: bool = False, - transparency: bool = False, + transparent: bool = False, ): Container.__init__( @@ -121,7 +121,7 @@ def __init__( self.figure = figure self.isolated = isolated self.original_size = original_size - self.transparency = transparency + self.transparent = transparent def _is_isolated(self): return self.__isolated @@ -136,7 +136,7 @@ def _before_build_command(self): if self.__figure is not None: s = io.StringIO() - if self.__transparency: + if self.__transparent: self.__figure.savefig(s, format="svg", transparent=True) else: self.__figure.savefig(s, format="svg") @@ -186,11 +186,11 @@ def maintain_aspect_ratio(self) -> bool: def maintain_aspect_ratio(self, value: bool): self.__maintain_aspect_ratio = value - # transparency + # transparent @property - def transparency(self) -> bool: - return self.__transparency + def transparent(self) -> bool: + return self.__transparent - @transparency.setter - def transparency(self, value: bool): - self.__transparency = value + @transparent.setter + def transparent(self, value: bool): + self.__transparent = value From c072dd1989a429251c5eece9537f17016e4739de Mon Sep 17 00:00:00 2001 From: Andrew Merrin Date: Mon, 16 Jan 2023 17:21:21 +0000 Subject: [PATCH 3/3] cleaner implementation for setting transparent --- .../packages/flet-core/src/flet_core/matplotlib_chart.py | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/sdk/python/packages/flet-core/src/flet_core/matplotlib_chart.py b/sdk/python/packages/flet-core/src/flet_core/matplotlib_chart.py index aeff397a8..79faf767f 100644 --- a/sdk/python/packages/flet-core/src/flet_core/matplotlib_chart.py +++ b/sdk/python/packages/flet-core/src/flet_core/matplotlib_chart.py @@ -135,12 +135,7 @@ def _before_build_command(self): super()._before_build_command() if self.__figure is not None: s = io.StringIO() - - if self.__transparent: - self.__figure.savefig(s, format="svg", transparent=True) - else: - self.__figure.savefig(s, format="svg") - + self.__figure.savefig(s, format="svg", transparent=self.__transparent) svg = s.getvalue() if not self.__original_size: