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