summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorkamel5 <vdr.kamel5 (at) gmx (dot) net>2020-03-26 16:27:51 +0100
committerkamel5 <vdr.kamel5 (at) gmx (dot) net>2020-03-28 12:35:24 +0100
commit97a994ac366bd3772e3f535a767fffc3bcf1c4ba (patch)
tree9a351bafed80b5d0076352ed2bd8be65fe94b69f
parentc5b9a477844e2255a409690d96a7da4cedb32361 (diff)
downloadskin-lcarsng-97a994ac366bd3772e3f535a767fffc3bcf1c4ba.tar.gz
skin-lcarsng-97a994ac366bd3772e3f535a767fffc3bcf1c4ba.tar.bz2
Add new themes
-rw-r--r--displaychannel.c117
-rw-r--r--displaychannel.h3
-rw-r--r--displaymenu.c213
-rw-r--r--displaymenu.h7
-rw-r--r--displayreplay.c64
-rw-r--r--displayreplay.h5
-rw-r--r--lcarsng.c2
-rw-r--r--lcarsng.h14
-rw-r--r--lcarsng.obin0 -> 301992 bytes
-rw-r--r--themes/lcarsng-Dark.theme82
-rw-r--r--themes/lcarsng-Light.theme82
11 files changed, 384 insertions, 205 deletions
diff --git a/displaychannel.c b/displaychannel.c
index 8773614..815123f 100644
--- a/displaychannel.c
+++ b/displaychannel.c
@@ -50,9 +50,10 @@ cLCARSNGDisplayChannel::cLCARSNGDisplayChannel(bool WithInfo):cThread("LCARS Dis
withInfo = WithInfo;
lineHeight = font->Height();
tinyFont = CreateTinyFont(lineHeight);
- frameColorFg = Theme.Color(clrChannelFrameFg);
frameColorBg = Theme.Color(clrChannelFrameBg);
- frameColorMg = Theme.Color(clrChannelFrameMg);
+ frameColorFg = Theme.Color(clrChannelFrameFg);
+ frameColorBr = (Theme.Color(clrChannelFrameBr) == CLR_BLACK) ? frameColorBg : Theme.Color(clrChannelFrameBr);
+ textColorBg = Theme.Color(clrChannelTextBg);
iconHeight = bmTeletext.Height();
message = false;
lastOn = false;
@@ -117,77 +118,77 @@ cLCARSNGDisplayChannel::cLCARSNGDisplayChannel(bool WithInfo):cThread("LCARS Dis
if (withInfo) {
// Rectangles:
osd->DrawRectangle(xc00, yc0B, xc15 - 1, y1 - 1, Theme.Color(clrBackground)); // Main background
- DrawRectangleOutline(osd, xc00, yc05, xc02 - 1, yc06 - 1, frameColorMg, frameColorBg, 15); // Left middle
- DrawRectangleOutline(osd, xc06, yc0B, xc11 - 1, (yc0A - yc0B) / 2 - 1, frameColorMg, frameColorBg, 15); // Top middle
+ DrawRectangleOutline(osd, xc00, yc05, xc02 - 1, yc06 - 1, frameColorBr, frameColorBg, 15); // Left middle
+ DrawRectangleOutline(osd, xc06, yc0B, xc11 - 1, (yc0A - yc0B) / 2 - 1, frameColorBr, frameColorBg, 15); // Top middle
// Upper Elbow:
- DrawRectangleOutline(osd, xc00, yc0B, xc02 - 1, yc0A - 1, frameColorMg, frameColorBg, 3);
- DrawRectangleOutline(osd, xc00, yc0A, xc02 - 1, yc02 - 1, frameColorMg, frameColorBg, 13);
- DrawRectangleOutline(osd, xc02, yc0B, xc05 - 1, yc0A - 1, frameColorMg, frameColorBg, 14);
+ DrawRectangleOutline(osd, xc00, yc0B, xc02 - 1, yc0A - 1, frameColorBr, frameColorBg, 3);
+ DrawRectangleOutline(osd, xc00, yc0A, xc02 - 1, yc02 - 1, frameColorBr, frameColorBg, 13);
+ DrawRectangleOutline(osd, xc02, yc0B, xc05 - 1, yc0A - 1, frameColorBr, frameColorBg, 14);
osd->DrawRectangle(xc00, yc0B, xc01 - 1, yc00m - 1, clrTransparent);
- osd->DrawEllipse (xc00, yc0B, xc01 - 1, yc00m - 1, frameColorMg, 2);
+ osd->DrawEllipse (xc00, yc0B, xc01 - 1, yc00m - 1, frameColorBr, 2);
osd->DrawEllipse (xc00 + Margin, yc0B + Margin, xc01 - 1, yc00m - 1, frameColorBg, 2);
- osd->DrawEllipse (xc02 - 1, yc0A, xc02m - 1, yc00 - 1, frameColorMg, -2);
+ osd->DrawEllipse (xc02 - 1, yc0A, xc02m - 1, yc00 - 1, frameColorBr, -2);
osd->DrawEllipse (xc02 - 1 - Margin, yc0A - Margin, xc02m - 1 - Margin, yc00 - 1 - Margin, frameColorBg, -2);
// Lower Elbow:
- DrawRectangleOutline(osd, xc00, yc07, xc02 - 1, yc11 - 1, frameColorMg, frameColorBg, 7);
- DrawRectangleOutline(osd, xc00, yc11, xc02 - 1, yc12 - 1, frameColorMg, frameColorBg, 8);
- DrawRectangleOutline(osd, xc02, yc11, xc05 - 1, yc12 - 1, frameColorMg, frameColorBg, 14);
+ DrawRectangleOutline(osd, xc00, yc07, xc02 - 1, yc11 - 1, frameColorBr, frameColorBg, 7);
+ DrawRectangleOutline(osd, xc00, yc11, xc02 - 1, yc12 - 1, frameColorBr, frameColorBg, 8);
+ DrawRectangleOutline(osd, xc02, yc11, xc05 - 1, yc12 - 1, frameColorBr, frameColorBg, 14);
osd->DrawRectangle(xc00, yc08, xc01 - 1, yc12 - 1, clrTransparent);
- osd->DrawEllipse (xc00, yc08, xc01 - 1, yc12 - 1, frameColorMg, 3);
+ osd->DrawEllipse (xc00, yc08, xc01 - 1, yc12 - 1, frameColorBr, 3);
osd->DrawEllipse (xc00 + Margin, yc08, xc01 - 1, yc12 - 1 - Margin, frameColorBg, 3);
- osd->DrawEllipse (xc02 - 1, yc10, xc02m - 1, yc11 - 1, frameColorMg, -3);
+ osd->DrawEllipse (xc02 - 1, yc10, xc02m - 1, yc11 - 1, frameColorBr, -3);
osd->DrawEllipse (xc02 - 1 - Margin, yc10, xc02m - 1, yc11 - 1 + Margin, frameColorBg, -3);
// Status area:
- DrawRectangleOutline(osd, xc10, yc11, xc11 - 1, yc12 - 1, frameColorMg, frameColorBg, 15);
- DrawRectangleOutline(osd, xc14, yc11, xc14 + lineHeight / 2 - 1, yc12 - 1, frameColorMg, frameColorBg, 11);
+ DrawRectangleOutline(osd, xc10, yc11, xc11 - 1, yc12 - 1, frameColorBr, frameColorBg, 15);
+ DrawRectangleOutline(osd, xc14, yc11, xc14 + lineHeight / 2 - 1, yc12 - 1, frameColorBr, frameColorBg, 11);
osd->DrawRectangle(xc14 + lineHeight / 2, yc11 + lineHeight / 2, xc15 - 1, yc12 - 1, clrTransparent);
- osd->DrawEllipse (xc14 + lineHeight / 2, yc11, xc15 - 1, yc12 - 1, frameColorMg, 5);
+ osd->DrawEllipse (xc14 + lineHeight / 2, yc11, xc15 - 1, yc12 - 1, frameColorBr, 5);
osd->DrawEllipse (xc14 + lineHeight / 2, yc11 + Margin, xc15 - 1 - Margin, yc12 - 1 - Margin, frameColorBg, 5);
// Status area tail middle:
// Middle left middle
- osd->DrawEllipse (xc06n, yc05, xc07 - 1, yc06 - lineHeight - 1, frameColorMg, 1);
+ osd->DrawEllipse (xc06n, yc05, xc07 - 1, yc06 - lineHeight - 1, frameColorBr, 1);
osd->DrawEllipse (xc06n + Margin, yc05 + Margin, xc07 - 1 - Margin, yc06 - lineHeight - 1 - Margin, frameColorBg, 1);
- DrawRectangleOutline(osd, xc07 - lineHeight / 2, yc05 + lineHeight + Margin, xc07 - 1, yc06 - 1, frameColorMg, frameColorBg, 13);
- osd->DrawEllipse (xc06n, yc06 - lineHeight - 1, xc07 - lineHeight / 2 - 1, yc06 - lineHeight / 2 - 1, frameColorMg, -1);
+ DrawRectangleOutline(osd, xc07 - lineHeight / 2, yc05 + lineHeight + Margin, xc07 - 1, yc06 - 1, frameColorBr, frameColorBg, 13);
+ osd->DrawEllipse (xc06n, yc06 - lineHeight - 1, xc07 - lineHeight / 2 - 1, yc06 - lineHeight / 2 - 1, frameColorBr, -1);
osd->DrawEllipse (xc06n + Margin, yc06 - lineHeight - 1 - Margin, xc07 - lineHeight / 2 - 1 + Margin, yc06 - lineHeight / 2 - 1 - Margin, frameColorBg, -1);
// Middle left bottom
- DrawRectangleOutline(osd, xc06n, yc11, xc07 - 1, yc12 - 1, frameColorMg, frameColorBg, 15);
- DrawRectangleOutline(osd, xc07 - lineHeight / 2, yc07, xc07 - 1, yc11 + Margin, frameColorMg, frameColorBg, 7);
- osd->DrawEllipse (xc06n, yc11 - lineHeight / 2, xc07 - lineHeight / 2 - 1, yc11, frameColorMg, -4);
+ DrawRectangleOutline(osd, xc06n, yc11, xc07 - 1, yc12 - 1, frameColorBr, frameColorBg, 15);
+ DrawRectangleOutline(osd, xc07 - lineHeight / 2, yc07, xc07 - 1, yc11 + Margin, frameColorBr, frameColorBg, 7);
+ osd->DrawEllipse (xc06n, yc11 - lineHeight / 2, xc07 - lineHeight / 2 - 1, yc11, frameColorBr, -4);
osd->DrawEllipse (xc06n + Margin, yc11 - lineHeight / 2 + Margin, xc07 - lineHeight / 2 - 1 + Margin, yc11 + Margin, frameColorBg, -4);
//Middle right top
- osd->DrawEllipse (xc08, yc03, xc09 - 1, yc04 - lineHeight - 1, frameColorMg, 2);
+ osd->DrawEllipse (xc08, yc03, xc09 - 1, yc04 - lineHeight - 1, frameColorBr, 2);
osd->DrawEllipse (xc08 + Margin, yc03 + Margin, xc09 - 1 - Margin, yc04 - lineHeight - 1 - Margin, frameColorBg, 2);
- DrawRectangleOutline(osd, xc08, yc03 + lineHeight + Margin, xc08 + lineHeight / 2 - 1, yc04 - 1, frameColorMg, frameColorBg, 13);
- osd->DrawEllipse (xc08 + lineHeight / 2, yc04 - lineHeight - 1, xc09 - 1, yc04 - lineHeight / 2 - 1, frameColorMg, -2);
+ DrawRectangleOutline(osd, xc08, yc03 + lineHeight + Margin, xc08 + lineHeight / 2 - 1, yc04 - 1, frameColorBr, frameColorBg, 13);
+ osd->DrawEllipse (xc08 + lineHeight / 2, yc04 - lineHeight - 1, xc09 - 1, yc04 - lineHeight / 2 - 1, frameColorBr, -2);
osd->DrawEllipse (xc08 + lineHeight / 2 - Margin, yc04 - lineHeight - 1 - Margin, xc09 - 1 - Margin, yc04 - lineHeight / 2 - 1 - Margin, frameColorBg, -2);
// Middle right middle
- DrawRectangleOutline(osd, xc08, yc05, xc08 + lineHeight / 2 - 1, yc06 - 1, frameColorMg, frameColorBg, 15);
- osd->DrawEllipse (xc08, yc05, xc09 - 1, yc06 - lineHeight - 1, frameColorMg, 2);
+ DrawRectangleOutline(osd, xc08, yc05, xc08 + lineHeight / 2 - 1, yc06 - 1, frameColorBr, frameColorBg, 15);
+ osd->DrawEllipse (xc08, yc05, xc09 - 1, yc06 - lineHeight - 1, frameColorBr, 2);
osd->DrawEllipse (xc08 + Margin, yc05 + Margin, xc09 - 1 - Margin, yc06 - lineHeight - 1 - Margin, frameColorBg, 2);
- osd->DrawEllipse (xc08 + lineHeight / 2, yc06 - lineHeight - 1, xc09 - 1, yc06 - lineHeight / 2 - 1, frameColorMg, -2);
+ osd->DrawEllipse (xc08 + lineHeight / 2, yc06 - lineHeight - 1, xc09 - 1, yc06 - lineHeight / 2 - 1, frameColorBr, -2);
osd->DrawEllipse (xc08 + lineHeight / 2 - Margin, yc06 - lineHeight - 1 - Margin, xc09 - 1 - Margin, yc06 - lineHeight / 2 - 1 - Margin, frameColorBg, -2);
osd->DrawRectangle(xc08 + Margin, yc05 + Margin, xc08 + lineHeight / 2 - 1 - Margin, yc06 - 1 - Margin, frameColorBg);
// Middle right bottom
- DrawRectangleOutline(osd, xc08, yc11, xc09 - 1, yc12 - 1, frameColorMg, frameColorBg, 15);
- DrawRectangleOutline(osd, xc08, yc07, xc08 + lineHeight / 2 - 1, yc11 + Margin, frameColorMg, frameColorBg, 7);
- osd->DrawEllipse (xc08 + lineHeight / 2, yc11 - lineHeight / 2, xc09 - 1, yc11, frameColorMg, -3);
+ DrawRectangleOutline(osd, xc08, yc11, xc09 - 1, yc12 - 1, frameColorBr, frameColorBg, 15);
+ DrawRectangleOutline(osd, xc08, yc07, xc08 + lineHeight / 2 - 1, yc11 + Margin, frameColorBr, frameColorBg, 7);
+ osd->DrawEllipse (xc08 + lineHeight / 2, yc11 - lineHeight / 2, xc09 - 1, yc11, frameColorBr, -3);
osd->DrawEllipse (xc08 + lineHeight / 2 - Margin, yc11 - lineHeight / 2 + Margin, xc09 - 1 - Margin, yc11 + Margin, frameColorBg, -3);
// Middle
- DrawRectangleOutline(osd, xc10, yc03, xc10m - 1, yc04 - lineHeight - 1, frameColorMg, frameColorBg, 15); // "Time 1"
- DrawRectangleOutline(osd, xc10, yc05, xc10m - 1, yc06 - lineHeight - 1, frameColorMg, frameColorBg, 15); // "Time 2"
- DrawRectangleOutline(osd, xc06l, yc05, xc06m - 1, yc06 - lineHeight - 1, frameColorMg, frameColorBg, 15); // "Timer"
- osd->DrawText(xc06l + Margin, yc05 + Margin, "Timer", Theme.Color(clrChannelFrameFg), frameColorBg, cFont::GetFont(fontOsd), xc06m - xc06l - 1 - 2 * Margin, lineHeight - 2 * Margin, taLeft | taBorder);
+ DrawRectangleOutline(osd, xc10, yc03, xc10m - 1, yc04 - lineHeight - 1, frameColorBr, frameColorBg, 15); // "Time 1"
+ DrawRectangleOutline(osd, xc10, yc05, xc10m - 1, yc06 - lineHeight - 1, frameColorBr, frameColorBg, 15); // "Time 2"
+ DrawRectangleOutline(osd, xc06l, yc05, xc06m - 1, yc06 - lineHeight - 1, frameColorBr, frameColorBg, 15); // "Timer"
+ osd->DrawText(xc06l + Margin, yc05 + Margin, "Timer", frameColorFg, frameColorBg, cFont::GetFont(fontOsd), xc06m - xc06l - 1 - 2 * Margin, lineHeight - 2 * Margin, taLeft | taBorder);
// Top Right:
- DrawRectangleOutline(osd, xc14, yc0B, xc14 + lineHeight / 2 - 1, yc0A - 1, frameColorMg, frameColorBg, 11);
+ DrawRectangleOutline(osd, xc14, yc0B, xc14 + lineHeight / 2 - 1, yc0A - 1, frameColorBr, frameColorBg, 11);
osd->DrawRectangle(xc14 + lineHeight / 2, yc0B, xc15 - 1, yc0B + lineHeight / 2 - 1, clrTransparent);
- osd->DrawEllipse (xc14 + lineHeight / 2, yc0B, xc15 - 1, yc0A - 1, frameColorMg, 5);
+ osd->DrawEllipse (xc14 + lineHeight / 2, yc0B, xc15 - 1, yc0A - 1, frameColorBr, 5);
osd->DrawEllipse (xc14 + lineHeight / 2, yc0B + Margin, xc15 - 1 - Margin, yc0A - 1 - Margin, frameColorBg, 5);
}
else {
// Rectangles:
osd->DrawRectangle(xc00, yc00, xc15 - 1, y1 - 1, Theme.Color(clrBackground));
- osd->DrawRectangle(xc00, yc00, xc02 - 1, yc02 - 1, frameColorMg);
+ osd->DrawRectangle(xc00, yc00, xc02 - 1, yc02 - 1, frameColorFg);
}
}
@@ -233,7 +234,7 @@ void cLCARSNGDisplayChannel::DrawSeen(int Current, int Total)
cString time = ((Current / 60.0) > 0.1) ? cString::sprintf("-%d", max((int)ceil((Total - Current) / 60.0), 0)) : "";
int w = cFont::GetFont(fontSml)->Width(time);
osd->DrawRectangle(xc10 + Margin, yc03 + lineHeight + 2 * Margin + Gap / 2, xc10m - 1 - 2 * Margin, yc04 - Margin, Theme.Color(clrBackground)); //Backgroung time remaining
- osd->DrawText(xc10 + Margin + (xc10m - xc10 - 1 - 2 * Margin - w), yc03 + lineHeight + 2 * Margin + Gap / 2, time, Theme.Color(clrChannelFrameFg), frameColorBg, cFont::GetFont(fontSml), w, lineHeight - 2 * Margin, taRight | taBorder); // Time remaining
+ osd->DrawText(xc10 + Margin + (xc10m - xc10 - 1 - 2 * Margin - w), yc03 + lineHeight + 2 * Margin + Gap / 2, time, frameColorFg, textColorBg, cFont::GetFont(fontSml), w, lineHeight - 2 * Margin, taRight | taBorder); // Time remaining
lastSeen = Seen;
}
}
@@ -280,7 +281,7 @@ void cLCARSNGDisplayChannel::DrawBlinkingRec(void)
if (initial || On != lastOn) {
int x = xc13;
x -= bmRecording.Width() + SymbolSpacing;
- osd->DrawBitmap(x, yc11 + (yc12 - yc11 - bmRecording.Height()) / 2, bmRecording, Theme.Color(rec ? On ? clrChannelSymbolRecFg : clrChannelSymbolOff : clrChannelSymbolOff), rec ? On ? Theme.Color(clrChannelSymbolRecBg) : frameColorMg : frameColorMg);
+ osd->DrawBitmap(x, yc11 + (yc12 - yc11 - bmRecording.Height()) / 2, bmRecording, Theme.Color(rec ? On ? clrChannelSymbolRecFg : clrChannelSymbolOff : clrChannelSymbolOff), rec ? On ? Theme.Color(clrChannelSymbolRecBg) : frameColorBr : frameColorBr);
lastOn = On;
}
}
@@ -343,14 +344,14 @@ void cLCARSNGDisplayChannel::DrawTimer(void)
#ifdef SWITCHONLYPATCH
if (Timer->HasFlags(tfSwitchOnly)) timerColor = Theme.Color(clrSwitchTimer);
#endif
- osd->DrawText(xc01, y + y1 + Margin, cString::sprintf("%d", Channel->Number()), Theme.Color(clrChannelFrameFg), frameColorBg, cFont::GetFont(fontSml), xc02 - xc01 - Gap - 1, lineHeight - 3 * Margin, taRight | taBorder);
- osd->DrawText(xc04, y + y1, cString::sprintf("%s", *Date), timerColor, frameColorBg, cFont::GetFont(fontSml), xc06a - xc04 - Gap - 1, lineHeight - Gap / 2, taRight | taBorder);
+ osd->DrawText(xc01, y + y1 + Margin, cString::sprintf("%d", Channel->Number()), frameColorFg, frameColorBg, cFont::GetFont(fontSml), xc02 - xc01 - Gap - 1, lineHeight - 3 * Margin, taRight | taBorder);
+ osd->DrawText(xc04, y + y1, cString::sprintf("%s", *Date), timerColor, textColorBg, cFont::GetFont(fontSml), xc06a - xc04 - Gap - 1, lineHeight - Gap / 2, taRight | taBorder);
int w = cFont::GetFont(fontSml)->Width(Event->Title()) + 4; // Width from fontSml to short
osd->DrawRectangle(xc06a, y + y1, xc06k - 1, y + y1 + lineHeight - Gap / 2, Theme.Color(clrBackground));
- osd->DrawText(xc06a, y + y1, cString::sprintf("%s", Event->Title()), timerColor, frameColorBg, cFont::GetFont(fontSml), min(w, xc06k - xc06a - 1), lineHeight - Gap / 2, taLeft | taBorder);
+ osd->DrawText(xc06a, y + y1, cString::sprintf("%s", Event->Title()), timerColor, textColorBg, cFont::GetFont(fontSml), min(w, xc06k - xc06a - 1), lineHeight - Gap / 2, taLeft | taBorder);
}
if (isRecording) // && Number)
- osd->DrawText(xc04, y + y1, cString::sprintf("Rec: #%s", *Number), Theme.Color(clrChannelSymbolRecBg), frameColorBg, cFont::GetFont(fontSml), xc05 - xc04 - Gap - 1, lineHeight - Gap / 2, taRight | taBorder);
+ osd->DrawText(xc04, y + y1, cString::sprintf("Rec: #%s", *Number), Theme.Color(clrChannelSymbolRecBg), textColorBg, cFont::GetFont(fontSml), xc05 - xc04 - Gap - 1, lineHeight - Gap / 2, taRight | taBorder);
i++;
}
}
@@ -360,22 +361,22 @@ void cLCARSNGDisplayChannel::DrawTimer(void)
void cLCARSNGDisplayChannel::SetChannel(const cChannel *Channel, int Number)
{
int x = xc13;
- DrawRectangleOutline(osd, xc12, yc11, xc13 - 1, yc12 - 1, frameColorMg, frameColorBg, 15);
+ DrawRectangleOutline(osd, xc12, yc11, xc13 - 1, yc12 - 1, frameColorBr, frameColorBg, 15);
if (Channel && !Channel->GroupSep()) {
x -= bmRecording.Width() + SymbolSpacing;
x -= bmEncrypted.Width() + SymbolSpacing;
- osd->DrawBitmap(x, yc11 + (yc12 - yc11 - bmEncrypted.Height()) / 2, bmEncrypted, Theme.Color(Channel->Ca() ? clrChannelSymbolOn : clrChannelSymbolOff), frameColorMg);
+ osd->DrawBitmap(x, yc11 + (yc12 - yc11 - bmEncrypted.Height()) / 2, bmEncrypted, Theme.Color(Channel->Ca() ? clrChannelSymbolOn : clrChannelSymbolOff), frameColorBr);
x -= bmDolbyDigital.Width() + SymbolSpacing;
- osd->DrawBitmap(x, yc11 + (yc12 - yc11 - bmDolbyDigital.Height()) / 2, bmDolbyDigital, Theme.Color(Channel->Dpid(0) ? clrChannelSymbolOn : clrChannelSymbolOff), frameColorMg);
+ osd->DrawBitmap(x, yc11 + (yc12 - yc11 - bmDolbyDigital.Height()) / 2, bmDolbyDigital, Theme.Color(Channel->Dpid(0) ? clrChannelSymbolOn : clrChannelSymbolOff), frameColorBr);
x -= bmAudio.Width() + SymbolSpacing;
- osd->DrawBitmap(x, yc11 + (yc12 - yc11 - bmAudio.Height()) / 2, bmAudio, Theme.Color(Channel->Apid(1) ? clrChannelSymbolOn : clrChannelSymbolOff), frameColorMg);
+ osd->DrawBitmap(x, yc11 + (yc12 - yc11 - bmAudio.Height()) / 2, bmAudio, Theme.Color(Channel->Apid(1) ? clrChannelSymbolOn : clrChannelSymbolOff), frameColorBr);
if (Channel->Vpid()) {
x -= bmTeletext.Width() + SymbolSpacing;
- osd->DrawBitmap(x, yc11 + (yc12 - yc11 - bmTeletext.Height()) / 2, bmTeletext, Theme.Color(Channel->Tpid() ? clrChannelSymbolOn : clrChannelSymbolOff), frameColorMg);
+ osd->DrawBitmap(x, yc11 + (yc12 - yc11 - bmTeletext.Height()) / 2, bmTeletext, Theme.Color(Channel->Tpid() ? clrChannelSymbolOn : clrChannelSymbolOff), frameColorBr);
}
else if (Channel->Apid(0)) {
x -= bmRadio.Width() + SymbolSpacing;
- osd->DrawBitmap(x, yc11 + (yc12 - yc11 - bmRadio.Height()) / 2, bmRadio, Theme.Color(clrChannelSymbolOn), frameColorMg);
+ osd->DrawBitmap(x, yc11 + (yc12 - yc11 - bmRadio.Height()) / 2, bmRadio, Theme.Color(clrChannelSymbolOn), frameColorBr);
}
initial = true; // to have DrawBlinkingRec() refresh the Recording Icon
}
@@ -391,14 +392,14 @@ void cLCARSNGDisplayChannel::SetChannel(const cChannel *Channel, int Number)
else
ChName = ChannelString(NULL, 0);
int w = tallFont->Width(ChName);
- osd->DrawText(xc00m + Margin, yc00 + Margin, ChNumber, Theme.Color(clrChannelFrameFg), frameColorBg, tallFont, xc02 - xc00m - 2 * Margin, yc02 - yc00 - 2 * Margin, taTop | taRight | taBorder);
+ osd->DrawText(xc00m + Margin, yc00 + Margin, ChNumber, frameColorFg, frameColorBg, tallFont, xc02 - xc00m - 2 * Margin, yc02 - yc00 - 2 * Margin, taTop | taRight | taBorder);
osd->DrawRectangle(xc03, yc00, xc06m - 1, yc02 - 1, Theme.Color(clrBackground));
- osd->DrawText(xc03, yc00, ChName, Theme.Color(clrChannelName), frameColorBg, tallFont, min(w, xc06m - xc03 - 1), 0, taTop | taLeft);
+ osd->DrawText(xc03, yc00, ChName, Theme.Color(clrChannelName), textColorBg, tallFont, min(w, xc06m - xc03 - 1), 0, taTop | taLeft);
lastSignalDisplay = 0;
if (withInfo) {
if (Channel) {
// int x = xc00 + (yc10 - yc09); // compensate for the arc
- osd->DrawText(xc02, yc11 + Margin, cSource::ToString(Channel->Source()), Theme.Color(clrChannelFrameFg), frameColorBg, cFont::GetFont(fontOsd), xc05 - xc02 - Gap, yc12 - yc11 - 2 * Margin, taRight | taBorder);
+ osd->DrawText(xc02, yc11 + Margin, cSource::ToString(Channel->Source()), frameColorFg, frameColorBg, cFont::GetFont(fontOsd), xc05 - xc02 - Gap, yc12 - yc11 - 2 * Margin, taRight | taBorder);
}
DrawDevice();
}
@@ -418,18 +419,18 @@ void cLCARSNGDisplayChannel::SetEvents(const cEvent *Present, const cEvent *Foll
int y = !i ? yc03 : yc05;
if (e) {
// draw Time:
- osd->DrawText(xc10 + Margin, y + Margin, e->GetTimeString(), Theme.Color(clrChannelFrameFg), frameColorBg, cFont::GetFont(fontOsd), xc10m - xc10 - 1 - 2 * Margin, lineHeight, taRight | taBorder);
+ osd->DrawText(xc10 + Margin, y + Margin, e->GetTimeString(), frameColorFg, frameColorBg, cFont::GetFont(fontOsd), xc10m - xc10 - 1 - 2 * Margin, lineHeight, taRight | taBorder);
// draw Title:
int w = cFont::GetFont(fontOsd)->Width(e->Title());
osd->DrawRectangle(x, y + Margin, xc13, y + Margin + lineHeight, Theme.Color(clrBackground));
- osd->DrawText(x, y + Margin, e->Title(), Theme.Color(clrEventTitle), frameColorBg, cFont::GetFont(fontOsd), min(w, xc13 - x), lineHeight);
+ osd->DrawText(x, y + Margin, e->Title(), Theme.Color(clrEventTitle), textColorBg, cFont::GetFont(fontOsd), min(w, xc13 - x), lineHeight);
// draw ShortText:
w = cFont::GetFont(fontSml)->Width(e->ShortText());
osd->DrawRectangle(x, y + lineHeight + 2 * Margin + Gap / 2, xc13, y + 2 * lineHeight + Gap / 2, Theme.Color(clrBackground));
- osd->DrawText(x, y + lineHeight + 2 * Margin + Gap / 2, e->ShortText(), Theme.Color(clrEventShortText), frameColorBg, cFont::GetFont(fontSml), min(w, xc13 - x), lineHeight - 2 * Margin);
+ osd->DrawText(x, y + lineHeight + 2 * Margin + Gap / 2, e->ShortText(), Theme.Color(clrEventShortText), textColorBg, cFont::GetFont(fontSml), min(w, xc13 - x), lineHeight - 2 * Margin);
}
else {
- DrawRectangleOutline(osd, xc10, y, xc10m - 1, y + lineHeight - 1 + 2 * Margin, frameColorMg, frameColorBg, 15);
+ DrawRectangleOutline(osd, xc10, y, xc10m - 1, y + lineHeight - 1 + 2 * Margin, frameColorBr, frameColorBg, 15);
osd->DrawRectangle(xc10m, y, xc13 - 1, y + 2 * lineHeight + 2 * Margin, Theme.Color(clrBackground));
}
}
diff --git a/displaychannel.h b/displaychannel.h
index cf35d4c..91db0d8 100644
--- a/displaychannel.h
+++ b/displaychannel.h
@@ -39,7 +39,8 @@ private:
cFont *tallFont;
tColor frameColorFg;
tColor frameColorBg;
- tColor frameColorMg;
+ tColor frameColorBr;
+ tColor textColorBg;
bool message;
const cEvent *present;
const cEvent *following;
diff --git a/displaymenu.c b/displaymenu.c
index ece73a2..3843451 100644
--- a/displaymenu.c
+++ b/displaymenu.c
@@ -57,7 +57,10 @@ cLCARSNGDisplayMenu::cLCARSNGDisplayMenu(void)
tinyFont = CreateTinyFont(lineHeight);
frameColorFg = Theme.Color(clrMenuFrameFg);
frameColorBg = Theme.Color(clrMenuFrameBg);
- frameColorMg = Theme.Color(clrMenuFrameMg);
+ frameColorBr = (Theme.Color(clrMenuFrameBr) == CLR_BLACK) ? frameColorBg : Theme.Color(clrMenuFrameBr);
+ channelFrameColorBr = (Theme.Color(clrChannelFrameBr) == CLR_BLACK) ? Theme.Color(clrChannelFrameBg) : Theme.Color(clrChannelFrameBr);
+ replayFrameColorBr = (Theme.Color(clrReplayFrameBr) == CLR_BLACK) ? Theme.Color(clrReplayFrameBg) : Theme.Color(clrReplayFrameBr);
+ textColorBg = Theme.Color(clrMenuTextBg);
currentIndex = -1;
Margin = Config.Margin;
@@ -359,7 +362,8 @@ void cLCARSNGDisplayMenu::SetMenuCategory(eMenuCategory MenuCategory)
else {
if (viewmode == esplitscreen)
SetCoordinateY(yt08);
- osd->DrawRectangle( xs00, 0, xa09, yc06 - 1, clrTransparent);
+ if (viewmode == escaledvideo)
+ osd->DrawRectangle( xs00, 0, xa09, yc06 - 1, clrTransparent);
yi00 = ym00;
yi01 = ym07;
xi00 = xa03;
@@ -372,47 +376,47 @@ void cLCARSNGDisplayMenu::SetMenuCategory(eMenuCategory MenuCategory)
}
}
-void cLCARSNGDisplayMenu::DrawMainFrameUpper(tColor Color)
+void cLCARSNGDisplayMenu::DrawMainFrameUpper(tColor Color, tColor ColorBg)
{
// Top left rectangles:
- DrawRectangleOutline(osd, xa00, yt00, xa02 - 1, yt02 - 1, Color, frameColorBg, 15);
- DrawRectangleOutline(osd, xa00, yt04, xa02 - 1, yt06 - 1, Color, frameColorBg, 15);
- DrawRectangleOutline(osd, xa00, yt07, xa02 - 1, yt08 - 1, Color, frameColorBg, 15);
+ DrawRectangleOutline(osd, xa00, yt00, xa02 - 1, yt02 - 1, Color, ColorBg, 15);
+ DrawRectangleOutline(osd, xa00, yt04, xa02 - 1, yt06 - 1, Color, ColorBg, 15);
+ DrawRectangleOutline(osd, xa00, yt07, xa02 - 1, yt08 - 1, Color, ColorBg, 15);
if (!(viewmode == esplitscreen || (!(viewmode == escaledvideo) && (MenuCategory() == mcMain))))
- DrawRectangleOutline(osd, xa00, yt09, xa02 - 1, yt10 - 1, Color, frameColorBg, 15);
+ DrawRectangleOutline(osd, xa00, yt09, xa02 - 1, yt10 - 1, Color, ColorBg, 15);
// Upper elbow:
- DrawRectangleOutline(osd, xa00, yc00, xa01 - 1, yc01 - 1, Color, frameColorBg, 3);
- DrawRectangleOutline(osd, xa01, yc00, xa02 - 1, yc05 - 1, Color, frameColorBg, 14);
- DrawRectangleOutline(osd, xa02 - Margin, yc04, xa05 - 1, yc05 - 1, Color, frameColorBg, 14);
+ DrawRectangleOutline(osd, xa00, yc00, xa01 - 1, yc01 - 1, Color, ColorBg, 3);
+ DrawRectangleOutline(osd, xa01, yc00, xa02 - 1, yc05 - 1, Color, ColorBg, 14);
+ DrawRectangleOutline(osd, xa02 - Margin, yc04, xa05 - 1, yc05 - 1, Color, ColorBg, 14);
osd->DrawEllipse (xa00, yc01, xa01 - 1, yc05 - 1, Color, 3);
- osd->DrawEllipse (xa00 + Margin, yc01, xa01 - 1, yc05 - 1 - Margin, frameColorBg, 3);
+ osd->DrawEllipse (xa00 + Margin, yc01, xa01 - 1, yc05 - 1 - Margin, ColorBg, 3);
osd->DrawEllipse (xa02, yc02, xa04 - 1, yc04 - 1, Color, -3);
- osd->DrawEllipse (xa02 - Margin, yc02, xa04 - 1, yc04 - 1 + Margin, frameColorBg, -3);
+ osd->DrawEllipse (xa02 - Margin, yc02, xa04 - 1, yc04 - 1 + Margin, ColorBg, -3);
if (viewmode == esplitscreen || (viewmode == efullscreen && (MenuCategory() == mcMain))) {
// Upper delimiter:
- DrawRectangleOutline(osd, xa06, yc04 + lineHeight / 2, xm08 - 1, yc05 - 1, Color, frameColorBg, 15);
+ DrawRectangleOutline(osd, xa06, yc04 + lineHeight / 2, xm08 - 1, yc05 - 1, Color, ColorBg, 15);
// Top right rectangles:
- DrawRectangleOutline(osd, xm08 + Gap, yc04, xs00 - Gap - 1, yc05 - 1, Color, frameColorBg, 15);
+ DrawRectangleOutline(osd, xm08 + Gap, yc04, xs00 - Gap - 1, yc05 - 1, Color, ColorBg, 15);
if (viewmode == esplitscreen && (MenuCategory() != mcSetup)) {
- DrawRectangleOutline(osd, xs00, yc04, xs11 - 1, yc05 - 1, Color, frameColorBg, 15);
+ DrawRectangleOutline(osd, xs00, yc04, xs11 - 1, yc05 - 1, Color, ColorBg, 15);
}
else {
- DrawRectangleOutline(osd, xs00, yc04, xs05 - 1, yc05 - 1, Color, frameColorBg, 15);
- DrawRectangleOutline(osd, xs06, yc04, xa07 - 1, yc05 - 1, Color, frameColorBg, 15);
+ DrawRectangleOutline(osd, xs00, yc04, xs05 - 1, yc05 - 1, Color, ColorBg, 15);
+ DrawRectangleOutline(osd, xs06, yc04, xa07 - 1, yc05 - 1, Color, ColorBg, 15);
}
- DrawRectangleOutline(osd, xa08, yc04, xa09 - 1, yc05 - 1, Color, frameColorBg, 15);
+ DrawRectangleOutline(osd, xa08, yc04, xa09 - 1, yc05 - 1, Color, ColorBg, 15);
}
else {
// Upper delimiter:
- DrawRectangleOutline(osd, xa06, yc04 + lineHeight / 2, xm03 - 1, yc05 - 1, Color, frameColorBg, 15);
+ DrawRectangleOutline(osd, xa06, yc04 + lineHeight / 2, xm03 - 1, yc05 - 1, Color, ColorBg, 15);
// Top right rectangles:
- DrawRectangleOutline(osd, xm07, yt00, xm08 - 1, yc04 - Gap - 1, Color, frameColorBg, 15);
- DrawRectangleOutline(osd, xm03 + Gap, yc04 + lineHeight / 2, xm07 + Margin, yc05 - 1, Color, frameColorBg, 11);
- DrawRectangleOutline(osd, xm07, yc04, xm07 + lineHeight / 2, yc04 + lineHeight / 2, Color, frameColorBg, 3);
+ DrawRectangleOutline(osd, xm07, yt00, xm08 - 1, yc04 - Gap - 1, Color, ColorBg, 15);
+ DrawRectangleOutline(osd, xm03 + Gap, yc04 + lineHeight / 2, xm07 + Margin, yc05 - 1, Color, ColorBg, 11);
+ DrawRectangleOutline(osd, xm07, yc04, xm07 + lineHeight / 2, yc04 + lineHeight / 2, Color, ColorBg, 3);
osd->DrawEllipse (xm07 + Margin, yc04, xm08 - 1, yc05 - 1, Color, 4);
- osd->DrawEllipse (xm07 + Margin, yc04 + Margin, xm08 - 1 - Margin, yc05 - 1 - Margin, frameColorBg, 4);
+ osd->DrawEllipse (xm07 + Margin, yc04 + Margin, xm08 - 1 - Margin, yc05 - 1 - Margin, ColorBg, 4);
osd->DrawEllipse (xm06, yc04, xm07, yc04 + lineHeight / 2, Color, -4);
- osd->DrawEllipse (xm06, yc04 + Margin, xm07 + Margin, yc04 + lineHeight / 2 + Margin, frameColorBg, -4);
+ osd->DrawEllipse (xm06, yc04 + Margin, xm07 + Margin, yc04 + lineHeight / 2 + Margin, ColorBg, -4);
}
}
@@ -421,27 +425,27 @@ void cLCARSNGDisplayMenu::DrawMainFrameLower(void)
// Mitte unterer Ellenbogen
const cFont *font = cFont::GetFont(fontOsd);
// Lower elbow:
- DrawRectangleOutline(osd, xa00, yc10, xa01 - 1, yc11 - 1, frameColorMg, frameColorBg, 9);
- DrawRectangleOutline(osd, xa01, yc06, xa02 - 1, yc11 - 1, frameColorMg, frameColorBg, 14);
- DrawRectangleOutline(osd, xa02 - Margin, yc06, xa05 - 1, yc07 - 1, frameColorMg, frameColorBg, 14);
- osd->DrawEllipse (xa00, yc06, xa01 - 1, yc10 - 1, frameColorMg, 2);
+ DrawRectangleOutline(osd, xa00, yc10, xa01 - 1, yc11 - 1, frameColorBr, frameColorBg, 9);
+ DrawRectangleOutline(osd, xa01, yc06, xa02 - 1, yc11 - 1, frameColorBr, frameColorBg, 14);
+ DrawRectangleOutline(osd, xa02 - Margin, yc06, xa05 - 1, yc07 - 1, frameColorBr, frameColorBg, 14);
+ osd->DrawEllipse (xa00, yc06, xa01 - 1, yc10 - 1, frameColorBr, 2);
osd->DrawEllipse (xa00 + Margin, yc06 + Margin, xa01 - 1, yc10 - 1, frameColorBg, 2);
- osd->DrawEllipse (xa02, yc07, xa04 - 1, yc09 - 1, frameColorMg, -2);
+ osd->DrawEllipse (xa02, yc07, xa04 - 1, yc09 - 1, frameColorBr, -2);
osd->DrawEllipse (xa02 - Margin, yc07 - Margin, xa04 - 1, yc09 - 1, frameColorBg, -2);
// Lower delimiter:
if (!viewmode == escaledvideo && (MenuCategory() == mcMain)) {
- DrawRectangleOutline(osd, xa06, yc06, xm08 - 1, yc07 - lineHeight / 2 - 1, frameColorMg, frameColorBg, 15);
+ DrawRectangleOutline(osd, xa06, yc06, xm08 - 1, yc07 - lineHeight / 2 - 1, frameColorBr, frameColorBg, 15);
}
else if (viewmode == esplitscreen && !(MenuCategory() == mcRecording)) {
- DrawRectangleOutline(osd, xa06, yc06, xm08 - 1, yc07 - lineHeight / 2 - 1, frameColorMg, frameColorBg, 15);
+ DrawRectangleOutline(osd, xa06, yc06, xm08 - 1, yc07 - lineHeight / 2 - 1, frameColorBr, frameColorBg, 15);
}
else {
- DrawRectangleOutline(osd, xa06, yc06, xm03 - 1, yc07 - lineHeight / 2 - 1, frameColorMg, frameColorBg, 15);
- DrawRectangleOutline(osd, xm04, yc06, xm08 - 1, yc07 - 1, frameColorMg, frameColorBg, 15);
+ DrawRectangleOutline(osd, xa06, yc06, xm03 - 1, yc07 - lineHeight / 2 - 1, frameColorBr, frameColorBg, 15);
+ DrawRectangleOutline(osd, xm04, yc06, xm08 - 1, yc07 - 1, frameColorBr, frameColorBg, 15);
}
- DrawRectangleOutline(osd, xm08 + Gap, yc06, xs00 - Gap - 1, yc07 - 1, frameColorMg, frameColorBg, 15);
+ DrawRectangleOutline(osd, xm08 + Gap, yc06, xs00 - Gap - 1, yc07 - 1, frameColorBr, frameColorBg, 15);
// VDR version:
- osd->DrawRectangle(xa00, yb10, xa02 - 1, yb15 - 1, frameColorMg);
+ osd->DrawRectangle(xa00, yb10, xa02 - 1, yb15 - 1, frameColorBr);
osd->DrawText(xa00 + Margin, yb10 + Margin, cString::sprintf("%s-%s", "VDR", VDRVERSION), frameColorFg, frameColorBg, font, xa02 - xa00 - 2 * Margin, yb15 - yb10 - 2 * Margin, taTop | taRight | taBorder);
osd->DrawText(xa00 + Margin, yb15 - lineHeight - Margin, "LCARSNG", frameColorFg, frameColorBg, font, xa02 - xa00 - 2 * Margin, lineHeight, taBottom | taRight | taBorder);
}
@@ -450,22 +454,22 @@ void cLCARSNGDisplayMenu::DrawMainFrameChannel(void)
{
const cFont *font = cFont::GetFont(fontOsd);
// Upper elbow:
- DrawRectangleOutline(osd, xa00, yt05, xa01 - 1, yt06 - 1, frameColorMg, frameColorBg, 9);
- DrawRectangleOutline(osd, xa01, yt00, xa02 - 1, yt06 - 1, frameColorMg, frameColorBg, 14);
- DrawRectangleOutline(osd, xa02 - Margin, yt00, xa05 - 1, yt01 - 1, frameColorMg, frameColorBg, 14);
- osd->DrawEllipse (xa00, yt00, xa01 - 1, yt05 - 1, frameColorMg, 2);
+ DrawRectangleOutline(osd, xa00, yt05, xa01 - 1, yt06 - 1, frameColorBr, frameColorBg, 9);
+ DrawRectangleOutline(osd, xa01, yt00, xa02 - 1, yt06 - 1, frameColorBr, frameColorBg, 14);
+ DrawRectangleOutline(osd, xa02 - Margin, yt00, xa05 - 1, yt01 - 1, frameColorBr, frameColorBg, 14);
+ osd->DrawEllipse (xa00, yt00, xa01 - 1, yt05 - 1, frameColorBr, 2);
osd->DrawEllipse (xa00 + Margin, yt00 + Margin, xa01 - 1, yt05 - 1, frameColorBg, 2);
- osd->DrawEllipse (xa02, yt01, xa04 - 1, yt03 - 1, frameColorMg, -2);
+ osd->DrawEllipse (xa02, yt01, xa04 - 1, yt03 - 1, frameColorBr, -2);
osd->DrawEllipse (xa02 - Margin, yt01 - Margin, xa04 - 1, yt03 - 1, frameColorBg, -2);
- DrawRectangleOutline(osd, xm02, yt00, xm03 -1, yt01 - 1, frameColorMg, frameColorBg, 15);
- DrawRectangleOutline(osd, xm04, yt00, xm07 - Gap - 1, yt01 - 1, frameColorMg, frameColorBg, 15);
- DrawRectangleOutline(osd, xm07, yt00, xm07 + lineHeight / 2 -1, yt01 - 1, frameColorMg, frameColorBg, 11);
- osd->DrawEllipse (xm07 + lineHeight / 2, yt00, xm08 - 1, yt01 - 1, frameColorMg, 5);
+ DrawRectangleOutline(osd, xm02, yt00, xm03 -1, yt01 - 1, frameColorBr, frameColorBg, 15);
+ DrawRectangleOutline(osd, xm04, yt00, xm07 - Gap - 1, yt01 - 1, frameColorBr, frameColorBg, 15);
+ DrawRectangleOutline(osd, xm07, yt00, xm07 + lineHeight / 2 -1, yt01 - 1, frameColorBr, frameColorBg, 11);
+ osd->DrawEllipse (xm07 + lineHeight / 2, yt00, xm08 - 1, yt01 - 1, frameColorBr, 5);
osd->DrawEllipse (xm07 + lineHeight / 2, yt00 + Margin, xm08 - 1 - Margin, yt01 - 1 - Margin, frameColorBg, 5);
// Center part:
- DrawRectangleOutline(osd, xa00, yt06 + Gap, xa02 - 1, yb00 - 1 - Gap, frameColorMg, frameColorBg, 15);
+ DrawRectangleOutline(osd, xa00, yt06 + Gap, xa02 - 1, yb00 - 1 - Gap, frameColorBr, frameColorBg, 15);
// VDR version:
- osd->DrawRectangle(xa00, yb10, xa02 - 1, yb15 - 1, frameColorMg);
+ osd->DrawRectangle(xa00, yb10, xa02 - 1, yb15 - 1, frameColorBr);
osd->DrawText(xa00 + Margin, yb10 + Margin, cString::sprintf("%s-%s", "VDR", VDRVERSION), frameColorFg, frameColorBg, font, xa02 - xa00 - 2 * Margin, yb15 - yb10 - 2 * Margin, taTop | taRight | taBorder);
osd->DrawText(xa00 + Margin, yb15 - lineHeight - Margin, "LCARSNG", frameColorFg, frameColorBg, font, xa02 - xa00 - 2 * Margin, lineHeight, taBottom | taRight | taBorder);
}
@@ -483,35 +487,35 @@ void cLCARSNGDisplayMenu::DrawMenuFrame(void)
{
const cFont *font = cFont::GetFont(fontOsd);
// Upper elbow:
- DrawRectangleOutline(osd, xa00, yt05, xa01 - 1, yt06 - 1, frameColorMg, frameColorBg, 9);
- DrawRectangleOutline(osd, xa01, yt00, xa02 - 1, yt06 - 1, frameColorMg, frameColorBg, 14);
- DrawRectangleOutline(osd, xa02 - Margin, yt00, xa05 - 1, yt01 - 1, frameColorMg, frameColorBg, 14);
+ DrawRectangleOutline(osd, xa00, yt05, xa01 - 1, yt06 - 1, frameColorBr, frameColorBg, 9);
+ DrawRectangleOutline(osd, xa01, yt00, xa02 - 1, yt06 - 1, frameColorBr, frameColorBg, 14);
+ DrawRectangleOutline(osd, xa02 - Margin, yt00, xa05 - 1, yt01 - 1, frameColorBr, frameColorBg, 14);
// osd->DrawRectangle(xa00, yt00, xa01 - 1, yt05 - 1, clrTransparent);
- osd->DrawEllipse (xa00, yt00, xa01 - 1, yt05 - 1, frameColorMg, 2);
+ osd->DrawEllipse (xa00, yt00, xa01 - 1, yt05 - 1, frameColorBr, 2);
osd->DrawEllipse (xa00 + Margin, yt00 + Margin, xa01 - 1, yt05 - 1, frameColorBg, 2);
- osd->DrawEllipse (xa02, yt01, xa04 - 1, yt03 - 1, frameColorMg, -2);
+ osd->DrawEllipse (xa02, yt01, xa04 - 1, yt03 - 1, frameColorBr, -2);
osd->DrawEllipse (xa02 - Margin, yt01 - Margin, xa04 - 1, yt03 - 1, frameColorBg, -2);
// osd->DrawRectangle(xa06, yt00, xa07 - 1, yt01 - 1, frameColor);
- DrawRectangleOutline(osd, xa08, yt00, xa08 + lineHeight / 2 - 1, yt01 - 1, frameColorMg, frameColorBg, 11);
+ DrawRectangleOutline(osd, xa08, yt00, xa08 + lineHeight / 2 - 1, yt01 - 1, frameColorBr, frameColorBg, 11);
osd->DrawRectangle(xa08 + lineHeight / 2, yt00, xa09 - 1, yt00 + lineHeight / 2 - 1, clrTransparent);
- osd->DrawEllipse (xa08 + lineHeight / 2, yt00, xa09 - 1, yt01 - 1, frameColorMg, 5);
+ osd->DrawEllipse (xa08 + lineHeight / 2, yt00, xa09 - 1, yt01 - 1, frameColorBr, 5);
osd->DrawEllipse (xa08 + lineHeight / 2, yt00 + Margin, xa09 - 1 - Margin, yt01 - 1 - Margin, frameColorBg, 5);
// Center part:
// osd->DrawRectangle(xa00, yt06 + Gap, xa02 - 1, yc00 - 1 - Gap, frameColor);
// osd->DrawRectangle(xa00, yc00, xa02 - 1, yc11 - 1, frameColor);
- DrawRectangleOutline(osd, xa00, yt06 + Gap, xa02 - 1, yb00 - 1 - Gap, frameColorMg, frameColorBg, 15);
+ DrawRectangleOutline(osd, xa00, yt06 + Gap, xa02 - 1, yb00 - 1 - Gap, frameColorBr, frameColorBg, 15);
// Lower elbow:
- DrawRectangleOutline(osd, xa00, yb10, xa01 - 1, yb11 - 1, frameColorMg, frameColorBg, 3);
- DrawRectangleOutline(osd, xa01, yb10, xa02 - 1, yb15 - 1, frameColorMg, frameColorBg, 14);
- DrawRectangleOutline(osd, xa02 - Margin, yb14, xa05 - 1, yb15 - 1, frameColorMg, frameColorBg, 14);
+ DrawRectangleOutline(osd, xa00, yb10, xa01 - 1, yb11 - 1, frameColorBr, frameColorBg, 3);
+ DrawRectangleOutline(osd, xa01, yb10, xa02 - 1, yb15 - 1, frameColorBr, frameColorBg, 14);
+ DrawRectangleOutline(osd, xa02 - Margin, yb14, xa05 - 1, yb15 - 1, frameColorBr, frameColorBg, 14);
// osd->DrawRectangle(xa00, yb11, xa01 - 1, yb15 - 1, clrTransparent);
- osd->DrawEllipse (xa00, yb11, xa01 - 1, yb15 - 1, frameColorMg, 3);
+ osd->DrawEllipse (xa00, yb11, xa01 - 1, yb15 - 1, frameColorBr, 3);
osd->DrawEllipse (xa00 + Margin, yb11, xa01 - 1, yb15 - 1 - Margin, frameColorBg, 3);
- osd->DrawEllipse (xa02, yb12, xa04 - 1, yb14 - 1, frameColorMg, -3);
+ osd->DrawEllipse (xa02, yb12, xa04 - 1, yb14 - 1, frameColorBr, -3);
osd->DrawEllipse (xa02 - Margin, yb12, xa04 - 1, yb14 - 1 + Margin, frameColorBg, -3);
- DrawRectangleOutline(osd, xa08, yb14, xa08 + lineHeight / 2 - 1, yb15 - 1, frameColorMg, frameColorBg, 11);
+ DrawRectangleOutline(osd, xa08, yb14, xa08 + lineHeight / 2 - 1, yb15 - 1, frameColorBr, frameColorBg, 11);
osd->DrawRectangle(xa08 + lineHeight / 2, yb14 + lineHeight / 2, xa09 - 1, yb15 - 1, clrTransparent);
- osd->DrawEllipse (xa08 + lineHeight / 2, yb14, xa09 - 1, yb15 - 1, frameColorMg, 5);
+ osd->DrawEllipse (xa08 + lineHeight / 2, yb14, xa09 - 1, yb15 - 1, frameColorBr, 5);
osd->DrawEllipse (xa08 + lineHeight / 2, yb14 + Margin, xa09 - 1 - Margin, yb15 - 1 - Margin, frameColorBg, 5);
osd->DrawText(xa00 + Margin, yb10 + Margin, cString::sprintf("%s-%s", "VDR", VDRVERSION), frameColorFg, frameColorBg, font, xa02 - xa00 - 2 * Margin, yb11 - yb10 - Margin, taTop | taRight | taBorder);
// Color buttons:
@@ -667,7 +671,7 @@ void cLCARSNGDisplayMenu::DrawMainBracket(void)
}
}
if (MenuCategory() == mcSetup) {
- DrawRectangleOutline(osd, xm02, ys00, xm03 - 1, ys01 - 1, frameColorMg, frameColorBg, 15);
+ DrawRectangleOutline(osd, xm02, ys00, xm03 - 1, ys01 - 1, frameColorBr, frameColorBg, 15);
osd->DrawText(xm02 + Margin, ys00 + Margin, tr("Setup"), frameColorFg, frameColorBg, font, xm03 - xm02 - 2 * Margin, lineHeight - Margin, taBottom | taLeft | taBorder);
}
// if (MenuCategory() == mcCommand)
@@ -679,42 +683,42 @@ void cLCARSNGDisplayMenu::DrawMainBracket(void)
void cLCARSNGDisplayMenu::DrawStatusElbows(void)
{
const cFont *font = cFont::GetFont(fontOsd);
- osd->DrawRectangle(xs00, ys00, xs01 - 1, ys01 - 1, frameColorMg);
+ osd->DrawRectangle(xs00, ys00, xs01 - 1, ys01 - 1, frameColorBr);
osd->DrawText (xs00 + Margin, ys00 + Margin, tr("TIMERS"), frameColorFg, frameColorBg, font, xs01 - xs00 - 2 * Margin, lineHeight - Margin, taBottom | taLeft | taBorder);
- DrawRectangleOutline(osd, xs02, ys00, xs03 - 1, ys01 - 1, frameColorMg, frameColorBg, 11);
- osd->DrawEllipse (xs03, ys00, xs05 - 1, ys01 - 1, frameColorMg, 1);
+ DrawRectangleOutline(osd, xs02, ys00, xs03 - 1, ys01 - 1, frameColorBr, frameColorBg, 11);
+ osd->DrawEllipse (xs03, ys00, xs05 - 1, ys01 - 1, frameColorBr, 1);
osd->DrawEllipse (xs03, ys00 + Margin, xs05 - 1 - Margin, ys01 - 1 - Margin, frameColorBg, 1);
- DrawRectangleOutline(osd, xs04, ys01 - Margin, xs05 - 1, ys03 - 1, frameColorMg, frameColorBg, 13);
- osd->DrawEllipse (xs03, ys01, xs04 - 1, ys02 - 1, frameColorMg, -1);
+ DrawRectangleOutline(osd, xs04, ys01 - Margin, xs05 - 1, ys03 - 1, frameColorBr, frameColorBg, 13);
+ osd->DrawEllipse (xs03, ys01, xs04 - 1, ys02 - 1, frameColorBr, -1);
osd->DrawEllipse (xs03, ys01 - Margin, xs04 - 1 + Margin, ys02 - 1, frameColorBg, -1);
- DrawRectangleOutline(osd, xs04, ys04, xs05 - 1, ys05 - 1, frameColorMg, frameColorBg, 15);
- osd->DrawRectangle(xs10, ys00, xs11 - 1, ys01 - 1, frameColorMg);
+ DrawRectangleOutline(osd, xs04, ys04, xs05 - 1, ys05 - 1, frameColorBr, frameColorBg, 15);
+ osd->DrawRectangle(xs10, ys00, xs11 - 1, ys01 - 1, frameColorBr);
osd->DrawText (xs10 + Margin, ys00 + Margin, tr("DEVICES"), frameColorFg, frameColorBg, font, xs11 - xs10 - 2 * Margin, lineHeight - Margin, taBottom | taRight | taBorder);
- DrawRectangleOutline(osd, xs08, ys00, xs09 - 1, ys01 - 1, frameColorMg, frameColorBg, 14);
- osd->DrawEllipse (xs06, ys00, xs08 - 1, ys01 - 1, frameColorMg, 2);
+ DrawRectangleOutline(osd, xs08, ys00, xs09 - 1, ys01 - 1, frameColorBr, frameColorBg, 14);
+ osd->DrawEllipse (xs06, ys00, xs08 - 1, ys01 - 1, frameColorBr, 2);
osd->DrawEllipse (xs06 + Margin, ys00 + Margin, xs08 - 1, ys01 - 1 - Margin, frameColorBg, 2);
- DrawRectangleOutline(osd, xs06, ys01 - Margin, xs07 - 1, ys03 - 1, frameColorMg, frameColorBg, 13);
- osd->DrawEllipse (xs07, ys01, xs08 - 1, ys02 - 1, frameColorMg, -2);
+ DrawRectangleOutline(osd, xs06, ys01 - Margin, xs07 - 1, ys03 - 1, frameColorBr, frameColorBg, 13);
+ osd->DrawEllipse (xs07, ys01, xs08 - 1, ys02 - 1, frameColorBr, -2);
osd->DrawEllipse (xs07 - Margin, ys01 - Margin, xs08 - 1, ys02 - 1, frameColorBg, -2);
- DrawRectangleOutline(osd, xs06, ys04, xs07 - 1, ys05 - 1, frameColorMg, frameColorBg, 15);
- DrawRectangleOutline(osd, xs12, ys00, xs13 - 1, ys01 - 1, frameColorMg, frameColorBg, 15);
+ DrawRectangleOutline(osd, xs06, ys04, xs07 - 1, ys05 - 1, frameColorBr, frameColorBg, 15);
+ DrawRectangleOutline(osd, xs12, ys00, xs13 - 1, ys01 - 1, frameColorBr, frameColorBg, 15);
}
void cLCARSNGDisplayMenu::DrawFrameDisplay(void)
{
// if (MenuCategory() != mcChannel) {
if (initial) {
- osd->DrawRectangle(xa00, yb00, xa02 - 1, yb01 - 1, frameColorMg);
+ osd->DrawRectangle(xa00, yb00, xa02 - 1, yb01 - 1, frameColorBr);
if (yb02) // DISK
- osd->DrawRectangle(xa00, yb02, xa02 - 1, yb03 - 1, frameColorMg);
+ osd->DrawRectangle(xa00, yb02, xa02 - 1, yb03 - 1, frameColorBr);
if (yb04) // LOAD
- osd->DrawRectangle(xa00, yb04, xa02 - 1, yb05 - 1, frameColorMg);
+ osd->DrawRectangle(xa00, yb04, xa02 - 1, yb05 - 1, frameColorBr);
if (yb06) // RECORDINGS
- osd->DrawRectangle(xa00, yb06, xa02 - 1, yb07 - 1, frameColorMg);
+ osd->DrawRectangle(xa00, yb06, xa02 - 1, yb07 - 1, frameColorBr);
if (yb08) // TIMER
- osd->DrawRectangle(xa00, yb08, xa02 - 1, yb081 - 1, frameColorMg);
+ osd->DrawRectangle(xa00, yb08, xa02 - 1, yb081 - 1, frameColorBr);
if (yb082)
- DrawRectangleOutline(osd, xa00, yb082, xa02 - 1, yb09 - 1, frameColorMg, frameColorBg, 15);
+ DrawRectangleOutline(osd, xa00, yb082, xa02 - 1, yb09 - 1, frameColorBr, frameColorBg, 15);
}
DrawDate();
DrawDisk();
@@ -981,9 +985,8 @@ void cLCARSNGDisplayMenu::DrawLiveIndicator(void)
if (lastLiveIndicatorY >= 0)
osd->DrawRectangle(xs12, lastLiveIndicatorY, xs13 - 1, lastLiveIndicatorY + lineHeight - 1, Theme.Color(clrBackground));
if (y > 0) {
- tColor ColorBg = Theme.Color(clrChannelFrameMg);
- osd->DrawRectangle(xs12, y, xs12 + lineHeight / 2 - 1, y + lineHeight - 1, ColorBg);
- osd->DrawEllipse (xs12 + lineHeight / 2, y, xs13 - 1, y + lineHeight - 1, ColorBg, 5);
+ osd->DrawRectangle(xs12, y, xs12 + lineHeight / 2 - 1, y + lineHeight - 1, channelFrameColorBr);
+ osd->DrawEllipse (xs12 + lineHeight / 2, y, xs13 - 1, y + lineHeight - 1, channelFrameColorBr, 5);
if (Transferring) {
int w = bmTransferMode.Width();
int h = bmTransferMode.Height();
@@ -995,7 +998,7 @@ void cLCARSNGDisplayMenu::DrawLiveIndicator(void)
double f = sqrt(double(c) / (2 * b));
bm = bmTransferMode.Scaled(f, f);
}
- osd->DrawBitmap((xs12 + xs13 - bm->Width()) / 2, y + (lineHeight - bm->Height()) / 2, *bm, Theme.Color(clrChannelFrameFg), ColorBg);
+ osd->DrawBitmap((xs12 + xs13 - bm->Width()) / 2, y + (lineHeight - bm->Height()) / 2, *bm, Theme.Color(clrChannelFrameFg), channelFrameColorBr);
if (bm != &bmTransferMode)
delete bm;
}
@@ -1029,24 +1032,24 @@ void cLCARSNGDisplayMenu::DrawLive(const cChannel *Channel)
}
int w = tallFont->Width(tr("LIVE")) + 2 * Gap;
int x1 = (viewmode == escaledvideo) ? xd07 - (xa09 - xm05) : xd07 - lineHeight;
- tColor ColorBg = (viewmode == escaledvideo) ? Theme.Color(clrBackground) : frameColorBg;
+ tColor ColorBg = (viewmode == escaledvideo) ? Theme.Color(clrBackground) : textColorBg;
if (initial) {
- DrawMainFrameUpper(Theme.Color(clrChannelFrameMg));
+ DrawMainFrameUpper(channelFrameColorBr, Theme.Color(clrChannelFrameBg));
int x = 0;
if (viewmode == escaledvideo) {
x = xa09 - xm05;
}
- osd->DrawText(xd07 - x - w, yd00, tr("LIVE"), Theme.Color(clrChannelFrameMg), ColorBg, tallFont, w, tallFont->Height(), taRight | taBorder);
+ osd->DrawText(xd07 - x - w, yd00, tr("LIVE"), channelFrameColorBr, ColorBg, tallFont, w, tallFont->Height(), taRight | taBorder);
}
if (!Channel)
return;
if (initial || Channel != lastChannel || strcmp(Channel->Name(), lastChannelName)) {
- osd->DrawText(xa00 + Margin, yt04 + Margin, itoa(Channel->Number()), Theme.Color(clrChannelFrameFg), frameColorBg, tallFont, xa02 - xa00 - 2 * Margin, yt06 - yt04 - 2 * Margin, taTop | taRight | taBorder);
+ osd->DrawText(xa00 + Margin, yt04 + Margin, itoa(Channel->Number()), Theme.Color(clrChannelFrameFg), Theme.Color(clrChannelFrameBg), tallFont, xa02 - xa00 - 2 * Margin, yt06 - yt04 - 2 * Margin, taTop | taRight | taBorder);
w = tallFont->Width(Channel->Name());
osd->DrawRectangle(xa03, yt04 + Margin, x1, yt04 + Margin + tallFont->Height(), Theme.Color(clrBackground));
osd->DrawText(xa03, yt04 + Margin, Channel->Name(), Theme.Color(clrChannelName), ColorBg, tallFont, min(w, x1 - xa03), tallFont->Height(), taTop | taLeft);
// int x = xa00 + (yc03 - yc02); // compensate for the arc
- osd->DrawText(xa00 + 3 * Margin, yt09 + Margin, cSource::ToString(Channel->Source()), Theme.Color(clrChannelFrameFg), frameColorBg, cFont::GetFont(fontOsd), xa02 - xa00 - 4 * Margin, lineHeight, taTop | taRight | taBorder);
+ osd->DrawText(xa00 + 3 * Margin, yt09 + Margin, cSource::ToString(Channel->Source()), Theme.Color(clrChannelFrameFg), Theme.Color(clrChannelFrameBg), cFont::GetFont(fontOsd), xa02 - xa00 - 4 * Margin, lineHeight, taTop | taRight | taBorder);
lastChannel = Channel;
lastChannelName = Channel->Name();
DrawSeen(0, 0);
@@ -1102,14 +1105,14 @@ void cLCARSNGDisplayMenu::DrawPlay(cControl *Control)
}
int w = tallFont->Width(tr("PLAY")) + 2 * Gap;
int x1 = (viewmode == escaledvideo) ? xd07 - (xa09 - xm05) : xd07 - lineHeight;
- tColor ColorBg = (viewmode == escaledvideo) ? Theme.Color(clrBackground) : frameColorBg;
+ tColor ColorBg = (viewmode == escaledvideo) ? Theme.Color(clrBackground) : textColorBg;
if (initial) {
- DrawMainFrameUpper(Theme.Color(clrReplayFrameMg));
+ DrawMainFrameUpper(replayFrameColorBr, Theme.Color(clrReplayFrameBg));
int x = 0;
if (viewmode == escaledvideo) {
x = xa09 - xm05;
}
- osd->DrawText(xd07 - x - w, yd00, tr("PLAY"), Theme.Color(clrReplayFrameFg), ColorBg, tallFont, w, tallFont->Height(), taRight | taBorder);
+ osd->DrawText(xd07 - x - w, yd00, tr("PLAY"), replayFrameColorBr, ColorBg, tallFont, w, tallFont->Height(), taRight | taBorder);
}
// The current progress:
int Current = 0;
@@ -1130,8 +1133,8 @@ void cLCARSNGDisplayMenu::DrawPlay(cControl *Control)
w = tallFont->Width(Recording->Name());
osd->DrawText(xa03, yt04 + Margin, Recording->Name(), Theme.Color(clrEventTitle), ColorBg, tallFont, min(w, x1 - xa03), tallFont->Height(), taTop | taLeft);
}
- osd->DrawText(xa00 + Margin, yt07 + Margin, ShortDateString(Recording->Start()), Theme.Color(clrReplayFrameFg), frameColorBg, font, xa02 - xa00 - 2 * Margin, 0, taTop | taRight | taBorder);
- osd->DrawText(xa00 + Margin, yt07 + lineHeight + Margin, TimeString(Recording->Start()), Theme.Color(clrReplayFrameFg), frameColorBg, font, xa02 - xa00 - 2 * Margin, 0, taBottom | taRight | taBorder);
+ osd->DrawText(xa00 + Margin, yt07 + Margin, ShortDateString(Recording->Start()), Theme.Color(clrReplayFrameFg), Theme.Color(clrReplayFrameBg), font, xa02 - xa00 - 2 * Margin, 0, taTop | taRight | taBorder);
+ osd->DrawText(xa00 + Margin, yt07 + lineHeight + Margin, TimeString(Recording->Start()), Theme.Color(clrReplayFrameFg), Theme.Color(clrReplayFrameBg), font, xa02 - xa00 - 2 * Margin, 0, taBottom | taRight | taBorder);
lastRecording = Recording;
}
}
@@ -1153,18 +1156,18 @@ void cLCARSNGDisplayMenu::DrawInfo(const cEvent *Event, bool WithTime)
const cFont *fontsml = cFont::GetFont(fontSml);
int y = yt07 + Margin;
int x = (viewmode == escaledvideo) ? xd07 - (xa09 - xm05) : xd00 - lineHeight;
- tColor ColorBg = (viewmode == escaledvideo) ? Theme.Color(clrBackground) : frameColorBg;
+ tColor ColorBg = (viewmode == escaledvideo) ? Theme.Color(clrBackground) : textColorBg;
int w = font->Width(Event->Title());
osd->DrawRectangle(xa03, y, x, y + lineHeight, Theme.Color(clrBackground));
osd->DrawText(xa03, y, Event->Title(), Theme.Color(clrEventTitle), ColorBg, font, min (w, x - xa03), lineHeight, taBottom | taLeft);
if (WithTime)
- osd->DrawText(xa00 + Margin, y, Event->GetTimeString(), Theme.Color(clrChannelFrameFg), frameColorBg, font, xa02 - xa00 - 2 * Margin, lineHeight, taTop | taRight | taBorder);
+ osd->DrawText(xa00 + Margin, y, Event->GetTimeString(), Theme.Color(clrChannelFrameFg), Theme.Color(clrChannelFrameBg), font, xa02 - xa00 - 2 * Margin, lineHeight, taTop | taRight | taBorder);
y += lineHeight;
w = fontsml->Width(Event->ShortText());
osd->DrawRectangle(xa03, y + ((lineHeight - fontsml->Height()) / 2), x, y + lineHeight, Theme.Color(clrBackground));
osd->DrawText(xa03, y + ((lineHeight - fontsml->Height()) / 2), Event->ShortText(), Theme.Color(clrEventShortText), ColorBg, fontsml, min (w, x - xa03), fontsml->Height(), taBottom | taLeft);
if (WithTime)
- osd->DrawText(xa00 + Margin, y, cString::sprintf("-%s", *Event->GetEndTimeString()), Theme.Color(clrChannelFrameFg), frameColorBg, font, xa02 - xa00 - 2 * Margin, lineHeight, taBottom | taRight | taBorder);
+ osd->DrawText(xa00 + Margin, y, cString::sprintf("-%s", *Event->GetEndTimeString()), Theme.Color(clrChannelFrameFg), Theme.Color(clrChannelFrameBg), font, xa02 - xa00 - 2 * Margin, lineHeight, taBottom | taRight | taBorder);
}
}
@@ -1234,13 +1237,13 @@ void cLCARSNGDisplayMenu::SetTitle(const char *Title)
if (viewmode != efullscreen) {
if (MenuCategory() == mcSetup)
return;
- DrawRectangleOutline(osd, xs00, ys00, xs11, ys01 - 1, frameColorMg, frameColorBg, 15);
+ DrawRectangleOutline(osd, xs00, ys00, xs11, ys01 - 1, frameColorBr, frameColorBg, 15);
osd->DrawText(xs00 + Margin, ys00 + Margin, Title, frameColorFg, frameColorBg, font, xs11 - xs00 - 1 - 2 * Margin, lineHeight - Margin, taBottom | taRight | taBorder);
- DrawRectangleOutline(osd, xs12, ys00, xs13 - 1, ys01 - 1, frameColorMg, frameColorBg, 15);
+ DrawRectangleOutline(osd, xs12, ys00, xs13 - 1, ys01 - 1, frameColorBr, frameColorBg, 15);
}
else {
int w = min(font->Width(Title), xa07 - xa06 - Gap);
- DrawRectangleOutline(osd, xa06, yt00, xa07 - 1, yt01 - 1, frameColorMg, frameColorBg, 15);
+ DrawRectangleOutline(osd, xa06, yt00, xa07 - 1, yt01 - 1, frameColorBr, frameColorBg, 15);
osd->DrawText(xa07 - w - Gap, yt00 + Margin, Title, frameColorFg, frameColorBg, font, w + Gap - Margin, lineHeight - Margin, taRight);
}
}
@@ -1315,7 +1318,7 @@ void cLCARSNGDisplayMenu::SetItem(const char *Text, int Index, bool Current, boo
}
else {
ColorFg = Theme.Color(Selectable ? clrMenuItemSelectable : clrMenuItemNonSelectable);
- ColorBg = (viewmode == escaledvideo) ? Theme.Color(clrBackground) : frameColorBg;
+ ColorBg = (viewmode == escaledvideo) ? Theme.Color(clrBackground) : textColorBg;
// if (currentIndex == Index)
osd->DrawRectangle(xi00, y, xi03 - 1, y + lineHeight - 1, Theme.Color(clrBackground));
}
@@ -1346,7 +1349,7 @@ void cLCARSNGDisplayMenu::SetEvent(const cEvent *Event)
int y = yi00;
cTextScroller ts;
char t[32];
- tColor ColorBg = (viewmode == escaledvideo) ? Theme.Color(clrBackground) : frameColorBg;
+ tColor ColorBg = (viewmode == escaledvideo) ? Theme.Color(clrBackground) : textColorBg;
snprintf(t, sizeof(t), "%s %s - %s", *Event->GetDateString(), *Event->GetTimeString(), *Event->GetEndTimeString());
int w = font->Width(t) + Gap;
ts.Set(osd, xl, y, min(w, xi01 - xl), yi01 - y, t, font, Theme.Color(clrEventTime), ColorBg);
@@ -1397,7 +1400,7 @@ void cLCARSNGDisplayMenu::SetRecording(const cRecording *Recording)
int xl = xi00;
int y = yi00;
cTextScroller ts;
- tColor ColorBg = (viewmode == escaledvideo) ? Theme.Color(clrBackground) : frameColorBg;
+ tColor ColorBg = (viewmode == escaledvideo) ? Theme.Color(clrBackground) : textColorBg;
cString t = cString::sprintf("%s %s %s", *DateString(Recording->Start()), *TimeString(Recording->Start()), Info->ChannelName() ? Info->ChannelName() : "");
ts.Set(osd, xl, y, xi01 - xl, yi01 - y, t, font, Theme.Color(clrEventTime), ColorBg);
y += ts.Height();
@@ -1432,7 +1435,7 @@ void cLCARSNGDisplayMenu::SetRecording(const cRecording *Recording)
void cLCARSNGDisplayMenu::SetText(const char *Text, bool FixedFont)
{
- tColor ColorBg = (viewmode == escaledvideo) ? Theme.Color(clrBackground) : frameColorBg;
+ tColor ColorBg = (viewmode == escaledvideo) ? Theme.Color(clrBackground) : textColorBg;
textScroller.Set(osd, xi00, yi00, GetTextAreaWidth(), yi01 - yi00, Text, GetTextAreaFont(FixedFont), Theme.Color(clrMenuText), ColorBg);
DrawTextScrollbar();
}
diff --git a/displaymenu.h b/displaymenu.h
index e96bc4c..d416d14 100644
--- a/displaymenu.h
+++ b/displaymenu.h
@@ -62,7 +62,10 @@ private:
cFont *tallFont;
tColor frameColorFg;
tColor frameColorBg;
- tColor frameColorMg;
+ tColor frameColorBr;
+ tColor channelFrameColorBr;
+ tColor replayFrameColorBr;
+ tColor textColorBg;
int currentIndex;
cVector<int> deviceOffset;
cVector<bool> deviceRecording;
@@ -96,7 +99,7 @@ private:
int Margin;
static cBitmap bmArrowUp, bmArrowDown, bmTransferMode;
void SetCoordinateY(int y);
- void DrawMainFrameUpper(tColor Color);
+ void DrawMainFrameUpper(tColor Color, tColor ColorBg);
void DrawMainFrameLower(void);
void DrawMainFrameChannel(void);
void DrawMainButton(const char *Text, int x0, int x1, int x2, int x3, int y0, int y1, tColor ColorFg, tColor ColorBg, const cFont *Font);
diff --git a/displayreplay.c b/displayreplay.c
index 9c9e8a8..4dab7ca 100644
--- a/displayreplay.c
+++ b/displayreplay.c
@@ -56,7 +56,8 @@ cLCARSNGDisplayReplay::cLCARSNGDisplayReplay(bool ModeOnly):cThread("LCARS Displ
iconHeight = bmRecording.Height();
frameColorBg = Theme.Color(clrReplayFrameBg);
frameColorFg = Theme.Color(clrReplayFrameFg);
- frameColorMg = Theme.Color(clrReplayFrameMg);
+ frameColorBr = (Theme.Color(clrReplayFrameBr) == CLR_BLACK) ? frameColorBg : Theme.Color(clrReplayFrameBr);
+ textColorBg = Theme.Color(clrReplayTextBg);
Margin = Config.Margin;
lastCurrentWidth = 0;
lastTotalWidth = 0;
@@ -88,7 +89,8 @@ cLCARSNGDisplayReplay::cLCARSNGDisplayReplay(bool ModeOnly):cThread("LCARS Displ
xp11 = (xp10 + xp13 + Gap) / 2;
xp12 = xp11 + Gap;
- yp00 = lineHeight;
+ yp00A = 0;
+ yp00 = max(lineHeight, iconHeight) + 2 * Margin;
yp01 = yp00 + 2 * lineHeight + 2 * Margin;
yp02 = yp01 + Gap;
yp03 = yp02 + 2 * lineHeight + 2 * Margin;
@@ -99,40 +101,40 @@ cLCARSNGDisplayReplay::cLCARSNGDisplayReplay(bool ModeOnly):cThread("LCARS Displ
yp06 = yp08 - d / 4;
yp05 = yp09 - d / 2;
- osd = CreateOsd(cOsd::OsdLeft(), cOsd::OsdTop() + cOsd::OsdHeight() - yp09, xp00, yp00 - lineHeight, xp15 - 1, yp09 - 1);
+ osd = CreateOsd(cOsd::OsdLeft(), cOsd::OsdTop() + cOsd::OsdHeight() - yp09, xp00, yp00A, xp15 - 1, yp09 - 1);
osd->DrawRectangle(xp00, yp00, xp15 - 1, yp09 - 1, modeOnly ? clrTransparent : Theme.Color(clrBackground));
// Rectangles:
if (!modeOnly) {
- DrawRectangleOutline(osd, xp00, yp00, xp02 - 1, yp01 - 1, frameColorMg, frameColorBg, 15);
+ DrawRectangleOutline(osd, xp00, yp00, xp02 - 1, yp01 - 1, frameColorBr, frameColorBg, 15);
}
- DrawRectangleOutline(osd, xp00, yp02, xp02 - 1, yp03 - 1, frameColorMg, frameColorBg, 15);
+ DrawRectangleOutline(osd, xp00, yp02, xp02 - 1, yp03 - 1, frameColorBr, frameColorBg, 15);
if (!modeOnly) {
// Elbow:
- DrawRectangleOutline(osd, xp00, yp04, xp02 - 1, yp08 - 1, frameColorMg, frameColorBg, 7);
- DrawRectangleOutline(osd, xp00, yp08, xp02 - 1, yp09 - 1, frameColorMg, frameColorBg, 8);
- DrawRectangleOutline(osd, xp02, yp08, xp05 - 1, yp09 - 1, frameColorMg, frameColorBg, 14);
+ DrawRectangleOutline(osd, xp00, yp04, xp02 - 1, yp08 - 1, frameColorBr, frameColorBg, 7);
+ DrawRectangleOutline(osd, xp00, yp08, xp02 - 1, yp09 - 1, frameColorBr, frameColorBg, 8);
+ DrawRectangleOutline(osd, xp02, yp08, xp05 - 1, yp09 - 1, frameColorBr, frameColorBg, 14);
osd->DrawRectangle(xp00, yp05, xp01 - 1, yp09 - 1, clrTransparent);
- osd->DrawEllipse (xp00, yp05, xp01 - 1, yp09 - 1, frameColorMg, 3);
+ osd->DrawEllipse (xp00, yp05, xp01 - 1, yp09 - 1, frameColorBr, 3);
osd->DrawEllipse (xp00 + Margin, yp05, xp01 - 1, yp09 - 1 - Margin, frameColorBg, 3);
- osd->DrawEllipse (xp02 - 1, yp06, xp04 - 1, yp08, frameColorMg, -3);
+ osd->DrawEllipse (xp02 - 1, yp06, xp04 - 1, yp08, frameColorBr, -3);
osd->DrawEllipse (xp02 - 1 - Margin, yp06, xp04 - 1, yp08 + Margin, frameColorBg, -3);
// Status area:
- DrawRectangleOutline(osd, xp06, yp08, xp07 - 1, yp09 - 1, frameColorMg, frameColorBg, 15);
- DrawRectangleOutline(osd, xp08, yp08, xp09 - 1, yp09 - 1, frameColorMg, frameColorBg, 15);
- DrawRectangleOutline(osd, xp10, yp08, xp11 - 1, yp09 - 1, frameColorMg, frameColorBg, 15);
- DrawRectangleOutline(osd, xp12, yp08, xp13 - 1, yp09 - 1, frameColorMg, frameColorBg, 15);
- DrawRectangleOutline(osd, xp14, yp08, xp14 + lineHeight / 2 - 1, yp09 - 1, frameColorMg, frameColorBg, 11);
+ DrawRectangleOutline(osd, xp06, yp08, xp07 - 1, yp09 - 1, frameColorBr, frameColorBg, 15);
+ DrawRectangleOutline(osd, xp08, yp08, xp09 - 1, yp09 - 1, frameColorBr, frameColorBg, 15);
+ DrawRectangleOutline(osd, xp10, yp08, xp11 - 1, yp09 - 1, frameColorBr, frameColorBg, 15);
+ DrawRectangleOutline(osd, xp12, yp08, xp13 - 1, yp09 - 1, frameColorBr, frameColorBg, 15);
+ DrawRectangleOutline(osd, xp14, yp08, xp14 + lineHeight / 2 - 1, yp09 - 1, frameColorBr, frameColorBg, 11);
osd->DrawRectangle(xp14 + lineHeight / 2, yp08 + lineHeight / 2, xp15 - 1, yp09 - 1, clrTransparent);
- osd->DrawEllipse (xp14 + lineHeight / 2, yp08, xp15 - 1, yp09 - 1, frameColorMg, 5);
+ osd->DrawEllipse (xp14 + lineHeight / 2, yp08, xp15 - 1, yp09 - 1, frameColorBr, 5);
osd->DrawEllipse (xp14 + lineHeight / 2, yp08 + Margin, xp15 - 1 - Margin, yp09 - 1 - Margin, frameColorBg, 5);
// Upper Right:
- osd->DrawRectangle(xp13, yp00 - lineHeight, xp15 - 1, yp00 - 1, Theme.Color(clrBackground));
- DrawRectangleOutline(osd, xp14, yp00 - lineHeight, xp14 + lineHeight / 2 - 1, yp00 - 1, frameColorMg, frameColorBg, 11);
- osd->DrawRectangle(xp14 + lineHeight / 2, yp00 - lineHeight, xp15 - 1, yp00 - lineHeight / 2 - 1, clrTransparent);
- osd->DrawEllipse (xp14 + lineHeight / 2, yp00 - lineHeight, xp15 - 1, yp00 - 1, frameColorMg, 5);
- osd->DrawEllipse (xp14 + lineHeight / 2, yp00 - lineHeight + Margin, xp15 - 1 - Margin, yp00 - 1 - Margin, frameColorBg, 5);
+ osd->DrawRectangle(xp13, yp00A, xp15 - 1, yp00 - 1, Theme.Color(clrBackground));
+ DrawRectangleOutline(osd, xp14, yp00A, xp14 + lineHeight / 2 - 1, yp00 - 1, frameColorBr, frameColorBg, 11);
+ osd->DrawRectangle(xp14 + lineHeight / 2, yp00A, xp15 - 1, yp00 - lineHeight / 2 - 1, clrTransparent);
+ osd->DrawEllipse (xp14 + lineHeight / 2, yp00A, xp15 - 1, yp00 - 1, frameColorBr, 5);
+ osd->DrawEllipse (xp14 + lineHeight / 2, yp00A + Margin, xp15 - 1 - Margin, yp00 - 1 - Margin, frameColorBg, 5);
// Progressbar
- DrawRectangleOutline(osd, xp03, yp03 - lineHeight, xp13 - 1, yp03 - 1, frameColorMg, frameColorBg, 15);
+ DrawRectangleOutline(osd, xp03, yp03 - lineHeight, xp13 - 1, yp03 - 1, frameColorBr, frameColorBg, 15);
}
}
@@ -146,7 +148,7 @@ void cLCARSNGDisplayReplay::DrawDate(void)
{
cString s = DayDateTime();
if (!*lastDate || strcmp(s, lastDate)) {
- osd->DrawText(xp12, yp00 - lineHeight, s, Theme.Color(clrDateFg), Theme.Color(clrDateBg), font, xp13 - xp12 - 1, lineHeight, taRight | taBorder);
+ osd->DrawText(xp12, yp00A, s, Theme.Color(clrDateFg), Theme.Color(clrDateBg), font, xp13 - xp12 - Margin - 1, yp00, taRight | taBorder);
lastDate = s;
}
}
@@ -182,7 +184,7 @@ void cLCARSNGDisplayReplay::DrawBlinkingRec(void)
if (initial || On != lastOn) {
int x = xp13;
x -= bmRecording.Width() + SymbolSpacing;
- osd->DrawBitmap(x - Margin, yp08 + (yp09 - yp08 - bmRecording.Height()) / 2, bmRecording, Theme.Color(rec ? On ? clrChannelSymbolRecFg : clrChannelSymbolOff : clrChannelSymbolOff), rec ? On ? Theme.Color(clrChannelSymbolRecBg) : frameColorMg : frameColorMg);
+ osd->DrawBitmap(x - Margin, yp08 + (yp09 - yp08 - bmRecording.Height()) / 2, bmRecording, Theme.Color(rec ? On ? clrChannelSymbolRecFg : clrChannelSymbolOff : clrChannelSymbolOff), rec ? On ? Theme.Color(clrChannelSymbolRecBg) : frameColorBr : frameColorBr);
lastOn = On;
}
}
@@ -196,7 +198,7 @@ void cLCARSNGDisplayReplay::SetRecording(const cRecording *Recording)
SetTitle(RecordingInfo->Title());
const cFont *fontsml = cFont::GetFont(fontSml);
int w = fontsml->Width(RecordingInfo->ShortText());
- osd->DrawText(xp03, yp01 - lineHeight - Margin, RecordingInfo->ShortText(), Theme.Color(clrEventShortText), frameColorBg, fontsml, min(xp13, (xp03 + w)) - xp03, lineHeight, taCenter);
+ osd->DrawText(xp03, yp01 - lineHeight - Margin, RecordingInfo->ShortText(), Theme.Color(clrEventShortText), textColorBg, fontsml, min(xp13, (xp03 + w)) - xp03, lineHeight, taCenter);
osd->DrawText(xp00 + Margin, yp00 + Margin, ShortDateString(Recording->Start()), frameColorFg, frameColorBg, font, xp02 - xp00 - 2 * Margin, lineHeight, taTop | taRight | taBorder);
osd->DrawText(xp00 + Margin, yp01 - lineHeight - Margin, TimeString(Recording->Start()), frameColorFg, frameColorBg, font, xp02 - xp00 - 2 * Margin, lineHeight, taBottom | taRight | taBorder);
@@ -224,7 +226,7 @@ void cLCARSNGDisplayReplay::SetRecording(const cRecording *Recording)
void cLCARSNGDisplayReplay::SetTitle(const char *Title)
{
int w = font->Width(Title);
- osd->DrawText(xp03, yp00 + Margin, Title, Theme.Color(clrEventTitle), frameColorBg, font, min(xp13, (xp03 + w)) - xp03, lineHeight);
+ osd->DrawText(xp03, yp00 + Margin, Title, Theme.Color(clrEventTitle), textColorBg, font, min(xp13, (xp03 + w)) - xp03, lineHeight);
}
static const char *const *ReplaySymbols[2][2][5] = {
@@ -248,7 +250,7 @@ void cLCARSNGDisplayReplay::SetProgress(int Current, int Total)
if (timshiftMode) {
cString tM = "TimeshiftMode";
int w = font->Width(tM);
- osd->DrawText(xp13 - w, yp01, tM, Theme.Color(clrReplayPosition), frameColorBg, font, w, 0, taRight);
+ osd->DrawText(xp13 - w, yp01, tM, Theme.Color(clrReplayPosition), textColorBg, font, w, 0, taRight);
}
if (isRecording) {
int w = font->Width(endTime);
@@ -260,10 +262,10 @@ void cLCARSNGDisplayReplay::SetProgress(int Current, int Total)
else {
double rest = ((double)framesTotal - (double)Total) / (double)framesTotal;
x = (int)((xp13 - xp03) * rest);
- osd->DrawText(xp13 - w, yp01, *endTime, Theme.Color(clrReplayPosition), frameColorBg, font, w, 0, taRight);
+ osd->DrawText(xp13 - w, yp01, *endTime, Theme.Color(clrReplayPosition), textColorBg, font, w, 0, taRight);
}
if (pbinit) {
- osd->DrawRectangle(xp03 + Margin, yp03 - lineHeight + 4 + lH, xp13 - Margin, yp03 - 4 - lH, frameColorMg); // small rectangle
+ osd->DrawRectangle(xp03 + Margin, yp03 - lineHeight + 4 + lH, xp13 - Margin, yp03 - 4 - lH, frameColorBr); // small rectangle
pbinit = false;
}
}
@@ -276,7 +278,7 @@ void cLCARSNGDisplayReplay::SetProgress(int Current, int Total)
void cLCARSNGDisplayReplay::SetCurrent(const char *Current)
{
int w = font->Width(Current);
- osd->DrawText(xp03, yp04, Current, Theme.Color(clrReplayPosition), frameColorBg, font, max(lastCurrentWidth, w), 0, taTop | taLeft);
+ osd->DrawText(xp03, yp04, Current, Theme.Color(clrReplayPosition), textColorBg, font, max(lastCurrentWidth, w), 0, taTop | taLeft);
if (lastCurrentWidth > w)
osd->DrawRectangle(xp03 + lastCurrentWidth - (lastCurrentWidth - w), yp04, xp03 + lastCurrentWidth, yp04 + lineHeight, Theme.Color(clrBackground));
lastCurrentWidth = w;
@@ -285,7 +287,7 @@ void cLCARSNGDisplayReplay::SetCurrent(const char *Current)
void cLCARSNGDisplayReplay::SetTotal(const char *Total)
{
int w = font->Width(Total);
- osd->DrawText(xp13 - w, yp04, Total, Theme.Color(clrReplayPosition), frameColorBg, font, max(lastTotalWidth, w), 0, taTop | taRight);
+ osd->DrawText(xp13 - w, yp04, Total, Theme.Color(clrReplayPosition), textColorBg, font, max(lastTotalWidth, w), 0, taTop | taRight);
lastTotalWidth = w;
}
diff --git a/displayreplay.h b/displayreplay.h
index ca16d01..27e6d47 100644
--- a/displayreplay.h
+++ b/displayreplay.h
@@ -29,13 +29,14 @@ private:
const cFont *font;
int Margin;
int xp00, xp01, xp02, xp03, xp04, xp05, xp06, xp07, xp08, xp09, xp10, xp11, xp12, xp13, xp14, xp15;
- int yp00, yp01, yp02, yp03, yp04, yp05, yp06, yp07, yp08, yp09;
+ int yp00A, yp00, yp01, yp02, yp03, yp04, yp05, yp06, yp07, yp08, yp09;
bool modeOnly;
int iconHeight;
int lineHeight;
tColor frameColorFg;
tColor frameColorBg;
- tColor frameColorMg;
+ tColor frameColorBr;
+ tColor textColorBg;
int lastCurrentWidth;
int lastTotalWidth;
cString lastDate;
diff --git a/lcarsng.c b/lcarsng.c
index b50b2da..038311d 100644
--- a/lcarsng.c
+++ b/lcarsng.c
@@ -44,7 +44,7 @@
#include <sys/statvfs.h>
#include <string>
-cTheme Theme;
+//cTheme Theme;
bool TwoColors = false;
diff --git a/lcarsng.h b/lcarsng.h
index cb31f69..cbbc9b9 100644
--- a/lcarsng.h
+++ b/lcarsng.h
@@ -68,6 +68,9 @@
#define DISKUSAGEALERTLIMIT 95 // percent of disk usage above which the display goes into alert mode
#define SIGNALDISPLAYDELTA 2 // seconds between subsequent device signal displays
+//extern cTheme Theme;
+cTheme Theme;
+
// Color domains:
#define CLR_BACKGROUND 0x99000000
@@ -94,8 +97,6 @@
#define CLR_BLUE 0xFF9A99FF
#define CLR_BLACK 0xFF000000
-extern cTheme Theme;
-
// General colors:
THEME_CLR(Theme, clrBackground, CLR_BACKGROUND);
@@ -150,7 +151,8 @@ THEME_CLR(Theme, clrVolumeBarLower, CLR_GREEN);
THEME_CLR(Theme, clrChannelFrameFg, CLR_BLACK);
THEME_CLR(Theme, clrChannelFrameBg, CLR_CHANNEL_FRAME);
-THEME_CLR(Theme, clrChannelFrameMg, CLR_WHITE);
+THEME_CLR(Theme, clrChannelFrameBr, CLR_BLACK);
+THEME_CLR(Theme, clrChannelTextBg, CLR_BACKGROUND);
THEME_CLR(Theme, clrChannelSymbolOn, CLR_BLACK);
THEME_CLR(Theme, clrChannelSymbolOff, RgbShade(CLR_CHANNEL_FRAME, -0.2));
THEME_CLR(Theme, clrChannelSymbolRecFg, CLR_WHITE);
@@ -161,7 +163,8 @@ THEME_CLR(Theme, clrSwitchTimer, CLR_GREEN);
THEME_CLR(Theme, clrMenuFrameFg, CLR_BLACK);
THEME_CLR(Theme, clrMenuFrameBg, CLR_MAIN_FRAME);
-THEME_CLR(Theme, clrMenuFrameMg, CLR_WHITE);
+THEME_CLR(Theme, clrMenuFrameBr, CLR_BLACK);
+THEME_CLR(Theme, clrMenuTextBg, CLR_BACKGROUND);
THEME_CLR(Theme, clrMenuTitle, CLR_MAIN_FRAME);
THEME_CLR(Theme, clrMenuMainBracket, CLR_MENU_ITEMS);
THEME_CLR(Theme, clrMenuTimerRecording, CLR_DEVICE);
@@ -179,7 +182,8 @@ THEME_CLR(Theme, clrMenuText, CLR_TEXT);
THEME_CLR(Theme, clrReplayFrameFg, CLR_BLACK);
THEME_CLR(Theme, clrReplayFrameBg, CLR_REPLAY_FRAME);
-THEME_CLR(Theme, clrReplayFrameMg, CLR_WHITE);
+THEME_CLR(Theme, clrReplayFrameBr, CLR_BLACK);
+THEME_CLR(Theme, clrReplayTextBg, CLR_BACKGROUND);
THEME_CLR(Theme, clrReplayPosition, CLR_SEEN);
THEME_CLR(Theme, clrReplayJumpFg, CLR_BLACK);
THEME_CLR(Theme, clrReplayJumpBg, CLR_SEEN);
diff --git a/lcarsng.o b/lcarsng.o
new file mode 100644
index 0000000..3563921
--- /dev/null
+++ b/lcarsng.o
Binary files differ
diff --git a/themes/lcarsng-Dark.theme b/themes/lcarsng-Dark.theme
new file mode 100644
index 0000000..8d97e30
--- /dev/null
+++ b/themes/lcarsng-Dark.theme
@@ -0,0 +1,82 @@
+Description = Dark
+clrBackground = B9303030
+clrDateFg = FFFFA060
+clrDateBg = FF990000
+clrTimerFg = FF000000
+clrTimerBg = FF99CCFF
+clrDeviceFg = FF000000
+clrDeviceBg = FFF1B1AF
+clrSignalValue = FFA0FF99
+clrSignalRest = FFCC6666
+clrSeen = FFCC99CC
+clrTrackName = FFFFCC66
+clrAlertFg = FFFFFFFF
+clrAlertBg = FFFF0000
+clrChannelName = FF99CCFF
+clrEventTitle = FF99CCFF
+clrEventTime = FFFFCC66
+clrEventShortText = FFFFCC66
+clrEventDescription = FF99CCFF
+clrButtonRedFg = FF000000
+clrButtonRedBg = FFCC6666
+clrButtonGreenFg = FF000000
+clrButtonGreenBg = FFA0FF99
+clrButtonYellowFg = FF000000
+clrButtonYellowBg = FFF1DF60
+clrButtonBlueFg = FF000000
+clrButtonBlueBg = FF9A99FF
+clrMessageStatusFg = FFFFFFFF
+clrMessageStatusBg = FF9A99FF
+clrMessageInfoFg = FFA0FF99
+clrMessageInfoBg = 99404040
+clrMessageWarningFg = FFF1DF60
+clrMessageWarningBg = 99404040
+clrMessageErrorFg = FFFFFFFF
+clrMessageErrorBg = FFCC6666
+clrVolumeFrame = FFF1DF6F
+clrVolumeSymbol = FF000000
+clrVolumeBarUpper = FFC1B259
+clrVolumeBarLower = FFA0FF99
+clrChannelFrameFg = FFFFA060
+clrChannelFrameBg = A9306040
+clrChannelFrameBr = FF306040
+clrChannelTextBg = B9303030
+clrChannelSymbolOn = FFFFA060
+clrChannelSymbolOff = FF000000
+clrChannelSymbolRecFg = FFFFFFFF
+clrChannelSymbolRecBg = FFCC6666
+clrMenuFrameFg = FFFFA060
+clrMenuFrameBg = A9604040
+clrMenuFrameBr = FF604040
+clrMenuTextBg = B9303030
+clrMenuTitle = FFF1DF6F
+clrMenuMainBracket = FFFFA060
+clrMenuTimerRecording = FFF1B1AF
+clrMenuDeviceRecording = FF99CCFF
+clrMenuItemCurrentFg = FF000000
+clrMenuItemCurrentBg = FFFFA060
+clrMenuItemSelectable = FFFFA060
+clrMenuItemNonSelectable = FF99CCFF
+clrMenuScrollbarTotal = FFFFA060
+clrMenuScrollbarShown = FFCC99CC
+clrMenuScrollbarArrow = FF000000
+clrMenuText = FF99CCFF
+clrReplayFrameFg = FFFFA060
+clrReplayFrameBg = A9804030
+clrReplayFrameBr = FF804030
+clrReplayTextBg = B9303030
+clrReplayPosition = FFCC99CC
+clrReplayJumpFg = FF000000
+clrReplayJumpBg = FFCC99CC
+clrReplayProgressSeen = FFCC99CC
+clrReplayProgressRest = FFCCCCCC
+clrReplayProgressSelected = FF990000
+clrReplayProgressMark = FF000000
+clrReplayProgressCurrent = FF990000
+clrTrackFrameFg = FFFFA060
+clrTrackFrameBg = 99404040
+clrTrackFrameMg = FF604040
+clrTrackItemFg = FFFFE6B3
+clrTrackItemBg = FF404040
+clrTrackItemCurrentFg = FFFFA060
+clrTrackItemCurrentBg = FF303030
diff --git a/themes/lcarsng-Light.theme b/themes/lcarsng-Light.theme
new file mode 100644
index 0000000..80d1943
--- /dev/null
+++ b/themes/lcarsng-Light.theme
@@ -0,0 +1,82 @@
+Description = Light
+clrBackground = 01000000
+clrDateFg = FFFFA060
+clrDateBg = FF990000
+clrTimerFg = FF000000
+clrTimerBg = FF99CCFF
+clrDeviceFg = FF000000
+clrDeviceBg = FFF1B1AF
+clrSignalValue = FFA0FF99
+clrSignalRest = FFCC6666
+clrSeen = FFCC99CC
+clrTrackName = FFFFCC66
+clrAlertFg = FFFFFFFF
+clrAlertBg = FFFF0000
+clrChannelName = FF99CCFF
+clrEventTitle = FF99CCFF
+clrEventTime = FFFFCC66
+clrEventShortText = FFFFCC66
+clrEventDescription = FF99CCFF
+clrButtonRedFg = FF000000
+clrButtonRedBg = FFCC6666
+clrButtonGreenFg = FF000000
+clrButtonGreenBg = FFA0FF99
+clrButtonYellowFg = FF000000
+clrButtonYellowBg = FFF1DF60
+clrButtonBlueFg = FF000000
+clrButtonBlueBg = FF9A99FF
+clrMessageStatusFg = FFFFFFFF
+clrMessageStatusBg = FF9A99FF
+clrMessageInfoFg = FFA0FF99
+clrMessageInfoBg = 99404040
+clrMessageWarningFg = FFF1DF60
+clrMessageWarningBg = 99404040
+clrMessageErrorFg = FFFFFFFF
+clrMessageErrorBg = FFCC6666
+clrVolumeFrame = FFF1DF6F
+clrVolumeSymbol = FF000000
+clrVolumeBarUpper = FFC1B259
+clrVolumeBarLower = FFA0FF99
+clrChannelFrameFg = FFFFA060
+clrChannelFrameBg = 99404040
+clrChannelFrameBr = FF306040
+clrChannelTextBg = 99404040
+clrChannelSymbolOn = FFFFA060
+clrChannelSymbolOff = FF000000
+clrChannelSymbolRecFg = FFFFFFFF
+clrChannelSymbolRecBg = FFCC6666
+clrMenuFrameFg = FFFFA060
+clrMenuFrameBg = 99404040
+clrMenuFrameBr = FF604040
+clrMenuTextBg = 99404040
+clrMenuTitle = FFF1DF6F
+clrMenuMainBracket = FFFFA060
+clrMenuTimerRecording = FFF1B1AF
+clrMenuDeviceRecording = FF99CCFF
+clrMenuItemCurrentFg = FF000000
+clrMenuItemCurrentBg = FFFFA060
+clrMenuItemSelectable = FFFFA060
+clrMenuItemNonSelectable = FF99CCFF
+clrMenuScrollbarTotal = FFFFA060
+clrMenuScrollbarShown = FFCC99CC
+clrMenuScrollbarArrow = FF000000
+clrMenuText = FF99CCFF
+clrReplayFrameFg = FFFFA060
+clrReplayFrameBg = 99404040
+clrReplayFrameBr = FF804030
+clrReplayTextBg = 99404040
+clrReplayPosition = FFCC99CC
+clrReplayJumpFg = FF000000
+clrReplayJumpBg = FFCC99CC
+clrReplayProgressSeen = FFCC99CC
+clrReplayProgressRest = FFCCCCCC
+clrReplayProgressSelected = FF990000
+clrReplayProgressMark = FF000000
+clrReplayProgressCurrent = FF990000
+clrTrackFrameFg = FFFFA060
+clrTrackFrameBg = 99404040
+clrTrackFrameMg = FF604040
+clrTrackItemFg = FFFFE6B3
+clrTrackItemBg = FF404040
+clrTrackItemCurrentFg = FFFFA060
+clrTrackItemCurrentBg = FF303030