pub struct LuaApp<AppData: Clone + FromLua + IntoLua>(/* private fields */);
Implementations§
Source§impl<AppData: Clone + FromLua + IntoLua + PartialEq + 'static> LuaApp<AppData>
impl<AppData: Clone + FromLua + IntoLua + PartialEq + 'static> LuaApp<AppData>
Sourcepub fn new<T>(
lua: &Lua,
app_state: AppData,
handlers: Vec<(String, AppEvent<AppData>)>,
layout: &[u8],
) -> Result<(Self, EventLoop<T>)>
pub fn new<T>( lua: &Lua, app_state: AppData, handlers: Vec<(String, AppEvent<AppData>)>, layout: &[u8], ) -> Result<(Self, EventLoop<T>)>
Examples found in repository?
More examples
examples/basic-lua.rs (lines 29-34)
16fn main() {
17 let lua = Lua::new();
18
19 let onclick = |_: mouse_area::MouseAreaEvent,
20 mut appdata: feather_ui::AccessCell<CounterState>|
21 -> InputResult<()> {
22 {
23 appdata.count += 1;
24 InputResult::Forward(())
25 }
26 }
27 .wrap();
28
29 let (mut app, event_loop) = LuaApp::<CounterState>::new::<()>(
30 &lua,
31 CounterState { count: 0 },
32 handlers![CounterState, onclick],
33 LAYOUT,
34 )
35 .unwrap();
36
37 event_loop.run_app(&mut app).unwrap();
38}
Trait Implementations§
Source§impl<AppData: Clone + FromLua + IntoLua + PartialEq + 'static, T: 'static> ApplicationHandler<T> for LuaApp<AppData>
impl<AppData: Clone + FromLua + IntoLua + PartialEq + 'static, T: 'static> ApplicationHandler<T> for LuaApp<AppData>
Source§fn new_events(&mut self, event_loop: &ActiveEventLoop, cause: StartCause)
fn new_events(&mut self, event_loop: &ActiveEventLoop, cause: StartCause)
Emitted when new events arrive from the OS to be processed. Read more
Source§fn user_event(&mut self, event_loop: &ActiveEventLoop, event: T)
fn user_event(&mut self, event_loop: &ActiveEventLoop, event: T)
Emitted when an event is sent from
EventLoopProxy::send_event
.Source§fn device_event(
&mut self,
event_loop: &ActiveEventLoop,
device_id: DeviceId,
event: DeviceEvent,
)
fn device_event( &mut self, event_loop: &ActiveEventLoop, device_id: DeviceId, event: DeviceEvent, )
Emitted when the OS sends an event to a device.
Source§fn about_to_wait(&mut self, event_loop: &ActiveEventLoop)
fn about_to_wait(&mut self, event_loop: &ActiveEventLoop)
Emitted when the event loop is about to block and wait for new events. Read more
Source§fn suspended(&mut self, event_loop: &ActiveEventLoop)
fn suspended(&mut self, event_loop: &ActiveEventLoop)
Emitted when the application has been suspended. Read more
Source§fn exiting(&mut self, event_loop: &ActiveEventLoop)
fn exiting(&mut self, event_loop: &ActiveEventLoop)
Emitted when the event loop is being shut down. Read more
Source§fn memory_warning(&mut self, event_loop: &ActiveEventLoop)
fn memory_warning(&mut self, event_loop: &ActiveEventLoop)
Emitted when the application has received a memory warning. Read more
Source§fn resumed(&mut self, event_loop: &ActiveEventLoop)
fn resumed(&mut self, event_loop: &ActiveEventLoop)
Emitted when the application has been resumed. Read more
Source§fn window_event(
&mut self,
event_loop: &ActiveEventLoop,
window_id: WindowId,
event: WindowEvent,
)
fn window_event( &mut self, event_loop: &ActiveEventLoop, window_id: WindowId, event: WindowEvent, )
Emitted when the OS sends an event to a winit window.
Auto Trait Implementations§
impl<AppData> Freeze for LuaApp<AppData>where
AppData: Freeze,
impl<AppData> !RefUnwindSafe for LuaApp<AppData>
impl<AppData> !Send for LuaApp<AppData>
impl<AppData> !Sync for LuaApp<AppData>
impl<AppData> Unpin for LuaApp<AppData>where
AppData: Unpin,
impl<AppData> !UnwindSafe for LuaApp<AppData>
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
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Convert
Box<dyn Trait>
(where Trait: Downcast
) to Box<dyn Any>
. Box<dyn Any>
can
then be further downcast
into Box<ConcreteType>
where ConcreteType
implements Trait
.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Convert
Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
can then be
further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert
&Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &Any
’s vtable from &Trait
’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert
&mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s.Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more