def __init__( self, dimensions ): Screen.__init__( self, dimensions ) title = pygame.image.load("images/title.gif") title = title.convert_alpha() self.background.blit( title, (0,0)) self.screen.blit( self.background, (0,0))
def __init__( self, dimensions, brickZoneDetails ): Screen.__init__( self, dimensions ) self.brickZone = brickZoneDetails[0] self.brickZoneDimensions = brickZoneDetails[1] brick_len_x = self.brickZone[X][MAX] - self.brickZone[X][MIN] brick_len_y = self.brickZone[Y][MAX] - self.brickZone[Y][MIN] pygame.draw.rect( self.background, pygame.Color("grey"), (self.brickZone[X][MIN],self.brickZone[Y][MIN], brick_len_x, brick_len_y), 0 ) #self.recLines( bzone_length_y/2, bzone_length_y/2, Y ) #self.recLines( bzone_length_x/2, bzone_length_x/2, X ) self.recVert() self.recHor() pygame.draw.rect( self.background, pygame.Color("green"), (0,0,dimensions[X], SCORE_BUFFER), 0 ) self.screen.blit( self.background, (0,0))
def test(self, img, win): ''' Asegurarnos de que hemos entrado a un contexto comprobando mediante una imagen en pantalla y el nombre de la ventana activa. Toma dos cadenas con el nombre de la ventana y de la imagen que esperamos. Devuelve True si el testeo es correcto y False si no''' from core import Window, Screen im_name = Screen().where(img) win_name = Window().active_name() if img == im_name and win == win_name: return True else: return False
def abrir_chromium(exp=30, url='https://www.google.es', test_img='google/google', test_win='Google - Chromium'): ''' Abrimos Chromium con un testeo de ventana y otro por imagen ''' from shlex import split import threading as t from core import Window, Screen from medium_level import Chromium from timeout import timeout from xdo import xdo from time import sleep #xdo.xdo.XdoException: Function xdo_get_active_window returned error code 1 def op(): # Este será el demonio, se terminará cuando nos hayamos # asegurado de que chromium está abierto con la otra función Chromium().start(url=url) @timeout(exp) def test_if_open(): # Abrimos la ventana y comprobamos si se ha abierto el error del perfil Window().while_active_not_name(test_win, 'Se ha producido un error del perfil') ventana = Window().while_active_not_name( test_win, 'Se ha producido un error del perfil') if ventana == 'Se ha producido un error del perfil': Window().close_active() op = t.Thread(target=op, daemon=True, name='Abrir Chromium') test = t.Thread(target=test_if_open, name='Test Abrir Chromium') try: op.start() test.start() ''' Comprobamos si están abiertos los hilos ''' alive = True while alive == True: alive = test.is_alive() Window().maximize() except timeout.TimeoutError: print( 'El tiempo de abertura de Chromium ha sido superior a %s segundos' % exp) except xdo.XdoException: print( 'Excepción en la biblioteca Xdo: Function xdo_get_active_window returned error code 1' ) Window().maximize() if test_img: Screen().while_not_found(test_img)
def __init__( self, dimensions ): Screen.__init__( self, dimensions ) pygame.draw.rect( self.background, pygame.Color("yellow"), (0,0,dimensions[X], SCORE_BUFFER), 0 ) self.screen.blit( self.background, (0,0)) self.wait = True
def get_screen_of_display(display, count): """Returns the screen of the given display""" dpy = get_display(display) return Screen(dpy, count)
def get_current_screen(): """Returns the currently used screen""" dpy = get_current_display() if not dpy: return None screen = Screen(dpy) return screen
def get_current_screen(): """Returns the currently used screen""" screen = Screen(get_current_display()) return screen