mirror of
https://github.com/gpxstudio/gpx.studio.git
synced 2026-10-04 21:04:08 +00:00
wasm first steps
This commit is contained in:
@@ -0,0 +1,27 @@
|
||||
use std::rc::Rc;
|
||||
|
||||
use wasm_bindgen::prelude::*;
|
||||
|
||||
use crate::{stack::Stack, types::GPXFile};
|
||||
|
||||
#[wasm_bindgen]
|
||||
pub struct Controller {
|
||||
stack: Stack,
|
||||
}
|
||||
|
||||
#[wasm_bindgen]
|
||||
impl Controller {
|
||||
#[wasm_bindgen(constructor)]
|
||||
pub fn new() -> Self {
|
||||
Self {
|
||||
stack: Stack::default(),
|
||||
}
|
||||
}
|
||||
|
||||
#[wasm_bindgen]
|
||||
pub fn create_file(&mut self, name: &str) {
|
||||
let id = self.stack.get_new_file_id();
|
||||
let file = Rc::new(GPXFile::new(id, name));
|
||||
self.stack.update(&[file]);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user