21 lines
582 B
Rust
21 lines
582 B
Rust
|
|
pub struct Canvas;
|
||
|
|
|
||
|
|
impl Canvas {
|
||
|
|
pub fn new() -> Self {
|
||
|
|
let element = document()
|
||
|
|
.create_element("canvas")
|
||
|
|
.map_err(|_| os_error!(OsError("Failed to create canvas element".to_owned())))?;
|
||
|
|
|
||
|
|
let canvas: CanvasElement = element
|
||
|
|
.try_into()
|
||
|
|
.map_err(|_| os_error!(OsError("Failed to create canvas element".to_owned())))?;
|
||
|
|
|
||
|
|
document()
|
||
|
|
.body()
|
||
|
|
.ok_or_else(|| os_error!(OsError("Failed to find body node".to_owned())))?
|
||
|
|
.append_child(&canvas);
|
||
|
|
|
||
|
|
Canvas(canvas)
|
||
|
|
}
|
||
|
|
}
|