int click_stats_handler(window_info *win, int mx, int my, Uint32 flags) { int i; int is_button = flags & ELW_MOUSE_BUTTON; if(is_button && mx > check_grid_x_left && mx < check_grid_x_left+105 && my > check_grid_y_top && my < check_grid_y_top+14*(NUM_WATCH_STAT-1)) { // we don't care which click did the select // Grum: as long as it's not a wheel move i = 1+(my - check_grid_y_top)/14; if (i < NUM_WATCH_STAT) { handle_stats_selection(i, flags); } return 1; } return 0; }
static int click_misc_handler(window_info *win, int mx, int my, Uint32 flags) { int clockheight = 0; int in_stats_bar = 0; // handle scrolling the stats bars if not all displayed if (show_stats_in_hud && (my >= 0) && (my < num_disp_stat*side_stats_bar_height)) { in_stats_bar = 1; if ((first_disp_stat > 0) && ((flags & ELW_WHEEL_UP) || ((flags & ELW_LEFT_MOUSE) && (flags & ELW_CTRL)))) { first_disp_stat--; return 1; } else if ((first_disp_stat + num_disp_stat < NUM_WATCH_STAT-1) && ((flags & ELW_WHEEL_DOWN) || ((flags & ELW_RIGHT_MOUSE) && (flags & ELW_CTRL)))) { first_disp_stat++; return 1; } } if (mouse_is_over_timer(win, mx, my)) return mouse_click_timer(flags); // only handle mouse button clicks, not scroll wheels moves if ( (flags & ELW_MOUSE_BUTTON) == 0) return 0; // reserve CTRL clicks for scrolling if (flags & ELW_CTRL) return 0; //check to see if we clicked on the clock if(view_digital_clock>0){ clockheight += digital_clock_height; } if(view_analog_clock>0){ clockheight += analog_clock_size; } if(my > (win->len_y - compass_size - clockheight) && my < (win->len_y - compass_size)) { unsigned char protocol_name; do_click_sound(); protocol_name= GET_TIME; my_tcp_send(my_socket,&protocol_name,1); return 1; } /* show research if click on the knowledge bar */ if (mouse_is_over_knowedge_bar(win, mx, my)) { do_click_sound(); send_input_text_line("#research", 9); return 1; } //check to see if we clicked on the compass if(my > (win->len_y - compass_size) && my < win->len_y) { unsigned char protocol_name; do_click_sound(); protocol_name= LOCATE_ME; if (flags & ELW_SHIFT) { copy_next_LOCATE_ME = 2; } my_tcp_send(my_socket,&protocol_name,1); return 1; } //check to see if we clicked on the stats if (in_stats_bar) { handle_stats_selection(first_disp_stat + (my / side_stats_bar_height) + 1, flags); return 1; } return 0; }