🔀 Merge pull request #196 from Schneegans/feature/incinerate-from-pointer-kwin

This commit is contained in:
Simon Schneegans
2022-07-21 16:59:12 +02:00
committed by GitHub
5 changed files with 138 additions and 102 deletions
+5 -1
View File
@@ -6,12 +6,16 @@
#### New Features
* On GNOME, the incinerate effect now uses the current mouse pointer position as starting position of the burn effect. The old random behaviour can be enabled in the settings.
* The incinerate effect now uses the current mouse pointer position as starting position of the burn effect. The old random behaviour can be enabled in the settings. This works both on GNOME and KDE.
#### Enhancements
* On GNOME, effects can now execute code whenever an animation ended. This is useful for cleaning up resources.
#### Fixes
* Fixed the effect configuration dialog of the Fire effect on KDE.
## [Burn My Windows 18](https://github.com/schneegans/Burn-My-Windows/releases/tag/v18)
**Release Date:** 2022-06-30
+75 -60
View File
@@ -11,36 +11,16 @@
</rect>
</property>
<layout class="QGridLayout" name="gridLayout">
<item row="1" column="0">
<widget class="QLabel" name="label_2">
<item row="4" column="0">
<widget class="QLabel" name="label_4">
<property name="text">
<string>Line Color:</string>
<string>Gradient:</string>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
</property>
</widget>
</item>
<item row="4" column="1">
<widget class="QDoubleSpinBox" name="kcfg_LineWidth">
<property name="minimum">
<double>1.000000000000000</double>
</property>
<property name="maximum">
<double>5.000000000000000</double>
</property>
</widget>
</item>
<item row="3" column="1">
<widget class="QDoubleSpinBox" name="kcfg_Scale">
<property name="minimum">
<double>0.100000000000000</double>
</property>
<property name="maximum">
<double>10.000000000000000</double>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QSpinBox" name="kcfg_Duration">
<property name="suffix">
@@ -57,26 +37,92 @@
</property>
</widget>
</item>
<item row="2" column="0">
<widget class="QLabel" name="label_4">
<item row="1" column="1">
<widget class="QDoubleSpinBox" name="kcfg_Scale">
<property name="minimum">
<double>0.100000000000000</double>
</property>
<property name="maximum">
<double>10.000000000000000</double>
</property>
</widget>
</item>
<item row="3" column="0">
<widget class="QLabel" name="label_2">
<property name="text">
<string>Glow Color:</string>
<string>Movement Speed:</string>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
</property>
</widget>
</item>
<item row="4" column="0">
<widget class="QLabel" name="label_5">
<item row="3" column="1">
<widget class="QDoubleSpinBox" name="kcfg_MovementSpeed">
<property name="minimum">
<double>-5.000000000000000</double>
</property>
<property name="maximum">
<double>5.000000000000000</double>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QLabel" name="label_3">
<property name="text">
<string>Line Width:</string>
<string>Scale:</string>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
</property>
</widget>
</item>
<item row="4" column="1">
<layout class="QHBoxLayout" name="horizontalLayout">
<item>
<widget class="KColorButton" name="kcfg_Gradient1">
<property name="alphaChannelEnabled">
<bool>true</bool>
</property>
</widget>
</item>
<item>
<widget class="KColorButton" name="kcfg_Gradient2">
<property name="alphaChannelEnabled">
<bool>true</bool>
</property>
</widget>
</item>
<item>
<widget class="KColorButton" name="kcfg_Gradient3">
<property name="alphaChannelEnabled">
<bool>true</bool>
</property>
</widget>
</item>
<item>
<widget class="KColorButton" name="kcfg_Gradient4">
<property name="alphaChannelEnabled">
<bool>true</bool>
</property>
</widget>
</item>
<item>
<widget class="KColorButton" name="kcfg_Gradient5">
<property name="alphaChannelEnabled">
<bool>true</bool>
</property>
</widget>
</item>
</layout>
</item>
<item row="7" column="1">
<widget class="QCheckBox" name="kcfg_3DNoise">
<property name="text">
<string>3D Noise</string>
</property>
</widget>
</item>
<item row="0" column="0">
<widget class="QLabel" name="label">
<property name="text">
@@ -87,37 +133,6 @@
</property>
</widget>
</item>
<item row="3" column="0">
<widget class="QLabel" name="label_3">
<property name="text">
<string>Scale:</string>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
</property>
</widget>
</item>
<item row="5" column="1">
<widget class="QCheckBox" name="kcfg_AdditiveBlending">
<property name="text">
<string>Additive Blending</string>
</property>
</widget>
</item>
<item row="2" column="1">
<widget class="KColorButton" name="kcfg_GlowColor">
<property name="alphaChannelEnabled">
<bool>true</bool>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="KColorButton" name="kcfg_LineColor">
<property name="alphaChannelEnabled">
<bool>true</bool>
</property>
</widget>
</item>
</layout>
</widget>
<customwidgets>
+48 -41
View File
@@ -11,23 +11,16 @@
</rect>
</property>
<layout class="QGridLayout" name="gridLayout">
<item row="1" column="1">
<widget class="KColorButton" name="kcfg_Color">
<property name="alphaChannelEnabled">
<bool>true</bool>
<item row="2" column="0">
<widget class="QLabel" name="label_3">
<property name="text">
<string>Scale:</string>
</property>
</widget>
</item>
<item row="2" column="1">
<widget class="QDoubleSpinBox" name="kcfg_Scale">
<property name="minimum">
<double>0.100000000000000</double>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
</property>
<property name="maximum">
<double>10.000000000000000</double>
</property>
<property name="singleStep">
<number>0.1</number>
<property name="buddy">
<cstring>kcfg_Color</cstring>
</property>
</widget>
</item>
@@ -47,6 +40,16 @@
</property>
</widget>
</item>
<item row="3" column="1">
<widget class="QDoubleSpinBox" name="kcfg_Turbulence">
<property name="maximum">
<double>1.000000000000000</double>
</property>
<property name="singleStep">
<double>0.000000000000000</double>
</property>
</widget>
</item>
<item row="0" column="0">
<widget class="QLabel" name="label">
<property name="text">
@@ -57,6 +60,29 @@
</property>
</widget>
</item>
<item row="3" column="0">
<widget class="QLabel" name="label_4">
<property name="text">
<string>Turbulence:</string>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
</property>
</widget>
</item>
<item row="2" column="1">
<widget class="QDoubleSpinBox" name="kcfg_Scale">
<property name="minimum">
<double>0.100000000000000</double>
</property>
<property name="maximum">
<double>10.000000000000000</double>
</property>
<property name="singleStep">
<double>0.000000000000000</double>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QLabel" name="label_2">
<property name="text">
@@ -70,36 +96,17 @@
</property>
</widget>
</item>
<item row="2" column="0">
<widget class="QLabel" name="label_3">
<property name="text">
<string>Scale:</string>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
</property>
<property name="buddy">
<cstring>kcfg_Color</cstring>
<item row="1" column="1">
<widget class="KColorButton" name="kcfg_Color">
<property name="alphaChannelEnabled">
<bool>true</bool>
</property>
</widget>
</item>
<item row="3" column="0">
<widget class="QLabel" name="label_4">
<item row="4" column="1">
<widget class="QCheckBox" name="kcfg_UsePointer">
<property name="text">
<string>Turbulence:</string>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
</property>
</widget>
</item>
<item row="3" column="1">
<widget class="QDoubleSpinBox" name="kcfg_Turbulence">
<property name="maximum">
<double>1.000000000000000</double>
</property>
<property name="singleStep">
<number>0.1</number>
<string>Start from Pointer Location</string>
</property>
</widget>
</item>
+3
View File
@@ -15,5 +15,8 @@
<entry name="Color" type="Color">
<default>#ffb47f</default>
</entry>
<entry name="UsePointer" type="Bool">
<default>true</default>
</entry>
</group>
</kcfg>
+7
View File
@@ -5,5 +5,12 @@ let seed = [Math.random(), Math.random()];
let startPos = seed[0] > seed[1] ? [seed[0], Math.floor(seed[1] + 0.5)] :
[Math.floor(seed[0] + 0.5), seed[1]];
if (effect.readConfig('UsePointer', true)) {
startPos = [
(effects.cursorPos.x - window.x) / window.width,
(effects.cursorPos.y - window.y) / window.height
];
}
effect.setUniform(this.shader, 'uSeed', seed);
effect.setUniform(this.shader, 'uStartPos', startPos);