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