No longer include config*.h files in installed headers.

Also slightly redo the #define's for effects, now it's:
- #ifdef KWIN_HAVE_COMPOSITING to check whether there's any compositing support at all
- #ifdef KWIN_HAVE_OPENGL_COMPOSITING to check for OpenGL-based compositing
- #ifdef KWIN_HAVE_XRENDER_COMPOSITING the same for XRender
CCMAIL: kwin@kde.org


svn path=/trunk/KDE/kdebase/workspace/; revision=749628
This commit is contained in:
Luboš Luňák 2007-12-17 14:14:53 +00:00
parent 44cc93170d
commit bb433ac40e
32 changed files with 133 additions and 131 deletions

View file

@ -44,8 +44,6 @@ KDE 4.0 TODO
- taskbar thumbnail [Seli]
- we'll go with the hacky one, fix performance problems
- fix inclusion of config-X11.h in installed headers [Seli]
- fix shading
- window-specific rules need to apply to unmanaged windows as well (where applicable)
- some window-specific rules also related to compositing

View file

@ -76,7 +76,7 @@ namespace KWin
void Workspace::setupCompositing()
{
#if defined( HAVE_XCOMPOSITE ) && defined( HAVE_XDAMAGE )
#ifdef KWIN_HAVE_COMPOSITING
if( !options->useCompositing )
{
kDebug( 1212 ) << "Compositing is turned off in options";
@ -120,7 +120,7 @@ void Workspace::setupCompositing()
kDebug( 1212 ) << "X compositing";
scene = new SceneBasic( this );
break; // don't fall through (this is a testing one) */
#ifdef HAVE_OPENGL
#ifdef KWIN_HAVE_OPENGL_COMPOSITING
case OpenGLCompositing:
kDebug( 1212 ) << "OpenGL compositing";
scene = new SceneOpenGL( this );
@ -130,16 +130,14 @@ void Workspace::setupCompositing()
scene = NULL;
// fall through, try XRender
#endif
#if defined(HAVE_XRENDER) && defined(HAVE_XFIXES)
#ifdef KWIN_HAVE_XRENDER_COMPOSITING
case XRenderCompositing:
kDebug( 1212 ) << "XRender compositing";
scene = new SceneXrender( this );
break;
#endif
default:
// this is the inverse of the two above tests, to have a different message
// it is also used in compositingprefs.cpp
#if !(defined(HAVE_OPENGL) || (defined(HAVE_XRENDER) && defined(HAVE_XFIXES)))
#ifndef KWIN_HAVE_COMPOSITING
kDebug( 1212 ) << "Compositing was not available at compile time";
#else
kDebug( 1212 ) << "No compositing";
@ -209,7 +207,7 @@ void Workspace::setupCompositing()
void Workspace::finishCompositing()
{
#if defined( HAVE_XCOMPOSITE ) && defined( HAVE_XDAMAGE )
#ifdef KWIN_HAVE_COMPOSITING
if( scene == NULL )
return;
delete cm_selection;
@ -280,7 +278,7 @@ void Workspace::addRepaintFull()
void Workspace::performCompositing()
{
#if defined( HAVE_XCOMPOSITE ) && defined( HAVE_XDAMAGE )
#ifdef KWIN_HAVE_COMPOSITING
// The event loop apparently tries to fire a QTimer as often as possible, even
// at the expense of not processing many X events. This means that the composite
// repaints can seriously impact performance of everything else, therefore throttle
@ -403,7 +401,7 @@ void Workspace::destroyOverlay()
void Toplevel::setupCompositing()
{
#if defined( HAVE_XCOMPOSITE ) && defined( HAVE_XDAMAGE )
#ifdef KWIN_HAVE_COMPOSITING
if( !compositing())
return;
if( damage_handle != None )
@ -417,7 +415,7 @@ void Toplevel::setupCompositing()
void Toplevel::finishCompositing()
{
#if defined( HAVE_XCOMPOSITE ) && defined( HAVE_XDAMAGE )
#ifdef KWIN_HAVE_COMPOSITING
if( damage_handle == None )
return;
if( effect_window->window() == this ) // otherwise it's already passed to Deleted, don't free data
@ -446,7 +444,7 @@ void Toplevel::discardWindowPixmap()
Pixmap Toplevel::createWindowPixmap()
{
#ifdef HAVE_XCOMPOSITE
#ifdef KWIN_HAVE_COMPOSITING
assert( compositing());
grabXServer();
KXErrorHandler err;

View file

@ -25,6 +25,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include <kdebug.h>
#include <kxerrorhandler.h>
#include <klocale.h>
#include <kdeversion.h>
namespace KWin
@ -45,7 +46,7 @@ CompositingPrefs::~CompositingPrefs()
bool CompositingPrefs::compositingPossible()
{
#if defined( HAVE_XCOMPOSITE ) && defined( HAVE_XDAMAGE )
#ifdef KWIN_HAVE_COMPOSITING
Extensions::init();
if( !Extensions::compositeAvailable())
{
@ -57,12 +58,16 @@ bool CompositingPrefs::compositingPossible()
kDebug( 1212 ) << "No damage extension available";
return false;
}
#if !(defined(HAVE_OPENGL) || (defined(HAVE_XRENDER) && defined(HAVE_XFIXES)))
kDebug( 1212 ) << "Not compiled with OpenGL/XRender support";
return false;
#endif
#ifdef KWIN_HAVE_OPENGL_COMPOSITING
if( Extensions::glxAvailable())
return true;
#endif
#ifdef KWIN_HAVE_XRENDER_COMPOSITING
if( Extensions::renderAvailable() && Extensions::fixesAvailable())
return true;
#endif
kDebug( 1212 ) << "No OpenGL or XRender/XFixes support";
return false;
#else
return false;
#endif
@ -70,13 +75,32 @@ bool CompositingPrefs::compositingPossible()
QString CompositingPrefs::compositingNotPossibleReason()
{
#if defined( HAVE_XCOMPOSITE ) && defined( HAVE_XDAMAGE ) && (defined(HAVE_OPENGL) || (defined(HAVE_XRENDER) && defined(HAVE_XFIXES)))
#ifdef KWIN_HAVE_COMPOSITING
Extensions::init();
if( !Extensions::compositeAvailable() || Extensions::damageAvailable())
if( !Extensions::compositeAvailable() || !Extensions::damageAvailable())
{
return i18n("Required X extensions (XComposite and XDamage) are not available.");
}
#if KDE_IS_VERSION( 4, 0, 90 )
#ifdef __GNUC__
#warning Uncomment
#endif
#endif
//#if defined( KWIN_HAVE_OPENGL_COMPOSITING ) && !defined( KWIN_HAVE_XRENDER_COMPOSITING )
// if( !Extensions::glxAvailable())
// return i18n( "GLX/OpenGL are not available and only OpenGL support is compiled." );
//#endif
//#elseif !defined( KWIN_HAVE_OPENGL_COMPOSITING ) && defined( KWIN_HAVE_XRENDER_COMPOSITING )
// if( !Extensions::glxAvailable())
// return i18n( "XRender/XFixes extensions are not available and only XRender support"
// " is compiled." );
//#else
// if( !( Extensions::glxAvailable()
// || ( Extensions::renderAvailable() && Extensions::fixesAvailable())))
// {
// return i18n( "GLX/OpenGL and XRender/XFixes are not available." );
// }
//#endif
return QString();
#else
return i18n("Compositing was disabled at compile time.\n"
@ -91,7 +115,7 @@ void CompositingPrefs::detect()
return;
}
#ifdef HAVE_OPENGL
#ifdef KWIN_HAVE_OPENGL_COMPOSITING
if( !Extensions::glxAvailable())
{
kDebug( 1212 ) << "No GLX available";
@ -129,7 +153,7 @@ void CompositingPrefs::detect()
bool CompositingPrefs::createGLXContext()
{
#ifdef HAVE_OPENGL
#ifdef KWIN_HAVE_OPENGL_COMPOSITING
KXErrorHandler handler;
// Most of this code has been taken from glxinfo.c
QVector<int> attribs;
@ -179,7 +203,7 @@ bool CompositingPrefs::createGLXContext()
void CompositingPrefs::deleteGLXContext()
{
#ifdef HAVE_OPENGL
#ifdef KWIN_HAVE_OPENGL_COMPOSITING
glXDestroyContext( display(), mGLContext );
XDestroyWindow( display(), mGLWindow );
#endif
@ -187,7 +211,7 @@ void CompositingPrefs::deleteGLXContext()
void CompositingPrefs::detectDriverAndVersion()
{
#ifdef HAVE_OPENGL
#ifdef KWIN_HAVE_OPENGL_COMPOSITING
mGLVendor = QString((const char*)glGetString( GL_VENDOR ));
mGLRenderer = QString((const char*)glGetString( GL_RENDERER ));
mGLVersion = QString((const char*)glGetString( GL_VERSION ));

View file

@ -87,7 +87,7 @@ private:
bool mEnableDirectRendering;
bool mStrictBinding;
#ifdef HAVE_OPENGL
#ifdef KWIN_HAVE_OPENGL_COMPOSITING
GLXContext mGLContext;
Window mGLWindow;
#endif

View file

@ -480,7 +480,7 @@ EffectWindow* EffectsHandlerImpl::currentTabBoxWindow() const
void EffectsHandlerImpl::pushRenderTarget(GLRenderTarget* target)
{
#ifdef HAVE_OPENGL
#ifdef KWIN_HAVE_OPENGL_COMPOSITING
target->enable();
render_targets.push(target);
#endif
@ -488,7 +488,7 @@ void EffectsHandlerImpl::pushRenderTarget(GLRenderTarget* target)
GLRenderTarget* EffectsHandlerImpl::popRenderTarget()
{
#ifdef HAVE_OPENGL
#ifdef KWIN_HAVE_OPENGL_COMPOSITING
GLRenderTarget* ret = render_targets.pop();
ret->disable();
if( !render_targets.isEmpty() )
@ -654,7 +654,7 @@ void EffectsHandlerImpl::reserveElectricBorderSwitching( bool reserve )
unsigned long EffectsHandlerImpl::xrenderBufferPicture()
{
#if defined(HAVE_XRENDER) && defined(HAVE_XFIXES)
#ifdef KWIN_HAVE_XRENDER_COMPOSITING
if( SceneXrender* s = dynamic_cast< SceneXrender* >( scene ))
return s->bufferPicture();
#endif

View file

@ -18,7 +18,7 @@ You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*********************************************************************/
#include <config-X11.h>
#include <kwinconfig.h>
#include "boxswitch.h"
@ -30,7 +30,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include <kapplication.h>
#include <kcolorscheme.h>
#ifdef HAVE_OPENGL
#ifdef KWIN_HAVE_OPENGL_COMPOSITING
#include <GL/gl.h>
#endif
@ -46,7 +46,7 @@ BoxSwitchEffect::BoxSwitchEffect()
{
frame_margin = 10;
highlight_margin = 5;
#ifdef HAVE_XRENDER
#ifdef KWIN_HAVE_XRENDER_COMPOSITING
alphaFormat = XRenderFindStandardFormat( display(), PictStandardARGB32 );
#endif
color_frame = KColorScheme( QPalette::Active, KColorScheme::Window ).background().color();
@ -345,7 +345,7 @@ void BoxSwitchEffect::setInactive()
}
foreach( ItemInfo* i, windows )
{
#ifdef HAVE_XRENDER
#ifdef KWIN_HAVE_XRENDER_COMPOSITING
if( effects->compositingType() == XRenderCompositing )
{
if( i->iconPicture != None )
@ -449,7 +449,7 @@ void BoxSwitchEffect::calculateItemSizes()
void BoxSwitchEffect::paintFrame()
{
#ifdef HAVE_OPENGL
#ifdef KWIN_HAVE_OPENGL_COMPOSITING
if( effects->compositingType() == OpenGLCompositing )
{
glPushAttrib( GL_CURRENT_BIT );
@ -458,7 +458,7 @@ void BoxSwitchEffect::paintFrame()
glPopAttrib();
}
#endif
#ifdef HAVE_XRENDER
#ifdef KWIN_HAVE_XRENDER_COMPOSITING
if( effects->compositingType() == XRenderCompositing )
{
Pixmap pixmap = XCreatePixmap( display(), rootWindow(),
@ -482,7 +482,7 @@ void BoxSwitchEffect::paintFrame()
void BoxSwitchEffect::paintHighlight( QRect area )
{
#ifdef HAVE_OPENGL
#ifdef KWIN_HAVE_OPENGL_COMPOSITING
if( effects->compositingType() == OpenGLCompositing )
{
glPushAttrib( GL_CURRENT_BIT );
@ -491,7 +491,7 @@ void BoxSwitchEffect::paintHighlight( QRect area )
glPopAttrib();
}
#endif
#ifdef HAVE_XRENDER
#ifdef KWIN_HAVE_XRENDER_COMPOSITING
if( effects->compositingType() == XRenderCompositing )
{
Pixmap pixmap = XCreatePixmap( display(), rootWindow(),
@ -568,14 +568,14 @@ void BoxSwitchEffect::paintWindowIcon( EffectWindow* w )
if( windows[ w ]->icon.cacheKey() != w->icon().cacheKey())
{ // make sure windows[ w ]->icon is the right QPixmap, and rebind
windows[ w ]->icon = w->icon();
#ifdef HAVE_OPENGL
#ifdef KWIN_HAVE_OPENGL_COMPOSITING
if( effects->compositingType() == OpenGLCompositing )
{
windows[ w ]->iconTexture.load( windows[ w ]->icon );
windows[ w ]->iconTexture.setFilter( GL_LINEAR );
}
#endif
#ifdef HAVE_XRENDER
#ifdef KWIN_HAVE_XRENDER_COMPOSITING
if( effects->compositingType() == XRenderCompositing )
{
if( windows[ w ]->iconPicture != None )
@ -589,7 +589,7 @@ void BoxSwitchEffect::paintWindowIcon( EffectWindow* w )
int height = windows[ w ]->icon.height();
int x = windows[ w ]->area.x() + windows[ w ]->area.width() - width - highlight_margin;
int y = windows[ w ]->area.y() + windows[ w ]->area.height() - height - highlight_margin;
#ifdef HAVE_OPENGL
#ifdef KWIN_HAVE_OPENGL_COMPOSITING
if( effects->compositingType() == OpenGLCompositing )
{
glPushAttrib( GL_CURRENT_BIT | GL_ENABLE_BIT );
@ -620,7 +620,7 @@ void BoxSwitchEffect::paintWindowIcon( EffectWindow* w )
glPopAttrib();
}
#endif
#ifdef HAVE_XRENDER
#ifdef KWIN_HAVE_XRENDER_COMPOSITING
if( effects->compositingType() == XRenderCompositing )
{
XRenderComposite( display(),

View file

@ -32,7 +32,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include <kwinglutils.h>
#ifdef HAVE_XRENDER
#ifdef KWIN_HAVE_XRENDER_COMPOSITING
#include <X11/extensions/Xrender.h>
#endif
@ -94,7 +94,7 @@ class BoxSwitchEffect
int painting_desktop;
#ifdef HAVE_XRENDER
#ifdef KWIN_HAVE_XRENDER_COMPOSITING
XRenderPictFormat* alphaFormat;
#endif
};
@ -106,10 +106,10 @@ class BoxSwitchEffect::ItemInfo
QRegion clickable;
QRect thumbnail;
QPixmap icon;
#ifdef HAVE_OPENGL
#ifdef KWIN_HAVE_OPENGL_COMPOSITING
GLTexture iconTexture;
#endif
#ifdef HAVE_XRENDER
#ifdef KWIN_HAVE_XRENDER_COMPOSITING
Picture iconPicture;
#endif
};

View file

@ -19,7 +19,7 @@ You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*********************************************************************/
#include <config-X11.h>
#include <kwinconfig.h>
#include "shadow_config.h"
#include "presentwindows_config.h"
@ -29,7 +29,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "thumbnailaside_config.h"
#include "zoom_config.h"
#ifdef HAVE_OPENGL
#ifdef KWIN_HAVE_OPENGL_COMPOSITING
#include "invert_config.h"
#include "lookingglass_config.h"
#include "mousemark_config.h"
@ -62,7 +62,7 @@ KWIN_EFFECT_CONFIG_FACTORY
registerPlugin<KWin::SharpenEffectConfig>("sharpen"); \
registerPlugin<KWin::TrackMouseEffectConfig>("trackmouse"); \
#ifdef HAVE_OPENGL
#ifdef KWIN_HAVE_OPENGL_COMPOSITING
K_PLUGIN_FACTORY_DEFINITION(EffectFactory,
NON_GL_PLUGINS
GL_PLUGINS

View file

@ -49,7 +49,7 @@ void LogoutEffect::paintWindow( EffectWindow* w, int mask, QRegion region, Windo
if( w != logout_window && progress != 0 )
{
// When saturation isn't supported then reduce brightness a bit more
#ifdef HAVE_OPENGL
#ifdef KWIN_HAVE_OPENGL_COMPOSITING
if( effects->compositingType() == OpenGLCompositing && GLTexture::saturationSupported() )
{
data.saturation *= ( 1 - progress * 0.8 );

View file

@ -19,7 +19,7 @@ You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*********************************************************************/
#include <config-X11.h> // HAVE_OPENGL
#include <kwinconfig.h>
#include "magnifier.h"
@ -28,7 +28,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include <kconfiggroup.h>
#include <kstandardaction.h>
#ifdef HAVE_OPENGL
#ifdef KWIN_HAVE_OPENGL_COMPOSITING
#include <GL/gl.h>
#endif
@ -81,7 +81,7 @@ void MagnifierEffect::paintScreen( int mask, QRegion region, ScreenPaintData& da
effects->paintScreen( mask, region, data ); // paint normal screen
if( zoom != 1.0 )
{ // paint magnifier
// ## TODO this should be inside HAVE_OPENGL
// ## TODO this should be inside KWIN_HAVE_OPENGL_COMPOSITING
glPushAttrib( GL_ENABLE_BIT );
QRect area = magnifierArea();
glEnable( GL_SCISSOR_TEST );

View file

@ -21,7 +21,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "mousemark.h"
#include <config-X11.h>
#include <kwinconfig.h>
#include <kaction.h>
#include <kactioncollection.h>
@ -32,7 +32,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include <math.h>
#ifdef HAVE_OPENGL
#ifdef KWIN_HAVE_OPENGL_COMPOSITING
#include <GL/gl.h>
#endif

View file

@ -46,7 +46,7 @@ PresentWindowsEffect::PresentWindowsEffect()
, mRearranging( 1.0 )
, hasKeyboardGrab( false )
, mHighlightedWindow( NULL )
#ifdef HAVE_OPENGL
#ifdef KWIN_HAVE_OPENGL_COMPOSITING
, filterTexture( NULL )
#endif
{
@ -68,7 +68,7 @@ PresentWindowsEffect::PresentWindowsEffect()
effects->reserveElectricBorder( borderActivate );
effects->reserveElectricBorder( borderActivateAll );
#ifdef HAVE_XRENDER
#ifdef KWIN_HAVE_XRENDER_COMPOSITING
alphaFormat = XRenderFindStandardFormat( display(), PictStandardARGB32 );
#endif
}
@ -137,7 +137,7 @@ void PresentWindowsEffect::prePaintWindow( EffectWindow* w, WindowPrePaintData&
void PresentWindowsEffect::paintScreen( int mask, QRegion region, ScreenPaintData& data )
{
effects->paintScreen( mask, region, data );
#ifdef HAVE_OPENGL
#ifdef KWIN_HAVE_OPENGL_COMPOSITING
if( filterTexture && region.intersects( filterFrameRect ))
{
glPushAttrib( GL_CURRENT_BIT | GL_ENABLE_BIT );
@ -966,7 +966,7 @@ EffectWindow* PresentWindowsEffect::findFirstWindow() const
void PresentWindowsEffect::discardFilterTexture()
{
#ifdef HAVE_OPENGL
#ifdef KWIN_HAVE_OPENGL_COMPOSITING
delete filterTexture;
filterTexture = NULL;
#endif
@ -974,7 +974,7 @@ void PresentWindowsEffect::discardFilterTexture()
void PresentWindowsEffect::updateFilterTexture()
{
#ifdef HAVE_OPENGL
#ifdef KWIN_HAVE_OPENGL_COMPOSITING
discardFilterTexture();
if( windowFilter.isEmpty())
{
@ -1026,14 +1026,14 @@ void PresentWindowsEffect::paintWindowIcon( EffectWindow* w, WindowPaintData& pa
// if( data.icon.cacheKey() != w->icon().cacheKey())
{ // make sure data.icon is the right QPixmap, and rebind
data.icon = w->icon();
#ifdef HAVE_OPENGL
#ifdef KWIN_HAVE_OPENGL_COMPOSITING
if( effects->compositingType() == OpenGLCompositing )
{
data.iconTexture.load( data.icon );
data.iconTexture.setFilter( GL_LINEAR );
}
#endif
#ifdef HAVE_XRENDER
#ifdef KWIN_HAVE_XRENDER_COMPOSITING
if( effects->compositingType() == XRenderCompositing )
{
if( data.iconPicture != None )
@ -1048,7 +1048,7 @@ void PresentWindowsEffect::paintWindowIcon( EffectWindow* w, WindowPaintData& pa
int height = data.icon.height();
int x = w->x() + paintdata.xTranslate + w->width() * paintdata.xScale * 0.95 - width - icon_margin;
int y = w->y() + paintdata.yTranslate + w->height() * paintdata.yScale * 0.95 - height - icon_margin;
#ifdef HAVE_OPENGL
#ifdef KWIN_HAVE_OPENGL_COMPOSITING
if( effects->compositingType() == OpenGLCompositing )
{
glPushAttrib( GL_CURRENT_BIT | GL_ENABLE_BIT | GL_TEXTURE_BIT );
@ -1080,7 +1080,7 @@ void PresentWindowsEffect::paintWindowIcon( EffectWindow* w, WindowPaintData& pa
glPopAttrib();
}
#endif
#ifdef HAVE_XRENDER
#ifdef KWIN_HAVE_XRENDER_COMPOSITING
if( effects->compositingType() == XRenderCompositing )
{
XRenderComposite( display(),

View file

@ -27,7 +27,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include <QPixmap>
#ifdef HAVE_XRENDER
#ifdef KWIN_HAVE_XRENDER_COMPOSITING
#include <X11/extensions/Xrender.h>
#endif
@ -117,10 +117,10 @@ class PresentWindowsEffect
int x, y; // position of the slot in the grid
int slot_distance;
QPixmap icon;
#ifdef HAVE_OPENGL
#ifdef KWIN_HAVE_OPENGL_COMPOSITING
GLTexture iconTexture;
#endif
#ifdef HAVE_XRENDER
#ifdef KWIN_HAVE_XRENDER_COMPOSITING
Picture iconPicture;
#endif
};
@ -129,7 +129,7 @@ class PresentWindowsEffect
EffectWindow* mHighlightedWindow;
QString windowFilter;
#ifdef HAVE_OPENGL
#ifdef KWIN_HAVE_OPENGL_COMPOSITING
GLTexture* filterTexture;
QRect filterTextureRect;
QRect filterFrameRect;
@ -138,7 +138,7 @@ class PresentWindowsEffect
ElectricBorder borderActivate;
ElectricBorder borderActivateAll;
#ifdef HAVE_XRENDER
#ifdef KWIN_HAVE_XRENDER_COMPOSITING
XRenderPictFormat* alphaFormat;
#endif
};

View file

@ -20,16 +20,16 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "showfps.h"
#include <config-X11.h>
#include <kwinconfig.h>
#include <kconfiggroup.h>
#include <kglobal.h>
#include <ksharedconfig.h>
#ifdef HAVE_OPENGL
#ifdef KWIN_HAVE_OPENGL_COMPOSITING
#include <GL/gl.h>
#endif
#ifdef HAVE_XRENDER
#ifdef KWIN_HAVE_XRENDER_COMPOSITING
#include <X11/Xlib.h>
#include <X11/extensions/Xrender.h>
#endif
@ -115,14 +115,14 @@ void ShowFpsEffect::paintScreen( int mask, QRegion region, ScreenPaintData& data
++fps; // count all frames in the last second
if( fps > MAX_TIME )
fps = MAX_TIME; // keep it the same height
#ifdef HAVE_OPENGL
#ifdef KWIN_HAVE_OPENGL_COMPOSITING
if( effects->compositingType() == OpenGLCompositing)
{
paintGL( fps );
glFinish(); // make sure all rendering is done
}
#endif
#ifdef HAVE_XRENDER
#ifdef KWIN_HAVE_XRENDER_COMPOSITING
if( effects->compositingType() == XRenderCompositing)
{
paintXrender( fps );
@ -133,7 +133,7 @@ void ShowFpsEffect::paintScreen( int mask, QRegion region, ScreenPaintData& data
void ShowFpsEffect::paintGL( int fps )
{
#ifdef HAVE_OPENGL
#ifdef KWIN_HAVE_OPENGL_COMPOSITING
int x = this->x;
int y = this->y;
glPushAttrib( GL_CURRENT_BIT | GL_ENABLE_BIT );
@ -189,7 +189,7 @@ void ShowFpsEffect::paintGL( int fps )
*/
void ShowFpsEffect::paintXrender( int fps )
{
#ifdef HAVE_XRENDER
#ifdef KWIN_HAVE_XRENDER_COMPOSITING
Pixmap pixmap = XCreatePixmap( display(), rootWindow(), FPS_WIDTH, MAX_TIME, 32 );
XRenderPictFormat* format = XRenderFindStandardFormat( display(), PictStandardARGB32 );
Picture p = XRenderCreatePicture( display(), pixmap, format, 0, NULL );
@ -277,7 +277,7 @@ void ShowFpsEffect::paintDrawSizeGraph(int x, int y)
void ShowFpsEffect::paintGraph( int x, int y, QList<int> values, QList<int> lines, bool colorize)
{
#ifdef HAVE_OPENGL
#ifdef KWIN_HAVE_OPENGL_COMPOSITING
if( effects->compositingType() == OpenGLCompositing)
{
glColor4f( 0, 0, 0, alpha ); // black
@ -310,7 +310,7 @@ void ShowFpsEffect::paintGraph( int x, int y, QList<int> values, QList<int> line
glEnd();
}
#endif
#ifdef HAVE_XRENDER
#ifdef KWIN_HAVE_XRENDER_COMPOSITING
if( effects->compositingType() == XRenderCompositing)
{
Pixmap pixmap = XCreatePixmap( display(), rootWindow(), values.count(), MAX_TIME, 32 );

View file

@ -20,12 +20,12 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "showpaint.h"
#include <config-X11.h>
#include <kwinconfig.h>
#ifdef HAVE_OPENGL
#ifdef KWIN_HAVE_OPENGL_COMPOSITING
#include <GL/gl.h>
#endif
#ifdef HAVE_XRENDER
#ifdef KWIN_HAVE_XRENDER_COMPOSITING
#include <X11/Xlib.h>
#include <X11/extensions/Xrender.h>
#endif
@ -51,11 +51,11 @@ void ShowPaintEffect::paintScreen( int mask, QRegion region, ScreenPaintData& da
{
painted = QRegion();
effects->paintScreen( mask, region, data );
#ifdef HAVE_OPENGL
#ifdef KWIN_HAVE_OPENGL_COMPOSITING
if( effects->compositingType() == OpenGLCompositing)
paintGL();
#endif
#ifdef HAVE_XRENDER
#ifdef KWIN_HAVE_XRENDER_COMPOSITING
if( effects->compositingType() == XRenderCompositing)
paintXrender();
#endif
@ -72,7 +72,7 @@ void ShowPaintEffect::paintWindow( EffectWindow* w, int mask, QRegion region, Wi
// TODO I think we need some kind of generic paintRect()
void ShowPaintEffect::paintGL()
{
#ifdef HAVE_OPENGL
#ifdef KWIN_HAVE_OPENGL_COMPOSITING
glPushAttrib( GL_CURRENT_BIT | GL_ENABLE_BIT );
glEnable( GL_BLEND );
glBlendFunc( GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA );
@ -94,7 +94,7 @@ void ShowPaintEffect::paintGL()
void ShowPaintEffect::paintXrender()
{
#ifdef HAVE_XRENDER
#ifdef KWIN_HAVE_XRENDER_COMPOSITING
XRenderColor col;
int alpha = 0.2;
const QColor& color = colors[ color_index ];

View file

@ -20,14 +20,14 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "trackmouse.h"
#include <config-X11.h>
#include <kwinconfig.h>
#include <kglobal.h>
#include <kstandarddirs.h>
#include <math.h>
#ifdef HAVE_OPENGL
#ifdef KWIN_HAVE_OPENGL_COMPOSITING
#include <GL/gl.h>
#endif
@ -65,7 +65,7 @@ void TrackMouseEffect::paintScreen( int mask, QRegion region, ScreenPaintData& d
effects->paintScreen( mask, region, data ); // paint normal screen
if( !active )
return;
#ifdef HAVE_OPENGL
#ifdef KWIN_HAVE_OPENGL_COMPOSITING
if( texture )
{
glPushAttrib( GL_CURRENT_BIT | GL_ENABLE_BIT );
@ -140,7 +140,7 @@ QRect TrackMouseEffect::starRect( int num ) const
void TrackMouseEffect::loadTexture()
{
#ifdef HAVE_OPENGL
#ifdef KWIN_HAVE_OPENGL_COMPOSITING
QString file = KGlobal::dirs()->findResource( "appdata", "trackmouse.png" );
if( file.isEmpty())
return;

View file

@ -41,8 +41,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include <config-workspace.h>
#include "videorecord.h"
#include <kaction.h>

View file

@ -1,4 +1,5 @@
configure_file(kwinconfig.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/kwinconfig.h )
########### next target ###############

View file

@ -35,7 +35,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include <assert.h>
#ifdef HAVE_XRENDER
#ifdef KWIN_HAVE_XRENDER
#include <X11/extensions/Xrender.h>
#endif
@ -321,7 +321,7 @@ bool EffectsHandler::paintText( const QString& text, const QPoint& center, int m
QRect area( center.x() - textrect.width() / 2, center.y() - textrect.height() / 2,
textrect.width(), textrect.height() );
#ifdef HAVE_OPENGL
#ifdef KWIN_HAVE_OPENGL_COMPOSITING
if( effects->compositingType() == OpenGLCompositing )
{
GLTexture textTexture( textPixmap, GL_TEXTURE_RECTANGLE_ARB );
@ -349,7 +349,7 @@ bool EffectsHandler::paintText( const QString& text, const QPoint& center, int m
return true;
}
#endif
#ifdef HAVE_XRENDER
#ifdef KWIN_HAVE_XRENDER_COMPOSITING
if( effects->compositingType() == XRenderCompositing )
{
static XRenderPictFormat* alphaFormat = 0;
@ -379,7 +379,7 @@ bool EffectsHandler::paintTextWithBackground( const QString& text, const QPoint&
QRect area( center.x() - textrect.width() / 2, center.y() - textrect.height() / 2,
textrect.width(), textrect.height() );
#ifdef HAVE_OPENGL
#ifdef KWIN_HAVE_OPENGL_COMPOSITING
if( effects->compositingType() == OpenGLCompositing )
{
glColor4f( bgcolor.redF(), bgcolor.greenF(), bgcolor.blueF(), bgcolor.alphaF() );

View file

@ -23,6 +23,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#ifndef KWINEFFECTS_H
#define KWINEFFECTS_H
#include <kwinconfig.h>
#include <kwinglobals.h>
#include <QtCore/QPair>

View file

@ -30,6 +30,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include <X11/Xlib.h>
#include <fixx11h.h>
#include <kwinconfig.h>
namespace KWin
{

View file

@ -20,7 +20,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "kwinglutils.h"
#ifdef HAVE_OPENGL
#ifdef KWIN_HAVE_OPENGL
#include "kwinglobals.h"
#include "kwineffects.h"

View file

@ -21,9 +21,9 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#ifndef KWIN_GLUTILS_H
#define KWIN_GLUTILS_H
#include <config-X11.h> // HAVE_OPENGL
#include <kwinconfig.h> // KWIN_HAVE_OPENGL
#ifdef HAVE_OPENGL
#ifdef KWIN_HAVE_OPENGL
#include <kwinglutils_funcs.h>
#include <QPixmap>

View file

@ -32,7 +32,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
if( !function ) \
function = (function ## _func)getProcAddress( #backup );
#ifdef HAVE_OPENGL
#ifdef KWIN_HAVE_OPENGL
namespace KWin
{

View file

@ -25,9 +25,9 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define KWIN_EXPORT KDE_EXPORT
#include <config-X11.h> // HAVE_OPENGL
#include <kwinconfig.h> // KWIN_HAVE_OPENGL
#ifdef HAVE_OPENGL
#ifdef KWIN_HAVE_OPENGL
// gcc-3.3.3 apparently cannot resolve KWin's namespaced versions properly,
// so hide possible global functions

View file

@ -52,7 +52,7 @@ ShaderEffect::~ShaderEffect()
bool ShaderEffect::loadData(const QString& shadername)
{
#ifndef HAVE_OPENGL
#ifndef KWIN_HAVE_OPENGL_COMPOSITING
return false;
#else
// If NPOT textures are not supported, use nearest power-of-two sized
@ -100,7 +100,7 @@ bool ShaderEffect::loadData(const QString& shadername)
bool ShaderEffect::supported()
{
#ifndef HAVE_OPENGL
#ifndef KWIN_HAVE_OPENGL_COMPOSITING
return false;
#else
return GLRenderTarget::supported() &&
@ -129,7 +129,7 @@ GLShader* ShaderEffect::shader() const
void ShaderEffect::prePaintScreen( ScreenPrePaintData& data, int time )
{
mTime += time / 1000.0f;
#ifdef HAVE_OPENGL
#ifdef KWIN_HAVE_OPENGL_COMPOSITING
if( mValid && mEnabled )
{
data.mask |= PAINT_SCREEN_WITH_TRANSFORMED_WINDOWS;
@ -146,7 +146,7 @@ void ShaderEffect::postPaintScreen()
// Call the next effect.
effects->postPaintScreen();
#ifdef HAVE_OPENGL
#ifdef KWIN_HAVE_OPENGL_COMPOSITING
if( mValid && mEnabled )
{
// Disable render texture

View file

@ -82,7 +82,7 @@ Sources and other compositing managers:
// normally only few of them are enabled
//#define CHECK_GL_ERROR
#ifdef HAVE_OPENGL
#ifdef KWIN_HAVE_OPENGL_COMPOSITING
namespace KWin
{

View file

@ -25,7 +25,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "kwinglutils.h"
#ifdef HAVE_OPENGL
#ifdef KWIN_HAVE_OPENGL_COMPOSITING
#ifdef HAVE_XSHM
#include <X11/extensions/XShm.h>

View file

@ -39,7 +39,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "scene_xrender.h"
#if defined(HAVE_XRENDER) && defined(HAVE_XFIXES)
#ifdef KWIN_HAVE_XRENDER_COMPOSITING
#include "toplevel.h"
#include "client.h"

View file

@ -25,7 +25,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "scene.h"
#if defined(HAVE_XRENDER) && defined(HAVE_XFIXES)
#ifdef KWIN_HAVE_XRENDER_COMPOSITING
#include <X11/extensions/Xrender.h>
#include <X11/extensions/Xfixes.h>

View file

@ -42,28 +42,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include <X11/Xatom.h>
#include <QX11Info>
#ifdef HAVE_XRENDER
#include <X11/extensions/Xrender.h>
#endif
#ifdef HAVE_XFIXES
#include <X11/extensions/Xfixes.h>
#endif
#ifdef HAVE_XDAMAGE
#include <X11/extensions/Xdamage.h>
#endif
#ifdef HAVE_XRANDR
#include <X11/extensions/Xrandr.h>
#endif
#ifdef HAVE_XCOMPOSITE
#include <X11/extensions/Xcomposite.h>
#endif
#ifdef HAVE_OPENGL
#include <GL/glx.h>
#endif
#ifdef HAVE_XSYNC
#include <X11/extensions/sync.h>
#endif
#include <stdio.h>
#include "atoms.h"

View file

@ -26,6 +26,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include <config-X11.h>
#include <config-kwin.h>
#include <kwinconfig.h>
#include <X11/Xlib.h>
#include <fixx11h.h>