pub struct ProxyApp {
pub name: String,
pub shared_buffer: Arc<Mutex<Vec<u32>>>,
pub event_queue: Arc<Mutex<Vec<AppEvent>>>,
pub is_alive: Arc<AtomicBool>,
pub active_tab: Arc<Mutex<usize>>,
pub tabs: Arc<Mutex<Vec<String>>>,
pub needs_timer_redraw: Arc<AtomicBool>,
pub buffer_updated: Arc<AtomicBool>,
}Fields§
§name: String§event_queue: Arc<Mutex<Vec<AppEvent>>>§is_alive: Arc<AtomicBool>§active_tab: Arc<Mutex<usize>>§tabs: Arc<Mutex<Vec<String>>>§needs_timer_redraw: Arc<AtomicBool>§buffer_updated: Arc<AtomicBool>app_runner_entry 側が shared_buffer を更新したらセットされるフラグ。 Core 0 の dirty 判定がこれを読んでウィンドウ矩形を dirty 登録し、クリアする。
Implementations§
Trait Implementations§
Source§impl App for ProxyApp
impl App for ProxyApp
fn name(&self) -> &str
共有されるバックバッファを返す
Source§fn draw(
&mut self,
_screen: &Screen,
_win_x: u32,
_win_y: u32,
_win_w: u32,
_win_h: u32,
)
fn draw( &mut self, _screen: &Screen, _win_x: u32, _win_y: u32, _win_w: u32, _win_h: u32, )
ウィンドウ内の描画要求
Source§fn on_mouse(
&mut self,
local_x: i32,
local_y: i32,
btn_left: bool,
btn_right: bool,
wheel: i32,
)
fn on_mouse( &mut self, local_x: i32, local_y: i32, btn_left: bool, btn_right: bool, wheel: i32, )
マウスイベント。ローカル座標とホイール移動量が渡される。
fn active_tab(&self) -> usize
fn switch_tab(&mut self, idx: usize)
fn add_tab(&mut self)
fn needs_timer_redraw(&self) -> bool
Source§fn get_buffer_updated_flag(&self) -> Option<Arc<AtomicBool>>
fn get_buffer_updated_flag(&self) -> Option<Arc<AtomicBool>>
ProxyApp の shared_buffer が更新されたことを通知する AtomicBool を返す。
ProxyApp でない通常のアプリは None を返す(デフォルト実装)。
Core 0 の dirty 判定がこのフラグを読んで矩形を登録する。
Source§fn instance_info(&self) -> String
fn instance_info(&self) -> String
インスタンス特有の情報(ファイル名やURLなど)を返す
Source§fn open_file_dialog(&mut self)
fn open_file_dialog(&mut self)
Alt+O: ファイルオープンダイアログを開く(未実装アプリはno-op)
Source§fn tab_thread_fn(&self) -> Option<fn()>
fn tab_thread_fn(&self) -> Option<fn()>
このアプリの各タブ用バックグラウンドスレッド関数を返す。
Some(fn) を返したアプリはタブ追加時にスケジューラでスレッドを起動する。
スレッド関数は引数なしの fn() で、グローバル Mutex 経由でアプリ状態と通信する。
fn get_dom_value(&self, _id: &str) -> Option<String>
fn set_dom_value(&mut self, _id: &str, _val: &str)
fn get_dom_content(&self, _id: &str) -> Option<String>
fn set_dom_content(&mut self, _id: &str, _val: &str)
Auto Trait Implementations§
impl !RefUnwindSafe for ProxyApp
impl !UnwindSafe for ProxyApp
impl Freeze for ProxyApp
impl Send for ProxyApp
impl Sync for ProxyApp
impl Unpin for ProxyApp
impl UnsafeUnpin for ProxyApp
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more