/*
 * demonstrate form placing error
 */

#include <forms.h>
#include <signal.h>
#include <sys/time.h>

void alarm_handler(int signum, void *data) {
  static int i;
  printf("count: %i\n", ++i);
}

int main( int argc, char **argv ) {
  FL_FORM *f;
  FL_OBJECT *ob;
  struct itimerval value;

  fl_initialize(&argc, argv, "FormDemo", 0, 0);

  f = fl_bgn_form(FL_NO_BOX, 230, 160);
  fl_add_box(FL_UP_BOX, 0, 0, 230, 160, "");
  ob = fl_add_button(FL_NORMAL_BUTTON, 40, 50, 150, 60, "Push Me");
  fl_set_object_shortcut(ob, " ^p^m", 1);
  fl_end_form();

  /* add signal handler */
  fl_add_signal_callback(SIGALRM, alarm_handler, 0);

  /* setup timer */
  value.it_interval.tv_sec = value.it_value.tv_sec = 1;
  value.it_interval.tv_usec = value.it_value.tv_usec = 0;
  setitimer(ITIMER_REAL, &value, 0);

  fl_show_form(f, FL_PLACE_FREE, FL_FULLBORDER, "SimpleForm1");

  for(;;)
    fl_do_forms();

  return 0;
}

