diff options
Diffstat (limited to 'Preferences.cc')
-rw-r--r-- | Preferences.cc | 59 |
1 files changed, 49 insertions, 10 deletions
diff --git a/Preferences.cc b/Preferences.cc index f098ab4..1c7f988 100644 --- a/Preferences.cc +++ b/Preferences.cc @@ -26,16 +26,39 @@ Preferences::Preferences(QWidget *parent) : QMainWindow(parent) { setupUi(this); - this->colormap[BACKGROUND_COLOR] = QColor(0xff, 0xff, 0xe5); - this->colormap[OPENCSG_FACE_FRONT_COLOR] = QColor(0xf9, 0xd7, 0x2c); - this->colormap[OPENCSG_FACE_BACK_COLOR] = QColor(0x9d, 0xcb, 0x51); - this->colormap[CGAL_FACE_FRONT_COLOR] = QColor(0xf9, 0xd7, 0x2c); - this->colormap[CGAL_FACE_BACK_COLOR] = QColor(0x9d, 0xcb, 0x51); - this->colormap[CGAL_FACE_2D_COLOR] = QColor(0x00, 0xbf, 0x99); - this->colormap[CGAL_EDGE_FRONT_COLOR] = QColor(0xff, 0x00, 0x00); - this->colormap[CGAL_EDGE_BACK_COLOR] = QColor(0xff, 0x00, 0x00); - this->colormap[CGAL_EDGE_2D_COLOR] = QColor(0xff, 0x00, 0x00); - this->colormap[CROSSHAIR_COLOR] = QColor(0x80, 0x00, 0x00); + this->colorscheme = this->colorSchemeChooser->item(0)->text(); + this->colorschemes["Cornfield"][BACKGROUND_COLOR] = QColor(0xff, 0xff, 0xe5); + this->colorschemes["Cornfield"][OPENCSG_FACE_FRONT_COLOR] = QColor(0xf9, 0xd7, 0x2c); + this->colorschemes["Cornfield"][OPENCSG_FACE_BACK_COLOR] = QColor(0x9d, 0xcb, 0x51); + this->colorschemes["Cornfield"][CGAL_FACE_FRONT_COLOR] = QColor(0xf9, 0xd7, 0x2c); + this->colorschemes["Cornfield"][CGAL_FACE_BACK_COLOR] = QColor(0x9d, 0xcb, 0x51); + this->colorschemes["Cornfield"][CGAL_FACE_2D_COLOR] = QColor(0x00, 0xbf, 0x99); + this->colorschemes["Cornfield"][CGAL_EDGE_FRONT_COLOR] = QColor(0xff, 0x00, 0x00); + this->colorschemes["Cornfield"][CGAL_EDGE_BACK_COLOR] = QColor(0xff, 0x00, 0x00); + this->colorschemes["Cornfield"][CGAL_EDGE_2D_COLOR] = QColor(0xff, 0x00, 0x00); + this->colorschemes["Cornfield"][CROSSHAIR_COLOR] = QColor(0x80, 0x00, 0x00); + + this->colorschemes["Metallic"][BACKGROUND_COLOR] = QColor(0xaa, 0xaa, 0xff); + this->colorschemes["Metallic"][OPENCSG_FACE_FRONT_COLOR] = QColor(0xdd, 0xdd, 0xff); + this->colorschemes["Metallic"][OPENCSG_FACE_BACK_COLOR] = QColor(0xdd, 0x22, 0xdd); + this->colorschemes["Metallic"][CGAL_FACE_FRONT_COLOR] = QColor(0xdd, 0xdd, 0xff); + this->colorschemes["Metallic"][CGAL_FACE_BACK_COLOR] = QColor(0xdd, 0x22, 0xdd); + this->colorschemes["Metallic"][CGAL_FACE_2D_COLOR] = QColor(0x00, 0xbf, 0x99); + this->colorschemes["Metallic"][CGAL_EDGE_FRONT_COLOR] = QColor(0xff, 0x00, 0x00); + this->colorschemes["Metallic"][CGAL_EDGE_BACK_COLOR] = QColor(0xff, 0x00, 0x00); + this->colorschemes["Metallic"][CGAL_EDGE_2D_COLOR] = QColor(0xff, 0x00, 0x00); + this->colorschemes["Metallic"][CROSSHAIR_COLOR] = QColor(0x80, 0x00, 0x00); + + this->colorschemes["Sunset"][BACKGROUND_COLOR] = QColor(0xaa, 0x44, 0x44); + this->colorschemes["Sunset"][OPENCSG_FACE_FRONT_COLOR] = QColor(0xff, 0xaa, 0xaa); + this->colorschemes["Sunset"][OPENCSG_FACE_BACK_COLOR] = QColor(0x88, 0x22, 0x33); + this->colorschemes["Sunset"][CGAL_FACE_FRONT_COLOR] = QColor(0xff, 0xaa, 0xaa); + this->colorschemes["Sunset"][CGAL_FACE_BACK_COLOR] = QColor(0x88, 0x22, 0x33); + this->colorschemes["Sunset"][CGAL_FACE_2D_COLOR] = QColor(0x00, 0xbf, 0x99); + this->colorschemes["Sunset"][CGAL_EDGE_FRONT_COLOR] = QColor(0xff, 0x00, 0x00); + this->colorschemes["Sunset"][CGAL_EDGE_BACK_COLOR] = QColor(0xff, 0x00, 0x00); + this->colorschemes["Sunset"][CGAL_EDGE_2D_COLOR] = QColor(0xff, 0x00, 0x00); + this->colorschemes["Sunset"][CROSSHAIR_COLOR] = QColor(0x80, 0x00, 0x00); QActionGroup *group = new QActionGroup(this); group->addAction(prefsAction3DView); @@ -44,6 +67,10 @@ Preferences::Preferences(QWidget *parent) : QMainWindow(parent) prefsAction3DView->setChecked(true); this->actionTriggered(this->prefsAction3DView); + + connect(this->colorSchemeChooser, SIGNAL(itemSelectionChanged()), + this, SLOT(colorSchemeChanged())); + } Preferences::~Preferences() @@ -60,3 +87,15 @@ Preferences::actionTriggered(QAction *action) this->stackedWidget->setCurrentWidget(this->pageAdvanced); } } + +void Preferences::colorSchemeChanged() +{ + this->colorscheme = this->colorSchemeChooser->currentItem()->text(); + emit requestRedraw(); +} + +const QColor &Preferences::color(RenderColor idx) +{ + return this->colorschemes[this->colorscheme][idx]; +} + |