Krita Source Code Documentation
Loading...
Searching...
No Matches
KisStopGradientEditor.h
Go to the documentation of this file.
1/*
2 * SPDX-FileCopyrightText: 2004 Cyrille Berger <cberger@cberger.net>
3 * SPDX-FileCopyrightText: 2016 Sven Langkamp <sven.langkamp@gmail.com>
4 *
5 * SPDX-License-Identifier: GPL-2.0-or-later
6 */
7
8#ifndef _KIS_STOP_GRADIENT_EDITOR_H_
9#define _KIS_STOP_GRADIENT_EDITOR_H_
10
11#include "kritaui_export.h"
12#include "ui_wdgstopgradienteditor.h"
13#include <boost/optional.hpp>
14#include <KoStopGradient.h>
16
17class KRITAUI_EXPORT KisStopGradientEditor : public QWidget, public Ui::KisWdgStopGradientEditor
18{
19 Q_OBJECT
20
21public:
22 enum SortFlag {
23 SORT_ASCENDING = 1 << 0,
24 EVEN_DISTRIBUTION = 1 << 1
25 };
27
28
29 KisStopGradientEditor(QWidget *parent);
30 KisStopGradientEditor(KoStopGradientSP gradient, QWidget *parent, const char* name, const QString& caption, KoCanvasResourcesInterfaceSP canvasResourcesInterface);
31
32 void setCompactMode(bool value);
33
34 void setGradient(KoStopGradientSP gradient);
35
36 void setCanvasResourcesInterface(KoCanvasResourcesInterfaceSP canvasResourcesInterface);
37 KoCanvasResourcesInterfaceSP canvasResourcesInterface() const;
38
39 void notifyGlobalColorChanged(const KoColor &color);
40
41 boost::optional<KoColor> currentActiveStopColor() const;
42
43Q_SIGNALS:
45
46private:
51
52private Q_SLOTS:
53 void stopChanged(int stop);
54 void stopTypeChanged(KisGradientWidgetsUtils::ColorType type);
55 void colorChanged(const KoColor& color);
56 void opacityChanged(qreal value);
57 void positionChanged(qreal value);
58 void nameChanged();
59 void reverse();
60 void distributeStopsEvenly();
61 void sortByValue(SortFlags flags);
62 void sortByHue(SortFlags flags);
63 void editSelectedStop();
64};
65
66Q_DECLARE_OPERATORS_FOR_FLAGS(KisStopGradientEditor::SortFlags);
67#endif
float value(const T *src, size_t ch)
Q_DECLARE_OPERATORS_FOR_FLAGS(KisStopGradientEditor::SortFlags)
Q_DECLARE_FLAGS(SortFlags, SortFlag)
KoCanvasResourcesInterfaceSP m_canvasResourcesInterface