123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119 |
- # ===== GUI =========
- import pygame
- import pygame.gfxdraw
- import pygame.font
- import os
- os.environ['SDL_VIDEO_WINDOW_POS'] = '%i,%i' % (200,164)
- os.environ['SDL_VIDEO_CENTERED'] = '0'
- pg = pygame
- pygame.init()
- pygame.mixer.quit()
- f = pygame.font.get_fonts()
- for i in f:
- if "mono" in i.lower():
- print(i)
-
- font = pygame.font.SysFont("freemonobold",22)
- font10 = pygame.font.SysFont("freemonobold",10)
- font12 = pygame.font.SysFont("freemonobold",12)
- font15 = pygame.font.SysFont("freemonobold",15)
- #font = pygame.font.SysFont(None,30)
- fr = font.render("hallo" ,1, (200,0,255))
- main_size= [400,400]
- window = pygame.display.set_mode(main_size,pg.RESIZABLE)#,32)#,pygame.FULLSCREEN) #x left->right ,y top-> bottom
- pg.display.set_caption('LibreLight LED-SCREEN')
- mouse = {"pos":(0,0)}
- def pointer():#xxxevent=None):
- global mouse
- event = mouse # = None
- if not event:
- return
- if "pos" in event:#:.dict:
- print("pointer",event)
- rgb = [0,0,200,200]
- x = event["pos"][0]
- y = event["pos"][1]
- p = 100
-
- print(window,rgb,event["pos"])
- pygame.draw.rect(window,rgb,(x-5,y-5,10,10))
- #pygame.draw.line(window,self.rgb, (self.pos[0],self.pos[1]) , (self.pos[0]+100,self.pos[1]) )
- # mouse grid posision
- fr = font15.render("{}/{}".format(x,y) ,1, (200,200,200))
- window.blit(fr,(200,25))
- # crosshair
- pygame.draw.line(window,rgb, (x-p,y) , (x-2,y) )
- pygame.draw.line(window,rgb, (x,y-p) , (x,y-2) )
- rgb = [0,200,0]
- pygame.draw.line(window,rgb, (x+2,y) , (x+p,y) )
- pygame.draw.line(window,rgb, (x,y+2) , (x,y+p) )
- def draw_circle(surface,color, pos, radius):
- x,y=pos
- pygame.gfxdraw.aacircle(surface, int(x), int(y), radius-1, color)
- pygame.gfxdraw.filled_circle(surface, int(x), int(y), radius-1, color)
- def grab(x=55,y=55,w=60,h=60):
- # usage
- # sub = grab()
- # window.blit(sub, (500,10))
- rect = pygame.Rect(x, y, w, h)
- sub = window.subsurface(rect)
- #pixArray = pygame.PixelArray(screen)
- crop = pygame.Surface((w,h))
- crop.blit(sub, (0,0))
- return crop
- def event():
- #global NR,running
- global mouse
- for event in pygame.event.get():
- print(event.dict)
- if "pos" in event.dict:
- mouse = event.dict
- i = 0
- while 1:
- event()
- window.fill((20,20,20))
- pygame.draw.rect(window,[100,0,0,127],[10,10,10,10])
- fr = font15.render("{:02}".format(i) ,1, (100,100,255,255))
- window.blit(fr,(40,30))
-
- rgb = [255,255,255]
- pygame.draw.line(window,rgb, (0,255) , (400,255) )
- pointer() #event)
- sub = grab(x=0,y=0)
- window.blit(sub, (200,10))
- pygame.display.flip()
- pg.time.wait(30)
- pygame.display.flip()
- i += 1
|