File indexing completed on 2024-05-19 05:31:53

0001 /*
0002     KWin - the KDE window manager
0003     This file is part of the KDE project.
0004 
0005     SPDX-FileCopyrightText: 2020 Aleix Pol Gonzalez <aleixpol@kde.org>
0006 
0007     SPDX-License-Identifier: GPL-2.0-or-later
0008 */
0009 
0010 #pragma once
0011 
0012 #include "opengl/gltexture.h"
0013 
0014 typedef void *EGLImageKHR;
0015 typedef void *EGLClientBuffer;
0016 
0017 namespace KWin
0018 {
0019 
0020 class EglDisplay;
0021 
0022 class KWIN_EXPORT EGLImageTexture : public GLTexture
0023 {
0024 public:
0025     explicit EGLImageTexture(EglDisplay *display, EGLImageKHR image, uint textureId, int internalFormat, const QSize &size, uint32_t target);
0026     ~EGLImageTexture() override;
0027 
0028     static std::shared_ptr<EGLImageTexture> create(EglDisplay *display, EGLImageKHR image, int internalFormat, const QSize &size, bool externalOnly);
0029 
0030     EGLImageKHR m_image;
0031     EglDisplay *const m_display;
0032 };
0033 
0034 }