///|
pub struct Window {
base : @lib.SDL_Window
mut renderer : Renderer?
}
///|
fn Window::inner(self : Window) -> @lib.SDL_Window {
self.base
}
///|
/// Create a new renderer for the window.
///
/// It returns a new `Renderer` instance.
pub fn Window::createRenderer(self : Window) -> Renderer raise {
let renderer = @lib.sdl_CreateRenderer(self.inner(), "")
if renderer.is_null() {
raise CreateWindowError("Failed to create SDL renderer")
}
let (r, g, b, a) : (Byte, Byte, Byte, Byte) = (0, 0, 0, 255)
let renderer = Renderer::{ base: renderer, r, g, b, a }
self.renderer = Some(renderer)
renderer
}
///|
/// Get the renderer for the window.
///
/// It returns a `Renderer` instance if it exists, otherwise `None`.
pub fn Window::getRenderer(self : Window) -> Renderer? {
self.renderer
}