summaryrefslogtreecommitdiffstats log msg author committer range
 ```1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 ``` ``````/*************************************************************************** * Copyright (C) 2011 by Timothy Pearson * * * * 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 KROOTBACKING_H #define KROOTBACKING_H #include #include #include #include #ifndef Q_WS_QWS //FIXME class TQRect; class TQWidget; class TQTimer; class KSharedPixmap; class KRootBackingData; /** * Gets the current full shared desktop pixmap and feeds it to xscreensaver * * @author Timothy Pearson */ class KRootBacking: public TQObject { Q_OBJECT public: /** * Constructs a KRootBacking. */ KRootBacking(); /** * Destructs the object. */ virtual ~KRootBacking(); /** * Checks if pseudo-transparency is available. * @return @p true if transparency is available, @p false otherwise. */ bool isAvailable() const; /** * Returns true if the KRootBacking is active. */ bool isActive() const { return m_bActive; } /** * Returns the number of the current desktop. */ int currentDesktop() const; #ifndef KDE_NO_COMPAT /** * Deprecated, use isAvailable() instead. * @deprecated */ KDE_DEPRECATED bool checkAvailable(bool) { return isAvailable(); } #endif /** @since 3.2 * @return the fade color. */ const TQColor &color() const { return m_FadeColor; } /** @since 3.2 * @return the color opacity. */ double opacity() const { return m_Fade; } public slots: /** * Starts background handling. */ virtual void start(); /** * Stops background handling. */ virtual void stop(); /** * Sets the fade effect. * * This effect will fade the background to the * specified color. * @param opacity A value between 0 and 1, indicating the opacity * of the color. A value of 0 will not change the image, a value of 1 * will use the fade color unchanged. * @param color The color to fade to. */ void setFadeEffect(double opacity, const TQColor &color); /** * Repaints the widget background. Normally, you shouldn't need this * as it is handled automatically. * * @param force Force a tqrepaint, even if the contents did not change. */ void tqrepaint( bool force ); /** * Repaints the widget background. Normally, you shouldn't need this * as it is handled automatically. This is equivalent to calling * tqrepaint( false ). */ void tqrepaint(); /** * Asks KDesktop to export the desktop background as a KSharedPixmap. * This method uses DCOP to call KBackgroundIface/setExport(int). */ void enableExports(); /** * Returns the name of the shared pixmap (only needed for low level access) */ static TQString pixmapName(int desk); signals: /** * Emitted when the background needs updating and custom painting * (see setCustomPainting(bool) ) is enabled. * * @param pm A pixmap containing the new background. */ void backgroundUpdated( const TQPixmap &pm ); protected: /** * Called when the pixmap has been updated. The default implementation * applies the fade effect, then sets the target's background, or emits * backgroundUpdated(const TQPixmap &) depending on the painting mode. */ virtual void updateBackground( KSharedPixmap * ); private slots: void slotBackgroundChanged(int); void slotDone(bool); private: bool m_bActive, m_bInit; int m_Desk; int m_timeout; double m_Fade; TQColor m_FadeColor; TQRect m_Rect; TQTimer *m_pTimer; KSharedPixmap *m_pPixmap; KRootBackingData *d; void init(); }; #endif // ! Q_WS_QWS #endif // KROOTBACKING_H ``````