added export header through cmake for kwineffects
REVIEW: 114233
This commit is contained in:
parent
ac72e9fb73
commit
0c4518cca9
10 changed files with 216 additions and 208 deletions
|
@ -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)
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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();
|
||||
|
|
|
@ -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();
|
||||
|
|
|
@ -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:
|
||||
|
|
|
@ -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:
|
||||
/**
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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 ®ion);
|
||||
|
@ -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
|
||||
|
||||
|
|
Loading…
Reference in a new issue