summaryrefslogtreecommitdiffstats
path: root/kcontrol/background/KCrossBGRender.h
diff options
context:
space:
mode:
authorFrançois Andriot <[email protected]>2014-06-18 12:56:04 +0900
committerMichele Calgaro <[email protected]>2014-06-18 12:56:04 +0900
commitdb19d360b6f2abc0796a3789e3b428de68ad120d (patch)
tree174e37c9c40b7ce56334210372861ca2798d1336 /kcontrol/background/KCrossBGRender.h
parente96ee72ff00de1de77dd4a50fca83cea15d5b549 (diff)
downloadtdebase-db19d360b6f2abc0796a3789e3b428de68ad120d.tar.gz
tdebase-db19d360b6f2abc0796a3789e3b428de68ad120d.zip
Added smooth crossfade effect option when changing the desktop wallpaper.
Diffstat (limited to 'kcontrol/background/KCrossBGRender.h')
-rw-r--r--kcontrol/background/KCrossBGRender.h76
1 files changed, 76 insertions, 0 deletions
diff --git a/kcontrol/background/KCrossBGRender.h b/kcontrol/background/KCrossBGRender.h
new file mode 100644
index 000000000..f3c2f0931
--- /dev/null
+++ b/kcontrol/background/KCrossBGRender.h
@@ -0,0 +1,76 @@
+/*
+ * Copyright (C) 2008 Danilo Cesar Lemes de Paula <[email protected]>
+ * Copyright (C) 2008 Gustavo Boiko <[email protected]>
+ * Mandriva Conectiva
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License version 2 as published by the Free Software Foundation.
+ *
+ * This library 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
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public License
+ * along with this library; see the file COPYING.LIB. If not, write to
+ * the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+*/
+
+#ifndef __KCROSSBGRENDER_H__
+#define __KCROSSBGRENDER_H__
+
+
+#include <tqvaluelist.h>
+#include <tqpixmap.h>
+#include <tqvaluelist.h>
+#include <tqdatetime.h>
+
+#include "bgrender.h"
+
+class TQDomElement;
+
+typedef struct crossEvent{
+ bool transition;
+ TQString pix1;
+ TQString pix2;
+ TQTime stime; //start time
+ TQTime etime; //end time
+} KBGCrossEvent;
+
+
+class KCrossBGRender: public KBackgroundRenderer{
+
+TQ_OBJECT
+
+public:
+ KCrossBGRender(int desk, int screen, bool drawBackgroundPerScreen, TDEConfig *config=0);
+ ~KCrossBGRender();
+
+ bool needWallpaperChange();
+ void changeWallpaper(bool init=false);
+ TQPixmap pixmap();
+ bool usingCrossXml(){return useCrossEfect;};
+
+
+private:
+ TQPixmap pix;
+ int secs;
+ TQString xmlFileName;
+ bool useCrossEfect;
+
+ int actualPhase;
+
+ void createStartTime(TQDomElement e);
+ void createTransition(TQDomElement e);
+ void createStatic(TQDomElement e);
+ bool setCurrentEvent(bool init = false);
+ void initCrossFade(TQString xml);
+ void fixEnabled();
+ TQPixmap getCurrentPixmap();
+ KBGCrossEvent current;
+ TQValueList<KBGCrossEvent> timeList;
+};
+
+#endif // __KCROSSBGRENDER_H__