35 lines
1.2 KiB
Python
Raw Normal View History

import curses
from .big_digits import BIG_DIGITS
def init_colors():
"""Initialize color pairs matching specification"""
curses.start_color()
curses.use_default_colors()
# Green text on black background (primary color)
curses.init_pair(1, curses.COLOR_GREEN, curses.COLOR_BLACK)
# Highlight color (yellow)
curses.init_pair(2, curses.COLOR_YELLOW, curses.COLOR_BLACK)
# Error color (red)
curses.init_pair(3, curses.COLOR_RED, curses.COLOR_BLACK)
def draw_error(stdscr, error_message):
"""Draw error message following specification"""
height, width = stdscr.getmaxyx()
# Truncate message if too long
error_message = error_message[:width-4]
error_x = max(0, width // 2 - len(error_message) // 2)
error_y = height - 4 # Show near bottom of screen
stdscr.attron(curses.color_pair(3) | curses.A_BOLD)
stdscr.addstr(error_y, error_x, error_message)
stdscr.attroff(curses.color_pair(3) | curses.A_BOLD)
def draw_big_digit(stdscr, y, x, digit):
"""Draw a big digit using predefined patterns"""
patterns = BIG_DIGITS[digit]
for i, line in enumerate(patterns):
stdscr.addstr(y + i, x, line)