56 lines
1.8 KiB
Rust
56 lines
1.8 KiB
Rust
#![allow(deprecated)]
|
|
|
|
use coords::proj::Mercator;
|
|
use coords::Mapper;
|
|
use data::{Npz, Radar2d};
|
|
use femtovg::{Color, Paint};
|
|
use gtk::prelude::*;
|
|
use gtk::{gio, glib, Application, ApplicationWindow};
|
|
use relm4::RelmApp;
|
|
use std::ptr;
|
|
use relm4::menu;
|
|
mod components;
|
|
mod coords;
|
|
mod data;
|
|
mod errors;
|
|
mod monitor;
|
|
mod pipeline;
|
|
mod render;
|
|
mod window;
|
|
use components::app::{AppMode, AppModel};
|
|
use monitor::Monitor;
|
|
use render::{BackgroundConfig, BackgroundWidget, ForegroundConfig, ForegroundWidget, Render};
|
|
|
|
const APP_ID: &str = "org.gtk_rs.HelloWorld2";
|
|
|
|
fn main() {
|
|
// Load GL pointers from epoxy (GL context management library used by GTK).
|
|
{
|
|
#[cfg(target_os = "macos")]
|
|
let library = unsafe { libloading::os::unix::Library::new("libepoxy.0.dylib") }.unwrap();
|
|
#[cfg(all(unix, not(target_os = "macos")))]
|
|
let library = unsafe { libloading::os::unix::Library::new("libepoxy.so.0") }.unwrap();
|
|
#[cfg(windows)]
|
|
let library = libloading::os::windows::Library::open_already_loaded("libepoxy-0.dll")
|
|
.or_else(|_| libloading::os::windows::Library::open_already_loaded("epoxy-0.dll"))
|
|
.unwrap();
|
|
|
|
gio::resources_register_include!("p.gresource").expect("Failed to register resources.");
|
|
|
|
epoxy::load_with(|name| {
|
|
unsafe { library.get(name.as_bytes()) }
|
|
.map(|symbol| *symbol)
|
|
.unwrap_or(ptr::null())
|
|
});
|
|
}
|
|
|
|
// gio::resources_register_include!("monitor.gresource").expect("Failed to register resources");
|
|
// Create a new application
|
|
// let app = Application::builder().application_id(APP_ID).build();
|
|
// // Connect to "activate" signal of `app`
|
|
// app.connect_activate(build_ui);
|
|
// // Run the application
|
|
// app.run()
|
|
let relm = relm4::RelmApp::new(APP_ID);
|
|
relm.run::<AppModel>(AppMode::Edit);
|
|
} |