summaryrefslogtreecommitdiffstats
path: root/src/gui/opengl/qopenglframebufferobject.h
diff options
context:
space:
mode:
authorJohan Klokkhammer Helsing <johan.helsing@qt.io>2020-01-17 15:51:29 +0100
committerJohan Klokkhammer Helsing <johan.helsing@qt.io>2020-02-17 08:01:27 +0100
commitf2bbc9c69f5265986dd5574a790e189a7a126c61 (patch)
tree77affb6415c6b276bcc3e7f17a2e663c189ef82d /src/gui/opengl/qopenglframebufferobject.h
parentbd4635009d3ba6ea560bc5f70811fa0afee518fc (diff)
Move QOpenGLFrameBufferObject from QtGui to QtOpenGL
Task-number: QTBUG-74409 Change-Id: I817ea6f052fc61a6465d443450c8017ac5d0c0e9 Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
Diffstat (limited to 'src/gui/opengl/qopenglframebufferobject.h')
-rw-r--r--src/gui/opengl/qopenglframebufferobject.h200
1 files changed, 0 insertions, 200 deletions
diff --git a/src/gui/opengl/qopenglframebufferobject.h b/src/gui/opengl/qopenglframebufferobject.h
deleted file mode 100644
index 161054d1bf..0000000000
--- a/src/gui/opengl/qopenglframebufferobject.h
+++ /dev/null
@@ -1,200 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtGui module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QOPENGLFRAMEBUFFEROBJECT_H
-#define QOPENGLFRAMEBUFFEROBJECT_H
-
-#include <QtGui/qtguiglobal.h>
-
-#ifndef QT_NO_OPENGL
-
-#include <QtGui/qopengl.h>
-#include <QtGui/qpaintdevice.h>
-
-#include <QtCore/qscopedpointer.h>
-
-#if defined(Q_CLANG_QDOC)
-#undef GLuint
-typedef unsigned int GLuint;
-#undef GLenum
-typedef unsigned int GLenum;
-#undef GL_TEXTURE_2D
-#define GL_TEXTURE_2D 0x0DE1
-#undef GLbitfield
-typedef unsigned int GLbitfield;
-#endif
-
-QT_BEGIN_NAMESPACE
-
-class QOpenGLFramebufferObjectPrivate;
-class QOpenGLFramebufferObjectFormat;
-
-class Q_GUI_EXPORT QOpenGLFramebufferObject
-{
- Q_DECLARE_PRIVATE(QOpenGLFramebufferObject)
-public:
- enum Attachment {
- NoAttachment,
- CombinedDepthStencil,
- Depth
- };
-
- explicit QOpenGLFramebufferObject(const QSize &size, GLenum target = GL_TEXTURE_2D);
- QOpenGLFramebufferObject(int width, int height, GLenum target = GL_TEXTURE_2D);
-
- QOpenGLFramebufferObject(const QSize &size, Attachment attachment,
- GLenum target = GL_TEXTURE_2D, GLenum internalFormat = 0);
- QOpenGLFramebufferObject(int width, int height, Attachment attachment,
- GLenum target = GL_TEXTURE_2D, GLenum internalFormat = 0);
-
- QOpenGLFramebufferObject(const QSize &size, const QOpenGLFramebufferObjectFormat &format);
- QOpenGLFramebufferObject(int width, int height, const QOpenGLFramebufferObjectFormat &format);
-
- virtual ~QOpenGLFramebufferObject();
-
- void addColorAttachment(const QSize &size, GLenum internalFormat = 0);
- void addColorAttachment(int width, int height, GLenum internalFormat = 0);
-
- QOpenGLFramebufferObjectFormat format() const;
-
- bool isValid() const;
- bool isBound() const;
- bool bind();
- bool release();
-
- int width() const { return size().width(); }
- int height() const { return size().height(); }
-
- GLuint texture() const;
- QVector<GLuint> textures() const;
-
- GLuint takeTexture();
- GLuint takeTexture(int colorAttachmentIndex);
-
- QSize size() const;
- QVector<QSize> sizes() const;
-
- QImage toImage() const;
- QImage toImage(bool flipped) const;
- QImage toImage(bool flipped, int colorAttachmentIndex) const;
-
- Attachment attachment() const;
- void setAttachment(Attachment attachment);
-
- GLuint handle() const;
-
- static bool bindDefault();
-
- static bool hasOpenGLFramebufferObjects();
-
- static bool hasOpenGLFramebufferBlit();
-
- enum FramebufferRestorePolicy {
- DontRestoreFramebufferBinding,
- RestoreFramebufferBindingToDefault,
- RestoreFrameBufferBinding
- };
-
- static void blitFramebuffer(QOpenGLFramebufferObject *target, const QRect &targetRect,
- QOpenGLFramebufferObject *source, const QRect &sourceRect,
- GLbitfield buffers,
- GLenum filter,
- int readColorAttachmentIndex,
- int drawColorAttachmentIndex,
- FramebufferRestorePolicy restorePolicy);
- static void blitFramebuffer(QOpenGLFramebufferObject *target, const QRect &targetRect,
- QOpenGLFramebufferObject *source, const QRect &sourceRect,
- GLbitfield buffers,
- GLenum filter,
- int readColorAttachmentIndex,
- int drawColorAttachmentIndex);
- static void blitFramebuffer(QOpenGLFramebufferObject *target, const QRect &targetRect,
- QOpenGLFramebufferObject *source, const QRect &sourceRect,
- GLbitfield buffers = GL_COLOR_BUFFER_BIT,
- GLenum filter = GL_NEAREST);
- static void blitFramebuffer(QOpenGLFramebufferObject *target,
- QOpenGLFramebufferObject *source,
- GLbitfield buffers = GL_COLOR_BUFFER_BIT,
- GLenum filter = GL_NEAREST);
-
-private:
- Q_DISABLE_COPY(QOpenGLFramebufferObject)
- QScopedPointer<QOpenGLFramebufferObjectPrivate> d_ptr;
- friend class QOpenGLPaintDevice;
- friend class QOpenGLFBOGLPaintDevice;
-};
-
-class QOpenGLFramebufferObjectFormatPrivate;
-class Q_GUI_EXPORT QOpenGLFramebufferObjectFormat
-{
-public:
- QOpenGLFramebufferObjectFormat();
- QOpenGLFramebufferObjectFormat(const QOpenGLFramebufferObjectFormat &other);
- QOpenGLFramebufferObjectFormat &operator=(const QOpenGLFramebufferObjectFormat &other);
- ~QOpenGLFramebufferObjectFormat();
-
- void setSamples(int samples);
- int samples() const;
-
- void setMipmap(bool enabled);
- bool mipmap() const;
-
- void setAttachment(QOpenGLFramebufferObject::Attachment attachment);
- QOpenGLFramebufferObject::Attachment attachment() const;
-
- void setTextureTarget(GLenum target);
- GLenum textureTarget() const;
-
- void setInternalTextureFormat(GLenum internalTextureFormat);
- GLenum internalTextureFormat() const;
-
- bool operator==(const QOpenGLFramebufferObjectFormat& other) const;
- bool operator!=(const QOpenGLFramebufferObjectFormat& other) const;
-
-private:
- QOpenGLFramebufferObjectFormatPrivate *d;
-
- void detach();
-};
-
-QT_END_NAMESPACE
-
-#endif // QT_NO_OPENGL
-
-#endif // QOPENGLFRAMEBUFFEROBJECT_H