Exemple #1
0
 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()
Exemple #3
0
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))
Exemple #4
0
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))
Exemple #5
0
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()
Exemple #6
0
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
Exemple #7
0
 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)
Exemple #8
0
 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)
Exemple #9
0
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
Exemple #10
0
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
Exemple #11
0
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()
Exemple #12
0
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)
Exemple #13
0
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 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)
Exemple #16
0
def main():
    global screen_width, screen_height
    screen_width, screen_height = screen_size = graphics.get_window().get_size(
    )
    while True:
        main_tick_wrapper()
Exemple #17
0
 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))
Exemple #18
0
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]))
Exemple #19
0
def init_screen():
    global screen, surface, overview_surface

    screen = graphics.get_window()
    surface = screen
Exemple #20
0
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]))
Exemple #21
0
def main():
    ui.screen_width, ui.screen_height = ui.screen_size = graphics.get_window().get_size()
    while True:
        main_tick_wrapper()
Exemple #22
0
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)
Exemple #23
0
def main():
    global screen_width, screen_height
    screen_width, screen_height = screen_size = graphics.get_window().get_size()
    while True:
        main_tick_wrapper()
Exemple #24
0
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