diff options
Diffstat (limited to 'lib/gui/epixmap.cpp')
| -rw-r--r-- | lib/gui/epixmap.cpp | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/lib/gui/epixmap.cpp b/lib/gui/epixmap.cpp new file mode 100644 index 00000000..c544b007 --- /dev/null +++ b/lib/gui/epixmap.cpp @@ -0,0 +1,44 @@ +#include <lib/gui/epixmap.h> +#include <lib/gui/eskin.h> +#include <lib/gui/init.h> +#include <lib/gui/init_num.h> + +ePixmap::ePixmap(eWidget *parent): eWidget(parent) +{ + position=ePoint(0, 0); + setBackgroundColor(getForegroundColor()); +} + +ePixmap::~ePixmap() +{ +} + +void ePixmap::redrawWidget(gPainter *paint, const eRect &area) +{ + if (pixmap) + paint->blit(*pixmap, position); +} + +void ePixmap::eraseBackground(gPainter *target, const eRect &area) +{ +} + +static eWidget *create_ePixmap(eWidget *parent) +{ + return new ePixmap(parent); +} + +class ePixmapSkinInit +{ +public: + ePixmapSkinInit() + { + eSkin::addWidgetCreator("ePixmap", create_ePixmap); + } + ~ePixmapSkinInit() + { + eSkin::removeWidgetCreator("ePixmap", create_ePixmap); + } +}; + +eAutoInitP0<ePixmapSkinInit> init_ePixmapSkinInit(eAutoInitNumbers::guiobject, "ePixmap"); |
