File indexing completed on 2026-07-12 13:08:26

0001 /*
0002     KWin - the KDE window manager
0003     This file is part of the KDE project.
0004 
0005     SPDX-FileCopyrightText: 2013 Martin Gräßlin <mgraesslin@kde.org>
0006 
0007     SPDX-License-Identifier: GPL-2.0-or-later
0008 */
0009 #include "qpainterbackend.h"
0010 #include "qpaintersurfacetexture_internal.h"
0011 #include "qpaintersurfacetexture_wayland.h"
0012 #include "utils/common.h"
0013 
0014 #include <QtGlobal>
0015 
0016 namespace KWin
0017 {
0018 
0019 QPainterBackend::QPainterBackend()
0020     : m_failed(false)
0021 {
0022 }
0023 
0024 QPainterBackend::~QPainterBackend()
0025 {
0026 }
0027 
0028 CompositingType QPainterBackend::compositingType() const
0029 {
0030     return QPainterCompositing;
0031 }
0032 
0033 std::unique_ptr<SurfaceTexture> QPainterBackend::createSurfaceTextureInternal(SurfacePixmapInternal *pixmap)
0034 {
0035     return std::make_unique<QPainterSurfaceTextureInternal>(this, pixmap);
0036 }
0037 
0038 std::unique_ptr<SurfaceTexture> QPainterBackend::createSurfaceTextureWayland(SurfacePixmapWayland *pixmap)
0039 {
0040     return std::make_unique<QPainterSurfaceTextureWayland>(this, pixmap);
0041 }
0042 
0043 void QPainterBackend::setFailed(const QString &reason)
0044 {
0045     qCWarning(KWIN_QPAINTER) << "Creating the QPainter backend failed: " << reason;
0046     m_failed = true;
0047 }
0048 
0049 }