Choose correct driver to render to the framebuffer
https://learn.adafruit.com/pi-video-output-using-pygame/pointing-pygame-to-the-framebuffermaster
parent
73393de3a8
commit
c8207afa5f
|
@ -1,6 +1,6 @@
|
||||||
#!/usr/bin/env python
|
#!/usr/bin/env python
|
||||||
|
|
||||||
import sys, pygame
|
import os, sys, pygame
|
||||||
|
|
||||||
class Button:
|
class Button:
|
||||||
def __init__(self, size, topleft):
|
def __init__(self, size, topleft):
|
||||||
|
@ -46,17 +46,12 @@ class Photoboite:
|
||||||
i = 0
|
i = 0
|
||||||
|
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
pygame.init()
|
self.screen = self.screen()
|
||||||
|
pygame.font.init()
|
||||||
|
|
||||||
self.size = 820, 540
|
|
||||||
infos = pygame.display.Info()
|
|
||||||
# self.size = infos.current_w, infos.current_h
|
|
||||||
self.size = 1280, 768
|
|
||||||
self.background = 255, 255, 255
|
self.background = 255, 255, 255
|
||||||
self.buttons = []
|
self.buttons = []
|
||||||
|
|
||||||
self.screen = pygame.display.set_mode(self.size)
|
|
||||||
|
|
||||||
button_size = int(self.screen.get_width() / 4)
|
button_size = int(self.screen.get_width() / 4)
|
||||||
topleft = self.screen.get_width() - button_size - 20, self.screen.get_height() / 4 - button_size / 2
|
topleft = self.screen.get_width() - button_size - 20, self.screen.get_height() / 4 - button_size / 2
|
||||||
|
|
||||||
|
@ -68,6 +63,30 @@ class Photoboite:
|
||||||
self.font = pygame.font.Font(None, 80)
|
self.font = pygame.font.Font(None, 80)
|
||||||
|
|
||||||
|
|
||||||
|
def screen(self):
|
||||||
|
if os.getenv('DISPLAY'):
|
||||||
|
pygame.display.init()
|
||||||
|
return pygame.display.set_mode((1280, 768))
|
||||||
|
else:
|
||||||
|
drivers = ['directfb', 'fbcon', 'svgalib']
|
||||||
|
found = False
|
||||||
|
for driver in drivers:
|
||||||
|
if not os.getenv('SDL_VIDEODRIVER'):
|
||||||
|
os.putenv('SDL_VIDEODRIVER', driver)
|
||||||
|
try:
|
||||||
|
pygame.display.init()
|
||||||
|
except pygame.error as e:
|
||||||
|
print('Driver: {0} failed.'.format(driver))
|
||||||
|
continue
|
||||||
|
found = True
|
||||||
|
break
|
||||||
|
|
||||||
|
if not found:
|
||||||
|
raise Exception('No suitable video driver found!')
|
||||||
|
|
||||||
|
return pygame.display.set_mode()
|
||||||
|
|
||||||
|
|
||||||
def run(self):
|
def run(self):
|
||||||
pressed = False
|
pressed = False
|
||||||
while True:
|
while True:
|
||||||
|
|
Loading…
Reference in New Issue