diff --git a/Common/Context.h b/Common/Context.h index aba69c94fa0169876b94ad07a2712a7067ab6d30..64c86636cbb75cd9d8e3f233e554874b5881172d 100644 --- a/Common/Context.h +++ b/Common/Context.h @@ -75,6 +75,7 @@ public : int vis_position[2]; // position of the visibility window on the screen int stat_position[2]; // position of the statistics window on the screen int center_windows; // center popup windows on the menu window + int apple_menu_bar; // Apple-style menubar? int default_plugins; // do we load default plugins on startup? diff --git a/Common/DefaultOptions.h b/Common/DefaultOptions.h index 63aecabc8f50db3aebcef1db4b5c43e9ec7a6b28..b0ddace736841683b3a94632b35a53aaabaf30b1 100644 --- a/Common/DefaultOptions.h +++ b/Common/DefaultOptions.h @@ -346,6 +346,8 @@ StringXString PrintOptions_String[] = { StringXNumber GeneralOptions_Number[] = { { F|O, "AlphaBlending" , opt_general_alpha_blending , 1. , "Enable alpha blending (transparency) in post-processing views" }, + { F|S, "AppleMenuBar" , opt_general_apple_menu_bar , 0. , + "Use Apple-style menu bar?" }, { F|O, "Axes" , opt_general_axes , 1. , "Display the axes linked to the model" }, diff --git a/Common/Options.cpp b/Common/Options.cpp index b126014846ac04e9b1e4cb53b3da1933c6dd4c81..eb2ae451115bfb64064eebe7862ab21be792d354 100644 --- a/Common/Options.cpp +++ b/Common/Options.cpp @@ -1,4 +1,4 @@ -// $Id: Options.cpp,v 1.113 2003-08-11 16:23:20 geuzaine Exp $ +// $Id: Options.cpp,v 1.114 2003-09-01 23:50:19 geuzaine Exp $ // // Copyright (C) 1997-2003 C. Geuzaine, J.-F. Remacle // @@ -1742,6 +1742,13 @@ double opt_general_menu_position1(OPT_ARGS_NUM) return CTX.position[1]; } +double opt_general_apple_menu_bar(OPT_ARGS_NUM) +{ + if(action & GMSH_SET) + CTX.apple_menu_bar = (int)val; + return CTX.apple_menu_bar; +} + double opt_general_message_position0(OPT_ARGS_NUM) { if(action & GMSH_SET) diff --git a/Common/Options.h b/Common/Options.h index 15e723a4c5ef256ef34d817995ee428b2aa710a5..2383a3dbc95ba9d494a1343e47a0bc2ace82a8e2 100644 --- a/Common/Options.h +++ b/Common/Options.h @@ -195,6 +195,7 @@ double opt_general_viewport2(OPT_ARGS_NUM); double opt_general_viewport3(OPT_ARGS_NUM); double opt_general_menu_position0(OPT_ARGS_NUM); double opt_general_menu_position1(OPT_ARGS_NUM); +double opt_general_apple_menu_bar(OPT_ARGS_NUM); double opt_general_message_position0(OPT_ARGS_NUM); double opt_general_message_position1(OPT_ARGS_NUM); double opt_general_message_size0(OPT_ARGS_NUM); diff --git a/Graphics/CreateFile.cpp b/Graphics/CreateFile.cpp index 1228b6a89ec26db5b977119b5d8f816d37bbf04a..510647fa4121ebc4f4a9d12b8fbd105403d7076f 100644 --- a/Graphics/CreateFile.cpp +++ b/Graphics/CreateFile.cpp @@ -1,4 +1,4 @@ -// $Id: CreateFile.cpp,v 1.42 2003-04-02 05:53:23 geuzaine Exp $ +// $Id: CreateFile.cpp,v 1.43 2003-09-01 23:50:20 geuzaine Exp $ // // Copyright (C) 1997-2003 C. Geuzaine, J.-F. Remacle // @@ -48,9 +48,9 @@ void FillBuffer(void) void CreateOutputFile(char *name, int format) { FILE *fp; - GLint size3d; + GLint size3d, viewport[4]; char ext[256]; - int res, i, oldformat, psformat, pssort, psoptions; + int res, oldformat, psformat, pssort, psoptions; if(!name || !strlen(name)) return; @@ -58,10 +58,12 @@ void CreateOutputFile(char *name, int format) oldformat = CTX.print.format; CTX.print.format = format; + for(int i = 0; i < 4; i++) viewport[i] = CTX.viewport[i]; + switch (format) { case FORMAT_AUTO: - for(i = strlen(name) - 1; i >= 0; i--) { + for(int i = strlen(name) - 1; i >= 0; i--) { if(name[i] == '.') { strcpy(ext, &name[i]); break; @@ -142,13 +144,11 @@ void CreateOutputFile(char *name, int format) FillBuffer(); CTX.print.gl_fonts = 1; if(format == FORMAT_JPEG || format == FORMAT_JPEGTEX){ - create_jpeg(fp, CTX.viewport[2] - CTX.viewport[0], - CTX.viewport[3] - CTX.viewport[1], CTX.print.jpeg_quality); + create_jpeg(fp, viewport[2]-viewport[0], viewport[3]-viewport[1], CTX.print.jpeg_quality); Msg(INFO, "JPEG creation complete '%s'", name); } else{ - create_png(fp, CTX.viewport[2] - CTX.viewport[0], - CTX.viewport[3] - CTX.viewport[1], 100); + create_png(fp, viewport[2]-viewport[0], viewport[3]-viewport[1], 100); Msg(INFO, "PNG creation complete '%s'", name); } Msg(STATUS2, "Wrote '%s'", name); @@ -164,18 +164,15 @@ void CreateOutputFile(char *name, int format) } FillBuffer(); if(format == FORMAT_PPM){ - create_ppm(fp, CTX.viewport[2] - CTX.viewport[0], - CTX.viewport[3] - CTX.viewport[1]); + create_ppm(fp, viewport[2]-viewport[0], viewport[3]-viewport[1]); Msg(INFO, "PPM creation complete '%s'", name); } else if (format == FORMAT_YUV){ - create_yuv(fp, CTX.viewport[2] - CTX.viewport[0], - CTX.viewport[3] - CTX.viewport[1]); + create_yuv(fp, viewport[2]-viewport[0], viewport[3]-viewport[1]); Msg(INFO, "YUV creation complete '%s'", name); } else{ - create_gif(fp, CTX.viewport[2] - CTX.viewport[0], - CTX.viewport[3] - CTX.viewport[1], + create_gif(fp, viewport[2]-viewport[0], viewport[3]-viewport[1], CTX.print.gif_dither, CTX.print.gif_sort, CTX.print.gif_interlace, @@ -210,7 +207,7 @@ void CreateOutputFile(char *name, int format) res = GL2PS_OVERFLOW; while(res == GL2PS_OVERFLOW) { size3d += 2048 * 2048; - gl2psBeginPage(CTX.base_filename, "Gmsh", CTX.viewport, + gl2psBeginPage(CTX.base_filename, "Gmsh", viewport, psformat, pssort, psoptions, GL_RGBA, 0, NULL, 0, 0, 0, size3d, fp, name); CTX.print.gl_fonts = 0; @@ -228,7 +225,7 @@ void CreateOutputFile(char *name, int format) Msg(GERROR, "Unable to open file '%s'", name); return; } - gl2psBeginPage(CTX.base_filename, "Gmsh", CTX.viewport, + gl2psBeginPage(CTX.base_filename, "Gmsh", viewport, GL2PS_TEX, GL2PS_NO_SORT, GL2PS_NONE, GL_RGBA, 0, NULL, 0, 0, 0, 1, fp, name); CTX.print.gl_fonts = 0;