Skip to content

Commit 711d611

Browse files
refactor(TTkColor): improved typings
1 parent 4909bf6 commit 711d611

1 file changed

Lines changed: 18 additions & 16 deletions

File tree

libs/pyTermTk/TermTk/TTkCore/color.py

Lines changed: 18 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,8 @@
2020
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
2121
# SOFTWARE.
2222

23+
from __future__ import annotations
24+
2325
__all__ = ['TTkColor',
2426
'TTkColorModifier',
2527
'TTkColorGradient', 'TTkLinearGradient', 'TTkAlternateColor']
@@ -65,11 +67,11 @@
6567

6668
class _TTkColor:
6769
__slots__ = ('_fg','_bg', '_colorMod', '_buffer', '_clean')
68-
_fg: tuple[int]
69-
_bg: tuple[int]
70+
_fg: tuple[int,int,int]
71+
_bg: tuple[int,int,int]
7072
def __init__(self,
71-
fg:tuple[int]=None,
72-
bg:tuple[int]=None,
73+
fg:tuple[int,int,int]=None,
74+
bg:tuple[int,int,int]=None,
7375
colorMod=None,
7476
clean=False) -> None:
7577
self._fg = fg
@@ -236,7 +238,7 @@ def __sub__(self, other) -> str:
236238
clean=True)
237239
return str(self)
238240

239-
def modParam(self, *args, **kwargs) -> None:
241+
def modParam(self, *args, **kwargs) -> _TTkColor:
240242
if not self._colorMod: return self
241243
ret = self.copy()
242244
ret._colorMod.setParam(*args, **kwargs)
@@ -267,19 +269,19 @@ def __init__(self, *,
267269
self._clean = self._clean and not mod
268270

269271
def bold(self) -> bool:
270-
return self._mod & TTkTermColor.BOLD
272+
return bool(self._mod & TTkTermColor.BOLD)
271273

272274
def italic(self) -> bool:
273-
return self._mod & TTkTermColor.ITALIC
275+
return bool(self._mod & TTkTermColor.ITALIC)
274276

275277
def underline(self) -> bool:
276-
return self._mod & TTkTermColor.UNDERLINE
278+
return bool(self._mod & TTkTermColor.UNDERLINE)
277279

278280
def strikethrough(self) -> bool:
279-
return self._mod & TTkTermColor.STRIKETROUGH
281+
return bool(self._mod & TTkTermColor.STRIKETROUGH)
280282

281283
def blinking(self) -> bool:
282-
return self._mod & TTkTermColor.BLINKING
284+
return bool(self._mod & TTkTermColor.BLINKING)
283285

284286
def colorType(self):
285287
return (
@@ -683,7 +685,7 @@ def ansi(ansi):
683685
return _TTkColor(fg=fg, bg=bg, clean=clean)
684686

685687
@staticmethod
686-
def fg(*args, **kwargs) -> None:
688+
def fg(*args, **kwargs) -> _TTkColor:
687689
''' Helper to generate a Foreground color
688690
689691
Example:
@@ -713,7 +715,7 @@ def fg(*args, **kwargs) -> None:
713715
return _TTkColor(fg=TTkColor.hexToRGB(color), colorMod=mod)
714716

715717
@staticmethod
716-
def bg(*args, **kwargs) -> None:
718+
def bg(*args, **kwargs) -> _TTkColor:
717719
''' Helper to generate a Background color
718720
719721
Example:
@@ -743,7 +745,7 @@ def bg(*args, **kwargs) -> None:
743745
return _TTkColor(bg=TTkColor.hexToRGB(color), colorMod=mod)
744746

745747
@staticmethod
746-
def fgbg(fg:str='', bg:str='', link:str='', modifier:TTkColorModifier=None):
748+
def fgbg(fg:str='', bg:str='', link:str='', modifier:TTkColorModifier=None) -> _TTkColor:
747749
''' Helper to generate a Background color
748750
749751
Example:
@@ -772,13 +774,13 @@ class TTkAlternateColor(TTkColorModifier):
772774
'''TTkAlternateColor'''
773775

774776
__slots__ = ('_alternateColor')
775-
def __init__(self, alternateColor:TTkColor=TTkColor.RST, **kwargs) -> None:
777+
def __init__(self, alternateColor:_TTkColor=TTkColor.RST, **kwargs) -> None:
776778
super().__init__(**kwargs)
777779
self.setParam(alternateColor)
778780

779-
def setParam(self, alternateColor:TTkColor):
781+
def setParam(self, alternateColor:_TTkColor):
780782
self._alternateColor = alternateColor
781783

782-
def exec(self, x:int, y:int, base_color:TTkColor) -> TTkColor:
784+
def exec(self, x:int, y:int, base_color:_TTkColor) -> _TTkColor:
783785
if y%2: return self._alternateColor
784786
else: return base_color.copy(modifier=False)

0 commit comments

Comments
 (0)