more python refcount debugging stuff
[enigma2.git] / lib / gui / evideo.cpp
1 #include <lib/gui/evideo.h>
2
3 eVideoWidget::eVideoWidget(eWidget *parent): eWidget(parent)
4 {
5         parent->setPositionNotifyChild(1);
6 }
7
8 int eVideoWidget::event(int event, void *data, void *data2)
9 {
10         switch (event)
11         {
12         case evtChangedPosition:
13         case evtChangedSize:
14         case evtParentChangedPosition:
15                 eDebug("position is now ...");
16                 updatePosition();
17         }
18         return eWidget::event(event, data, data2);
19 }
20
21
22 void eVideoWidget::updatePosition()
23 {
24         ePoint abspos = getAbsolutePosition();
25         eDebug("position is %d %d -> %d %d", abspos.x(), abspos.y(), size().width(), size().height());
26         
27         for (int i=0; i<4; ++i)
28         {
29                 char *targets[]={"left", "top", "width", "height"};
30                 char filename[128];
31                 snprintf(filename, 128, "/proc/stb/vmpeg/%d/dst_%s", 1, targets[i]);
32                 FILE *f = fopen(filename, "w");
33                 if (!f)
34                 {
35                         eDebug("failed to open %s - %m", filename);
36                         break;
37                 }
38                 int val = 0;
39                 switch (i)
40                 {
41                 case 0: val = abspos.x(); break;
42                 case 1: val = abspos.y(); break;
43                 case 2: val = size().width(); break;
44                 case 3: val = size().height(); break;
45                 }
46                 fprintf(f, "%08x\n", val);
47                 fclose(f);
48                 eDebug("%s %08x", filename, val);
49         }
50 }