#include <lib/gui/ewidgetdesktop.h>
ePixmap::ePixmap(eWidget *parent)
- :eWidget(parent), m_alphatest(false)
+ :eWidget(parent), m_alphatest(false), m_scale(false)
{
}
setTransparent(alphatest);
}
+void ePixmap::setScale(int scale)
+{
+ if (m_scale != scale)
+ {
+ m_scale = scale;
+ invalidate();
+ }
+}
+
void ePixmap::setPixmap(gPixmap *pixmap)
{
m_pixmap = pixmap;
flags = gPainter::BT_ALPHATEST;
else if (m_alphatest == 2)
flags = gPainter::BT_ALPHABLEND;
- painter.blit(m_pixmap, ePoint(0, 0), eRect(), flags);
+ if (m_scale)
+ painter.blitScale(m_pixmap, eRect(ePoint(0, 0), size()), eRect(), flags);
+ else
+ painter.blit(m_pixmap, ePoint(0, 0), eRect(), flags);
}
return 0;
class ePixmap: public eWidget
{
int m_alphatest;
+ int m_scale;
public:
ePixmap(eWidget *parent);
void setPixmap(ePtr<gPixmap> &pixmap);
void setPixmapFromFile(const char *filename);
void setAlphatest(int alphatest); /* 1 for alphatest, 2 for alphablend */
+ void setScale(int scale);
protected:
ePtr<gPixmap> m_pixmap;
int event(int event, void *data=0, void *data2=0);