use crate::render::RenderContext2D;
use crate::{event::*, utils::Point};
pub trait WindowAdapter {
fn active(&mut self, active: bool);
fn clipboard_update(&mut self, value: &mut Option<String>);
fn file_drop_event(&mut self, file_name: String);
fn key_event(&mut self, _event: KeyEvent) {}
fn mouse(&mut self, _x: f64, _y: f64) {}
fn mouse_event(&mut self, _event: MouseEvent) {}
fn mouse_position(&self) -> Point;
fn quit_event(&mut self) {}
fn resize(&mut self, _width: f64, _height: f64) {}
fn run(&mut self, render_context: &mut RenderContext2D);
fn scroll(&mut self, _delta_x: f64, _delta_y: f64) {}
fn set_raw_window_handle(&mut self, raw_window_handle: raw_window_handle::RawWindowHandle);
fn text_input(&mut self, _text: String) {}
fn text_drop_event(&mut self, text: String);
}