Krita Source Code Documentation
Loading...
Searching...
No Matches
kis_selection_actions_panel_handle.cpp
Go to the documentation of this file.
1
/*
2
* SPDX-FileCopyrightText: 2026 Luna Lovecraft <ciubix8514@gmail.com>
3
*
4
* SPDX-License-Identifier: GPL-3.0-or-later
5
*/
6
7
#include "
kis_selection_actions_panel_handle.h
"
8
#include "
kis_icon_utils.h
"
9
10
struct
KisSelectionActionsPanelHandle::Private
11
{
12
Private
(
int
size
) { this->size =
size
;};
13
QCursor
default_cursor
;
14
QCursor
held_cursor
;
15
QIcon
handle_icon
;
16
int
size
;
17
};
18
19
KisSelectionActionsPanelHandle::KisSelectionActionsPanelHandle
(
int
size, QWidget * parent) :
20
QWidget(parent),
21
d(new
Private
(size))
22
{
23
d
->default_cursor = Qt::OpenHandCursor;
24
d
->held_cursor = Qt::ClosedHandCursor;
25
d
->handle_icon =
KisIconUtils::loadIcon
(
"drag-handle"
);
26
this->setCursor(
d
->default_cursor);
27
setFixedSize(size, size);
28
}
29
30
KisSelectionActionsPanelHandle::~KisSelectionActionsPanelHandle
()
31
{
32
}
33
34
void
KisSelectionActionsPanelHandle::set_held
(
bool
held)
35
{
36
if
(held)
37
{
38
this->setCursor(
d
->held_cursor);
39
}
40
else
41
{
42
this->setCursor(
d
->default_cursor);
43
}
44
}
45
46
void
KisSelectionActionsPanelHandle::draw
(QPainter& painter)
47
{
48
QPixmap map =
d
->handle_icon.pixmap(
d
->size);
49
50
QRect
rect
= geometry();
51
//Adjust the rct a bit to fill the right side of the bar properly
52
rect
.setY(
rect
.y() - 4);
53
rect
.setHeight(
rect
.height() + 4);
54
rect
.setX(
rect
.x() + 3);
55
rect
.setWidth(
rect
.width() + 1);
56
57
QColor bgColor = Qt::darkGray;
58
painter.fillRect(
rect
, bgColor);
59
60
painter.fillRect(
rect
, bgColor);
61
// Adjusting the icon location a bit to be properly centered
62
painter.drawPixmap(geometry().x() + 3, geometry().y(), map);
63
}
KisSelectionActionsPanelHandle::~KisSelectionActionsPanelHandle
~KisSelectionActionsPanelHandle()
Definition
kis_selection_actions_panel_handle.cpp:30
KisSelectionActionsPanelHandle::set_held
void set_held(bool held)
Definition
kis_selection_actions_panel_handle.cpp:34
KisSelectionActionsPanelHandle::d
QScopedPointer< Private > d
Definition
kis_selection_actions_panel_handle.h:21
KisSelectionActionsPanelHandle::draw
void draw(QPainter &painter)
Definition
kis_selection_actions_panel_handle.cpp:46
KisSelectionActionsPanelHandle::KisSelectionActionsPanelHandle
KisSelectionActionsPanelHandle(int size, QWidget *parent)
Definition
kis_selection_actions_panel_handle.cpp:19
kis_icon_utils.h
kis_selection_actions_panel_handle.h
KisIconUtils::loadIcon
QIcon loadIcon(const QString &name)
Definition
kis_icon_utils.cpp:29
Private
Definition
SvgTransformParser.cpp:20
KisSelectionActionsPanelHandle::Private
Definition
kis_selection_actions_panel_handle.cpp:11
KisSelectionActionsPanelHandle::Private::handle_icon
QIcon handle_icon
Definition
kis_selection_actions_panel_handle.cpp:15
KisSelectionActionsPanelHandle::Private::held_cursor
QCursor held_cursor
Definition
kis_selection_actions_panel_handle.cpp:14
KisSelectionActionsPanelHandle::Private::Private
Private(int size)
Definition
kis_selection_actions_panel_handle.cpp:12
KisSelectionActionsPanelHandle::Private::size
int size
Definition
kis_selection_actions_panel_handle.cpp:16
KisSelectionActionsPanelHandle::Private::default_cursor
QCursor default_cursor
Definition
kis_selection_actions_panel_handle.cpp:13
rect
Definition
xcftools.h:129
libs
ui
kis_selection_actions_panel_handle.cpp
Generated at
2026-03-02 02:30:02+01:00
from
Krita
branch
master
, commit
c7c49cc01571fe86bd36eb4c4c4a75e6f481bbea