@@ -1011,7 +1011,6 @@ class MouseSample(Sample):
10111011
10121012 def __init__ (self ) -> None :
10131013 self .motion = tcod .event .MouseMotion ()
1014- self .mouse_left = self .mouse_middle = self .mouse_right = 0
10151014 self .log : list [str ] = []
10161015
10171016 def on_enter (self ) -> None :
@@ -1022,15 +1021,18 @@ def on_enter(self) -> None:
10221021
10231022 def on_draw (self ) -> None :
10241023 sample_console .clear (bg = GREY )
1024+ mouse_state = tcod .event .get_mouse_state ()
10251025 sample_console .print (
10261026 1 ,
10271027 1 ,
1028- f"Pixel position : { self .motion .position .x :4.0f} x{ self .motion .position .y :4.0f} \n "
1029- f"Tile position : { self .motion .tile .x :4.0f} x{ self .motion .tile .y :4.0f} \n "
1030- f"Tile movement : { self .motion .tile_motion .x :4.0f} x{ self .motion .tile_motion .y :4.0f} \n "
1031- f"Left button : { 'ON' if self .mouse_left else 'OFF' } \n "
1032- f"Right button : { 'ON' if self .mouse_right else 'OFF' } \n "
1033- f"Middle button : { 'ON' if self .mouse_middle else 'OFF' } \n " ,
1028+ f"Pixel position : { mouse_state .position .x :4.0f} x{ mouse_state .position .y :4.0f} \n "
1029+ f"Tile position : { self .motion .tile .x :4d} x{ self .motion .tile .y :4d} \n "
1030+ f"Tile movement : { self .motion .tile_motion .x :4d} x{ self .motion .tile_motion .y :4d} \n "
1031+ f"Left button : { 'ON' if mouse_state .state & tcod .event .MouseButtonMask .LEFT else 'OFF' } \n "
1032+ f"Middle button : { 'ON' if mouse_state .state & tcod .event .MouseButtonMask .MIDDLE else 'OFF' } \n "
1033+ f"Right button : { 'ON' if mouse_state .state & tcod .event .MouseButtonMask .RIGHT else 'OFF' } \n "
1034+ f"X1 button : { 'ON' if mouse_state .state & tcod .event .MouseButtonMask .X1 else 'OFF' } \n "
1035+ f"X2 button : { 'ON' if mouse_state .state & tcod .event .MouseButtonMask .X2 else 'OFF' } \n " ,
10341036 fg = LIGHT_YELLOW ,
10351037 bg = None ,
10361038 )
@@ -1046,18 +1048,6 @@ def on_event(self, event: tcod.event.Event) -> None:
10461048 match event :
10471049 case tcod .event .MouseMotion ():
10481050 self .motion = event
1049- case tcod .event .MouseButtonDown (button = tcod .event .MouseButton .LEFT ):
1050- self .mouse_left = True
1051- case tcod .event .MouseButtonDown (button = tcod .event .MouseButton .MIDDLE ):
1052- self .mouse_middle = True
1053- case tcod .event .MouseButtonDown (button = tcod .event .MouseButton .RIGHT ):
1054- self .mouse_right = True
1055- case tcod .event .MouseButtonUp (button = tcod .event .MouseButton .LEFT ):
1056- self .mouse_left = False
1057- case tcod .event .MouseButtonUp (button = tcod .event .MouseButton .MIDDLE ):
1058- self .mouse_middle = False
1059- case tcod .event .MouseButtonUp (button = tcod .event .MouseButton .RIGHT ):
1060- self .mouse_right = False
10611051 case tcod .event .KeyDown (sym = KeySym .N1 ):
10621052 tcod .sdl .mouse .show (visible = False )
10631053 case tcod .event .KeyDown (sym = KeySym .N2 ):
@@ -1422,8 +1412,8 @@ def handle_events() -> None:
14221412 tile_event = tcod .event .convert_coordinates_from_window (event , context , root_console )
14231413 SAMPLES [cur_sample ].on_event (tile_event )
14241414 match tile_event :
1425- case tcod .event .MouseMotion (position = (x , y )):
1426- mouse_tile_xy = int ( x ), int ( y )
1415+ case tcod .event .MouseMotion (integer_position = (x , y )):
1416+ mouse_tile_xy = x , y
14271417 case tcod .event .WindowEvent (type = "WindowLeave" ):
14281418 mouse_tile_xy = - 1 , - 1
14291419
0 commit comments