from pyray import * import pyray ConfigFlags(FLAG_MSAA_4X_HINT) #|FLAG_WINDOW_RESIZABLE ) #ConfigFlags(FLAG_WINDOW_RESIZABLE ) ConfigFlags(FLAG_WINDOW_HIGHDPI ) init_window(760, 450, "RAY-DMX")#,10,10,10,10) #pyray.TextureFilter(font10,1) import sys sys.path.insert(0,"/opt/LibreLight/Xdesk/") import tool.tk_elm as tk_elm img = "/opt/LibreLight/Xdesk/icon/scribble.png" IMG = load_image(img) print(set_window_icon(IMG)) import time import memcache mc = memcache.Client(['127.0.0.1:11211'], debug=0) #x=mc.get(k) old_x = -10 old_y = -10 start = time.time() frame_count = 0 fps_count = 0 #a = "resources/pixantiqua.ttf" #a = "/lib/firefox-esr/fonts/TwemojiMozilla.ttf" #a = "/lib/python3/dist-packages/pygame/freesansbold.ttf" #a = "/usr/share/fonts/truetype/freefont/FreeMono.ttf" #a = "/usr/share/fonts/truetype/freefont/FreeSerif.ttf" #a = "/usr/share/fonts/truetype/freefont/FreeMonoBold.ttf" a = "/usr/share/fonts/truetype/freefont/FreeSans.ttf" a = "/usr/share/fonts/truetype/freefont/FreeMonoBold.ttf" k=200 font10 = load_font_ex(a, 10, None, 0); font20 = load_font_ex(a, 20, None, 0); a = "/usr/share/fonts/truetype/freefont/FreeMono.ttf" font25 = load_font_ex(a, 25, None, 0); pyray.TextureFilter(3) grid_x = 250 grid_y = 60 while not window_should_close(): begin_drawing() clear_background(BLACK) Color(255,0,0,0) rl_enable_smooth_lines() if 10: btn = tk_elm.Button(None,pos=[390,12]) x=btn.btn1.name a = btn.pos draw_text(str(x), 5, a[0] , a[1], YELLOW)# VIOLET) x=btn.btn2.name draw_text(str(x), 5, a[0]+15, a[1], YELLOW)# VIOLET) x=btn.btn3.name draw_text(str(x), 5, a[0]+30, a[1], YELLOW)# VIOLET) x=btn.btn4.name font_size = 10 try: DATA=mc.get("index")#cmd) GREY = [122,122,122,255] p=0 keys = [] host_list = {} for k in DATA: #print(DATA[k]) keys.append(k) host_list[k] = DATA[k] #[0]).ljust(" ",18) #,0,"=",0] keys.sort() k=keys[2] for i,v in enumerate(range(20)): # COL NUMBER -> 1 2... 20 x2 = grid_x+i*25 y2 = grid_y-20 txt=str(i+1) draw_text_ex(font10,txt, [x2,y2], font_size, 0, [0,255,0,255]) #YELLOW) i+=1 xi=0 yi=0 DMX=mc.get(k) draw_text_ex(font25,"SRC:{}".format(k),[grid_x-20,5], 25, 0, VIOLET) for i,v in enumerate(DMX): #print(i,v) if v: host_list[k][-1] +=1 txt = str(i)+":"+str(v) txt = str(v) x2 = grid_x+xi*25 y2 = grid_y+yi*15 try: draw_rectangle(x2-2, y2-2,24,13,[255,255,255,int(v)]) except: draw_rectangle(x2-2, y2-2,24,13,[255,2,2,255]) try: int(v) except: v=0 if int(v) > 100: draw_text_ex(font10,txt, [x2,y2], font_size, 0, BLACK)# VIOLET) else: draw_text_ex(font10,txt, [x2,y2], font_size, 0, GREY)# VIOLET) xi+=1 if xi % 20 == 0: txt = str(int(yi*20)+1) draw_text_ex(font10,txt, [grid_x-30,y2], font_size, 0, YELLOW)# VIOLET) # ROEW NR xi = 0 yi += 1 txt = str(int(yi*20)+1) draw_text_ex(font10,txt, [grid_x-30,y2], font_size, 0, YELLOW)# VIOLET) # ROEW NR p=0 for k,v in host_list.items(): #for k in keys: # HOST LIST x2 = 10 y2 = grid_y+p txt =str(k)+" "+str(v).replace(" ","").replace("[","").replace("]","") draw_rectangle(x2-2, y2-2,200,18,[125,125,125,255]) draw_text_ex(font10,txt, [x2,y2], font_size, 0, BLACK) # YELLOW)# VIOLET) p+=20 w=200 h=50 x=200 y=200 draw_text_ex(font25,"FPS:{}".format(fps_count),[10,5], 25, 0, VIOLET) m=get_mouse_position() if m.x != old_x or m.y != old_y: old_x = m.x old_y = m.y print("POS:",m.x,m.y) draw_text_ex(font20,"POS:{}:{}".format(int(m.x),int(m.y)),[10,34], 20, 0, VIOLET) draw_rectangle(int(old_x-10),int(old_y-1),20,2,[255,0,255,255]) draw_rectangle(int(old_x-1),int(old_y-10),2,20,[255,0,255,255]) end_drawing() time.sleep(1/10) frame_count += 1 if time.time()-start > 1: start = time.time() fps_count = frame_count frame_count = 0 except KeyboardInterrupt as e: raise e except Exception as e:# KeyInterupt print("err",e) time.sleep(1) close_window()