Здравствуйте!
Хочу сделать в окошке Fl_Window область в которой отображается OpenGL избражение. Прочитал документацию и делаю следующим образом:
//Наследуюсь
class Drawing : public Fl_Widget {
void draw();
public:
Drawing(int x,int y,int w,int h,const char *l = 0) : Fl_Widget(x,y,w,h,l)
};
void Drawing::draw()
{
Fl::gl_visual(FL_RGB);
gl_start();
//valid(1);
glViewport(0,0, 1,1);
glLoadIdentity();
glScaled(1,1,1);
glShadeModel(GL_SMOOTH);
glClearColor (1.0, 1.0, 1.0, 0.0);
glClear(GL_COLOR_BUFFER_BIT);
glLoadName(1);
glColor3d(10,10,0);
glLineWidth(20);
glBegin(GL_LINES);
glVertex3f(0,0,0);
glVertex3f(1,1,0);
glEnd();
gl_finish();
int main(int argc, char** argv) {
GroupCyr = new TGroupV;
GroupCyr->X = 0;
GroupCyr->Y = 0;
GroupCyr->O0 = 0;
tGr = 0;
Fl_Window* w;
{ Fl_Window* o = new Fl_Window(393, 372);
w = o;
{ Fl_Group* o = new Fl_Group(0, 0, 250, 375);
o->box(FL_UP_BOX);
o->align(FL_ALIGN_CENTER|FL_ALIGN_INSIDE);
Drawing* z = new Drawing(0, 0, 100, 100);
o->end();
}
{ Fl_Group* o = new Fl_Group(250, 0, 145, 370);
o->end();
Fl_Group::current()->resizable(o);
}
o->end();
}
w->show();
return Fl::run();
}
В результате область отображения OpenGL (объект Drawing), растягивается до размеров всего окна!!! Когда заменяю Drawing на Fl_Box, то все ОК.
Подскажите пожалуйста, как быть???? (Скоро сдавать диплом, а эта часть все тормозит)
08.05.07 14:53: Перенесено модератором из 'C/C++' — Кодт