| 26 | |
| 27 | @dataclass |
| 28 | class HighlightColor: |
| 29 | color: Optional[HighlightStandardColor] = None |
| 30 | mix_color: Optional[HighlightStandardColor] = None |
| 31 | mix: Optional[int] = None |
| 32 | red: Optional[int] = None |
| 33 | green: Optional[int] = None |
| 34 | blue: Optional[int] = None |
| 35 | alpha: int = 255 |
| 36 | |
| 37 | def __init__(self, color=None, mix_color=None, mix=None, red=None, green=None, blue=None, alpha=255): |
| 38 | self.alpha = alpha |
| 39 | self._style : Optional[HighlightColorStyle] = None |
| 40 | if (red is not None) and (green is not None) and (blue is not None): |
| 41 | self._style = HighlightColorStyle.CustomHighlightColor |
| 42 | self.red = red |
| 43 | self.green = green |
| 44 | self.blue = blue |
| 45 | elif (mix_color is not None) and (mix is not None): |
| 46 | self._style = HighlightColorStyle.MixedHighlightColor |
| 47 | if color is None: |
| 48 | self.color = HighlightStandardColor.NoHighlightColor |
| 49 | else: |
| 50 | self.color = color |
| 51 | self.mix_color = mix_color |
| 52 | self.mix = mix |
| 53 | else: |
| 54 | self._style = HighlightColorStyle.StandardHighlightColor |
| 55 | if color is None: |
| 56 | self.color = HighlightStandardColor.NoHighlightColor |
| 57 | else: |
| 58 | self.color = color |
| 59 | |
| 60 | @property |
| 61 | def style(self) -> Optional[HighlightColorStyle]: |
| 62 | return self._style |
| 63 | |
| 64 | def _standard_color_to_str(self, color: Optional[HighlightStandardColor]) -> str: |
| 65 | if color == HighlightStandardColor.NoHighlightColor: |
| 66 | return "none" |
| 67 | if color == HighlightStandardColor.BlueHighlightColor: |
| 68 | return "blue" |
| 69 | if color == HighlightStandardColor.GreenHighlightColor: |
| 70 | return "green" |
| 71 | if color == HighlightStandardColor.CyanHighlightColor: |
| 72 | return "cyan" |
| 73 | if color == HighlightStandardColor.RedHighlightColor: |
| 74 | return "red" |
| 75 | if color == HighlightStandardColor.MagentaHighlightColor: |
| 76 | return "magenta" |
| 77 | if color == HighlightStandardColor.YellowHighlightColor: |
| 78 | return "yellow" |
| 79 | if color == HighlightStandardColor.OrangeHighlightColor: |
| 80 | return "orange" |
| 81 | if color == HighlightStandardColor.WhiteHighlightColor: |
| 82 | return "white" |
| 83 | if color == HighlightStandardColor.BlackHighlightColor: |
| 84 | return "black" |
| 85 | return f"{color}" |
no outgoing calls
no test coverage detected