#![no_std]
extern crate alloc;
#[macro_use]
extern crate sys;
extern crate playdate_system as system;
use core::ptr::NonNull;
use sys::ffi::*;
use sys::EventLoopCtrl;
use system::System;
use system::update::UpdateCtrl;
#[no_mangle]
fn event_handler(_api: NonNull<PlaydateAPI>, _event: PDSystemEvent, _: u32) -> EventLoopCtrl {
println!("Init");
let system = System::Default();
system.set_update_callback_boxed(
|v| {
*v += 1;
println!("{v} / 100");
if *v == 100 {
println!("Stopping updates...");
system.set_update_callback_static(None, ());
println!("See you.");
}
UpdateCtrl::Continue
},
42,
);
EventLoopCtrl::Continue
}
ll_symbols!();