KWin
Loading...
Searching...
No Matches
src
scene
dndiconitem.cpp
Go to the documentation of this file.
1
/*
2
SPDX-FileCopyrightText: 2022 Vlad Zahorodnii <vlad.zahorodnii@kde.org>
3
4
SPDX-License-Identifier: GPL-2.0-or-later
5
*/
6
7
#include "
scene/dndiconitem.h
"
8
#include "
scene/surfaceitem_wayland.h
"
9
#include "
wayland/datadevice.h
"
10
#include "
wayland/surface.h
"
11
12
namespace
KWin
13
{
14
15
DragAndDropIconItem::DragAndDropIconItem
(
DragAndDropIcon
*icon,
Scene
*scene,
Item
*parent)
16
:
Item
(scene, parent)
17
{
18
m_surfaceItem = std::make_unique<SurfaceItemWayland>(icon->
surface
(),
scene
,
this
);
19
m_surfaceItem->setPosition(icon->
position
());
20
21
connect(icon, &DragAndDropIcon::destroyed,
this
, [
this
]() {
22
m_surfaceItem.reset();
23
});
24
connect(icon, &
DragAndDropIcon::changed
,
this
, [
this
, icon]() {
25
m_surfaceItem->setPosition(icon->
position
());
26
});
27
}
28
29
DragAndDropIconItem::~DragAndDropIconItem
()
30
{
31
}
32
33
SurfaceInterface
*
DragAndDropIconItem::surface
()
const
34
{
35
return
m_surfaceItem ? m_surfaceItem->surface() :
nullptr
;
36
}
37
38
void
DragAndDropIconItem::setOutput
(
Output
*output)
39
{
40
if
(m_surfaceItem && output) {
41
m_output = output;
42
m_surfaceItem->surface()->setPreferredBufferScale(output->
scale
());
43
m_surfaceItem->surface()->setPreferredColorDescription(output->
colorDescription
());
44
}
45
}
46
47
}
// namespace KWin
48
49
#include "moc_dndiconitem.cpp"
KWin::DragAndDropIcon
Definition
datadevice.h:39
KWin::DragAndDropIcon::surface
SurfaceInterface * surface() const
Definition
datadevice.cpp:64
KWin::DragAndDropIcon::position
QPoint position() const
Definition
datadevice.cpp:59
KWin::DragAndDropIcon::changed
void changed()
KWin::DragAndDropIconItem::DragAndDropIconItem
DragAndDropIconItem(DragAndDropIcon *icon, Scene *scene, Item *parent=nullptr)
Definition
dndiconitem.cpp:15
KWin::DragAndDropIconItem::~DragAndDropIconItem
~DragAndDropIconItem() override
Definition
dndiconitem.cpp:29
KWin::DragAndDropIconItem::setOutput
void setOutput(Output *output)
Definition
dndiconitem.cpp:38
KWin::DragAndDropIconItem::surface
SurfaceInterface * surface() const
Definition
dndiconitem.cpp:33
KWin::Item
Definition
item.h:30
KWin::Item::scene
Scene * scene() const
Definition
item.cpp:32
KWin::Output
Definition
output.h:132
KWin::Output::scale
qreal scale() const
Definition
output.cpp:455
KWin::Output::colorDescription
const ColorDescription & colorDescription() const
Definition
output.cpp:732
KWin::Scene
Definition
scene.h:44
KWin::SurfaceInterface
Resource representing a wl_surface.
Definition
surface.h:80
datadevice.h
dndiconitem.h
KWin
Definition
activation_test.cpp:20
surface.h
surfaceitem_wayland.h
Generated on Sat Feb 17 2024 01:42:10 for KWin by
1.10.0