mirror of
https://github.com/ChuckBuilds/LEDMatrix.git
synced 2026-04-11 13:23:00 +00:00
Fix calendar display by using display manager's drawing methods
This commit is contained in:
@@ -26,15 +26,16 @@ class CalendarManager:
|
|||||||
self.events = []
|
self.events = []
|
||||||
self.service = None
|
self.service = None
|
||||||
|
|
||||||
# Load font
|
# Get display manager instance
|
||||||
self.font = ImageFont.truetype("assets/fonts/4x6-font.ttf", 6)
|
from src.display_manager import DisplayManager
|
||||||
|
self.display_manager = DisplayManager._instance
|
||||||
|
|
||||||
if self.enabled:
|
if self.enabled:
|
||||||
self.authenticate()
|
self.authenticate()
|
||||||
|
|
||||||
# Display properties
|
# Display properties
|
||||||
self.text_color = graphics.Color(255, 255, 255)
|
self.text_color = (255, 255, 255) # White
|
||||||
self.date_color = graphics.Color(0, 255, 0)
|
self.date_color = (0, 255, 0) # Green
|
||||||
|
|
||||||
# State management
|
# State management
|
||||||
self.current_event_index = 0
|
self.current_event_index = 0
|
||||||
@@ -99,9 +100,8 @@ class CalendarManager:
|
|||||||
# Create text to display
|
# Create text to display
|
||||||
text = f"{time_str} {summary}"
|
text = f"{time_str} {summary}"
|
||||||
|
|
||||||
# Draw text
|
# Draw text using display manager
|
||||||
draw = ImageDraw.Draw(self.canvas)
|
self.display_manager.draw_text(text, y=y_position, color=self.text_color, small_font=True)
|
||||||
draw.text((1, y_position), text, font=self.font, fill=(255, 255, 255))
|
|
||||||
|
|
||||||
return y_position + 8 # Return next y position
|
return y_position + 8 # Return next y position
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
@@ -117,8 +117,8 @@ class CalendarManager:
|
|||||||
self.events = self.get_events()
|
self.events = self.get_events()
|
||||||
self.last_update = current_time
|
self.last_update = current_time
|
||||||
|
|
||||||
# Clear the canvas
|
# Clear the display
|
||||||
self.canvas.Clear()
|
self.display_manager.clear()
|
||||||
|
|
||||||
# Draw each event
|
# Draw each event
|
||||||
y_pos = 1
|
y_pos = 1
|
||||||
@@ -128,7 +128,7 @@ class CalendarManager:
|
|||||||
break
|
break
|
||||||
|
|
||||||
# Update the display
|
# Update the display
|
||||||
self.matrix.SwapOnVSync(self.canvas)
|
self.display_manager.update_display()
|
||||||
|
|
||||||
def _format_event_time(self, event):
|
def _format_event_time(self, event):
|
||||||
"""Format event time for display"""
|
"""Format event time for display"""
|
||||||
@@ -145,8 +145,8 @@ class CalendarManager:
|
|||||||
if not self.enabled or not self.events:
|
if not self.enabled or not self.events:
|
||||||
return
|
return
|
||||||
|
|
||||||
# Clear the canvas
|
# Clear the display
|
||||||
self.canvas.Clear()
|
self.display_manager.clear()
|
||||||
|
|
||||||
# Get current event to display
|
# Get current event to display
|
||||||
if self.current_event_index >= len(self.events):
|
if self.current_event_index >= len(self.events):
|
||||||
@@ -155,7 +155,7 @@ class CalendarManager:
|
|||||||
|
|
||||||
# Display event time
|
# Display event time
|
||||||
time_str = self._format_event_time(event)
|
time_str = self._format_event_time(event)
|
||||||
graphics.DrawText(self.canvas, self.font, 1, 12, self.date_color, time_str)
|
self.display_manager.draw_text(time_str, y=12, color=self.date_color, small_font=True)
|
||||||
|
|
||||||
# Display event title (with scrolling if needed)
|
# Display event title (with scrolling if needed)
|
||||||
title = event['summary']
|
title = event['summary']
|
||||||
@@ -163,7 +163,10 @@ class CalendarManager:
|
|||||||
# Add scrolling logic here
|
# Add scrolling logic here
|
||||||
pass
|
pass
|
||||||
else:
|
else:
|
||||||
graphics.DrawText(self.canvas, self.font, 1, 25, self.text_color, title)
|
self.display_manager.draw_text(title, y=25, color=self.text_color, small_font=True)
|
||||||
|
|
||||||
|
# Update the display
|
||||||
|
self.display_manager.update_display()
|
||||||
|
|
||||||
# Increment event index for next display
|
# Increment event index for next display
|
||||||
self.current_event_index += 1
|
self.current_event_index += 1
|
||||||
Reference in New Issue
Block a user