From bc976ec94654cf640e3f8a3a2cfe44975723614d Mon Sep 17 00:00:00 2001 From: Christophe Geuzaine <cgeuzaine@ulg.ac.be> Date: Sun, 4 Feb 2001 15:52:26 +0000 Subject: [PATCH] *** empty log message *** --- Fltk/GUI.cpp | 10 +++++++-- Fltk/GUI.h | 1 + Fltk/Opengl.cpp | 4 ++-- Fltk/Opengl_Window.cpp | 46 ++++++++++++++++-------------------------- Makefile | 4 ++-- 5 files changed, 30 insertions(+), 35 deletions(-) diff --git a/Fltk/GUI.cpp b/Fltk/GUI.cpp index c207918145..260fa11f09 100644 --- a/Fltk/GUI.cpp +++ b/Fltk/GUI.cpp @@ -1,4 +1,4 @@ -// $Id: GUI.cpp,v 1.37 2001-02-04 12:46:08 geuzaine Exp $ +// $Id: GUI.cpp,v 1.38 2001-02-04 15:52:26 geuzaine Exp $ // To make the interface as visually consistent as possible, please: // - use the BH, BW, WB, IW values for button heights/widths, window borders, etc. @@ -535,12 +535,18 @@ void GUI::run(){ Fl::run(); } -// Check if any pending events and run them +// Check (now) if any pending events and run them void GUI::check(){ Fl::check(); } +// Wait for any events and run them + +void GUI::wait(){ + Fl::wait(); +} + //********************************* Create the menu window ***************************** void GUI::create_menu_window(int argc, char **argv){ diff --git a/Fltk/GUI.h b/Fltk/GUI.h index 7f3fb27d74..b1d300999d 100644 --- a/Fltk/GUI.h +++ b/Fltk/GUI.h @@ -184,6 +184,7 @@ public: // general purpose interaction void run(); void check(); + void wait(); void make_opengl_current(); void make_colorbar_current(); void make_overlay_current(); diff --git a/Fltk/Opengl.cpp b/Fltk/Opengl.cpp index 2ea6124b9d..2c63845e00 100644 --- a/Fltk/Opengl.cpp +++ b/Fltk/Opengl.cpp @@ -1,4 +1,4 @@ -// $Id: Opengl.cpp,v 1.17 2001-02-04 12:46:09 geuzaine Exp $ +// $Id: Opengl.cpp,v 1.18 2001-02-04 15:52:26 geuzaine Exp $ #include "Gmsh.h" #include "GmshUI.h" @@ -112,7 +112,7 @@ int SelectEntity(int type, Vertex **v, Curve **c, Surface **s){ WID->end_selection = 0; while(1){ - Fl::check(); + WID->wait(); if(WID->quit_selection){ WID->quit_selection = 0; return 0; diff --git a/Fltk/Opengl_Window.cpp b/Fltk/Opengl_Window.cpp index 7274e777e3..efd01ca8dc 100644 --- a/Fltk/Opengl_Window.cpp +++ b/Fltk/Opengl_Window.cpp @@ -1,4 +1,4 @@ -// $Id: Opengl_Window.cpp,v 1.11 2001-02-04 12:46:09 geuzaine Exp $ +// $Id: Opengl_Window.cpp,v 1.12 2001-02-04 15:52:26 geuzaine Exp $ #include "Gmsh.h" #include "GmshUI.h" @@ -23,7 +23,7 @@ void myZoom(GLdouble X1, GLdouble X2, GLdouble Y1, GLdouble Y2, GLdouble Xc1, GLdouble Xc2, GLdouble Yc1, GLdouble Yc2); static int ZOOM = 0 ; -static double ZOOM_X0, ZOOM_Y0, ZOOM_X1, ZOOM_Y1, ZOOM_X2, ZOOM_Y2; +static double ZOOM_X0, ZOOM_Y0, ZOOM_X1, ZOOM_Y1; void Opengl_Window::draw() { if(!valid()){ @@ -68,11 +68,13 @@ void Opengl_Window::draw() { glVertex2d(ZOOM_X0, ZOOM_Y1); glVertex2d(ZOOM_X0, ZOOM_Y0); glEnd(); + ZOOM_X1 = CTX.vxmin + ((double)Fl::event_x()/(double)w()) * (CTX.vxmax - CTX.vxmin); + ZOOM_Y1 = CTX.vymax - ((double)Fl::event_y()/(double)h()) * (CTX.vymax - CTX.vymin); glBegin(GL_LINE_STRIP); glVertex2d(ZOOM_X0, ZOOM_Y0); - glVertex2d(ZOOM_X2, ZOOM_Y0); - glVertex2d(ZOOM_X2, ZOOM_Y2); - glVertex2d(ZOOM_X0, ZOOM_Y2); + glVertex2d(ZOOM_X1, ZOOM_Y0); + glVertex2d(ZOOM_X1, ZOOM_Y1); + glVertex2d(ZOOM_X0, ZOOM_Y1); glVertex2d(ZOOM_X0, ZOOM_Y0); glEnd(); glDisable(GL_BLEND); @@ -101,8 +103,7 @@ void Opengl_Window::clear_overlay() { int Opengl_Window::handle(int event) { static int xpos, ypos, xmov, ymov, ibut, hits; static int ZoomClick=0, FirstClick=0; - static GLdouble xc1, yc1, xc2, yc2, xt1, yt1, xscale1, yscale1; - static GLdouble xb, yb, xc, yc, xe, ye; + static GLdouble xc, yc, xc1, yc1, xc2, yc2, xt1, yt1, xscale1, yscale1; static Vertex *v=NULL, *ov; static Curve *c=NULL, *oc; static Surface *s=NULL, *os; @@ -119,20 +120,19 @@ int Opengl_Window::handle(int event) { if(ibut == 1 && !Fl::event_state(FL_SHIFT)){ if(!ZoomClick && Fl::event_state(FL_CTRL)){ - xb = CTX.vxmin + ((double)xpos/(double)w()) * (CTX.vxmax - CTX.vxmin); - yb = CTX.vymax - ((double)ypos/(double)h()) * (CTX.vymax - CTX.vymin); - xc1 = xb/CTX.s[0] - CTX.t[0]; - yc1 = yb/CTX.s[1] - CTX.t[1]; + ZOOM_X0 = ZOOM_X1 = CTX.vxmin + ((double)xpos/(double)w()) * (CTX.vxmax - CTX.vxmin); + ZOOM_Y0 = ZOOM_Y1 = CTX.vymax - ((double)ypos/(double)h()) * (CTX.vymax - CTX.vymin); + xc1 = ZOOM_X0/CTX.s[0] - CTX.t[0]; + yc1 = ZOOM_Y0/CTX.s[1] - CTX.t[1]; ZoomClick = 1; } else if(ZoomClick){ - xe = CTX.vxmin + ((double)xpos/(double)w()) * (CTX.vxmax - CTX.vxmin); - ye = CTX.vymax - ((double)ypos/(double)h()) * (CTX.vymax - CTX.vymin); - xc2 = xe/CTX.s[0] - CTX.t[0]; - yc2 = ye/CTX.s[1] - CTX.t[1]; + xc2 = ZOOM_X1/CTX.s[0] - CTX.t[0]; + yc2 = ZOOM_Y1/CTX.s[1] - CTX.t[1]; ZoomClick = 0; clear_overlay(); - if(xb!=xe && yb!=ye) myZoom(xb,xe,yb,ye,xc1,xc2,yc1,yc2); + if(ZOOM_X0 != ZOOM_X1 && ZOOM_Y0 != ZOOM_Y1) + myZoom(ZOOM_X0,ZOOM_X1,ZOOM_Y0,ZOOM_Y1,xc1,xc2,yc1,yc2); } else{ WID->try_selection = 1 ; @@ -183,12 +183,6 @@ int Opengl_Window::handle(int event) { ymov = Fl::event_y() - ypos; if(ZoomClick) { - ZOOM_X0 = xb; - ZOOM_Y0 = yb; - ZOOM_X1 = CTX.vxmin + ((double)xpos/(double)w()) * (CTX.vxmax - CTX.vxmin); - ZOOM_Y1 = CTX.vymax - ((double)ypos/(double)h()) * (CTX.vymax - CTX.vymin); - ZOOM_X2 = CTX.vxmin + ((double)Fl::event_x()/(double)w()) * (CTX.vxmax - CTX.vxmin); - ZOOM_Y2 = CTX.vymax - ((double)Fl::event_y()/(double)h()) * (CTX.vymax - CTX.vymin); ZOOM = 1; redraw(); } @@ -248,8 +242,8 @@ int Opengl_Window::handle(int event) { } redraw(); - } + xpos += xmov; ypos += ymov; return 1; @@ -260,12 +254,6 @@ int Opengl_Window::handle(int event) { ymov = Fl::event_y()-ypos; if(ZoomClick) { - ZOOM_X0 = xb; - ZOOM_Y0 = yb; - ZOOM_X1 = CTX.vxmin + ((double)xpos/(double)w()) * (CTX.vxmax - CTX.vxmin); - ZOOM_Y1 = CTX.vymax - ((double)ypos/(double)h()) * (CTX.vymax - CTX.vymin); - ZOOM_X2 = CTX.vxmin + ((double)Fl::event_x()/(double)w()) * (CTX.vxmax - CTX.vxmin); - ZOOM_Y2 = CTX.vymax - ((double)Fl::event_y()/(double)h()) * (CTX.vymax - CTX.vymin); ZOOM = 1; redraw(); } diff --git a/Makefile b/Makefile index cba2e1e510..47245064ca 100644 --- a/Makefile +++ b/Makefile @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.47 2001-02-03 13:10:26 geuzaine Exp $ +# $Id: Makefile,v 1.48 2001-02-04 15:52:26 geuzaine Exp $ # ---------------------------------------------------------------------- # Makefile for Gmsh # ---------------------------------------------------------------------- @@ -150,7 +150,7 @@ tag: echo "#define GMSH_VERSION $(GMSH_RELEASE)" > Common/GmshVersion.h echo "#define GMSH_DATE \"`date`\"" >> Common/GmshVersion.h echo "#define GMSH_HOST \"`hostname`\"" >> Common/GmshVersion.h - echo "#define GMSH_PACKAGER \"`logname`\"" >> Common/GmshVersion.h + echo "#define GMSH_PACKAGER \"`whoami`\"" >> Common/GmshVersion.h echo "#define GMSH_OS \"`uname -sr`\"" >> Common/GmshVersion.h initialtag: -- GitLab