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
SoundOptions
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§

compress_assets
Manually compresses GPU assets to reclaim memory.
cursor_position
fade_in_sound
fade_out_sound
get_input
get_registered_font
ime_preedit
is_sound_playing
key_down
key_pressed
key_released
mouse_button_down
mouse_button_pressed
mouse_button_pressed_position
mouse_button_released
pause_sound
play_sine
play_sound
play_sound_simple
register_font
register_image_shader
register_sound
resume_sound
run
Runs the application with the specified Spot type.
set_sound_volume
set_text_input_enabled
stop_sound
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
unregister_font
unregister_sound
window_size