type Audiotype CanvasBackendimpl Backend for CanvasBackendfn build(self : CanvasBackend, initialize : () -> Unit, game_loop : () -> Unit, canvas_width : Double, canvas_height : Double, fps : UInt) -> (() -> Unit)fn draw_picture(self : CanvasBackend, png : String, x~ : Double, y~ : Double, width~ : Double, height~ : Double, transform~ : Transform, repeat~ : Bool) -> Unitfn draw_sprite(self : CanvasBackend, sprite_path : String, x~ : Double, y~ : Double, offset_x~ : Double, offset_y~ : Double, width~ : Double, height~ : Double, transform~ : Transform) -> Unitfn draw_stroke_rect(self : CanvasBackend, x~ : Double, y~ : Double, width~ : Double, height~ : Double, color~ : String) -> Unitfn draw_text(self : CanvasBackend, text : String, x~ : Double, y~ : Double, font~ : String, color~ : String) -> Unit