summaryrefslogtreecommitdiff
path: root/displaytracks.c
diff options
context:
space:
mode:
authorlouis <louis.braun@gmx.de>2013-10-25 20:50:08 +0200
committerlouis <louis.braun@gmx.de>2013-10-25 20:50:08 +0200
commit1aa2f6ace2419406b305f9fe238d9d341f761c73 (patch)
treeb58da850e207efd038ac0b88cbdf9fa444667dfd /displaytracks.c
parent086588958f25fcf065a947bd908e65c4a4c345bd (diff)
downloadskin-nopacity-1aa2f6ace2419406b305f9fe238d9d341f761c73.tar.gz
skin-nopacity-1aa2f6ace2419406b305f9fe238d9d341f761c73.tar.bz2
Version 0.9.0
Diffstat (limited to 'displaytracks.c')
-rw-r--r--displaytracks.c54
1 files changed, 30 insertions, 24 deletions
diff --git a/displaytracks.c b/displaytracks.c
index 3a0333c..d1bb024 100644
--- a/displaytracks.c
+++ b/displaytracks.c
@@ -2,13 +2,12 @@
cNopacityDisplayTracks::cNopacityDisplayTracks(cImageCache *imgCache, const char *Title, int NumTracks, const char * const *Tracks) {
this->imgCache = imgCache;
- config.setDynamicValues();
initial = true;
currentIndex = -1;
numTracks = NumTracks;
audioChannelLast = -5;
- FrameTime = config.tracksFrameTime;
- FadeTime = config.tracksFadeTime;
+ FadeTime = config.GetValue("tracksFadeTime");
+ FrameTime = FadeTime / 10;
SetGeometry();
CreatePixmaps();
DrawHeader(Title);
@@ -29,47 +28,47 @@ cNopacityDisplayTracks::~cNopacityDisplayTracks() {
void cNopacityDisplayTracks::SetGeometry(void) {
width = geoManager->trackWidth;
- height = (config.tracksItemHeight +4) * (numTracks+1);
+ height = (config.GetValue("tracksItemHeight") +4) * (numTracks+1);
menuItemWidth = geoManager->menuItemWidthTracks;
menuItemHeight = geoManager->menuItemHeightTracks;
int top, left;
- switch(config.tracksPosition) {
+ switch(config.GetValue("tracksPosition")) {
case 0: //middle bottom
- top = cOsd::OsdHeight() - cOsd::OsdTop() - height - config.tracksBorderHorizontal;
+ top = cOsd::OsdHeight() - cOsd::OsdTop() - height - config.GetValue("tracksBorderHorizontal");
left = (cOsd::OsdWidth() - width) / 2;
break;
case 1: //left bottom
- top = cOsd::OsdHeight() - cOsd::OsdTop() - height - config.tracksBorderHorizontal;
+ top = cOsd::OsdHeight() - cOsd::OsdTop() - height - config.GetValue("tracksBorderHorizontal");
left = cOsd::OsdLeft();
break;
case 2: //left middle
top = (cOsd::OsdHeight() - height) / 2;
- left = cOsd::OsdLeft() + config.tracksBorderVertical;
+ left = cOsd::OsdLeft() + config.GetValue("tracksBorderVertical");
break;
case 3: //left top
- top = cOsd::OsdTop() + config.tracksBorderHorizontal;
- left = cOsd::OsdLeft() + config.tracksBorderVertical;
+ top = cOsd::OsdTop() + config.GetValue("tracksBorderHorizontal");
+ left = cOsd::OsdLeft() + config.GetValue("tracksBorderVertical");
break;
case 4: //top middle
- top = cOsd::OsdTop() + config.tracksBorderHorizontal;
+ top = cOsd::OsdTop() + config.GetValue("tracksBorderHorizontal");
left = (cOsd::OsdWidth() - width) / 2;
break;
case 5: //top right
- top = cOsd::OsdTop() + config.tracksBorderHorizontal;
- left = cOsd::OsdWidth() - cOsd::OsdLeft() - width - config.tracksBorderVertical;
+ top = cOsd::OsdTop() + config.GetValue("tracksBorderHorizontal");
+ left = cOsd::OsdWidth() - cOsd::OsdLeft() - width - config.GetValue("tracksBorderVertical");
break;
case 6: //right middle
top = (cOsd::OsdHeight() - height) / 2;
- left = cOsd::OsdWidth() - cOsd::OsdLeft() - width - config.tracksBorderVertical;
+ left = cOsd::OsdWidth() - cOsd::OsdLeft() - width - config.GetValue("tracksBorderVertical");
break;
case 7: //right bottom
- top = cOsd::OsdHeight() - cOsd::OsdTop() - height - config.tracksBorderHorizontal;
- left = cOsd::OsdWidth() - cOsd::OsdLeft() - width - config.tracksBorderVertical;
+ top = cOsd::OsdHeight() - cOsd::OsdTop() - height - config.GetValue("tracksBorderHorizontal");
+ left = cOsd::OsdWidth() - cOsd::OsdLeft() - width - config.GetValue("tracksBorderVertical");
break;
default: //middle bottom
- top = cOsd::OsdHeight() - cOsd::OsdTop() - height - config.tracksBorderHorizontal;
+ top = cOsd::OsdHeight() - cOsd::OsdTop() - height - config.GetValue("tracksBorderHorizontal");
left = (cOsd::OsdWidth() - width) / 2;
break;
}
@@ -80,7 +79,7 @@ void cNopacityDisplayTracks::CreatePixmaps(void) {
pixmapContainer = osd->CreatePixmap(1, cRect(0, 0, width, height));
pixmapHeader = osd->CreatePixmap(2, cRect(2, 2, menuItemWidth, menuItemHeight));
pixmapHeaderAudio = osd->CreatePixmap(3, cRect(menuItemWidth - menuItemHeight, 2, menuItemHeight, menuItemHeight));
- if (config.tracksFadeTime) {
+ if (FadeTime) {
pixmapContainer->SetAlpha(0);
pixmapHeader->SetAlpha(0);
pixmapHeaderAudio->SetAlpha(0);
@@ -90,12 +89,17 @@ void cNopacityDisplayTracks::CreatePixmaps(void) {
void cNopacityDisplayTracks::DrawHeader(const char *Title) {
pixmapContainer->Fill(Theme.Color(clrMenuBorder));
pixmapContainer->DrawRectangle(cRect(1, 1, width-2, height-2), Theme.Color(clrMenuBack));
- pixmapHeader->Fill(Theme.Color(clrMenuItem));
- if (config.doBlending) {
- cImage *back = imgCache->GetBackground(btTracks);
+ if (config.GetValue("displayType") == dtBlending) {
+ pixmapHeader->Fill(Theme.Color(clrMenuItem));
+ cImage *back = imgCache->GetSkinElement(seTracks);
if (back)
pixmapHeader->DrawImage(cPoint(1, 1), *back);
+ } else if (config.GetValue("displayType") == dtGraphical) {
+ cImage *back = imgCache->GetSkinElement(seTracks);
+ if (back)
+ pixmapHeader->DrawImage(cPoint(0, 0), *back);
} else {
+ pixmapHeader->Fill(Theme.Color(clrMenuItem));
pixmapHeader->DrawRectangle(cRect(1, 1, width-2, height-2), Theme.Color(clrAudioMenuHeader));
}
pixmapIcon = osd->CreatePixmap(3, cRect(2, 2, menuItemHeight-2, menuItemHeight-2));
@@ -104,8 +108,7 @@ void cNopacityDisplayTracks::DrawHeader(const char *Title) {
cImage *imgTracks = imgCache->GetSkinIcon("skinIcons/tracks", menuItemHeight-6, menuItemHeight-6);
if (imgTracks)
pixmapIcon->DrawImage(cPoint(3,3), *imgTracks);
- int clrFontBack = (config.doBlending)?clrTransparent:Theme.Color(clrAudioMenuHeader);
- pixmapHeader->DrawText(cPoint((width - fontManager->trackHeader->Width(Title)) / 2, (menuItemHeight - fontManager->trackHeader->Height()) / 2), Title, Theme.Color(clrTracksFontHead), clrFontBack, fontManager->trackHeader);
+ pixmapIcon->DrawText(cPoint((width - fontManager->trackHeader->Width(Title)) / 2, (menuItemHeight - fontManager->trackHeader->Height()) / 2), Title, Theme.Color(clrTracksFontHead), clrTransparent, fontManager->trackHeader);
}
void cNopacityDisplayTracks::SetItem(const char *Text, int Index, bool Current) {
@@ -115,6 +118,9 @@ void cNopacityDisplayTracks::SetItem(const char *Text, int Index, bool Current)
item->SetFont(fontManager->trackText);
item->SetGeometry(Index, menuItemHeight+4, 2, menuItemWidth, menuItemHeight, 4);
item->CreatePixmap();
+ item->CreatePixmapIcon();
+ if (config.GetValue("displayType") == dtGraphical)
+ item->CreatePixmapForeground();
menuItems.Add(item);
item->Render();
}
@@ -157,7 +163,7 @@ void cNopacityDisplayTracks::SetAudioChannel(int AudioChannel) {
void cNopacityDisplayTracks::Flush(void) {
if (initial)
- if (config.tracksFadeTime)
+ if (FadeTime)
Start();
initial = false;
osd->Flush();