summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--baserender.h3
-rw-r--r--displayreplay.c26
-rw-r--r--displayreplay.h1
3 files changed, 25 insertions, 5 deletions
diff --git a/baserender.h b/baserender.h
index 89075d77..eba3edf8 100644
--- a/baserender.h
+++ b/baserender.h
@@ -5,7 +5,8 @@
#include <list>
enum eBorder {
- BorderMenuItem = 1
+ BorderMenuItem = 1,
+ BorderRecordJump = 2
};
struct sBorderFrom {
diff --git a/displayreplay.c b/displayreplay.c
index 3fb15058..bbf912c7 100644
--- a/displayreplay.c
+++ b/displayreplay.c
@@ -5,6 +5,7 @@ cFlatDisplayReplay::cFlatDisplayReplay(bool ModeOnly) {
current = "";
total = "";
+ ProgressShown = false;
CreateFullOsd();
TopBarCreate();
MessageCreate();
@@ -18,15 +19,13 @@ cFlatDisplayReplay::cFlatDisplayReplay(bool ModeOnly) {
osdWidth - Config.decorBorderReplaySize*2, Config.decorProgressReplaySize, marginItem, 0,
Config.decorProgressReplayFg, Config.decorProgressReplayBarFg, Config.decorProgressReplayBg, Config.decorProgressReplayType);
- labelJump = osd->CreatePixmap(1, cRect(Config.decorBorderReplaySize, osdHeight - labelHeight - Config.decorProgressReplaySize - marginItem - fontHeight - Config.decorBorderReplaySize,
+ labelJump = osd->CreatePixmap(1, cRect(Config.decorBorderReplaySize,
+ osdHeight - labelHeight - Config.decorProgressReplaySize - marginItem*3 - fontHeight - Config.decorBorderReplaySize*2,
osdWidth - Config.decorBorderReplaySize*2, fontHeight));
labelPixmap->Fill(Theme.Color(clrReplayBg));
labelJump->Fill(clrTransparent);
- DecorBorderDraw(Config.decorBorderReplaySize, osdHeight - labelHeight - Config.decorProgressReplaySize - Config.decorBorderReplaySize - marginItem,
- osdWidth - Config.decorBorderReplaySize*2, labelHeight + Config.decorProgressReplaySize + marginItem,
- Config.decorBorderReplaySize, Config.decorBorderReplayType, Config.decorBorderReplayFg, Config.decorBorderReplayBg);
}
cFlatDisplayReplay::~cFlatDisplayReplay() {
@@ -102,9 +101,21 @@ void cFlatDisplayReplay::SetMode(bool Play, bool Forward, int Speed) {
iconsPixmap->DrawImage( cPoint(left + fontHeight*3 + marginItem*3, 0), imgLoader.GetImage() );
}
+
+ if( ProgressShown )
+ DecorBorderDraw(Config.decorBorderReplaySize, osdHeight - labelHeight - Config.decorProgressReplaySize - Config.decorBorderReplaySize - marginItem,
+ osdWidth - Config.decorBorderReplaySize*2, labelHeight + Config.decorProgressReplaySize + marginItem,
+ Config.decorBorderReplaySize, Config.decorBorderReplayType, Config.decorBorderReplayFg, Config.decorBorderReplayBg);
+ else
+ DecorBorderDraw(Config.decorBorderReplaySize, osdHeight - labelHeight - Config.decorBorderReplaySize,
+ osdWidth - Config.decorBorderReplaySize*2, labelHeight,
+ Config.decorBorderReplaySize, Config.decorBorderReplayType, Config.decorBorderReplayFg, Config.decorBorderReplayBg);
+
+
}
void cFlatDisplayReplay::SetProgress(int Current, int Total) {
+ ProgressShown = true;
ProgressBarDrawMarks(Current, Total, marks, Theme.Color(clrReplayMarkFg), Theme.Color(clrReplayMarkCurrentFg));
}
@@ -125,6 +136,8 @@ void cFlatDisplayReplay::UpdateInfo(void) {
}
void cFlatDisplayReplay::SetJump(const char *Jump) {
+ DecorBorderClearByFrom(BorderRecordJump);
+
if( !Jump )
{
labelJump->Fill(clrTransparent);
@@ -134,6 +147,11 @@ void cFlatDisplayReplay::SetJump(const char *Jump) {
left /= 2;
labelJump->DrawText(cPoint(left, 0), Jump, Theme.Color(clrReplayFont), Theme.Color(clrReplayBg), font, font->Width(Jump), fontHeight, taCenter);
+
+ DecorBorderDraw(left + Config.decorBorderReplaySize,
+ osdHeight - labelHeight - Config.decorProgressReplaySize - marginItem*3 - fontHeight - Config.decorBorderReplaySize*2,
+ font->Width(Jump), fontHeight,
+ Config.decorBorderReplaySize, Config.decorBorderReplayType, Config.decorBorderReplayFg, Config.decorBorderReplayBg, BorderRecordJump);
}
void cFlatDisplayReplay::SetMessage(eMessageType Type, const char *Text) {
diff --git a/displayreplay.h b/displayreplay.h
index c073f1e1..a6476bed 100644
--- a/displayreplay.h
+++ b/displayreplay.h
@@ -11,6 +11,7 @@ class cFlatDisplayReplay : public cFlatBaseRender, public cSkinDisplayReplay {
cPixmap *labelJump;
cPixmap *iconsPixmap;
+ bool ProgressShown;
void UpdateInfo(void);
public:
cFlatDisplayReplay(bool ModeOnly);