@@ -44,7 +44,51 @@ impl Component<Events> for DemoComponent {
4444
4545 fn on_detach ( self : & mut DemoComponent ) { }
4646
47- fn on_event ( self : & mut DemoComponent , _event : & lambda:: core:: events:: Events ) {
47+ fn on_event ( self : & mut DemoComponent , event : & lambda:: core:: events:: Events ) {
48+ match event {
49+ Events :: Runtime { event, issued_at } => match event {
50+ lambda:: core:: events:: RuntimeEvent :: Shutdown => {
51+ println ! ( "Shutting down the runtime" ) ;
52+ }
53+ _ => { }
54+ } ,
55+ Events :: Window { event, issued_at } => match event {
56+ lambda:: core:: events:: WindowEvent :: Resize { width, height } => {
57+ println ! ( "Window resized to {}x{}" , width, height) ;
58+ }
59+ lambda:: core:: events:: WindowEvent :: Close => {
60+ println ! ( "Window closed" ) ;
61+ }
62+ } ,
63+ Events :: Keyboard { event, issued_at } => match event {
64+ lambda:: core:: events:: KeyEvent :: KeyPressed {
65+ scan_code,
66+ virtual_key,
67+ } => {
68+ println ! ( "Key pressed: {:?}" , virtual_key) ;
69+ }
70+ lambda:: core:: events:: KeyEvent :: KeyReleased {
71+ scan_code,
72+ virtual_key,
73+ } => {
74+ println ! ( "Key released: {:?}" , virtual_key) ;
75+ }
76+ lambda:: core:: events:: KeyEvent :: ModifierPressed {
77+ modifier,
78+ virtual_key,
79+ } => {
80+ println ! ( "Modifier pressed: {:?}" , virtual_key) ;
81+ }
82+ } ,
83+ Events :: Component { event, issued_at } => match event {
84+ lambda:: core:: events:: ComponentEvent :: Attached { name } => {
85+ println ! ( "Component attached: {:?}" , name) ;
86+ }
87+ lambda:: core:: events:: ComponentEvent :: Detached { name } => {
88+ println ! ( "Component detached: {:?}" , name) ;
89+ }
90+ } ,
91+ }
4892 }
4993
5094 fn on_update ( self : & mut DemoComponent , last_frame : & std:: time:: Duration ) {
0 commit comments