2020-08-02 22:22:19 +00:00
|
|
|
/*
|
|
|
|
KWin - the KDE window manager
|
|
|
|
This file is part of the KDE project.
|
2014-01-17 12:46:04 +00:00
|
|
|
|
2020-08-02 22:22:19 +00:00
|
|
|
SPDX-FileCopyrightText: 2014 Martin Gräßlin <mgraesslin@kde.org>
|
2014-01-17 12:46:04 +00:00
|
|
|
|
2020-08-02 22:22:19 +00:00
|
|
|
SPDX-License-Identifier: GPL-2.0-or-later
|
|
|
|
*/
|
2014-01-17 12:46:04 +00:00
|
|
|
#ifndef KWIN_EFFECT_BUILTINS_H
|
|
|
|
#define KWIN_EFFECT_BUILTINS_H
|
|
|
|
#include <kwineffects_export.h>
|
2014-04-03 08:43:23 +00:00
|
|
|
#include <QStringList>
|
2014-04-03 14:20:26 +00:00
|
|
|
#include <QUrl>
|
2014-04-29 05:49:54 +00:00
|
|
|
#include <functional>
|
2014-01-17 12:46:04 +00:00
|
|
|
|
|
|
|
namespace KWin
|
|
|
|
{
|
|
|
|
class Effect;
|
|
|
|
|
2014-03-21 10:40:16 +00:00
|
|
|
/**
|
|
|
|
* Defines all the built in effects.
|
2019-07-29 18:58:33 +00:00
|
|
|
*/
|
2014-03-21 10:40:16 +00:00
|
|
|
enum class BuiltInEffect
|
|
|
|
{
|
|
|
|
Invalid, ///< not a valid Effect
|
|
|
|
Blur,
|
2016-11-24 07:07:51 +00:00
|
|
|
ColorPicker,
|
2014-03-21 10:40:16 +00:00
|
|
|
Contrast,
|
|
|
|
CoverSwitch,
|
|
|
|
Cube,
|
|
|
|
CubeSlide,
|
|
|
|
DesktopGrid,
|
|
|
|
DimInactive,
|
|
|
|
FallApart,
|
|
|
|
FlipSwitch,
|
|
|
|
Glide,
|
|
|
|
HighlightWindow,
|
|
|
|
Invert,
|
|
|
|
Kscreen,
|
|
|
|
LookingGlass,
|
|
|
|
MagicLamp,
|
|
|
|
Magnifier,
|
|
|
|
MouseClick,
|
|
|
|
MouseMark,
|
|
|
|
PresentWindows,
|
|
|
|
Resize,
|
|
|
|
ScreenEdge,
|
|
|
|
ScreenShot,
|
|
|
|
Sheet,
|
|
|
|
ShowFps,
|
|
|
|
ShowPaint,
|
|
|
|
Slide,
|
|
|
|
SlideBack,
|
|
|
|
SlidingPopups,
|
|
|
|
SnapHelper,
|
|
|
|
StartupFeedback,
|
|
|
|
ThumbnailAside,
|
2016-08-24 14:24:04 +00:00
|
|
|
TouchPoints,
|
2014-03-21 10:40:16 +00:00
|
|
|
TrackMouse,
|
|
|
|
WindowGeometry,
|
|
|
|
WobblyWindows,
|
|
|
|
Zoom
|
|
|
|
};
|
|
|
|
|
2014-01-17 12:46:04 +00:00
|
|
|
namespace BuiltInEffects
|
|
|
|
{
|
|
|
|
|
2014-04-03 14:20:26 +00:00
|
|
|
struct EffectData {
|
|
|
|
QString name;
|
|
|
|
QString displayName;
|
|
|
|
QString comment;
|
|
|
|
QString category;
|
|
|
|
QString exclusiveCategory;
|
|
|
|
QUrl video;
|
|
|
|
bool enabled;
|
|
|
|
bool internal;
|
|
|
|
std::function<Effect*()> createFunction;
|
|
|
|
std::function<bool()> supportedFunction;
|
|
|
|
std::function<bool()> enabledFunction;
|
|
|
|
};
|
|
|
|
|
2014-03-21 10:40:16 +00:00
|
|
|
KWINEFFECTS_EXPORT Effect *create(BuiltInEffect effect);
|
2014-04-03 08:43:23 +00:00
|
|
|
KWINEFFECTS_EXPORT bool available(const QString &name);
|
2014-03-21 10:40:16 +00:00
|
|
|
KWINEFFECTS_EXPORT bool supported(BuiltInEffect effect);
|
2014-03-21 10:47:19 +00:00
|
|
|
KWINEFFECTS_EXPORT bool checkEnabledByDefault(BuiltInEffect effect);
|
2014-03-21 11:09:13 +00:00
|
|
|
KWINEFFECTS_EXPORT bool enabledByDefault(BuiltInEffect effect);
|
2014-04-03 08:43:23 +00:00
|
|
|
KWINEFFECTS_EXPORT QString nameForEffect(BuiltInEffect effect);
|
|
|
|
KWINEFFECTS_EXPORT BuiltInEffect builtInForName(const QString &name);
|
|
|
|
KWINEFFECTS_EXPORT QStringList availableEffectNames();
|
2014-03-21 10:40:16 +00:00
|
|
|
KWINEFFECTS_EXPORT QList<BuiltInEffect> availableEffects();
|
2014-04-03 14:20:26 +00:00
|
|
|
KWINEFFECTS_EXPORT const EffectData &effectData(BuiltInEffect effect);
|
2014-01-17 12:46:04 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
#endif
|