A clock UI element that can display both analog and digital time.
Supports both 12-hour and 24-hour formats, real-time or custom time,
and various customization options.
_properties: Dict[str, Dict[str, Any]] = {**UIElement._properties, 'diameter': {'name': 'diameter', 'key': 'diameter', 'type': int, 'editable': True, 'description': 'Diameter of the analog clock face in pixels.'}, 'use_real_time': {'name': 'use real time', 'key': 'use_real_time', 'type': bool, 'editable': True, 'description': 'If True, uses system time. If False, use custom time set via set_time().'}, 'show_numbers': {'name': 'show numbers', 'key': 'show_numbers', 'type': bool, 'editable': True, 'description': 'Whether to show hour numbers on the analog clock face.'}, 'time_style': {'name': 'time style', 'key': 'time_style', 'type': str, 'editable': True, 'description': 'Format: "12hr" or "24hr".', 'options': ['12hr', '24hr']}, 'mode': {'name': 'mode', 'key': 'mode', 'type': str, 'editable': True, 'description': 'Display mode: "analog", "digital", or "both".', 'options': ['analog', 'digital', 'both']}, 'font_size': {'name': 'font size', 'key': 'font_size', 'type': int, 'editable': True, 'description': 'Font size for digital display and numbers.'}}
def __init__(self: Any, x: int, y: int, diameter: int = 100, font_name: Optional[str] = None, font_size: int = 16, use_real_time: bool = True, show_numbers: bool = True, time_style: Literal['12hr', '24hr'] = '24hr', mode: Literal['analog', 'digital', 'both'] = 'analog', pivot: Tuple[float, float] = (0, 0), theme: Optional[ThemeType] = None, element_id: Optional[str] = None) -> None
def _get_init_args(self: Any) -> Dict[str, Any]
def font(self: Any) -> pygame.font.Font
def small_font(self: Any) -> pygame.font.Font
def update_theme(self: Any, theme_type: ThemeType) -> None
def set_face_color(self: Any, color: Tuple[int, int, int]) -> None
def set_border_color(self: Any, color: Tuple[int, int, int]) -> None
def set_hand_colors(self: Any, hour: Tuple[int, int, int], minute: Tuple[int, int, int], second: Tuple[int, int, int]) -> None
def set_number_color(self: Any, color: Tuple[int, int, int]) -> None
def set_digital_text_color(self: Any, color: Tuple[int, int, int]) -> None
def set_time(self: Any, time_struct: time.struct_time) -> None
def set_time_from_string(self: Any, time_str: str, format_str: str = '%H:%M:%S') -> None
def get_time_string(self: Any) -> str
def update(self: Any, dt: float, inputState: InputState) -> None
def render(self: Any, renderer: Renderer) -> None
def _render_analog_clock(self: Any, renderer: Renderer, x: int, y: int) -> None
def _draw_clock_numbers(self: Any, renderer: Renderer, center_x: int, center_y: int, radius: int) -> None
def _draw_tick_marks(self: Any, renderer: Renderer, center_x: int, center_y: int, radius: int) -> None
def _draw_hand(self: Any, renderer: Renderer, center_x: int, center_y: int, angle: float, length: float, width: int, color: Tuple[int, int, int]) -> None
def _render_digital_clock(self: Any, renderer: Renderer, x: int, y: int) -> None