Re: blit_to_texture - pyglet.gl.lib.GLException: invalid operation
No worries Kevin. However, I'm coming to think that pyglet doesn't really have native support for svg files. I'm not completely familiar with the pyglet.image module, but at a quick glance I'm not seeing any registed decoders for this format. It may be necessary to use another module to convert to a raster format with another module first. On Tuesday, January 10, 2017 at 8:58:00 PM UTC+9, Kevin Cole wrote: > > Hi, > > Thanks for the quick reply. Sadly, I only have access to the Mac on > Mondays and Fridays. So, further testing will need to wait a few days. > (And next week is particularly silly because of both a Monday holiday > and a Friday coronation and protests of said coronation.) > > As a data point, the Macbook and software are both relatively new > (hardware = ~ 2 years old, software = Sierra 10.12.2 with no updates > pending). > -- You received this message because you are subscribed to the Google Groups "pyglet-users" group. To unsubscribe from this group and stop receiving emails from it, send an email to pyglet-users+unsubscr...@googlegroups.com. To post to this group, send email to pyglet-users@googlegroups.com. Visit this group at https://groups.google.com/group/pyglet-users. For more options, visit https://groups.google.com/d/optout.
Re: Traditional full screen support with Alt+Tab?
Ah, sorry, for some reason I read your post as "Alt+Enter". >From a quick look at the docs, it shows that the Window.set_exclusive_keyboard() mode will do what you want. http://pyglet.readthedocs.io/en/pyglet-1.2-maintenance/programming_guide/keyboard.html?highlight=set_exclusive_keyboard#keyboard-exclusivity On Thursday, January 12, 2017 at 7:36:37 AM UTC+9, Charles wrote: > > Hey Benjamin, ALT + ENTER does work, just ALT + TAB doesn't. I'm thinking > Windows switches out of the window pyglet gets a chance to see the > keypresses. > > On Monday, January 9, 2017 at 1:11:07 AM UTC-6, Benjamin Moran wrote: >> >> Pyglet doesn't capture any keypresses by default, but I usually just add >> the additional events like so: >> @window.event >> def on_key_press(key, mod): >> if key == pyglet.window.key.ENTER and mod == pyglet.window.key. >> MOD_ALT: >> .. >> .. >> >> if window.fullscreen is True: >> window.set_fullscreen(fullscreen=False) >> else: >> window.set_fullscreen(fullscreen=True) >> >> >> >> >> >> On Monday, January 9, 2017 at 8:18:53 AM UTC+9, Charles wrote: >>> >>> It's been a while since I have been able to program again, however I >>> just tried this and the alt tab combination is not actually registered by >>> pyglet (Windows 7). >>> >>> On Saturday, December 3, 2016 at 4:46:37 PM UTC-6, magu...@gmail.com >>> wrote: What you can do is capture the alt-tab keys and use window.set_fullscreen(False) to return to the desktops native resolution, then you could use window.minimize() to miminize it to the task bar or just leave it around. I've tried a few other approaches using window.on_activate() and window.on_deactivate() for when the window gains and looses focus, though I found the results were a little janky when it came to scaling properly, others may be able to get better results. As it stands in my current example when you tab back the window won't be in fullscreen mode, but a simple alt+enter solves that. Example: import pyglet from pyglet.window import key from pyglet.gl import * class example(pyglet.window.Window): def __init__(self): super(example, self).__init__(640, 480, resizable=False, fullscreen=True, caption="Test") self.clear() #fullscreen aspect ratio self.aspect = [self.width/640.0,self.height/480.0] pyglet.clock.get_fps() self.fps_display = pyglet.clock.ClockDisplay() pyglet.clock.schedule_interval(self.update, .01) def update(self,dt): #draw screen self.draw() def draw(self): self.clear() self.fps_display.draw() def on_key_press(self,symbol,modifiers): if symbol == key.ESCAPE: self.close() #fullscreen toggle if symbol == key.ENTER: if modifiers & key.MOD_ALT: #if fullscreen off, turn on and scale the screen if self.fullscreen == False: window.set_fullscreen(True) glScalef(window.width/640.0,window.height/480.0,1.0 )#2.25x, 1.875y self.aspect[0] = window.width/640.0 self.aspect[1] = window.height/480.0 print 'PONG',self.aspect #if its on, turn it off and un-scale the screen else: window.set_fullscreen(False) glScalef((window.width/640.0)/self.aspect[0],( window.height/480.0)/self.aspect[1],1.0) #tab out of fullsceen if symbol == key.TAB: if modifiers & key.MOD_ALT: if self.fullscreen == True: window.set_fullscreen(False) glScalef((window.width/640.0)/self.aspect[0],( window.height/480.0)/self.aspect[1],1.0) self.minimize() if __name__ == '__main__': window = example() pyglet.app.run() -- You received this message because you are subscribed to the Google Groups "pyglet-users" group. To unsubscribe from this group and stop receiving emails from it, send an email to pyglet-users+unsubscr...@googlegroups.com. To post to this group, send email to pyglet-users@googlegroups.com. Visit this group at https://groups.google.com/group/pyglet-users. For more options, visit https://groups.google.com/d/optout.
Re: Traditional full screen support with Alt+Tab?
Hey Benjamin, ALT + ENTER does work, just ALT + TAB doesn't. I'm thinking Windows switches out of the window pyglet gets a chance to see the keypresses. On Monday, January 9, 2017 at 1:11:07 AM UTC-6, Benjamin Moran wrote: > > Pyglet doesn't capture any keypresses by default, but I usually just add > the additional events like so: > @window.event > def on_key_press(key, mod): > if key == pyglet.window.key.ENTER and mod == pyglet.window.key.MOD_ALT > : > .. > .. > > if window.fullscreen is True: > window.set_fullscreen(fullscreen=False) > else: > window.set_fullscreen(fullscreen=True) > > > > > > On Monday, January 9, 2017 at 8:18:53 AM UTC+9, Charles wrote: >> >> It's been a while since I have been able to program again, however I just >> tried this and the alt tab combination is not actually registered by pyglet >> (Windows 7). >> >> On Saturday, December 3, 2016 at 4:46:37 PM UTC-6, magu...@gmail.com >> wrote: >>> >>> What you can do is capture the alt-tab keys and use >>> window.set_fullscreen(False) to return to the desktops native resolution, >>> then you could use window.minimize() to miminize it to the task bar or just >>> leave it around. I've tried a few other approaches using >>> window.on_activate() and window.on_deactivate() for when the window gains >>> and looses focus, though I found the results were a little janky when it >>> came to scaling properly, others may be able to get better results. As it >>> stands in my current example when you tab back the window won't be in >>> fullscreen mode, but a simple alt+enter solves that. Example: >>> >>> import pyglet >>> from pyglet.window import key >>> from pyglet.gl import * >>> >>> class example(pyglet.window.Window): >>> def __init__(self): >>> super(example, self).__init__(640, 480, resizable=False, >>> fullscreen=True, caption="Test") >>> self.clear() >>> >>> #fullscreen aspect ratio >>> self.aspect = [self.width/640.0,self.height/480.0] >>> >>> pyglet.clock.get_fps() >>> self.fps_display = pyglet.clock.ClockDisplay() >>> >>> pyglet.clock.schedule_interval(self.update, .01) >>> >>> >>> def update(self,dt): >>> #draw screen >>> self.draw() >>> >>> >>> def draw(self): >>> self.clear() >>> self.fps_display.draw() >>> >>> >>> def on_key_press(self,symbol,modifiers): >>> if symbol == key.ESCAPE: >>> self.close() >>> #fullscreen toggle >>> if symbol == key.ENTER: >>> if modifiers & key.MOD_ALT: >>> #if fullscreen off, turn on and scale the screen >>> if self.fullscreen == False: >>> window.set_fullscreen(True) >>> >>> glScalef(window.width/640.0,window.height/480.0,1.0)#2.25x, >>> 1.875y >>> self.aspect[0] = window.width/640.0 >>> self.aspect[1] = window.height/480.0 >>> print 'PONG',self.aspect >>> #if its on, turn it off and un-scale the screen >>> else: >>> window.set_fullscreen(False) >>> glScalef((window.width/640.0)/self.aspect[0],(window >>> .height/480.0)/self.aspect[1],1.0) >>> >>> #tab out of fullsceen >>> if symbol == key.TAB: >>> if modifiers & key.MOD_ALT: >>> if self.fullscreen == True: >>> window.set_fullscreen(False) >>> glScalef((window.width/640.0)/self.aspect[0],(window >>> .height/480.0)/self.aspect[1],1.0) >>> self.minimize() >>> >>> >>> if __name__ == '__main__': >>> window = example() >>> pyglet.app.run() >>> >>> >>> >>> -- You received this message because you are subscribed to the Google Groups "pyglet-users" group. To unsubscribe from this group and stop receiving emails from it, send an email to pyglet-users+unsubscr...@googlegroups.com. To post to this group, send email to pyglet-users@googlegroups.com. Visit this group at https://groups.google.com/group/pyglet-users. For more options, visit https://groups.google.com/d/optout.