1
0
mirror of https://github.com/AvengeMedia/DankMaterialShell.git synced 2026-04-08 23:02:05 -04:00

Add Directional Motion options

This commit is contained in:
purian23
2026-03-04 10:14:00 -05:00
parent 9b1aa5c9d7
commit 60cc82bc1d
8 changed files with 376 additions and 202 deletions

View File

@@ -15,9 +15,12 @@ Singleton {
if (typeof SettingsData === "undefined")
return Anims.expressiveDefaultSpatial;
switch (SettingsData.animationVariant) {
case 1: return Anims.standardDecel;
case 2: return Anims.expressiveFastSpatial;
default: return Anims.expressiveDefaultSpatial;
case 1:
return Anims.standardDecel;
case 2:
return Anims.expressiveFastSpatial;
default:
return Anims.expressiveDefaultSpatial;
}
}
@@ -25,9 +28,12 @@ Singleton {
if (typeof SettingsData === "undefined")
return Anims.emphasized;
switch (SettingsData.animationVariant) {
case 1: return Anims.standard;
case 2: return Anims.emphasized;
default: return Anims.emphasized;
case 1:
return Anims.standard;
case 2:
return Anims.emphasized;
default:
return Anims.emphasized;
}
}
@@ -64,7 +70,7 @@ Singleton {
if (SettingsData.animationVariant === 1)
return Anims.standardDecel;
if (SettingsData.animationVariant === 2)
return Anims.standardDecel;
return Anims.expressiveFastSpatial;
return Anims.standardDecel;
}
return variantEnterCurve;
@@ -83,26 +89,35 @@ Singleton {
}
readonly property real variantEnterDurationFactor: {
if (typeof SettingsData === "undefined") return 1.0;
if (typeof SettingsData === "undefined")
return 1.0;
switch (SettingsData.animationVariant) {
case 1: return 0.9;
case 2: return 1.08;
default: return 1.0;
case 1:
return 0.9;
case 2:
return 1.08;
default:
return 1.0;
}
}
readonly property real variantExitDurationFactor: {
if (typeof SettingsData === "undefined") return 1.0;
if (typeof SettingsData === "undefined")
return 1.0;
switch (SettingsData.animationVariant) {
case 1: return 0.85;
case 2: return 0.92;
default: return 1.0;
case 1:
return 0.85;
case 2:
return 0.92;
default:
return 1.0;
}
}
// Fluent: opacity at ~55% of duration; Material/Dynamic: 1:1 with position
readonly property real variantOpacityDurationScale: {
if (typeof SettingsData === "undefined") return 1.0;
if (typeof SettingsData === "undefined")
return 1.0;
return SettingsData.animationVariant === 1 ? 0.55 : 1.0;
}
@@ -112,11 +127,15 @@ Singleton {
}
function variantExitCleanupPadding() {
if (typeof SettingsData === "undefined") return 50;
if (typeof SettingsData === "undefined")
return 50;
switch (SettingsData.motionEffect) {
case 1: return 8;
case 2: return 24;
default: return 50;
case 1:
return 8;
case 2:
return 24;
default:
return 50;
}
}
@@ -128,20 +147,28 @@ Singleton {
readonly property bool isDepthEffect: typeof SettingsData !== "undefined" && SettingsData.motionEffect === 2
readonly property real effectScaleCollapsed: {
if (typeof SettingsData === "undefined") return 0.96;
if (typeof SettingsData === "undefined")
return 0.96;
switch (SettingsData.motionEffect) {
case 1: return 1.0;
case 2: return 0.88;
default: return 0.96;
case 1:
return 1.0;
case 2:
return 0.88;
default:
return 0.96;
}
}
readonly property real effectAnimOffset: {
if (typeof SettingsData === "undefined") return 16;
if (typeof SettingsData === "undefined")
return 16;
switch (SettingsData.motionEffect) {
case 1: return 144;
case 2: return 56;
default: return 16;
case 1:
return 144;
case 2:
return 56;
default:
return 16;
}
}
}

View File

@@ -25,6 +25,6 @@ Singleton {
// Used by AnimVariants for variant/effect logic
readonly property var expressiveDefaultSpatial: [0.38, 1.21, 0.22, 1, 1, 1]
readonly property var expressiveFastSpatial: [0.42, 1.67, 0.21, 0.9, 1, 1]
readonly property var expressiveFastSpatial: [0.34, 1.5, 0.2, 1.0, 1.0, 1.0]
readonly property var expressiveEffects: [0.34, 0.8, 0.34, 1, 1, 1]
}

View File

@@ -184,6 +184,8 @@ Singleton {
onAnimationVariantChanged: saveSettings()
property int motionEffect: SettingsData.AnimationEffect.Standard
onMotionEffectChanged: saveSettings()
property int directionalAnimationMode: 0
onDirectionalAnimationModeChanged: saveSettings()
property bool m3ElevationEnabled: true
onM3ElevationEnabledChanged: saveSettings()
property int m3ElevationIntensity: 12

View File

@@ -51,6 +51,7 @@ var SPEC = {
enableRippleEffects: { def: true },
animationVariant: { def: 0 },
motionEffect: { def: 0 },
directionalAnimationMode: { def: 0 },
m3ElevationEnabled: { def: true },
m3ElevationIntensity: { def: 12 },
m3ElevationOpacity: { def: 30 },