|
20 | 20 | # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE |
21 | 21 | # SOFTWARE. |
22 | 22 |
|
| 23 | +from __future__ import annotations |
| 24 | + |
23 | 25 | __all__ = ['TTkColor', |
24 | 26 | 'TTkColorModifier', |
25 | 27 | 'TTkColorGradient', 'TTkLinearGradient', 'TTkAlternateColor'] |
|
65 | 67 |
|
66 | 68 | class _TTkColor: |
67 | 69 | __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] |
70 | 72 | 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, |
73 | 75 | colorMod=None, |
74 | 76 | clean=False) -> None: |
75 | 77 | self._fg = fg |
@@ -236,7 +238,7 @@ def __sub__(self, other) -> str: |
236 | 238 | clean=True) |
237 | 239 | return str(self) |
238 | 240 |
|
239 | | - def modParam(self, *args, **kwargs) -> None: |
| 241 | + def modParam(self, *args, **kwargs) -> _TTkColor: |
240 | 242 | if not self._colorMod: return self |
241 | 243 | ret = self.copy() |
242 | 244 | ret._colorMod.setParam(*args, **kwargs) |
@@ -267,19 +269,19 @@ def __init__(self, *, |
267 | 269 | self._clean = self._clean and not mod |
268 | 270 |
|
269 | 271 | def bold(self) -> bool: |
270 | | - return self._mod & TTkTermColor.BOLD |
| 272 | + return bool(self._mod & TTkTermColor.BOLD) |
271 | 273 |
|
272 | 274 | def italic(self) -> bool: |
273 | | - return self._mod & TTkTermColor.ITALIC |
| 275 | + return bool(self._mod & TTkTermColor.ITALIC) |
274 | 276 |
|
275 | 277 | def underline(self) -> bool: |
276 | | - return self._mod & TTkTermColor.UNDERLINE |
| 278 | + return bool(self._mod & TTkTermColor.UNDERLINE) |
277 | 279 |
|
278 | 280 | def strikethrough(self) -> bool: |
279 | | - return self._mod & TTkTermColor.STRIKETROUGH |
| 281 | + return bool(self._mod & TTkTermColor.STRIKETROUGH) |
280 | 282 |
|
281 | 283 | def blinking(self) -> bool: |
282 | | - return self._mod & TTkTermColor.BLINKING |
| 284 | + return bool(self._mod & TTkTermColor.BLINKING) |
283 | 285 |
|
284 | 286 | def colorType(self): |
285 | 287 | return ( |
@@ -683,7 +685,7 @@ def ansi(ansi): |
683 | 685 | return _TTkColor(fg=fg, bg=bg, clean=clean) |
684 | 686 |
|
685 | 687 | @staticmethod |
686 | | - def fg(*args, **kwargs) -> None: |
| 688 | + def fg(*args, **kwargs) -> _TTkColor: |
687 | 689 | ''' Helper to generate a Foreground color |
688 | 690 |
|
689 | 691 | Example: |
@@ -713,7 +715,7 @@ def fg(*args, **kwargs) -> None: |
713 | 715 | return _TTkColor(fg=TTkColor.hexToRGB(color), colorMod=mod) |
714 | 716 |
|
715 | 717 | @staticmethod |
716 | | - def bg(*args, **kwargs) -> None: |
| 718 | + def bg(*args, **kwargs) -> _TTkColor: |
717 | 719 | ''' Helper to generate a Background color |
718 | 720 |
|
719 | 721 | Example: |
@@ -743,7 +745,7 @@ def bg(*args, **kwargs) -> None: |
743 | 745 | return _TTkColor(bg=TTkColor.hexToRGB(color), colorMod=mod) |
744 | 746 |
|
745 | 747 | @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: |
747 | 749 | ''' Helper to generate a Background color |
748 | 750 |
|
749 | 751 | Example: |
@@ -772,13 +774,13 @@ class TTkAlternateColor(TTkColorModifier): |
772 | 774 | '''TTkAlternateColor''' |
773 | 775 |
|
774 | 776 | __slots__ = ('_alternateColor') |
775 | | - def __init__(self, alternateColor:TTkColor=TTkColor.RST, **kwargs) -> None: |
| 777 | + def __init__(self, alternateColor:_TTkColor=TTkColor.RST, **kwargs) -> None: |
776 | 778 | super().__init__(**kwargs) |
777 | 779 | self.setParam(alternateColor) |
778 | 780 |
|
779 | | - def setParam(self, alternateColor:TTkColor): |
| 781 | + def setParam(self, alternateColor:_TTkColor): |
780 | 782 | self._alternateColor = alternateColor |
781 | 783 |
|
782 | | - def exec(self, x:int, y:int, base_color:TTkColor) -> TTkColor: |
| 784 | + def exec(self, x:int, y:int, base_color:_TTkColor) -> _TTkColor: |
783 | 785 | if y%2: return self._alternateColor |
784 | 786 | else: return base_color.copy(modifier=False) |
0 commit comments