Branch libreoffice-5-0-4
[LibreOffice.git] / canvas / source / opengl / ogl_buffercontext.hxx
bloba99446b7ad2c81905ae8e1f489bdd52a500d490f
1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 /*
3 * This file is part of the LibreOffice project.
5 * This Source Code Form is subject to the terms of the Mozilla Public
6 * License, v. 2.0. If a copy of the MPL was not distributed with this
7 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
8 */
10 #ifndef INCLUDED_CANVAS_SOURCE_OPENGL_OGL_BUFFERCONTEXT_HXX
11 #define INCLUDED_CANVAS_SOURCE_OPENGL_OGL_BUFFERCONTEXT_HXX
13 #include <GL/glew.h>
15 #include <sal/config.h>
16 #include <boost/shared_ptr.hpp>
19 namespace oglcanvas
21 struct IBufferContext
23 virtual ~IBufferContext() {}
25 /// start render to buffer. changes current framebuffer
26 virtual bool startBufferRendering() = 0;
28 /// end render to buffer. switches to default framebuffer
29 virtual bool endBufferRendering() = 0;
31 virtual GLuint getTextureId() = 0;
34 typedef ::boost::shared_ptr<IBufferContext> IBufferContextSharedPtr;
37 #endif
39 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */