Exemplo n.º 1
0
Arquivo: scores.c Projeto: phao/tetris
static int
handle_event(const SDL_Event *e) {
  if (e->type == SDL_KEYDOWN && e->key.keysym.sym == SDLK_ESCAPE) {
    change_screen(MENU_SCREEN);
  }
  return 0;
}
Exemplo n.º 2
0
static void in_received_handler(DictionaryIterator *iter, void *context) {
  phone_heartbeat = 5;
  APP_LOG(APP_LOG_LEVEL_DEBUG, "Received message, current screen: %d", current_screen);
  Tuple *server_error_tuple = dict_find(iter, SERVER_ERROR_KEY); 
  if (server_error_tuple){
	    if (current_screen != SCREEN_MESSAGE_KEY){
		server_error = atoi(server_error_tuple->value->cstring);
		APP_LOG(APP_LOG_LEVEL_DEBUG, "Server error received %d", server_error);
		show_message("No connection to Boat Remote Server");
	  } 
	  return;
  }
	
  else{
	  switch(current_menu){
		  case VIEW_MENU:
		  	  switch(current_screen){
				case SCREEN_MESSAGE_KEY:
		  			window_stack_pop(true);
		   		    change_screen(last_screen);
				case SCREEN_GPS_KEY:
		   			update_gps_fields(iter);
		   			break;
				case SCREEN_SAILING_KEY:
				   update_sailing_fields(iter);
				   break;
				case SCREEN_NAVIGATION_KEY:
				   update_navigation_fields(iter);
				   break;
				case SCREEN_WAYPOINT_KEY:
				   update_waypoint_fields(iter);
				   break;
				case SCREEN_LOG_KEY:
				   update_log_fields(iter);
				   break;
				case SCREEN_ANCHOR_WATCH_KEY:
				   update_anchor_watch_fields(iter);
	     		   Tuple *location_status_tuple = dict_find(iter, LOCATION_STATUS_KEY); 
		   		   if (location_status_tuple){
			           if (atoi(location_status_tuple->value->cstring) == 1){
				           show_popup("Attempting to set anchor location using phone GPS");
			           }
			           else{
			               show_popup("Unable to set anchor location using phone GPS, attempting to use boat location");
			           }
		           }
		           break;
			  }
	  }
  }
}
Exemplo n.º 3
0
void handle_anim_edit_key(char key) {
    switch (key) {
        default:
            paint(petscii_to_screen(key));
            handle_anim_edit_key(CH_CURS_RIGHT);
            break;
        case CH_CURS_UP:
            if (cur_y > 0) {
                hide_cursor();
                --cur_y;
                show_cursor();
            }
            break;
        case CH_CURS_DOWN:
            if (cur_y < 24) {
                hide_cursor();
                ++cur_y;
                show_cursor();
            }
            break;
        case CH_CURS_LEFT:
            hide_cursor();
            if (cur_x) {
                --cur_x;
            } else {
                cur_x = 39;
                if (cur_y) --cur_y;
            }
            show_cursor();
            break;
        case CH_CURS_RIGHT:
            if (cur_x < 39) {
                hide_cursor();
                ++cur_x;
                show_cursor();
            } else if (cur_y < 24) {
                hide_cursor();
                cur_x = 0;
                show_cursor();
                handle_anim_edit_key(CH_CURS_DOWN);
            }
            break;
        case CH_ENTER:
            change_screen(1);
            break;
        case 0x80 | CH_ENTER:
            change_screen(-1);
            break;
        case CH_DEL:
            {
                const char at_right_end = (cur_x == 39);
                handle_anim_edit_key(' ');
                if (!at_right_end) {
                    handle_anim_edit_key(CH_CURS_LEFT);
                }
                handle_anim_edit_key(CH_CURS_LEFT);
            }
            break;
        case CH_F3:  // Change border color.
            inc_d020();
            break;
        case CH_F4:
            ++*(char*)0xd021;
            break;
        case CH_F8:
            switch_to_console_screen();
            cputs("frames (1-16): ");
            end_frame = (read_digits() - 1) & 15;
            redraw_edit_screen();
            show_cursor();
            break;
        case ' ':
        case 0x80 | ' ':
            paint(key);
            handle_anim_edit_key(CH_CURS_RIGHT);
            break;
        case CH_STOP:
            remember_screen();
            preview_play_anim(32, 0, 255);
            redraw_edit_screen();
            show_cursor();
            break;

        case 0x93:  // CLR (shift + HOME)
            import_linde();
            break;

        /* case 0x13:  // HOME
            ++*(VIDEO_BASE + EFFECT_OFFSET);
            *(VIDEO_BASE + EFFECT_OFFSET) %= EFFECT_COUNT;
            break; */
        /* case 0x93:  // CLR (shift + HOME)
            break; */

        case CH_F1: load_edit_anim(); break;
        case CH_F2: invalidate_loaded_anim(); save_anim(); break;
        case CH_F5: copy(); break;
        case CH_F6: paste(); break;
        case CH_F7: switch_to_console_screen();
                    edit_movie();
                    redraw_edit_screen();
                    show_cursor();
                    break;
        case 0x12: reverse = 0x80u; break;
        case 0x92: reverse = 0; break;

        // Colors.
        case 0x05: switch_color(COLOR_WHITE); break;
        case 0x1c: switch_color(COLOR_RED); break;
        case 0x1e: switch_color(COLOR_GREEN); break;
        case 0x1f: switch_color(COLOR_BLUE); break;
        case 0x81: switch_color(COLOR_ORANGE); break;
        case 0x90: switch_color(COLOR_BLACK); break;
        case 0x95: switch_color(COLOR_BROWN); break;
        case 0x96: switch_color(COLOR_LIGHTRED); break;
        case 0x97: switch_color(COLOR_GRAY1); break;
        case 0x98: switch_color(COLOR_GRAY2); break;
        case 0x99: switch_color(COLOR_LIGHTGREEN); break;
        case 0x9a: switch_color(COLOR_LIGHTBLUE); break;
        case 0x9b: switch_color(COLOR_GRAY3); break;
        case 0x9c: switch_color(COLOR_PURPLE); break;
        case 0x9e: switch_color(COLOR_YELLOW); break;
        case 0x9f: switch_color(COLOR_CYAN); break;
    }
}
Exemplo n.º 4
0
void navigate_down_handler(ClickRecognizerRef recognizer, void *context){
	int nextScreen = get_next_screen(current_screen);
	change_screen(nextScreen);
}
Exemplo n.º 5
0
void navigate_up_handler(ClickRecognizerRef recognizer, void *context){
	int previousScreen = get_previous_screen(current_screen);
	change_screen(previousScreen);
}