mirror of
https://github.com/ChuckBuilds/LEDMatrix.git
synced 2026-04-10 21:03:01 +00:00
refactor: Adjust vertical positioning for forecast icons
This commit is contained in:
@@ -39,9 +39,9 @@ class WeatherManager:
|
||||
# Layout constants
|
||||
self.PADDING = 1
|
||||
self.ICON_SIZE = {
|
||||
'large': 24,
|
||||
'medium': 18,
|
||||
'small': 12
|
||||
'large': 28,
|
||||
'medium': 20,
|
||||
'small': 14
|
||||
}
|
||||
self.COLORS = {
|
||||
'text': (255, 255, 255),
|
||||
@@ -359,9 +359,13 @@ class WeatherManager:
|
||||
font=self.display_manager.small_font,
|
||||
fill=self.COLORS['extra_dim'])
|
||||
|
||||
# Draw weather icon in middle
|
||||
icon_size = self.ICON_SIZE['medium']
|
||||
icon_y = self.display_manager.matrix.height // 3 # Position icon in upper third
|
||||
# Draw weather icon centered vertically between top/bottom text
|
||||
icon_size = self.ICON_SIZE['medium'] # 20
|
||||
top_text_height = 8 # Approx height reservation for top text
|
||||
bottom_text_y = self.display_manager.matrix.height - 8 # Starting Y for bottom text
|
||||
available_height_for_icon = bottom_text_y - top_text_height
|
||||
# Ensure calculated y is not negative if space is very tight
|
||||
icon_y = max(top_text_height, top_text_height + (available_height_for_icon - icon_size) // 2)
|
||||
icon_x = center_x - icon_size // 2
|
||||
WeatherIcons.draw_weather_icon(image, forecast['condition'], icon_x, icon_y, icon_size)
|
||||
|
||||
@@ -424,9 +428,13 @@ class WeatherManager:
|
||||
font=self.display_manager.small_font,
|
||||
fill=self.COLORS['extra_dim'])
|
||||
|
||||
# Draw weather icon in middle
|
||||
icon_size = self.ICON_SIZE['medium']
|
||||
icon_y = self.display_manager.matrix.height // 3 # Position icon in upper third
|
||||
# Draw weather icon centered vertically between top/bottom text
|
||||
icon_size = self.ICON_SIZE['medium'] # 20
|
||||
top_text_height = 8 # Approx height reservation for top text
|
||||
bottom_text_y = self.display_manager.matrix.height - 8 # Starting Y for bottom text
|
||||
available_height_for_icon = bottom_text_y - top_text_height
|
||||
# Ensure calculated y is not negative if space is very tight
|
||||
icon_y = max(top_text_height, top_text_height + (available_height_for_icon - icon_size) // 2)
|
||||
icon_x = center_x - icon_size // 2
|
||||
WeatherIcons.draw_weather_icon(image, forecast['condition'], icon_x, icon_y, icon_size)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user