From: Felix Domke Date: Sat, 8 Apr 2006 00:58:12 +0000 (+0000) Subject: add video widget X-Git-Tag: 2.6.0~3670 X-Git-Url: https://git.cweiske.de/enigma2.git/commitdiff_plain/4f338089f2a72f55f15a0b4b1be3996f8a0fbe97?ds=sidebyside add video widget --- diff --git a/lib/gui/evideo.cpp b/lib/gui/evideo.cpp new file mode 100644 index 00000000..8151e800 --- /dev/null +++ b/lib/gui/evideo.cpp @@ -0,0 +1,48 @@ +#include + +eVideoWidget::eVideoWidget(eWidget *parent): eWidget(parent) +{ +} + +int eVideoWidget::event(int event, void *data, void *data2) +{ + switch (event) + { + case evtChangedPosition: + case evtChangedSize: + eDebug("position is now ..."); + updatePosition(); + } + return eWidget::event(event, data, data2); +} + + +void eVideoWidget::updatePosition() +{ + ePoint abspos = getAbsolutePosition(); + eDebug("position is %d %d -> %d %d", abspos.x(), abspos.y(), size().width(), size().height()); + + for (int i=0; i<4; ++i) + { + char *targets[]={"left", "top", "width", "height"}; + char filename[128]; + snprintf(filename, 128, "/proc/stb/vmpeg/%d/dst_%s", 1, targets[i]); + FILE *f = fopen(filename, "w"); + if (!f) + { + eDebug("failed to open %s - %m", filename); + break; + } + int val = 0; + switch (i) + { + case 0: val = abspos.x(); break; + case 1: val = abspos.y(); break; + case 2: val = size().width(); break; + case 3: val = size().height(); break; + } + fprintf(f, "%08x\n", val); + fclose(f); + eDebug("%s %08x", filename, val); + } +} diff --git a/lib/gui/evideo.h b/lib/gui/evideo.h new file mode 100644 index 00000000..61f3811d --- /dev/null +++ b/lib/gui/evideo.h @@ -0,0 +1,17 @@ +#ifndef __lib_gui_evideo_h +#define __lib_gui_evideo_h + +#include + +class eVideoWidget: public eWidget +{ +public: + eVideoWidget(eWidget *parent); + +protected: + int event(int event, void *data=0, void *data2=0); + + void updatePosition(); +}; + +#endif