🔀 Merge pull request #497 from Schneegans/feature/kde-port
@@ -70,7 +70,7 @@ Below is a table which summarizes the current availability for all effects.
|
||||
</tr>
|
||||
<tr><td></td> <td>3.36</td> <td>3.38</td><td>40-44</td><td>45+</td><td>5.25.0+</td></tr>
|
||||
<tr><td>Apparition</td> <td> </td> <td>✅</td> <td>✅</td> <td>✅</td> <td> </td> </tr>
|
||||
<tr><td>Aura Glow</td> <td> </td> <td> </td> <td> </td> <td>✅</td> <td> </td> </tr>
|
||||
<tr><td>Aura Glow</td> <td> </td> <td> </td> <td> </td> <td>✅</td> <td>✅</td> </tr>
|
||||
<tr><td>Broken Glass</td> <td> </td> <td> </td> <td>✅</td> <td>✅</td> <td> </td> </tr>
|
||||
<tr><td>Doom</td> <td> </td> <td>✅</td> <td>✅</td> <td>✅</td> <td>✅</td> </tr>
|
||||
<tr><td>Energize A</td> <td>✅</td> <td>✅</td> <td>✅</td> <td>✅</td> <td>✅</td> </tr>
|
||||
@@ -88,9 +88,9 @@ Below is a table which summarizes the current availability for all effects.
|
||||
<tr><td>Pixel Wheel</td> <td>✅</td> <td>✅</td> <td>✅</td> <td>✅</td> <td>✅</td> </tr>
|
||||
<tr><td>Pixel Wipe</td> <td>✅</td> <td>✅</td> <td>✅</td> <td>✅</td> <td>✅</td> </tr>
|
||||
<tr><td>Portal</td> <td>✅</td> <td>✅</td> <td>✅</td> <td>✅</td> <td>✅</td> </tr>
|
||||
<tr><td>RGB Warp</td> <td> </td> <td> </td> <td> </td> <td>✅</td> <td> </td> </tr>
|
||||
<tr><td>RGB Warp</td> <td> </td> <td> </td> <td> </td> <td>✅</td> <td>✅</td> </tr>
|
||||
<tr><td>Snap of Disintegration</td> <td> </td> <td> </td> <td>✅</td> <td>✅</td> <td> </td> </tr>
|
||||
<tr><td>TeamRocket</td> <td> </td> <td> </td> <td> </td> <td>✅</td> <td> </td> </tr>
|
||||
<tr><td>TeamRocket</td> <td> </td> <td> </td> <td> </td> <td>✅</td> <td>✅</td> </tr>
|
||||
<tr><td>T-Rex Attack</td> <td> </td> <td> </td> <td>✅</td> <td>✅</td> <td> </td> </tr>
|
||||
<tr><td>TV Effect</td> <td>✅</td> <td>✅</td> <td>✅</td> <td>✅</td> <td>✅</td> </tr>
|
||||
<tr><td>TV Glitch</td> <td>✅</td> <td>✅</td> <td>✅</td> <td>✅</td> <td>✅</td> </tr>
|
||||
|
||||
@@ -0,0 +1,210 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<!--
|
||||
SPDX-FileCopyrightText: Simon Schneegans <code@simonschneegans.de>
|
||||
SPDX-License-Identifier: GPL-3.0-or-later
|
||||
-->
|
||||
|
||||
<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>353</height>
|
||||
</rect>
|
||||
</property>
|
||||
<layout class="QGridLayout" name="gridLayout">
|
||||
<item row="0" column="0">
|
||||
<widget class="QLabel" name="label">
|
||||
<property name="text">
|
||||
<string>Animation Time [ms]</string>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignmentFlag::AlignRight|Qt::AlignmentFlag::AlignTrailing|Qt::AlignmentFlag::AlignVCenter</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="1">
|
||||
<widget class="QSpinBox" name="kcfg_Duration">
|
||||
<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="1" column="1">
|
||||
<widget class="QCheckBox" name="kcfg_RandomColor">
|
||||
<property name="text">
|
||||
<string>Random Color</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="0">
|
||||
<widget class="QLabel" name="label_3">
|
||||
<property name="text">
|
||||
<string>Start Hue</string>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignmentFlag::AlignRight|Qt::AlignmentFlag::AlignTrailing|Qt::AlignmentFlag::AlignVCenter</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="1">
|
||||
<widget class="QDoubleSpinBox" name="kcfg_StartHue">
|
||||
<property name="minimum">
|
||||
<double>0.000000000000000</double>
|
||||
</property>
|
||||
<property name="maximum">
|
||||
<double>1.000000000000000</double>
|
||||
</property>
|
||||
<property name="singleStep">
|
||||
<double>0.100000000000000</double>
|
||||
</property>
|
||||
<property name="value">
|
||||
<double>0.500000000000000</double>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="0">
|
||||
<widget class="QLabel" name="label_6">
|
||||
<property name="text">
|
||||
<string>Speed</string>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignmentFlag::AlignRight|Qt::AlignmentFlag::AlignTrailing|Qt::AlignmentFlag::AlignVCenter</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="1">
|
||||
<widget class="QDoubleSpinBox" name="kcfg_Speed">
|
||||
<property name="minimum">
|
||||
<double>-5.000000000000000</double>
|
||||
</property>
|
||||
<property name="maximum">
|
||||
<double>5.000000000000000</double>
|
||||
</property>
|
||||
<property name="singleStep">
|
||||
<double>0.100000000000000</double>
|
||||
</property>
|
||||
<property name="value">
|
||||
<double>1.000000000000000</double>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="4" column="0">
|
||||
<widget class="QLabel" name="label_4">
|
||||
<property name="text">
|
||||
<string>Saturation</string>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignmentFlag::AlignRight|Qt::AlignmentFlag::AlignTrailing|Qt::AlignmentFlag::AlignVCenter</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="4" column="1">
|
||||
<widget class="QDoubleSpinBox" name="kcfg_Saturation">
|
||||
<property name="minimum">
|
||||
<double>0.000000000000000</double>
|
||||
</property>
|
||||
<property name="maximum">
|
||||
<double>1.000000000000000</double>
|
||||
</property>
|
||||
<property name="singleStep">
|
||||
<double>0.100000000000000</double>
|
||||
</property>
|
||||
<property name="value">
|
||||
<double>1.000000000000000</double>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="5" column="0">
|
||||
<widget class="QLabel" name="label_4">
|
||||
<property name="text">
|
||||
<string>Edge Size</string>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignmentFlag::AlignRight|Qt::AlignmentFlag::AlignTrailing|Qt::AlignmentFlag::AlignVCenter</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="5" column="1">
|
||||
<widget class="QDoubleSpinBox" name="kcfg_EdgeSize">
|
||||
<property name="minimum">
|
||||
<double>0.000000000000000</double>
|
||||
</property>
|
||||
<property name="maximum">
|
||||
<double>1.000000000000000</double>
|
||||
</property>
|
||||
<property name="singleStep">
|
||||
<double>0.100000000000000</double>
|
||||
</property>
|
||||
<property name="value">
|
||||
<double>1.000000000000000</double>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="6" column="0">
|
||||
<widget class="QLabel" name="label_5">
|
||||
<property name="text">
|
||||
<string>Edge Hardness</string>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignmentFlag::AlignRight|Qt::AlignmentFlag::AlignTrailing|Qt::AlignmentFlag::AlignVCenter</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="6" column="1">
|
||||
<widget class="QDoubleSpinBox" name="kcfg_EdgeHardness">
|
||||
<property name="minimum">
|
||||
<double>0.000000000000000</double>
|
||||
</property>
|
||||
<property name="maximum">
|
||||
<double>1.000000000000000</double>
|
||||
</property>
|
||||
<property name="singleStep">
|
||||
<double>0.100000000000000</double>
|
||||
</property>
|
||||
<property name="value">
|
||||
<double>1.000000000000000</double>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="7" column="0">
|
||||
<widget class="QLabel" name="label_7">
|
||||
<property name="text">
|
||||
<string>Blur Amount</string>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignmentFlag::AlignRight|Qt::AlignmentFlag::AlignTrailing|Qt::AlignmentFlag::AlignVCenter</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="7" column="1">
|
||||
<widget class="QDoubleSpinBox" name="kcfg_BlurAmount">
|
||||
<property name="minimum">
|
||||
<double>0.000000000000000</double>
|
||||
</property>
|
||||
<property name="maximum">
|
||||
<double>30.000000000000000</double>
|
||||
</property>
|
||||
<property name="singleStep">
|
||||
<double>1.000000000000000</double>
|
||||
</property>
|
||||
<property name="value">
|
||||
<double>1.000000000000000</double>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<resources />
|
||||
<connections />
|
||||
</ui>
|
||||
@@ -0,0 +1,36 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<!--
|
||||
SPDX-FileCopyrightText: Simon Schneegans <code@simonschneegans.de>
|
||||
SPDX-License-Identifier: GPL-3.0-or-later
|
||||
-->
|
||||
|
||||
<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>750</default>
|
||||
</entry>
|
||||
<entry name="RandomColor" type="Bool">
|
||||
<default>false</default>
|
||||
</entry>
|
||||
<entry name="StartHue" type="Double">
|
||||
<default>0.0</default>
|
||||
</entry>
|
||||
<entry name="Speed" type="Double">
|
||||
<default>2.5</default>
|
||||
</entry>
|
||||
<entry name="Saturation" type="Double">
|
||||
<default>0.75</default>
|
||||
</entry>
|
||||
<entry name="EdgeSize" type="Double">
|
||||
<default>0.75</default>
|
||||
</entry>
|
||||
<entry name="EdgeHardness" type="Double">
|
||||
<default>0.25</default>
|
||||
</entry>
|
||||
<entry name="BlurAmount" type="Double">
|
||||
<default>15.0</default>
|
||||
</entry>
|
||||
</group>
|
||||
</kcfg>
|
||||
@@ -0,0 +1,8 @@
|
||||
// SPDX-FileCopyrightText: Simon Schneegans <code@simonschneegans.de>
|
||||
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
// This part is automatically included in the effect's source during the build process.
|
||||
// The code below is called whenever a window is closed or opened.
|
||||
|
||||
let seed = [Math.random(), Math.random()];
|
||||
effect.setUniform(this.shader, 'uSeed', seed);
|
||||
@@ -0,0 +1,15 @@
|
||||
// SPDX-FileCopyrightText: Simon Schneegans <code@simonschneegans.de>
|
||||
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
// 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, 'uSpeed', effect.readConfig('Speed', 1.0));
|
||||
effect.setUniform(this.shader, 'uRandomColor',
|
||||
effect.readConfig('RandomColor', true) ? 1.0 : 0.0);
|
||||
effect.setUniform(this.shader, 'uStartHue', effect.readConfig('StartHue', 1.0));
|
||||
effect.setUniform(this.shader, 'uSaturation', effect.readConfig('Saturation', 1.0));
|
||||
effect.setUniform(this.shader, 'uBlur', effect.readConfig('BlurAmount', 1.0));
|
||||
effect.setUniform(this.shader, 'uEdgeSize', effect.readConfig('EdgeSize', 1.0));
|
||||
effect.setUniform(this.shader, 'uEdgeHardness', effect.readConfig('EdgeHardness', 1.0));
|
||||
@@ -154,6 +154,7 @@ generate_impl() {
|
||||
}
|
||||
|
||||
# Now run the above method for all supported effects.
|
||||
generate "aura-glow" "Aura Glow [Burn-My-Windows]" "A radiant edge-lit animation"
|
||||
generate "doom" "Doom [Burn-My-Windows]" "Melt your windows"
|
||||
generate "energize-a" "Energize A [Burn-My-Windows]" "Beam your windows away"
|
||||
generate "energize-b" "Energize B [Burn-My-Windows]" "Using different transporter technology results in an alternative visual effect"
|
||||
@@ -167,6 +168,8 @@ generate "pixelate" "Pixelate [Burn-My-Windows]" "Pixelate the window and
|
||||
generate "pixel-wheel" "Pixel Wheel [Burn-My-Windows]" "Pixelate the window and hide the pixels in a wheel-like fashion"
|
||||
generate "pixel-wipe" "Pixel Wipe [Burn-My-Windows]" "Pixelate the window and hide the pixels radially, starting from the pointer position"
|
||||
generate "portal" "Portal [Burn-My-Windows]" "Transfer your windows to other locations in space and time"
|
||||
generate "rgbwarp" "RGB Warp [Burn-My-Windows]" "Red Blue and Green go bye bye"
|
||||
generate "team-rocket" "Team Rocket [Burn-My-Windows]" "... is blasting off again!"
|
||||
generate "tv" "TV Effect [Burn-My-Windows]" "Make windows close like turning off a TV"
|
||||
generate "tv-glitch" "TV Glitch [Burn-My-Windows]" "Make your windows close like a very glitchy old-school TV"
|
||||
generate "wisps" "Wisps [Burn-My-Windows]" "Let your windows be carried away to the realm of dreams by these little fairies"
|
||||
|
||||
@@ -0,0 +1,148 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<!--
|
||||
SPDX-FileCopyrightText: Simon Schneegans <code@simonschneegans.de>
|
||||
SPDX-License-Identifier: GPL-3.0-or-later
|
||||
-->
|
||||
|
||||
<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="2" column="0">
|
||||
<widget class="QLabel" name="label_2">
|
||||
<property name="text">
|
||||
<string>Speed Red</string>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignmentFlag::AlignRight|Qt::AlignmentFlag::AlignTrailing|Qt::AlignmentFlag::AlignVCenter</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="1">
|
||||
<widget class="QSpinBox" name="kcfg_Duration">
|
||||
<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="1" column="0">
|
||||
<widget class="QLabel" name="label_3">
|
||||
<property name="text">
|
||||
<string>Brightness</string>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignmentFlag::AlignRight|Qt::AlignmentFlag::AlignTrailing|Qt::AlignmentFlag::AlignVCenter</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="0">
|
||||
<widget class="QLabel" name="label">
|
||||
<property name="text">
|
||||
<string>Animation Time [ms]</string>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignmentFlag::AlignRight|Qt::AlignmentFlag::AlignTrailing|Qt::AlignmentFlag::AlignVCenter</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="1">
|
||||
<widget class="QDoubleSpinBox" name="kcfg_Brightness">
|
||||
<property name="minimum">
|
||||
<double>0.000000000000000</double>
|
||||
</property>
|
||||
<property name="maximum">
|
||||
<double>1.000000000000000</double>
|
||||
</property>
|
||||
<property name="singleStep">
|
||||
<double>0.100000000000000</double>
|
||||
</property>
|
||||
<property name="value">
|
||||
<double>1.000000000000000</double>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="0">
|
||||
<widget class="QLabel" name="label_4">
|
||||
<property name="text">
|
||||
<string>Speed Green</string>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignmentFlag::AlignRight|Qt::AlignmentFlag::AlignTrailing|Qt::AlignmentFlag::AlignVCenter</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="4" column="0">
|
||||
<widget class="QLabel" name="label_4">
|
||||
<property name="text">
|
||||
<string>Speed Blue</string>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignmentFlag::AlignRight|Qt::AlignmentFlag::AlignTrailing|Qt::AlignmentFlag::AlignVCenter</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="1">
|
||||
<widget class="QDoubleSpinBox" name="kcfg_SpeedR">
|
||||
<property name="maximum">
|
||||
<double>1.000000000000000</double>
|
||||
</property>
|
||||
<property name="singleStep">
|
||||
<double>0.100000000000000</double>
|
||||
</property>
|
||||
<property name="value">
|
||||
<double>1.000000000000000</double>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="1">
|
||||
<widget class="QDoubleSpinBox" name="kcfg_SpeedG">
|
||||
<property name="minimum">
|
||||
<double>0.000000000000000</double>
|
||||
</property>
|
||||
<property name="maximum">
|
||||
<double>1.000000000000000</double>
|
||||
</property>
|
||||
<property name="singleStep">
|
||||
<double>0.100000000000000</double>
|
||||
</property>
|
||||
<property name="value">
|
||||
<double>1.000000000000000</double>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="4" column="1">
|
||||
<widget class="QDoubleSpinBox" name="kcfg_SpeedB">
|
||||
<property name="minimum">
|
||||
<double>0.000000000000000</double>
|
||||
</property>
|
||||
<property name="maximum">
|
||||
<double>1.000000000000000</double>
|
||||
</property>
|
||||
<property name="singleStep">
|
||||
<double>0.100000000000000</double>
|
||||
</property>
|
||||
<property name="value">
|
||||
<double>1.000000000000000</double>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<resources/>
|
||||
<connections/>
|
||||
</ui>
|
||||
@@ -0,0 +1,27 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<!--
|
||||
SPDX-FileCopyrightText: Simon Schneegans <code@simonschneegans.de>
|
||||
SPDX-License-Identifier: GPL-3.0-or-later
|
||||
-->
|
||||
|
||||
<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>750</default>
|
||||
</entry>
|
||||
<entry name="Brightness" type="Double">
|
||||
<default>1.0</default>
|
||||
</entry>
|
||||
<entry name="SpeedR" type="Double">
|
||||
<default>1.0</default>
|
||||
</entry>
|
||||
<entry name="SpeedG" type="Double">
|
||||
<default>0.9</default>
|
||||
</entry>
|
||||
<entry name="SpeedB" type="Double">
|
||||
<default>0.8</default>
|
||||
</entry>
|
||||
</group>
|
||||
</kcfg>
|
||||
@@ -0,0 +1,11 @@
|
||||
// SPDX-FileCopyrightText: Simon Schneegans <code@simonschneegans.de>
|
||||
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
// 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, 'uBrightness', effect.readConfig('Brightness', 1.0));
|
||||
effect.setUniform(this.shader, 'uSpeedR', effect.readConfig('SpeedR', 1.0));
|
||||
effect.setUniform(this.shader, 'uSpeedG', effect.readConfig('SpeedG', 1.0));
|
||||
effect.setUniform(this.shader, 'uSpeedB', effect.readConfig('SpeedB', 1.0));
|
||||
@@ -0,0 +1,185 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<!--
|
||||
SPDX-FileCopyrightText: Simon Schneegans <code@simonschneegans.de>
|
||||
SPDX-License-Identifier: GPL-3.0-or-later
|
||||
-->
|
||||
|
||||
|
||||
<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="0" column="0">
|
||||
<widget class="QLabel" name="label">
|
||||
<property name="text">
|
||||
<string>Animation Time [ms]</string>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignmentFlag::AlignRight|Qt::AlignmentFlag::AlignTrailing|Qt::AlignmentFlag::AlignVCenter</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="1">
|
||||
<widget class="QSpinBox" name="kcfg_Duration">
|
||||
<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="1" column="0">
|
||||
<widget class="QLabel" name="label_3">
|
||||
<property name="text">
|
||||
<string>Animation Split</string>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignmentFlag::AlignRight|Qt::AlignmentFlag::AlignTrailing|Qt::AlignmentFlag::AlignVCenter</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="1">
|
||||
<widget class="QDoubleSpinBox" name="kcfg_AnimationSplit">
|
||||
<property name="minimum">
|
||||
<double>0.200000000000000</double>
|
||||
</property>
|
||||
<property name="maximum">
|
||||
<double>8.000000000000000</double>
|
||||
</property>
|
||||
<property name="singleStep">
|
||||
<double>0.100000000000000</double>
|
||||
</property>
|
||||
<property name="value">
|
||||
<double>0.500000000000000</double>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="1">
|
||||
<widget class="QCheckBox" name="kcfg_RotateWindow">
|
||||
<property name="text">
|
||||
<string>Rotate Window</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="0">
|
||||
<widget class="QLabel" name="label_6">
|
||||
<property name="text">
|
||||
<string>Horizontal Sparkle Position</string>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignmentFlag::AlignRight|Qt::AlignmentFlag::AlignTrailing|Qt::AlignmentFlag::AlignVCenter</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="1">
|
||||
<widget class="QDoubleSpinBox" name="kcfg_HorizontalSparklePosition">
|
||||
<property name="minimum">
|
||||
<double>-1.000000000000000</double>
|
||||
</property>
|
||||
<property name="maximum">
|
||||
<double>1.000000000000000</double>
|
||||
</property>
|
||||
<property name="singleStep">
|
||||
<double>0.100000000000000</double>
|
||||
</property>
|
||||
<property name="value">
|
||||
<double>1.000000000000000</double>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="4" column="0">
|
||||
<widget class="QLabel" name="label_4">
|
||||
<property name="text">
|
||||
<string>Vertical Sparkle Position</string>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignmentFlag::AlignRight|Qt::AlignmentFlag::AlignTrailing|Qt::AlignmentFlag::AlignVCenter</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="4" column="1">
|
||||
<widget class="QDoubleSpinBox" name="kcfg_VerticalSparklePosition">
|
||||
<property name="minimum">
|
||||
<double>-1.000000000000000</double>
|
||||
</property>
|
||||
<property name="maximum">
|
||||
<double>1.000000000000000</double>
|
||||
</property>
|
||||
<property name="singleStep">
|
||||
<double>0.100000000000000</double>
|
||||
</property>
|
||||
<property name="value">
|
||||
<double>1.000000000000000</double>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="5" column="0">
|
||||
<widget class="QLabel" name="label_4">
|
||||
<property name="text">
|
||||
<string>Sparkle Size</string>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignmentFlag::AlignRight|Qt::AlignmentFlag::AlignTrailing|Qt::AlignmentFlag::AlignVCenter</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="5" column="1">
|
||||
<widget class="QDoubleSpinBox" name="kcfg_SparkleSize">
|
||||
<property name="minimum">
|
||||
<double>0.500000000000000</double>
|
||||
</property>
|
||||
<property name="maximum">
|
||||
<double>1.000000000000000</double>
|
||||
</property>
|
||||
<property name="singleStep">
|
||||
<double>0.100000000000000</double>
|
||||
</property>
|
||||
<property name="value">
|
||||
<double>1.000000000000000</double>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="6" column="0">
|
||||
<widget class="QLabel" name="label_5">
|
||||
<property name="text">
|
||||
<string>Sparkle Rotation</string>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignmentFlag::AlignRight|Qt::AlignmentFlag::AlignTrailing|Qt::AlignmentFlag::AlignVCenter</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="6" column="1">
|
||||
<widget class="QDoubleSpinBox" name="kcfg_SparkleRotation">
|
||||
<property name="minimum">
|
||||
<double>-1.000000000000000</double>
|
||||
</property>
|
||||
<property name="maximum">
|
||||
<double>1.000000000000000</double>
|
||||
</property>
|
||||
<property name="singleStep">
|
||||
<double>0.100000000000000</double>
|
||||
</property>
|
||||
<property name="value">
|
||||
<double>1.000000000000000</double>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<resources />
|
||||
<connections />
|
||||
</ui>
|
||||
@@ -0,0 +1,33 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<!--
|
||||
SPDX-FileCopyrightText: Simon Schneegans <code@simonschneegans.de>
|
||||
SPDX-License-Identifier: GPL-3.0-or-later
|
||||
-->
|
||||
|
||||
<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="AnimationSplit" type="Double">
|
||||
<default>0.5</default>
|
||||
</entry>
|
||||
<entry name="RotateWindow" type="Bool">
|
||||
<default>true</default>
|
||||
</entry>
|
||||
<entry name="HorizontalSparklePosition" type="Double">
|
||||
<default>0.0</default>
|
||||
</entry>
|
||||
<entry name="VerticalSparklePosition" type="Double">
|
||||
<default>0.5</default>
|
||||
</entry>
|
||||
<entry name="SparkleSize" type="Double">
|
||||
<default>0.75</default>
|
||||
</entry>
|
||||
<entry name="SparkleRotation" type="Double">
|
||||
<default>0.33</default>
|
||||
</entry>
|
||||
</group>
|
||||
</kcfg>
|
||||
@@ -0,0 +1,8 @@
|
||||
// SPDX-FileCopyrightText: Simon Schneegans <code@simonschneegans.de>
|
||||
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
// This part is automatically included in the effect's source during the build process.
|
||||
// The code below is called whenever a window is closed or opened.
|
||||
|
||||
let seed = [Math.random(), Math.random()];
|
||||
effect.setUniform(this.shader, 'uSeed', seed);
|
||||
@@ -0,0 +1,17 @@
|
||||
// SPDX-FileCopyrightText: Simon Schneegans <code@simonschneegans.de>
|
||||
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
// 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, 'uAnimationSplit',
|
||||
effect.readConfig('AnimationSplit', 1.0));
|
||||
effect.setUniform(this.shader, 'uWindowRotation',
|
||||
effect.readConfig('RotateWindow', true) ? 1.0 : 0.0);
|
||||
effect.setUniform(this.shader, 'uHorizontalSparklePosition',
|
||||
effect.readConfig('HorizontalSparklePosition', 1.0));
|
||||
effect.setUniform(this.shader, 'uVerticalSparklePosition',
|
||||
effect.readConfig('VerticalSparklePosition', 1.0));
|
||||
effect.setUniform(this.shader, 'uSparkleRot', effect.readConfig('SparkleRotation', 1.0));
|
||||
effect.setUniform(this.shader, 'uSparkleSize', effect.readConfig('SparkleSize', 1.0));
|
||||
@@ -31,10 +31,10 @@
|
||||
// vec4 getInputColor(vec2 coords)
|
||||
// void setOutputColor(vec4 outColor)
|
||||
|
||||
uniform float uColorSpeed;
|
||||
uniform bool uRandomColorOffset;
|
||||
uniform float uColorOffset;
|
||||
uniform float uColorSaturation;
|
||||
uniform float uSpeed;
|
||||
uniform bool uRandomColor;
|
||||
uniform float uStartHue;
|
||||
uniform float uSaturation;
|
||||
uniform float uBlur;
|
||||
uniform vec2 uSeed;
|
||||
uniform float uEdgeSize;
|
||||
@@ -72,8 +72,8 @@ void main() {
|
||||
gradient += simplex2D((iTexCoord + uSeed)) * 0.5;
|
||||
|
||||
// This mask is used for the color overlay.
|
||||
float glowMask = (progress - gradient) / mix(uEdgeSize, 0.5, progress);
|
||||
glowMask = 1.0 - clamp(glowMask - progress, 0.0, 1.0);
|
||||
float glowMask = (progress - gradient) / (uEdgeSize + 0.1);
|
||||
glowMask = 1.0 - clamp(glowMask, 0.0, 1.0);
|
||||
|
||||
// Quickly fade out the glow mask at the end of the animation.
|
||||
glowMask *= easeOutSine(min(1.0, (1.0 - progress) * 4.0));
|
||||
@@ -90,10 +90,10 @@ void main() {
|
||||
}
|
||||
glowMask *= windowColor.a;
|
||||
|
||||
vec3 glowColor = cos(progress * uColorSpeed + uv.xyx + vec3(0, 2, 4)).xyz;
|
||||
float colorOffset = (uRandomColorOffset) ? hash12(uSeed) : uColorOffset;
|
||||
vec3 glowColor = cos(progress * uSpeed + uv.xyx + vec3(0, 2, 4)).xyz;
|
||||
float colorOffset = (uRandomColor) ? hash12(uSeed) : uStartHue;
|
||||
glowColor = offsetHue(glowColor, colorOffset + 0.1);
|
||||
glowColor = clamp(glowColor * uColorSaturation, vec3(0.0), vec3(1.0));
|
||||
glowColor = clamp(glowColor * uSaturation, vec3(0.0), vec3(1.0));
|
||||
|
||||
windowColor.rgb += glowColor * glowMask;
|
||||
|
||||
|
||||
@@ -31,13 +31,13 @@
|
||||
// void setOutputColor(vec4 outColor)
|
||||
|
||||
// window time ... how we split the time between the window and the sparkle/star
|
||||
uniform float uWT;
|
||||
uniform float uXpos; // the Xposition of the star
|
||||
uniform float uYpos; // the Yposition of the star
|
||||
uniform float uSparkleRot; // the rotation of the star
|
||||
uniform float uSparkleSize; // the size of the star
|
||||
uniform bool uWinRot; // window rotation... but it's more of a warp
|
||||
uniform vec2 uSeed; // and random numbers
|
||||
uniform float uAnimationSplit;
|
||||
uniform float uHorizontalSparklePosition; // the Xposition of the star
|
||||
uniform float uVerticalSparklePosition; // the Yposition of the star
|
||||
uniform float uSparkleRot; // the rotation of the star
|
||||
uniform float uSparkleSize; // the size of the star
|
||||
uniform bool uWindowRotation; // window rotation... but it's more of a warp
|
||||
uniform vec2 uSeed; // and random numbers
|
||||
|
||||
// Used to scale the window.
|
||||
vec2 scaleUV(vec2 uv, vec2 scale, vec2 centerOffset) {
|
||||
@@ -106,16 +106,18 @@ void main() {
|
||||
float progress = uForOpening ? 1.0 - uProgress : uProgress;
|
||||
|
||||
// Scale progress ... the first half of the animation.
|
||||
float scalep = remap(progress, 0.0, uWT + 0.1, 0.0, 1.0);
|
||||
float scalep = remap(progress, 0.0, uAnimationSplit + 0.1, 0.0, 1.0);
|
||||
scalep = easeOutQuad(scalep);
|
||||
|
||||
// Sparkle progress ... the second half of the animation.
|
||||
float sparkp = remap(progress, uWT - 0.1, 1.0, 0.0, 1.0);
|
||||
float sparkp = remap(progress, uAnimationSplit - 0.1, 1.0, 0.0, 1.0);
|
||||
sparkp = easeInOutSine(sparkp);
|
||||
|
||||
// This is the offset of the window... don't let them go too far each way.
|
||||
vec2 offset = vec2(uXpos, uYpos * -1.0) * 0.20;
|
||||
vec2 scaleOffset = mix(vec2(0.0), vec2(uXpos, uYpos * -1.0) * 0.50, scalep);
|
||||
vec2 offset = vec2(uHorizontalSparklePosition, uVerticalSparklePosition * -1.0) * 0.20;
|
||||
vec2 scaleOffset =
|
||||
mix(vec2(0.0),
|
||||
vec2(uHorizontalSparklePosition, uVerticalSparklePosition * -1.0) * 0.50, scalep);
|
||||
|
||||
// the UV for this function
|
||||
float aspect = uSize.x / uSize.y;
|
||||
@@ -129,7 +131,7 @@ void main() {
|
||||
|
||||
// Rotation and if we are gonna rotate or not.
|
||||
vec3 rot = vec3(0.0);
|
||||
if (uWinRot) {
|
||||
if (uWindowRotation) {
|
||||
rot = hash32(uSeed);
|
||||
rot *= 2.0;
|
||||
rot -= 1.0;
|
||||
|
||||
@@ -66,17 +66,17 @@ SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
<child>
|
||||
<object class="AdwActionRow" id="aura-glow-action-row">
|
||||
<property name="title" translatable="yes">Start Color Hue</property>
|
||||
<property name="title" translatable="yes">Start Hue</property>
|
||||
|
||||
<child>
|
||||
<object class="GtkScale" id="aura-glow-color-offset-scale">
|
||||
<object class="GtkScale" id="aura-glow-start-hue-slider">
|
||||
<property name="valign">center</property>
|
||||
<property name="draw-value">1</property>
|
||||
<property name="digits">2</property>
|
||||
<property name="value-pos">left</property>
|
||||
<property name="width-request">300</property>
|
||||
<property name="adjustment">
|
||||
<object class="GtkAdjustment" id="aura-glow-color-offset">
|
||||
<object class="GtkAdjustment" id="aura-glow-start-hue">
|
||||
<property name="upper">1.0</property>
|
||||
<property name="lower">0.0</property>
|
||||
<property name="step-increment">0.1</property>
|
||||
@@ -86,7 +86,7 @@ SPDX-License-Identifier: GPL-3.0-or-later
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton" id="reset-aura-glow-color-offset">
|
||||
<object class="GtkButton" id="reset-aura-glow-start-hue">
|
||||
<property name="icon-name">edit-clear-symbolic</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="tooltip-text" translatable="yes">Reset to Default Value</property>
|
||||
@@ -100,7 +100,7 @@ SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
<child>
|
||||
<object class="AdwActionRow">
|
||||
<property name="title" translatable="yes">Color Speed</property>
|
||||
<property name="title" translatable="yes">Speed</property>
|
||||
<child>
|
||||
<object class="GtkScale">
|
||||
<property name="valign">center</property>
|
||||
@@ -109,7 +109,7 @@ SPDX-License-Identifier: GPL-3.0-or-later
|
||||
<property name="value-pos">left</property>
|
||||
<property name="width-request">300</property>
|
||||
<property name="adjustment">
|
||||
<object class="GtkAdjustment" id="aura-glow-color-speed">
|
||||
<object class="GtkAdjustment" id="aura-glow-speed">
|
||||
<property name="upper">5.0</property>
|
||||
<property name="lower">-5.0</property>
|
||||
<property name="step-increment">0.25</property>
|
||||
@@ -119,7 +119,7 @@ SPDX-License-Identifier: GPL-3.0-or-later
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton" id="reset-aura-glow-color-speed">
|
||||
<object class="GtkButton" id="reset-aura-glow-speed">
|
||||
<property name="icon-name">edit-clear-symbolic</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="tooltip-text" translatable="yes">Reset to Default Value</property>
|
||||
@@ -133,7 +133,7 @@ SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
<child>
|
||||
<object class="AdwActionRow">
|
||||
<property name="title" translatable="yes">Color Saturation</property>
|
||||
<property name="title" translatable="yes">Saturation</property>
|
||||
<child>
|
||||
<object class="GtkScale">
|
||||
<property name="valign">center</property>
|
||||
@@ -142,7 +142,7 @@ SPDX-License-Identifier: GPL-3.0-or-later
|
||||
<property name="value-pos">left</property>
|
||||
<property name="width-request">300</property>
|
||||
<property name="adjustment">
|
||||
<object class="GtkAdjustment" id="aura-glow-color-saturation">
|
||||
<object class="GtkAdjustment" id="aura-glow-saturation">
|
||||
<property name="upper">1.0</property>
|
||||
<property name="lower">0.0</property>
|
||||
<property name="step-increment">0.10</property>
|
||||
@@ -152,7 +152,7 @@ SPDX-License-Identifier: GPL-3.0-or-later
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton" id="reset-aura-glow-color-saturation">
|
||||
<object class="GtkButton" id="reset-aura-glow-saturation">
|
||||
<property name="icon-name">edit-clear-symbolic</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="tooltip-text" translatable="yes">Reset to Default Value</property>
|
||||
|
||||
@@ -63,7 +63,7 @@ SPDX-License-Identifier: GPL-3.0-or-later
|
||||
<property name="width-request">300</property>
|
||||
|
||||
<property name="adjustment">
|
||||
<object class="GtkAdjustment" id="team-rocket-window-time">
|
||||
<object class="GtkAdjustment" id="team-rocket-animation-split">
|
||||
<property name="upper">0.8</property>
|
||||
<property name="lower">0.2</property>
|
||||
<property name="step-increment">0.01</property>
|
||||
@@ -74,7 +74,7 @@ SPDX-License-Identifier: GPL-3.0-or-later
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<object class="GtkButton" id="reset-team-rocket-window-time">
|
||||
<object class="GtkButton" id="reset-team-rocket-animation-split">
|
||||
<property name="icon-name">edit-clear-symbolic</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="tooltip-text" translatable="yes">Reset to Default Value</property>
|
||||
@@ -89,14 +89,14 @@ SPDX-License-Identifier: GPL-3.0-or-later
|
||||
<child>
|
||||
<object class="AdwActionRow">
|
||||
<property name="title" translatable="yes">Rotate Window</property>
|
||||
<property name="activatable-widget">team-rocket-win-rot</property>
|
||||
<property name="activatable-widget">team-rocket-window-rotation</property>
|
||||
<child>
|
||||
<object class="GtkSwitch" id="team-rocket-win-rot">
|
||||
<object class="GtkSwitch" id="team-rocket-window-rotation">
|
||||
<property name="valign">center</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton" id="reset-team-rocket-win-rot">
|
||||
<object class="GtkButton" id="reset-team-rocket-window-rotation">
|
||||
<property name="icon-name">edit-clear-symbolic</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="tooltip-text" translatable="yes">Reset to Default Value</property>
|
||||
@@ -122,7 +122,7 @@ SPDX-License-Identifier: GPL-3.0-or-later
|
||||
<property name="width-request">300</property>
|
||||
|
||||
<property name="adjustment">
|
||||
<object class="GtkAdjustment" id="team-rocket-x">
|
||||
<object class="GtkAdjustment" id="team-rocket-horizontal-sparkle-position">
|
||||
<property name="upper">1.0</property>
|
||||
<property name="lower">-1.0</property>
|
||||
<property name="step-increment">0.01</property>
|
||||
@@ -133,7 +133,7 @@ SPDX-License-Identifier: GPL-3.0-or-later
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<object class="GtkButton" id="reset-team-rocket-x">
|
||||
<object class="GtkButton" id="reset-team-rocket-horizontal-sparkle-position">
|
||||
<property name="icon-name">edit-clear-symbolic</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="tooltip-text" translatable="yes">Reset to Default Value</property>
|
||||
@@ -159,7 +159,7 @@ SPDX-License-Identifier: GPL-3.0-or-later
|
||||
<property name="width-request">300</property>
|
||||
|
||||
<property name="adjustment">
|
||||
<object class="GtkAdjustment" id="team-rocket-y">
|
||||
<object class="GtkAdjustment" id="team-rocket-vertical-sparkle-position">
|
||||
<property name="upper">1.0</property>
|
||||
<property name="lower">-1.0</property>
|
||||
<property name="step-increment">0.01</property>
|
||||
@@ -170,7 +170,7 @@ SPDX-License-Identifier: GPL-3.0-or-later
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<object class="GtkButton" id="reset-team-rocket-y">
|
||||
<object class="GtkButton" id="reset-team-rocket-vertical-sparkle-position">
|
||||
<property name="icon-name">edit-clear-symbolic</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="tooltip-text" translatable="yes">Reset to Default Value</property>
|
||||
@@ -187,7 +187,6 @@ SPDX-License-Identifier: GPL-3.0-or-later
|
||||
<object class="AdwActionRow">
|
||||
|
||||
<property name="title" translatable="yes">Sparkle Size</property>
|
||||
<!-- <property name="subtitle" translatable="yes"></property> -->
|
||||
|
||||
<child>
|
||||
<object class="GtkScale">
|
||||
@@ -225,7 +224,6 @@ SPDX-License-Identifier: GPL-3.0-or-later
|
||||
<object class="AdwActionRow">
|
||||
|
||||
<property name="title" translatable="yes">Sparkle Rotation</property>
|
||||
<!-- <property name="subtitle" translatable="yes"></property> -->
|
||||
|
||||
<child>
|
||||
<object class="GtkScale">
|
||||
|
||||
@@ -979,19 +979,19 @@ SPDX-License-Identifier: CC0-1.0
|
||||
<description>Ramdomize the color offset</description>
|
||||
</key>
|
||||
|
||||
<key name="aura-glow-color-offset" type="d">
|
||||
<key name="aura-glow-start-hue" type="d">
|
||||
<default>0.0</default>
|
||||
<summary>Aura Glow Color Offset</summary>
|
||||
<description>Changes the inital color of the glow</description>
|
||||
</key>
|
||||
|
||||
<key name="aura-glow-color-speed" type="d">
|
||||
<key name="aura-glow-speed" type="d">
|
||||
<default>2.5</default>
|
||||
<summary>Aura Glow Color Speed</summary>
|
||||
<description>The Speed at which the color changes</description>
|
||||
</key>
|
||||
|
||||
<key name="aura-glow-color-saturation" type="d">
|
||||
<key name="aura-glow-saturation" type="d">
|
||||
<default>0.75</default>
|
||||
<summary>Aura Glow Color Saturation</summary>
|
||||
<description>Amount of color in the effect</description>
|
||||
@@ -1031,12 +1031,6 @@ SPDX-License-Identifier: CC0-1.0
|
||||
<description>The time the RGBWarp effect takes.</description>
|
||||
</key>
|
||||
|
||||
<key name="rgbwarp-wavesize" type="d">
|
||||
<default>1.0</default>
|
||||
<summary>RGBWarp Width</summary>
|
||||
<description>Width of the effect.</description>
|
||||
</key>
|
||||
|
||||
<key name="rgbwarp-brightness" type="d">
|
||||
<default>1.0</default>
|
||||
<summary>RGBWarp Brightness</summary>
|
||||
@@ -1077,25 +1071,25 @@ SPDX-License-Identifier: CC0-1.0
|
||||
<description>The time the Team Rocket effect takes.</description>
|
||||
</key>
|
||||
|
||||
<key name="team-rocket-window-time" type="d">
|
||||
<key name="team-rocket-animation-split" type="d">
|
||||
<default>0.5</default>
|
||||
<summary>Window vs Sparkle split</summary>
|
||||
<description>Window vs Sparkle split</description>
|
||||
</key>
|
||||
|
||||
<key name="team-rocket-x" type="d">
|
||||
<key name="team-rocket-horizontal-sparkle-position" type="d">
|
||||
<default>0.0</default>
|
||||
<summary>Team Rocket X</summary>
|
||||
<description>X position</description>
|
||||
</key>
|
||||
|
||||
<key name="team-rocket-y" type="d">
|
||||
<key name="team-rocket-vertical-sparkle-position" type="d">
|
||||
<default>0.5</default>
|
||||
<summary>Team Rocket Y</summary>
|
||||
<description>Y position</description>
|
||||
</key>
|
||||
|
||||
<key name="team-rocket-win-rot" type="b">
|
||||
<key name="team-rocket-window-rotation" type="b">
|
||||
<default>true</default>
|
||||
<summary>Rotate the Window</summary>
|
||||
<description>Rotate the Window</description>
|
||||
|
||||
@@ -40,22 +40,22 @@ export default class Effect {
|
||||
constructor() {
|
||||
this.shaderFactory = new ShaderFactory(Effect.getNick(), (shader) => {
|
||||
// Store uniform locations of newly created shaders.
|
||||
shader._uColorSpeed = shader.get_uniform_location('uColorSpeed');
|
||||
shader._uRandomColorOffset = shader.get_uniform_location('uRandomColorOffset');
|
||||
shader._uColorOffset = shader.get_uniform_location('uColorOffset');
|
||||
shader._uColorSaturation = shader.get_uniform_location('uColorSaturation');
|
||||
shader._uEdgeSize = shader.get_uniform_location('uEdgeSize');
|
||||
shader._uEdgeHardness = shader.get_uniform_location('uEdgeHardness');
|
||||
shader._uBlur = shader.get_uniform_location('uBlur');
|
||||
shader._uSeed = shader.get_uniform_location('uSeed');
|
||||
shader._uSpeed = shader.get_uniform_location('uSpeed');
|
||||
shader._uRandomColor = shader.get_uniform_location('uRandomColor');
|
||||
shader._uStartHue = shader.get_uniform_location('uStartHue');
|
||||
shader._uSaturation = shader.get_uniform_location('uSaturation');
|
||||
shader._uEdgeSize = shader.get_uniform_location('uEdgeSize');
|
||||
shader._uEdgeHardness = shader.get_uniform_location('uEdgeHardness');
|
||||
shader._uBlur = shader.get_uniform_location('uBlur');
|
||||
shader._uSeed = shader.get_uniform_location('uSeed');
|
||||
|
||||
// Write all uniform values at the start of each animation.
|
||||
shader.connect('begin-animation', (shader, settings) => {
|
||||
// clang-format off
|
||||
shader.set_uniform_float(shader._uColorSpeed, 1, [settings.get_double('aura-glow-color-speed')]);
|
||||
shader.set_uniform_float(shader._uRandomColorOffset, 1, [settings.get_boolean('aura-glow-random-color')]);
|
||||
shader.set_uniform_float(shader._uColorOffset, 1, [settings.get_double('aura-glow-color-offset')]);
|
||||
shader.set_uniform_float(shader._uColorSaturation, 1, [settings.get_double('aura-glow-color-saturation')]);
|
||||
shader.set_uniform_float(shader._uSpeed, 1, [settings.get_double('aura-glow-speed')]);
|
||||
shader.set_uniform_float(shader._uRandomColor, 1, [settings.get_boolean('aura-glow-random-color')]);
|
||||
shader.set_uniform_float(shader._uStartHue, 1, [settings.get_double('aura-glow-start-hue')]);
|
||||
shader.set_uniform_float(shader._uSaturation, 1, [settings.get_double('aura-glow-saturation')]);
|
||||
shader.set_uniform_float(shader._uEdgeSize, 1, [settings.get_double('aura-glow-edge-size')]);
|
||||
shader.set_uniform_float(shader._uEdgeHardness, 1, [settings.get_double('aura-glow-edge-hardness')]);
|
||||
shader.set_uniform_float(shader._uBlur, 1, [settings.get_double('aura-glow-blur')]);
|
||||
@@ -95,19 +95,17 @@ export default class Effect {
|
||||
// binds all user interface elements to the respective settings keys of the profile.
|
||||
static bindPreferences(dialog) {
|
||||
dialog.bindAdjustment('aura-glow-animation-time');
|
||||
dialog.bindAdjustment('aura-glow-color-speed');
|
||||
dialog.bindAdjustment('aura-glow-speed');
|
||||
dialog.bindSwitch('aura-glow-random-color');
|
||||
dialog.bindAdjustment('aura-glow-color-offset');
|
||||
dialog.bindAdjustment('aura-glow-color-saturation');
|
||||
dialog.bindAdjustment('aura-glow-start-hue');
|
||||
dialog.bindAdjustment('aura-glow-saturation');
|
||||
dialog.bindAdjustment('aura-glow-edge-size');
|
||||
dialog.bindAdjustment('aura-glow-edge-hardness');
|
||||
dialog.bindAdjustment('aura-glow-blur');
|
||||
|
||||
// enable and disable the one slider
|
||||
function enableDisablePref(dialog, state) {
|
||||
dialog.getBuilder()
|
||||
.get_object('aura-glow-color-offset-scale')
|
||||
.set_sensitive(!state);
|
||||
dialog.getBuilder().get_object('aura-glow-start-hue-slider').set_sensitive(!state);
|
||||
}
|
||||
|
||||
const switchWidget = dialog.getBuilder().get_object('aura-glow-random-color');
|
||||
|
||||
@@ -39,22 +39,24 @@ export default class Effect {
|
||||
constructor() {
|
||||
this.shaderFactory = new ShaderFactory(Effect.getNick(), (shader) => {
|
||||
// Store uniform locations of newly created shaders.
|
||||
shader._uWT = shader.get_uniform_location('uWT');
|
||||
shader._uXpos = shader.get_uniform_location('uXpos');
|
||||
shader._uYpos = shader.get_uniform_location('uYpos');
|
||||
shader._uWinRot = shader.get_uniform_location('uWinRot');
|
||||
shader._uSparkleRot = shader.get_uniform_location('uSparkleRot');
|
||||
shader._uSparkleSize = shader.get_uniform_location('uSparkleSize');
|
||||
shader._uAnimationSplit = shader.get_uniform_location('uAnimationSplit');
|
||||
shader._uHorizontalSparklePosition =
|
||||
shader.get_uniform_location('uHorizontalSparklePosition');
|
||||
shader._uVerticalSparklePosition =
|
||||
shader.get_uniform_location('uVerticalSparklePosition');
|
||||
shader._uWindowRotation = shader.get_uniform_location('uWindowRotation');
|
||||
shader._uSparkleRot = shader.get_uniform_location('uSparkleRot');
|
||||
shader._uSparkleSize = shader.get_uniform_location('uSparkleSize');
|
||||
|
||||
shader._uSeed = shader.get_uniform_location('uSeed');
|
||||
|
||||
// Write all uniform values at the start of each animation.
|
||||
shader.connect('begin-animation', (shader, settings) => {
|
||||
// clang-format off
|
||||
shader.set_uniform_float(shader._uWT, 1, [settings.get_double('team-rocket-window-time')]);
|
||||
shader.set_uniform_float(shader._uXpos, 1, [settings.get_double('team-rocket-x')]);
|
||||
shader.set_uniform_float(shader._uYpos, 1, [settings.get_double('team-rocket-y')]);
|
||||
shader.set_uniform_float(shader._uWinRot, 1, [settings.get_boolean('team-rocket-win-rot')]);
|
||||
shader.set_uniform_float(shader._uAnimationSplit, 1, [settings.get_double('team-rocket-animation-split')]);
|
||||
shader.set_uniform_float(shader._uHorizontalSparklePosition, 1, [settings.get_double('team-rocket-horizontal-sparkle-position')]);
|
||||
shader.set_uniform_float(shader._uVerticalSparklePosition, 1, [settings.get_double('team-rocket-vertical-sparkle-position')]);
|
||||
shader.set_uniform_float(shader._uWindowRotation, 1, [settings.get_boolean('team-rocket-window-rotation')]);
|
||||
shader.set_uniform_float(shader._uSparkleRot, 1, [settings.get_double('team-rocket-sparkle-rot')]);
|
||||
shader.set_uniform_float(shader._uSparkleSize, 1, [settings.get_double('team-rocket-sparkle-size')]);
|
||||
// clang-format on
|
||||
@@ -93,12 +95,10 @@ export default class Effect {
|
||||
// binds all user interface elements to the respective settings keys of the profile.
|
||||
static bindPreferences(dialog) {
|
||||
dialog.bindAdjustment('team-rocket-animation-time');
|
||||
dialog.bindAdjustment('team-rocket-window-time');
|
||||
dialog.bindAdjustment('team-rocket-x');
|
||||
dialog.bindAdjustment('team-rocket-y');
|
||||
|
||||
dialog.bindSwitch('team-rocket-win-rot');
|
||||
|
||||
dialog.bindAdjustment('team-rocket-animation-split');
|
||||
dialog.bindAdjustment('team-rocket-horizontal-sparkle-position');
|
||||
dialog.bindAdjustment('team-rocket-vertical-sparkle-position');
|
||||
dialog.bindSwitch('team-rocket-window-rotation');
|
||||
dialog.bindAdjustment('team-rocket-sparkle-rot');
|
||||
dialog.bindAdjustment('team-rocket-sparkle-size');
|
||||
}
|
||||
|
||||
|
Before Width: | Height: | Size: 2.6 KiB After Width: | Height: | Size: 4.0 KiB |
|
Before Width: | Height: | Size: 3.6 KiB After Width: | Height: | Size: 3.7 KiB |
|
Before Width: | Height: | Size: 1.6 KiB After Width: | Height: | Size: 3.1 KiB |
|
Before Width: | Height: | Size: 2.7 KiB After Width: | Height: | Size: 3.2 KiB |
|
Before Width: | Height: | Size: 2.6 KiB After Width: | Height: | Size: 3.1 KiB |
|
Before Width: | Height: | Size: 2.0 KiB After Width: | Height: | Size: 3.4 KiB |