2 * Copyright (C) 2003 by Unai Garro <ugarro@users.sourceforge.net>
3 * Copyright (C) 2004 by Enrico Ros <rosenric@dei.unipd.it>
4 * Copyright (C) 2004 by Stephan Kulow <coolo@kde.org>
5 * Copyright (C) 2004 by Oswald Buddenhagen <ossi@kde.org>
7 * This program is free software; you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License as published by
9 * the Free Software Foundation; either version 2 of the License, or
10 * (at your option) any later version.
12 * This program is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 * GNU General Public License for more details.
17 * You should have received a copy of the GNU General Public License
18 * along with this program; if not, write to the Free Software
19 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
34 * KdmPixmap. A pixmap element
37 class KdmPixmap
: public KdmItem
{
41 KdmPixmap( QObject
*parent
, const QDomNode
&node
);
44 // reimplemented; returns the size of loaded pixmap
45 virtual QSize
sizeHint();
48 virtual void drawContents( QPainter
*p
, const QRect
&r
);
50 // handle switching between normal / active / prelight configurations
51 virtual void statusChanged( bool descend
);
53 virtual void setGeometry( QStack
<QSize
> &parentSizes
, const QRect
&newGeometry
, bool force
);
58 : svgRenderer(0), present(false), svgImage(false) {}
61 KSvgRenderer
*svgRenderer
;
68 } normal
, active
, prelight
;
74 // Method to load the image given by the theme
75 void definePixmap( const QDomElement
&el
, PixmapStruct::PixmapClass
&pc
);
76 bool loadPixmap( PixmapStruct::PixmapClass
&pc
);
77 bool loadSvg( PixmapStruct::PixmapClass
&pc
);
78 void applyTint( PixmapStruct::PixmapClass
&pClass
, QImage
&img
);
79 void updateSize( PixmapStruct::PixmapClass
&pClass
);
80 PixmapStruct::PixmapClass
&getClass( ItemState sts
);
81 PixmapStruct::PixmapClass
&getCurClass() { return getClass( state
); }
84 void slotAnimate( int sts
);