def __init__(self, RESOURCE_DIR): WorldObject.init(RESOURCE_DIR) self.RESOURCES = sdl2.ext.Resources(RESOURCE_DIR) sdl2.ext.init() self.window = sdl2.ext.Window("Py-craft", size=(self.WIDTH, self.HEIGHT)) self.window.show() self.p_surface = self.window.get_surface() self.c_surface = video.SDL_GetWindowSurface(self.window.window) UiHelper.font_manager = self.font_manager = sdl2.ext.FontManager( self.RESOURCES.get_path('helvetica-neue-bold.ttf')) UiHelper.sprite_factory = self.sprite_factory =\ sdl2.ext.SpriteFactory(sdl2.ext.SOFTWARE) UiHelper.BLOCK_SIZE = self.BLOCK_SIZE self.offset = Coord(0, 0) # offset in world coordinates self.world = WorldGenerator.generate_world(None, (100, 100)) self.dirty = True UiHelper.texture_map = {} sprite = self.sprite_factory.from_image( self.RESOURCES.get_path('player.png')) self.player = Player(self.world, sprite) self.init() self.world.tick() self.loop()
def test_SDL_GetWindowSurface(self): flags = (video.SDL_WINDOW_BORDERLESS, video.SDL_WINDOW_BORDERLESS | video.SDL_WINDOW_HIDDEN, video.SDL_WINDOW_RESIZABLE | video.SDL_WINDOW_MINIMIZED) for flag in flags: window = video.SDL_CreateWindow(b"Test", 200, 200, 200, 200, flag) sf = video.SDL_GetWindowSurface(window) assert isinstance(sf.contents, surface.SDL_Surface) video.SDL_DestroyWindow(window)
def test_SDL_UpdateWindowSurfaceRects(self): rectlist = (rect.SDL_Rect * 4)(rect.SDL_Rect(), rect.SDL_Rect(10, 10, 10, 10), rect.SDL_Rect(0, 0, 5, 4), rect.SDL_Rect(-5, -5, 6, 2)) rptr = cast(rectlist, POINTER(rect.SDL_Rect)) flags = (video.SDL_WINDOW_BORDERLESS, video.SDL_WINDOW_BORDERLESS | video.SDL_WINDOW_HIDDEN, video.SDL_WINDOW_RESIZABLE | video.SDL_WINDOW_MINIMIZED) for flag in flags: window = video.SDL_CreateWindow(b"Test", 200, 200, 200, 200, flag) # self.assertRaises(sdl.SDLError, # video.SDL_UpdateWindowSurfaceRects, # window, rectlist) sf = surface.SDL_Surface() video.SDL_GetWindowSurface(window, byref(sf)) ret = video.SDL_UpdateWindowSurfaceRects(window, rptr, 4) assert ret == 0 video.SDL_DestroyWindow(window)