aboutsummaryrefslogtreecommitdiffstats
path: root/src/modules/objects/KvsObject_pixmap.h
diff options
context:
space:
mode:
authorGravatar Noldor2011-04-28 16:21:09 +0000
committerGravatar Noldor2011-04-28 16:21:09 +0000
commit6ef086201df1e347590198f843c87ce320453176 (patch)
tree0846f136ec43f7ef5b91b3734e94462a60afa989 /src/modules/objects/KvsObject_pixmap.h
parentAdded alpha component in color options (diff)
downloadKVIrc-6ef086201df1e347590198f843c87ce320453176.tar.gz
KVIrc-6ef086201df1e347590198f843c87ce320453176.tar.bz2
KVIrc-6ef086201df1e347590198f843c87ce320453176.zip
Code improvements in kvs classes
git-svn-id: https://svn.kvirc.de/svn/trunk/kvirc@5805 17fca916-40b9-46aa-a4ea-0a15b648b75c
Diffstat (limited to 'src/modules/objects/KvsObject_pixmap.h')
-rw-r--r--src/modules/objects/KvsObject_pixmap.h44
1 files changed, 40 insertions, 4 deletions
diff --git a/src/modules/objects/KvsObject_pixmap.h b/src/modules/objects/KvsObject_pixmap.h
index 154713872..e0845224c 100644
--- a/src/modules/objects/KvsObject_pixmap.h
+++ b/src/modules/objects/KvsObject_pixmap.h
@@ -43,12 +43,45 @@ class KvsObject_pixmap : public KviKvsObject
// Q_PROPERTY(QPixmap pixmap READ getPixmap)
public:
KVSO_DECLARE_OBJECT(KvsObject_pixmap)
- QPixmap * getPixmap();
- void setInternalPixmap(QPixmap *p);
- //QPixmap * pixmap(){ return m_pPixmap; }
+ enum Type { Pixmap, AnimatedPixmap, Image };
+ Type m_currentType;
+ void setInternalPixmap(QPixmap *pPixmap);
+ void setInternalImage(QImage *pImage);
+
+ QImage * getImage()
+ {
+ if(!m_pImage) m_pImage = new QImage();
+ if(m_currentType==Pixmap)
+ {
+ if(m_pPixmap){
+ *m_pImage = m_pPixmap->toImage();
+ delete m_pPixmap;
+ m_pPixmap = 0;
+ }
+ }
+ m_currentType = Image;
+ return m_pImage;
+ }
+
+ QPixmap * getPixmap()
+ {
+ if(!m_pPixmap) m_pPixmap = new QPixmap();
+ if(m_currentType==Image)
+ {
+ if(m_pImage){
+ *m_pPixmap = m_pPixmap->fromImage(*m_pImage);
+ delete m_pImage;
+ m_pImage = 0;
+ }
+ }
+ m_currentType = Pixmap;
+ return m_pPixmap;
+ }
+
protected:
KviAnimatedPixmap * m_pAnimatedPixmap;
QPixmap * m_pPixmap;
+ QImage * m_pImage;
signals:
void aboutToDie();
protected:
@@ -65,8 +98,11 @@ protected:
bool height(KviKvsObjectFunctionCall *c);
bool width(KviKvsObjectFunctionCall *c);
bool grabWidget(KviKvsObjectFunctionCall *c);
-// bool setOpacity(KviKvsObjectFunctionCall *c);
bool loadFromMemoryBuffer(KviKvsObjectFunctionCall *c);
+ bool rotate(KviKvsObjectFunctionCall *c);
+ bool toGrayScale(KviKvsObjectFunctionCall *c);
+ bool mirrored(KviKvsObjectFunctionCall *c);
+ bool setPixel(KviKvsObjectFunctionCall *c);
bool frameChangedEvent(KviKvsObjectFunctionCall *c);