From c479beea7cc338380a38e29ae041c03b2c299ac1 Mon Sep 17 00:00:00 2001 From: Felix Domke Date: Thu, 19 Jul 2007 23:48:55 +0000 Subject: add 'canvas' gui element where you can draw into a pixmap from python --- lib/gui/Makefile.am | 3 +-- lib/gui/ecanvas.cpp | 38 ++++++++++++++++++++++++++++++++++++++ lib/gui/ecanvas.h | 17 +++++++++++++++++ 3 files changed, 56 insertions(+), 2 deletions(-) create mode 100644 lib/gui/ecanvas.cpp create mode 100644 lib/gui/ecanvas.h (limited to 'lib/gui') diff --git a/lib/gui/Makefile.am b/lib/gui/Makefile.am index a011e07d..f4de9d12 100644 --- a/lib/gui/Makefile.am +++ b/lib/gui/Makefile.am @@ -8,5 +8,4 @@ libenigma_gui_a_SOURCES = \ ebutton.cpp elabel.cpp eslider.cpp ewidget.cpp ewidgetdesktop.cpp \ ewindow.cpp ewindowstyle.cpp elistbox.cpp elistboxcontent.cpp \ epixmap.cpp ewindowstyleskinned.cpp einput.cpp einputstring.cpp einputnumber.cpp \ - ewidgetanimation.cpp epositiongauge.cpp evideo.cpp esubtitle.cpp - + ewidgetanimation.cpp epositiongauge.cpp evideo.cpp esubtitle.cpp ecanvas.cpp diff --git a/lib/gui/ecanvas.cpp b/lib/gui/ecanvas.cpp new file mode 100644 index 00000000..c6469912 --- /dev/null +++ b/lib/gui/ecanvas.cpp @@ -0,0 +1,38 @@ +#include + +eCanvas::eCanvas(eWidget *parent): ePixmap(parent) +{ +} + +void eCanvas::setSize(eSize size) +{ + setPixmap(new gPixmap(size, 32)); /* TODO: do we need 8bit surfaces? */ +} + +void eCanvas::clear(gRGB color) +{ +#if 0 + if (!m_pixmap) + return; + + ePtr d = new gDC(m_pixmap); + gPainter p(d, eRect()); + p.setBackgroundColor(color); + p.clear(); + + invalidate(); +#endif +} + +void eCanvas::fillRect(eRect rect, gRGB color) +{ + eDebug("draw into canvas... %d %d, %d %d", rect.left(), rect.top(), rect.width(), rect.height()); +#if 0 + ePtr d = new gDC(m_pixmap); + gPainter p(d, eRect()); + p.setForegroundColor(color); + p.fill(rect); + + invalidate(rect); +#endif +} diff --git a/lib/gui/ecanvas.h b/lib/gui/ecanvas.h new file mode 100644 index 00000000..629c603f --- /dev/null +++ b/lib/gui/ecanvas.h @@ -0,0 +1,17 @@ +#ifndef __lib_gui_ecanvas_h +#define __lib_gui_ecanvas_h + +#include + +class eCanvas: public ePixmap +{ +public: + eCanvas(eWidget *parent); + + void setSize(eSize size); + + void clear(gRGB color); + void fillRect(eRect rect, gRGB color); +}; + +#endif -- cgit v1.2.3