from os import environ
environ['PYGAME_HIDE_SUPPORT_PROMPT'] = '1'
import pygame
from pygame.locals import *
import cv2
import client_lib as lib
import client_elements as elements
import math
import time
import threading
import logging

uitest_enabled = 1
global running
elements = list()

class Element:
    def __init__(self, name, desc):
        self.name = name
        self.desc = desc
        
    def action(self):
        print("default element action")
        print(f"name: {self.name}")
        print(f"desc: {self.desc}")

        

def data_proc():
    global running
    pass

def input_proc():
    global running
    while running:
        for event in pygame.event.get():
            if event.type == pygame.QUIT:
                running = False
            if event.type == pygame.MOUSEMOTION:
                loggin.info("鼠标: ", event.pos[0] - mousepos[0], event.pos[1] - mousepos[1])
                mousepos = event.pos
    pass

def main():
    colors = {"main":"white", "remote":"green", "warn":"red"}
    fonts = {"medium":pygame.font.Font('src/font.ttf', 20), "big":pygame.font.Font('src/font.ttf', 40), "huge":pygame.font.Font('src/font.ttf', 60), "small":pygame.font.Font('src/font.ttf', 16), "tiny":pygame.font.Font('src/font.ttf', 12)}
    height = 1080
    width = int(height / 9 * 16)
    pygame.init()
    pygame.display.set_caption(f"Commodore 远程终端")
    screen = pygame.display.set_mode((width, height), RESIZABLE)
    icon = pygame.image.load("src/icon.ico").convert_alpha()
    pygame.display.set_icon(icon)
    global running
    running = True
    pygame.mouse.set_visible(False)
    pygame.mouse.set_pos([width / 2, height / 2])
    mousepos = (width / 2, height / 2)
    input_thr = threading.Thread(target=input_proc, name='InputProcess')
    input_thr.start()
    data_thr = threading.Thread(target=data_proc, name='DataProcess')
    data_thr.start()
    
    
    
if __name__ == "__main__":
    logging.basicConfig(level=logging.INFO, format='%(asctime)s - %(levelname)s - %(message)s')
    if uitest_enabled == 0:
        pass # load data