Skip to main content

Crate spottedcat

Crate spottedcat 

Source
Expand description

Spot - A simple 2D graphics library for drawing images.

§Example

use spottedcat::{Context, Spot, Image, DrawOption, switch_scene};

struct MyApp {
    image: Image,
}

impl Spot for MyApp {
    fn initialize(_context: &mut Context) -> Self {
        let rgba = vec![255u8; 256 * 256 * 4];
        let image = Image::new_from_rgba8(256u32.into(), 256u32.into(), &rgba).unwrap();
        Self { image }
    }

    fn draw(&mut self, context: &mut Context) {
        let opts = DrawOption::default()
            .with_position([spottedcat::Pt::from(100.0), spottedcat::Pt::from(100.0)])
            .with_scale([0.78125, 0.78125]);
        self.image.draw(context, opts);
    }

    fn update(&mut self, _context: &mut Context, _dt: std::time::Duration) {}
    fn remove(&self) {}
}

fn main() {
    spottedcat::run::<MyApp>(spottedcat::WindowConfig::default());
}

// Scene switching example:
// switch_scene::<NewScene>();  // Switches to NewScene

Structs§

Bounds
Rectangle bounds for defining sub-regions of images.
Context
Drawing context for managing render commands.
DrawOption
Unified options for drawing images and text.
Image
Handle to an image resource.
InputManager
Pt
ShaderOpts
Text
Text handle for drawing text to the screen.
TouchInfo
WindowConfig

Enums§

Key
MouseButton
TouchPhase

Traits§

Spot
Main application trait that must be implemented by your application.

Functions§

cursor_position
get_input
get_registered_font
ime_preedit
key_down
key_pressed
key_released
load_font_from_bytes
load_font_from_file
mouse_button_down
mouse_button_pressed
mouse_button_pressed_position
mouse_button_released
register_font
register_image_shader
run
Runs the application with the specified Spot type.
set_text_input_enabled
switch_scene
Switches to a new scene of the specified type.
switch_scene_with
Switches to a new scene and provides a payload for the next scene to read.
text_input
text_input_enabled
touch_down
touches
window_size