aboutsummaryrefslogtreecommitdiff
path: root/lib/gui/epixmap.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'lib/gui/epixmap.cpp')
-rw-r--r--lib/gui/epixmap.cpp44
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");