diff --git a/Common/Options.cpp b/Common/Options.cpp index 58bfd6e0abdfc5aeac48a8fbab81e0b03224a11a..2647bbc61cedc9fc8171a4f4295a63bfc493382d 100644 --- a/Common/Options.cpp +++ b/Common/Options.cpp @@ -5153,6 +5153,7 @@ double opt_mesh_color_carousel(OPT_ARGS_NUM) if(FlGui::available() && (action & GMSH_GUI)){ FlGui::instance()->options->mesh.choice[4]->value (CTX::instance()->mesh.colorCarousel); + drawContext::global()->resetFontTextures(); } #endif return CTX::instance()->mesh.colorCarousel; @@ -7943,6 +7944,7 @@ unsigned int opt_general_color_text(OPT_ARGS_COL) CTX::instance()->color.text = val; #if defined(HAVE_FLTK) CCC(CTX::instance()->color.text, FlGui::instance()->options->general.color[3]); + drawContext::global()->resetFontTextures(); #endif return CTX::instance()->color.text; } @@ -7953,6 +7955,7 @@ unsigned int opt_general_color_axes(OPT_ARGS_COL) CTX::instance()->color.axes = val; #if defined(HAVE_FLTK) CCC(CTX::instance()->color.axes, FlGui::instance()->options->general.color[4]); + drawContext::global()->resetFontTextures(); #endif return CTX::instance()->color.axes; } @@ -7963,6 +7966,7 @@ unsigned int opt_general_color_small_axes(OPT_ARGS_COL) CTX::instance()->color.smallAxes = val; #if defined(HAVE_FLTK) CCC(CTX::instance()->color.smallAxes, FlGui::instance()->options->general.color[5]); + drawContext::global()->resetFontTextures(); #endif return CTX::instance()->color.smallAxes; } @@ -8507,6 +8511,7 @@ unsigned int opt_view_color_text2d(OPT_ARGS_COL) #if defined(HAVE_FLTK) if(_gui_action_valid(action, num)){ CCC(opt->color.text2d, FlGui::instance()->options->view.color[10]); + drawContext::global()->resetFontTextures(); } #endif return opt->color.text2d; @@ -8525,6 +8530,7 @@ unsigned int opt_view_color_text3d(OPT_ARGS_COL) #if defined(HAVE_FLTK) if(_gui_action_valid(action, num)){ CCC(opt->color.text3d, FlGui::instance()->options->view.color[11]); + drawContext::global()->resetFontTextures(); } #endif return opt->color.text3d; @@ -8543,6 +8549,7 @@ unsigned int opt_view_color_axes(OPT_ARGS_COL) #if defined(HAVE_FLTK) if(_gui_action_valid(action, num)){ CCC(opt->color.axes, FlGui::instance()->options->view.color[12]); + drawContext::global()->resetFontTextures(); } #endif return opt->color.axes; diff --git a/Fltk/FlGui.cpp b/Fltk/FlGui.cpp index 7f5fb23d668117345fef65060d3ea50459227c96..cd12e7da24d3ed4a154c873a2713ecf2f188a9b7 100644 --- a/Fltk/FlGui.cpp +++ b/Fltk/FlGui.cpp @@ -180,6 +180,12 @@ class drawContextFltk : public drawContextGlobal{ { gl_draw(str); } + void resetFontTextures() + { +#if defined(__APPLE__) && (FL_MAJOR_VERSION == 1) && (FL_MINOR_VERSION == 3) + gl_texture_pile_height(1); // force font texture recomputation +#endif + } }; static int globalShortcut(int event) diff --git a/Graphics/drawContext.h b/Graphics/drawContext.h index ced0b66e4263281ac5766df98003ef0c5ecfc736..651e7ed27a3d8d03cba8ab1abe111483f272a8ae 100644 --- a/Graphics/drawContext.h +++ b/Graphics/drawContext.h @@ -97,6 +97,7 @@ class drawContextGlobal { virtual int getStringHeight(){ return 12; } virtual int getStringDescent(){ return 3; } virtual void drawString(const char *str){} + virtual void resetFontTextures(){} }; class drawContext {