🎉 Add fire kwin effect

This commit is contained in:
Simon Schneegans
2022-06-10 16:08:05 +02:00
parent ef746c20e6
commit 5c58ccf2cf
4 changed files with 186 additions and 7 deletions
+132
View File
@@ -0,0 +1,132 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>BMWConfigForm</class>
<widget class="QWidget" name="BMWConfigForm">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>562</width>
<height>365</height>
</rect>
</property>
<layout class="QGridLayout" name="gridLayout">
<item row="1" column="0">
<widget class="QLabel" name="label_2">
<property name="text">
<string>Line Color:</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">
<string> milliseconds</string>
</property>
<property name="minimum">
<number>100</number>
</property>
<property name="maximum">
<number>9999</number>
</property>
<property name="singleStep">
<number>100</number>
</property>
</widget>
</item>
<item row="2" column="0">
<widget class="QLabel" name="label_4">
<property name="text">
<string>Glow Color:</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">
<property name="text">
<string>Line Width:</string>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
</property>
</widget>
</item>
<item row="0" column="0">
<widget class="QLabel" name="label">
<property name="text">
<string>Duration:</string>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
</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>
<customwidget>
<class>KColorButton</class>
<extends>QPushButton</extends>
<header>kcolorbutton.h</header>
</customwidget>
</customwidgets>
<resources />
<connections />
</ui>
+34
View File
@@ -0,0 +1,34 @@
<?xml version="1.0" encoding="UTF-8"?>
<kcfg xmlns="http://www.kde.org/standards/kcfg/1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.kde.org/standards/kcfg/1.0
http://www.kde.org/standards/kcfg/1.0/kcfg.xsd">
<kcfgfile name="" />
<group name="">
<entry name="Duration" type="UInt">
<default>1500</default>
</entry>
<entry name="Scale" type="Double">
<default>1</default>
</entry>
<entry name="MovementSpeed" type="Double">
<default>0.5</default>
</entry>
<entry name="Gradient1" type="Color">
<default>#4c331900</default>
</entry>
<entry name="Gradient2" type="Color">
<default>b4371ea0</default>
</entry>
<entry name="Gradient3" type="Color">
<default>#ff4c26b5</default>
</entry>
<entry name="Gradient4" type="Color">
<default>#ffa619ff</default>
</entry>
<entry name="Gradient5" type="Color">
<default>#ffffffff</default>
</entry>
<entry name="3DNoise" type="Bool">
<default>false</default>
</entry>
</group>
</kcfg>
+13
View File
@@ -0,0 +1,13 @@
// This part is automatically included in the effect's source during the build process.
// The code below is called whenever the user changes something in the configuration of
// the effect.
effect.setUniform(this.shader, 'u3DNoise',
effect.readConfig('3DNoise', true) ? 1.0 : 0.0);
effect.setUniform(this.shader, 'uScale', effect.readConfig('Scale', 1.0));
effect.setUniform(this.shader, 'uMovementSpeed', effect.readConfig('MovementSpeed', 1.0));
effect.setUniform(this.shader, 'uGradient1', effect.readConfig('Gradient1', 'white'));
effect.setUniform(this.shader, 'uGradient2', effect.readConfig('Gradient2', 'white'));
effect.setUniform(this.shader, 'uGradient3', effect.readConfig('Gradient3', 'white'));
effect.setUniform(this.shader, 'uGradient4', effect.readConfig('Gradient4', 'white'));
effect.setUniform(this.shader, 'uGradient5', effect.readConfig('Gradient5', 'white'));