vdr-plugin-skindesigner/displaymessage.c

46 lines
1.0 KiB
C
Raw Permalink Normal View History

2014-09-27 09:25:14 +02:00
#include "displaymessage.h"
cSDDisplayMessage::cSDDisplayMessage(cTemplate *messageTemplate) {
messageView = NULL;
2014-09-27 09:25:14 +02:00
doOutput = true;
initial = true;
if (!messageTemplate) {
doOutput = false;
esyslog("skindesigner: displayMessage no valid template - aborting");
return;
}
messageView = new cDisplayMessageView(messageTemplate->GetRootView());
if (!messageView->createOsd()) {
doOutput = false;
return;
}
messageView->DrawBackground();
}
cSDDisplayMessage::~cSDDisplayMessage() {
if (messageView)
delete messageView;
2014-09-27 09:25:14 +02:00
}
void cSDDisplayMessage::SetMessage(eMessageType Type, const char *Text) {
if (!doOutput)
return;
messageView->ClearMessage();
if (!Text) {
2014-09-27 09:25:14 +02:00
return;
}
2014-09-27 09:25:14 +02:00
messageView->DrawMessage(Type, Text);
}
void cSDDisplayMessage::Flush(void) {
if (!doOutput)
return;
if (initial) {
messageView->DoFadeIn();
initial = false;
} else {
messageView->Flush();
}
}