added export header through cmake for kwineffects

REVIEW: 114233
icc-effect-5.14.5
Jacob Logan 2013-12-02 06:45:39 +11:00 committed by Martin Gräßlin
parent ac72e9fb73
commit 0c4518cca9
10 changed files with 216 additions and 208 deletions

View File

@ -25,6 +25,7 @@ set(kwineffects_XCB_LIBS
)
add_library(kwineffects SHARED ${kwin_EFFECTSLIB_SRCS})
generate_export_header(kwineffects EXPORT_FILE_NAME kwineffects_export.h)
target_link_libraries(kwineffects
${kwineffects_QT_LIBS}
${kwineffects_KDE_LIBS}
@ -91,6 +92,7 @@ install( FILES
kwingltexture.h
kwinxrenderutils.h
${CMAKE_CURRENT_BINARY_DIR}/kwinconfig.h
${CMAKE_CURRENT_BINARY_DIR}/kwineffects_export.h
DESTINATION ${INCLUDE_INSTALL_DIR} COMPONENT Devel)
add_subdirectory(autotests)

View File

@ -25,12 +25,13 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include <QElapsedTimer>
#include <qmath.h>
#include <kwineffects.h>
#include <kwineffects_export.h>
namespace KWin
{
class KWIN_EXPORT FPx2 {
class KWINEFFECTS_EXPORT FPx2 {
public:
FPx2() { f[0] = f[1] = 0.0; valid = false; }
explicit FPx2(float v) { f[0] = f[1] = v; valid = true; }
@ -89,7 +90,7 @@ private:
class AniData;
class AnimationEffectPrivate;
class KWIN_EXPORT AnimationEffect : public Effect
class KWINEFFECTS_EXPORT AnimationEffect : public Effect
{
Q_OBJECT
Q_ENUMS(Anchor)

View File

@ -24,6 +24,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define KWINEFFECTS_H
#include <kwinconfig.h>
#include <kwineffects_export.h>
#include <kwinglobals.h>
#include <QPair>
@ -228,7 +229,7 @@ enum EffectFrameStyle {
/**
* Infinite region (i.e. a special region type saying that everything needs to be painted).
*/
KWIN_EXPORT inline
KWINEFFECTS_EXPORT inline
QRect infiniteRegion()
{
// INT_MIN / 2 because width/height is used (INT_MIN+INT_MAX==-1)
@ -300,7 +301,7 @@ QRect infiniteRegion()
*
* There is in general no need to call the matching doneCurrent method.
**/
class KWIN_EXPORT Effect : public QObject
class KWINEFFECTS_EXPORT Effect : public QObject
{
Q_OBJECT
public:
@ -581,8 +582,8 @@ public Q_SLOTS:
**/
#define KWIN_EFFECT( name, classname ) \
extern "C" { \
KWIN_EXPORT Effect* effect_create_kwin4_effect_##name() { return new classname; } \
KWIN_EXPORT int effect_version_kwin4_effect_##name() { return KWIN_EFFECT_API_VERSION; } \
KWINEFFECTS_EXPORT Effect* effect_create_kwin4_effect_##name() { return new classname; } \
KWINEFFECTS_EXPORT int effect_version_kwin4_effect_##name() { return KWIN_EFFECT_API_VERSION; } \
}
/**
@ -591,7 +592,7 @@ public Q_SLOTS:
**/
#define KWIN_EFFECT_SUPPORTED( name, function ) \
extern "C" { \
KWIN_EXPORT bool effect_supported_kwin4_effect_##name() { return function; } \
KWINEFFECTS_EXPORT bool effect_supported_kwin4_effect_##name() { return function; } \
}
/**
@ -609,7 +610,7 @@ public Q_SLOTS:
**/
#define KWIN_EFFECT_ENABLEDBYDEFAULT(name, function) \
extern "C" { \
KWIN_EXPORT bool effect_enabledbydefault_kwin4_effect_##name() { return function; } \
KWINEFFECTS_EXPORT bool effect_enabledbydefault_kwin4_effect_##name() { return function; } \
}
/**
@ -650,7 +651,7 @@ public Q_SLOTS:
* desktop or create a special input window to receive mouse and keyboard
* events.
**/
class KWIN_EXPORT EffectsHandler : public QObject
class KWINEFFECTS_EXPORT EffectsHandler : public QObject
{
Q_OBJECT
Q_PROPERTY(int currentDesktop READ currentDesktop WRITE setCurrentDesktop NOTIFY desktopChanged)
@ -1305,7 +1306,7 @@ protected:
* The purpose is to hide internal data and also to serve as a single
* representation for the case when Client/Unmanaged becomes Deleted.
**/
class KWIN_EXPORT EffectWindow : public QObject
class KWINEFFECTS_EXPORT EffectWindow : public QObject
{
Q_OBJECT
Q_PROPERTY(bool alpha READ hasAlpha CONSTANT)
@ -1762,7 +1763,7 @@ public:
virtual void unreferencePreviousWindowPixmap() = 0;
};
class KWIN_EXPORT EffectWindowGroup
class KWINEFFECTS_EXPORT EffectWindowGroup
{
public:
virtual ~EffectWindowGroup();
@ -1789,7 +1790,7 @@ struct GLVertex3D
* A vertex is one position in a window. WindowQuad consists of four WindowVertex objects
* and represents one part of a window.
**/
class KWIN_EXPORT WindowVertex
class KWINEFFECTS_EXPORT WindowVertex
{
public:
WindowVertex();
@ -1821,7 +1822,7 @@ private:
* WindowQuads consists of four WindowVertex objects and represents one part of a window.
*/
// NOTE: This class expects the (original) vertices to be in the clockwise order starting from topleft.
class KWIN_EXPORT WindowQuad
class KWINEFFECTS_EXPORT WindowQuad
{
public:
explicit WindowQuad(WindowQuadType type, int id = -1);
@ -1849,7 +1850,7 @@ private:
int quadID;
};
class KWIN_EXPORT WindowQuadList
class KWINEFFECTS_EXPORT WindowQuadList
: public QList< WindowQuad >
{
public:
@ -1865,7 +1866,7 @@ public:
bool isTransformed() const;
};
class KWIN_EXPORT WindowPrePaintData
class KWINEFFECTS_EXPORT WindowPrePaintData
{
public:
int mask;
@ -1890,7 +1891,7 @@ public:
void setTransformed();
};
class KWIN_EXPORT PaintData
class KWINEFFECTS_EXPORT PaintData
{
public:
virtual ~PaintData();
@ -2051,7 +2052,7 @@ private:
PaintDataPrivate * const d;
};
class KWIN_EXPORT WindowPaintData : public PaintData
class KWINEFFECTS_EXPORT WindowPaintData : public PaintData
{
public:
explicit WindowPaintData(EffectWindow* w);
@ -2211,7 +2212,7 @@ private:
WindowPaintDataPrivate * const d;
};
class KWIN_EXPORT ScreenPaintData : public PaintData
class KWINEFFECTS_EXPORT ScreenPaintData : public PaintData
{
public:
ScreenPaintData();
@ -2260,7 +2261,7 @@ public:
ScreenPaintData& operator=(const ScreenPaintData &rhs);
};
class KWIN_EXPORT ScreenPrePaintData
class KWINEFFECTS_EXPORT ScreenPrePaintData
{
public:
int mask;
@ -2276,7 +2277,7 @@ public:
* is destroyed, the restriction will be removed.
* Note that all painting code must use paintArea() to actually perform the clipping.
*/
class KWIN_EXPORT PaintClipper
class KWINEFFECTS_EXPORT PaintClipper
{
public:
/**
@ -2315,7 +2316,7 @@ public:
* }
* @endcode
*/
class KWIN_EXPORT Iterator
class KWINEFFECTS_EXPORT Iterator
{
public:
Iterator();
@ -2336,7 +2337,7 @@ private:
* @internal
*/
template <typename T>
class KWIN_EXPORT Motion
class KWINEFFECTS_EXPORT Motion
{
public:
/**
@ -2423,7 +2424,7 @@ private:
* 1D space. Although it can be used directly by itself it is
* recommended to use a motion manager instead.
*/
class KWIN_EXPORT Motion1D : public Motion<double>
class KWINEFFECTS_EXPORT Motion1D : public Motion<double>
{
public:
explicit Motion1D(double initial = 0.0, double strength = 0.08, double smoothness = 4.0);
@ -2438,7 +2439,7 @@ public:
* 2D space. Although it can be used directly by itself it is
* recommended to use a motion manager instead.
*/
class KWIN_EXPORT Motion2D : public Motion<QPointF>
class KWINEFFECTS_EXPORT Motion2D : public Motion<QPointF>
{
public:
explicit Motion2D(QPointF initial = QPointF(), double strength = 0.08, double smoothness = 4.0);
@ -2458,7 +2459,7 @@ public:
* are moving at any given time it can also be used as a notifier as
* to see whether the effect is active or not.
*/
class KWIN_EXPORT WindowMotionManager
class KWINEFFECTS_EXPORT WindowMotionManager
{
public:
/**
@ -2613,7 +2614,7 @@ private:
* another that doesn't.
* It is recommended to use this class whenever displaying text.
*/
class KWIN_EXPORT EffectFrame
class KWINEFFECTS_EXPORT EffectFrame
{
public:
EffectFrame();
@ -2718,7 +2719,7 @@ private:
/**
* Pointer to the global EffectsHandler object.
**/
extern KWIN_EXPORT EffectsHandler* effects;
extern KWINEFFECTS_EXPORT EffectsHandler* effects;
/***************************************************************
WindowVertex

View File

@ -22,6 +22,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define KWIN_COLOR_CORRECTION_H
#include "kwinglobals.h"
#include <kwineffects_export.h>
#include <QObject>
@ -41,7 +42,7 @@ class ColorCorrectionPrivate;
* \warning This class is not designed to be used by effects, however
* it may happen to be useful their case somehow.
*/
class KWIN_EXPORT ColorCorrection : public QObject
class KWINEFFECTS_EXPORT ColorCorrection : public QObject
{
Q_OBJECT

View File

@ -22,6 +22,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define KWIN_GLPLATFORM_H
#include <kwinglobals.h>
#include <kwineffects_export.h>
#include <kwinglutils_funcs.h>
#include <QByteArray>
@ -137,7 +138,7 @@ enum ChipClass {
};
class KWIN_EXPORT GLPlatform
class KWINEFFECTS_EXPORT GLPlatform
{
public:
~GLPlatform();

View File

@ -23,6 +23,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define KWIN_GLTEXTURE_H
#include "kwinglobals.h"
#include <kwineffects_export.h>
#include <QSize>
#include <QRegion>
@ -47,7 +48,7 @@ enum TextureCoordinateType {
UnnormalizedCoordinates
};
class KWIN_EXPORT GLTexture
class KWINEFFECTS_EXPORT GLTexture
{
public:
GLTexture();

View File

@ -24,6 +24,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define KWIN_GLTEXTURE_P_H
#include "kwinconfig.h" // KWIN_HAVE_OPENGL
#include <kwineffects_export.h>
#include "kwinglobals.h"
#include <QSize>
@ -35,7 +36,7 @@ namespace KWin
// forward declarations
class GLVertexBuffer;
class KWIN_EXPORT GLTexturePrivate
class KWINEFFECTS_EXPORT GLTexturePrivate
: public QSharedData
{
public:

View File

@ -23,6 +23,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define KWIN_GLUTILS_H
// kwin
#include <kwineffects_export.h>
#include "kwinglutils_funcs.h"
#include "kwingltexture.h"
@ -49,30 +50,30 @@ class GLVertexBufferPrivate;
// Initializes GLX function pointers
void KWIN_EXPORT initGLX();
void KWINEFFECTS_EXPORT initGLX();
// Initializes OpenGL stuff. This includes resolving function pointers as
// well as checking for GL version and extensions
// Note that GL context has to be created by the time this function is called
void KWIN_EXPORT initGL(OpenGLPlatformInterface platformInterface);
void KWINEFFECTS_EXPORT initGL(OpenGLPlatformInterface platformInterface);
// Initializes EGL function pointers
void KWIN_EXPORT initEGL();
void KWINEFFECTS_EXPORT initEGL();
// Cleans up all resources hold by the GL Context
void KWIN_EXPORT cleanupGL();
void KWINEFFECTS_EXPORT cleanupGL();
// Number of supported texture units
extern KWIN_EXPORT int glTextureUnitsCount;
extern KWINEFFECTS_EXPORT int glTextureUnitsCount;
bool KWIN_EXPORT hasGLVersion(int major, int minor, int release = 0);
bool KWIN_EXPORT hasGLXVersion(int major, int minor, int release = 0);
bool KWIN_EXPORT hasEGLVersion(int major, int minor, int release = 0);
bool KWINEFFECTS_EXPORT hasGLVersion(int major, int minor, int release = 0);
bool KWINEFFECTS_EXPORT hasGLXVersion(int major, int minor, int release = 0);
bool KWINEFFECTS_EXPORT hasEGLVersion(int major, int minor, int release = 0);
// use for both OpenGL and GLX extensions
bool KWIN_EXPORT hasGLExtension(const QString& extension);
bool KWINEFFECTS_EXPORT hasGLExtension(const QString& extension);
// detect OpenGL error (add to various places in code to pinpoint the place)
bool KWIN_EXPORT checkGLError(const char* txt);
bool KWINEFFECTS_EXPORT checkGLError(const char* txt);
inline bool KWIN_EXPORT isPowerOfTwo(int x)
inline bool KWINEFFECTS_EXPORT isPowerOfTwo(int x)
{
return ((x & (x - 1)) == 0);
}
@ -80,7 +81,7 @@ inline bool KWIN_EXPORT isPowerOfTwo(int x)
* @return power of two integer _greater or equal to_ x.
* E.g. nearestPowerOfTwo(513) = nearestPowerOfTwo(800) = 1024
**/
int KWIN_EXPORT nearestPowerOfTwo(int x);
int KWINEFFECTS_EXPORT nearestPowerOfTwo(int x);
/**
* Push a new matrix on the GL matrix stack.
@ -88,7 +89,7 @@ int KWIN_EXPORT nearestPowerOfTwo(int x);
* as it also handles GLES.
* @since 4.7
**/
KWIN_EXPORT void pushMatrix();
KWINEFFECTS_EXPORT void pushMatrix();
/**
* Multiplies current matrix on GL stack with @p matrix and pushes the result on the matrix stack.
* This method is the same as pushMatrix followed by multiplyMatrix.
@ -99,7 +100,7 @@ KWIN_EXPORT void pushMatrix();
* @see multiplyMatrix
* @since 4.7
**/
KWIN_EXPORT void pushMatrix(const QMatrix4x4 &matrix);
KWINEFFECTS_EXPORT void pushMatrix(const QMatrix4x4 &matrix);
/**
* Multiplies the current matrix on GL stack with @p matrix.
* In GLES this method is a noop. This method should be preferred over glMultMatrix
@ -107,7 +108,7 @@ KWIN_EXPORT void pushMatrix(const QMatrix4x4 &matrix);
* @param matrix The matrix the current matrix on the stack should be multiplied with.
* @since 4.7
**/
KWIN_EXPORT void multiplyMatrix(const QMatrix4x4 &matrix);
KWINEFFECTS_EXPORT void multiplyMatrix(const QMatrix4x4 &matrix);
/**
* Replaces the current matrix on GL stack with @p matrix.
* In GLES this method is a no-op. This method should be preferred over glLoadMatrix
@ -115,16 +116,16 @@ KWIN_EXPORT void multiplyMatrix(const QMatrix4x4 &matrix);
* @param matrix The new matrix to replace the existing one on the GL stack.
* @since 4.7
**/
KWIN_EXPORT void loadMatrix(const QMatrix4x4 &matrix);
KWINEFFECTS_EXPORT void loadMatrix(const QMatrix4x4 &matrix);
/**
* Pops the current matrix from the GL matrix stack.
* In GLES this method is a noop. This method should be preferred over glPopMatrix
* as it also handles GLES.
* @since 4.7
**/
KWIN_EXPORT void popMatrix();
KWINEFFECTS_EXPORT void popMatrix();
class KWIN_EXPORT GLShader
class KWINEFFECTS_EXPORT GLShader
{
public:
enum Flags {
@ -253,7 +254,7 @@ private:
* @author Martin Gräßlin <mgraesslin@kde.org>
* @since 4.7
**/
class KWIN_EXPORT ShaderManager
class KWINEFFECTS_EXPORT ShaderManager
{
public:
/**
@ -437,7 +438,7 @@ private:
* the code to remove checks for OpenGL 1/2.
* @since 4.10
**/
class KWIN_EXPORT ShaderBinder
class KWINEFFECTS_EXPORT ShaderBinder
{
public:
/**
@ -515,7 +516,7 @@ GLShader* ShaderBinder::shader()
*
* @author Rivo Laks <rivolaks@hot.ee>
**/
class KWIN_EXPORT GLRenderTarget
class KWINEFFECTS_EXPORT GLRenderTarget
{
public:
/**
@ -627,7 +628,7 @@ struct GLVertexAttrib
* @author Martin Gräßlin <mgraesslin@kde.org>
* @since 4.6
*/
class KWIN_EXPORT GLVertexBuffer
class KWINEFFECTS_EXPORT GLVertexBuffer
{
public:
/**

View File

@ -21,16 +21,14 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#ifndef KWIN_GLUTILS_FUNCS_H
#define KWIN_GLUTILS_FUNCS_H
#include <kdemacros.h>
#include <kwineffects_export.h>
#include <kwinconfig.h>
#include <kwinglobals.h>
#define KWIN_EXPORT KDE_EXPORT
// common functionality
namespace KWin {
void KWIN_EXPORT glResolveFunctions(OpenGLPlatformInterface platformInterface);
void KWINEFFECTS_EXPORT glResolveFunctions(OpenGLPlatformInterface platformInterface);
}
@ -83,7 +81,7 @@ void KWIN_EXPORT glResolveFunctions(OpenGLPlatformInterface platformInterface);
namespace KWin
{
void KWIN_EXPORT glxResolveFunctions();
void KWINEFFECTS_EXPORT glxResolveFunctions();
// Defines
@ -190,42 +188,42 @@ typedef char GLchar;
// finding of OpenGL extensions functions
typedef void (*glXFuncPtr)();
typedef glXFuncPtr(*glXGetProcAddress_func)(const GLubyte*);
extern KWIN_EXPORT glXGetProcAddress_func glXGetProcAddress;
extern KWINEFFECTS_EXPORT glXGetProcAddress_func glXGetProcAddress;
// glXQueryDrawable (added in GLX 1.3)
typedef void (*glXQueryDrawable_func)(Display* dpy, GLXDrawable drawable,
int attribute, unsigned int *value);
extern KWIN_EXPORT glXQueryDrawable_func glXQueryDrawable;
extern KWINEFFECTS_EXPORT glXQueryDrawable_func glXQueryDrawable;
// texture_from_pixmap extension functions
typedef void (*glXBindTexImageEXT_func)(Display* dpy, GLXDrawable drawable,
int buffer, const int* attrib_list);
typedef void (*glXReleaseTexImageEXT_func)(Display* dpy, GLXDrawable drawable, int buffer);
extern KWIN_EXPORT glXReleaseTexImageEXT_func glXReleaseTexImageEXT;
extern KWIN_EXPORT glXBindTexImageEXT_func glXBindTexImageEXT;
extern KWINEFFECTS_EXPORT glXReleaseTexImageEXT_func glXReleaseTexImageEXT;
extern KWINEFFECTS_EXPORT glXBindTexImageEXT_func glXBindTexImageEXT;
// glXCopySubBufferMESA
typedef void (*glXCopySubBuffer_func)(Display* , GLXDrawable, int, int, int, int);
extern KWIN_EXPORT glXCopySubBuffer_func glXCopySubBuffer;
extern KWINEFFECTS_EXPORT glXCopySubBuffer_func glXCopySubBuffer;
// video_sync extension functions
typedef int (*glXGetVideoSync_func)(unsigned int *count);
typedef int (*glXWaitVideoSync_func)(int divisor, int remainder, unsigned int *count);
typedef int (*glXSwapIntervalMESA_func)(unsigned int interval);
typedef void (*glXSwapIntervalEXT_func)(Display *dpy, GLXDrawable drawable, int interval);
typedef int (*glXSwapIntervalSGI_func)(int interval);
extern KWIN_EXPORT glXGetVideoSync_func glXGetVideoSync;
extern KWIN_EXPORT glXWaitVideoSync_func glXWaitVideoSync;
extern KWIN_EXPORT glXSwapIntervalMESA_func glXSwapIntervalMESA;
extern KWIN_EXPORT glXSwapIntervalEXT_func glXSwapIntervalEXT;
extern KWIN_EXPORT glXSwapIntervalSGI_func glXSwapIntervalSGI;
extern KWINEFFECTS_EXPORT glXGetVideoSync_func glXGetVideoSync;
extern KWINEFFECTS_EXPORT glXWaitVideoSync_func glXWaitVideoSync;
extern KWINEFFECTS_EXPORT glXSwapIntervalMESA_func glXSwapIntervalMESA;
extern KWINEFFECTS_EXPORT glXSwapIntervalEXT_func glXSwapIntervalEXT;
extern KWINEFFECTS_EXPORT glXSwapIntervalSGI_func glXSwapIntervalSGI;
// GLX_ARB_create_context
typedef GLXContext (*glXCreateContextAttribsARB_func)(Display *dpy, GLXFBConfig config,
GLXContext share_context, Bool direct,
const int *attrib_list);
extern KWIN_EXPORT glXCreateContextAttribsARB_func glXCreateContextAttribsARB;
extern KWINEFFECTS_EXPORT glXCreateContextAttribsARB_func glXCreateContextAttribsARB;
// glActiveTexture
typedef void (*glActiveTexture_func)(GLenum);
extern KWIN_EXPORT glActiveTexture_func glActiveTexture;
extern KWINEFFECTS_EXPORT glActiveTexture_func glActiveTexture;
// framebuffer_object extension functions
typedef GLboolean(*glIsRenderbuffer_func)(GLuint renderbuffer);
typedef void (*glBindRenderbuffer_func)(GLenum target, GLuint renderbuffer);
@ -245,24 +243,24 @@ typedef void (*glFramebufferRenderbuffer_func)(GLenum target, GLenum attachment,
typedef void (*glGetFramebufferAttachmentParameteriv_func)(GLenum target, GLenum attachment, GLenum pname, GLint *params);
typedef void (*glGenerateMipmap_func)(GLenum target);
typedef void (*glBlitFramebuffer_func)(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);
extern KWIN_EXPORT glIsRenderbuffer_func glIsRenderbuffer;
extern KWIN_EXPORT glBindRenderbuffer_func glBindRenderbuffer;
extern KWIN_EXPORT glDeleteRenderbuffers_func glDeleteRenderbuffers;
extern KWIN_EXPORT glGenRenderbuffers_func glGenRenderbuffers;
extern KWIN_EXPORT glRenderbufferStorage_func glRenderbufferStorage;
extern KWIN_EXPORT glGetRenderbufferParameteriv_func glGetRenderbufferParameteriv;
extern KWIN_EXPORT glIsFramebuffer_func glIsFramebuffer;
extern KWIN_EXPORT glBindFramebuffer_func glBindFramebuffer;
extern KWIN_EXPORT glDeleteFramebuffers_func glDeleteFramebuffers;
extern KWIN_EXPORT glGenFramebuffers_func glGenFramebuffers;
extern KWIN_EXPORT glCheckFramebufferStatus_func glCheckFramebufferStatus;
extern KWIN_EXPORT glFramebufferTexture1D_func glFramebufferTexture1D;
extern KWIN_EXPORT glFramebufferTexture2D_func glFramebufferTexture2D;
extern KWIN_EXPORT glFramebufferTexture3D_func glFramebufferTexture3D;
extern KWIN_EXPORT glFramebufferRenderbuffer_func glFramebufferRenderbuffer;
extern KWIN_EXPORT glGetFramebufferAttachmentParameteriv_func glGetFramebufferAttachmentParameteriv;
extern KWIN_EXPORT glGenerateMipmap_func glGenerateMipmap;
extern KWIN_EXPORT glBlitFramebuffer_func glBlitFramebuffer;
extern KWINEFFECTS_EXPORT glIsRenderbuffer_func glIsRenderbuffer;
extern KWINEFFECTS_EXPORT glBindRenderbuffer_func glBindRenderbuffer;
extern KWINEFFECTS_EXPORT glDeleteRenderbuffers_func glDeleteRenderbuffers;
extern KWINEFFECTS_EXPORT glGenRenderbuffers_func glGenRenderbuffers;
extern KWINEFFECTS_EXPORT glRenderbufferStorage_func glRenderbufferStorage;
extern KWINEFFECTS_EXPORT glGetRenderbufferParameteriv_func glGetRenderbufferParameteriv;
extern KWINEFFECTS_EXPORT glIsFramebuffer_func glIsFramebuffer;
extern KWINEFFECTS_EXPORT glBindFramebuffer_func glBindFramebuffer;
extern KWINEFFECTS_EXPORT glDeleteFramebuffers_func glDeleteFramebuffers;
extern KWINEFFECTS_EXPORT glGenFramebuffers_func glGenFramebuffers;
extern KWINEFFECTS_EXPORT glCheckFramebufferStatus_func glCheckFramebufferStatus;
extern KWINEFFECTS_EXPORT glFramebufferTexture1D_func glFramebufferTexture1D;
extern KWINEFFECTS_EXPORT glFramebufferTexture2D_func glFramebufferTexture2D;
extern KWINEFFECTS_EXPORT glFramebufferTexture3D_func glFramebufferTexture3D;
extern KWINEFFECTS_EXPORT glFramebufferRenderbuffer_func glFramebufferRenderbuffer;
extern KWINEFFECTS_EXPORT glGetFramebufferAttachmentParameteriv_func glGetFramebufferAttachmentParameteriv;
extern KWINEFFECTS_EXPORT glGenerateMipmap_func glGenerateMipmap;
extern KWINEFFECTS_EXPORT glBlitFramebuffer_func glBlitFramebuffer;
// Shader stuff
typedef GLuint(*glCreateShader_func)(GLenum);
typedef GLvoid(*glShaderSource_func)(GLuint, GLsizei, const GLchar**, const GLint*);
@ -300,64 +298,64 @@ typedef void (*glProgramStringARB_func)(GLenum, GLenum, GLsizei, const GLvoid*);
typedef void (*glProgramLocalParameter4fARB_func)(GLenum, GLuint, GLfloat, GLfloat, GLfloat, GLfloat);
typedef void (*glDeleteProgramsARB_func)(GLsizei, const GLuint*);
typedef void (*glGetProgramivARB_func)(GLenum, GLenum, GLint*);
extern KWIN_EXPORT glCreateShader_func glCreateShader;
extern KWIN_EXPORT glShaderSource_func glShaderSource;
extern KWIN_EXPORT glCompileShader_func glCompileShader;
extern KWIN_EXPORT glDeleteShader_func glDeleteShader;
extern KWIN_EXPORT glCreateProgram_func glCreateProgram;
extern KWIN_EXPORT glAttachShader_func glAttachShader;
extern KWIN_EXPORT glLinkProgram_func glLinkProgram;
extern KWIN_EXPORT glUseProgram_func glUseProgram;
extern KWIN_EXPORT glDeleteProgram_func glDeleteProgram;
extern KWIN_EXPORT glGetShaderInfoLog_func glGetShaderInfoLog;
extern KWIN_EXPORT glGetProgramInfoLog_func glGetProgramInfoLog;
extern KWIN_EXPORT glGetProgramiv_func glGetProgramiv;
extern KWIN_EXPORT glGetShaderiv_func glGetShaderiv;
extern KWIN_EXPORT glUniform1f_func glUniform1f;
extern KWIN_EXPORT glUniform2f_func glUniform2f;
extern KWIN_EXPORT glUniform3f_func glUniform3f;
extern KWIN_EXPORT glUniform4f_func glUniform4f;
extern KWIN_EXPORT glUniform1i_func glUniform1i;
extern KWIN_EXPORT glUniform1fv_func glUniform1fv;
extern KWIN_EXPORT glUniform2fv_func glUniform2fv;
extern KWIN_EXPORT glUniform3fv_func glUniform3fv;
extern KWIN_EXPORT glUniform4fv_func glUniform4fv;
extern KWIN_EXPORT glGetUniformfv_func glGetUniformfv;
extern KWIN_EXPORT glUniformMatrix4fv_func glUniformMatrix4fv;
extern KWIN_EXPORT glValidateProgram_func glValidateProgram;
extern KWIN_EXPORT glGetUniformLocation_func glGetUniformLocation;
extern KWIN_EXPORT glVertexAttrib1f_func glVertexAttrib1f;
extern KWIN_EXPORT glGetAttribLocation_func glGetAttribLocation;
extern KWIN_EXPORT glBindAttribLocation_func glBindAttribLocation;
extern KWIN_EXPORT glGenProgramsARB_func glGenProgramsARB;
extern KWIN_EXPORT glBindProgramARB_func glBindProgramARB;
extern KWIN_EXPORT glProgramStringARB_func glProgramStringARB;
extern KWIN_EXPORT glProgramLocalParameter4fARB_func glProgramLocalParameter4fARB;
extern KWIN_EXPORT glDeleteProgramsARB_func glDeleteProgramsARB;
extern KWIN_EXPORT glGetProgramivARB_func glGetProgramivARB;
extern KWINEFFECTS_EXPORT glCreateShader_func glCreateShader;
extern KWINEFFECTS_EXPORT glShaderSource_func glShaderSource;
extern KWINEFFECTS_EXPORT glCompileShader_func glCompileShader;
extern KWINEFFECTS_EXPORT glDeleteShader_func glDeleteShader;
extern KWINEFFECTS_EXPORT glCreateProgram_func glCreateProgram;
extern KWINEFFECTS_EXPORT glAttachShader_func glAttachShader;
extern KWINEFFECTS_EXPORT glLinkProgram_func glLinkProgram;
extern KWINEFFECTS_EXPORT glUseProgram_func glUseProgram;
extern KWINEFFECTS_EXPORT glDeleteProgram_func glDeleteProgram;
extern KWINEFFECTS_EXPORT glGetShaderInfoLog_func glGetShaderInfoLog;
extern KWINEFFECTS_EXPORT glGetProgramInfoLog_func glGetProgramInfoLog;
extern KWINEFFECTS_EXPORT glGetProgramiv_func glGetProgramiv;
extern KWINEFFECTS_EXPORT glGetShaderiv_func glGetShaderiv;
extern KWINEFFECTS_EXPORT glUniform1f_func glUniform1f;
extern KWINEFFECTS_EXPORT glUniform2f_func glUniform2f;
extern KWINEFFECTS_EXPORT glUniform3f_func glUniform3f;
extern KWINEFFECTS_EXPORT glUniform4f_func glUniform4f;
extern KWINEFFECTS_EXPORT glUniform1i_func glUniform1i;
extern KWINEFFECTS_EXPORT glUniform1fv_func glUniform1fv;
extern KWINEFFECTS_EXPORT glUniform2fv_func glUniform2fv;
extern KWINEFFECTS_EXPORT glUniform3fv_func glUniform3fv;
extern KWINEFFECTS_EXPORT glUniform4fv_func glUniform4fv;
extern KWINEFFECTS_EXPORT glGetUniformfv_func glGetUniformfv;
extern KWINEFFECTS_EXPORT glUniformMatrix4fv_func glUniformMatrix4fv;
extern KWINEFFECTS_EXPORT glValidateProgram_func glValidateProgram;
extern KWINEFFECTS_EXPORT glGetUniformLocation_func glGetUniformLocation;
extern KWINEFFECTS_EXPORT glVertexAttrib1f_func glVertexAttrib1f;
extern KWINEFFECTS_EXPORT glGetAttribLocation_func glGetAttribLocation;
extern KWINEFFECTS_EXPORT glBindAttribLocation_func glBindAttribLocation;
extern KWINEFFECTS_EXPORT glGenProgramsARB_func glGenProgramsARB;
extern KWINEFFECTS_EXPORT glBindProgramARB_func glBindProgramARB;
extern KWINEFFECTS_EXPORT glProgramStringARB_func glProgramStringARB;
extern KWINEFFECTS_EXPORT glProgramLocalParameter4fARB_func glProgramLocalParameter4fARB;
extern KWINEFFECTS_EXPORT glDeleteProgramsARB_func glDeleteProgramsARB;
extern KWINEFFECTS_EXPORT glGetProgramivARB_func glGetProgramivARB;
// vertex buffer objects
typedef void (*glGenBuffers_func)(GLsizei, GLuint*);
extern KWIN_EXPORT glGenBuffers_func glGenBuffers;
extern KWINEFFECTS_EXPORT glGenBuffers_func glGenBuffers;
typedef void (*glDeleteBuffers_func)(GLsizei n, const GLuint*);
extern KWIN_EXPORT glDeleteBuffers_func glDeleteBuffers;
extern KWINEFFECTS_EXPORT glDeleteBuffers_func glDeleteBuffers;
typedef void (*glBindBuffer_func)(GLenum, GLuint);
extern KWIN_EXPORT glBindBuffer_func glBindBuffer;
extern KWINEFFECTS_EXPORT glBindBuffer_func glBindBuffer;
typedef void (*glBufferData_func)(GLenum, GLsizeiptr, const GLvoid*, GLenum);
extern KWIN_EXPORT glBufferData_func glBufferData;
extern KWINEFFECTS_EXPORT glBufferData_func glBufferData;
typedef void (*glBufferSubData_func)(GLenum target, GLintptr offset, GLsizeiptr size, const GLvoid *data);
extern KWIN_EXPORT glBufferSubData_func glBufferSubData;
extern KWINEFFECTS_EXPORT glBufferSubData_func glBufferSubData;
typedef void (*glGetBufferSubData_func)(GLenum target, GLintptr offset, GLsizeiptr size, GLvoid *data);
extern KWIN_EXPORT glGetBufferSubData_func glGetBufferSubData;
extern KWINEFFECTS_EXPORT glGetBufferSubData_func glGetBufferSubData;
typedef void (*glEnableVertexAttribArray_func)(GLuint);
extern KWIN_EXPORT glEnableVertexAttribArray_func glEnableVertexAttribArray;
extern KWINEFFECTS_EXPORT glEnableVertexAttribArray_func glEnableVertexAttribArray;
typedef void (*glDisableVertexAttribArray_func)(GLuint);
extern KWIN_EXPORT glDisableVertexAttribArray_func glDisableVertexAttribArray;
extern KWINEFFECTS_EXPORT glDisableVertexAttribArray_func glDisableVertexAttribArray;
typedef void (*glVertexAttribPointer_func)(GLuint, GLint, GLenum, GLboolean, GLsizei, const GLvoid*);
extern KWIN_EXPORT glVertexAttribPointer_func glVertexAttribPointer;
extern KWINEFFECTS_EXPORT glVertexAttribPointer_func glVertexAttribPointer;
typedef GLvoid *(*glMapBuffer_func)(GLenum target, GLenum access);
extern KWIN_EXPORT glMapBuffer_func glMapBuffer;
extern KWINEFFECTS_EXPORT glMapBuffer_func glMapBuffer;
typedef GLboolean (*glUnmapBuffer_func)(GLenum target);
extern KWIN_EXPORT glUnmapBuffer_func glUnmapBuffer;
extern KWINEFFECTS_EXPORT glUnmapBuffer_func glUnmapBuffer;
// GL_ARB_vertex_array_object
typedef void (*glBindVertexArray_func)(GLuint array);
@ -365,10 +363,10 @@ typedef void (*glDeleteVertexArrays_func)(GLsizei n, const GLuint *arrays);
typedef void (*glGenVertexArrays_func)(GLsizei n, GLuint *arrays);
typedef GLboolean (*glIsVertexArray_func)(GLuint array);
extern KWIN_EXPORT glBindVertexArray_func glBindVertexArray;
extern KWIN_EXPORT glDeleteVertexArrays_func glDeleteVertexArrays;
extern KWIN_EXPORT glGenVertexArrays_func glGenVertexArrays;
extern KWIN_EXPORT glIsVertexArray_func glIsVertexArray;
extern KWINEFFECTS_EXPORT glBindVertexArray_func glBindVertexArray;
extern KWINEFFECTS_EXPORT glDeleteVertexArrays_func glDeleteVertexArrays;
extern KWINEFFECTS_EXPORT glGenVertexArrays_func glGenVertexArrays;
extern KWINEFFECTS_EXPORT glIsVertexArray_func glIsVertexArray;
// GL_EXT_gpu_shader4 / GL 3.0
typedef void (*glVertexAttribI1i_func)(GLuint index, GLint x_func);
@ -405,68 +403,68 @@ typedef void (*glUniform1uiv_func)(GLint location, GLsizei count, const GLuint *
typedef void (*glUniform2uiv_func)(GLint location, GLsizei count, const GLuint *value);
typedef void (*glUniform3uiv_func)(GLint location, GLsizei count, const GLuint *value);
extern KWIN_EXPORT glVertexAttribI1i_func glVertexAttribI1i;
extern KWIN_EXPORT glVertexAttribI2i_func glVertexAttribI2i;
extern KWIN_EXPORT glVertexAttribI3i_func glVertexAttribI3i;
extern KWIN_EXPORT glVertexAttribI4i_func glVertexAttribI4i;
extern KWIN_EXPORT glVertexAttribI1ui_func glVertexAttribI1ui;
extern KWIN_EXPORT glVertexAttribI2ui_func glVertexAttribI2ui;
extern KWIN_EXPORT glVertexAttribI3ui_func glVertexAttribI3ui;
extern KWIN_EXPORT glVertexAttribI4ui_func glVertexAttribI4ui;
extern KWIN_EXPORT glVertexAttribI1iv_func glVertexAttribI1iv;
extern KWIN_EXPORT glVertexAttribI2iv_func glVertexAttribI2iv;
extern KWIN_EXPORT glVertexAttribI3iv_func glVertexAttribI3iv;
extern KWIN_EXPORT glVertexAttribI4iv_func glVertexAttribI4iv;
extern KWIN_EXPORT glVertexAttribI1uiv_func glVertexAttribI1uiv;
extern KWIN_EXPORT glVertexAttribI2uiv_func glVertexAttribI2uiv;
extern KWIN_EXPORT glVertexAttribI3uiv_func glVertexAttribI3uiv;
extern KWIN_EXPORT glVertexAttribI4uiv_func glVertexAttribI4uiv;
extern KWIN_EXPORT glVertexAttribI4bv_func glVertexAttribI4bv;
extern KWIN_EXPORT glVertexAttribI4sv_func glVertexAttribI4sv;
extern KWIN_EXPORT glVertexAttribI4ubv_func glVertexAttribI4ubv;
extern KWIN_EXPORT glVertexAttribI4usv_func glVertexAttribI4usv;
extern KWIN_EXPORT glVertexAttribIPointer_func glVertexAttribIPointer;
extern KWIN_EXPORT glGetVertexAttribIiv_func glGetVertexAttribIiv;
extern KWIN_EXPORT glGetVertexAttribIuiv_func glGetVertexAttribIuiv;
extern KWIN_EXPORT glGetUniformuiv_func glGetUniformuiv;
extern KWIN_EXPORT glBindFragDataLocation_func glBindFragDataLocation;
extern KWIN_EXPORT glGetFragDataLocation_func glGetFragDataLocation;
extern KWIN_EXPORT glUniform1ui_func glUniform1ui;
extern KWIN_EXPORT glUniform2ui_func glUniform2ui;
extern KWIN_EXPORT glUniform3ui_func glUniform3ui;
extern KWIN_EXPORT glUniform4ui_func glUniform4ui;
extern KWIN_EXPORT glUniform1uiv_func glUniform1uiv;
extern KWIN_EXPORT glUniform2uiv_func glUniform2uiv;
extern KWIN_EXPORT glUniform3uiv_func glUniform3uiv;
extern KWINEFFECTS_EXPORT glVertexAttribI1i_func glVertexAttribI1i;
extern KWINEFFECTS_EXPORT glVertexAttribI2i_func glVertexAttribI2i;
extern KWINEFFECTS_EXPORT glVertexAttribI3i_func glVertexAttribI3i;
extern KWINEFFECTS_EXPORT glVertexAttribI4i_func glVertexAttribI4i;
extern KWINEFFECTS_EXPORT glVertexAttribI1ui_func glVertexAttribI1ui;
extern KWINEFFECTS_EXPORT glVertexAttribI2ui_func glVertexAttribI2ui;
extern KWINEFFECTS_EXPORT glVertexAttribI3ui_func glVertexAttribI3ui;
extern KWINEFFECTS_EXPORT glVertexAttribI4ui_func glVertexAttribI4ui;
extern KWINEFFECTS_EXPORT glVertexAttribI1iv_func glVertexAttribI1iv;
extern KWINEFFECTS_EXPORT glVertexAttribI2iv_func glVertexAttribI2iv;
extern KWINEFFECTS_EXPORT glVertexAttribI3iv_func glVertexAttribI3iv;
extern KWINEFFECTS_EXPORT glVertexAttribI4iv_func glVertexAttribI4iv;
extern KWINEFFECTS_EXPORT glVertexAttribI1uiv_func glVertexAttribI1uiv;
extern KWINEFFECTS_EXPORT glVertexAttribI2uiv_func glVertexAttribI2uiv;
extern KWINEFFECTS_EXPORT glVertexAttribI3uiv_func glVertexAttribI3uiv;
extern KWINEFFECTS_EXPORT glVertexAttribI4uiv_func glVertexAttribI4uiv;
extern KWINEFFECTS_EXPORT glVertexAttribI4bv_func glVertexAttribI4bv;
extern KWINEFFECTS_EXPORT glVertexAttribI4sv_func glVertexAttribI4sv;
extern KWINEFFECTS_EXPORT glVertexAttribI4ubv_func glVertexAttribI4ubv;
extern KWINEFFECTS_EXPORT glVertexAttribI4usv_func glVertexAttribI4usv;
extern KWINEFFECTS_EXPORT glVertexAttribIPointer_func glVertexAttribIPointer;
extern KWINEFFECTS_EXPORT glGetVertexAttribIiv_func glGetVertexAttribIiv;
extern KWINEFFECTS_EXPORT glGetVertexAttribIuiv_func glGetVertexAttribIuiv;
extern KWINEFFECTS_EXPORT glGetUniformuiv_func glGetUniformuiv;
extern KWINEFFECTS_EXPORT glBindFragDataLocation_func glBindFragDataLocation;
extern KWINEFFECTS_EXPORT glGetFragDataLocation_func glGetFragDataLocation;
extern KWINEFFECTS_EXPORT glUniform1ui_func glUniform1ui;
extern KWINEFFECTS_EXPORT glUniform2ui_func glUniform2ui;
extern KWINEFFECTS_EXPORT glUniform3ui_func glUniform3ui;
extern KWINEFFECTS_EXPORT glUniform4ui_func glUniform4ui;
extern KWINEFFECTS_EXPORT glUniform1uiv_func glUniform1uiv;
extern KWINEFFECTS_EXPORT glUniform2uiv_func glUniform2uiv;
extern KWINEFFECTS_EXPORT glUniform3uiv_func glUniform3uiv;
// GL_ARB_map_buffer_range
typedef GLvoid* (*glMapBufferRange_func)(GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access);
typedef void (*glFlushMappedBufferRange_func)(GLenum target, GLintptr offset, GLsizeiptr length);
extern KWIN_EXPORT glMapBufferRange_func glMapBufferRange;
extern KWIN_EXPORT glFlushMappedBufferRange_func glFlushMappedBufferRange;
extern KWINEFFECTS_EXPORT glMapBufferRange_func glMapBufferRange;
extern KWINEFFECTS_EXPORT glFlushMappedBufferRange_func glFlushMappedBufferRange;
// GL_ARB_robustness
typedef GLenum (*glGetGraphicsResetStatus_func)();
typedef void (*glReadnPixels_func)(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, GLvoid *data);
typedef void (*glGetnUniformfv_func)(GLuint program, GLint location, GLsizei bufSize, GLfloat *params);
extern KWIN_EXPORT glGetGraphicsResetStatus_func glGetGraphicsResetStatus;
extern KWIN_EXPORT glReadnPixels_func glReadnPixels;
extern KWIN_EXPORT glGetnUniformfv_func glGetnUniformfv;
extern KWINEFFECTS_EXPORT glGetGraphicsResetStatus_func glGetGraphicsResetStatus;
extern KWINEFFECTS_EXPORT glReadnPixels_func glReadnPixels;
extern KWINEFFECTS_EXPORT glGetnUniformfv_func glGetnUniformfv;
// GL_ARB_draw_elements_base_vertex
typedef void (*glDrawElementsBaseVertex_func)(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLint basevertex);
typedef void (*glDrawElementsInstancedBaseVertex_func)(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLsizei instancecount, GLint basevertex);
extern KWIN_EXPORT glDrawElementsBaseVertex_func glDrawElementsBaseVertex;
extern KWIN_EXPORT glDrawElementsInstancedBaseVertex_func glDrawElementsInstancedBaseVertex;
extern KWINEFFECTS_EXPORT glDrawElementsBaseVertex_func glDrawElementsBaseVertex;
extern KWINEFFECTS_EXPORT glDrawElementsInstancedBaseVertex_func glDrawElementsInstancedBaseVertex;
// GL_ARB_copy_buffer
typedef void (*glCopyBufferSubData_func)(GLenum readTarget, GLenum writeTarget, GLintptr readOffset,
GLintptr writeOffset, GLsizeiptr size);
extern KWIN_EXPORT glCopyBufferSubData_func glCopyBufferSubData;
extern KWINEFFECTS_EXPORT glCopyBufferSubData_func glCopyBufferSubData;
} // namespace
@ -545,20 +543,20 @@ extern KWIN_EXPORT glCopyBufferSubData_func glCopyBufferSubData;
namespace KWin
{
void KWIN_EXPORT eglResolveFunctions();
void KWIN_EXPORT glResolveFunctions(OpenGLPlatformInterface platformInterface);
void KWINEFFECTS_EXPORT eglResolveFunctions();
void KWINEFFECTS_EXPORT glResolveFunctions(OpenGLPlatformInterface platformInterface);
// EGL
typedef EGLImageKHR(*eglCreateImageKHR_func)(EGLDisplay, EGLContext, EGLenum, EGLClientBuffer, const EGLint*);
typedef EGLBoolean(*eglDestroyImageKHR_func)(EGLDisplay, EGLImageKHR);
typedef EGLBoolean (*eglPostSubBufferNV_func)(EGLDisplay dpy, EGLSurface surface, EGLint x, EGLint y, EGLint width, EGLint height);
extern KWIN_EXPORT eglCreateImageKHR_func eglCreateImageKHR;
extern KWIN_EXPORT eglDestroyImageKHR_func eglDestroyImageKHR;
extern KWIN_EXPORT eglPostSubBufferNV_func eglPostSubBufferNV;
extern KWINEFFECTS_EXPORT eglCreateImageKHR_func eglCreateImageKHR;
extern KWINEFFECTS_EXPORT eglDestroyImageKHR_func eglDestroyImageKHR;
extern KWINEFFECTS_EXPORT eglPostSubBufferNV_func eglPostSubBufferNV;
// GLES
typedef GLvoid(*glEGLImageTargetTexture2DOES_func)(GLenum, GLeglImageOES);
extern KWIN_EXPORT glEGLImageTargetTexture2DOES_func glEGLImageTargetTexture2DOES;
extern KWINEFFECTS_EXPORT glEGLImageTargetTexture2DOES_func glEGLImageTargetTexture2DOES;
#ifdef KWIN_HAVE_OPENGLES
@ -568,29 +566,29 @@ typedef GLvoid *(*glMapBuffer_func)(GLenum target, GLenum access);
typedef GLboolean (*glUnmapBuffer_func)(GLenum target);
typedef void (*glGetBufferPointerv_func)(GLenum target, GLenum pname, GLvoid **params);
extern KWIN_EXPORT glMapBuffer_func glMapBuffer;
extern KWIN_EXPORT glUnmapBuffer_func glUnmapBuffer;
extern KWIN_EXPORT glGetBufferPointerv_func glGetBufferPointerv;
extern KWINEFFECTS_EXPORT glMapBuffer_func glMapBuffer;
extern KWINEFFECTS_EXPORT glUnmapBuffer_func glUnmapBuffer;
extern KWINEFFECTS_EXPORT glGetBufferPointerv_func glGetBufferPointerv;
// GL_OES_texture_3D
typedef GLvoid(*glTexImage3DOES_func)(GLenum, GLint, GLenum, GLsizei, GLsizei, GLsizei, GLint, GLenum, GLenum, const GLvoid*);
extern KWIN_EXPORT glTexImage3DOES_func glTexImage3D;
extern KWINEFFECTS_EXPORT glTexImage3DOES_func glTexImage3D;
// GL_EXT_map_buffer_range
typedef GLvoid *(*glMapBufferRange_func)(GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access);
typedef void (*glFlushMappedBufferRange_func)(GLenum target, GLintptr offset, GLsizeiptr length);
extern KWIN_EXPORT glMapBufferRange_func glMapBufferRange;
extern KWIN_EXPORT glFlushMappedBufferRange_func glFlushMappedBufferRange;
extern KWINEFFECTS_EXPORT glMapBufferRange_func glMapBufferRange;
extern KWINEFFECTS_EXPORT glFlushMappedBufferRange_func glFlushMappedBufferRange;
// GL_EXT_robustness
typedef GLenum (*glGetGraphicsResetStatus_func)();
typedef void (*glReadnPixels_func)(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, GLvoid *data);
typedef void (*glGetnUniformfv_func)(GLuint program, GLint location, GLsizei bufSize, GLfloat *params);
extern KWIN_EXPORT glGetGraphicsResetStatus_func glGetGraphicsResetStatus;
extern KWIN_EXPORT glReadnPixels_func glReadnPixels;
extern KWIN_EXPORT glGetnUniformfv_func glGetnUniformfv;
extern KWINEFFECTS_EXPORT glGetGraphicsResetStatus_func glGetGraphicsResetStatus;
extern KWINEFFECTS_EXPORT glReadnPixels_func glReadnPixels;
extern KWINEFFECTS_EXPORT glGetnUniformfv_func glGetnUniformfv;
#endif // KWIN_HAVE_OPENGLES

View File

@ -23,6 +23,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
// KWin
#include <kwinglobals.h>
#include <kwineffects_export.h>
// KDE
#include <KDE/KSharedPtr>
// Qt
@ -42,10 +43,10 @@ namespace KWin
/**
* dumps a QColor into a xcb_render_color_t
*/
KWIN_EXPORT xcb_render_color_t preMultiply(const QColor &c, float opacity = 1.0);
KWINEFFECTS_EXPORT xcb_render_color_t preMultiply(const QColor &c, float opacity = 1.0);
/** @internal */
class KWIN_EXPORT XRenderPictureData
class KWINEFFECTS_EXPORT XRenderPictureData
: public QSharedData
{
public:
@ -64,7 +65,7 @@ private:
* convenience constructors and freeing of resources.
* It should otherwise act exactly like the Picture type.
*/
class KWIN_EXPORT XRenderPicture
class KWINEFFECTS_EXPORT XRenderPicture
{
public:
explicit XRenderPicture(xcb_render_picture_t pic = XCB_RENDER_PICTURE_NONE);
@ -76,7 +77,7 @@ private:
KSharedPtr< XRenderPictureData > d;
};
class KWIN_EXPORT XFixesRegion
class KWINEFFECTS_EXPORT XFixesRegion
{
public:
explicit XFixesRegion(const QRegion &region);
@ -154,12 +155,12 @@ XFixesRegion::operator xcb_xfixes_region_t()
* Static 1x1 picture used to deliver a black pixel with given opacity (for blending performance)
* Call and Use, the PixelPicture will stay, but may change it's opacity meanwhile. It's NOT threadsafe either
*/
KWIN_EXPORT XRenderPicture xRenderBlendPicture(double opacity);
KWINEFFECTS_EXPORT XRenderPicture xRenderBlendPicture(double opacity);
/**
* Creates a 1x1 Picture filled with c
*/
KWIN_EXPORT XRenderPicture xRenderFill(const xcb_render_color_t &c);
KWIN_EXPORT XRenderPicture xRenderFill(const QColor &c);
KWINEFFECTS_EXPORT XRenderPicture xRenderFill(const xcb_render_color_t &c);
KWINEFFECTS_EXPORT XRenderPicture xRenderFill(const QColor &c);
/**
* Allows to render a window into a (transparent) pixmap
@ -167,7 +168,7 @@ KWIN_EXPORT XRenderPicture xRenderFill(const QColor &c);
* NOTICE: it may be 0
* NOTICE: when done call setXRenderWindowOffscreen(false) to continue normal render process
*/
KWIN_EXPORT void setXRenderOffscreen(bool b);
KWINEFFECTS_EXPORT void setXRenderOffscreen(bool b);
/**
* Allows to define a persistent effect member as render target
@ -175,27 +176,27 @@ KWIN_EXPORT void setXRenderOffscreen(bool b);
* NOTICE: do NOT call setXRenderOffscreen(true) in addition!
* NOTICE: do not forget to xRenderPopTarget once you're done to continue the normal render process
*/
KWIN_EXPORT void xRenderPushTarget(XRenderPicture *pic);
KWIN_EXPORT void xRenderPopTarget();
KWINEFFECTS_EXPORT void xRenderPushTarget(XRenderPicture *pic);
KWINEFFECTS_EXPORT void xRenderPopTarget();
/**
* Whether windows are currently rendered into an offscreen target buffer
*/
KWIN_EXPORT bool xRenderOffscreen();
KWINEFFECTS_EXPORT bool xRenderOffscreen();
/**
* The offscreen buffer as set by the renderer because of setXRenderWindowOffscreen(true)
*/
KWIN_EXPORT xcb_render_picture_t xRenderOffscreenTarget();
KWINEFFECTS_EXPORT xcb_render_picture_t xRenderOffscreenTarget();
/**
* NOTICE: HANDS OFF!!!
* scene_setXRenderWindowOffscreenTarget() is ONLY to be used by the renderer - DO NOT TOUCH!
*/
KWIN_EXPORT void scene_setXRenderOffscreenTarget(xcb_render_picture_t pix);
KWINEFFECTS_EXPORT void scene_setXRenderOffscreenTarget(xcb_render_picture_t pix);
/**
* scene_xRenderWindowOffscreenTarget() is used by the scene to figure the target set by an effect
*/
KWIN_EXPORT XRenderPicture *scene_xRenderOffscreenTarget();
KWINEFFECTS_EXPORT XRenderPicture *scene_xRenderOffscreenTarget();
} // namespace