void	menu_block_settings(t_fox_window *win, t_tekpain *paint)
{
  int		i;
  int		block;
  t_button	btns[7];

  i = 0;
  btns[0] = set_btn(BKS_H, setpos(846, 650), setpos(50, 50));
  btns[1] = set_btn(BKS_DOWN, setpos(906, 650), setpos(50, 50));
  btns[2] = set_btn(BKS_UP, setpos(965, 650), setpos(50, 50));
  btns[3] = set_btn(BKS_B, setpos(846, 710), setpos(50, 25));
  btns[4] = set_btn(BKS_N, setpos(846, 735), setpos(50, 25));
  btns[5] = set_btn(BKS_LEFT, setpos(906, 710), setpos(50, 50));
  btns[6] = set_btn(BKS_RIGHT, setpos(965, 710), setpos(50, 50));
  block = -1;
  while (i < 7)
    {
      if (in_box_button(setpos(win->mouse.pos->x,
	win->mouse.pos->y), btns[i]))
	block = btns[i].type;
      i++;
    }
  if (block > 0)
    menu_block_settings_act(win, paint, block);
}
Exemple #2
0
int main(void) {
	TRIG_DDR |= 1<<TRIG_BIT;
	HALF_DDR |= 1<<HALF_BIT;

	LED_DDR |= 1<<LED_BIT;

	DDRB |= (1<<PB3 | 1<<PB4);

	/* configure timer for PWM */
	ICR1 = 20000;
	TCCR1A = (1<<COM1A1)|(1<<COM1B1)|(1<<WGM11);
	TCCR1B = (1<<WGM13)|(1<<WGM12)|(1<<CS11);

	cam.enabled = 0;
	cam.interval = SNAPSHOT_INTERVAL;
	cam.servo_pos[0] = 127;
	cam.servo_pos[1] = 127;

	usiTwiSlaveInit(TWI_ADDRESS);
	usiTwiSetTransmitWindow( &cam, sizeof(cam) );

	sei();

	while (1) {
		OCR1B = SERVO_MIN+((uint16_t)cam.servo_pos[0]*(SERVO_MAX-SERVO_MIN)/255);
		OCR1A = SERVO_MIN+((uint16_t)cam.servo_pos[1]*(SERVO_MAX-SERVO_MIN)/255);

		if (cam.enabled) {
			LED_PORT |= (1<<LED_BIT);
			waylay(&cam.interval);
			LED_PORT &= ~(1<<LED_BIT);
			set_btn(HALF);
			_delay_ms(SNAPSHOT_FOCUS_MS);
			set_btn(PRESSED);
			_delay_ms(BTN_MS);
			set_btn(RELEASED);
			LED_PORT |= (1<<LED_BIT);
		} else {
			LED_PORT &= ~(1<<LED_BIT);
		}

	}
}
void		menu_block_save(t_fox_window *win, t_tekpain *paint)
{
  int		i;
  int		block;
  t_button	btns[3];

  i = 0;
  btns[0] = set_btn(1, setpos(25, 705), setpos(50, 50));
  btns[1] = set_btn(2, setpos(128, 717), setpos(30, 30));
  btns[2] = set_btn(3, setpos(173, 702), setpos(50, 50));
  while (i < 3)
    {
      if (in_box_button(setpos(win->mouse.pos->x,
      win->mouse.pos->y), btns[i]))
	block = btns[i].type;
      i++;
    }
  if (block == 1)
    export_format_bmp(win, paint);
  if (block == 2)
    color_swich(paint);
  if (block == 3)
    paint_save(paint);
}
int main(int argc, char* argv[]) 
{
    GError* err = NULL;
    
    gtk_init(&argc, &argv);

    gBuilder = gtk_builder_new();

    if (!gtk_builder_add_from_file(gBuilder, gTemplatePath, &err)) 
    {
        printf("Erro ao carregar layout: %s\n", err->message);
        g_free(err);
        return 0;
    }

    gWindow = GTK_WIDGET(gtk_builder_get_object(gBuilder, "window"));
    g_signal_connect(gWindow, "destroy", G_CALLBACK(gtk_main_quit), NULL);    

    { // Setting up Spin Buttons
        set_spin_btn(&gSpinCF, "spinCF");
        set_spin_btn(&gSpinPH, "spinPH");
        set_spin_btn(&gSpinDBO, "spinDBO");
        set_spin_btn(&gSpinNT, "spinNT");
        set_spin_btn(&gSpinFT, "spinFT");
        set_spin_btn(&gSpinDT, "spinDT");
        set_spin_btn(&gSpinTU, "spinTU");
        set_spin_btn(&gSpinOD, "spinOD");
        set_spin_btn(&gSpinST, "spinST");

        set_spin_btn_value(&gSpinCF, IQA_CF_WEIGHT);
        set_spin_btn_value(&gSpinPH, IQA_PH_WEIGHT);
        set_spin_btn_value(&gSpinDBO, IQA_DBO_WEIGHT);
        set_spin_btn_value(&gSpinNT, IQA_NT_WEIGHT);
        set_spin_btn_value(&gSpinFT, IQA_FT_WEIGHT);
        set_spin_btn_value(&gSpinDT, IQA_DT_WEIGHT);
        set_spin_btn_value(&gSpinTU, IQA_TU_WEIGHT);
        set_spin_btn_value(&gSpinOD, IQA_O2_WEIGHT);
        set_spin_btn_value(&gSpinST, IQA_ST_WEIGHT);    
    }

    { // Setting up Entries
        set_entry(&gEntryCF, "entryCF");
        set_entry(&gEntryPH, "entryPH");
        set_entry(&gEntryDBO, "entryDBO");
        set_entry(&gEntryNT, "entryNT");
        set_entry(&gEntryFT, "entryFT");
        set_entry(&gEntryDT, "entryDT");
        set_entry(&gEntryTU, "entryTU");
        set_entry(&gEntryOD, "entryOD");
        set_entry(&gEntryST, "entryST");

        set_entry(&gEntryIQA, "entryIQA");
        set_entry(&gEntryIQAIndex, "entryIQAIndex");
    }

    { // Setting up buttons
        set_btn(&gBtnCalculate, "btnCalculate");
        set_btn(&gBtnClean, "btnClean");
        set_btn(&gBtnReport, "btnReport");
        set_btn(&gBtnAbout, "btnAbout");

        // Button actions
        g_signal_connect(gBtnCalculate, "clicked", G_CALLBACK(calculate_iqa), NULL);
    }

    gtk_widget_show_all(gWindow);

    gtk_main();

    return 0;
}
void		menu_block_outils(t_fox_window *win, t_tekpain *paint)
{
  int		i;
  t_button	btns[12];

  i = 0;
  btns[0] = set_btn(BKS_P, setpos(239, 650), setpos(50, 50));
  btns[1] = set_btn(BKS_K, setpos(296, 650), setpos(50, 50));
  btns[2] = set_btn(BKS_L, setpos(353, 650), setpos(50, 50));
  btns[3] = set_btn(BKS_A, setpos(410, 650), setpos(50, 50));
  btns[4] = set_btn(BKS_E, setpos(468, 650), setpos(50, 50));
  btns[5] = set_btn(BKS_T, setpos(526, 650), setpos(50, 50));
  btns[6] = set_btn(BKS_F, setpos(239, 705), setpos(50, 50));
  btns[7] = set_btn(BKS_G, setpos(296, 705), setpos(50, 50));
  btns[8] = set_btn(BKS_O, setpos(353, 705), setpos(50, 50));
  btns[9] = set_btn(BKS_Z, setpos(410, 705), setpos(50, 50));
  btns[10] = set_btn(BKS_R, setpos(468, 705), setpos(50, 50));
  btns[11] = set_btn(BKS_M, setpos(526, 705), setpos(50, 50));
  while (i < 12)
    {
      if (in_box_button(setpos(win->mouse.pos->x,
			       win->mouse.pos->y), btns[i]))
	(btns[i].type == BKS_M) ? (paint->menu_toggle = 0) :
	  (paint->type = btns[i].type);
      i++;
    }
}
RightButton::RightButton() {
    set_status(true); set_btn(this);
}