diff --git a/Common/CreateFile.cpp b/Common/CreateFile.cpp index 721ba257217b6b62760a396c8b505b3a27b22bd2..f744e81f1ec5484322bf62cc01199dc48c4b51c5 100644 --- a/Common/CreateFile.cpp +++ b/Common/CreateFile.cpp @@ -71,6 +71,7 @@ int GetFileFormatFromExtension(const std::string &ext) else if(ext == ".pdf") return FORMAT_PDF; else if(ext == ".tex") return FORMAT_TEX; else if(ext == ".svg") return FORMAT_SVG; + else if(ext == ".tikz") return FORMAT_TIKZ; else if(ext == ".ppm") return FORMAT_PPM; else if(ext == ".yuv") return FORMAT_YUV; else if(ext == ".brep") return FORMAT_BREP; @@ -120,12 +121,13 @@ std::string GetDefaultFileName(int format) case FORMAT_JPEG: name += ".jpg"; break; case FORMAT_MPEG: name += ".mpg"; break; case FORMAT_PNG: name += ".png"; break; - case FORMAT_PGF: name += ".todo"; break; + case FORMAT_PGF: name += ".pgf"; break; case FORMAT_PS: name += ".ps"; break; case FORMAT_EPS: name += ".eps"; break; case FORMAT_PDF: name += ".pdf"; break; case FORMAT_TEX: name += ".tex"; break; case FORMAT_SVG: name += ".svg"; break; + case FORMAT_TIKZ: name += ".tikz"; break; case FORMAT_PPM: name += ".ppm"; break; case FORMAT_YUV: name += ".yuv"; break; case FORMAT_BREP: name += ".brep"; break; @@ -437,6 +439,7 @@ void CreateOutputFile(const std::string &fileName, int format, case FORMAT_EPS: case FORMAT_PDF: case FORMAT_SVG: + case FORMAT_TIKZ: { if(!FlGui::available()) break; @@ -460,6 +463,7 @@ void CreateOutputFile(const std::string &fileName, int format, (format == FORMAT_PDF) ? GL2PS_PDF : (format == FORMAT_PS) ? GL2PS_PS : (format == FORMAT_SVG) ? GL2PS_SVG : + (format == FORMAT_TIKZ) ? GL2PS_PGF : GL2PS_EPS; int pssort = (CTX::instance()->print.epsQuality == 3) ? GL2PS_NO_SORT : diff --git a/Common/GmshDefines.h b/Common/GmshDefines.h index e80216beef89d4a488c5d2abaaa5db4c56d5844d..630462e3fd90e1cf2571754bc7be9ec00270d903 100644 --- a/Common/GmshDefines.h +++ b/Common/GmshDefines.h @@ -54,6 +54,7 @@ #define FORMAT_PVTU 45 #define FORMAT_X3D 46 #define FORMAT_TOCHNOG 47 +#define FORMAT_TIKZ 48 // Element types #define TYPE_PNT 1 diff --git a/Fltk/fileDialogs.cpp b/Fltk/fileDialogs.cpp index 2dda82b3a82b3ef8741eb2633cb26e11307afd14..b0e7ce1e1c36e328819816fbb2a319dede208f61 100644 --- a/Fltk/fileDialogs.cpp +++ b/Fltk/fileDialogs.cpp @@ -688,26 +688,23 @@ static void activate_gl2ps_choices(int format, int quality, Fl_Check_Button *b[5 b[1]->deactivate(); b[2]->deactivate(); b[3]->deactivate(); - b[4]->deactivate(); break; case 1: // simple sort case 3: // unsorted b[1]->activate(); - b[2]->activate(); - b[3]->deactivate(); - if(format == FORMAT_PDF || format == FORMAT_SVG) - b[4]->deactivate(); + b[2]->deactivate(); + if(format == FORMAT_PS || format == FORMAT_EPS) + b[3]->activate(); else - b[4]->activate(); + b[3]->deactivate(); break; case 2: // bsp sort b[1]->activate(); b[2]->activate(); - b[3]->activate(); - if(format == FORMAT_PDF || format == FORMAT_SVG) - b[4]->deactivate(); + if(format == FORMAT_PS || format == FORMAT_EPS) + b[3]->activate(); else - b[4]->activate(); + b[3]->deactivate(); break; } } diff --git a/Fltk/graphicWindow.cpp b/Fltk/graphicWindow.cpp index 7689c0d2ca0cbeb1ae6c411ecc04812bb458aa64..edc64013964b43f0fd61156db2f5a71e0d7c2fe4 100644 --- a/Fltk/graphicWindow.cpp +++ b/Fltk/graphicWindow.cpp @@ -335,6 +335,8 @@ static int _save_ppm(const char *name){ return genericBitmapFileDialog (name, "PPM Options", FORMAT_PPM); } static int _save_svg(const char *name){ return gl2psFileDialog (name, "SVG Options", FORMAT_SVG); } +static int _save_tikz(const char *name){ return gl2psFileDialog + (name, "TIKZ Options", FORMAT_TIKZ); } static int _save_yuv(const char *name){ return genericBitmapFileDialog (name, "YUV Options", FORMAT_YUV); } static int _save_view_pos(const char *name){ return posFileDialog(name); } @@ -389,6 +391,7 @@ static int _save_auto(const char *name) case FORMAT_PS : return _save_ps(name); case FORMAT_PPM : return _save_ppm(name); case FORMAT_SVG : return _save_svg(name); + case FORMAT_TIKZ : return _save_tikz(name); case FORMAT_YUV : return _save_yuv(name); default : CreateOutputFile(name, FORMAT_AUTO); @@ -455,6 +458,7 @@ static void file_export_cb(Fl_Widget *w, void *data) {"Image - PostScript" TT "*.ps", _save_ps}, {"Image - PPM" TT "*.ppm", _save_ppm}, {"Image - SVG" TT "*.svg", _save_svg}, + {"Image - TIKZ" TT "*.tikz", _save_tikz}, {"Image - YUV" TT "*.yuv", _save_yuv}, #if defined(HAVE_MPEG_ENCODE) {"Movie - MPEG" TT "*.mpg", _save_mpeg}, diff --git a/Graphics/drawGlyph.cpp b/Graphics/drawGlyph.cpp index 5834e8934baa4cbc95abc34aac76b76a58407d5d..557e59f4e99f432377f18b94fbbf33de873996d1 100644 --- a/Graphics/drawGlyph.cpp +++ b/Graphics/drawGlyph.cpp @@ -86,7 +86,8 @@ void drawContext::drawString(const std::string &s, double x, double y, double z, (CTX::instance()->print.fileFormat == FORMAT_PS || CTX::instance()->print.fileFormat == FORMAT_EPS || CTX::instance()->print.fileFormat == FORMAT_PDF || - CTX::instance()->print.fileFormat == FORMAT_SVG)){ + CTX::instance()->print.fileFormat == FORMAT_SVG || + CTX::instance()->print.fileFormat == FORMAT_TIKZ)){ gl2psText(s.c_str(), font_name.c_str(), font_size); } else{