diff --git a/Fltk/Opengl.cpp b/Fltk/Opengl.cpp index 21adbaaa57a9ae5ec676c4e4c0dfca4cc9ed9399..bab6f0a6c74f97c744c3ee5d019922a990a387b7 100644 --- a/Fltk/Opengl.cpp +++ b/Fltk/Opengl.cpp @@ -1,4 +1,4 @@ -// $Id: Opengl.cpp,v 1.7 2001-01-10 20:14:34 geuzaine Exp $ +// $Id: Opengl.cpp,v 1.8 2001-01-10 20:23:36 geuzaine Exp $ #include "Gmsh.h" #include "GmshUI.h" @@ -25,7 +25,6 @@ void myZoom(GLdouble X1, GLdouble X2, GLdouble Y1, GLdouble Y2, /* ------------------------------------------------------------------------ */ void Init(void){ - //WID->make_current(); } void InitOverlay(void){ @@ -44,6 +43,22 @@ void DrawUI(void){ WID->check(); } +// one should not call Opengl_Window::draw() from the handle(), but +// rather the following: + +void DrawUpdate(){ + WID->make_current(); + Orthogonalize(0,0); + glClearColor(UNPACK_RED(CTX.color.bg)/255., + UNPACK_GREEN(CTX.color.bg)/255., + UNPACK_BLUE(CTX.color.bg)/255., + 0.); + glClear(GL_DEPTH_BUFFER_BIT|GL_COLOR_BUFFER_BIT); + Draw3d(); + Draw2d(); + WID->swap_buffers(); +} + void Draw_String(char *s){ if(CTX.stream == TO_FILE){ diff --git a/Fltk/Opengl_Window.cpp b/Fltk/Opengl_Window.cpp index b549a7987cbd7064c98349d2145a60391b084d24..81288240f042e0a6410678dd2608477bb6726a67 100644 --- a/Fltk/Opengl_Window.cpp +++ b/Fltk/Opengl_Window.cpp @@ -1,4 +1,4 @@ -// $Id: Opengl_Window.cpp,v 1.3 2001-01-10 20:14:34 geuzaine Exp $ +// $Id: Opengl_Window.cpp,v 1.4 2001-01-10 20:23:36 geuzaine Exp $ #include "Gmsh.h" #include "GmshUI.h" @@ -53,22 +53,6 @@ void Opengl_Window::draw() { Draw2d(); } -// one should not call Opengl_Window::draw() from the handle(), but -// rather the following: - -void DrawUpdate(){ - WID->make_current(); - Orthogonalize(0,0); - glClearColor(UNPACK_RED(CTX.color.bg)/255., - UNPACK_GREEN(CTX.color.bg)/255., - UNPACK_BLUE(CTX.color.bg)/255., - 0.); - glClear(GL_DEPTH_BUFFER_BIT|GL_COLOR_BUFFER_BIT); - Draw3d(); - Draw2d(); - WID->swap_buffers(); -} - void Opengl_Window::clear_overlay() { if(CTX.overlay) {} } diff --git a/Graphics/CreateFile.cpp b/Graphics/CreateFile.cpp index 15a39e2f1fdb19a434b9fa9abc6dcdc6868631d2..0625a706ffe8cfa43f384c009c62ab290de2027c 100644 --- a/Graphics/CreateFile.cpp +++ b/Graphics/CreateFile.cpp @@ -1,4 +1,4 @@ -// $Id: CreateFile.cpp,v 1.6 2001-01-10 10:06:17 geuzaine Exp $ +// $Id: CreateFile.cpp,v 1.7 2001-01-10 20:23:37 geuzaine Exp $ #include "Gmsh.h" #include "GmshUI.h" @@ -106,7 +106,7 @@ void CreateFile (char *name, int format) { Msg(WARNING, "Unable to Open File '%s'", name); return; } - Replot(); + DrawUpdate(); create_jpeg(fp, CTX.viewport[2]-CTX.viewport[0], CTX.viewport[3]-CTX.viewport[1], CTX.print.jpeg_quality); @@ -121,7 +121,7 @@ void CreateFile (char *name, int format) { Msg(WARNING, "Unable to Open File '%s'", name); return; } - Replot(); + DrawUpdate(); create_gif(fp, CTX.viewport[2]-CTX.viewport[0], CTX.viewport[3]-CTX.viewport[1], CTX.print.gif_dither, @@ -141,7 +141,7 @@ void CreateFile (char *name, int format) { Msg(WARNING, "Unable to Open File '%s'", name); return; } - Replot(); + DrawUpdate(); create_ppm(fp, CTX.viewport[2]-CTX.viewport[0], CTX.viewport[3]-CTX.viewport[1]); Msg(INFOS, "PPM Creation Complete '%s'", name); @@ -154,7 +154,7 @@ void CreateFile (char *name, int format) { Msg(WARNING, "Unable to Open File '%s'", name); return; } - Replot(); + DrawUpdate(); create_yuv(fp, CTX.viewport[2]-CTX.viewport[0], CTX.viewport[3]-CTX.viewport[1]); Msg(INFOS, "YUV Creation Complete '%s'", name); @@ -203,8 +203,7 @@ void CreateFile (char *name, int format) { GL2PS_SIMPLE_LINE_OFFSET | GL2PS_DRAW_BACKGROUND, GL_RGBA, 0, NULL, size3d, fp); CTX.stream = TO_FILE ; - Init(); - Draw(); + DrawUpdate(); CTX.stream = TO_SCREEN ; res = gl2psEndPage(); } diff --git a/Graphics/Draw.h b/Graphics/Draw.h index 0a46ce60bde1ea2f0865e12f16a322c33944d9e1..9cb970376c08628cf86a964bbb0404ff15bdddcb 100644 --- a/Graphics/Draw.h +++ b/Graphics/Draw.h @@ -40,6 +40,7 @@ void Draw2d(void); void DrawUI(void); void DrawOverlay(void); void Draw(void); +void DrawUpdate(void); void Draw_String(char *s); void Draw_Geom (Mesh *m); diff --git a/Motif/Opengl.cpp b/Motif/Opengl.cpp index 6ac815daa0d96b640a95cdd2f869e25b1f761805..afe3a88c086928b6d561baa068eec06ff625814a 100644 --- a/Motif/Opengl.cpp +++ b/Motif/Opengl.cpp @@ -1,4 +1,4 @@ -// $Id: Opengl.cpp,v 1.2 2001-01-10 10:06:18 geuzaine Exp $ +// $Id: Opengl.cpp,v 1.3 2001-01-10 20:23:38 geuzaine Exp $ #include <X11/IntrinsicP.h> @@ -64,6 +64,11 @@ void Draw(void){ if(CTX.db) glXSwapBuffers(XCTX.display,XtWindow(WID.G.glw)); } +void DrawUpdate(void){ + Init(); + Draw(); +} + void DrawOverlay(void){ }