cotis-raylib 0.1.0-alpha

Raylib-backed renderer for Cotis
Documentation
use cotis_utils::interactivity::keyboard::KeyboardKey;

/// Drain all unicode characters pressed this frame from raylib's input queue.
pub(crate) fn collect_pressed_chars() -> Vec<char> {
    let mut chars = Vec::new();
    loop {
        let code = unsafe { raylib::ffi::GetCharPressed() };
        if code <= 0 {
            break;
        }
        if let Some(c) = char::from_u32(code as u32) {
            chars.push(c);
        }
    }
    chars
}

pub(crate) fn into_raylib_key(key: KeyboardKey) -> raylib::prelude::KeyboardKey {
    match key {
        KeyboardKey::KeyNull => raylib::prelude::KeyboardKey::KEY_NULL,
        KeyboardKey::KeyApostrophe => raylib::prelude::KeyboardKey::KEY_APOSTROPHE,
        KeyboardKey::KeyComma => raylib::prelude::KeyboardKey::KEY_COMMA,
        KeyboardKey::KeyMinus => raylib::prelude::KeyboardKey::KEY_MINUS,
        KeyboardKey::KeyPeriod => raylib::prelude::KeyboardKey::KEY_PERIOD,
        KeyboardKey::KeySlash => raylib::prelude::KeyboardKey::KEY_SLASH,
        KeyboardKey::KeyZero => raylib::prelude::KeyboardKey::KEY_ZERO,
        KeyboardKey::KeyOne => raylib::prelude::KeyboardKey::KEY_ONE,
        KeyboardKey::KeyTwo => raylib::prelude::KeyboardKey::KEY_TWO,
        KeyboardKey::KeyThree => raylib::prelude::KeyboardKey::KEY_THREE,
        KeyboardKey::KeyFour => raylib::prelude::KeyboardKey::KEY_FOUR,
        KeyboardKey::KeyFive => raylib::prelude::KeyboardKey::KEY_FIVE,
        KeyboardKey::KeySix => raylib::prelude::KeyboardKey::KEY_SIX,
        KeyboardKey::KeySeven => raylib::prelude::KeyboardKey::KEY_SEVEN,
        KeyboardKey::KeyEight => raylib::prelude::KeyboardKey::KEY_EIGHT,
        KeyboardKey::KeyNine => raylib::prelude::KeyboardKey::KEY_NINE,
        KeyboardKey::KeySemicolon => raylib::prelude::KeyboardKey::KEY_SEMICOLON,
        KeyboardKey::KeyEqual => raylib::prelude::KeyboardKey::KEY_EQUAL,
        KeyboardKey::KeyA => raylib::prelude::KeyboardKey::KEY_A,
        KeyboardKey::KeyB => raylib::prelude::KeyboardKey::KEY_B,
        KeyboardKey::KeyC => raylib::prelude::KeyboardKey::KEY_C,
        KeyboardKey::KeyD => raylib::prelude::KeyboardKey::KEY_D,
        KeyboardKey::KeyE => raylib::prelude::KeyboardKey::KEY_E,
        KeyboardKey::KeyF => raylib::prelude::KeyboardKey::KEY_F,
        KeyboardKey::KeyG => raylib::prelude::KeyboardKey::KEY_G,
        KeyboardKey::KeyH => raylib::prelude::KeyboardKey::KEY_H,
        KeyboardKey::KeyI => raylib::prelude::KeyboardKey::KEY_I,
        KeyboardKey::KeyJ => raylib::prelude::KeyboardKey::KEY_J,
        KeyboardKey::KeyK => raylib::prelude::KeyboardKey::KEY_K,
        KeyboardKey::KeyL => raylib::prelude::KeyboardKey::KEY_L,
        KeyboardKey::KeyM => raylib::prelude::KeyboardKey::KEY_M,
        KeyboardKey::KeyN => raylib::prelude::KeyboardKey::KEY_N,
        KeyboardKey::KeyO => raylib::prelude::KeyboardKey::KEY_O,
        KeyboardKey::KeyP => raylib::prelude::KeyboardKey::KEY_P,
        KeyboardKey::KeyQ => raylib::prelude::KeyboardKey::KEY_Q,
        KeyboardKey::KeyR => raylib::prelude::KeyboardKey::KEY_R,
        KeyboardKey::KeyS => raylib::prelude::KeyboardKey::KEY_S,
        KeyboardKey::KeyT => raylib::prelude::KeyboardKey::KEY_T,
        KeyboardKey::KeyU => raylib::prelude::KeyboardKey::KEY_U,
        KeyboardKey::KeyV => raylib::prelude::KeyboardKey::KEY_V,
        KeyboardKey::KeyW => raylib::prelude::KeyboardKey::KEY_W,
        KeyboardKey::KeyX => raylib::prelude::KeyboardKey::KEY_X,
        KeyboardKey::KeyY => raylib::prelude::KeyboardKey::KEY_Y,
        KeyboardKey::KeyZ => raylib::prelude::KeyboardKey::KEY_Z,
        KeyboardKey::KeyLeftBracket => raylib::prelude::KeyboardKey::KEY_LEFT_BRACKET,
        KeyboardKey::KeyBackslash => raylib::prelude::KeyboardKey::KEY_BACKSLASH,
        KeyboardKey::KeyRightBracket => raylib::prelude::KeyboardKey::KEY_RIGHT_BRACKET,
        KeyboardKey::KeyGrave => raylib::prelude::KeyboardKey::KEY_GRAVE,
        KeyboardKey::KeySpace => raylib::prelude::KeyboardKey::KEY_SPACE,
        KeyboardKey::KeyEscape => raylib::prelude::KeyboardKey::KEY_ESCAPE,
        KeyboardKey::KeyEnter => raylib::prelude::KeyboardKey::KEY_ENTER,
        KeyboardKey::KeyTab => raylib::prelude::KeyboardKey::KEY_TAB,
        KeyboardKey::KeyBackspace => raylib::prelude::KeyboardKey::KEY_BACKSPACE,
        KeyboardKey::KeyInsert => raylib::prelude::KeyboardKey::KEY_INSERT,
        KeyboardKey::KeyDelete => raylib::prelude::KeyboardKey::KEY_DELETE,
        KeyboardKey::KeyRight => raylib::prelude::KeyboardKey::KEY_RIGHT,
        KeyboardKey::KeyLeft => raylib::prelude::KeyboardKey::KEY_LEFT,
        KeyboardKey::KeyDown => raylib::prelude::KeyboardKey::KEY_DOWN,
        KeyboardKey::KeyUp => raylib::prelude::KeyboardKey::KEY_UP,
        KeyboardKey::KeyPageUp => raylib::prelude::KeyboardKey::KEY_PAGE_UP,
        KeyboardKey::KeyPageDown => raylib::prelude::KeyboardKey::KEY_PAGE_DOWN,
        KeyboardKey::KeyHome => raylib::prelude::KeyboardKey::KEY_HOME,
        KeyboardKey::KeyEnd => raylib::prelude::KeyboardKey::KEY_END,
        KeyboardKey::KeyCapsLock => raylib::prelude::KeyboardKey::KEY_CAPS_LOCK,
        KeyboardKey::KeyScrollLock => raylib::prelude::KeyboardKey::KEY_SCROLL_LOCK,
        KeyboardKey::KeyNumLock => raylib::prelude::KeyboardKey::KEY_NUM_LOCK,
        KeyboardKey::KeyPrintScreen => raylib::prelude::KeyboardKey::KEY_PRINT_SCREEN,
        KeyboardKey::KeyPause => raylib::prelude::KeyboardKey::KEY_PAUSE,
        KeyboardKey::KeyF1 => raylib::prelude::KeyboardKey::KEY_F1,
        KeyboardKey::KeyF2 => raylib::prelude::KeyboardKey::KEY_F2,
        KeyboardKey::KeyF3 => raylib::prelude::KeyboardKey::KEY_F3,
        KeyboardKey::KeyF4 => raylib::prelude::KeyboardKey::KEY_F4,
        KeyboardKey::KeyF5 => raylib::prelude::KeyboardKey::KEY_F5,
        KeyboardKey::KeyF6 => raylib::prelude::KeyboardKey::KEY_F6,
        KeyboardKey::KeyF7 => raylib::prelude::KeyboardKey::KEY_F7,
        KeyboardKey::KeyF8 => raylib::prelude::KeyboardKey::KEY_F8,
        KeyboardKey::KeyF9 => raylib::prelude::KeyboardKey::KEY_F9,
        KeyboardKey::KeyF10 => raylib::prelude::KeyboardKey::KEY_F10,
        KeyboardKey::KeyF11 => raylib::prelude::KeyboardKey::KEY_F11,
        KeyboardKey::KeyF12 => raylib::prelude::KeyboardKey::KEY_F12,
        KeyboardKey::KeyLeftShift => raylib::prelude::KeyboardKey::KEY_LEFT_SHIFT,
        KeyboardKey::KeyLeftControl => raylib::prelude::KeyboardKey::KEY_LEFT_CONTROL,
        KeyboardKey::KeyLeftAlt => raylib::prelude::KeyboardKey::KEY_LEFT_ALT,
        KeyboardKey::KeyLeftSuper => raylib::prelude::KeyboardKey::KEY_LEFT_SUPER,
        KeyboardKey::KeyRightShift => raylib::prelude::KeyboardKey::KEY_RIGHT_SHIFT,
        KeyboardKey::KeyRightControl => raylib::prelude::KeyboardKey::KEY_RIGHT_CONTROL,
        KeyboardKey::KeyRightAlt => raylib::prelude::KeyboardKey::KEY_RIGHT_ALT,
        KeyboardKey::KeyRightSuper => raylib::prelude::KeyboardKey::KEY_RIGHT_SUPER,
        KeyboardKey::KeyKbMenu => raylib::prelude::KeyboardKey::KEY_KB_MENU,
        KeyboardKey::KeyKp0 => raylib::prelude::KeyboardKey::KEY_KP_0,
        KeyboardKey::KeyKp1 => raylib::prelude::KeyboardKey::KEY_KP_1,
        KeyboardKey::KeyKp2 => raylib::prelude::KeyboardKey::KEY_KP_2,
        KeyboardKey::KeyKp3 => raylib::prelude::KeyboardKey::KEY_KP_3,
        KeyboardKey::KeyKp4 => raylib::prelude::KeyboardKey::KEY_KP_4,
        KeyboardKey::KeyKp5 => raylib::prelude::KeyboardKey::KEY_KP_5,
        KeyboardKey::KeyKp6 => raylib::prelude::KeyboardKey::KEY_KP_6,
        KeyboardKey::KeyKp7 => raylib::prelude::KeyboardKey::KEY_KP_7,
        KeyboardKey::KeyKp8 => raylib::prelude::KeyboardKey::KEY_KP_8,
        KeyboardKey::KeyKp9 => raylib::prelude::KeyboardKey::KEY_KP_9,
        KeyboardKey::KeyKpDecimal => raylib::prelude::KeyboardKey::KEY_KP_DECIMAL,
        KeyboardKey::KeyKpDivide => raylib::prelude::KeyboardKey::KEY_KP_DIVIDE,
        KeyboardKey::KeyKpMultiply => raylib::prelude::KeyboardKey::KEY_KP_MULTIPLY,
        KeyboardKey::KeyKpSubtract => raylib::prelude::KeyboardKey::KEY_KP_SUBTRACT,
        KeyboardKey::KeyKpAdd => raylib::prelude::KeyboardKey::KEY_KP_ADD,
        KeyboardKey::KeyKpEnter => raylib::prelude::KeyboardKey::KEY_KP_ENTER,
        KeyboardKey::KeyKpEqual => raylib::prelude::KeyboardKey::KEY_KP_EQUAL,
        KeyboardKey::KeyBack => raylib::prelude::KeyboardKey::KEY_BACK,
        KeyboardKey::KeyMenu => raylib::prelude::KeyboardKey::KEY_MENU,
        KeyboardKey::KeyVolumeUp => raylib::prelude::KeyboardKey::KEY_VOLUME_UP,
        KeyboardKey::KeyVolumeDown => raylib::prelude::KeyboardKey::KEY_VOLUME_DOWN,
    }
}