code harmonized with fluent2 branch

This commit is contained in:
Uwe Rathmann 2023-07-03 17:31:31 +02:00
parent 997926223f
commit 5cf3f09364
1 changed files with 152 additions and 140 deletions

View File

@ -31,99 +31,106 @@ QskFluent2Theme::QskFluent2Theme( QskSkin::ColorScheme colorScheme )
QskFluent2Theme::QskFluent2Theme( QskSkin::ColorScheme colorScheme, QskFluent2Theme::QskFluent2Theme( QskSkin::ColorScheme colorScheme,
const std::array< QRgb, NumAccentColors >& accentColors ) const std::array< QRgb, NumAccentColors >& accentColors )
{ {
if( colorScheme == QskSkin::LightScheme ) using namespace QskRgb;
if( colorScheme != QskSkin::DarkScheme )
{ {
// Fill color: {
auto& colors = palette.fillColor;
palette.fillColor.text.primary = rgbGray( 0, 0.8956 ); colors.text.primary = rgbGray( 0, 0.8956 );
palette.fillColor.text.secondary = rgbGray( 0, 0.6063 ); colors.text.secondary = rgbGray( 0, 0.6063 );
palette.fillColor.text.tertiary = rgbGray( 0, 0.4458 ); colors.text.tertiary = rgbGray( 0, 0.4458 );
palette.fillColor.text.disabled = rgbGray( 0, 0.3614 ); colors.text.disabled = rgbGray( 0, 0.3614 );
palette.fillColor.accentText.primary = accentColors[ AccentDark2 ]; colors.accentText.primary = accentColors[ AccentDark2 ];
palette.fillColor.accentText.secondary = accentColors[ AccentDark3 ]; colors.accentText.secondary = accentColors[ AccentDark3 ];
palette.fillColor.accentText.tertiary = accentColors[ AccentDark1 ]; colors.accentText.tertiary = accentColors[ AccentDark1 ];
palette.fillColor.accentText.disabled = rgbGray( 0, 0.3614 ); colors.accentText.disabled = rgbGray( 0, 0.3614 );
palette.fillColor.textOnAccent.primary = rgbGray( 255 ); colors.textOnAccent.primary = rgbGray( 255 );
palette.fillColor.textOnAccent.secondary = rgbGray( 255, 0.70 ); colors.textOnAccent.secondary = rgbGray( 255, 0.70 );
palette.fillColor.textOnAccent.disabled = rgbGray( 255 ); colors.textOnAccent.disabled = rgbGray( 255 );
palette.fillColor.textOnAccent.selectedText = rgbGray( 255 ); colors.textOnAccent.selectedText = rgbGray( 255 );
palette.fillColor.control.defaultColor = rgbGray( 255, 0.70 ); colors.control.defaultColor = rgbGray( 255, 0.70 );
palette.fillColor.control.secondary = rgbGray( 249, 0.50 ); colors.control.secondary = rgbGray( 249, 0.50 );
palette.fillColor.control.tertiary = rgbGray( 249, 0.30 ); colors.control.tertiary = rgbGray( 249, 0.30 );
palette.fillColor.control.inputActive = rgbGray( 255 ); colors.control.inputActive = rgbGray( 255 );
palette.fillColor.control.disabled = rgbGray( 249, 0.30 ); colors.control.disabled = rgbGray( 249, 0.30 );
palette.fillColor.controlStrong.defaultColor = rgbGray( 0, 0.4458 ); colors.controlStrong.defaultColor = rgbGray( 0, 0.4458 );
palette.fillColor.controlStrong.disabled = rgbGray( 0, 0.3173 ); colors.controlStrong.disabled = rgbGray( 0, 0.3173 );
palette.fillColor.subtle.secondary = rgbGray( 0, 0.0373 ); colors.subtle.secondary = rgbGray( 0, 0.0373 );
palette.fillColor.subtle.tertiary = rgbGray( 0, 0.0241 ); colors.subtle.tertiary = rgbGray( 0, 0.0241 );
palette.fillColor.subtle.disabled = Qt::transparent; colors.subtle.disabled = Qt::transparent;
palette.fillColor.controlSolid.defaultColor = rgbGray( 255 ); colors.controlSolid.defaultColor = rgbGray( 255 );
palette.fillColor.controlAlt.secondary = rgbGray( 0, 0.0241 ); colors.controlAlt.secondary = rgbGray( 0, 0.0241 );
palette.fillColor.controlAlt.tertiary = rgbGray( 0, 0.0578 ); colors.controlAlt.tertiary = rgbGray( 0, 0.0578 );
palette.fillColor.controlAlt.quaternary = rgbGray( 0, 0.0924 ); colors.controlAlt.quaternary = rgbGray( 0, 0.0924 );
palette.fillColor.controlAlt.disabled = Qt::transparent; colors.controlAlt.disabled = Qt::transparent;
palette.fillColor.accent.defaultColor = accentColors[ AccentDark1 ]; colors.accent.defaultColor = accentColors[ AccentDark1 ];
palette.fillColor.accent.secondary = QskRgb::toTransparentF( accentColors[ AccentDark1 ], 0.90 ); colors.accent.secondary = toTransparentF( accentColors[ AccentDark1 ], 0.90 );
palette.fillColor.accent.tertiary = QskRgb::toTransparentF( accentColors[ AccentDark1 ], 0.80 ); colors.accent.tertiary = toTransparentF( accentColors[ AccentDark1 ], 0.80 );
palette.fillColor.accent.disabled = rgbGray( 0, 0.2169 ); colors.accent.disabled = rgbGray( 0, 0.2169 );
palette.fillColor.accent.selectedTextBackground = accentColors[ AccentBase ]; colors.accent.selectedTextBackground = accentColors[ AccentBase ];
}
// Elevation: {
auto& colors = palette.elevation;
palette.elevation.control.border = { rgbGray( 0, 0.0578 ), rgbGray( 0, 0.1622 ) }; colors.control.border = { rgbGray( 0, 0.0578 ), rgbGray( 0, 0.1622 ) };
palette.elevation.circle.border = { rgbGray( 0, 0.0578 ), rgbGray( 0, 0.1622 ) }; colors.circle.border = { rgbGray( 0, 0.0578 ), rgbGray( 0, 0.1622 ) };
palette.elevation.textControl.border = { rgbGray( 0, 0.0578 ), palette.fillColor.text.secondary }; colors.textControl.border = { rgbGray( 0, 0.0578 ), palette.fillColor.text.secondary };
palette.elevation.textControl.borderFocused = { rgbGray( 0, 0.0578 ), rgbGray( 0, 0.0578 ) }; colors.textControl.borderFocused = { rgbGray( 0, 0.0578 ), rgbGray( 0, 0.0578 ) };
palette.elevation.accentControl.border = { rgbGray( 255, 0.08 ), rgbGray( 0, 0.40 ) }; colors.accentControl.border = { rgbGray( 255, 0.08 ), rgbGray( 0, 0.40 ) };
}
// Stroke color: {
auto& colors = palette.strokeColor;
palette.strokeColor.control.defaultColor = rgbGray( 0, 0.0578 ); colors.control.defaultColor = rgbGray( 0, 0.0578 );
palette.strokeColor.control.secondary = rgbGray( 0, 0.1622 ); colors.control.secondary = rgbGray( 0, 0.1622 );
palette.strokeColor.control.onAccentDefault = rgbGray( 255.08 ); colors.control.onAccentDefault = rgbGray( 255.08 );
palette.strokeColor.control.onAccentSecondary = rgbGray( 0, 0.40 ); colors.control.onAccentSecondary = rgbGray( 0, 0.40 );
palette.strokeColor.control.onAccentTertiary = rgbGray( 0, 0.2169 ); colors.control.onAccentTertiary = rgbGray( 0, 0.2169 );
palette.strokeColor.control.onAccentDisabled = rgbGray( 0, 0.0578 ); colors.control.onAccentDisabled = rgbGray( 0, 0.0578 );
palette.strokeColor.controlStrong.defaultColor = rgbGray( 0, 0.4458 ); colors.controlStrong.defaultColor = rgbGray( 0, 0.4458 );
palette.strokeColor.controlStrong.disabled = rgbGray( 0, 0.2169 ); colors.controlStrong.disabled = rgbGray( 0, 0.2169 );
palette.strokeColor.card.defaultColor = rgbGray( 0, 0.0578 ); colors.card.defaultColor = rgbGray( 0, 0.0578 );
palette.strokeColor.card.defaultSolid = rgbGray( 235 ); colors.card.defaultSolid = rgbGray( 235 );
palette.strokeColor.divider.defaultColor = rgbGray( 0, 0.0803 ); colors.divider.defaultColor = rgbGray( 0, 0.0803 );
palette.strokeColor.surface.defaultColor = rgbGray( 117, 0.40 ); colors.surface.defaultColor = rgbGray( 117, 0.40 );
palette.strokeColor.surface.flyout = rgbGray( 0, 0.0578 ); colors.surface.flyout = rgbGray( 0, 0.0578 );
palette.strokeColor.focus.outer = rgbGray( 0, 0.8956 ); colors.focus.outer = rgbGray( 0, 0.8956 );
palette.strokeColor.focus.inner = rgbGray( 255 ); colors.focus.inner = rgbGray( 255 );
}
// Background: {
auto& colors = palette.background;
palette.background.card.defaultColor = rgbGray( 255, 0.70 ); colors.card.defaultColor = rgbGray( 255, 0.70 );
palette.background.card.secondary = rgbGray( 246, 0.50 ); colors.card.secondary = rgbGray( 246, 0.50 );
palette.background.card.tertiary = rgbGray( 255 ); colors.card.tertiary = rgbGray( 255 );
palette.background.overlay.defaultColor = rgbGray( 0, 0.30 ); colors.overlay.defaultColor = rgbGray( 0, 0.30 );
colors.layer.alt = rgbGray( 255 );
palette.background.layer.alt = rgbGray( 255 ); colors.flyout.defaultColor = rgbGray( 252, 0.85 );
palette.background.flyout.defaultColor = rgbGray( 252, 0.85 );
palette.background.solid.base = rgbGray( 243 );
palette.background.solid.secondary = rgbGray( 238 );
palette.background.solid.tertiary = rgbGray( 249 );
palette.background.solid.quaternary = rgbGray( 255 );
colors.solid.base = rgbGray( 243 );
colors.solid.secondary = rgbGray( 238 );
colors.solid.tertiary = rgbGray( 249 );
colors.solid.quaternary = rgbGray( 255 );
}
// Shadow: // Shadow:
@ -133,101 +140,106 @@ QskFluent2Theme::QskFluent2Theme( QskSkin::ColorScheme colorScheme,
// ### should actually be drawn twice with different values: // ### should actually be drawn twice with different values:
shadow.dialog = { QskShadowMetrics( 0, 21, QPointF( 0, 2 ) ), rgbGray( 0, 0.1474 ) }; shadow.dialog = { QskShadowMetrics( 0, 21, QPointF( 0, 2 ) ), rgbGray( 0, 0.1474 ) };
} }
else if( colorScheme == QskSkin::DarkScheme ) else
{ {
// Fill color: {
auto& colors = palette.fillColor;
palette.fillColor.text.primary = rgbGray( 255 ); colors.text.primary = rgbGray( 255 );
palette.fillColor.text.secondary = rgbGray( 255, 0.786 ); colors.text.secondary = rgbGray( 255, 0.786 );
palette.fillColor.text.tertiary = rgbGray( 255, 0.5442 ); colors.text.tertiary = rgbGray( 255, 0.5442 );
palette.fillColor.text.disabled = rgbGray( 255, 0.3628 ); colors.text.disabled = rgbGray( 255, 0.3628 );
palette.fillColor.accentText.primary = accentColors[ AccentLight3 ]; colors.accentText.primary = accentColors[ AccentLight3 ];
palette.fillColor.accentText.secondary = accentColors[ AccentLight3 ]; colors.accentText.secondary = accentColors[ AccentLight3 ];
palette.fillColor.accentText.tertiary = accentColors[ AccentLight2 ]; colors.accentText.tertiary = accentColors[ AccentLight2 ];
palette.fillColor.accentText.disabled = rgbGray( 255, 0.3628 ); colors.accentText.disabled = rgbGray( 255, 0.3628 );
palette.fillColor.textOnAccent.primary = rgbGray( 0 ); colors.textOnAccent.primary = rgbGray( 0 );
palette.fillColor.textOnAccent.secondary = rgbGray( 0, 0.50 ); colors.textOnAccent.secondary = rgbGray( 0, 0.50 );
palette.fillColor.textOnAccent.disabled = rgbGray( 255, 0.5302 ); colors.textOnAccent.disabled = rgbGray( 255, 0.5302 );
palette.fillColor.textOnAccent.selectedText = rgbGray( 255 ); colors.textOnAccent.selectedText = rgbGray( 255 );
palette.fillColor.control.defaultColor = rgbGray( 255, 0.0605 ); colors.control.defaultColor = rgbGray( 255, 0.0605 );
palette.fillColor.control.secondary = rgbGray( 255, 0.0837 ); colors.control.secondary = rgbGray( 255, 0.0837 );
palette.fillColor.control.tertiary = rgbGray( 255, 0.0326 ); colors.control.tertiary = rgbGray( 255, 0.0326 );
palette.fillColor.control.inputActive = rgbGray( 30, 0.70 ); colors.control.inputActive = rgbGray( 30, 0.70 );
palette.fillColor.control.disabled = rgbGray( 255, 0.0419 ); colors.control.disabled = rgbGray( 255, 0.0419 );
palette.fillColor.controlStrong.defaultColor = rgbGray( 255, 0.5442 ); colors.controlStrong.defaultColor = rgbGray( 255, 0.5442 );
palette.fillColor.controlStrong.disabled = rgbGray( 255, 0.2465 ); colors.controlStrong.disabled = rgbGray( 255, 0.2465 );
palette.fillColor.subtle.secondary = rgbGray( 255, 0.0605 ); colors.subtle.secondary = rgbGray( 255, 0.0605 );
palette.fillColor.subtle.tertiary = rgbGray( 255, 0.0419 ); colors.subtle.tertiary = rgbGray( 255, 0.0419 );
palette.fillColor.subtle.disabled = Qt::transparent; colors.subtle.disabled = Qt::transparent;
palette.fillColor.controlSolid.defaultColor = rgbGray( 69 ); colors.controlSolid.defaultColor = rgbGray( 69 );
palette.fillColor.controlAlt.secondary = rgbGray( 0, 0.10 ); colors.controlAlt.secondary = rgbGray( 0, 0.10 );
palette.fillColor.controlAlt.tertiary = rgbGray( 255, 0.0419 ); colors.controlAlt.tertiary = rgbGray( 255, 0.0419 );
palette.fillColor.controlAlt.quaternary = rgbGray( 255, 0.0698 ); colors.controlAlt.quaternary = rgbGray( 255, 0.0698 );
palette.fillColor.controlAlt.disabled = Qt::transparent; colors.controlAlt.disabled = Qt::transparent;
palette.fillColor.accent.defaultColor = accentColors[ AccentLight2 ]; colors.accent.defaultColor = accentColors[ AccentLight2 ];
palette.fillColor.accent.secondary = QskRgb::toTransparentF( accentColors[ AccentLight2 ], 0.90 ); colors.accent.secondary = toTransparentF( accentColors[ AccentLight2 ], 0.90 );
palette.fillColor.accent.tertiary = QskRgb::toTransparentF( accentColors[ AccentLight2 ], 0.80 ); colors.accent.tertiary = toTransparentF( accentColors[ AccentLight2 ], 0.80 );
palette.fillColor.accent.disabled = rgbGray( 255, 0.1581 ); colors.accent.disabled = rgbGray( 255, 0.1581 );
palette.fillColor.accent.selectedTextBackground = accentColors[ AccentBase ]; colors.accent.selectedTextBackground = accentColors[ AccentBase ];
}
// Elevation: {
auto& colors = palette.elevation;
palette.elevation.control.border = { rgbGray( 255, 0.093 ), rgbGray( 255, 0.0698 ) }; colors.control.border = { rgbGray( 255, 0.093 ), rgbGray( 255, 0.0698 ) };
palette.elevation.circle.border = { rgbGray( 255, 0.093 ), rgbGray( 255, 0.0698 ) }; colors.circle.border = { rgbGray( 255, 0.093 ), rgbGray( 255, 0.0698 ) };
palette.elevation.textControl.border = { rgbGray( 255, 0.08 ), palette.fillColor.text.secondary }; colors.textControl.border = { rgbGray( 255, 0.08 ), palette.fillColor.text.secondary };
palette.elevation.textControl.borderFocused = { rgbGray( 255, 0.08 ), rgbGray( 255, 0.08 ) }; colors.textControl.borderFocused = { rgbGray( 255, 0.08 ), rgbGray( 255, 0.08 ) };
palette.elevation.accentControl.border = { rgbGray( 255, 0.08 ), rgbGray( 0, 0.14 ) }; colors.accentControl.border = { rgbGray( 255, 0.08 ), rgbGray( 0, 0.14 ) };
}
// Stroke color: {
auto& colors = palette.strokeColor;
palette.strokeColor.control.defaultColor = rgbGray( 255, 0.0698 ); colors.control.defaultColor = rgbGray( 255, 0.0698 );
palette.strokeColor.control.secondary = rgbGray( 255, 0.093 ); colors.control.secondary = rgbGray( 255, 0.093 );
palette.strokeColor.control.onAccentDefault = rgbGray( 255, 0.08 ); colors.control.onAccentDefault = rgbGray( 255, 0.08 );
palette.strokeColor.control.onAccentSecondary = rgbGray( 0, 0.14 ); colors.control.onAccentSecondary = rgbGray( 0, 0.14 );
palette.strokeColor.control.onAccentTertiary = rgbGray( 0, 0.2169 ); colors.control.onAccentTertiary = rgbGray( 0, 0.2169 );
palette.strokeColor.control.onAccentDisabled = rgbGray( 0, 0.20 ); colors.control.onAccentDisabled = rgbGray( 0, 0.20 );
palette.strokeColor.controlStrong.defaultColor = rgbGray( 255, 0.5442 ); colors.controlStrong.defaultColor = rgbGray( 255, 0.5442 );
palette.strokeColor.controlStrong.disabled = rgbGray( 255, 0.1581 ); colors.controlStrong.disabled = rgbGray( 255, 0.1581 );
palette.strokeColor.card.defaultColor = rgbGray( 255, 0.0578 ); colors.card.defaultColor = rgbGray( 255, 0.0578 );
palette.strokeColor.card.defaultSolid = rgbGray( 235 ); colors.card.defaultSolid = rgbGray( 235 );
palette.strokeColor.divider.defaultColor = rgbGray( 255, 0.0837 ); colors.divider.defaultColor = rgbGray( 255, 0.0837 );
palette.strokeColor.surface.defaultColor = rgbGray( 117, 0.40 ); colors.surface.defaultColor = rgbGray( 117, 0.40 );
palette.strokeColor.surface.flyout = rgbGray( 0, 0.20 ); colors.surface.flyout = rgbGray( 0, 0.20 );
palette.strokeColor.focus.outer = rgbGray( 255 ); colors.focus.outer = rgbGray( 255 );
palette.strokeColor.focus.inner = rgbGray( 0, 0.70 ); colors.focus.inner = rgbGray( 0, 0.70 );
}
// Background: {
auto& colors = palette.background;
palette.background.card.defaultColor = rgbGray( 255, 0.0512 ); colors.card.defaultColor = rgbGray( 255, 0.0512 );
palette.background.card.secondary = rgbGray( 255, 0.0326 ); colors.card.secondary = rgbGray( 255, 0.0326 );
palette.background.card.tertiary = rgbGray( 255 ); // not set in Figma colors.card.tertiary = rgbGray( 255 ); // not set in Figma
palette.background.overlay.defaultColor = rgbGray( 0, 0.30 ); colors.overlay.defaultColor = rgbGray( 0, 0.30 );
colors.layer.alt = rgbGray( 255, 0.0538 );
palette.background.layer.alt = rgbGray( 255, 0.0538 ); colors.flyout.defaultColor = rgbGray( 44, 0.96 );
palette.background.flyout.defaultColor = rgbGray( 44, 0.96 );
palette.background.solid.base = rgbGray( 32 );
palette.background.solid.secondary = rgbGray( 28 );
palette.background.solid.tertiary = rgbGray( 40 );
palette.background.solid.quaternary = rgbGray( 44 );
colors.solid.base = rgbGray( 32 );
colors.solid.secondary = rgbGray( 28 );
colors.solid.tertiary = rgbGray( 40 );
colors.solid.quaternary = rgbGray( 44 );
}
// Shadow: // Shadow: