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