static void on_highlight_widget (GtkWidget *button, GdkEvent *event, GtkInspectorWindow *iw) { GtkWidget *widget; widget = find_widget_at_pointer (gdk_event_get_device (event)); if (widget == NULL) { /* This window isn't in-process. Ignore it. */ return; } if (gtk_widget_get_toplevel (widget) == GTK_WIDGET (iw)) { /* Don't hilight things in the inspector window */ return; } if (iw->flash_widget == widget) { /* Already selected */ return; } clear_flash (iw); start_flash (iw, widget); }
void gtk_inspector_flash_widget (GtkInspectorWindow *iw, GtkWidget *widget) { if (iw->flash_cnx != 0) return; if (!gtk_widget_get_visible (widget) || !gtk_widget_get_mapped (widget)) return; start_flash (iw, widget); iw->flash_cnx = g_timeout_add (150, (GSourceFunc) on_flash_timeout, iw); }
void main(){ unsigned char digit,button; unsigned int len,i; unsigned int g_seed; unsigned int Xn_1; setup(); set_all_leds(0,0,0); delay(5); set_all_leds(0,0,0); delay(5); wait_button(); // Ожидание нажатия для начала раунда start_flash(); // Стартовое приветствие g_seed = get_seed(); // Захват стартового значения для ПСП delay(150); len = 1; // Установка длинны последовательности while(1){ /////////////////////////////////////////////// // Демонстрация последовательности /////////////////////////////////////////////// Xn_1 = g_seed; for(i=0;i<len;i++){ digit = get_next_psevdo_digit(&Xn_1); show_color(digit); delay(100); sound_stop(); set_all_leds(0,0,0); delay(50); } // Показали Последовательность /////////////////////////////////////////////////////// // ВВод и проверка последовательности /////////////////////////////////////////////////////// Xn_1 = g_seed; for(i=0;i<len;i++){ digit = get_next_psevdo_digit(&Xn_1); button = wait_button(); if(digit != button){ error(); // Ошибка break; }else{ // Ответ верен show_color(digit); // Индикация правильного ответа delay(100); sound_stop(); set_all_leds(0,0,0); delay(10); } }//for if(digit == button){ // Если Всё верно delay(30); set_all_leds(10,10,10); // Индикация, что ответ был правильный delay(5); set_all_leds(0,0,0); delay(100); len++; // Увеличение длинны последовательности continue; }else{ wait_button(); // Ожидание нажатия для начала следующего раунда start_flash(); // Стартовое приветствие g_seed = get_seed(); // Захват стартового значения для ПСП delay(10); len = 1; // Установка длинны последовательности } } }