Changeset 19


Ignore:
Timestamp:
02/02/10 02:51:18 (12 years ago)
Author:
sc
Message:

configuration:

  • interface settings updates and fixes

client_interface_button:

  • activated button drawing added

client_interface:

  • activated button drawing added
  • background drawing added

client_interface_component:

  • whitespace cleanup
Location:
rc
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • rc/puzzlebox_brainstorms_client_interface.py

    r18 r19  
    2323 
    2424import puzzlebox_brainstorms_configuration as configuration 
    25 import puzzlebox_brainstorms_client 
     25#import puzzlebox_brainstorms_client 
    2626import puzzlebox_brainstorms_client_interface_component as component 
    2727import puzzlebox_brainstorms_client_interface_button as button 
     
    7474                self.window_background_color = window_background_color 
    7575                 
    76                 #self.hostname = hostname 
    77                 #self.port = port 
    78                 #self.service_name = service_name 
    79                 #self.target_name = target_name 
    80                 #self.max_connection_attempts = max_connection_attempts 
    81                  
    8276                if (os.name == "nt") or (os.name == "dos"): 
    8377                        self.operating_system = "windows" 
     
    8680                 
    8781                self.pygame = pygame 
     82                self.screen = None 
    8883                self.FLIP = FLIP 
     84                self.image_directory = IMAGE_DIRECTORY 
    8985                 
    9086                self.initialize_pygame() 
    91                 #self.initialize_speech() 
    92                  
    93                 self.pygame.FLIP = FLIP 
    94                  
    95                 #self.draw_background() 
    96                  
    97                 #self.pointer = thinking_cap_pointer(self.pygame, \ 
    98                                                                                                                 #self.screen, \ 
    99                                                                                                                 #os.path.join(IMAGE_DIRECTORY, \ 
    100                                                                                                                                                  #POINTER_IMAGE), 
    101                                                                                                                 #self.DEBUG) 
    102                 #self.action_message = 'Thinking Cap Demo' 
    103                 #self.message = '' 
     87                 
     88                self.pygame.FLIP = self.FLIP 
    10489                 
    10590                self.buttons = [] 
     
    115100                 
    116101                os.environ['SDL_VIDEO_WINDOW_POS'] = "%i,%i" % (self.display_window_x_coordinate, \ 
    117                                                                                                                                                 self.display_window_y_coordinate) 
     102                                                                self.display_window_y_coordinate) 
    118103                 
    119104                self.pygame.init() 
     
    121106                if (self.FLIP): 
    122107                         
    123                         self.screen = pygame.display.set_mode((self.display_window_x_dimension, \ 
    124                                                                                                                                 self.display_window_y_dimension), \ 
    125                                                                                                                                 pygame.HWSURFACE|pygame.DOUBLEBUF) 
     108                        self.screen = self.pygame.display.set_mode((self.display_window_x_dimension, \ 
     109                                                                    self.display_window_y_dimension), \ 
     110                                                                   pygame.HWSURFACE|pygame.DOUBLEBUF) 
    126111                 
    127112                else: 
    128113                         
    129                         self.screen = pygame.display.set_mode((self.display_window_x_dimension, \ 
    130                                                                                                                                 self.display_window_y_dimension), \ 
    131                                                                                                                                 pygame.HWSURFACE) 
     114                        self.screen = self.pygame.display.set_mode((self.display_window_x_dimension, \ 
     115                                                                    self.display_window_y_dimension), \ 
     116                                                                   pygame.HWSURFACE) 
    132117                 
    133118                 
     
    141126                 
    142127                 
    143                 #self.pygame = pygame 
    144                 #self.pygame.FLIP = FLIP 
    145                 self.pygame.mouse.set_visible(0) 
     128                #self.pygame.mouse.set_visible(0) 
     129                self.pygame.mouse.set_visible(1) 
    146130                 
    147131                 
     
    150134                # Set Background 
    151135                self.background = pygame.Surface(self.screen.get_size()) 
     136                #self.background.set_alpha(0) 
     137                self.draw_background() 
     138         
     139         
     140        ################################################################## 
     141 
     142        def draw_background(self): 
     143                 
    152144                self.background.fill(self.window_background_color) 
    153                 #self.background.set_alpha(0) 
     145                 
    154146                self.screen.blit(self.background, (0,0)) 
    155147         
    156148         
    157         ################################################################## 
    158  
     149        ##################################################################### 
     150         
    159151        def initialize_buttons(self, button_layout): 
    160152                 
     
    171163                            (button_image != '.') and \ 
    172164                            (button_image != '..') and \ 
    173                             (os.path.exists(os.path.join(IMAGE_DIRECTORY, button_image)))): 
    174                                  
    175                                 button_image = os.path.join(IMAGE_DIRECTORY, button_image) 
     165                            (os.path.exists(os.path.join(self.image_directory, button_image)))): 
     166                                 
     167                                button_image = os.path.join(self.image_directory, button_image) 
    176168                         
    177169                        else: 
    178170                                if self.DEBUG: 
    179171                                        print "Error: Button image does not exist:" 
    180                                         print "   %s" % os.path.join(IMAGE_DIRECTORY, button_image) 
     172                                        print "   %s" % os.path.join(self.image_directory, button_image) 
    181173                                continue 
    182174                         
     
    185177                            (activated_image != '.') and \ 
    186178                            (activated_image != '..') and \ 
    187                             (os.path.exists(os.path.join(IMAGE_DIRECTORY, activated_image)))): 
    188                                  
    189                                 activated_image = os.path.join(IMAGE_DIRECTORY, activated_image) 
     179                            (os.path.exists(os.path.join(self.image_directory, activated_image)))): 
     180                                 
     181                                activated_image = os.path.join(self.image_directory, activated_image) 
    190182                         
    191183                        else: 
    192184                                if self.DEBUG: 
    193185                                        print "Error: Activated button image does not exist:" 
    194                                         print "   %s" % os.path.join(IMAGE_DIRECTORY, activated_image) 
     186                                        print "   %s" % os.path.join(self.image_directory, activated_image) 
    195187                                continue 
    196188                         
     
    213205        ################################################################## 
    214206         
     207        def update_button(self, command): 
     208                 
     209                for each in self.buttons: 
     210                        if each.command == command: 
     211                                each.activated = True 
     212                                each.display() 
     213         
     214         
     215        ################################################################## 
     216         
    215217        def send_commands_to_server(self, commands): 
    216218         
     
    240242        def start(self): 
    241243                 
    242                 self.update_screen = 0 
     244                update_screen_on_next_pass = False 
    243245                clock = self.pygame.time.Clock() 
    244246                 
    245247                while 1: 
    246248                         
    247                         #update_screen = self.pointer.update() 
    248  
    249                         #if (update_screen): 
    250                                 ## Redraw Background 
    251                                 ##self.display_image(self.background_image) 
    252                                 #self.draw_background() 
    253  
    254                                 #for icon in self.icons: 
    255                                         #icon.display() 
    256  
    257                                 #self.pointer.display() 
    258  
    259                                 #self.draw_action_message() 
    260                                 #self.draw_message() 
    261  
    262                                 #self.update_display() 
    263  
    264  
    265                         #for icon in self.icons: 
    266                                 #collision = icon.check_collision(self.pointer.location_rect()) 
    267  
    268                                 #if collision: 
    269                                         #if (icon.action != None): 
    270  
    271                                                 #if self.DEBUG > 1: 
    272                                                         #print icon.action, 
    273  
    274                                                 #if (icon.hits >= HITS_TO_CHANGE): 
    275                                                         #self.execute_action(icon.action) 
    276                                                         #icon.hits = 0 
    277  
    278  
    279                                                 #else: 
    280                                                         #self.action_message = icon.action 
    281  
    282                                         #else: 
    283                                                 #if self.DEBUG > 1: 
    284                                                         #print "bling!", 
    285  
    286                                         #if self.DEBUG > 1: 
    287                                                 #print ":%i" % icon.hits 
     249                        if (update_screen_on_next_pass): 
     250                                # Redraw Background 
     251                                self.draw_background() 
     252                                 
     253                                for each in self.buttons: 
     254                                        each.activated = False 
     255                                        each.display() 
     256                                 
     257                                 
     258                                self.update_display() 
     259                                 
     260                                update_screen_on_next_pass = False 
     261                         
    288262                         
    289263                        commands = [] 
     
    304278                                                elif ((event.dict['key'] == self.pygame.K_UP) or \ 
    305279                                                           (event.dict['key'] == self.pygame.K_w)): 
    306                                                         commands.append('drive_forward') 
     280                                                        command = 'drive_forward' 
     281                                                        self.update_button(command) 
     282                                                        commands.append(command) 
    307283                                                 
    308284                                                elif ((event.dict['key'] == self.pygame.K_DOWN) or \ 
    309285                                                           (event.dict['key'] == self.pygame.K_s)): 
    310                                                         commands.append('drive_reverse') 
     286                                                        command = 'drive_reverse' 
     287                                                        self.update_button(command) 
     288                                                        commands.append(command) 
    311289                                                 
    312290                                                elif ((event.dict['key'] == self.pygame.K_LEFT) or \ 
    313291                                                           (event.dict['key'] == self.pygame.K_a)): 
    314                                                         commands.append('turn_left') 
     292                                                        command = 'turn_left' 
     293                                                        self.update_button(command) 
     294                                                        commands.append(command) 
    315295                                                 
    316296                                                elif ((event.dict['key'] == self.pygame.K_RIGHT) or \ 
    317297                                                           (event.dict['key'] == self.pygame.K_d)): 
    318                                                         commands.append('turn_right') 
     298                                                        command = 'turn_right' 
     299                                                        self.update_button(command) 
     300                                                        commands.append(command) 
    319301                                                 
    320302                                                elif ((event.dict['key'] == self.pygame.K_PAGEDOWN) or \ 
    321303                                                           (event.dict['key'] == self.pygame.K_c)): 
    322                                                         commands.append('turn_in_reverse') 
     304                                                        command = 'turn_in_reverse' 
     305                                                        self.update_button(command) 
     306                                                        commands.append(command) 
    323307                         
    324308                         
    325309                        if commands != []: 
     310                                self.update_display() 
    326311                                self.send_commands_to_server(commands) 
     312                                update_screen_on_next_pass = True 
     313                         
    327314                         
    328315                        clock.tick(60) 
    329  
    330  
    331 ##################################################################### 
    332 ##################################################################### 
    333316 
    334317 
  • rc/puzzlebox_brainstorms_client_interface_button.py

    r18 r19  
    5959                self.command = command 
    6060                 
     61                self.hits = 0 
    6162                 
    62                 #if (button_image != None): 
    63                          
    64                         ##if (os.path.exists(button_image) and \ 
    65                             ##(button_image != '.') and \ 
    66                             ##(button_image != '..')): 
    67                                 ##self.image = self.load_image(button_image) 
    68                         ##else: 
    69                                 ##print button_image 
    70                                 ##self.image = self.create_text(button_image, None, 64, (0,0,0)) 
    71                          
    72                         #self.image_display_position = (self.position[0] - \ 
    73                                                                                                                 #self.image.get_width() / 2, \ 
    74                                                                                                         #self.position[1] - \ 
    75                                                                                                                 #self.image.get_height() / 2) 
    76                         #self.draw_button_image = 1 
    77                  
    78                 #else: 
    79                         #self.draw_button_image = 0 
    80                  
    81                  
    82                 self.hits = 0 
     63                self.activated = False 
    8364                 
    8465                self.display() 
     
    8970        def display(self): 
    9071                 
    91                 #self.display_image(self.image, self.display_position) 
    92                 self.draw_image(self.button_image, self.display_position) 
    93                  
    94                 #if (self.draw_icon_image == 1): 
    95                         #self.draw_image(self.image, self.image_display_position) 
     72                if not self.activated: 
     73                        self.draw_image(self.button_image, self.display_position) 
     74                         
     75                else: 
     76                        self.draw_image(self.activated_image, self.display_position) 
    9677         
    9778         
  • rc/puzzlebox_brainstorms_client_interface_component.py

    r18 r19  
    4646        def draw_image(self, image_surface, \ 
    4747                       display_position = None): 
    48          
     48                 
    4949                if (display_position == None): 
    5050                        display_position = image_surface.get_rect() 
  • rc/puzzlebox_brainstorms_configuration.py

    r18 r19  
    9191DISPLAY_WINDOW_X_COORDINATE = 0 
    9292DISPLAY_WINDOW_Y_COORDINATE = 0 
    93 DISPLAY_WINDOW_X_DIMENSION = 800 
    94 DISPLAY_WINDOW_Y_DIMENSION = 480 
     93DISPLAY_WINDOW_X_DIMENSION = 320 
     94DISPLAY_WINDOW_Y_DIMENSION = 240 
    9595 
    9696#WINDOW_BACKGROUND_COLOR = (255,255,255) # white background 
     
    111111                       37, 37, None], \ 
    112112                     ['6-right-orange.png', '6-right-yellow.png', \ 
    113                        74, 37, 'turn_left'], \ 
     113                       74, 37, 'turn_right'], \ 
     114                     ['8-down-orange.png', '8-down-yellow.png', \ 
     115                       37, 74, 'drive_reverse'], \ 
    114116                     ['9-lower_right-orange.png', '9-lower_right-yellow.png', \ 
    115                        74, 74, 'turn_left'], \ 
     117                       74, 74, 'turn_in_reverse'], \ 
    116118                   ] 
    117119} 
     120 
Note: See TracChangeset for help on using the changeset viewer.