static gboolean slot_proxy_switch_location_timer (gpointer user_data) { NautilusDragSlotProxyInfo *drag_info = user_data; drag_info->switch_location_timer = 0; if (drag_info->is_notebook) switch_tab (drag_info); else switch_location (drag_info); return FALSE; }
char *op_sub(char *tab[2], t_base *base, char ops[7], int neg[2]) { int a_high; char *buff; int len[2]; a_high = a_is_high_b(tab[0], tab[1], base, ops); if (a_high == 0) switch_tab(tab[0], tab[1]); len[0] = my_strlen(tab[0]) - 1; len[1] = my_strlen(tab[1]) - 1; buff = _op_sub(tab, base, ops, len); if ((a_high == 1 && neg[0] == 1) || (a_high == 0 && neg[1] == 1) || (a_high == 0 && neg[0] == 0 && neg[1] == 0)) return (my_strcat(my_strdup("-"), buff)); return (buff); }
/* Intro animation */ void intro_animation() { int i; int m; int step = 12; /* TODO a nice bmp */ clear_screen(); for (m = 0; m < 4; m++) { if (m > menu_size[menu]) { break; } for (i = -menu_dy[m]; i <= 0; i = i+step) { lcd_set_rect(menu_x[m], i, menu_x[m] + menu_dx, i+menu_dy[m], FILL, menu_color, display); lcd_put_str(menu_item[menu][m], menu_x[m]+str_vspace, i+str_hspace, str_size, str_color, display); } lcd_set_rect(menu_x[m], 0, menu_x[m] + menu_dx, menu_dy[m], FILL, menu_color, display); lcd_put_str(menu_item[menu][m], menu_x[m]+str_vspace, str_hspace, str_size, str_color, display); } switch_tab(menu_position[menu], menu_position[menu]); }
int menu_selection(int position){ char key = get_key(); if((key == DOWN) && position==menu_size[menu]) //end is reached, return current position return position; if((key == UP)&& position == 0) return position; switch (key){ case RIGHT: case ENTER: menu_position[menu] = position; switch (menu) { /* Main menu*/ case 0: printf("Menu 0 selection %i\n", position); if (position == 0) { menu = 1; position = menu_position[menu]; intro_animation(); } else if (position == 1) { menu = 2; position = menu_position[menu]; intro_animation(); } else if (position == 2) { menu = 3; position = menu_position[menu]; intro_animation(); } else if (position == 3) { demo_pong(); intro_animation(); } break; /* Basic shapes */ case 1: printf("Strings selection %i\n", position); if (position == 0) { demo_pixel(); intro_animation(); } else if (position == 1) { demo_line(); intro_animation(); } else if (position == 2) { demo_rect(); intro_animation(); } break; /* Text and bitmap */ case 2: if (position == 0) { demo_strings(); intro_animation(); } else if (position == 1) { demo_bitmap(); intro_animation(); } else if (position == 2) { demo_combined(); intro_animation(); } break; /* Bitmap*/ case 3: if (position == 0) { demo_backlight(); intro_animation(); } else if (position == 1) { demo_sleep(); intro_animation(); } else if (position == 2) { demo_off(); intro_animation(); } break; } break; case DOWN: switch_tab(position,position+1); position++; break; case UP: switch_tab(position,position-1); position--; break; case LEFT: if (menu != 0) { menu_position[menu] = position; menu = 0; position = menu_position[menu]; intro_animation(); } break; case QUIT: if (menu == 0) running = 0; else { menu_position[menu] = position; menu = 0; position = menu_position[menu]; intro_animation(); } break; default: break; } return position; }