dragonpilot - 基於 openpilot 的開源駕駛輔助系統
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

41 lines
1.2 KiB

5 years ago
import sys
import pygame
from pygame.locals import *
class Window():
def __init__(self, w, h, caption="window", double=False):
self.w = w
self.h = h
pygame.init()
pygame.display.set_caption(caption)
self.double = double
if self.double:
self.screen = pygame.display.set_mode((w*2,h*2), pygame.DOUBLEBUF)
else:
self.screen = pygame.display.set_mode((w,h), pygame.DOUBLEBUF)
self.camera_surface = pygame.surface.Surface((w,h), 0, 24).convert()
def draw(self, out):
pygame.surfarray.blit_array(self.camera_surface, out.swapaxes(0,1))
if self.double:
camera_surface_2x = pygame.transform.scale2x(self.camera_surface)
self.screen.blit(camera_surface_2x, (0, 0))
else:
self.screen.blit(self.camera_surface, (0, 0))
pygame.display.flip()
def getkey(self):
while 1:
event = pygame.event.wait()
if event.type == QUIT:
pygame.quit()
sys.exit()
if event.type == KEYDOWN:
return event.key
def getclick(self):
for event in pygame.event.get():
if event.type == pygame.MOUSEBUTTONDOWN:
mx, my = pygame.mouse.get_pos()
return mx, my