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.
34 lines
1.1 KiB
34 lines
1.1 KiB
import sdl2 |
|
import sdl2.ext |
|
|
|
class SDL2Renderer: |
|
def __init__(self, width, height): |
|
sdl2.ext.init() |
|
self.window = sdl2.ext.Window("SDL2 2D Renderer", size=(width, height)) |
|
self.window.show() |
|
|
|
def render(self): |
|
running = True |
|
while running: |
|
events = sdl2.ext.get_events() |
|
for event in events: |
|
if event.type == sdl2.SDL_QUIT: |
|
running = False |
|
break |
|
|
|
# Draw your 2D graphics here using SDL2 functions |
|
|
|
renderer.color = sdl2.ext.Color(255, 255, 255) |
|
|
|
default_font = sdl2.ext.FontManager(font_path="arial.ttf", size=20, color=sdl2.ext.Color(255, 255, 255)) |
|
text_surface = default_font.render("Hello, World!", color=sdl2.ext.Color(255, 255, 255)) |
|
renderer.copy(text_surface, dstrect=(0, 0, text_surface.width, text_surface.height)) |
|
|
|
# Update the window |
|
self.window.refresh() |
|
|
|
sdl2.ext.quit() |
|
|
|
# Usage example |
|
renderer = SDL2Renderer(800, 600) |
|
renderer.render()
|
|
|