Stubbed out Solarized, added ColorScheme for default (needed for plater)

This commit is contained in:
Joseph Lenox 2018-04-29 14:38:56 -05:00
parent 108fc93fce
commit 197b4f265f
5 changed files with 151 additions and 5 deletions

11
src/GUI/ColorScheme.hpp Normal file
View File

@ -0,0 +1,11 @@
#ifndef COLORSCHEME_HPP
#define COLORSCHEME_HPP
/// Wrapper file to make the color schemes available to using applications
/// without the circular include headaches.
#include "ColorScheme/ColorSchemeBase.hpp"
#include "ColorScheme/Default.hpp"
#include "ColorScheme/Solarized.hpp"
#endif

View File

@ -0,0 +1,47 @@
#ifndef COLOR_SLIC3R_HPP
#define COLOR_SLIC3R_HPP
namespace Slic3r { namespace GUI {
class ColorScheme {
public:
virtual const std::string name() const = 0;
virtual const bool SOLID_BACKGROUNDCOLOR() const = 0;
virtual const wxColour SELECTED_COLOR() const = 0;
virtual const wxColour HOVER_COLOR() const = 0;
virtual const wxColour TOP_COLOR() const = 0;
virtual const wxColour BOTTOM_COLOR() const = 0;
virtual const wxColour BACKGROUND_COLOR() const = 0;
virtual const wxColour GRID_COLOR() const = 0;
virtual const wxColour GROUND_COLOR() const = 0;
virtual const wxColour COLOR_CUTPLANE() const = 0;
virtual const wxColour COLOR_PARTS() const = 0;
virtual const wxColour COLOR_INFILL() const = 0;
virtual const wxColour COLOR_SUPPORT() const = 0;
virtual const wxColour COLOR_UNKNOWN() const = 0;
virtual const wxColour BED_COLOR() const = 0;
virtual const wxColour BED_GRID() const = 0;
virtual const wxColour BED_SELECTED() const = 0;
virtual const wxColour BED_OBJECTS() const = 0;
virtual const wxColour BED_INSTANCE() const = 0;
virtual const wxColour BED_DRAGGED() const = 0;
virtual const wxColour BED_CENTER() const = 0;
virtual const wxColour BED_SKIRT() const = 0;
virtual const wxColour BED_CLEARANCE() const = 0;
virtual const wxColour BACKGROUND255() const = 0;
virtual const wxColour TOOL_DARK() const = 0;
virtual const wxColour TOOL_SUPPORT() const = 0;
virtual const wxColour TOOL_INFILL() const = 0;
virtual const wxColour TOOL_STEPPERIM() const = 0;
virtual const wxColour TOOL_SHADE() const = 0;
virtual const wxColour TOOL_COLOR() const = 0;
virtual const wxColour SPLINE_L_PEN() const = 0;
virtual const wxColour SPLINE_O_PEN() const = 0;
virtual const wxColour SPLINE_I_PEN() const = 0;
virtual const wxColour SPLINE_R_PEN() const = 0;
virtual const wxColour BED_DARK() const = 0;
};
}} // namespace Slic3r::GUI
#endif

View File

@ -0,0 +1,47 @@
#ifndef COLOR_DEFAULT_HPP
#define COLOR_DEFAULT_HPP
namespace Slic3r { namespace GUI {
class DefaultColor : public ColorScheme {
public:
const std::string name() const { return "Default"; }
const bool SOLID_BACKGROUNDCOLOR() const { return false; };
const wxColour SELECTED_COLOR() const { return wxColour(0, 1, 0); };
const wxColour HOVER_COLOR() const { return wxColour(0.4, 0.9, 0); }; //<Hover over Model
const wxColour TOP_COLOR() const { return wxColour(10/255,98/255,144/255); }; //<TOP Backgroud color
const wxColour BOTTOM_COLOR() const { return wxColour(0,0,0); }; //<BOTTOM Backgroud color
const wxColour BACKGROUND_COLOR() const {return TOP_COLOR();} //< SOLID background color
const wxColour GRID_COLOR() const { return wxColour(0.2, 0.2, 0.2, 0.4); }; //<Grid color
const wxColour GROUND_COLOR() const { return wxColour(0.8, 0.6, 0.5, 0.4); }; //<Ground or Plate color
const wxColour COLOR_CUTPLANE() const { return wxColour(.8, .8, .8, 0.5); };
const wxColour COLOR_PARTS() const { return wxColour(1, 0.95, 0.2, 1); }; //<Perimeter color
const wxColour COLOR_INFILL() const { return wxColour(1, 0.45, 0.45, 1); };
const wxColour COLOR_SUPPORT() const { return wxColour(0.5, 1, 0.5, 1); };
const wxColour COLOR_UNKNOWN() const { return wxColour(0.5, 0.5, 1, 1); };
const wxColour BED_COLOR() const { return wxColour(255, 255, 255); };
const wxColour BED_GRID() const { return wxColour(230, 230, 230); };
const wxColour BED_SELECTED() const { return wxColour(255, 166, 128); };
const wxColour BED_OBJECTS() const { return wxColour(210, 210, 210); };
const wxColour BED_INSTANCE() const { return wxColour(255, 128, 128); };
const wxColour BED_DRAGGED() const { return wxColour(128, 128, 255); };
const wxColour BED_CENTER() const { return wxColour(200, 200, 200); };
const wxColour BED_SKIRT() const { return wxColour(150, 150, 150); };
const wxColour BED_CLEARANCE() const { return wxColour(0, 0, 200); };
const wxColour BACKGROUND255() const { return wxColour(255, 255, 255); };
const wxColour TOOL_DARK() const { return wxColour(0, 0, 0); };
const wxColour TOOL_SUPPORT() const { return wxColour(0, 0, 0); };
const wxColour TOOL_INFILL() const { return wxColour(0, 0, 0.7); };
const wxColour TOOL_STEPPERIM() const { return wxColour(0.7, 0, 0); };
const wxColour TOOL_SHADE() const { return wxColour(0.95, 0.95, 0.95); };
const wxColour TOOL_COLOR() const { return wxColour(0.9, 0.9, 0.9); };
const wxColour SPLINE_L_PEN() const { return wxColour(50, 50, 50); };
const wxColour SPLINE_O_PEN() const { return wxColour(200, 200, 200); };
const wxColour SPLINE_I_PEN() const { return wxColour(255, 0, 0); };
const wxColour SPLINE_R_PEN() const { return wxColour(5, 120, 160); };
const wxColour BED_DARK() const { return wxColour(0, 0, 0); };
};
}} // namespace Slic3r::GUI
#endif

View File

@ -0,0 +1,44 @@
#ifndef SOLARIZED_HPP
#define SOLARIZED_HPP
#include <wx/colour.h>
#include "ColorScheme/ColorSchemeBase.hpp"
namespace Slic3r { namespace GUI {
/// S O L A R I Z E
/// http://ethanschoonover.com/solarized
///
/// Implements a colorscheme lookup of wxColors
class Solarized : public ColorScheme {
public:
const wxColour SELECTED_COLOR() { return COLOR_MAGENTA; }
const wxColour HOVER_COLOR() { return COLOR_VIOLET; }
const wxColour SUPPORT_COLOR() { return COLOR_VIOLET; }
const wxColour BACKGROUND_COLOR() { return COLOR_BASE3; }
private:
const wxColour COLOR_BASE0 {wxColour(0.51373,0.58039,0.58824)};
const wxColour COLOR_BASE00 {wxColour(0.39608,0.48235,0.51373)};
const wxColour COLOR_BASE01 {wxColour(0.34510,0.43137,0.45882)};
const wxColour COLOR_BASE02 {wxColour(0.02745,0.21176,0.25882)};
const wxColour COLOR_BASE03 {wxColour(0.00000,0.16863,0.21176)};
const wxColour COLOR_BASE1 {wxColour(0.57647,0.63137,0.63137)};
const wxColour COLOR_BASE2 {wxColour(0.93333,0.90980,0.83529)};
const wxColour COLOR_BASE3 {wxColour(0.99216,0.96471,0.89020)};
const wxColour COLOR_BLUE {wxColour(0.14902,0.54510,0.82353)};
const wxColour COLOR_CYAN {wxColour(0.16471,0.63137,0.59608)};
const wxColour COLOR_GREEN {wxColour(0.52157,0.60000,0.00000)};
const wxColour COLOR_MAGENTA {wxColour(0.82745,0.21176,0.50980)};
const wxColour COLOR_ORANGE {wxColour(0.79608,0.29412,0.08627)};
const wxColour COLOR_RED {wxColour(0.86275,0.19608,0.18431)};
const wxColour COLOR_VIOLET {wxColour(0.42353,0.44314,0.76863)};
const wxColour COLOR_YELLOW {wxColour(0.70980,0.53725,0.00000)};
};
}} // namespace Slic3r::GUI
#endif // SOLARIZED_HPP

View File

@ -9,6 +9,7 @@
#include <tuple>
#include "libslic3r.h"
#include "ColorScheme.hpp"
namespace Slic3r { namespace GUI {
@ -16,10 +17,6 @@ enum class PathColor {
role
};
enum class ColorScheme {
solarized, slic3r
};
enum class ReloadBehavior {
all, copy, discard
};
@ -40,7 +37,7 @@ class Settings {
bool hide_reload_dialog {false};
ReloadBehavior reload {ReloadBehavior::all};
ColorScheme color {ColorScheme::slic3r};
std::unique_ptr<ColorScheme> color {new Slic3r::GUI::DefaultColor};
PathColor color_toolpaths_by {PathColor::role};
float nudge {1.0}; //< 2D plater nudge amount in mm