Exemple #1
0
int main(int argc, char **argv) {
  Fl_Window *window = new Fl_Window(300,180);
  Fl_Box *box = new Fl_Box(FL_UP_BOX,20,40,260,100,"Hello, World!");
  box->labelfont(FL_BOLD+FL_ITALIC);
  box->labelsize(36);
  box->labeltype(FL_SHADOW_LABEL);
  window->end();
  window->show(argc, argv);
  return Fl::run();
}
int main(int argc, char *argv[]) {
    	Fl_Window *window = new Fl_Window (800,700,"TETRIS");
	window->color(56);
	Board *b = new Board();
	Fl_Box *scorebox = new Fl_Box(tilesize*xmaxtiles+10,50,300,200,"Score: 0\0");
	scorebox->box(FL_UP_BOX);
	scorebox->labelfont(FL_BOLD+FL_ITALIC);
    scorebox->labelsize(36);
    scorebox->labeltype(FL_ENGRAVED_LABEL);
	b->setScoreBox(&scorebox); 
	Fl_Box *exi = new Fl_Box(tilesize*2,ymaxtiles*15,300,200,"Press Escape to Exit");
	exi->box(FL_UP_BOX);
	exi->labelfont(FL_BOLD+FL_ITALIC);
	exi->labelsize(36);
	exi->labeltype(FL_ENGRAVED_LABEL);
	window->end(); 
   	window->show();
   	
	Fl::add_timeout(0.1, timeractions,b);
    	return(Fl::run());
}
Exemple #3
0
int main(int argc, char **argv) {
  Fl_Window *window = new Fl_Window(340,180,"世界へようこそ!");
  Fl_Box *box = new Fl_Box(20,40,300,100,"ようこそ、世界!"); 
  Fl::set_font(FL_HELVETICA, "Kochi Mincho");

  window->begin();

  // Fl_Widget(x, y, width, height, label)

  //box->box(FL_UP_BOX);
  box->box(FL_NO_BOX);
  box->labelsize(36);
  box->labeltype(FL_SHADOW_LABEL);

  window->end();
  window->show(argc, argv);

  return Fl::run();
}
Exemple #4
0
stereogui::stereogui() {
  { stereo_calibration = new Fl_Window(785, 400, "Stereo Calibration");
    stereo_calibration->labelsize(11);
    stereo_calibration->user_data((void*)(this));
    { Fl_Group* o = new Fl_Group(10, 10, 850, 355);
      { window_tab = new Fl_Tabs(10, 10, 665, 285);
        window_tab->box(FL_UP_BOX);
        window_tab->labeltype(FL_NO_LABEL);
        { tab0 = new Fl_Group(25, 55, 660, 250, "Stereo               ");
          tab0->labelsize(11);
          tab0->user_data((void*)(-1));
          { Fl_Group* o = new Fl_Group(30, 55, 645, 245);
            { Fl_Group* o = new Fl_Group(30, 55, 320, 245);
              { Fl_Box* o = new Fl_Box(30, 55, 320, 240);
                o->box(FL_EMBOSSED_FRAME);
                o->labeltype(FL_NO_LABEL);
              } // Fl_Box* o
              { calLeft0 = new calImageWindow(30, 55, 320, 240);
                calLeft0->box(FL_NO_BOX);
                calLeft0->color(FL_BACKGROUND_COLOR);
                calLeft0->selection_color(FL_BACKGROUND_COLOR);
                calLeft0->labeltype(FL_NO_LABEL);
                calLeft0->labelfont(0);
                calLeft0->labelsize(14);
                calLeft0->labelcolor(FL_FOREGROUND_COLOR);
                calLeft0->align(FL_ALIGN_CENTER);
                calLeft0->when(FL_WHEN_RELEASE);
              } // calImageWindow* calLeft0
              o->end();
            } // Fl_Group* o
            { Fl_Group* o = new Fl_Group(355, 55, 320, 245);
              { Fl_Box* o = new Fl_Box(355, 55, 320, 240);
                o->box(FL_EMBOSSED_FRAME);
                o->labeltype(FL_NO_LABEL);
              } // Fl_Box* o
              { calRight0 = new calImageWindow(355, 55, 320, 240);
                calRight0->box(FL_NO_BOX);
                calRight0->color(FL_BACKGROUND_COLOR);
                calRight0->selection_color(FL_BACKGROUND_COLOR);
                calRight0->labeltype(FL_NO_LABEL);
                calRight0->labelfont(0);
                calRight0->labelsize(14);
                calRight0->labelcolor(FL_FOREGROUND_COLOR);
                calRight0->align(FL_ALIGN_CENTER);
                calRight0->when(FL_WHEN_RELEASE);
              } // calImageWindow* calRight0
              o->end();
            } // Fl_Group* o
            o->end();
          } // Fl_Group* o
          tab0->end();
        } // Fl_Group* tab0
        { tab1 = new Fl_Group(15, 45, 660, 250, " 1 ");
          tab1->labelsize(11);
          tab1->user_data((void*)(0));
          tab1->hide();
          tab1->deactivate();
          { Fl_Group* o = new Fl_Group(20, 45, 645, 245);
            { Fl_Group* o = new Fl_Group(20, 45, 320, 245);
              { Fl_Box* o = new Fl_Box(20, 45, 320, 240);
                o->box(FL_EMBOSSED_FRAME);
                o->labeltype(FL_NO_LABEL);
              } // Fl_Box* o
              { calLeft1 = new calImageWindow(20, 45, 320, 240);
                calLeft1->box(FL_NO_BOX);
                calLeft1->color(FL_BACKGROUND_COLOR);
                calLeft1->selection_color(FL_BACKGROUND_COLOR);
                calLeft1->labeltype(FL_NO_LABEL);
                calLeft1->labelfont(0);
                calLeft1->labelsize(14);
                calLeft1->labelcolor(FL_FOREGROUND_COLOR);
                calLeft1->align(FL_ALIGN_CENTER);
                calLeft1->when(FL_WHEN_RELEASE);
              } // calImageWindow* calLeft1
              o->end();
            } // Fl_Group* o
            { Fl_Group* o = new Fl_Group(345, 45, 320, 245);
              { Fl_Box* o = new Fl_Box(345, 45, 320, 240);
                o->box(FL_EMBOSSED_FRAME);
                o->labeltype(FL_NO_LABEL);
              } // Fl_Box* o
              { calRight1 = new calImageWindow(345, 45, 320, 240);
                calRight1->box(FL_NO_BOX);
                calRight1->color(FL_BACKGROUND_COLOR);
                calRight1->selection_color(FL_BACKGROUND_COLOR);
                calRight1->labeltype(FL_NO_LABEL);
                calRight1->labelfont(0);
                calRight1->labelsize(14);
                calRight1->labelcolor(FL_FOREGROUND_COLOR);
                calRight1->align(FL_ALIGN_CENTER);
                calRight1->when(FL_WHEN_RELEASE);
              } // calImageWindow* calRight1
              o->end();
            } // Fl_Group* o
            o->end();
          } // Fl_Group* o
          tab1->end();
        } // Fl_Group* tab1
        { tab2 = new Fl_Group(15, 35, 660, 260, " 2");
          tab2->labelsize(11);
          tab2->user_data((void*)(1));
          tab2->hide();
          { Fl_Group* o = new Fl_Group(20, 45, 645, 245);
            { Fl_Group* o = new Fl_Group(20, 45, 320, 245);
              { Fl_Box* o = new Fl_Box(20, 50, 320, 235);
                o->box(FL_EMBOSSED_FRAME);
                o->labeltype(FL_NO_LABEL);
              } // Fl_Box* o
              { calLeft2 = new calImageWindow(20, 45, 320, 240);
                calLeft2->box(FL_NO_BOX);
                calLeft2->color(FL_BACKGROUND_COLOR);
                calLeft2->selection_color(FL_BACKGROUND_COLOR);
                calLeft2->labeltype(FL_NO_LABEL);
                calLeft2->labelfont(0);
                calLeft2->labelsize(14);
                calLeft2->labelcolor(FL_FOREGROUND_COLOR);
                calLeft2->align(FL_ALIGN_CENTER);
                calLeft2->when(FL_WHEN_RELEASE);
              } // calImageWindow* calLeft2
              o->end();
            } // Fl_Group* o
            { Fl_Group* o = new Fl_Group(345, 45, 320, 240);
              { Fl_Box* o = new Fl_Box(345, 50, 320, 235);
                o->box(FL_EMBOSSED_FRAME);
                o->labeltype(FL_NO_LABEL);
              } // Fl_Box* o
              { calRight2 = new calImageWindow(345, 45, 320, 240);
                calRight2->box(FL_NO_BOX);
                calRight2->color(FL_BACKGROUND_COLOR);
                calRight2->selection_color(FL_BACKGROUND_COLOR);
                calRight2->labeltype(FL_NO_LABEL);
                calRight2->labelfont(0);
                calRight2->labelsize(14);
                calRight2->labelcolor(FL_FOREGROUND_COLOR);
                calRight2->align(FL_ALIGN_CENTER);
                calRight2->when(FL_WHEN_RELEASE);
              } // calImageWindow* calRight2
              o->end();
            } // Fl_Group* o
            o->end();
          } // Fl_Group* o
          tab2->end();
        } // Fl_Group* tab2
        { tab3 = new Fl_Group(15, 35, 660, 260, " 3");
          tab3->labelsize(11);
          tab3->user_data((void*)(2));
          tab3->hide();
          { Fl_Group* o = new Fl_Group(20, 45, 645, 245);
            { Fl_Group* o = new Fl_Group(20, 45, 320, 245);
              { Fl_Box* o = new Fl_Box(20, 50, 320, 235);
                o->box(FL_EMBOSSED_FRAME);
                o->labeltype(FL_NO_LABEL);
              } // Fl_Box* o
              { calLeft3 = new calImageWindow(20, 45, 320, 240);
                calLeft3->box(FL_NO_BOX);
                calLeft3->color(FL_BACKGROUND_COLOR);
                calLeft3->selection_color(FL_BACKGROUND_COLOR);
                calLeft3->labeltype(FL_NO_LABEL);
                calLeft3->labelfont(0);
                calLeft3->labelsize(14);
                calLeft3->labelcolor(FL_FOREGROUND_COLOR);
                calLeft3->align(FL_ALIGN_CENTER);
                calLeft3->when(FL_WHEN_RELEASE);
              } // calImageWindow* calLeft3
              o->end();
            } // Fl_Group* o
            { Fl_Group* o = new Fl_Group(345, 45, 320, 240);
              { Fl_Box* o = new Fl_Box(345, 50, 320, 235);
                o->box(FL_EMBOSSED_FRAME);
                o->labeltype(FL_NO_LABEL);
              } // Fl_Box* o
              { calRight3 = new calImageWindow(345, 45, 320, 240);
                calRight3->box(FL_NO_BOX);
                calRight3->color(FL_BACKGROUND_COLOR);
                calRight3->selection_color(FL_BACKGROUND_COLOR);
                calRight3->labeltype(FL_NO_LABEL);
                calRight3->labelfont(0);
                calRight3->labelsize(14);
                calRight3->labelcolor(FL_FOREGROUND_COLOR);
                calRight3->align(FL_ALIGN_CENTER);
                calRight3->when(FL_WHEN_RELEASE);
              } // calImageWindow* calRight3
              o->end();
            } // Fl_Group* o
            o->end();
          } // Fl_Group* o
          tab3->end();
        } // Fl_Group* tab3
        { tab4 = new Fl_Group(15, 35, 660, 260, " 4");
          tab4->labelsize(11);
          tab4->user_data((void*)(3));
          tab4->hide();
          { Fl_Group* o = new Fl_Group(20, 45, 645, 245);
            { Fl_Group* o = new Fl_Group(20, 45, 320, 245);
              { Fl_Box* o = new Fl_Box(20, 50, 320, 235);
                o->box(FL_EMBOSSED_FRAME);
                o->labeltype(FL_NO_LABEL);
              } // Fl_Box* o
              { calLeft4 = new calImageWindow(20, 45, 320, 240);
                calLeft4->box(FL_NO_BOX);
                calLeft4->color(FL_BACKGROUND_COLOR);
                calLeft4->selection_color(FL_BACKGROUND_COLOR);
                calLeft4->labeltype(FL_NO_LABEL);
                calLeft4->labelfont(0);
                calLeft4->labelsize(14);
                calLeft4->labelcolor(FL_FOREGROUND_COLOR);
                calLeft4->align(FL_ALIGN_CENTER);
                calLeft4->when(FL_WHEN_RELEASE);
              } // calImageWindow* calLeft4
              o->end();
            } // Fl_Group* o
            { Fl_Group* o = new Fl_Group(345, 45, 320, 240);
              { Fl_Box* o = new Fl_Box(345, 50, 320, 235);
                o->box(FL_EMBOSSED_FRAME);
                o->labeltype(FL_NO_LABEL);
              } // Fl_Box* o
              { calRight4 = new calImageWindow(345, 45, 320, 240);
                calRight4->box(FL_NO_BOX);
                calRight4->color(FL_BACKGROUND_COLOR);
                calRight4->selection_color(FL_BACKGROUND_COLOR);
                calRight4->labeltype(FL_NO_LABEL);
                calRight4->labelfont(0);
                calRight4->labelsize(14);
                calRight4->labelcolor(FL_FOREGROUND_COLOR);
                calRight4->align(FL_ALIGN_CENTER);
                calRight4->when(FL_WHEN_RELEASE);
              } // calImageWindow* calRight4
              o->end();
            } // Fl_Group* o
            o->end();
          } // Fl_Group* o
          tab4->end();
        } // Fl_Group* tab4
        { tab5 = new Fl_Group(15, 35, 660, 260, " 5");
          tab5->labelsize(11);
          tab5->user_data((void*)(4));
          tab5->hide();
          { Fl_Group* o = new Fl_Group(20, 45, 645, 245);
            { Fl_Group* o = new Fl_Group(20, 45, 320, 245);
              { Fl_Box* o = new Fl_Box(20, 50, 320, 235);
                o->box(FL_EMBOSSED_FRAME);
                o->labeltype(FL_NO_LABEL);
              } // Fl_Box* o
              { calLeft5 = new calImageWindow(20, 45, 320, 240);
                calLeft5->box(FL_NO_BOX);
                calLeft5->color(FL_BACKGROUND_COLOR);
                calLeft5->selection_color(FL_BACKGROUND_COLOR);
                calLeft5->labeltype(FL_NO_LABEL);
                calLeft5->labelfont(0);
                calLeft5->labelsize(14);
                calLeft5->labelcolor(FL_FOREGROUND_COLOR);
                calLeft5->align(FL_ALIGN_CENTER);
                calLeft5->when(FL_WHEN_RELEASE);
              } // calImageWindow* calLeft5
              o->end();
            } // Fl_Group* o
            { Fl_Group* o = new Fl_Group(345, 45, 320, 240);
              { Fl_Box* o = new Fl_Box(345, 50, 320, 235);
                o->box(FL_EMBOSSED_FRAME);
                o->labeltype(FL_NO_LABEL);
              } // Fl_Box* o
              { calRight5 = new calImageWindow(345, 45, 320, 240);
                calRight5->box(FL_NO_BOX);
                calRight5->color(FL_BACKGROUND_COLOR);
                calRight5->selection_color(FL_BACKGROUND_COLOR);
                calRight5->labeltype(FL_NO_LABEL);
                calRight5->labelfont(0);
                calRight5->labelsize(14);
                calRight5->labelcolor(FL_FOREGROUND_COLOR);
                calRight5->align(FL_ALIGN_CENTER);
                calRight5->when(FL_WHEN_RELEASE);
              } // calImageWindow* calRight5
              o->end();
            } // Fl_Group* o
            o->end();
          } // Fl_Group* o
          tab5->end();
        } // Fl_Group* tab5
        { tab6 = new Fl_Group(15, 35, 660, 260, " 6");
          tab6->labelsize(11);
          tab6->user_data((void*)(5));
          tab6->hide();
          { Fl_Group* o = new Fl_Group(20, 45, 645, 245);
            { Fl_Group* o = new Fl_Group(20, 45, 320, 245);
              { Fl_Box* o = new Fl_Box(20, 50, 320, 235);
                o->box(FL_EMBOSSED_FRAME);
                o->labeltype(FL_NO_LABEL);
              } // Fl_Box* o
              { calLeft6 = new calImageWindow(20, 45, 320, 240);
                calLeft6->box(FL_NO_BOX);
                calLeft6->color(FL_BACKGROUND_COLOR);
                calLeft6->selection_color(FL_BACKGROUND_COLOR);
                calLeft6->labeltype(FL_NO_LABEL);
                calLeft6->labelfont(0);
                calLeft6->labelsize(14);
                calLeft6->labelcolor(FL_FOREGROUND_COLOR);
                calLeft6->align(FL_ALIGN_CENTER);
                calLeft6->when(FL_WHEN_RELEASE);
              } // calImageWindow* calLeft6
              o->end();
            } // Fl_Group* o
            { Fl_Group* o = new Fl_Group(345, 45, 320, 240);
              { Fl_Box* o = new Fl_Box(345, 50, 320, 235);
                o->box(FL_EMBOSSED_FRAME);
                o->labeltype(FL_NO_LABEL);
              } // Fl_Box* o
              { calRight6 = new calImageWindow(345, 45, 320, 240);
                calRight6->box(FL_NO_BOX);
                calRight6->color(FL_BACKGROUND_COLOR);
                calRight6->selection_color(FL_BACKGROUND_COLOR);
                calRight6->labeltype(FL_NO_LABEL);
                calRight6->labelfont(0);
                calRight6->labelsize(14);
                calRight6->labelcolor(FL_FOREGROUND_COLOR);
                calRight6->align(FL_ALIGN_CENTER);
                calRight6->when(FL_WHEN_RELEASE);
              } // calImageWindow* calRight6
              o->end();
            } // Fl_Group* o
            o->end();
          } // Fl_Group* o
          tab6->end();
        } // Fl_Group* tab6
        { tab7 = new Fl_Group(15, 35, 660, 260, " 7");
          tab7->labelsize(11);
          tab7->user_data((void*)(6));
          tab7->hide();
          { Fl_Group* o = new Fl_Group(20, 45, 645, 245);
            { Fl_Group* o = new Fl_Group(20, 45, 320, 245);
              { Fl_Box* o = new Fl_Box(20, 50, 320, 235);
                o->box(FL_EMBOSSED_FRAME);
                o->labeltype(FL_NO_LABEL);
              } // Fl_Box* o
              { calLeft7 = new calImageWindow(20, 45, 320, 240);
                calLeft7->box(FL_NO_BOX);
                calLeft7->color(FL_BACKGROUND_COLOR);
                calLeft7->selection_color(FL_BACKGROUND_COLOR);
                calLeft7->labeltype(FL_NO_LABEL);
                calLeft7->labelfont(0);
                calLeft7->labelsize(14);
                calLeft7->labelcolor(FL_FOREGROUND_COLOR);
                calLeft7->align(FL_ALIGN_CENTER);
                calLeft7->when(FL_WHEN_RELEASE);
              } // calImageWindow* calLeft7
              o->end();
            } // Fl_Group* o
            { Fl_Group* o = new Fl_Group(345, 45, 320, 240);
              { Fl_Box* o = new Fl_Box(345, 50, 320, 235);
                o->box(FL_EMBOSSED_FRAME);
                o->labeltype(FL_NO_LABEL);
              } // Fl_Box* o
              { calRight7 = new calImageWindow(345, 45, 320, 240);
                calRight7->box(FL_NO_BOX);
                calRight7->color(FL_BACKGROUND_COLOR);
                calRight7->selection_color(FL_BACKGROUND_COLOR);
                calRight7->labeltype(FL_NO_LABEL);
                calRight7->labelfont(0);
                calRight7->labelsize(14);
                calRight7->labelcolor(FL_FOREGROUND_COLOR);
                calRight7->align(FL_ALIGN_CENTER);
                calRight7->when(FL_WHEN_RELEASE);
              } // calImageWindow* calRight7
              o->end();
            } // Fl_Group* o
            o->end();
          } // Fl_Group* o
          tab7->end();
        } // Fl_Group* tab7
        { tab8 = new Fl_Group(15, 35, 660, 260, " 8");
          tab8->labelsize(11);
          tab8->user_data((void*)(7));
          tab8->hide();
          { Fl_Group* o = new Fl_Group(20, 45, 645, 245);
            { Fl_Group* o = new Fl_Group(20, 45, 320, 245);
              { Fl_Box* o = new Fl_Box(20, 50, 320, 235);
                o->box(FL_EMBOSSED_FRAME);
                o->labeltype(FL_NO_LABEL);
              } // Fl_Box* o
              { calLeft8 = new calImageWindow(20, 45, 320, 240);
                calLeft8->box(FL_NO_BOX);
                calLeft8->color(FL_BACKGROUND_COLOR);
                calLeft8->selection_color(FL_BACKGROUND_COLOR);
                calLeft8->labeltype(FL_NO_LABEL);
                calLeft8->labelfont(0);
                calLeft8->labelsize(14);
                calLeft8->labelcolor(FL_FOREGROUND_COLOR);
                calLeft8->align(FL_ALIGN_CENTER);
                calLeft8->when(FL_WHEN_RELEASE);
              } // calImageWindow* calLeft8
              o->end();
            } // Fl_Group* o
            { Fl_Group* o = new Fl_Group(345, 45, 320, 240);
              { Fl_Box* o = new Fl_Box(345, 50, 320, 235);
                o->box(FL_EMBOSSED_FRAME);
                o->labeltype(FL_NO_LABEL);
              } // Fl_Box* o
              { calRight8 = new calImageWindow(345, 45, 320, 240);
                calRight8->box(FL_NO_BOX);
                calRight8->color(FL_BACKGROUND_COLOR);
                calRight8->selection_color(FL_BACKGROUND_COLOR);
                calRight8->labeltype(FL_NO_LABEL);
                calRight8->labelfont(0);
                calRight8->labelsize(14);
                calRight8->labelcolor(FL_FOREGROUND_COLOR);
                calRight8->align(FL_ALIGN_CENTER);
                calRight8->when(FL_WHEN_RELEASE);
              } // calImageWindow* calRight8
              o->end();
            } // Fl_Group* o
            o->end();
          } // Fl_Group* o
          tab8->end();
        } // Fl_Group* tab8
        { tab9 = new Fl_Group(15, 35, 660, 260, " 9");
          tab9->labelsize(11);
          tab9->user_data((void*)(8));
          tab9->hide();
          { Fl_Group* o = new Fl_Group(20, 45, 645, 245);
            { Fl_Group* o = new Fl_Group(20, 45, 320, 245);
              { Fl_Box* o = new Fl_Box(20, 50, 320, 235);
                o->box(FL_EMBOSSED_FRAME);
                o->labeltype(FL_NO_LABEL);
              } // Fl_Box* o
              { calLeft9 = new calImageWindow(20, 45, 320, 240);
                calLeft9->box(FL_NO_BOX);
                calLeft9->color(FL_BACKGROUND_COLOR);
                calLeft9->selection_color(FL_BACKGROUND_COLOR);
                calLeft9->labeltype(FL_NO_LABEL);
                calLeft9->labelfont(0);
                calLeft9->labelsize(14);
                calLeft9->labelcolor(FL_FOREGROUND_COLOR);
                calLeft9->align(FL_ALIGN_CENTER);
                calLeft9->when(FL_WHEN_RELEASE);
              } // calImageWindow* calLeft9
              o->end();
            } // Fl_Group* o
            { Fl_Group* o = new Fl_Group(345, 45, 320, 240);
              { Fl_Box* o = new Fl_Box(345, 50, 320, 235);
                o->box(FL_EMBOSSED_FRAME);
                o->labeltype(FL_NO_LABEL);
              } // Fl_Box* o
              { calRight9 = new calImageWindow(345, 45, 320, 240);
                calRight9->box(FL_NO_BOX);
                calRight9->color(FL_BACKGROUND_COLOR);
                calRight9->selection_color(FL_BACKGROUND_COLOR);
                calRight9->labeltype(FL_NO_LABEL);
                calRight9->labelfont(0);
                calRight9->labelsize(14);
                calRight9->labelcolor(FL_FOREGROUND_COLOR);
                calRight9->align(FL_ALIGN_CENTER);
                calRight9->when(FL_WHEN_RELEASE);
              } // calImageWindow* calRight9
              o->end();
            } // Fl_Group* o
            o->end();
          } // Fl_Group* o
          tab9->end();
        } // Fl_Group* tab9
        { tab10 = new Fl_Group(15, 35, 660, 260, " 10");
          tab10->labelsize(11);
          tab10->user_data((void*)(9));
          tab10->hide();
          { Fl_Group* o = new Fl_Group(20, 45, 645, 245);
            { Fl_Group* o = new Fl_Group(20, 45, 320, 245);
              { Fl_Box* o = new Fl_Box(20, 50, 320, 235);
                o->box(FL_EMBOSSED_FRAME);
                o->labeltype(FL_NO_LABEL);
              } // Fl_Box* o
              { calLeft10 = new calImageWindow(20, 45, 320, 240);
                calLeft10->box(FL_NO_BOX);
                calLeft10->color(FL_BACKGROUND_COLOR);
                calLeft10->selection_color(FL_BACKGROUND_COLOR);
                calLeft10->labeltype(FL_NO_LABEL);
                calLeft10->labelfont(0);
                calLeft10->labelsize(14);
                calLeft10->labelcolor(FL_FOREGROUND_COLOR);
                calLeft10->align(FL_ALIGN_CENTER);
                calLeft10->when(FL_WHEN_RELEASE);
              } // calImageWindow* calLeft10
              o->end();
            } // Fl_Group* o
            { Fl_Group* o = new Fl_Group(345, 45, 320, 240);
              { Fl_Box* o = new Fl_Box(345, 50, 320, 235);
                o->box(FL_EMBOSSED_FRAME);
                o->labeltype(FL_NO_LABEL);
              } // Fl_Box* o
              { calRight10 = new calImageWindow(345, 45, 320, 240);
                calRight10->box(FL_NO_BOX);
                calRight10->color(FL_BACKGROUND_COLOR);
                calRight10->selection_color(FL_BACKGROUND_COLOR);
                calRight10->labeltype(FL_NO_LABEL);
                calRight10->labelfont(0);
                calRight10->labelsize(14);
                calRight10->labelcolor(FL_FOREGROUND_COLOR);
                calRight10->align(FL_ALIGN_CENTER);
                calRight10->when(FL_WHEN_RELEASE);
              } // calImageWindow* calRight10
              o->end();
            } // Fl_Group* o
            o->end();
          } // Fl_Group* o
          tab10->end();
        } // Fl_Group* tab10
        { tab11 = new Fl_Group(15, 35, 660, 260, " 11");
          tab11->labelsize(11);
          tab11->user_data((void*)(10));
          tab11->hide();
          { Fl_Group* o = new Fl_Group(20, 45, 645, 245);
            { Fl_Group* o = new Fl_Group(20, 45, 320, 245);
              { Fl_Box* o = new Fl_Box(20, 50, 320, 235);
                o->box(FL_EMBOSSED_FRAME);
                o->labeltype(FL_NO_LABEL);
              } // Fl_Box* o
              { calLeft11 = new calImageWindow(20, 45, 320, 240);
                calLeft11->box(FL_NO_BOX);
                calLeft11->color(FL_BACKGROUND_COLOR);
                calLeft11->selection_color(FL_BACKGROUND_COLOR);
                calLeft11->labeltype(FL_NO_LABEL);
                calLeft11->labelfont(0);
                calLeft11->labelsize(14);
                calLeft11->labelcolor(FL_FOREGROUND_COLOR);
                calLeft11->align(FL_ALIGN_CENTER);
                calLeft11->when(FL_WHEN_RELEASE);
              } // calImageWindow* calLeft11
              o->end();
            } // Fl_Group* o
            { Fl_Group* o = new Fl_Group(345, 45, 320, 240);
              { Fl_Box* o = new Fl_Box(345, 50, 320, 235);
                o->box(FL_EMBOSSED_FRAME);
                o->labeltype(FL_NO_LABEL);
              } // Fl_Box* o
              { calRight11 = new calImageWindow(345, 45, 320, 240);
                calRight11->box(FL_NO_BOX);
                calRight11->color(FL_BACKGROUND_COLOR);
                calRight11->selection_color(FL_BACKGROUND_COLOR);
                calRight11->labeltype(FL_NO_LABEL);
                calRight11->labelfont(0);
                calRight11->labelsize(14);
                calRight11->labelcolor(FL_FOREGROUND_COLOR);
                calRight11->align(FL_ALIGN_CENTER);
                calRight11->when(FL_WHEN_RELEASE);
              } // calImageWindow* calRight11
              o->end();
            } // Fl_Group* o
            o->end();
          } // Fl_Group* o
          tab11->end();
        } // Fl_Group* tab11
        { tab12 = new Fl_Group(15, 35, 660, 260, " 12");
          tab12->labelsize(11);
          tab12->user_data((void*)(11));
          tab12->hide();
          { Fl_Group* o = new Fl_Group(20, 45, 645, 245);
            { Fl_Group* o = new Fl_Group(20, 45, 320, 245);
              { Fl_Box* o = new Fl_Box(20, 50, 320, 235);
                o->box(FL_EMBOSSED_FRAME);
                o->labeltype(FL_NO_LABEL);
              } // Fl_Box* o
              { calLeft12 = new calImageWindow(20, 45, 320, 240);
                calLeft12->box(FL_NO_BOX);
                calLeft12->color(FL_BACKGROUND_COLOR);
                calLeft12->selection_color(FL_BACKGROUND_COLOR);
                calLeft12->labeltype(FL_NO_LABEL);
                calLeft12->labelfont(0);
                calLeft12->labelsize(14);
                calLeft12->labelcolor(FL_FOREGROUND_COLOR);
                calLeft12->align(FL_ALIGN_CENTER);
                calLeft12->when(FL_WHEN_RELEASE);
              } // calImageWindow* calLeft12
              o->end();
            } // Fl_Group* o
            { Fl_Group* o = new Fl_Group(345, 45, 320, 240);
              { Fl_Box* o = new Fl_Box(345, 50, 320, 235);
                o->box(FL_EMBOSSED_FRAME);
                o->labeltype(FL_NO_LABEL);
              } // Fl_Box* o
              { calRight12 = new calImageWindow(345, 45, 320, 240);
                calRight12->box(FL_NO_BOX);
                calRight12->color(FL_BACKGROUND_COLOR);
                calRight12->selection_color(FL_BACKGROUND_COLOR);
                calRight12->labeltype(FL_NO_LABEL);
                calRight12->labelfont(0);
                calRight12->labelsize(14);
                calRight12->labelcolor(FL_FOREGROUND_COLOR);
                calRight12->align(FL_ALIGN_CENTER);
                calRight12->when(FL_WHEN_RELEASE);
              } // calImageWindow* calRight12
              o->end();
            } // Fl_Group* o
            o->end();
          } // Fl_Group* o
          tab12->end();
        } // Fl_Group* tab12
        { tab13 = new Fl_Group(15, 35, 660, 260, " 13");
          tab13->labelsize(11);
          tab13->user_data((void*)(12));
          tab13->hide();
          { Fl_Group* o = new Fl_Group(20, 45, 645, 245);
            { Fl_Group* o = new Fl_Group(20, 45, 320, 245);
              { Fl_Box* o = new Fl_Box(20, 50, 320, 235);
                o->box(FL_EMBOSSED_FRAME);
                o->labeltype(FL_NO_LABEL);
              } // Fl_Box* o
              { calLeft13 = new calImageWindow(20, 45, 320, 240);
                calLeft13->box(FL_NO_BOX);
                calLeft13->color(FL_BACKGROUND_COLOR);
                calLeft13->selection_color(FL_BACKGROUND_COLOR);
                calLeft13->labeltype(FL_NO_LABEL);
                calLeft13->labelfont(0);
                calLeft13->labelsize(14);
                calLeft13->labelcolor(FL_FOREGROUND_COLOR);
                calLeft13->align(FL_ALIGN_CENTER);
                calLeft13->when(FL_WHEN_RELEASE);
              } // calImageWindow* calLeft13
              o->end();
            } // Fl_Group* o
            { Fl_Group* o = new Fl_Group(345, 45, 320, 240);
              { Fl_Box* o = new Fl_Box(345, 50, 320, 235);
                o->box(FL_EMBOSSED_FRAME);
                o->labeltype(FL_NO_LABEL);
              } // Fl_Box* o
              { calRight13 = new calImageWindow(345, 45, 320, 240);
                calRight13->box(FL_NO_BOX);
                calRight13->color(FL_BACKGROUND_COLOR);
                calRight13->selection_color(FL_BACKGROUND_COLOR);
                calRight13->labeltype(FL_NO_LABEL);
                calRight13->labelfont(0);
                calRight13->labelsize(14);
                calRight13->labelcolor(FL_FOREGROUND_COLOR);
                calRight13->align(FL_ALIGN_CENTER);
                calRight13->when(FL_WHEN_RELEASE);
              } // calImageWindow* calRight13
              o->end();
            } // Fl_Group* o
            o->end();
          } // Fl_Group* o
          tab13->end();
        } // Fl_Group* tab13
        { tab14 = new Fl_Group(15, 35, 660, 260, " 14");
          tab14->labelsize(11);
          tab14->user_data((void*)(13));
          tab14->hide();
          { Fl_Group* o = new Fl_Group(20, 45, 645, 245);
            { Fl_Group* o = new Fl_Group(20, 45, 320, 245);
              { Fl_Box* o = new Fl_Box(20, 50, 320, 235);
                o->box(FL_EMBOSSED_FRAME);
                o->labeltype(FL_NO_LABEL);
              } // Fl_Box* o
              { calLeft14 = new calImageWindow(20, 45, 320, 240);
                calLeft14->box(FL_NO_BOX);
                calLeft14->color(FL_BACKGROUND_COLOR);
                calLeft14->selection_color(FL_BACKGROUND_COLOR);
                calLeft14->labeltype(FL_NO_LABEL);
                calLeft14->labelfont(0);
                calLeft14->labelsize(14);
                calLeft14->labelcolor(FL_FOREGROUND_COLOR);
                calLeft14->align(FL_ALIGN_CENTER);
                calLeft14->when(FL_WHEN_RELEASE);
              } // calImageWindow* calLeft14
              o->end();
            } // Fl_Group* o
            { Fl_Group* o = new Fl_Group(345, 45, 320, 240);
              { Fl_Box* o = new Fl_Box(345, 50, 320, 235);
                o->box(FL_EMBOSSED_FRAME);
                o->labeltype(FL_NO_LABEL);
              } // Fl_Box* o
              { calRight14 = new calImageWindow(345, 45, 320, 240);
                calRight14->box(FL_NO_BOX);
                calRight14->color(FL_BACKGROUND_COLOR);
                calRight14->selection_color(FL_BACKGROUND_COLOR);
                calRight14->labeltype(FL_NO_LABEL);
                calRight14->labelfont(0);
                calRight14->labelsize(14);
                calRight14->labelcolor(FL_FOREGROUND_COLOR);
                calRight14->align(FL_ALIGN_CENTER);
                calRight14->when(FL_WHEN_RELEASE);
              } // calImageWindow* calRight14
              o->end();
            } // Fl_Group* o
            o->end();
          } // Fl_Group* o
          tab14->end();
        } // Fl_Group* tab14
        { tab15 = new Fl_Group(15, 35, 660, 260, " 15");
          tab15->labelsize(11);
          tab15->user_data((void*)(14));
          tab15->hide();
          { Fl_Group* o = new Fl_Group(20, 45, 645, 245);
            { Fl_Group* o = new Fl_Group(20, 45, 320, 245);
              { Fl_Box* o = new Fl_Box(20, 50, 320, 235);
                o->box(FL_EMBOSSED_FRAME);
                o->labeltype(FL_NO_LABEL);
              } // Fl_Box* o
              { calLeft15 = new calImageWindow(20, 45, 320, 240);
                calLeft15->box(FL_NO_BOX);
                calLeft15->color(FL_BACKGROUND_COLOR);
                calLeft15->selection_color(FL_BACKGROUND_COLOR);
                calLeft15->labeltype(FL_NO_LABEL);
                calLeft15->labelfont(0);
                calLeft15->labelsize(14);
                calLeft15->labelcolor(FL_FOREGROUND_COLOR);
                calLeft15->align(FL_ALIGN_CENTER);
                calLeft15->when(FL_WHEN_RELEASE);
              } // calImageWindow* calLeft15
              o->end();
            } // Fl_Group* o
            { Fl_Group* o = new Fl_Group(345, 45, 320, 240);
              { Fl_Box* o = new Fl_Box(345, 50, 320, 235);
                o->box(FL_EMBOSSED_FRAME);
                o->labeltype(FL_NO_LABEL);
              } // Fl_Box* o
              { calRight15 = new calImageWindow(345, 45, 320, 240);
                calRight15->box(FL_NO_BOX);
                calRight15->color(FL_BACKGROUND_COLOR);
                calRight15->selection_color(FL_BACKGROUND_COLOR);
                calRight15->labeltype(FL_NO_LABEL);
                calRight15->labelfont(0);
                calRight15->labelsize(14);
                calRight15->labelcolor(FL_FOREGROUND_COLOR);
                calRight15->align(FL_ALIGN_CENTER);
                calRight15->when(FL_WHEN_RELEASE);
              } // calImageWindow* calRight15
              o->end();
            } // Fl_Group* o
            o->end();
          } // Fl_Group* o
          tab15->end();
        } // Fl_Group* tab15
        { tab16 = new Fl_Group(15, 35, 660, 260, " 16");
          tab16->labelsize(11);
          tab16->user_data((void*)(15));
          tab16->hide();
          { Fl_Group* o = new Fl_Group(20, 45, 645, 245);
            { Fl_Group* o = new Fl_Group(20, 45, 320, 245);
              { Fl_Box* o = new Fl_Box(20, 50, 320, 235);
                o->box(FL_EMBOSSED_FRAME);
                o->labeltype(FL_NO_LABEL);
              } // Fl_Box* o
              { calLeft16 = new calImageWindow(20, 45, 320, 240);
                calLeft16->box(FL_NO_BOX);
                calLeft16->color(FL_BACKGROUND_COLOR);
                calLeft16->selection_color(FL_BACKGROUND_COLOR);
                calLeft16->labeltype(FL_NO_LABEL);
                calLeft16->labelfont(0);
                calLeft16->labelsize(14);
                calLeft16->labelcolor(FL_FOREGROUND_COLOR);
                calLeft16->align(FL_ALIGN_CENTER);
                calLeft16->when(FL_WHEN_RELEASE);
              } // calImageWindow* calLeft16
              o->end();
            } // Fl_Group* o
            { Fl_Group* o = new Fl_Group(345, 45, 320, 240);
              { Fl_Box* o = new Fl_Box(345, 50, 320, 235);
                o->box(FL_EMBOSSED_FRAME);
                o->labeltype(FL_NO_LABEL);
              } // Fl_Box* o
              { calRight16 = new calImageWindow(345, 45, 320, 240);
                calRight16->box(FL_NO_BOX);
                calRight16->color(FL_BACKGROUND_COLOR);
                calRight16->selection_color(FL_BACKGROUND_COLOR);
                calRight16->labeltype(FL_NO_LABEL);
                calRight16->labelfont(0);
                calRight16->labelsize(14);
                calRight16->labelcolor(FL_FOREGROUND_COLOR);
                calRight16->align(FL_ALIGN_CENTER);
                calRight16->when(FL_WHEN_RELEASE);
              } // calImageWindow* calRight16
              o->end();
            } // Fl_Group* o
            o->end();
          } // Fl_Group* o
          tab16->end();
        } // Fl_Group* tab16
        { tab17 = new Fl_Group(15, 35, 660, 260, " 17");
          tab17->labelsize(11);
          tab17->user_data((void*)(16));
          tab17->hide();
          { Fl_Group* o = new Fl_Group(20, 45, 645, 245);
            { Fl_Group* o = new Fl_Group(20, 45, 320, 245);
              { Fl_Box* o = new Fl_Box(20, 50, 320, 235);
                o->box(FL_EMBOSSED_FRAME);
                o->labeltype(FL_NO_LABEL);
              } // Fl_Box* o
              { calLeft17 = new calImageWindow(20, 45, 320, 240);
                calLeft17->box(FL_NO_BOX);
                calLeft17->color(FL_BACKGROUND_COLOR);
                calLeft17->selection_color(FL_BACKGROUND_COLOR);
                calLeft17->labeltype(FL_NO_LABEL);
                calLeft17->labelfont(0);
                calLeft17->labelsize(14);
                calLeft17->labelcolor(FL_FOREGROUND_COLOR);
                calLeft17->align(FL_ALIGN_CENTER);
                calLeft17->when(FL_WHEN_RELEASE);
              } // calImageWindow* calLeft17
              o->end();
            } // Fl_Group* o
            { Fl_Group* o = new Fl_Group(345, 45, 320, 240);
              { Fl_Box* o = new Fl_Box(345, 50, 320, 235);
                o->box(FL_EMBOSSED_FRAME);
                o->labeltype(FL_NO_LABEL);
              } // Fl_Box* o
              { calRight17 = new calImageWindow(345, 45, 320, 240);
                calRight17->box(FL_NO_BOX);
                calRight17->color(FL_BACKGROUND_COLOR);
                calRight17->selection_color(FL_BACKGROUND_COLOR);
                calRight17->labeltype(FL_NO_LABEL);
                calRight17->labelfont(0);
                calRight17->labelsize(14);
                calRight17->labelcolor(FL_FOREGROUND_COLOR);
                calRight17->align(FL_ALIGN_CENTER);
                calRight17->when(FL_WHEN_RELEASE);
              } // calImageWindow* calRight17
              o->end();
            } // Fl_Group* o
            o->end();
          } // Fl_Group* o
          tab17->end();
        } // Fl_Group* tab17
        { tab18 = new Fl_Group(15, 35, 660, 260, " 18");
          tab18->labelsize(11);
          tab18->user_data((void*)(17));
          tab18->hide();
          { Fl_Group* o = new Fl_Group(20, 45, 645, 245);
            { Fl_Group* o = new Fl_Group(20, 45, 320, 245);
              { Fl_Box* o = new Fl_Box(20, 50, 320, 235);
                o->box(FL_EMBOSSED_FRAME);
                o->labeltype(FL_NO_LABEL);
              } // Fl_Box* o
              { calLeft18 = new calImageWindow(20, 45, 320, 240);
                calLeft18->box(FL_NO_BOX);
                calLeft18->color(FL_BACKGROUND_COLOR);
                calLeft18->selection_color(FL_BACKGROUND_COLOR);
                calLeft18->labeltype(FL_NO_LABEL);
                calLeft18->labelfont(0);
                calLeft18->labelsize(14);
                calLeft18->labelcolor(FL_FOREGROUND_COLOR);
                calLeft18->align(FL_ALIGN_CENTER);
                calLeft18->when(FL_WHEN_RELEASE);
              } // calImageWindow* calLeft18
              o->end();
            } // Fl_Group* o
            { Fl_Group* o = new Fl_Group(345, 45, 320, 240);
              { Fl_Box* o = new Fl_Box(345, 50, 320, 235);
                o->box(FL_EMBOSSED_FRAME);
                o->labeltype(FL_NO_LABEL);
              } // Fl_Box* o
              { calRight18 = new calImageWindow(345, 45, 320, 240);
                calRight18->box(FL_NO_BOX);
                calRight18->color(FL_BACKGROUND_COLOR);
                calRight18->selection_color(FL_BACKGROUND_COLOR);
                calRight18->labeltype(FL_NO_LABEL);
                calRight18->labelfont(0);
                calRight18->labelsize(14);
                calRight18->labelcolor(FL_FOREGROUND_COLOR);
                calRight18->align(FL_ALIGN_CENTER);
                calRight18->when(FL_WHEN_RELEASE);
              } // calImageWindow* calRight18
              o->end();
            } // Fl_Group* o
            o->end();
          } // Fl_Group* o
          tab18->end();
        } // Fl_Group* tab18
        { tab19 = new Fl_Group(15, 35, 660, 260, " 19");
          tab19->labelsize(11);
          tab19->user_data((void*)(18));
          tab19->hide();
          { Fl_Group* o = new Fl_Group(20, 45, 645, 245);
            { Fl_Group* o = new Fl_Group(20, 45, 320, 245);
              { Fl_Box* o = new Fl_Box(20, 50, 320, 235);
                o->box(FL_EMBOSSED_FRAME);
                o->labeltype(FL_NO_LABEL);
              } // Fl_Box* o
              { calLeft19 = new calImageWindow(20, 45, 320, 240);
                calLeft19->box(FL_NO_BOX);
                calLeft19->color(FL_BACKGROUND_COLOR);
                calLeft19->selection_color(FL_BACKGROUND_COLOR);
                calLeft19->labeltype(FL_NO_LABEL);
                calLeft19->labelfont(0);
                calLeft19->labelsize(14);
                calLeft19->labelcolor(FL_FOREGROUND_COLOR);
                calLeft19->align(FL_ALIGN_CENTER);
                calLeft19->when(FL_WHEN_RELEASE);
              } // calImageWindow* calLeft19
              o->end();
            } // Fl_Group* o
            { Fl_Group* o = new Fl_Group(345, 45, 320, 240);
              { Fl_Box* o = new Fl_Box(345, 50, 320, 235);
                o->box(FL_EMBOSSED_FRAME);
                o->labeltype(FL_NO_LABEL);
              } // Fl_Box* o
              { calRight19 = new calImageWindow(345, 45, 320, 240);
                calRight19->box(FL_NO_BOX);
                calRight19->color(FL_BACKGROUND_COLOR);
                calRight19->selection_color(FL_BACKGROUND_COLOR);
                calRight19->labeltype(FL_NO_LABEL);
                calRight19->labelfont(0);
                calRight19->labelsize(14);
                calRight19->labelcolor(FL_FOREGROUND_COLOR);
                calRight19->align(FL_ALIGN_CENTER);
                calRight19->when(FL_WHEN_RELEASE);
              } // calImageWindow* calRight19
              o->end();
            } // Fl_Group* o
            o->end();
          } // Fl_Group* o
          tab19->end();
        } // Fl_Group* tab19
        { tab20 = new Fl_Group(15, 35, 660, 260, " 20");
          tab20->labelsize(11);
          tab20->user_data((void*)(19));
          tab20->hide();
          { Fl_Group* o = new Fl_Group(20, 45, 645, 245);
            { Fl_Group* o = new Fl_Group(20, 45, 320, 245);
              { Fl_Box* o = new Fl_Box(20, 50, 320, 235);
                o->box(FL_EMBOSSED_FRAME);
                o->labeltype(FL_NO_LABEL);
              } // Fl_Box* o
              { calLeft20 = new calImageWindow(20, 45, 320, 240);
                calLeft20->box(FL_NO_BOX);
                calLeft20->color(FL_BACKGROUND_COLOR);
                calLeft20->selection_color(FL_BACKGROUND_COLOR);
                calLeft20->labeltype(FL_NO_LABEL);
                calLeft20->labelfont(0);
                calLeft20->labelsize(14);
                calLeft20->labelcolor(FL_FOREGROUND_COLOR);
                calLeft20->align(FL_ALIGN_CENTER);
                calLeft20->when(FL_WHEN_RELEASE);
              } // calImageWindow* calLeft20
              o->end();
            } // Fl_Group* o
            { Fl_Group* o = new Fl_Group(345, 45, 320, 240);
              { Fl_Box* o = new Fl_Box(345, 50, 320, 235);
                o->box(FL_EMBOSSED_FRAME);
                o->labeltype(FL_NO_LABEL);
              } // Fl_Box* o
              { calRight20 = new calImageWindow(345, 45, 320, 240);
                calRight20->box(FL_NO_BOX);
                calRight20->color(FL_BACKGROUND_COLOR);
                calRight20->selection_color(FL_BACKGROUND_COLOR);
                calRight20->labeltype(FL_NO_LABEL);
                calRight20->labelfont(0);
                calRight20->labelsize(14);
                calRight20->labelcolor(FL_FOREGROUND_COLOR);
                calRight20->align(FL_ALIGN_CENTER);
                calRight20->when(FL_WHEN_RELEASE);
              } // calImageWindow* calRight20
              o->end();
            } // Fl_Group* o
            o->end();
          } // Fl_Group* o
          tab20->end();
        } // Fl_Group* tab20
        window_tab->end();
      } // Fl_Tabs* window_tab
      { Fl_Group* o = new Fl_Group(410, 30, 450, 300);
        { Fl_Button* o = load_button = new Fl_Button(685, 110, 90, 25, "Load both");
          load_button->down_box(FL_DOWN_BOX);
          load_button->labelsize(11);
          load_button->callback((Fl_Callback*)cal_load_cb);
          o->user_data((void *)this);
        } // Fl_Button* load_button
        { Fl_Button* o = save_button = new Fl_Button(685, 180, 90, 25, "Save");
          save_button->down_box(FL_DOWN_BOX);
          save_button->labelsize(11);
          save_button->callback((Fl_Callback*)cal_save_image_cb);
          o->user_data((void *)this);
        } // Fl_Button* save_button
        { Fl_Button* o = capture_button = new Fl_Button(685, 45, 90, 25, "Capture");
          capture_button->down_box(FL_DOWN_BOX);
          capture_button->labelsize(11);
          capture_button->callback((Fl_Callback*)cal_capture_cb);
          o->user_data((void *)this);
        } // Fl_Button* capture_button
        { Fl_Button* o = save_all_button = new Fl_Button(685, 205, 90, 25, "Save All");
          save_all_button->down_box(FL_DOWN_BOX);
          save_all_button->labelsize(11);
          save_all_button->callback((Fl_Callback*)cal_save_all_cb);
          o->user_data((void *)this);
        } // Fl_Button* save_all_button
        { Fl_Button* o = delete_button = new Fl_Button(685, 245, 90, 25, "Delete");
          delete_button->down_box(FL_DOWN_BOX);
          delete_button->labelsize(11);
          delete_button->callback((Fl_Callback*)cal_delete_image);
          o->user_data((void *)this);
        } // Fl_Button* delete_button
        { Fl_Button* o = load_left_button = new Fl_Button(685, 85, 45, 25, "Load L");
          load_left_button->down_box(FL_DOWN_BOX);
          load_left_button->labelsize(11);
          load_left_button->callback((Fl_Callback*)cal_load_left_cb);
          o->user_data((void *)this);
        } // Fl_Button* load_left_button
        { Fl_Button* o = load_right_button = new Fl_Button(730, 85, 45, 25, "Load R");
          load_right_button->down_box(FL_DOWN_BOX);
          load_right_button->labelsize(11);
          load_right_button->callback((Fl_Callback*)cal_load_right_cb);
          o->user_data((void *)this);
        } // Fl_Button* load_right_button
        { Fl_Button* o = load_seq_button = new Fl_Button(685, 135, 90, 25, "Load sequence");
          load_seq_button->down_box(FL_DOWN_BOX);
          load_seq_button->labelsize(11);
          load_seq_button->callback((Fl_Callback*)cal_load_seq_cb);
          o->user_data((void *)this);
        } // Fl_Button* load_seq_button
        { Fl_Button* o = stereo_button = new Fl_Button(685, 305, 90, 25, "Stereo");
          stereo_button->down_box(FL_DOWN_BOX);
          stereo_button->labelsize(11);
          stereo_button->callback((Fl_Callback*)do_stereo_cb);
          o->user_data((void *)this);
        } // Fl_Button* stereo_button
        o->end();
      } // Fl_Group* o
      o->end();
    } // Fl_Group* o
    { info_message = new Fl_Output(20, 305, 490, 25);
      info_message->box(FL_BORDER_BOX);
      info_message->color(FL_BACKGROUND_COLOR);
      info_message->labelsize(11);
      info_message->textsize(11);
    } // Fl_Output* info_message
    { Fl_Group* o = new Fl_Group(20, 305, 655, 85);
      { Fl_Button* o = calibrate_button = new Fl_Button(525, 305, 75, 25, "Calibrate");
        calibrate_button->down_box(FL_DOWN_BOX);
        calibrate_button->labelsize(11);
        calibrate_button->callback((Fl_Callback*)cal_calibrate_cb);
        o->user_data((void *)this);
      } // Fl_Button* calibrate_button
      { Fl_Button* o = save_params_button = new Fl_Button(610, 305, 65, 25, "Save params");
        save_params_button->down_box(FL_DOWN_BOX);
        save_params_button->labelsize(11);
        save_params_button->callback((Fl_Callback*)cal_save_params_cb);
        o->user_data((void *)this);
      } // Fl_Button* save_params_button
      { Fl_Button* o = done_button = new Fl_Button(525, 335, 60, 25, "Done");
        done_button->down_box(FL_DOWN_BOX);
        done_button->labelsize(11);
        done_button->callback((Fl_Callback*)cal_ok_cb);
        o->user_data((void *)this);
      } // Fl_Button* done_button
      { Fl_Button* o = epi_button = new Fl_Button(610, 335, 60, 25, "Epi check");
        epi_button->down_box(FL_DOWN_BOX);
        epi_button->labelsize(11);
        epi_button->callback((Fl_Callback*)cal_epipolar_cb);
        o->user_data((void *)this);
      } // Fl_Button* epi_button
      o->end();
    } // Fl_Group* o
    { Fl_Group* o = new Fl_Group(20, 340, 490, 60);
      { Fl_Box* o = new Fl_Box(20, 340, 290, 50);
        o->box(FL_ENGRAVED_FRAME);
      } // Fl_Box* o
      { fixed_aspect_button = new Fl_Check_Button(215, 340, 25, 25, "Fixed Aspect");
        fixed_aspect_button->down_box(FL_DOWN_BOX);
        fixed_aspect_button->value(1);
        fixed_aspect_button->labelsize(11);
        fixed_aspect_button->callback((Fl_Callback*)cal_fixed_aspect_cb);
      } // Fl_Check_Button* fixed_aspect_button
      { fixed_kappa2_button = new Fl_Check_Button(30, 345, 25, 25, "Kappa2");
        fixed_kappa2_button->down_box(FL_DOWN_BOX);
        fixed_kappa2_button->value(1);
        fixed_kappa2_button->labelsize(11);
        fixed_kappa2_button->callback((Fl_Callback*)cal_fixed_kappa2_cb);
      } // Fl_Check_Button* fixed_kappa2_button
      { fixed_kappa3_button = new Fl_Check_Button(85, 345, 25, 25, "Kappa3");
        fixed_kappa3_button->down_box(FL_DOWN_BOX);
        fixed_kappa3_button->labelsize(11);
        fixed_kappa3_button->callback((Fl_Callback*)cal_fixed_kappa3_cb);
      } // Fl_Check_Button* fixed_kappa3_button
      { fixed_tau_button = new Fl_Check_Button(140, 345, 25, 25, "Tau1, Tau2");
        fixed_tau_button->down_box(FL_DOWN_BOX);
        fixed_tau_button->labelsize(11);
        fixed_tau_button->callback((Fl_Callback*)cal_fixed_tau_cb);
      } // Fl_Check_Button* fixed_tau_button
      { zero_disparity_button = new Fl_Check_Button(215, 355, 25, 25, "Zero disparity");
        zero_disparity_button->down_box(FL_DOWN_BOX);
        zero_disparity_button->value(1);
        zero_disparity_button->labelsize(11);
        zero_disparity_button->callback((Fl_Callback*)cal_zero_disparity_cb);
      } // Fl_Check_Button* zero_disparity_button
      o->end();
    } // Fl_Group* o
    { Fl_Group* o = new Fl_Group(345, 340, 175, 270);
      { Fl_Box* o = new Fl_Box(345, 340, 150, 50, "label");
        o->box(FL_ENGRAVED_FRAME);
        o->labeltype(FL_NO_LABEL);
      } // Fl_Box* o
      { user_check_size = new Fl_Value_Input(360, 360, 30, 20, "Size mm");
        user_check_size->labelsize(11);
        user_check_size->maximum(1000);
        user_check_size->step(1);
        user_check_size->value(100);
        user_check_size->textsize(11);
        user_check_size->callback((Fl_Callback*)cal_check_size_cb);
        user_check_size->align(FL_ALIGN_TOP);
      } // Fl_Value_Input* user_check_size
      { user_check_x = new Fl_Value_Input(405, 360, 30, 20, "Ints X");
        user_check_x->labelsize(11);
        user_check_x->maximum(100);
        user_check_x->step(1);
        user_check_x->value(8);
        user_check_x->textsize(11);
        user_check_x->callback((Fl_Callback*)cal_check_x_cb);
        user_check_x->align(FL_ALIGN_TOP);
      } // Fl_Value_Input* user_check_x
      { user_check_y = new Fl_Value_Input(445, 360, 30, 20, "Ints Y");
        user_check_y->labelsize(11);
        user_check_y->maximum(100);
        user_check_y->step(1);
        user_check_y->value(6);
        user_check_y->textsize(11);
        user_check_y->callback((Fl_Callback*)cal_check_y_cb);
        user_check_y->align(FL_ALIGN_TOP);
      } // Fl_Value_Input* user_check_y
      o->end();
    } // Fl_Group* o
    stereo_calibration->end();
  } // Fl_Window* stereo_calibration
}
highOrderToolsWindow::highOrderToolsWindow(int deltaFontSize)
{
  getMeshInfoForHighOrder(GModel::current(), meshOrder, complete, CAD);
  FL_NORMAL_SIZE -= deltaFontSize;

  int width = 3 * IW + 4 * WB;
  int height = 24 * BH;

  win = new paletteWindow
    (width, height, CTX::instance()->nonModalWindows ? true : false, "High order tools");
  win->box(GMSH_WINDOW_BOX);

  int y = WB;
  int x = 2 * WB;

  box[0] = new Fl_Box(x, y, width - 4 * WB, BH);
  box[0]->align(FL_ALIGN_LEFT|FL_ALIGN_INSIDE);

  y += BH;

  butt[1] = new Fl_Check_Button
    (x, y, width - 4 * WB, BH, "Only apply high order tools to visible entities");
  butt[1]->type(FL_TOGGLE_BUTTON);
  butt[1]->value(1);

  y += BH;

  butt[3] = new Fl_Check_Button
    (x, y, width - 4 * WB, BH, "Show detailed log messages");
  butt[3]->type(FL_TOGGLE_BUTTON);
  butt[3]->value(1);

  {
    y += BH / 2;
    Fl_Box* b = new Fl_Box(x, y + BH - WB, width - 4 * WB, 2);
    b->box(FL_ENGRAVED_FRAME);
    b->labeltype(FL_NO_LABEL);
  }

  {
    y += BH;
    Fl_Box *b = new Fl_Box
      (x - WB, y, width, BH, "1. Generation of high order vertices");
    b->align(FL_ALIGN_LEFT | FL_ALIGN_INSIDE);
  }

  y += BH;

  value[0] = new Fl_Value_Input
    (x, y, IW, BH, "Polynomial order");
  value[0]->minimum(1);
  value[0]->maximum(10);
  value[0]->step(1);
  value[0]->align(FL_ALIGN_RIGHT);
  value[0]->value(meshOrder);

  y += BH;

  butt[0] = new Fl_Check_Button
    (x, y, width - 4 * WB, BH, "Use incomplete elements");
  butt[0]->type(FL_TOGGLE_BUTTON);
  butt[0]->value(!complete);
  butt[0]->callback(change_completeness_cb);

  y += BH;

  butt[2] = new Fl_Check_Button
    (x, y, width - 4 * WB, BH, "Use CAD model to curve mesh");
  butt[2]->type(FL_TOGGLE_BUTTON);
  butt[2]->value(1);

  y += BH;

  push[0] = new Fl_Button
    (width - BB - 2 * WB, y, BB, BH, "Generate");
  push[0]->callback(highordertools_runp_cb);

  {
    y += BH / 2;
    Fl_Box* b = new Fl_Box(x, y + BH - WB, width - 4 * WB, 2);
    b->box(FL_ENGRAVED_FRAME);
    b->labeltype(FL_NO_LABEL);
  }

  {
    y += BH;
    Fl_Box *b = new Fl_Box
      (x - WB, y, width, BH, "2. Regularization of high order elements");
    b->align(FL_ALIGN_LEFT | FL_ALIGN_INSIDE);
  }

  y += BH;
  static Fl_Menu_Item menu_method[] = {
    {"Optimization", 0, 0, 0},
    {"Elastic Analogy", 0, 0, 0},
    {"Fast Curving", 0, 0, 0},
    {0}
  };
  choice[2] = new Fl_Choice
    (x, y, IW, BH, "Algorithm");
  choice[2]->align(FL_ALIGN_RIGHT);
  choice[2]->menu(menu_method);
  choice[2]->callback(chooseopti_cb);

  y += BH;
  value[1] = new Fl_Value_Input
    (x, y, IW/2.0, BH);
  value[1]->minimum(0);
  value[1]->maximum(1);
  value[1]->step(.01);
  value[1]->align(FL_ALIGN_RIGHT);
  value[1]->value(CTX::instance()->mesh.hoThresholdMin);

  value[8] = new Fl_Value_Input
    (x+IW/2.0,y, IW/2.0, BH, "Target Jacobian range");
  value[8]->minimum(1);
  value[8]->maximum(10);
  value[8]->step(.01);
  value[8]->align(FL_ALIGN_RIGHT);
  value[8]->value(CTX::instance()->mesh.hoThresholdMax);

  y += BH;
  value[2] = new Fl_Value_Input
    (x, y, IW, BH, "Number of layers");
  value[2]->minimum(1);
  value[2]->maximum(20);
  value[2]->step(1);
  value[2]->align(FL_ALIGN_RIGHT);
  value[2]->value(CTX::instance()->mesh.hoNLayers);

  y += BH;
  value[7] = new Fl_Value_Input
    (x, y, IW, BH, "Distance factor");
  value[7]->minimum(1);
  value[7]->maximum(20000);
  value[7]->step(1);
  value[7]->align(FL_ALIGN_RIGHT);
  value[7]->value(12);

  y += BH;
  static Fl_Menu_Item menu_objf[] = {
    {"Fixed", 0, 0, 0},
    {"Free", 0, 0, 0},
    {0}
  };
  choice[0] = new Fl_Choice
    (x, y, IW, BH, "Boundary vertices");
  choice[0]->menu(menu_objf);
  choice[0]->align(FL_ALIGN_RIGHT);

  y += BH;
  value[5] = new Fl_Value_Input
    (x, y, IW/2, BH);
  value[5]->align(FL_ALIGN_RIGHT);
  value[5]->value(1000.);
  value[6] = new Fl_Value_Input
    (x+IW/2,y, IW/2, BH, "W fixed / W free");
  value[6]->align(FL_ALIGN_RIGHT);
  value[6]->value(1.);

  y += BH;
  value[3] = new Fl_Value_Input
    (x, y, IW, BH, "Maximum number of iterations");
  value[3]->minimum(1);
  value[3]->maximum(10000);
  value[3]->step(10);
  value[3]->align(FL_ALIGN_RIGHT);
  value[3]->value(300);

  y += BH;
  value[4] = new Fl_Value_Input
    (x, y, IW, BH, "Max. number of optimization passes");
  value[4]->minimum(1);
  value[4]->maximum(100);
  value[4]->step(1);
  value[4]->align(FL_ALIGN_RIGHT);
  value[4]->value(50);

  static Fl_Menu_Item menu_strategy[] = {
    {"Connected blobs", 0, 0, 0},
    {"Adaptive one-by-one", 0, 0, 0},
    {0}
  };

  y += BH;
  choice[3] = new Fl_Choice
    (x, y, IW, BH, "Strategy");
  choice[3]->menu(menu_strategy);
  choice[3]->align(FL_ALIGN_RIGHT);
  choice[3]->callback(chooseopti_strategy);

  y += BH;
  value[9] = new Fl_Value_Input
    (x, y, IW, BH, "Max. number of blob adaptation iter.");
  value[9]->minimum(1);
  value[9]->maximum(100);
  value[9]->step(1);
  value[9]->align(FL_ALIGN_RIGHT);
  value[9]->value(2);
  value[9]->deactivate();

  y += BH;
  value[10] = new Fl_Value_Input
    (x, y, IW, BH, "Num. layer adaptation factor");
  value[10]->align(FL_ALIGN_RIGHT);
  value[10]->minimum(1);
  value[10]->maximum(100);
  value[10]->step(1);
  value[10]->value(2);
  value[10]->deactivate();

  y += BH;
  value[11] = new Fl_Value_Input
    (x, y, IW, BH, "Distance adaptation factor");
  value[11]->align(FL_ALIGN_RIGHT);
  value[11]->minimum(1.);
  value[11]->maximum(100.);
  value[11]->value(2.);
  value[11]->deactivate();

  y += 1.5*BH;
  push[1] = new Fl_Button
    (width - BB - 2 * WB, y, BB, BH, "Regularize");
  push[1]->callback(highordertools_runopti_cb);

  // win->resizable(o);
  win->position(CTX::instance()->hotPosition[0], CTX::instance()->hotPosition[1]);
  win->end();
  FL_NORMAL_SIZE += deltaFontSize;
}
Exemple #6
0
Fichier : Mixer.C Projet : imv/non
Mixer::Mixer ( int X, int Y, int W, int H, const char *L ) :
    Fl_Group( X, Y, W, H, L )
{
    Loggable::dirty_callback( &Mixer::handle_dirty, this );

    _rows = 1;
    box( FL_FLAT_BOX );
    labelsize( 96 );
    { Fl_Group *o = new Fl_Group( X, Y, W, 24 );

        { Fl_Menu_Bar *o = menubar = new Fl_Menu_Bar( X, Y, W, 24 );
            o->add( "&Project/&New" );
            o->add( "&Project/&Open" );
            o->add( "&Project/&Save", FL_CTRL + 's', 0, 0 );
            o->add( "&Project/&Quit", FL_CTRL + 'q', 0, 0 );
            o->add( "&Mixer/&Add Strip", 'a', 0, 0 );
            o->add( "&Mixer/Add &N Strips" );
            o->add( "&Mixer/&Import Strip" );
            o->add( "&Mixer/&Rows/One", '1', 0, 0 );
            o->add( "&Mixer/&Rows/Two", '2', 0, 0 );
            o->add( "&Mixer/&Rows/Three", '3', 0, 0 );
            o->add( "&View/&Theme", 0, 0, 0 );
            o->add( "_&Options/&Display/&Knobs/&Arc", 0, 0, 0, FL_MENU_RADIO   );
            o->add( "_&Options/&Display/&Knobs/&Burnished", 0, 0, 0, FL_MENU_RADIO );
            o->add( "_&Options/&Display/&Knobs/&Plastic", 0, 0, 0, FL_MENU_RADIO | FL_MENU_VALUE );
            o->add( "_&Options/&Display/&Sliders/&Nice", 0, 0, 0, FL_MENU_RADIO | FL_MENU_VALUE );
            o->add( "_&Options/&Display/&Sliders/&Fill", 0, 0, 0, FL_MENU_RADIO );
            o->add( "_&Options/&Display/&Sliders/&Simple", 0, 0, 0, FL_MENU_RADIO );
            o->add( "_&Options/&Display/&Colors/&System", 0, 0, 0, FL_MENU_RADIO );
            o->add( "&Help/&Manual" );
            o->add( "&Help/&About" );
            o->callback( cb_menu, this );
        }
        { Fl_Box *o = project_name = new Fl_Box( X + 150, Y, W, 24 );
            o->labelfont( FL_HELVETICA_ITALIC );
            o->label( 0 );
            o->align( FL_ALIGN_INSIDE | FL_ALIGN_CENTER );
            o->labeltype( FL_SHADOW_LABEL );
            Fl_Group::current()->resizable( o );
        }
        { sm_blinker = new Fl_Button( ( X + W) - 37, Y + 4, 35, 15, "SM");
            sm_blinker->box(FL_ROUNDED_BOX);
            sm_blinker->down_box(FL_ROUNDED_BOX);
            sm_blinker->color(FL_DARK2);
            sm_blinker->selection_color((Fl_Color)93);
            sm_blinker->labeltype(FL_NORMAL_LABEL);
            sm_blinker->labelfont(3);
            sm_blinker->labelsize(14);
            sm_blinker->labelcolor(FL_DARK3);
            sm_blinker->align(Fl_Align(FL_ALIGN_CENTER));
            sm_blinker->when(FL_WHEN_RELEASE);
            sm_blinker->deactivate();

        } // Fl_Blink_Button* sm_blinker
        o->end();
    }
    { Fl_Scroll *o = scroll = new Fl_Scroll( X, Y + 24, W, H - 24 );
        o->box( FL_FLAT_BOX );
//        o->type( Fl_Scroll::HORIZONTAL_ALWAYS );
//        o->box( Fl_Scroll::BOTH );
        {
            Fl_Flowpack *o = mixer_strips = new Fl_Flowpack( X, Y + 24, W, H - 18 - 24 );
//            label( "Non-Mixer" );
            align( (Fl_Align)(FL_ALIGN_CENTER | FL_ALIGN_INSIDE) );
            o->box( FL_FLAT_BOX );
            o->type( Fl_Pack::HORIZONTAL );
            o->hspacing( 2 );
            o->vspacing( 2 );
            o->end();
            Fl_Group::current()->resizable( o );
        }
        o->end();
        Fl_Group::current()->resizable( o );
    }

    end();

//    Fl::add_timeout( STATUS_UPDATE_FREQ, update_cb, this );

    update_menu();

    load_options();
}
classificationEditor::classificationEditor() : selected(0)
{
  opt_mesh_lines(0, GMSH_SET | GMSH_GUI, 1.);

  drawContext::global()->draw();

  int BBB = (int)(1.4 * BB);
  const int width = (int)(3.15 * BBB), height = (int)(9.5 * BH);

  window = new paletteWindow
    (width, height, CTX::instance()->nonModalWindows ? true : false, "Reclassify 2D");
  window->box(GMSH_WINDOW_BOX);

  int x = WB, y = WB;
  {
    Fl_Box *b = new Fl_Box
      (x, y, width, BH, "1. Select mesh elements on which to perform edge detection");
    b->align(FL_ALIGN_LEFT | FL_ALIGN_INSIDE);

    x += WB;
    y += BH;
    buttons[CLASS_BUTTON_SELECT_ELEMENTS] = new Fl_Button
      (x, y, BBB, BH, "Select elements");
    buttons[CLASS_BUTTON_SELECT_ELEMENTS]->callback(select_elements_cb, this);

    buttons[CLASS_BUTTON_SELECT_ALL_ELEMENTS] = new Fl_Button
      (x + BBB + WB, y, (int)(0.5 * BBB) - WB, BH, "All");
    buttons[CLASS_BUTTON_SELECT_ALL_ELEMENTS]->callback(select_elements_cb, this);

    toggles[CLASS_TOGGLE_HIDE] = new Fl_Check_Button
      ((int)(x + 1.5 * BBB + WB), y, (int)(width - 1.5 * BBB - x - 2 * WB), BH,
       "Hide unselected elements");
    toggles[CLASS_TOGGLE_HIDE]->type(FL_TOGGLE_BUTTON);
    toggles[CLASS_TOGGLE_HIDE]->callback(hide_cb, this);

    x -= WB;
  }
  {
    y += BH / 2;
    Fl_Box* b = new Fl_Box(x, y + BH - WB, width - 2 * WB, 2);
    b->box(FL_ENGRAVED_FRAME);
    b->labeltype(FL_NO_LABEL);
  }
  {
    y += BH;
    Fl_Box *b = new Fl_Box
      (x, y, width, BH, "2. Fine-tune edge selection");
    b->align(FL_ALIGN_LEFT | FL_ALIGN_INSIDE);

    x += WB;
    y += BH;
    inputs[CLASS_VALUE_ANGLE] = new Fl_Value_Input
      (x, y, 2 * BBB / 3, BH, "Threshold angle");
    inputs[CLASS_VALUE_ANGLE]->value(40);
    inputs[CLASS_VALUE_ANGLE]->maximum(180);
    inputs[CLASS_VALUE_ANGLE]->minimum(0);
    inputs[CLASS_VALUE_ANGLE]->align(FL_ALIGN_RIGHT);
    inputs[CLASS_VALUE_ANGLE]->step(1);
    inputs[CLASS_VALUE_ANGLE]->when(FL_WHEN_RELEASE);
    inputs[CLASS_VALUE_ANGLE]->callback(update_edges_cb, this);

    toggles[CLASS_TOGGLE_SHOW_ONLY_EDGES] = new Fl_Check_Button
      ((int)(x + 1.5 * BBB + WB), y, (int)(width - x - 1.5 * BBB - 2 * WB), BH,
       "Show only edges");
    toggles[CLASS_TOGGLE_SHOW_ONLY_EDGES]->type(FL_TOGGLE_BUTTON);
    toggles[CLASS_TOGGLE_SHOW_ONLY_EDGES]->callback(show_only_edges_cb, this);

    y += BH;
    toggles[CLASS_TOGGLE_BOUNDARY] = new Fl_Check_Button
      (x, y, width - x - 2 * WB, BH, "Include edges on boundary (closure)");
    toggles[CLASS_TOGGLE_BOUNDARY]->type(FL_TOGGLE_BUTTON);
    toggles[CLASS_TOGGLE_BOUNDARY]->callback(update_edges_cb, this);

    y += BH;
    buttons[CLASS_BUTTON_DELETE_FROM_SELECTION] = new Fl_Button
      (x, y, (int)(1.5 * BBB), BH, "Delete edges from selection");
    buttons[CLASS_BUTTON_DELETE_FROM_SELECTION]->callback(delete_edge_cb, this);
    buttons[CLASS_BUTTON_DELETE_FROM_SELECTION]->deactivate();

    buttons[CLASS_BUTTON_RESET_SELECTION] = new Fl_Button
      (x + (int)(1.5 * BBB + WB), y, BBB, BH, "Reset selection");
    buttons[CLASS_BUTTON_RESET_SELECTION]->callback(reset_selection_cb, this);
    buttons[CLASS_BUTTON_RESET_SELECTION]->deactivate();

    x -= WB;
  }
  {
    y += BH / 2;
    Fl_Box* b = new Fl_Box(x, y + BH - WB, width - 2 * WB, 2);
    b->box(FL_ENGRAVED_FRAME);
    b->labeltype(FL_NO_LABEL);
  }
  {
    y += BH;
    Fl_Box *b = new Fl_Box
      (x, y, width, BH, "3. Reclassify surfaces using selected edges");
    b->align(FL_ALIGN_LEFT | FL_ALIGN_INSIDE);

    x += WB;
    y += BH;

    buttons[CLASS_BUTTON_SELECT_SURFACES] = new Fl_Button
      (x, y, BBB, BH, "Select surfaces");
    buttons[CLASS_BUTTON_SELECT_SURFACES]->callback(select_surfaces_cb, this);

    buttons[CLASS_BUTTON_SELECT_ALL_SURFACES] = new Fl_Button
      (x + BBB + WB, y, (int)(0.5 * BBB) - WB, BH, "All");
    buttons[CLASS_BUTTON_SELECT_ALL_SURFACES]->callback(select_surfaces_cb, this);

    buttons[CLASS_BUTTON_CLASSIFY] = new Fl_Return_Button
      ((int)(x + 1.5 * BBB + WB), y, BBB, BH, "Reclassify");
    buttons[CLASS_BUTTON_CLASSIFY]->callback(classify_cb, this);
    buttons[CLASS_BUTTON_CLASSIFY]->deactivate();

    x -= WB;
  }

  window->end();
  window->hotspot(window);

  NoElementsSelectedMode(this);
}