From 22ca0e7aa95103576b14f8f3406fbcdf015fd1e5 Mon Sep 17 00:00:00 2001 From: Christophe Geuzaine <cgeuzaine@ulg.ac.be> Date: Fri, 29 Dec 2000 14:04:29 +0000 Subject: [PATCH] *** empty log message *** --- Common/Options.h | 4 +-- Graphics/gl2gif.cpp | 12 +++++++- Unix/CbOptions.cpp | 72 ++++++++++++++++++++++++++++++++++----------- Unix/CbOptions.h | 12 ++++---- Unix/Register.cpp | 8 +++-- Unix/Widgets.cpp | 14 +++++++-- 6 files changed, 91 insertions(+), 31 deletions(-) diff --git a/Common/Options.h b/Common/Options.h index d4e274aa5f..b026582f28 100644 --- a/Common/Options.h +++ b/Common/Options.h @@ -1,4 +1,4 @@ -/* $Id: Options.h,v 1.14 2000-12-28 18:58:37 geuzaine Exp $ */ +/* $Id: Options.h,v 1.15 2000-12-29 14:04:26 geuzaine Exp $ */ #ifndef _OPTIONS_H_ #define _OPTIONS_H_ @@ -200,7 +200,7 @@ StringXNumber PrintOptions_Number[] = { { "Format" , GMSH_INT, (void*)&CTX.print.format , FORMAT_AUTO }, { "EpsQuality" , GMSH_INT, (void*)&CTX.print.eps_quality , 1 }, { "JpegQuality" , GMSH_INT, (void*)&CTX.print.jpeg_quality , 100 }, - { "GifDither" , GMSH_INT, (void*)&CTX.print.gif_dither , 1 }, + { "GifDither" , GMSH_INT, (void*)&CTX.print.gif_dither , 0 }, { "GifSort" , GMSH_INT, (void*)&CTX.print.gif_sort , 1 }, { "GifInterlace" , GMSH_INT, (void*)&CTX.print.gif_interlace , 0 }, { "GifTransparent" , GMSH_INT, (void*)&CTX.print.gif_transparent, 0 }, diff --git a/Graphics/gl2gif.cpp b/Graphics/gl2gif.cpp index bba8b253c7..3f5668f59c 100644 --- a/Graphics/gl2gif.cpp +++ b/Graphics/gl2gif.cpp @@ -1,4 +1,4 @@ -/* $Id: gl2gif.cpp,v 1.6 2000-12-29 10:27:00 geuzaine Exp $ */ +/* $Id: gl2gif.cpp,v 1.7 2000-12-29 14:04:28 geuzaine Exp $ */ /* * gl2gif: an OpenGL to GIF printing library * @@ -1123,6 +1123,8 @@ void create_gif(FILE *outfile, int width, int height, /* This is stupid, but I couldn't figure out how to pack the data directly from the OpenGL frame buffer into unsigned long pixel[][] */ + //printf("read buff : %g \n", Cpu()); + glPixelStorei(GL_PACK_ALIGNMENT,1); glPixelStorei(GL_UNPACK_ALIGNMENT,1); RedBuffer = (unsigned char *)Malloc(height*width*sizeof(unsigned char)); @@ -1147,6 +1149,8 @@ void create_gif(FILE *outfile, int width, int height, Free(GreenBuffer); Free(BlueBuffer); + //printf("start gif : %g \n", Cpu()); + /* Try to compute color histogram */ chv = ppm_computecolorhist( static_pixels, width, height, MAX_GIFCOLORS, @@ -1350,6 +1354,8 @@ void create_gif(FILE *outfile, int width, int height, } + //printf("ok with colormap : %g \n", Cpu()); + /* We now have a colormap of maximum 256 colors */ for ( i = 0; i < static_nbcolors; ++i ){ @@ -1394,6 +1400,8 @@ void create_gif(FILE *outfile, int width, int height, else transparent = -1 ; + //printf("ok with sort : %g \n", Cpu()); + /* All set, let's do it. */ GIFEncode(outfile, width, height, interlace, 0, transparent, BitsPerPixel, static_red, static_green, static_blue, GetPixel ); @@ -1402,5 +1410,7 @@ void create_gif(FILE *outfile, int width, int height, Free(static_pixels[i]); Free(static_pixels); + //printf("finished gif : %g \n", Cpu()); + } diff --git a/Unix/CbOptions.cpp b/Unix/CbOptions.cpp index 97fb15ab4d..cd720195e7 100644 --- a/Unix/CbOptions.cpp +++ b/Unix/CbOptions.cpp @@ -1,4 +1,4 @@ -/* $Id: CbOptions.cpp,v 1.18 2000-12-26 17:40:18 geuzaine Exp $ */ +/* $Id: CbOptions.cpp,v 1.19 2000-12-29 14:04:29 geuzaine Exp $ */ #include "Gmsh.h" #include "GmshUI.h" @@ -131,22 +131,60 @@ void OptionsCb (Widget w, XtPointer client_data, XtPointer call_data){ /* save */ - case OPTIONS_SAVE_MSH : CTX.print.format = CTX.mesh.format = FORMAT_MSH; break; - case OPTIONS_SAVE_UNV : CTX.print.format = CTX.mesh.format = FORMAT_UNV; break; - case OPTIONS_SAVE_GREF : CTX.print.format = CTX.mesh.format = FORMAT_GREF; break; - case OPTIONS_SAVE_GEO : CTX.print.format = FORMAT_GEO; break; - case OPTIONS_SAVE_AUTO : CTX.print.format = FORMAT_AUTO; break; - case OPTIONS_SAVE_XPM : CTX.print.format = FORMAT_XPM; break; - case OPTIONS_SAVE_GIF : CTX.print.format = FORMAT_GIF; break; - case OPTIONS_SAVE_JPEG : CTX.print.format = FORMAT_JPEG; break; - case OPTIONS_SAVE_PPM : CTX.print.format = FORMAT_PPM; break; - case OPTIONS_SAVE_YUV : CTX.print.format = FORMAT_YUV; break; - case OPTIONS_SAVE_EPS_SIMPLE : CTX.print.format = FORMAT_EPS; - CTX.print.eps_quality = 1; break; - case OPTIONS_SAVE_EPS_COMPLEX: CTX.print.format = FORMAT_EPS; - CTX.print.eps_quality = 2; break; - case OPTIONS_SAVE_EPS_IMAGE : CTX.print.format = FORMAT_EPS; - CTX.print.eps_quality = 0; break; + case OPTIONS_SAVE_MSH : + CTX.print.format = CTX.mesh.format = FORMAT_MSH; + break; + case OPTIONS_SAVE_UNV : + CTX.print.format = CTX.mesh.format = FORMAT_UNV; + break; + case OPTIONS_SAVE_GREF : + CTX.print.format = CTX.mesh.format = FORMAT_GREF; + break; + case OPTIONS_SAVE_GEO : + CTX.print.format = FORMAT_GEO; + break; + case OPTIONS_SAVE_AUTO : + CTX.print.format = FORMAT_AUTO; + break; + case OPTIONS_SAVE_XPM : + CTX.print.format = FORMAT_XPM; + break; + case OPTIONS_SAVE_GIF : + CTX.print.format = FORMAT_GIF; + CTX.print.gif_dither = 0; + CTX.print.gif_transparent = 0; + break; + case OPTIONS_SAVE_GIF_DITHERED : + CTX.print.format = FORMAT_GIF; + CTX.print.gif_dither = 1; + CTX.print.gif_transparent = 0; + break; + case OPTIONS_SAVE_GIF_TRANSPARENT : + CTX.print.format = FORMAT_GIF; + CTX.print.gif_dither = 0; + CTX.print.gif_transparent = 1; + break; + case OPTIONS_SAVE_JPEG : + CTX.print.format = FORMAT_JPEG; + break; + case OPTIONS_SAVE_PPM : + CTX.print.format = FORMAT_PPM; + break; + case OPTIONS_SAVE_YUV : + CTX.print.format = FORMAT_YUV; + break; + case OPTIONS_SAVE_EPS_IMAGE : + CTX.print.format = FORMAT_EPS; + CTX.print.eps_quality = 0; + break; + case OPTIONS_SAVE_EPS_SIMPLE : + CTX.print.format = FORMAT_EPS; + CTX.print.eps_quality = 1; + break; + case OPTIONS_SAVE_EPS_COMPLEX : + CTX.print.format = FORMAT_EPS; + CTX.print.eps_quality = 2; + break; /* geometrie */ diff --git a/Unix/CbOptions.h b/Unix/CbOptions.h index 1833fa8e18..165aa5f00f 100644 --- a/Unix/CbOptions.h +++ b/Unix/CbOptions.h @@ -1,4 +1,4 @@ -/* $Id: CbOptions.h,v 1.12 2000-12-26 17:40:18 geuzaine Exp $ */ +/* $Id: CbOptions.h,v 1.13 2000-12-29 14:04:29 geuzaine Exp $ */ #ifndef _CB_OPTIONS_H_ #define _CB_OPTIONS_H_ @@ -104,10 +104,12 @@ #define OPTIONS_SAVE_EPS_COMPLEX 406 #define OPTIONS_SAVE_EPS_IMAGE 407 #define OPTIONS_SAVE_GIF 408 -#define OPTIONS_SAVE_GEO 409 -#define OPTIONS_SAVE_JPEG 410 -#define OPTIONS_SAVE_PPM 411 -#define OPTIONS_SAVE_YUV 412 +#define OPTIONS_SAVE_GIF_DITHERED 409 +#define OPTIONS_SAVE_GIF_TRANSPARENT 410 +#define OPTIONS_SAVE_GEO 411 +#define OPTIONS_SAVE_JPEG 412 +#define OPTIONS_SAVE_PPM 413 +#define OPTIONS_SAVE_YUV 414 diff --git a/Unix/Register.cpp b/Unix/Register.cpp index a84b7100d1..a62f679e1a 100644 --- a/Unix/Register.cpp +++ b/Unix/Register.cpp @@ -1,4 +1,4 @@ -/* $Id: Register.cpp,v 1.18 2000-12-26 17:40:18 geuzaine Exp $ */ +/* $Id: Register.cpp,v 1.19 2000-12-29 14:04:29 geuzaine Exp $ */ #include "Gmsh.h" #include "GmshUI.h" @@ -146,8 +146,10 @@ void RegisterCallbacks_FD(Widgets_T *w){ register_activate_cb (w->FD.saveAsButt[7], OptionsCb, OPTIONS_SAVE_XPM); register_activate_cb (w->FD.saveAsButt[8], OptionsCb, OPTIONS_SAVE_JPEG); register_activate_cb (w->FD.saveAsButt[9], OptionsCb, OPTIONS_SAVE_GIF); - register_activate_cb (w->FD.saveAsButt[10], OptionsCb, OPTIONS_SAVE_PPM); - register_activate_cb (w->FD.saveAsButt[11], OptionsCb, OPTIONS_SAVE_YUV); + register_activate_cb (w->FD.saveAsButt[10], OptionsCb, OPTIONS_SAVE_GIF_DITHERED); + register_activate_cb (w->FD.saveAsButt[11], OptionsCb, OPTIONS_SAVE_GIF_TRANSPARENT); + register_activate_cb (w->FD.saveAsButt[12], OptionsCb, OPTIONS_SAVE_PPM); + register_activate_cb (w->FD.saveAsButt[13], OptionsCb, OPTIONS_SAVE_YUV); register_ok_cb (w->FD.saveOptionsAsDialog, FileCb, FILE_SAVE_OPTIONS_AS); register_cancel_cb (w->FD.saveOptionsAsDialog, ManageCb, w->FD.saveOptionsAsDialog); diff --git a/Unix/Widgets.cpp b/Unix/Widgets.cpp index 6d07e7e2fd..e5b3ddef13 100644 --- a/Unix/Widgets.cpp +++ b/Unix/Widgets.cpp @@ -1,4 +1,4 @@ -/* $Id: Widgets.cpp,v 1.27 2000-12-29 10:27:00 geuzaine Exp $ */ +/* $Id: Widgets.cpp,v 1.28 2000-12-29 14:04:29 geuzaine Exp $ */ #include "Gmsh.h" #include "GmshUI.h" @@ -669,13 +669,21 @@ void CreateWidgets_FD(Widgets_T *w){ w->FD.saveAsButt[9] = XmCreatePushButton(w->FD.saveAsPane[0], "MsaveAsButt9", arg, i); XtManageChild(w->FD.saveAsButt[9]); i=0; - XtSetArg(arg[i], XmNlabelString, XmStringCreateSimple("PPM")); i++; + XtSetArg(arg[i], XmNlabelString, XmStringCreateSimple("GIF Dithered")); i++; w->FD.saveAsButt[10] = XmCreatePushButton(w->FD.saveAsPane[0], "MsaveAsButt10", arg, i); XtManageChild(w->FD.saveAsButt[10]); i=0; - XtSetArg(arg[i], XmNlabelString, XmStringCreateSimple("UCB YUV")); i++; + XtSetArg(arg[i], XmNlabelString, XmStringCreateSimple("GIF Transparent")); i++; w->FD.saveAsButt[11] = XmCreatePushButton(w->FD.saveAsPane[0], "MsaveAsButt11", arg, i); XtManageChild(w->FD.saveAsButt[11]); + i=0; + XtSetArg(arg[i], XmNlabelString, XmStringCreateSimple("PPM")); i++; + w->FD.saveAsButt[12] = XmCreatePushButton(w->FD.saveAsPane[0], "MsaveAsButt12", arg, i); + XtManageChild(w->FD.saveAsButt[12]); + i=0; + XtSetArg(arg[i], XmNlabelString, XmStringCreateSimple("UCB YUV")); i++; + w->FD.saveAsButt[13] = XmCreatePushButton(w->FD.saveAsPane[0], "MsaveAsButt13", arg, i); + XtManageChild(w->FD.saveAsButt[13]); i=0; XtSetArg(arg[i], XmNsubMenuId, w->FD.saveAsPane[0]); i++; -- GitLab