diff --git a/examples/boxes/main.cpp b/examples/boxes/main.cpp index ddcae76f..8641e48d 100644 --- a/examples/boxes/main.cpp +++ b/examples/boxes/main.cpp @@ -109,15 +109,15 @@ static void addRectangles3( QskLinearBox* parent ) box = new MyRectangle( parent ); box->setBorder( Box::Raised1, borderTheme ); - box->setGradient( DefaultMaterialNeutral60 ); + box->setGradient( Grey400 ); box = new MyRectangle( parent ); box->setBorder( Box::Sunken1, borderTheme ); - box->setGradient( QskGradient::Diagonal, DefaultMaterialNeutral60, DefaultMaterialNeutral50 ); + box->setGradient( QskGradient::Diagonal, Grey400, Grey500 ); box = new MyRectangle( parent ); box->setBorder( Box::Raised2, borderTheme ); - box->setGradient( QskGradient::Vertical, DefaultMaterialNeutral60, DefaultMaterialNeutral50 ); + box->setGradient( QskGradient::Vertical, Grey400, Grey500 ); box = new MyRectangle( parent ); box->setBorder( Box::Raised2, borderTheme ); @@ -159,15 +159,15 @@ static void addRectangles6( QskLinearBox* parent ) box = new MyRoundedRectangle( parent ); box->setBorder( Box::Raised1, borderTheme ); - box->setGradient( DefaultMaterialNeutral60 ); + box->setGradient( Grey400 ); box = new MyRoundedRectangle( parent ); box->setBorder( Box::Sunken1, borderTheme ); - box->setGradient( QskGradient::Diagonal, DefaultMaterialNeutral60, DefaultMaterialNeutral50 ); + box->setGradient( QskGradient::Diagonal, Grey400, Grey500 ); box = new MyRoundedRectangle( parent ); box->setBorder( Box::Raised2, borderTheme ); - box->setGradient( QskGradient::Vertical, DefaultMaterialNeutral60, DefaultMaterialNeutral50 ); + box->setGradient( QskGradient::Vertical, Grey400, Grey500 ); box = new MyRoundedRectangle( parent ); box->setBorder( Box::Raised2, borderTheme ); @@ -209,15 +209,15 @@ static void addRectangles9( QskLinearBox* parent ) box = new MyEllipse( parent ); box->setBorder( Box::Raised1, borderTheme ); - box->setGradient( DefaultMaterialNeutral60 ); + box->setGradient( Grey400 ); box = new MyEllipse( parent ); box->setBorder( Box::Sunken1, borderTheme ); - box->setGradient( QskGradient::Diagonal, DefaultMaterialNeutral60, DefaultMaterialNeutral50 ); + box->setGradient( QskGradient::Diagonal, Grey400, Grey500 ); box = new MyEllipse( parent ); box->setBorder( Box::Raised2, borderTheme ); - box->setGradient( QskGradient::Vertical, DefaultMaterialNeutral60, DefaultMaterialNeutral50 ); + box->setGradient( QskGradient::Vertical, Grey400, Grey500 ); box = new MyEllipse( parent ); box->setBorder( Box::Raised2, borderTheme ); diff --git a/skins/material/QskMaterialSkin.cpp b/skins/material/QskMaterialSkin.cpp index b4d46e7f..f0b3c776 100644 --- a/skins/material/QskMaterialSkin.cpp +++ b/skins/material/QskMaterialSkin.cpp @@ -47,16 +47,6 @@ static const int qskDuration = 150; namespace { -#if 1 - // temporary definitions, will be removed when moving to M(aterial)3 - constexpr const QRgb Grey100 = 0xfff5f5f5; - constexpr const QRgb Grey300 = 0xffe0e0e0; - constexpr const QRgb Grey400 = 0xffbdbdbd; - constexpr const QRgb Grey500 = 0xff9e9e9e; - constexpr const QRgb Grey600 = 0xff757575; - constexpr const QRgb Blue500 = 0xff2196f3; -#endif - class Editor : private QskSkinHintTableEditor { public: @@ -836,88 +826,86 @@ void Editor::setupSubWindow() QskMaterialTheme::QskMaterialTheme( Lightness lightness ) : QskMaterialTheme( lightness, - { - QskRgbPalette::palette( QskRgbPalette::DefaultMaterialPrimary ), - QskRgbPalette::palette( QskRgbPalette::DefaultMaterialSecondary ), - QskRgbPalette::palette( QskRgbPalette::DefaultMaterialTertiary ), - QskRgbPalette::palette( QskRgbPalette::DefaultMaterialError ), - QskRgbPalette::palette( QskRgbPalette::DefaultMaterialNeutral ), - QskRgbPalette::palette( QskRgbPalette::DefaultMaterialNeutralVariant ), + { // default Material colors: + 0xff6750A4, + 0xff625B71, + 0xff7D5260, + 0xffB3261E, + 0xff605D62, + 0xff605D66, } ) { } -QskMaterialTheme::QskMaterialTheme( Lightness lightness, - std::array< QskRgbPalette, NumPaletteTypes > palettes ) +QskMaterialTheme::QskMaterialTheme(Lightness lightness, + std::array palettes ) : m_palettes( palettes ) { - using Q = QskRgbPalette; - if ( lightness == Light ) { - primary = m_palettes[ Primary ].rgb( Q::W40 ); - onPrimary = m_palettes[ Primary ].rgb( Q::W100 ); - primaryContainer = m_palettes[ Primary ].rgb( Q::W90 ); - onPrimaryContainer = m_palettes[ Primary ].rgb( Q::W10 ); + primary = m_palettes[ Primary ].toned( 40 ).rgb(); + onPrimary = m_palettes[ Primary ].toned( 100 ).rgb(); + primaryContainer = m_palettes[ Primary ].toned( 90 ).rgb(); + onPrimaryContainer = m_palettes[ Primary ].toned( 10 ).rgb(); - secondary = m_palettes[ Secondary ].rgb( Q::W40 ); - onSecondary = m_palettes[ Secondary ].rgb( Q::W100 ); - secondaryContainer = m_palettes[ Secondary ].rgb( Q::W90 ); - onSecondaryContainer = m_palettes[ Secondary ].rgb( Q::W10 ); + secondary = m_palettes[ Secondary ].toned( 40 ).rgb(); + onSecondary = m_palettes[ Secondary ].toned( 100 ).rgb(); + secondaryContainer = m_palettes[ Secondary ].toned( 90 ).rgb(); + onSecondaryContainer = m_palettes[ Secondary ].toned( 10 ).rgb(); - tertiary = m_palettes[ Tertiary ].rgb( Q::W40 ); - onTertiary = m_palettes[ Tertiary ].rgb( Q::W100 ); - tertiaryContainer = m_palettes[ Tertiary ].rgb( Q::W90 ); - onTertiaryContainer = m_palettes[ Tertiary ].rgb( Q::W10 ); + tertiary = m_palettes[ Tertiary ].toned( 40 ).rgb(); + onTertiary = m_palettes[ Tertiary ].toned( 100 ).rgb(); + tertiaryContainer = m_palettes[ Tertiary ].toned( 90 ).rgb(); + onTertiaryContainer = m_palettes[ Tertiary ].toned( 10 ).rgb(); - error = m_palettes[ Error ].rgb( Q::W40 ); - onError = m_palettes[ Error ].rgb( Q::W100 ); - errorContainer = m_palettes[ Error ].rgb( Q::W90 ); - onErrorContainer = m_palettes[ Error ].rgb( Q::W10 ); + error = m_palettes[ Error ].toned( 40 ).rgb(); + onError = m_palettes[ Error ].toned( 100 ).rgb(); + errorContainer = m_palettes[ Error ].toned( 90 ).rgb(); + onErrorContainer = m_palettes[ Error ].toned( 10 ).rgb(); - background = m_palettes[ Neutral ].rgb( Q::W99 ); - onBackground = m_palettes[ Neutral ].rgb( Q::W10 ); - surface = m_palettes[ Neutral ].rgb( Q::W99 ); - onSurface = m_palettes[ Neutral ].rgb( Q::W10 ); + background = m_palettes[ Neutral ].toned( 99 ).rgb(); + onBackground = m_palettes[ Neutral ].toned( 10 ).rgb(); + surface = m_palettes[ Neutral ].toned( 99 ).rgb(); + onSurface = m_palettes[ Neutral ].toned( 10 ).rgb(); - surfaceVariant = m_palettes[ NeutralVariant ].rgb( Q::W90 ); - onSurfaceVariant = m_palettes[ NeutralVariant ].rgb( Q::W30 ); - outline = m_palettes[ NeutralVariant ].rgb( Q::W50 ); + surfaceVariant = m_palettes[ NeutralVariant ].toned( 90 ).rgb(); + onSurfaceVariant = m_palettes[ NeutralVariant ].toned( 30 ).rgb(); + outline = m_palettes[ NeutralVariant ].toned( 50 ).rgb(); - shadow = m_palettes[ Neutral ].rgb( Q::W0 ); + shadow = m_palettes[ Neutral ].toned( 0 ).rgb(); } else if ( lightness == Dark ) { - primary = m_palettes[ Primary ].rgb( Q::W80 ); - onPrimary = m_palettes[ Primary ].rgb( Q::W20 ); - primaryContainer = m_palettes[ Primary ].rgb( Q::W30 ); - onPrimaryContainer = m_palettes[ Primary ].rgb( Q::W90 ); + primary = m_palettes[ Primary ].toned( 80 ).rgb(); + onPrimary = m_palettes[ Primary ].toned( 20 ).rgb(); + primaryContainer = m_palettes[ Primary ].toned( 30 ).rgb(); + onPrimaryContainer = m_palettes[ Primary ].toned( 90 ).rgb(); - secondary = m_palettes[ Secondary ].rgb( Q::W80 ); - onSecondary = m_palettes[ Secondary ].rgb( Q::W20 ); - secondaryContainer = m_palettes[ Secondary ].rgb( Q::W30 ); - onSecondaryContainer = m_palettes[ Secondary ].rgb( Q::W90 ); + secondary = m_palettes[ Secondary ].toned( 80 ).rgb(); + onSecondary = m_palettes[ Secondary ].toned( 20 ).rgb(); + secondaryContainer = m_palettes[ Secondary ].toned( 30 ).rgb(); + onSecondaryContainer = m_palettes[ Secondary ].toned( 90 ).rgb(); - tertiary = m_palettes[ Tertiary ].rgb( Q::W80 ); - onTertiary = m_palettes[ Tertiary ].rgb( Q::W20 ); - tertiaryContainer = m_palettes[ Tertiary ].rgb( Q::W30 ); - onTertiaryContainer = m_palettes[ Tertiary ].rgb( Q::W90 ); + tertiary = m_palettes[ Tertiary ].toned( 80 ).rgb(); + onTertiary = m_palettes[ Tertiary ].toned( 20 ).rgb(); + tertiaryContainer = m_palettes[ Tertiary ].toned( 30 ).rgb(); + onTertiaryContainer = m_palettes[ Tertiary ].toned( 90 ).rgb(); - error = m_palettes[ Error ].rgb( Q::W80 ); - onError = m_palettes[ Error ].rgb( Q::W20 ); - errorContainer = m_palettes[ Error ].rgb( Q::W30 ); - onErrorContainer = m_palettes[ Error ].rgb( Q::W90 ); + error = m_palettes[ Error ].toned( 80 ).rgb(); + onError = m_palettes[ Error ].toned( 20 ).rgb(); + errorContainer = m_palettes[ Error ].toned( 30 ).rgb(); + onErrorContainer = m_palettes[ Error ].toned( 90 ).rgb(); - background = m_palettes[ Neutral ].rgb( Q::W10 ); - onBackground = m_palettes[ Neutral ].rgb( Q::W90 ); - surface = m_palettes[ Neutral ].rgb( Q::W10 ); - onSurface = m_palettes[ Neutral ].rgb( Q::W80 ); + background = m_palettes[ Neutral ].toned( 10 ).rgb(); + onBackground = m_palettes[ Neutral ].toned( 90 ).rgb(); + surface = m_palettes[ Neutral ].toned( 10 ).rgb(); + onSurface = m_palettes[ Neutral ].toned( 80 ).rgb(); - surfaceVariant = m_palettes[ NeutralVariant ].rgb( Q::W30 ); - onSurfaceVariant = m_palettes[ NeutralVariant ].rgb( Q::W80 ); - outline = m_palettes[ NeutralVariant ].rgb( Q::W60 ); + surfaceVariant = m_palettes[ NeutralVariant ].toned( 30 ).rgb(); + onSurfaceVariant = m_palettes[ NeutralVariant ].toned( 80 ).rgb(); + outline = m_palettes[ NeutralVariant ].toned( 60 ).rgb(); - shadow = m_palettes[ Neutral ].rgb( Q::W0 ); + shadow = m_palettes[ Neutral ].toned( 0 ).rgb(); } primary12 = primary; diff --git a/skins/material/QskMaterialSkin.h b/skins/material/QskMaterialSkin.h index 9e424679..f97b2c5b 100644 --- a/skins/material/QskMaterialSkin.h +++ b/skins/material/QskMaterialSkin.h @@ -7,8 +7,9 @@ #define QSK_MATERIAL_SKIN_H #include "QskMaterialGlobal.h" + +#include #include -#include #include #include @@ -35,7 +36,7 @@ class QSK_MATERIAL_EXPORT QskMaterialTheme }; QskMaterialTheme( Lightness ); - QskMaterialTheme( Lightness, std::array< QskRgbPalette, NumPaletteTypes > ); + QskMaterialTheme( Lightness, std::array< QskHctColor, NumPaletteTypes > ); QRgb primary; QColor primary12; @@ -81,7 +82,7 @@ class QSK_MATERIAL_EXPORT QskMaterialTheme const qreal draggedOpacity = 0.16; private: - std::array< QskRgbPalette, NumPaletteTypes > m_palettes; + std::array< QskHctColor, NumPaletteTypes > m_palettes; }; class QSK_MATERIAL_EXPORT QskMaterialSkin : public QskSkin @@ -100,8 +101,6 @@ class QSK_MATERIAL_EXPORT QskMaterialSkin : public QskSkin M3LabelLarge, }; - // ### add setTheme() re-implement resetColors() - private: void setupFonts(); }; diff --git a/skins/material/QskMaterialSkinFactory.h b/skins/material/QskMaterialSkinFactory.h index 0936d76b..8294e824 100644 --- a/skins/material/QskMaterialSkinFactory.h +++ b/skins/material/QskMaterialSkinFactory.h @@ -7,7 +7,6 @@ #define QSK_MATERIAL_SKIN_FACTORY_H #include "QskMaterialGlobal.h" -#include #include class QSK_MATERIAL_EXPORT QskMaterialSkinFactory : public QskSkinFactory diff --git a/src/common/QskRgbValue.h b/src/common/QskRgbValue.h index 96aa5e07..39687898 100644 --- a/src/common/QskRgbValue.h +++ b/src/common/QskRgbValue.h @@ -9,15 +9,6 @@ #include "QskGlobal.h" #include - RGBVALUE( DefaultMaterialError95, 0xffFCEEEE ) \ - RGBVALUE( DefaultMaterialError99, 0xffFFFBF9 ) \ - RGBVALUE( DefaultMaterialError100, 0xffFFFFFF ) \ - RGBVALUE( DefaultMaterialNeutral95, 0xffF4EFF4 ) \ - RGBVALUE( DefaultMaterialNeutral99, 0xffFFFBFE ) \ - RGBVALUE( DefaultMaterialNeutral100, 0xffFFFFFF ) \ - RGBVALUE( DefaultMaterialNeutralVariant95, 0xffF5EEFA ) \ - RGBVALUE( DefaultMaterialNeutralVariant99, 0xffFFFBFE ) \ - RGBVALUE( DefaultMaterialNeutralVariant100, 0xffFFFFFF ) \ namespace QskRgb { /* Web colors */