summaryrefslogtreecommitdiff
path: root/displayvolume.c
diff options
context:
space:
mode:
Diffstat (limited to 'displayvolume.c')
-rw-r--r--displayvolume.c38
1 files changed, 10 insertions, 28 deletions
diff --git a/displayvolume.c b/displayvolume.c
index d50e470..02e61d5 100644
--- a/displayvolume.c
+++ b/displayvolume.c
@@ -1,44 +1,26 @@
#include "displayvolume.h"
#include "config.h"
-#include "libcore/helpers.h"
-cSDDisplayVolume::cSDDisplayVolume(cTemplate *volumeTemplate) {
- volumeView = NULL;
- doOutput = true;
- initial = true;
- if (!volumeTemplate) {
- doOutput = false;
- esyslog("skindesigner: displayVolume no valid template - aborting");
- return;
- }
- volumeView = new cDisplayVolumeView(volumeTemplate->GetRootView());
- if (!volumeView->createOsd()) {
- doOutput = false;
- } else {
- volumeView->DrawDebugGrid();
- volumeView->DrawBackground();
- }
+cSDDisplayVolume::cSDDisplayVolume(cViewVolume *volumeView) {
+ view = volumeView;
+ ok = view->Init();
+ if (!ok)
+ esyslog("skindesigner: Error initiating displayvolume view - aborting");
}
cSDDisplayVolume::~cSDDisplayVolume() {
- if (volumeView)
- delete volumeView;
+ view->Close();
}
void cSDDisplayVolume::SetVolume(int Current, int Total, bool Mute) {
- if (!doOutput)
+ if (!ok)
return;
- volumeView->DrawVolume(Current, Total, Mute);
+ view->SetVolume(Current, Total, Mute);
}
void cSDDisplayVolume::Flush(void) {
- if (!doOutput)
+ if (!ok)
return;
- if (initial) {
- volumeView->DoFadeIn();
- initial = false;
- } else {
- volumeView->Flush();
- }
+ view->Flush();
}