Files
endorphin-tessera-gui/src/main.rs
T

54 lines
1.1 KiB
Rust

mod activity;
mod api;
mod app;
mod binding;
mod block;
mod clipboard;
mod developer_tools;
mod display_list;
mod document;
mod endor_host;
mod endor_script;
mod event_dispatch;
mod events;
mod geometry;
mod io_tasks;
mod layout;
mod mount;
mod native_visual;
mod object_list;
mod presentation;
mod protocols;
mod scene;
mod scroll;
mod snapshot;
mod software_renderer;
mod source_hit;
mod source_layout;
mod source_paint;
mod sources;
mod system_ui;
mod tabs;
mod tasks;
mod text;
mod ui_bridge;
mod vm_sequence;
mod window;
use std::sync::{Arc, RwLock};
use anyhow::Result;
use app::{AppEvent, TesseraApp};
use document::NamespaceState;
use winit::event_loop::{ControlFlow, EventLoop};
fn main() -> Result<()> {
let event_loop = EventLoop::<AppEvent>::with_user_event().build()?;
event_loop.set_control_flow(ControlFlow::Wait);
let namespace = Arc::new(RwLock::new(NamespaceState::default()));
let activity = api::start(namespace.clone(), event_loop.create_proxy())?;
let mut app = TesseraApp::new(namespace, activity, event_loop.create_proxy())?;
event_loop.run_app(&mut app)?;
app.exit_result()
}