def add(self, label, callback, color=(0, 0, 0), button_class=Button): screen_width = graphics.get_window().get_width() self.items.append( button_class(label, callback, self.font, color=color, force_width=0.5 * screen_width))
def main_draw(): surf = graphics.get_window() fill(surf, (0,0)) screen.draw(surf, (0, 0)) for overlay in overlays: overlay.draw(surf, overlay.pos) graphics.flip()
def set_logical_size(): good_dpi = 250 dev_dpi = osutil.get_dpi() print 'device dpi', dev_dpi if dev_dpi > 0 and dev_dpi > good_dpi: w, h = graphics.get_window().get_size() SCALE = float(good_dpi) / dev_dpi print 'scale factor', SCALE graphics.set_logical_size(int(w * SCALE), int(h * SCALE))
def main_draw(): surf = graphics.get_window() fill(surf, (0, 0)) screen.draw(surf, (0, 0)) for overlay in overlays: overlay.draw(surf, overlay.pos) graphics.flip()
def write_image(data): import Image mode = 'RGBA' image = Image.frombuffer(mode, graphics.get_window().get_size(), data, 'raw', mode, 0, 1) output = StringIO.StringIO() image.save(output, format='png') content = output.getvalue() output.close() return content
def load_background(self): img = ui.load_image('userdata/intro.jpg') img_size = img.get_size() surf_size = graphics.get_window().get_size() new_height = float(surf_size[0]) / img_size[0] * img_size[1] if new_height < surf_size[1]: new_height = surf_size[1] self.background_margin_top = (new_height - surf_size[1]) / -2.5 self.background = img self.background_size = surf_size[0], int(new_height)
def load_background(self): img = ui.load_image('data/user/intro.jpg') img_size = img.get_size() surf_size = graphics.get_window().get_size() new_height = float(surf_size[0]) / img_size[0] * img_size[1] if new_height < surf_size[1]: new_height = surf_size[1] self.background_margin_top = (new_height - surf_size[1]) / -2.5 self.background = img self.background_size = surf_size[0], int(new_height)
def init_screen(): global screen, surface, overview_surface if osutil.is_desktop: # on Android android.pyx takes care of init graphics.init() graphics.create_window((1280, 800)) screen = graphics.get_window() surface = screen
def main_draw(): last_draw.capture() surf = graphics.get_window() fill(surf, (0,0)) _screen.update_layout() _screen.draw(surf, (0, 0)) for overlay in overlays: overlay.draw(surf, overlay.pos) draw_hooks.execute_and_clear() graphics.flip()
def run(): ui.set_fill_image(None) start = time.time() data = graphics.read_window_data() compressed = write_image(data, graphics.get_window().get_size()) stats = { 'size': len(compressed), 'time': int((time.time() - start) * 1000) } data = [] screen_id = id(ui.get_screen()) data.append({ 'type': 'frame', 'data': _cached_image(screen_id, compressed), 'id': screen_id, 'back': id(ui.history[0]) if ui.history else None, 'allow_animation': ui.get_allow_animation(), 'pos': [0, 0] }) data += _messages _messages[:] = [] def proc_layer(id, surf, pos, offset, size): if surf and (surf.get_width() == 0 or surf.get_height() == 0): surf = None image_data = get_texture_data(surf) if surf else None data.append({ 'type': 'layer', 'layerid': id, 'data': _cached_image(id, image_data), 'pos': pos, 'offset': offset, 'size': size, }) for layer in layers: proc_layer(**layer) os.write(features.get('stream.fd'), json.dumps(data) + '\n') layers[:] = [] ui.draw_hooks.add(run)
def run(): ui.set_fill_image(None) start = time.time() data = graphics.read_window_data() compressed = write_image(data, graphics.get_window().get_size()) stats = {'size': len(compressed), 'time': int((time.time() - start) * 1000)} data = [] screen_id = id(ui.get_screen()) data.append({ 'type': 'frame', 'data': _cached_image(screen_id, compressed), 'id': screen_id, 'back': id(ui.history[0]) if ui.history else None, 'allow_animation': ui.get_allow_animation(), 'pos': [0, 0]}) data += _messages _messages[:] = [] def proc_layer(id, surf, pos, offset, size): if surf and (surf.get_width() == 0 or surf.get_height() == 0): surf = None image_data = get_texture_data(surf) if surf else None data.append({ 'type': 'layer', 'layerid': id, 'data': _cached_image(id, image_data), 'pos': pos, 'offset': offset, 'size': size, }) for layer in layers: proc_layer(**layer) os.write(features.get('stream.fd'), json.dumps(data) + '\n') layers[:] = [] ui.draw_hooks.add(run)
def do_draw(self, surf, pos, offset, clip, full_texture=None): if surf == graphics.get_window() and ui.layer_hooks.is_bound(): if full_texture: tex = full_texture else: tex = graphics.create_surface(*self.get_content_size()) self.draw_content(tex, (0, 0)) ui.layer_hooks.execute(id=id(self), surf=tex, pos=pos, offset=offset, size=clip) # not only for decorative purposes - also somehow causes SDL to return right renderer data surf.draw_rect((255, 255, 0, 0), pos + clip, blend=graphics.MODE_NONE) else: if full_texture: surf.blit(full_texture, dest=pos, src=offset + clip) else: cliptex = graphics.create_surface(*clip) x, y = offset self.draw_content(cliptex, (-x, -y)) surf.blit(cliptex, pos)
def main(): global screen_width, screen_height screen_width, screen_height = screen_size = graphics.get_window().get_size( ) while True: main_tick_wrapper()
def add(self, label, callback, color=(0, 0, 0), button_class=Button): screen_width = graphics.get_window().get_width() self.items.append(button_class(label, callback, self.font, color=color, force_width=0.5*screen_width))
def fill(surf, rect, screen=None): surf.fill((200, 200, 200, 255)) if _fill_image: size = graphics.get_window().get_size() surf.blit(_fill_image, dest=(rect[0], rect[1], size[0], size[1]))
def init_screen(): global screen, surface, overview_surface screen = graphics.get_window() surface = screen
def main(): ui.screen_width, ui.screen_height = ui.screen_size = graphics.get_window().get_size() while True: main_tick_wrapper()
def fill(surf, rect, screen=None): if _fill_image: size = graphics.get_window().get_size() surf.blit(_fill_image, dest=(rect[0], rect[1], size[0], size[1])) else: surf.fill((255, 255, 255, 0), blend=graphics.MODE_NONE)
def main(): global screen_width, screen_height screen_width, screen_height = screen_size = graphics.get_window().get_size() while True: main_tick_wrapper()
import pyglet from menu.window_manager import WindowManager from network_utils.clientclass import Client from graphics import get_window from player.options import Options import pygletreactor pygletreactor.install() from twisted.internet import reactor # pyglet.options'[debug_gl'] = False window = get_window(Options()) window.set_exclusive_mouse(True) window_manager = WindowManager(window) # load and init different modules fps = pyglet.clock.ClockDisplay() fps_limit = 120. client = Client() window_manager.connect = client.start_connection window_manager.disconnect = client.disconnect window_manager.register(client.get_input, ('input', 'other')) client.register(window_manager.receive_events, ('serverdata', 'on_connect')) def update(dt): window_manager.update(dt) client.update(dt) pyglet.clock.schedule(update) @window.event # draw