added all Sprite functions

This commit is contained in:
ZennCode 2023-08-10 13:17:18 +02:00
parent 2287869945
commit 251491e4e6
4 changed files with 57 additions and 5 deletions

View file

@ -4,6 +4,22 @@ use core::ffi::{c_int, c_uchar};
extern "C" {
#[link_name = "arduino_draw_override"]
fn arduino_draw_override_raw(x: c_int, y: c_int, bitmap: *const c_uchar, frame: c_uchar);
#[link_name = "arduino_draw_external_mask"]
fn arduino_draw_external_mask_raw(
x: c_int,
y: c_int,
bitmap: *const c_uchar,
mask: *const c_uchar,
frame: c_uchar,
mask_frame: c_uchar,
);
#[link_name = "arduino_draw_plus_mask"]
fn arduino_draw_plus_mask_raw(x: c_int, y: c_int, bitmap: *const c_uchar, frame: c_uchar);
#[link_name = "arduino_draw_erase"]
fn arduino_draw_erase_raw(x: c_int, y: c_int, bitmap: *const c_uchar, frame: c_uchar);
#[link_name = "arduino_draw_self_masked"]
fn arduino_draw_self_masked_raw(x: c_int, y: c_int, bitmap: *const c_uchar, frame: c_uchar);
}
/// Draw a sprite by replacing the existing content completely.
///
@ -36,3 +52,22 @@ extern "C" {
pub fn draw_override(x: i16, y: i16, bitmap: *const u8, frame: u8) {
unsafe { arduino_draw_override_raw(x, y, bitmap, frame) }
}
pub fn draw_external_mask(
x: i16,
y: i16,
bitmap: *const u8,
mask: *const u8,
frame: u8,
mask_frame: u8,
) {
unsafe { arduino_draw_external_mask_raw(x, y, bitmap, mask, frame, mask_frame) }
}
pub fn draw_plus_mask(x: i16, y: i16, bitmap: *const u8, frame: u8) {
unsafe { arduino_draw_plus_mask_raw(x, y, bitmap, frame) }
}
pub fn draw_erase(x: i16, y: i16, bitmap: *const u8, frame: u8) {
unsafe { arduino_draw_erase_raw(x, y, bitmap, frame) }
}
pub fn draw_self_masked(x: i16, y: i16, bitmap: *const u8, frame: u8) {
unsafe { arduino_draw_self_masked_raw(x, y, bitmap, frame) }
}