diff --git a/Common/DefaultOptions.h b/Common/DefaultOptions.h index dde036e94eee3c11b1c9b8b1ef65a6fa200b69bd..879009d2bf49466e160b817465a1c84cdee982b0 100644 --- a/Common/DefaultOptions.h +++ b/Common/DefaultOptions.h @@ -433,7 +433,7 @@ StringXNumber GeneralOptions_Number[] = { { F|O, "ClipWholeElements" , opt_general_clip_whole_elements , 0. , "Clip whole elements" }, { F|S, "ColorScheme", opt_general_color_scheme , 1. , - "Default color scheme for graphics (0=dark, 1=light or 2=grayscale)" }, + "Default color scheme for graphics (0=dark, 1=light, 2=grayscale, 3=reverse)" }, { F|O, "ConfirmOverwrite" , opt_general_confirm_overwrite, 1. , "Ask confirmation before overwriting files?" }, { F|S, "ContextPositionX" , opt_general_context_position0 , 650. , @@ -1684,70 +1684,70 @@ StringXNumber PrintOptions_Number[] = { StringXColor GeneralOptions_Color[] = { { F|O, "Background" , opt_general_color_background , - {245, 245, 245, 255}, {255, 255, 255, 255}, {245, 245, 245, 255}, + {245, 245, 245, 255}, {255, 255, 255, 255}, {245, 245, 245, 255}, {10, 10, 10, 255}, "Background color" }, { F|O, "BackgroundGradient" , opt_general_color_background_gradient , - {165, 165, 165, 255}, {208, 215, 255, 255}, {165, 165, 165, 255}, + {165, 165, 165, 255}, {208, 215, 255, 255}, {165, 165, 165, 255}, {50, 50, 50, 255}, "Background gradient color" }, { F|O, "Foreground" , opt_general_color_foreground , - {85, 85, 85, 255}, {85, 85, 85, 255}, {128, 128, 128, 255}, + {85, 85, 85, 255}, {85, 85, 85, 255}, {85, 85, 85, 255}, {170, 170, 170, 255}, "Foreground color" }, { F|O, "Text" , opt_general_color_text , - {0, 0, 0, 255}, {0, 0, 0, 255}, {0, 0, 0, 255}, + {0, 0, 0, 255}, {0, 0, 0, 255}, {0, 0, 0, 255}, {245, 245, 245, 255}, "Text color" }, { F|O, "Axes" , opt_general_color_axes , - {0, 0, 0, 255}, {0, 0, 0, 255}, {0, 0, 0, 255}, + {0, 0, 0, 255}, {0, 0, 0, 255}, {0, 0, 0, 255}, {245, 245, 245, 255}, "Axes color" }, { F|O, "SmallAxes" , opt_general_color_small_axes , - {0, 0, 0, 255}, {0, 0, 0, 255}, {0, 0, 0, 255}, + {0, 0, 0, 255}, {0, 0, 0, 255}, {0, 0, 0, 255}, {245, 245, 245, 255}, "Small axes color" }, { F|O, "AmbientLight" , opt_general_color_ambient_light, - {25, 25, 25, 255}, {25, 25, 25, 255}, {25, 25, 25, 255}, + {25, 25, 25, 255}, {25, 25, 25, 255}, {25, 25, 25, 255}, {25, 25, 25, 255}, "Ambient light color" }, { F|O, "DiffuseLight" , opt_general_color_diffuse_light, - {255, 255, 255, 255}, {255, 255, 255, 255}, {255, 255, 255, 255}, + {255, 255, 255, 255}, {255, 255, 255, 255}, {255, 255, 255, 255}, {255, 255, 255, 255}, "Diffuse light color" }, { F|O, "SpecularLight" , opt_general_color_specular_light, - {255, 255, 255, 255}, {255, 255, 255, 255}, {255, 255, 255, 255}, + {255, 255, 255, 255}, {255, 255, 255, 255}, {255, 255, 255, 255}, {255, 255, 255, 255}, "Specular light color" }, - { 0, 0 , 0 , {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0} , 0 } + { 0, 0 , 0 , {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0} , {0, 0, 0, 0} , 0 } } ; StringXColor GeometryOptions_Color[] = { { F|O, "Points" , opt_geometry_color_points , - {90, 90, 90, 255}, {90, 90, 90, 255}, {0, 0, 0, 255}, + {90, 90, 90, 255}, {90, 90, 90, 255}, {0, 0, 0, 255}, {178, 178, 178, 255}, "Normal geometry point color" }, { F|O, "Lines" , opt_geometry_color_lines , - {0, 0, 255, 255}, {0, 0, 255, 255}, {0, 0, 0, 255}, + {0, 0, 255, 255}, {0, 0, 255, 255}, {0, 0, 0, 255}, {0, 0, 255, 255}, "Normal geometry curve color" }, { F|O, "Surfaces" , opt_geometry_color_surfaces , - {128, 128, 128, 255}, {128, 128, 128, 255}, {0, 0, 0, 255}, + {128, 128, 128, 255}, {128, 128, 128, 255}, {0, 0, 0, 255}, {128, 128, 128, 255}, "Normal geometry surface color" }, { F|O, "Volumes" , opt_geometry_color_volumes , - {255, 255, 0, 255}, {255, 255, 0, 255}, {0, 0, 0, 255}, + {255, 255, 0, 255}, {255, 255, 0, 255}, {0, 0, 0, 255}, {255, 255, 0, 255}, "Normal geometry volume color" }, { F|O, "Selection" , opt_geometry_color_selection , - {255, 0, 0, 255}, {255, 0, 0, 255}, {255, 0, 0, 255}, + {255, 0, 0, 255}, {255, 0, 0, 255}, {255, 0, 0, 255}, {255, 0, 0, 255}, "Selected geometry color" }, { F|O, "HighlightZero" , opt_geometry_color_highlight0 , - {255, 0, 0, 255}, {255, 0, 0, 255}, {255, 0, 0, 255}, + {255, 0, 0, 255}, {255, 0, 0, 255}, {255, 0, 0, 255}, {255, 0, 0, 255}, "Highlight 0 color" }, { F|O, "HighlightOne" , opt_geometry_color_highlight1 , - {255, 150, 0, 255}, {255, 150, 0, 255}, {255, 150, 0, 255}, + {255, 150, 0, 255}, {255, 150, 0, 255}, {255, 150, 0, 255}, {255, 150, 0, 255}, "Highlight 1 color" }, { F|O, "HighlightTwo" , opt_geometry_color_highlight2 , - {255, 255, 0, 255}, {255, 255, 0, 255}, {255, 255, 0, 255}, + {255, 255, 0, 255}, {255, 255, 0, 255}, {255, 255, 0, 255}, {255, 255, 0, 255}, "Highlight 2 color" }, { F|O, "Tangents" , opt_geometry_color_tangents , - {255, 255, 0, 255}, {255, 255, 0, 255}, {0, 0, 0, 255}, + {255, 255, 0, 255}, {255, 255, 0, 255}, {0, 0, 0, 255}, {255, 255, 0, 255}, "Tangent geometry vectors color" }, { F|O, "Normals" , opt_geometry_color_normals , - {255, 0, 0, 255}, {255, 0, 0, 255}, {0, 0, 0, 255}, + {255, 0, 0, 255}, {255, 0, 0, 255}, {0, 0, 0, 255}, {255, 0, 0, 255}, "Normal geometry vectors color" }, { F|O, "Projection" , opt_geometry_color_projection , - {0, 255, 0, 255}, {0, 255, 0, 255}, {0, 0, 0, 255}, + {0, 255, 0, 255}, {0, 255, 0, 255}, {0, 0, 0, 255}, {0, 255, 0, 255}, "Projection surface color" }, - { 0, 0 , 0 , {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0} , 0 } + { 0, 0 , 0 , {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0} , 0 } } ; #define COLW {210, 210, 210, 255} @@ -1779,90 +1779,90 @@ StringXColor GeometryOptions_Color[] = { StringXColor MeshOptions_Color[] = { { F|O, "Points" , opt_mesh_color_points , - {0, 0, 255, 255}, {0, 0, 255, 255}, {0, 0, 0, 255}, + {0, 0, 255, 255}, {0, 0, 255, 255}, {0, 0, 0, 255}, {0, 0, 255, 255}, "Mesh node color" }, { F|O, "PointsSup" , opt_mesh_color_points_sup , - {255, 0, 255, 255}, {255, 0, 255, 255}, {0, 0, 0, 255}, + {255, 0, 255, 255}, {255, 0, 255, 255}, {0, 0, 0, 255}, {255, 0, 255, 255}, "Second order mesh node color" }, { F|O, "Lines" , opt_mesh_color_lines , - {0, 0, 0, 255}, {0, 0, 0, 255}, {0, 0, 0, 255}, + {0, 0, 0, 255}, {0, 0, 0, 255}, {0, 0, 0, 255}, {0, 0, 0, 255}, "Mesh line color" }, { F|O, "Triangles" , opt_mesh_color_triangles , - COLT, COLT, COLW, + COLT, COLT, COLW, COLT, "Mesh triangle color (if Mesh.ColorCarousel=0)" }, { F|O, "Quadrangles" , opt_mesh_color_quadrangles , - COLQ, COLQ, COLW, + COLQ, COLQ, COLW, COLQ, "Mesh quadrangle color (if Mesh.ColorCarousel=0)" }, { F|O, "Tetrahedra" , opt_mesh_color_tetrahedra , - COLT, COLT, COLW, + COLT, COLT, COLW, COLT, "Mesh tetrahedron color (if Mesh.ColorCarousel=0)" }, { F|O, "Hexahedra" , opt_mesh_color_hexahedra , - COLQ, COLQ, COLW, + COLQ, COLQ, COLW, COLQ, "Mesh hexahedron color (if Mesh.ColorCarousel=0)" }, { F|O, "Prisms" , opt_mesh_color_prisms , - COLP, COLP, COLW, + COLP, COLP, COLW, COLP, "Mesh prism color (if Mesh.ColorCarousel=0)" }, { F|O, "Pyramids" , opt_mesh_color_pyramid , - COLY, COLY, COLW, + COLY, COLY, COLW, COLY, "Mesh pyramid color (if Mesh.ColorCarousel=0)" }, { F|O, "Tangents" , opt_mesh_color_tangents , - {255, 255, 0, 255}, {255, 255, 0, 255}, {0, 0, 0, 255}, + {255, 255, 0, 255}, {255, 255, 0, 255}, {0, 0, 0, 255}, {255, 255, 0, 255}, "Tangent mesh vector color" }, { F|O, "Normals" , opt_mesh_color_normals , - {255, 0, 0, 255}, {255, 0, 0, 255}, {0, 0, 0, 255}, + {255, 0, 0, 255}, {255, 0, 0, 255}, {0, 0, 0, 255}, {255, 0, 0, 255}, "Normal mesh vector color" }, - { F|O, "Zero" , opt_mesh_color_0 , COL0, COL0, COLW, + { F|O, "Zero" , opt_mesh_color_0 , COL0, COL0, COLW, COL0, "Color 0 in color carousel" }, - { F|O, "One" , opt_mesh_color_1 , COL1, COL1, COLW, + { F|O, "One" , opt_mesh_color_1 , COL1, COL1, COLW, COL1, "Color 1 in color carousel" }, - { F|O, "Two" , opt_mesh_color_2 , COL2, COL2, COLW, + { F|O, "Two" , opt_mesh_color_2 , COL2, COL2, COLW, COL2, "Color 2 in color carousel" }, - { F|O, "Three" , opt_mesh_color_3 , COL3, COL3, COLW, + { F|O, "Three" , opt_mesh_color_3 , COL3, COL3, COLW, COL3, "Color 3 in color carousel" }, - { F|O, "Four" , opt_mesh_color_4 , COL4, COL4, COLW, + { F|O, "Four" , opt_mesh_color_4 , COL4, COL4, COLW, COL4, "Color 4 in color carousel" }, - { F|O, "Five" , opt_mesh_color_5 , COL5, COL5, COLW, + { F|O, "Five" , opt_mesh_color_5 , COL5, COL5, COLW, COL5, "Color 5 in color carousel" }, - { F|O, "Six" , opt_mesh_color_6 , COL6, COL6, COLW, + { F|O, "Six" , opt_mesh_color_6 , COL6, COL6, COLW, COL6, "Color 6 in color carousel" }, - { F|O, "Seven" , opt_mesh_color_7 , COL7, COL7, COLW, + { F|O, "Seven" , opt_mesh_color_7 , COL7, COL7, COLW, COL7, "Color 7 in color carousel" }, - { F|O, "Eight" , opt_mesh_color_8 , COL8, COL8, COLW, + { F|O, "Eight" , opt_mesh_color_8 , COL8, COL8, COLW, COL8, "Color 8 in color carousel" }, - { F|O, "Nine" , opt_mesh_color_9 , COL9, COL9, COLW, + { F|O, "Nine" , opt_mesh_color_9 , COL9, COL9, COLW, COL9, "Color 9 in color carousel" }, - { F|O, "Ten" , opt_mesh_color_10, COL10, COL10, COLW, + { F|O, "Ten" , opt_mesh_color_10, COL10, COL10, COLW, COL10, "Color 10 in color carousel" }, - { F|O, "Eleven" , opt_mesh_color_11, COL11, COL11, COLW, + { F|O, "Eleven" , opt_mesh_color_11, COL11, COL11, COLW, COL11, "Color 11 in color carousel" }, - { F|O, "Twelve" , opt_mesh_color_12, COL12, COL12, COLW, + { F|O, "Twelve" , opt_mesh_color_12, COL12, COL12, COLW, COL12, "Color 12 in color carousel" }, - { F|O, "Thirteen" , opt_mesh_color_13, COL13, COL13, COLW, + { F|O, "Thirteen" , opt_mesh_color_13, COL13, COL13, COLW, COL13, "Color 13 in color carousel" }, - { F|O, "Fourteen" , opt_mesh_color_14, COL14, COL14, COLW, + { F|O, "Fourteen" , opt_mesh_color_14, COL14, COL14, COLW, COL14, "Color 14 in color carousel" }, - { F|O, "Fifteen" , opt_mesh_color_15, COL15, COL15, COLW, + { F|O, "Fifteen" , opt_mesh_color_15, COL15, COL15, COLW, COL15, "Color 15 in color carousel" }, - { F|O, "Sixteen" , opt_mesh_color_16, COL16, COL16, COLW, + { F|O, "Sixteen" , opt_mesh_color_16, COL16, COL16, COLW, COL16, "Color 16 in color carousel" }, - { F|O, "Seventeen", opt_mesh_color_17, COL17, COL17, COLW, + { F|O, "Seventeen", opt_mesh_color_17, COL17, COL17, COLW, COL17, "Color 17 in color carousel" }, - { F|O, "Eighteen" , opt_mesh_color_18, COL18, COL18, COLW, + { F|O, "Eighteen" , opt_mesh_color_18, COL18, COL18, COLW, COL18, "Color 18 in color carousel" }, - { F|O, "Nineteen" , opt_mesh_color_19, COL19, COL19, COLW, + { F|O, "Nineteen" , opt_mesh_color_19, COL19, COL19, COLW, COL19, "Color 19 in color carousel" }, - { 0, 0 , 0 , {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0} , 0 } + { 0, 0 , 0 , {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0} , {0, 0, 0, 0} , 0 } } ; StringXColor SolverOptions_Color[] = { - { 0, 0 , 0 , {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0} , 0 } + { 0, 0 , 0 , {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0} , 0 } } ; StringXColor PostProcessingOptions_Color[] = { - { 0, 0 , 0 , {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0} , 0 } + { 0, 0 , 0 , {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0} , 0 } } ; -#define ELECOL {0, 0, 0, 255}, {0, 0, 0, 255}, {0, 0, 0, 255} +#define ELECOL {0, 0, 0, 255}, {0, 0, 0, 255}, {0, 0, 0, 255}, {245, 245, 245, 255} StringXColor ViewOptions_Color[] = { { F|O, "Points" , opt_view_color_points , ELECOL, "Point color" }, @@ -1874,22 +1874,22 @@ StringXColor ViewOptions_Color[] = { { F|O, "Prisms" , opt_view_color_prisms , ELECOL, "Prism color" }, { F|O, "Pyramids" , opt_view_color_pyramids , ELECOL, "Pyramid color" }, { F|O, "Tangents" , opt_view_color_tangents , - {255, 255, 0, 255}, {255, 255, 0, 255}, {0, 0, 0, 255}, + {255, 255, 0, 255}, {255, 255, 0, 255}, {0, 0, 0, 255}, {255, 255, 0, 255}, "Tangent vector color" }, { F|O, "Normals" , opt_view_color_normals , - {255, 0, 0, 255}, {255, 0, 0, 255}, {0, 0, 0, 255}, + {255, 0, 0, 255}, {255, 0, 0, 255}, {0, 0, 0, 255}, {255, 0, 0, 255}, "Normal vector color" }, { F|O, "Text2D" , opt_view_color_text2d , ELECOL, "2D text color" }, { F|O, "Text3D" , opt_view_color_text3d , ELECOL, "3D text color" }, { F|O, "Axes" , opt_view_color_axes , ELECOL, "Axes color" }, { F|O, "Background2D" , opt_view_color_background2d , - {255, 255, 255, 200}, {255, 255, 255, 200}, {255, 255, 255, 200}, + {255, 255, 255, 200}, {255, 255, 255, 200}, {255, 255, 255, 200}, {245, 245, 245, 200}, "Bacground color for 2D plots" }, - { 0, 0 , 0 , {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0} , 0 } + { 0, 0 , 0 , {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0} , 0 } } ; StringXColor PrintOptions_Color[] = { - { 0, 0 , 0 , {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0} , 0 } + { 0, 0 , 0 , {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0} , 0 } } ; #undef S diff --git a/Common/Options.cpp b/Common/Options.cpp index bae9b5935b969c32ff68e3824d13f2e0b871f8ec..fb09ce8d79b9cb60857c17044999ea0133ef015c 100644 --- a/Common/Options.cpp +++ b/Common/Options.cpp @@ -368,6 +368,13 @@ static void SetDefaultColorOptions(int num, StringXColor s[]) i++; } break; + case 3: + while(s[i].str) { + s[i].function(num, GMSH_SET, CTX::instance()->packColor + (s[i].def4[0], s[i].def4[1], s[i].def4[2], s[i].def4[3])); + i++; + } + break; default: while(s[i].str) { s[i].function(num, GMSH_SET, CTX::instance()->packColor @@ -405,6 +412,10 @@ static void PrintColorOptions(int num, int level, int diff, int help, def = CTX::instance()->packColor (s[i].def3[0], s[i].def3[1], s[i].def3[2], s[i].def3[3]); break; + case 3: + def = CTX::instance()->packColor + (s[i].def4[0], s[i].def4[1], s[i].def4[2], s[i].def4[3]); + break; default: def = CTX::instance()->packColor (s[i].def1[0], s[i].def1[1], s[i].def1[2], s[i].def1[3]); @@ -3254,7 +3265,7 @@ double opt_general_color_scheme(OPT_ARGS_NUM) { if(action & GMSH_SET) { CTX::instance()->colorScheme = (int)val; - if(CTX::instance()->colorScheme > 2) + if(CTX::instance()->colorScheme > 3) CTX::instance()->colorScheme = 0; SetDefaultColorOptions(0, GeneralOptions_Color); SetDefaultColorOptions(0, GeometryOptions_Color); diff --git a/Common/Options.h b/Common/Options.h index 0ec901da7c872cd1ff8234482d51b5c6c9162324..90d721c1ae5a0d7f4408d1bd643f382edb61b13d 100644 --- a/Common/Options.h +++ b/Common/Options.h @@ -798,7 +798,7 @@ typedef struct { // the defaults are stored in individual bytes so that we can initialize // them statically independently of the machine endianness. They will be // packed into unsigned ints at runtime - unsigned char def1[4], def2[4], def3[4]; + unsigned char def1[4], def2[4], def3[4], def4[4]; const char *help; } StringXColor; diff --git a/Fltk/optionWindow.cpp b/Fltk/optionWindow.cpp index 83a7f83f8a78cc5868fd756e4da66eeb0230d388..256112a60ac7352543dbdb8ddf66e67a81ab0a6c 100644 --- a/Fltk/optionWindow.cpp +++ b/Fltk/optionWindow.cpp @@ -1795,6 +1795,7 @@ optionWindow::optionWindow(int deltaFontSize) {"Dark", 0, 0, 0}, {"Light", 0, 0, 0}, {"Grayscale", 0, 0, 0}, + {"Reverse", 0, 0, 0}, {0} };