@@ -39,6 +39,8 @@ struct MouseState {
3939 left_button : Cell < bool > ,
4040 right_button : Cell < bool > ,
4141 middle_button : Cell < bool > ,
42+ back_button : Cell < bool > ,
43+ forward_button : Cell < bool > ,
4244}
4345
4446struct Context2D {
@@ -117,6 +119,8 @@ impl Window {
117119 left_button : Cell :: new ( false ) ,
118120 right_button : Cell :: new ( false ) ,
119121 middle_button : Cell :: new ( false ) ,
122+ back_button : Cell :: new ( false ) ,
123+ forward_button : Cell :: new ( false ) ,
120124 } ;
121125 let mouse_state = Rc :: new ( mouse_struct) ;
122126 {
@@ -149,6 +153,8 @@ impl Window {
149153 0 => mouse_state. left_button . set ( true ) ,
150154 1 => mouse_state. middle_button . set ( true ) ,
151155 2 => mouse_state. right_button . set ( true ) ,
156+ 3 => mouse_state. back_button . set ( true ) ,
157+ 4 => mouse_state. forward_button . set ( true ) ,
152158 _ => ( ) ,
153159 }
154160 } ) as Box < dyn FnMut ( _) > ) ;
@@ -177,6 +183,8 @@ impl Window {
177183 0 => mouse_state. left_button . set ( false ) ,
178184 1 => mouse_state. middle_button . set ( false ) ,
179185 2 => mouse_state. right_button . set ( false ) ,
186+ 3 => mouse_state. back_button . set ( false ) ,
187+ 4 => mouse_state. forward_button . set ( false ) ,
180188 _ => ( ) ,
181189 }
182190 } ) as Box < dyn FnMut ( _) > ) ;
@@ -361,6 +369,8 @@ impl Window {
361369 MouseButton :: Left => self . mouse_state . left_button . get ( ) ,
362370 MouseButton :: Middle => self . mouse_state . middle_button . get ( ) ,
363371 MouseButton :: Right => self . mouse_state . right_button . get ( ) ,
372+ MouseButton :: Back => self . mouse_state . back_button . get ( ) ,
373+ MouseButton :: Forward => self . mouse_state . forward_button . get ( ) ,
364374 }
365375 }
366376
0 commit comments