Ignore:
Timestamp:
02/04/10 22:39:50 (12 years ago)
Author:
sc
Message:

client_interface:

  • mouse click handling added
File:
1 edited

Legend:

Unmodified
Added
Removed
  • rc/puzzlebox_brainstorms_client_interface.py

    r28 r29  
    229229        ################################################################## 
    230230         
     231        def process_mouse_click(self, position, mouse_button): 
     232                 
     233                if (mouse_button == 1): 
     234                        # first mouse button clicked 
     235                         
     236                        postion_rect = self.pygame.Rect(position, (1,1) ) 
     237                         
     238                        for each in self.buttons.keys(): 
     239                                 
     240                                if self.buttons[each].check_collision(postion_rect): 
     241                                         
     242                                        command = self.buttons[each].command 
     243                                        self.update_button(command, activated=True) 
     244                                        self.send_command(command) 
     245         
     246         
     247        ################################################################## 
     248         
     249        def process_mouse_release(self, position, mouse_button): 
     250                 
     251                if (mouse_button == 1): 
     252                        # first mouse button released 
     253                         
     254                        postion_rect = self.pygame.Rect(position, (1,1) ) 
     255                         
     256                        for each in self.buttons.keys(): 
     257                                 
     258                                if self.buttons[each].check_collision(postion_rect): 
     259                                         
     260                                        command = self.buttons[each].command 
     261                                        self.update_button(command, activated=False) 
     262         
     263         
     264        ################################################################## 
     265         
     266        def release_all_buttons(self): 
     267                 
     268                for each in self.buttons.keys(): 
     269                                 
     270                                command = self.buttons[each].command 
     271                                self.update_button(command, activated=False) 
     272         
     273         
     274        ################################################################## 
     275         
    231276        def check_events(self): 
    232277                 
     
    266311                                                command = self.match_key_index[key_pressed] 
    267312                                                self.update_button(command, activated=False) 
     313                         
     314                         
     315                        elif (event.type == self.pygame.locals.MOUSEBUTTONDOWN): 
     316                                 
     317                                position = event.pos 
     318                                mouse_button = event.button 
     319                                 
     320                                self.process_mouse_click(position, mouse_button) 
     321                         
     322                         
     323                        elif (event.type == self.pygame.locals.MOUSEBUTTONUP): 
     324                                 
     325                                mouse_button = event.button 
     326                                 
     327                                if (mouse_button == 1): 
     328                                        # First mouse button released 
     329                                        self.release_all_buttons() 
    268330                         
    269331                         
Note: See TracChangeset for help on using the changeset viewer.