File indexing completed on 2024-05-19 04:29:30
0001 /* 0002 * SPDX-FileCopyrightText: 2016 Wolthera van Hovell tot Westerflier <griffinvalley@gmail.com> 0003 * 0004 * SPDX-License-Identifier: GPL-2.0-or-later 0005 */ 0006 #ifndef KIS_VISUAL_TRIANGLE_SELECTOR_SHAPE_H 0007 #define KIS_VISUAL_TRIANGLE_SELECTOR_SHAPE_H 0008 0009 #include "KisVisualColorSelectorShape.h" 0010 0011 class KisVisualTriangleSelectorShape : public KisVisualColorSelectorShape 0012 { 0013 Q_OBJECT 0014 public: 0015 explicit KisVisualTriangleSelectorShape(KisVisualColorSelector *parent, 0016 Dimensions dimension, 0017 int channel1, int channel2, 0018 int margin = 5 0019 ); 0020 ~KisVisualTriangleSelectorShape() override; 0021 0022 void setBorderWidth(int /*width*/) override; 0023 0024 /** 0025 * @brief getSpaceForSquare 0026 * @param geom the full widget rectangle 0027 * @return rectangle with enough space for second widget 0028 */ 0029 QRect getSpaceForSquare(QRect geom) override; 0030 QRect getSpaceForCircle(QRect geom) override; 0031 QRect getSpaceForTriangle(QRect geom) override; 0032 0033 protected: 0034 QImage renderAlphaMask() const override; 0035 0036 private: 0037 0038 QPointF convertShapeCoordinateToWidgetCoordinate(QPointF coordinate) const override; 0039 QPointF convertWidgetCoordinateToShapeCoordinate(QPointF coordinate) const override; 0040 0041 QRegion getMaskMap() override; 0042 void drawCursor(QPainter &painter) override; 0043 0044 int m_margin { 5 }; 0045 }; 0046 #endif