adafruit-circuitpython-displayio-layout 2.1.0__tar.gz → 2.2.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (92) hide show
  1. {adafruit-circuitpython-displayio-layout-2.1.0/adafruit_circuitpython_displayio_layout.egg-info → adafruit_circuitpython_displayio_layout-2.2.0}/PKG-INFO +1 -1
  2. {adafruit-circuitpython-displayio-layout-2.1.0 → adafruit_circuitpython_displayio_layout-2.2.0/adafruit_circuitpython_displayio_layout.egg-info}/PKG-INFO +1 -1
  3. {adafruit-circuitpython-displayio-layout-2.1.0 → adafruit_circuitpython_displayio_layout-2.2.0}/adafruit_circuitpython_displayio_layout.egg-info/SOURCES.txt +2 -0
  4. {adafruit-circuitpython-displayio-layout-2.1.0 → adafruit_circuitpython_displayio_layout-2.2.0}/adafruit_displayio_layout/layouts/grid_layout.py +1 -1
  5. adafruit_circuitpython_displayio_layout-2.2.0/adafruit_displayio_layout/layouts/linear_layout.py +151 -0
  6. {adafruit-circuitpython-displayio-layout-2.1.0 → adafruit_circuitpython_displayio_layout-2.2.0}/adafruit_displayio_layout/layouts/page_layout.py +1 -1
  7. {adafruit-circuitpython-displayio-layout-2.1.0 → adafruit_circuitpython_displayio_layout-2.2.0}/adafruit_displayio_layout/layouts/tab_layout.py +1 -1
  8. {adafruit-circuitpython-displayio-layout-2.1.0 → adafruit_circuitpython_displayio_layout-2.2.0}/adafruit_displayio_layout/widgets/cartesian.py +1 -1
  9. {adafruit-circuitpython-displayio-layout-2.1.0 → adafruit_circuitpython_displayio_layout-2.2.0}/adafruit_displayio_layout/widgets/control.py +1 -1
  10. {adafruit-circuitpython-displayio-layout-2.1.0 → adafruit_circuitpython_displayio_layout-2.2.0}/adafruit_displayio_layout/widgets/easing.py +1 -1
  11. {adafruit-circuitpython-displayio-layout-2.1.0 → adafruit_circuitpython_displayio_layout-2.2.0}/adafruit_displayio_layout/widgets/flip_input.py +1 -1
  12. {adafruit-circuitpython-displayio-layout-2.1.0 → adafruit_circuitpython_displayio_layout-2.2.0}/adafruit_displayio_layout/widgets/icon_animated.py +1 -1
  13. {adafruit-circuitpython-displayio-layout-2.1.0 → adafruit_circuitpython_displayio_layout-2.2.0}/adafruit_displayio_layout/widgets/icon_widget.py +1 -1
  14. {adafruit-circuitpython-displayio-layout-2.1.0 → adafruit_circuitpython_displayio_layout-2.2.0}/adafruit_displayio_layout/widgets/switch_round.py +1 -1
  15. {adafruit-circuitpython-displayio-layout-2.1.0 → adafruit_circuitpython_displayio_layout-2.2.0}/adafruit_displayio_layout/widgets/widget.py +1 -1
  16. {adafruit-circuitpython-displayio-layout-2.1.0 → adafruit_circuitpython_displayio_layout-2.2.0}/docs/conf.py +0 -1
  17. adafruit_circuitpython_displayio_layout-2.2.0/examples/displayio_layout_linearlayout_simpletest.py +37 -0
  18. {adafruit-circuitpython-displayio-layout-2.1.0 → adafruit_circuitpython_displayio_layout-2.2.0}/pyproject.toml +1 -1
  19. {adafruit-circuitpython-displayio-layout-2.1.0 → adafruit_circuitpython_displayio_layout-2.2.0}/.github/PULL_REQUEST_TEMPLATE/adafruit_circuitpython_pr.md +0 -0
  20. {adafruit-circuitpython-displayio-layout-2.1.0 → adafruit_circuitpython_displayio_layout-2.2.0}/.github/workflows/build.yml +0 -0
  21. {adafruit-circuitpython-displayio-layout-2.1.0 → adafruit_circuitpython_displayio_layout-2.2.0}/.github/workflows/failure-help-text.yml +0 -0
  22. {adafruit-circuitpython-displayio-layout-2.1.0 → adafruit_circuitpython_displayio_layout-2.2.0}/.github/workflows/release_gh.yml +0 -0
  23. {adafruit-circuitpython-displayio-layout-2.1.0 → adafruit_circuitpython_displayio_layout-2.2.0}/.github/workflows/release_pypi.yml +0 -0
  24. {adafruit-circuitpython-displayio-layout-2.1.0 → adafruit_circuitpython_displayio_layout-2.2.0}/.gitignore +0 -0
  25. {adafruit-circuitpython-displayio-layout-2.1.0 → adafruit_circuitpython_displayio_layout-2.2.0}/.pre-commit-config.yaml +0 -0
  26. {adafruit-circuitpython-displayio-layout-2.1.0 → adafruit_circuitpython_displayio_layout-2.2.0}/.pylintrc +0 -0
  27. {adafruit-circuitpython-displayio-layout-2.1.0 → adafruit_circuitpython_displayio_layout-2.2.0}/.readthedocs.yaml +0 -0
  28. {adafruit-circuitpython-displayio-layout-2.1.0 → adafruit_circuitpython_displayio_layout-2.2.0}/CODE_OF_CONDUCT.md +0 -0
  29. {adafruit-circuitpython-displayio-layout-2.1.0 → adafruit_circuitpython_displayio_layout-2.2.0}/LICENSE +0 -0
  30. {adafruit-circuitpython-displayio-layout-2.1.0 → adafruit_circuitpython_displayio_layout-2.2.0}/LICENSES/CC-BY-4.0.txt +0 -0
  31. {adafruit-circuitpython-displayio-layout-2.1.0 → adafruit_circuitpython_displayio_layout-2.2.0}/LICENSES/MIT.txt +0 -0
  32. {adafruit-circuitpython-displayio-layout-2.1.0 → adafruit_circuitpython_displayio_layout-2.2.0}/LICENSES/OFL-1.1.txt +0 -0
  33. {adafruit-circuitpython-displayio-layout-2.1.0 → adafruit_circuitpython_displayio_layout-2.2.0}/LICENSES/Unlicense.txt +0 -0
  34. {adafruit-circuitpython-displayio-layout-2.1.0 → adafruit_circuitpython_displayio_layout-2.2.0}/README.rst +0 -0
  35. {adafruit-circuitpython-displayio-layout-2.1.0 → adafruit_circuitpython_displayio_layout-2.2.0}/README.rst.license +0 -0
  36. {adafruit-circuitpython-displayio-layout-2.1.0 → adafruit_circuitpython_displayio_layout-2.2.0}/adafruit_circuitpython_displayio_layout.egg-info/dependency_links.txt +0 -0
  37. {adafruit-circuitpython-displayio-layout-2.1.0 → adafruit_circuitpython_displayio_layout-2.2.0}/adafruit_circuitpython_displayio_layout.egg-info/requires.txt +0 -0
  38. {adafruit-circuitpython-displayio-layout-2.1.0 → adafruit_circuitpython_displayio_layout-2.2.0}/adafruit_circuitpython_displayio_layout.egg-info/top_level.txt +0 -0
  39. {adafruit-circuitpython-displayio-layout-2.1.0 → adafruit_circuitpython_displayio_layout-2.2.0}/adafruit_displayio_layout/__init__.py +0 -0
  40. {adafruit-circuitpython-displayio-layout-2.1.0 → adafruit_circuitpython_displayio_layout-2.2.0}/adafruit_displayio_layout/layouts/__init__.py +0 -0
  41. {adafruit-circuitpython-displayio-layout-2.1.0 → adafruit_circuitpython_displayio_layout-2.2.0}/adafruit_displayio_layout/widgets/__init__.py +0 -0
  42. {adafruit-circuitpython-displayio-layout-2.1.0 → adafruit_circuitpython_displayio_layout-2.2.0}/docs/_static/favicon.ico +0 -0
  43. {adafruit-circuitpython-displayio-layout-2.1.0 → adafruit_circuitpython_displayio_layout-2.2.0}/docs/_static/favicon.ico.license +0 -0
  44. {adafruit-circuitpython-displayio-layout-2.1.0 → adafruit_circuitpython_displayio_layout-2.2.0}/docs/api.rst +0 -0
  45. {adafruit-circuitpython-displayio-layout-2.1.0 → adafruit_circuitpython_displayio_layout-2.2.0}/docs/api.rst.license +0 -0
  46. {adafruit-circuitpython-displayio-layout-2.1.0 → adafruit_circuitpython_displayio_layout-2.2.0}/docs/cartesian.gif +0 -0
  47. {adafruit-circuitpython-displayio-layout-2.1.0 → adafruit_circuitpython_displayio_layout-2.2.0}/docs/cartesian.gif.license +0 -0
  48. {adafruit-circuitpython-displayio-layout-2.1.0 → adafruit_circuitpython_displayio_layout-2.2.0}/docs/cartesian_explanation.png +0 -0
  49. {adafruit-circuitpython-displayio-layout-2.1.0 → adafruit_circuitpython_displayio_layout-2.2.0}/docs/cartesian_explanation.png.license +0 -0
  50. {adafruit-circuitpython-displayio-layout-2.1.0 → adafruit_circuitpython_displayio_layout-2.2.0}/docs/cartesian_zones.png +0 -0
  51. {adafruit-circuitpython-displayio-layout-2.1.0 → adafruit_circuitpython_displayio_layout-2.2.0}/docs/cartesian_zones.png.license +0 -0
  52. {adafruit-circuitpython-displayio-layout-2.1.0 → adafruit_circuitpython_displayio_layout-2.2.0}/docs/examples.rst +0 -0
  53. {adafruit-circuitpython-displayio-layout-2.1.0 → adafruit_circuitpython_displayio_layout-2.2.0}/docs/examples.rst.license +0 -0
  54. {adafruit-circuitpython-displayio-layout-2.1.0 → adafruit_circuitpython_displayio_layout-2.2.0}/docs/gui_layout_coordinates.png +0 -0
  55. {adafruit-circuitpython-displayio-layout-2.1.0 → adafruit_circuitpython_displayio_layout-2.2.0}/docs/gui_layout_coordinates.png.license +0 -0
  56. {adafruit-circuitpython-displayio-layout-2.1.0 → adafruit_circuitpython_displayio_layout-2.2.0}/docs/index.rst +0 -0
  57. {adafruit-circuitpython-displayio-layout-2.1.0 → adafruit_circuitpython_displayio_layout-2.2.0}/docs/index.rst.license +0 -0
  58. {adafruit-circuitpython-displayio-layout-2.1.0 → adafruit_circuitpython_displayio_layout-2.2.0}/docs/requirements.txt +0 -0
  59. {adafruit-circuitpython-displayio-layout-2.1.0 → adafruit_circuitpython_displayio_layout-2.2.0}/examples/bmps/active_tab_sprite.bmp +0 -0
  60. {adafruit-circuitpython-displayio-layout-2.1.0 → adafruit_circuitpython_displayio_layout-2.2.0}/examples/bmps/active_tab_sprite.bmp.license +0 -0
  61. {adafruit-circuitpython-displayio-layout-2.1.0 → adafruit_circuitpython_displayio_layout-2.2.0}/examples/bmps/inactive_tab_sprite.bmp +0 -0
  62. {adafruit-circuitpython-displayio-layout-2.1.0 → adafruit_circuitpython_displayio_layout-2.2.0}/examples/bmps/inactive_tab_sprite.bmp.license +0 -0
  63. {adafruit-circuitpython-displayio-layout-2.1.0 → adafruit_circuitpython_displayio_layout-2.2.0}/examples/displayio_layout_cartesian_advanced_test.py +0 -0
  64. {adafruit-circuitpython-displayio-layout-2.1.0 → adafruit_circuitpython_displayio_layout-2.2.0}/examples/displayio_layout_cartesian_lineplot.py +0 -0
  65. {adafruit-circuitpython-displayio-layout-2.1.0 → adafruit_circuitpython_displayio_layout-2.2.0}/examples/displayio_layout_cartesian_simpletest.py +0 -0
  66. {adafruit-circuitpython-displayio-layout-2.1.0 → adafruit_circuitpython_displayio_layout-2.2.0}/examples/displayio_layout_flip_input_simpletest.py +0 -0
  67. {adafruit-circuitpython-displayio-layout-2.1.0 → adafruit_circuitpython_displayio_layout-2.2.0}/examples/displayio_layout_grid_layout_get_cell_test.py +0 -0
  68. {adafruit-circuitpython-displayio-layout-2.1.0 → adafruit_circuitpython_displayio_layout-2.2.0}/examples/displayio_layout_gridlayout_dividers.py +0 -0
  69. {adafruit-circuitpython-displayio-layout-2.1.0 → adafruit_circuitpython_displayio_layout-2.2.0}/examples/displayio_layout_gridlayout_pygame_display_simpletest.py +0 -0
  70. {adafruit-circuitpython-displayio-layout-2.1.0 → adafruit_circuitpython_displayio_layout-2.2.0}/examples/displayio_layout_gridlayout_simpletest.py +0 -0
  71. {adafruit-circuitpython-displayio-layout-2.1.0 → adafruit_circuitpython_displayio_layout-2.2.0}/examples/displayio_layout_icon_animated_simpletest.py +0 -0
  72. {adafruit-circuitpython-displayio-layout-2.1.0 → adafruit_circuitpython_displayio_layout-2.2.0}/examples/displayio_layout_page_layout_advancedtest.py +0 -0
  73. {adafruit-circuitpython-displayio-layout-2.1.0 → adafruit_circuitpython_displayio_layout-2.2.0}/examples/displayio_layout_page_layout_simpletest.py +0 -0
  74. {adafruit-circuitpython-displayio-layout-2.1.0 → adafruit_circuitpython_displayio_layout-2.2.0}/examples/displayio_layout_pygame_display_switch_round.py +0 -0
  75. {adafruit-circuitpython-displayio-layout-2.1.0 → adafruit_circuitpython_displayio_layout-2.2.0}/examples/displayio_layout_simpletest.py +0 -0
  76. {adafruit-circuitpython-displayio-layout-2.1.0 → adafruit_circuitpython_displayio_layout-2.2.0}/examples/displayio_layout_switch_multiple.py +0 -0
  77. {adafruit-circuitpython-displayio-layout-2.1.0 → adafruit_circuitpython_displayio_layout-2.2.0}/examples/displayio_layout_switch_simpletest.py +0 -0
  78. {adafruit-circuitpython-displayio-layout-2.1.0 → adafruit_circuitpython_displayio_layout-2.2.0}/examples/displayio_layout_tab_layout_simpletest.py +0 -0
  79. {adafruit-circuitpython-displayio-layout-2.1.0 → adafruit_circuitpython_displayio_layout-2.2.0}/examples/displayio_layout_tab_layout_touchtest.py +0 -0
  80. {adafruit-circuitpython-displayio-layout-2.1.0 → adafruit_circuitpython_displayio_layout-2.2.0}/examples/fonts/Arial-16.bdf +0 -0
  81. {adafruit-circuitpython-displayio-layout-2.1.0 → adafruit_circuitpython_displayio_layout-2.2.0}/examples/fonts/Arial-16.bdf.license +0 -0
  82. {adafruit-circuitpython-displayio-layout-2.1.0 → adafruit_circuitpython_displayio_layout-2.2.0}/examples/fonts/DSEG14Classic-Regular-64-ModS.pcf +0 -0
  83. {adafruit-circuitpython-displayio-layout-2.1.0 → adafruit_circuitpython_displayio_layout-2.2.0}/examples/fonts/DSEG14Classic-Regular-64-ModS.pcf.license +0 -0
  84. {adafruit-circuitpython-displayio-layout-2.1.0 → adafruit_circuitpython_displayio_layout-2.2.0}/examples/hotplug_sensor_examples/displayio_layout_hotplug_rtc.py +0 -0
  85. {adafruit-circuitpython-displayio-layout-2.1.0 → adafruit_circuitpython_displayio_layout-2.2.0}/examples/hotplug_sensor_examples/displayio_layout_hotplug_temp_sensor.py +0 -0
  86. {adafruit-circuitpython-displayio-layout-2.1.0 → adafruit_circuitpython_displayio_layout-2.2.0}/examples/hotplug_sensor_examples/images/BGimage4.bmp +0 -0
  87. {adafruit-circuitpython-displayio-layout-2.1.0 → adafruit_circuitpython_displayio_layout-2.2.0}/examples/hotplug_sensor_examples/images/BGimage4.bmp.license +0 -0
  88. {adafruit-circuitpython-displayio-layout-2.1.0 → adafruit_circuitpython_displayio_layout-2.2.0}/examples/icons/Play_48x48_small.bmp +0 -0
  89. {adafruit-circuitpython-displayio-layout-2.1.0 → adafruit_circuitpython_displayio_layout-2.2.0}/examples/icons/Play_48x48_small.bmp.license +0 -0
  90. {adafruit-circuitpython-displayio-layout-2.1.0 → adafruit_circuitpython_displayio_layout-2.2.0}/optional_requirements.txt +0 -0
  91. {adafruit-circuitpython-displayio-layout-2.1.0 → adafruit_circuitpython_displayio_layout-2.2.0}/requirements.txt +0 -0
  92. {adafruit-circuitpython-displayio-layout-2.1.0 → adafruit_circuitpython_displayio_layout-2.2.0}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: adafruit-circuitpython-displayio-layout
3
- Version: 2.1.0
3
+ Version: 2.2.0
4
4
  Summary: CircuitPython helper library for displayio layouts and widgets.
5
5
  Author-email: Adafruit Industries <circuitpython@adafruit.com>
6
6
  License: MIT
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: adafruit-circuitpython-displayio-layout
3
- Version: 2.1.0
3
+ Version: 2.2.0
4
4
  Summary: CircuitPython helper library for displayio layouts and widgets.
5
5
  Author-email: Adafruit Industries <circuitpython@adafruit.com>
6
6
  License: MIT
@@ -26,6 +26,7 @@ adafruit_circuitpython_displayio_layout.egg-info/top_level.txt
26
26
  adafruit_displayio_layout/__init__.py
27
27
  adafruit_displayio_layout/layouts/__init__.py
28
28
  adafruit_displayio_layout/layouts/grid_layout.py
29
+ adafruit_displayio_layout/layouts/linear_layout.py
29
30
  adafruit_displayio_layout/layouts/page_layout.py
30
31
  adafruit_displayio_layout/layouts/tab_layout.py
31
32
  adafruit_displayio_layout/widgets/__init__.py
@@ -64,6 +65,7 @@ examples/displayio_layout_gridlayout_dividers.py
64
65
  examples/displayio_layout_gridlayout_pygame_display_simpletest.py
65
66
  examples/displayio_layout_gridlayout_simpletest.py
66
67
  examples/displayio_layout_icon_animated_simpletest.py
68
+ examples/displayio_layout_linearlayout_simpletest.py
67
69
  examples/displayio_layout_page_layout_advancedtest.py
68
70
  examples/displayio_layout_page_layout_simpletest.py
69
71
  examples/displayio_layout_pygame_display_switch_round.py
@@ -32,7 +32,7 @@ import math
32
32
  import displayio
33
33
  from vectorio import Rectangle
34
34
 
35
- __version__ = "2.1.0"
35
+ __version__ = "2.2.0"
36
36
  __repo__ = "https://github.com/adafruit/Adafruit_CircuitPython_DisplayIO_Layout.git"
37
37
 
38
38
 
@@ -0,0 +1,151 @@
1
+ # SPDX-FileCopyrightText: Copyright (c) 2021 Tim Cocks
2
+ #
3
+ # SPDX-License-Identifier: MIT
4
+ """
5
+ `linear_layout`
6
+ ================================================================================
7
+
8
+ A layout that organizes cells into a vertical or horizontal line.
9
+
10
+
11
+ * Author(s): Tim Cocks
12
+
13
+ Implementation Notes
14
+ --------------------
15
+
16
+ **Hardware:**
17
+
18
+ **Software and Dependencies:**
19
+
20
+ * Adafruit CircuitPython firmware for the supported boards:
21
+ https://github.com/adafruit/circuitpython/releases
22
+
23
+ """
24
+
25
+ from adafruit_displayio_layout.widgets.widget import Widget
26
+
27
+
28
+ class LinearLayout(Widget):
29
+ """
30
+ LinearLayout holds multiple content elements and arranges
31
+ them in a line either horizontally or vertically.
32
+ """
33
+
34
+ VERTICAL_ORIENTATION = 1
35
+ HORIZONTAL_ORIENTATION = 2
36
+
37
+ def __init__(
38
+ self,
39
+ x,
40
+ y,
41
+ orientation=VERTICAL_ORIENTATION,
42
+ padding=0,
43
+ ):
44
+ """
45
+ :param int x: The horizontal position of the layout
46
+ :param int y: The vertical position of the layout
47
+ :param int orientation: The orientation of the layout. Must be VERTICAL_ORIENTATION
48
+ or HORIZONTAL_ORIENTATION
49
+ :param int padding: The padding between items in the layout
50
+ """
51
+
52
+ super().__init__(x=x, y=y, width=1, height=1)
53
+
54
+ self.x = x
55
+ self.y = y
56
+ self.padding = padding
57
+ if orientation not in [self.VERTICAL_ORIENTATION, self.HORIZONTAL_ORIENTATION]:
58
+ raise ValueError(
59
+ "Orientation must be either LinearLayout.VERTICAL_ORIENTATION"
60
+ " or LinearLayout.HORIZONTAL_ORIENTATION"
61
+ )
62
+
63
+ self.orientation = orientation
64
+ self._content_list = []
65
+ self._prev_content_end = 0
66
+
67
+ def add_content(self, content):
68
+ """Add a child to the linear layout.
69
+
70
+ :param content: the content to add to the linear layout e.g. label, button, etc...
71
+ Group subclasses that have width and height properties can be used.
72
+
73
+ :return: None"""
74
+
75
+ self._content_list.append(content)
76
+ self.append(content)
77
+ self._layout()
78
+
79
+ def _layout(self):
80
+ # pylint: disable=too-many-branches, protected-access
81
+ self._prev_content_end = 0
82
+
83
+ for _, content in enumerate(self._content_list):
84
+ if not hasattr(content, "anchor_point"):
85
+ if self.orientation == self.VERTICAL_ORIENTATION:
86
+ content.y = self._prev_content_end
87
+ try:
88
+ self._prev_content_end = (
89
+ self._prev_content_end + content.height + self.padding
90
+ )
91
+ except AttributeError as error:
92
+ print(error)
93
+ try:
94
+ self._prev_content_end = (
95
+ self._prev_content_end + content._height + self.padding
96
+ )
97
+ except AttributeError as inner_error:
98
+ print(inner_error)
99
+
100
+ else:
101
+ content.x = self._prev_content_end
102
+ if not hasattr(content, "tile_width"):
103
+ self._prev_content_end = (
104
+ content.x + content.width + (self.padding * 2)
105
+ )
106
+ else:
107
+ self._prev_content_end = (
108
+ content.x
109
+ + (content.width * content.tile_width)
110
+ + (self.padding * 2)
111
+ )
112
+ else: # use anchor point
113
+ content.anchor_point = (
114
+ 0,
115
+ content.anchor_point[1] if content.anchor_point is not None else 0,
116
+ )
117
+ if self.orientation == self.VERTICAL_ORIENTATION:
118
+ content.anchored_position = (0, self._prev_content_end)
119
+ # self._prev_content_end = content.y + content.height
120
+ if not hasattr(content, "bounding_box"):
121
+ self._prev_content_end = (
122
+ self._prev_content_end + content.height + self.padding
123
+ )
124
+ else:
125
+ self._prev_content_end = (
126
+ self._prev_content_end
127
+ + (content.bounding_box[3] * content.scale)
128
+ + self.padding
129
+ )
130
+
131
+ else:
132
+ original_achored_pos_y = (
133
+ content.anchored_position[1]
134
+ if content.anchored_position is not None
135
+ else 0
136
+ )
137
+
138
+ content.anchored_position = (
139
+ self._prev_content_end,
140
+ original_achored_pos_y,
141
+ )
142
+ if not hasattr(content, "bounding_box"):
143
+ self._prev_content_end = (
144
+ self._prev_content_end + content.width + self.padding
145
+ )
146
+ else:
147
+ self._prev_content_end = (
148
+ self._prev_content_end
149
+ + (content.bounding_box[2] * content.scale)
150
+ + self.padding
151
+ )
@@ -32,7 +32,7 @@ except ImportError:
32
32
 
33
33
  import displayio
34
34
 
35
- __version__ = "2.1.0"
35
+ __version__ = "2.2.0"
36
36
  __repo__ = "https://github.com/adafruit/Adafruit_CircuitPython_DisplayIO_Layout.git"
37
37
 
38
38
 
@@ -37,7 +37,7 @@ from adafruit_display_text.bitmap_label import Label
37
37
  from adafruit_imageload.tilegrid_inflator import inflate_tilegrid
38
38
  from adafruit_displayio_layout.layouts.page_layout import PageLayout
39
39
 
40
- __version__ = "2.1.0"
40
+ __version__ = "2.2.0"
41
41
  __repo__ = "https://github.com/adafruit/Adafruit_CircuitPython_DisplayIO_Layout.git"
42
42
 
43
43
 
@@ -41,7 +41,7 @@ except ImportError:
41
41
  pass
42
42
 
43
43
 
44
- __version__ = "2.1.0"
44
+ __version__ = "2.2.0"
45
45
  __repo__ = "https://github.com/adafruit/Adafruit_CircuitPython_DisplayIO_Layout.git"
46
46
 
47
47
 
@@ -27,7 +27,7 @@ except ImportError:
27
27
  pass
28
28
 
29
29
 
30
- __version__ = "2.1.0"
30
+ __version__ = "2.2.0"
31
31
  __repo__ = "https://github.com/adafruit/Adafruit_CircuitPython_DisplayIO_Layout.git"
32
32
 
33
33
  # pylint: disable=unsubscriptable-object, unnecessary-pass
@@ -76,7 +76,7 @@ Implementation Notes
76
76
  import math
77
77
 
78
78
 
79
- __version__ = "2.1.0"
79
+ __version__ = "2.2.0"
80
80
  __repo__ = "https://github.com/adafruit/Adafruit_CircuitPython_DisplayIO_Layout.git"
81
81
 
82
82
 
@@ -44,7 +44,7 @@ except ImportError:
44
44
  pass
45
45
 
46
46
 
47
- __version__ = "2.1.0"
47
+ __version__ = "2.2.0"
48
48
  __repo__ = "https://github.com/adafruit/Adafruit_CircuitPython_DisplayIO_Layout.git"
49
49
 
50
50
 
@@ -38,7 +38,7 @@ except ImportError:
38
38
  pass
39
39
 
40
40
 
41
- __version__ = "2.1.0"
41
+ __version__ = "2.2.0"
42
42
  __repo__ = "https://github.com/adafruit/Adafruit_CircuitPython_DisplayIO_Layout.git"
43
43
 
44
44
 
@@ -36,7 +36,7 @@ except ImportError:
36
36
  pass
37
37
 
38
38
 
39
- __version__ = "2.1.0"
39
+ __version__ = "2.2.0"
40
40
  __repo__ = "https://github.com/adafruit/Adafruit_CircuitPython_DisplayIO_Layout.git"
41
41
 
42
42
 
@@ -50,7 +50,7 @@ except ImportError:
50
50
  pass
51
51
 
52
52
 
53
- __version__ = "2.1.0"
53
+ __version__ = "2.2.0"
54
54
  __repo__ = "https://github.com/adafruit/Adafruit_CircuitPython_DisplayIO_Layout.git"
55
55
 
56
56
 
@@ -30,7 +30,7 @@ except ImportError:
30
30
  pass
31
31
 
32
32
 
33
- __version__ = "2.1.0"
33
+ __version__ = "2.2.0"
34
34
  __repo__ = "https://github.com/adafruit/Adafruit_CircuitPython_DisplayIO_Layout.git"
35
35
 
36
36
  # pylint: disable=too-many-arguments
@@ -118,7 +118,6 @@ napoleon_numpy_docstring = False
118
118
  import sphinx_rtd_theme
119
119
 
120
120
  html_theme = "sphinx_rtd_theme"
121
- html_theme_path = [sphinx_rtd_theme.get_html_theme_path(), "."]
122
121
 
123
122
  # Add any paths that contain custom static files (such as style sheets) here,
124
123
  # relative to this directory. They are copied after the builtin static files,
@@ -0,0 +1,37 @@
1
+ # SPDX-FileCopyrightText: 2024 Tim C, written for Adafruit Industries
2
+ #
3
+ # SPDX-License-Identifier: MIT
4
+ """
5
+ Illustrates usage of LinearLayout to display a text label to the right of
6
+ an icon.
7
+ """
8
+ import adafruit_imageload
9
+ import board
10
+ import displayio
11
+ import terminalio
12
+ from adafruit_display_text import label
13
+ from adafruit_displayio_layout.layouts.linear_layout import LinearLayout
14
+
15
+ # use built in display (PyPortal, PyGamer, PyBadge, CLUE, etc.)
16
+ # see guide for setting up external displays (TFT / OLED breakouts, RGB matrices, etc.)
17
+ # https://learn.adafruit.com/circuitpython-display-support-using-displayio/display-and-display-bus
18
+ display = board.DISPLAY
19
+
20
+ # Make the display context
21
+ main_group = displayio.Group()
22
+ display.root_group = main_group
23
+
24
+ layout = LinearLayout(
25
+ x=10, y=10, padding=4, orientation=LinearLayout.HORIZONTAL_ORIENTATION
26
+ )
27
+
28
+ lbl = label.Label(terminalio.FONT, scale=4, x=0, y=0, text="Hello")
29
+
30
+ icon, icon_palette = adafruit_imageload.load("icons/Play_48x48_small.bmp")
31
+ icon_tile_grid = displayio.TileGrid(icon, pixel_shader=icon_palette)
32
+ layout.add_content(icon_tile_grid)
33
+ layout.add_content(lbl)
34
+
35
+ main_group.append(layout)
36
+ while True:
37
+ pass
@@ -12,7 +12,7 @@ requires = [
12
12
  [project]
13
13
  name = "adafruit-circuitpython-displayio-layout"
14
14
  description = "CircuitPython helper library for displayio layouts and widgets."
15
- version = "2.1.0"
15
+ version = "2.2.0"
16
16
  readme = "README.rst"
17
17
  authors = [
18
18
  {name = "Adafruit Industries", email = "circuitpython@adafruit.com"}