File indexing completed on 2024-04-21 03:59:22

0001 /*
0002     SPDX-FileCopyrightText: 2019 Vlad Zahorodnii <vlad.zahorodnii@kde.org>
0003 
0004     SPDX-License-Identifier: LGPL-2.1-or-later
0005 */
0006 
0007 #ifndef KWINDOWSHADOW_P_X11_H
0008 #define KWINDOWSHADOW_P_X11_H
0009 
0010 #include "kwindowshadow_p.h"
0011 
0012 #include <xcb/xcb.h>
0013 
0014 class KWindowShadowTilePrivateX11 final : public KWindowShadowTilePrivate
0015 {
0016 public:
0017     bool create() override;
0018     void destroy() override;
0019 
0020     static KWindowShadowTilePrivateX11 *get(const KWindowShadowTile *tile);
0021 
0022     xcb_pixmap_t pixmap = XCB_PIXMAP_NONE;
0023     xcb_gcontext_t gc = XCB_NONE;
0024 };
0025 
0026 class KWindowShadowPrivateX11 final : public KWindowShadowPrivate
0027 {
0028 public:
0029     bool create() override;
0030     void destroy() override;
0031 
0032     KWindowShadowTile::Ptr getOrCreateEmptyTile();
0033 
0034     KWindowShadowTile::Ptr emptyTile;
0035 };
0036 
0037 #endif // KWINDOWSHADOW_P_X11_H