KWin
Loading...
Searching...
No Matches
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"
10#include "wayland/surface.h"
11
12namespace KWin
13{
14
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
32
34{
35 return m_surfaceItem ? m_surfaceItem->surface() : nullptr;
36}
37
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"
SurfaceInterface * surface() const
QPoint position() const
DragAndDropIconItem(DragAndDropIcon *icon, Scene *scene, Item *parent=nullptr)
void setOutput(Output *output)
SurfaceInterface * surface() const
Scene * scene() const
Definition item.cpp:32
qreal scale() const
Definition output.cpp:455
const ColorDescription & colorDescription() const
Definition output.cpp:732
Resource representing a wl_surface.
Definition surface.h:80