mod instance;
mod sprite;
mod vectors;
pub use instance::Instance;
pub use sdl3;
pub use sdl3::event::Event;
pub use sdl3::event::EventPollIterator;
pub use sdl3::image::LoadTexture;
pub use sdl3::keyboard::Keycode;
pub use sdl3::pixels::Color;
pub use sdl3::rect::Rect;
pub use sdl3::render;
pub use sdl3::render::ScaleMode;
pub use sdl3::render::TextureQuery;
pub use sdl3::ttf;
pub use sdl3::video;
pub use sprite::Sprite;
pub use vectors::Vec2d;
pub fn create_text_texture<'a>(
font: &ttf::Font,
text: &str,
color: &Color,
texture_creator: &'a render::TextureCreator<video::WindowContext>,
) -> Result<render::Texture<'a>, String> {
let surface = match font.render(text).blended(*color) {
Ok(surface) => surface,
Err(e) => return Err(format!("Failed to create surface for text texture: {}", e)),
};
let texture = texture_creator
.create_texture_from_surface(&surface)
.map_err(|e| format!("Failed to create text texture from surface: {}", e))?;
Ok(texture)
}