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