X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/6dcb75c26bbfec04b381bb99d75404f9fe50635d..7f070068aa203cb95252b641b1c0cc5308a604ee:/lib/gui/epositiongauge.cpp diff --git a/lib/gui/epositiongauge.cpp b/lib/gui/epositiongauge.cpp index fbb24571..e45d4a6c 100644 --- a/lib/gui/epositiongauge.cpp +++ b/lib/gui/epositiongauge.cpp @@ -43,6 +43,11 @@ void ePositionGauge::setInColor(const gRGB &color) invalidate(); } +void ePositionGauge::setPointer(int which, ePtr &pixmap, const ePoint ¢er) +{ + setPointer(which, pixmap.operator->(), center); +} + void ePositionGauge::setPointer(int which, gPixmap *pixmap, const ePoint ¢er) { if (which == 0) @@ -70,14 +75,14 @@ void ePositionGauge::setInOutList(ePyObject list) for (i=0; i::iterator i(m_cue_entries.begin()); @@ -121,11 +127,20 @@ int ePositionGauge::event(int event, void *data, void *data2) continue; } else if (i->what == 1) /* out */ out = i++->where; - else /* mark */ + else /* mark or last */ { - int xm = scale(i->where); - painter.setForegroundColor(gRGB(0xFF8080)); - painter.fill(eRect(xm - 2, 0, 4, s.height())); + xm = scale(i->where); + if (i->what == 2) { + painter.setForegroundColor(gRGB(0xFF8080)); + if (xm - 2 < xm_last) /* Make sure last is not overdrawn */ + painter.fill(eRect(xm_last, 0, 2 + xm - xm_last, s.height())); + else + painter.fill(eRect(xm - 2, 0, 4, s.height())); + } else if (i->what == 3) { + painter.setForegroundColor(gRGB(0x80FF80)); + painter.fill(eRect(xm - 1, 0, 3, s.height())); + xm_last = xm + 2; + } i++; continue; } @@ -135,7 +150,7 @@ int ePositionGauge::event(int event, void *data, void *data2) { painter.setForegroundColor(gRGB(m_foreground_color)); int xi = scale(in), xo = scale(out); - painter.fill(eRect(xi, 10, xo-xi, s.height()-14)); + painter.fill(eRect(xi, (s.height()-4) / 2, xo-xi, 4)); } in = m_length;