summaryrefslogtreecommitdiffstats
path: root/kwin/tools/decobenchmark
diff options
context:
space:
mode:
Diffstat (limited to 'kwin/tools/decobenchmark')
-rw-r--r--kwin/tools/decobenchmark/Makefile.am9
-rw-r--r--kwin/tools/decobenchmark/main.cpp138
-rw-r--r--kwin/tools/decobenchmark/main.h51
-rw-r--r--kwin/tools/decobenchmark/preview.cpp412
-rw-r--r--kwin/tools/decobenchmark/preview.h137
5 files changed, 0 insertions, 747 deletions
diff --git a/kwin/tools/decobenchmark/Makefile.am b/kwin/tools/decobenchmark/Makefile.am
deleted file mode 100644
index bb3e884cd..000000000
--- a/kwin/tools/decobenchmark/Makefile.am
+++ /dev/null
@@ -1,9 +0,0 @@
-noinst_PROGRAMS = decobenchmark
-
-INCLUDES = $(all_includes)
-
-decobenchmark_SOURCES = main.cpp preview.cpp
-decobenchmark_LDFLAGS = $(all_libraries)
-decobenchmark_LDADD = ../../lib/libtdecorations.la
-
-METASOURCES = AUTO
diff --git a/kwin/tools/decobenchmark/main.cpp b/kwin/tools/decobenchmark/main.cpp
deleted file mode 100644
index 59a6e6762..000000000
--- a/kwin/tools/decobenchmark/main.cpp
+++ /dev/null
@@ -1,138 +0,0 @@
-/*
- *
- * Copyright (c) 2005 Sandro Giessl <sandro@giessl.com>
- * Copyright (c) 2005 Luciano Montanaro <mikelima@cirulla.net>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- */
-
-#include <tqtimer.h>
-
-#include <kdebug.h>
-#include <kconfig.h>
-#include <kdecoration_plugins_p.h>
-#include <kdecorationfactory.h>
-
-#include <time.h>
-#include <sys/timeb.h>
-#include <iostream>
-
-
-#include <kaboutdata.h>
-#include <kapplication.h>
-#include <kcmdlineargs.h>
-
-#include "preview.h"
-#include "main.h"
-
-static KCmdLineOptions options[] =
-{
- { "+decoration", "Decoration library to use, such as twin3_plastik.", 0 },
- { "+tests", "Which test should be executed ('all', 'tqrepaint', 'caption', 'resize', 'recreation')", 0 },
- { "+repetitions", "Number of test repetitions.", 0 },
- { 0, 0, 0 }
-};
-
-DecoBenchApplication::DecoBenchApplication(const TQString &library, Tests tests, int count) :
- m_tests(tests),
- m_count(count)
-{
- KConfig twinConfig("twinrc");
- twinConfig.setGroup("Style");
-
- plugins = new KDecorationPreviewPlugins( &twinConfig );
- preview = new KDecorationPreview( plugins, 0 );
-
- if (plugins->loadPlugin(library) )
- kdDebug() << "Decoration library " << library << " loaded..." << endl;
- else
- kdError() << "Error loading decoration library " << library << "!" << endl;
-
- if (preview->recreateDecoration() )
- kdDebug() << "Decoration created..." << endl;
- else
- kdError() << "Error creating decoration!" << endl;
-
- preview->show();
-}
-
-DecoBenchApplication::~DecoBenchApplication()
-{
- delete preview;
- delete plugins;
-}
-
-void DecoBenchApplication::executeTest()
-{
- clock_t stime = clock();
- timeb astart, aend;
- ftime(&astart);
-
- if (m_tests == AllTests || m_tests == RepaintTest)
- preview->performRepaintTest(m_count);
- if (m_tests == AllTests || m_tests == CaptionTest)
- preview->performCaptionTest(m_count);
- if (m_tests == AllTests || m_tests == ResizeTest)
- preview->performResizeTest(m_count);
- if (m_tests == AllTests || m_tests == RecreationTest)
- preview->performRecreationTest(m_count);
-
- clock_t etime = clock();
- ftime(&aend);
-
- long long time_diff = (aend.time - astart.time)*1000+aend.millitm - astart.millitm;
- kdDebug() << "Total:" << (float(time_diff)/1000) << endl;
- quit();
-}
-
-int main(int argc, char** argv)
-{
- TQString style = "keramik";
- // KApplication app(argc, argv);
- KAboutData about("decobenchmark", "DecoBenchmark", "0.1", "twin decoration performance tester...", KAboutData::License_LGPL, "(C) 2005 Sandro Giessl");
- KCmdLineArgs::init(argc, argv, &about);
- KCmdLineArgs::addCmdLineOptions( options );
-
- KCmdLineArgs *args = KCmdLineArgs::parsedArgs();
-
- if (args->count() != 3)
- KCmdLineArgs::usage("Wrong number of arguments!");
-
- TQString library = TQString(args->arg(0) );
- TQString t = TQString(args->arg(1) );
- int count = TQString(args->arg(2) ).toInt();
-
- Tests test;
- if (t == "all")
- test = AllTests;
- else if (t == "tqrepaint")
- test = RepaintTest;
- else if (t == "caption")
- test = CaptionTest;
- else if (t == "resize")
- test = ResizeTest;
- else if (t == "recreation")
- test = RecreationTest;
- else
- KCmdLineArgs::usage("Specify a valid test!");
-
- DecoBenchApplication app(library, test, count);
-
- TQTimer::singleShot(0, &app, TQT_SLOT(executeTest()));
- app.exec();
-}
-#include "main.moc"
-
-// kate: space-indent off; tab-width 4;
diff --git a/kwin/tools/decobenchmark/main.h b/kwin/tools/decobenchmark/main.h
deleted file mode 100644
index 65c0c78ae..000000000
--- a/kwin/tools/decobenchmark/main.h
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- *
- * Copyright (c) 2005 Sandro Giessl <sandro@giessl.com>
- * Copyright (c) 2005 Luciano Montanaro <mikelima@cirulla.net>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- */
-
-#ifndef BENCH_MAIN_H
-#define BENCH_MAIN_H
-
-enum Tests {
- AllTests,
- RepaintTest,
- CaptionTest,
- ResizeTest,
- RecreationTest
-};
-
-class DecoBenchApplication : public KApplication
-{
- Q_OBJECT
-public:
- DecoBenchApplication(const TQString &library, Tests tests, int count);
- ~DecoBenchApplication();
-
-public slots:
- void executeTest();
-
-private:
- KDecorationPreview *preview;
- KDecorationPlugins *plugins;
- Tests m_tests;
- int m_count;
-};
-
-#endif // BENCH_MAIN_H
-
-// kate: space-indent off; tab-width 4;
diff --git a/kwin/tools/decobenchmark/preview.cpp b/kwin/tools/decobenchmark/preview.cpp
deleted file mode 100644
index ec870abe5..000000000
--- a/kwin/tools/decobenchmark/preview.cpp
+++ /dev/null
@@ -1,412 +0,0 @@
-/*
- *
- * Copyright (c) 2003 Lubos Lunak <l.lunak@kde.org>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- */
-
-#include "preview.h"
-
-#include <kdebug.h>
-
-#include <kapplication.h>
-#include <klocale.h>
-#include <kconfig.h>
-#include <kglobal.h>
-#include <tqlabel.h>
-#include <tqstyle.h>
-#include <kiconloader.h>
-
-#include <X11/Xlib.h>
-#include <X11/extensions/shape.h>
-
-#include <kdecorationfactory.h>
-#include <kdecoration_plugins_p.h>
-
-// FRAME the preview doesn't update to reflect the changes done in the kcm
-
-KDecorationPreview::KDecorationPreview( KDecorationPlugins* plugin, TQWidget* parent, const char* name )
- : TQWidget( parent, name ),
- m_plugin(plugin)
-{
- options = new KDecorationPreviewOptions;
-
- bridge = new KDecorationPreviewBridge( this, true, "Deco Benchmark" );
-
- deco = 0;
-
- setFixedSize( 600, 500 );
-
- positionPreviews();
-}
-
-KDecorationPreview::~KDecorationPreview()
-{
- delete deco;
- delete bridge;
- delete options;
-}
-
-void KDecorationPreview::performRepaintTest(int n)
-{
- kdDebug() << "start " << n << " repaints..." << endl;
- bridge->setCaption("Deco Benchmark");
- deco->captionChange();
- positionPreviews(0);
- for (int i = 0; i < n; ++i) {
- deco->widget()->tqrepaint();
- kapp->processEvents();
- }
-}
-
-void KDecorationPreview::performCaptionTest(int n)
-{
- kdDebug() << "start " << n << " caption changes..." << endl;
- TQString caption = "Deco Benchmark %1";
- positionPreviews(0);
- for (int i = 0; i < n; ++i) {
- bridge->setCaption(caption.arg(i) );
- deco->captionChange();
- deco->widget()->tqrepaint();
- kapp->processEvents();
- }
-}
-
-void KDecorationPreview::performResizeTest(int n)
-{
- kdDebug() << "start " << n << " resizes..." << endl;
- bridge->setCaption("Deco Benchmark");
- deco->captionChange();
- for (int i = 0; i < n; ++i) {
- positionPreviews(i % 200);
- kapp->processEvents();
- }
-}
-
-void KDecorationPreview::performRecreationTest(int n)
-{
- kdDebug() << "start " << n << " resizes..." << endl;
- bridge->setCaption("Deco Benchmark");
- deco->captionChange();
- positionPreviews(0);
- for (int i = 0; i < n; ++i) {
- recreateDecoration();
- kapp->processEvents();
- }
-}
-
-bool KDecorationPreview::recreateDecoration()
-{
- delete deco;
- deco = m_plugin->createDecoration(bridge);
- deco->init();
-
- if (!deco)
- return false;
-
- positionPreviews();
- deco->widget()->show();
-
- return true;
-}
-
-void KDecorationPreview::positionPreviews(int shrink)
-{
- if ( !deco )
- return;
-
- TQSize size = TQSize(width()-2*10-shrink, height()-2*10-shrink)/*.expandedTo(deco->tqminimumSize()*/;
-
- TQRect geometry(TQPoint(10, 10), size);
- deco->widget()->setGeometry(geometry);
-}
-
-void KDecorationPreview::setPreviewMask( const TQRegion& reg, int mode )
-{
- TQWidget *widget = deco->widget();
-
- // FRAME duped from client.cpp
- if( mode == Unsorted )
- {
- XShapeCombineRegion( qt_xdisplay(), widget->winId(), ShapeBounding, 0, 0,
- reg.handle(), ShapeSet );
- }
- else
- {
- TQMemArray< TQRect > rects = reg.rects();
- XRectangle* xrects = new XRectangle[ rects.count() ];
- for( unsigned int i = 0;
- i < rects.count();
- ++i )
- {
- xrects[ i ].x = rects[ i ].x();
- xrects[ i ].y = rects[ i ].y();
- xrects[ i ].width = rects[ i ].width();
- xrects[ i ].height = rects[ i ].height();
- }
- XShapeCombineRectangles( qt_xdisplay(), widget->winId(), ShapeBounding, 0, 0,
- xrects, rects.count(), ShapeSet, mode );
- delete[] xrects;
- }
-}
-
-TQRect KDecorationPreview::windowGeometry( bool active ) const
-{
- TQWidget *widget = deco->widget();
- return widget->geometry();
-}
-
-TQRegion KDecorationPreview::unobscuredRegion( bool active, const TQRegion& r ) const
-{
- return r;
-}
-
-KDecorationPreviewBridge::KDecorationPreviewBridge( KDecorationPreview* p, bool a, const TQString &c )
- : preview( p ), active( a ), m_caption( c )
-{
-}
-
-void KDecorationPreviewBridge::setCaption(const TQString &c)
-{
- m_caption = c;
-}
-
-TQWidget* KDecorationPreviewBridge::initialParentWidget() const
- {
- return preview;
- }
-
-Qt::WFlags KDecorationPreviewBridge::initialWFlags() const
- {
- return 0;
- }
-
-bool KDecorationPreviewBridge::isActive() const
- {
- return active;
- }
-
-bool KDecorationPreviewBridge::isCloseable() const
- {
- return true;
- }
-
-bool KDecorationPreviewBridge::isMaximizable() const
- {
- return true;
- }
-
-KDecoration::MaximizeMode KDecorationPreviewBridge::maximizeMode() const
- {
- return KDecoration::MaximizeRestore;
- }
-
-bool KDecorationPreviewBridge::isMinimizable() const
- {
- return true;
- }
-
-bool KDecorationPreviewBridge::providesContextHelp() const
- {
- return true;
- }
-
-int KDecorationPreviewBridge::desktop() const
- {
- return 1;
- }
-
-bool KDecorationPreviewBridge::isModal() const
- {
- return false;
- }
-
-bool KDecorationPreviewBridge::isShadeable() const
- {
- return true;
- }
-
-bool KDecorationPreviewBridge::isShade() const
- {
- return false;
- }
-
-bool KDecorationPreviewBridge::isSetShade() const
- {
- return false;
- }
-
-bool KDecorationPreviewBridge::keepAbove() const
- {
- return false;
- }
-
-bool KDecorationPreviewBridge::keepBelow() const
- {
- return false;
- }
-
-bool KDecorationPreviewBridge::isMovable() const
- {
- return true;
- }
-
-bool KDecorationPreviewBridge::isResizable() const
- {
- return true;
- }
-
-NET::WindowType KDecorationPreviewBridge::windowType( unsigned long ) const
- {
- return NET::Normal;
- }
-
-TQIconSet KDecorationPreviewBridge::icon() const
- {
- return SmallIconSet( "xapp" );
- }
-
-TQString KDecorationPreviewBridge::caption() const
-{
- return m_caption;
-}
-
-void KDecorationPreviewBridge::processMousePressEvent( TQMouseEvent* )
- {
- }
-
-void KDecorationPreviewBridge::showWindowMenu( const TQRect &)
- {
- }
-
-void KDecorationPreviewBridge::showWindowMenu( TQPoint )
- {
- }
-
-void KDecorationPreviewBridge::performWindowOperation( WindowOperation )
- {
- }
-
-void KDecorationPreviewBridge::setMask( const TQRegion& reg, int mode )
- {
- preview->setPreviewMask( reg, mode );
- }
-
-bool KDecorationPreviewBridge::isPreview() const
- {
- return false;
- }
-
-TQRect KDecorationPreviewBridge::geometry() const
- {
- return preview->windowGeometry( active );
- }
-
-TQRect KDecorationPreviewBridge::iconGeometry() const
- {
- return TQRect();
- }
-
-TQRegion KDecorationPreviewBridge::unobscuredRegion( const TQRegion& r ) const
- {
- return preview->unobscuredRegion( active, r );
- }
-
-TQWidget* KDecorationPreviewBridge::workspaceWidget() const
- {
- return preview;
- }
-
-WId KDecorationPreviewBridge::windowId() const
- {
- return 0; // no decorated window
- }
-
-void KDecorationPreviewBridge::closeWindow()
- {
- }
-
-void KDecorationPreviewBridge::maximize( MaximizeMode )
- {
- }
-
-void KDecorationPreviewBridge::minimize()
- {
- }
-
-void KDecorationPreviewBridge::showContextHelp()
- {
- }
-
-void KDecorationPreviewBridge::setDesktop( int )
- {
- }
-
-void KDecorationPreviewBridge::titlebarDblClickOperation()
- {
- }
-
-void KDecorationPreviewBridge::setShade( bool )
- {
- }
-
-void KDecorationPreviewBridge::setKeepAbove( bool )
- {
- }
-
-void KDecorationPreviewBridge::setKeepBelow( bool )
- {
- }
-
-int KDecorationPreviewBridge::currentDesktop() const
- {
- return 1;
- }
-
-void KDecorationPreviewBridge::helperShowHide( bool )
- {
- }
-
-void KDecorationPreviewBridge::grabXServer( bool )
- {
- }
-
-KDecorationPreviewOptions::KDecorationPreviewOptions()
- {
- d = new KDecorationOptionsPrivate;
- d->defaultKWinSettings();
- updateSettings();
- }
-
-KDecorationPreviewOptions::~KDecorationPreviewOptions()
- {
- delete d;
- }
-
-unsigned long KDecorationPreviewOptions::updateSettings()
-{
- KConfig cfg( "twinrc", true );
- unsigned long changed = 0;
- changed |= d->updateKWinSettings( &cfg );
-
- return changed;
-}
-
-bool KDecorationPreviewPlugins::provides( Requirement )
- {
- return false;
- }
-
-// #include "preview.moc"
diff --git a/kwin/tools/decobenchmark/preview.h b/kwin/tools/decobenchmark/preview.h
deleted file mode 100644
index 9f2445036..000000000
--- a/kwin/tools/decobenchmark/preview.h
+++ /dev/null
@@ -1,137 +0,0 @@
-/*
- *
- * Copyright (c) 2003 Lubos Lunak <l.lunak@kde.org>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- */
-
-#ifndef KWINDECORATION_PREVIEW_H
-#define KWINDECORATION_PREVIEW_H
-
-#include <tqwidget.h>
-#include <kdecoration_p.h>
-#include <kdecoration_plugins_p.h>
-
-class TQLabel;
-
-class KDecorationPreviewBridge;
-class KDecorationPreviewOptions;
-
-class KDecorationPreview
- : public QWidget
- {
- public:
- KDecorationPreview( KDecorationPlugins* plugin, TQWidget* parent = NULL, const char* name = NULL );
- virtual ~KDecorationPreview();
-
- void performRepaintTest(int n);
- void performCaptionTest(int n);
- void performResizeTest(int n);
- void performRecreationTest(int n);
-
- bool recreateDecoration();
- void setPreviewMask( const TQRegion&, int );
- TQRegion unobscuredRegion( bool, const TQRegion& ) const;
- TQRect windowGeometry( bool ) const;
- private:
- void positionPreviews(int shrink = 0);
- KDecorationPreviewOptions* options;
- KDecorationPreviewBridge* bridge;
- KDecoration* deco;
- KDecorationPlugins* m_plugin;
- };
-
-class KDecorationPreviewBridge
- : public KDecorationBridge
- {
- public:
- KDecorationPreviewBridge( KDecorationPreview* preview, bool active, const TQString &caption );
-
- void setCaption(const TQString &caption);
-
- virtual bool isActive() const;
- virtual bool isCloseable() const;
- virtual bool isMaximizable() const;
- virtual MaximizeMode maximizeMode() const;
- virtual bool isMinimizable() const;
- virtual bool providesContextHelp() const;
- virtual int desktop() const;
- virtual bool isModal() const;
- virtual bool isShadeable() const;
- virtual bool isShade() const;
- virtual bool isSetShade() const;
- virtual bool keepAbove() const;
- virtual bool keepBelow() const;
- virtual bool isMovable() const;
- virtual bool isResizable() const;
- virtual NET::WindowType windowType( unsigned long supported_types ) const;
- virtual TQIconSet icon() const;
- virtual TQString caption() const;
- virtual void processMousePressEvent( TQMouseEvent* );
- virtual void showWindowMenu( const TQRect &);
- virtual void showWindowMenu( TQPoint );
- virtual void performWindowOperation( WindowOperation );
- virtual void setMask( const TQRegion&, int );
- virtual bool isPreview() const;
- virtual TQRect geometry() const;
- virtual TQRect iconGeometry() const;
- virtual TQRegion unobscuredRegion( const TQRegion& r ) const;
- virtual TQWidget* workspaceWidget() const;
- virtual WId windowId() const;
- virtual void closeWindow();
- virtual void maximize( MaximizeMode mode );
- virtual void minimize();
- virtual void showContextHelp();
- virtual void setDesktop( int desktop );
- virtual void titlebarDblClickOperation();
- virtual void setShade( bool set );
- virtual void setKeepAbove( bool );
- virtual void setKeepBelow( bool );
- virtual int currentDesktop() const;
- virtual TQWidget* initialParentWidget() const;
- virtual Qt::WFlags initialWFlags() const;
- virtual void helperShowHide( bool show );
- virtual void grabXServer( bool grab );
- private:
- KDecorationPreview* preview;
- bool active;
- TQString m_caption;
- };
-
-class KDecorationPreviewOptions
- : public KDecorationOptions
- {
- public:
- KDecorationPreviewOptions();
- virtual ~KDecorationPreviewOptions();
- virtual unsigned long updateSettings();
-
- private:
- };
-
-class KDecorationPreviewPlugins
- : public KDecorationPlugins
- {
- public:
- KDecorationPreviewPlugins( KConfig* cfg );
- virtual bool provides( Requirement );
- };
-
-inline KDecorationPreviewPlugins::KDecorationPreviewPlugins( KConfig* cfg )
- : KDecorationPlugins( cfg )
- {
- }
-
-#endif