Files
libreoffice/vcl/inc/opengl/framebuffer.hxx
Noel Grandin 3e672693e3 loplugin:staticfunction
Change-Id: I909cf7e77f9d7194575636248196fda311fffdb6
2015-04-01 10:37:02 +02:00

50 lines
1.3 KiB
C++

/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
/*
* This file is part of the LibreOffice project.
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*/
#ifndef INCLUDED_VCL_INC_OPENGL_FRAMEBUFFER_H
#define INCLUDED_VCL_INC_OPENGL_FRAMEBUFFER_H
#include <GL/glew.h>
#include <vcl/dllapi.h>
#include <opengl/texture.hxx>
class VCL_PLUGIN_PUBLIC OpenGLFramebuffer
{
private:
GLuint mnId;
int mnWidth;
int mnHeight;
GLuint mnAttachedTexture;
public:
OpenGLFramebuffer();
virtual ~OpenGLFramebuffer();
GLuint Id() const { return mnId; };
int GetWidth() const { return mnWidth; };
int GetHeight() const { return mnHeight; };
void Bind();
static void Unbind();
bool IsFree() const;
bool IsAttached( const OpenGLTexture& rTexture ) const;
void AttachTexture( const OpenGLTexture& rTexture );
void DetachTexture();
public:
OpenGLFramebuffer* mpPrevFramebuffer;
OpenGLFramebuffer* mpNextFramebuffer;
};
#endif // INCLUDED_VCL_INC_OPENGL_FRAMEBUFFER_H
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */