]> Repositories - hackapet/Adafruit_Blinka_Displayio.git/blob - displayio/_structs.py
955b9b4a1a8c803ba66d890bed013b4500379a84
[hackapet/Adafruit_Blinka_Displayio.git] / displayio / _structs.py
1 # SPDX-FileCopyrightText: 2021 Melissa LeBlanc-Williams
2 #
3 # SPDX-License-Identifier: MIT
4
5 """
6 `displayio._structs`
7 ================================================================================
8
9 Struct Data Classes for Blinka Displayio
10
11 **Software and Dependencies:**
12
13 * Adafruit Blinka:
14   https://github.com/adafruit/Adafruit_Blinka/releases
15
16 * Author(s): Melissa LeBlanc-Williams
17
18 """
19
20 from dataclasses import dataclass
21
22 __version__ = "0.0.0+auto.0"
23 __repo__ = "https://github.com/adafruit/Adafruit_Blinka_Displayio.git"
24
25
26 @dataclass
27 class RectangleStruct:
28     # pylint: disable=invalid-name
29     """Rectangle Struct Dataclass. To eventually be replaced by Area."""
30     x1: int
31     y1: int
32     x2: int
33     y2: int
34
35
36 @dataclass
37 class TransformStruct:
38     # pylint: disable=invalid-name
39     """Transform Struct Dataclass"""
40     x: int = 0
41     y: int = 0
42     dx: int = 1
43     dy: int = 1
44     scale: int = 1
45     transpose_xy: bool = False
46     mirror_x: bool = False
47     mirror_y: bool = False
48
49
50 @dataclass
51 class ColorspaceStruct:
52     # pylint: disable=invalid-name
53     """Colorspace Struct Dataclass"""
54     depth: int
55     bytes_per_cell: int = 0
56     tricolor_hue: int = 0
57     tricolor_luma: int = 0
58     grayscale_bit: int = 0
59     grayscale: bool = False
60     tricolor: bool = False
61     pixels_in_byte_share_row: bool = False
62     reverse_pixels_in_byte: bool = False
63     reverse_bytes_in_word: bool = False
64     dither: bool = False