From 93b9f3b52aecf5f6145f2478930dc9d88bc7d609 Mon Sep 17 00:00:00 2001 From: Alexey Uzhva Date: Mon, 2 Apr 2007 09:15:36 +0000 Subject: Added $ccale() and $rotate() to the pixmap class (by thexception) git-svn-id: https://svn.kvirc.de/svn/trunk/kvirc@455 17fca916-40b9-46aa-a4ea-0a15b648b75c --- src/modules/objects/class_pixmap.cpp | 43 ++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) (limited to 'src/modules/objects/class_pixmap.cpp') diff --git a/src/modules/objects/class_pixmap.cpp b/src/modules/objects/class_pixmap.cpp index 547f2c9e8..89247edb9 100644 --- a/src/modules/objects/class_pixmap.cpp +++ b/src/modules/objects/class_pixmap.cpp @@ -48,6 +48,10 @@ Note that x_offset, y_offest are offsets in the widget. !fn: $resize(,) Resizes the pixmap to w width and h height. Set wh or hg to 0, to have a null pixmap. + !fn: $scale(,) + Scales the pixmap by sx horizontally and sy vertically. + !fn: $rotate() + Rotates the pixmap by a degrees. !fn: $load() Load a pixmap from the . !fn: $height() @@ -66,6 +70,8 @@ KVSO_BEGIN_REGISTERCLASS(KviKvsObject_pixmap,"pixmap","object") KVSO_REGISTER_HANDLER(KviKvsObject_pixmap,"height",functionheight) KVSO_REGISTER_HANDLER(KviKvsObject_pixmap,"width",functionwidth) KVSO_REGISTER_HANDLER(KviKvsObject_pixmap,"setOpacity",functionsetOpacity) + KVSO_REGISTER_HANDLER(KviKvsObject_pixmap,"scale",functionscale) + KVSO_REGISTER_HANDLER(KviKvsObject_pixmap,"rotate",functionrotate) KVSO_END_REGISTERCLASS(KviKvsObject_pixmap) @@ -114,6 +120,43 @@ bool KviKvsObject_pixmap::functionfill(KviKvsObjectFunctionCall *c) return true; } +bool KviKvsObject_pixmap::functionscale(KviKvsObjectFunctionCall *c) +{ + kvs_real_t uScaleX,uScaleY; + KVSO_PARAMETERS_BEGIN(c) + KVSO_PARAMETER("sx",KVS_PT_REAL,0,uScaleX) + KVSO_PARAMETER("sy",KVS_PT_REAL,0,uScaleY) + KVSO_PARAMETERS_END(c) + #ifdef COMPILE_USE_QT4 + *m_pPixmap = m_pPixmap->scaled((m_pPixmap->width() * uScaleX), (m_pPixmap->height() * uScaleX)); + #else + QWMatrix wm; + wm.scale(uScaleX, uScaleY); + *m_pPixmap = m_pPixmap->xForm(wm); + #endif + bPixmapModified=true; + return true; +} + +bool KviKvsObject_pixmap::functionrotate(KviKvsObjectFunctionCall *c) +{ + kvs_real_t uDegrees; + KVSO_PARAMETERS_BEGIN(c) + KVSO_PARAMETER("a",KVS_PT_REAL,0,uDegrees) + KVSO_PARAMETERS_END(c) + #ifdef COMPILE_USE_QT4 + QMatrix m; + m.rotate(uDegrees); + *m_pPixmap = m_pPixmap->transformed(m); + #else + QWMatrix wm; + wm.rotate(uDegrees); + *m_pPixmap = m_pPixmap->xForm(wm); + #endif + bPixmapModified=true; + return true; +} + bool KviKvsObject_pixmap::functionresize(KviKvsObjectFunctionCall *c) { kvs_int_t uWidth,uHeight; -- cgit v1.3.1-10-gc9f91