summaryrefslogtreecommitdiff
path: root/coreengine/viewdisplaymessage.c
diff options
context:
space:
mode:
authorlouis <louis.braun@gmx.de>2016-01-26 18:32:38 +0100
committerlouis <louis.braun@gmx.de>2016-01-26 18:32:38 +0100
commit809fbda03c5014ba9cd361f5113d1d717cd41ea6 (patch)
tree264bbc5640375f1bcb165fc7f4a3e595adcc26ca /coreengine/viewdisplaymessage.c
parent196dd7eb9965a405bb16b51dc870fbbb31aeef87 (diff)
downloadvdr-plugin-skindesigner-809fbda03c5014ba9cd361f5113d1d717cd41ea6.tar.gz
vdr-plugin-skindesigner-809fbda03c5014ba9cd361f5113d1d717cd41ea6.tar.bz2
Version 0.8.0 beta
Diffstat (limited to 'coreengine/viewdisplaymessage.c')
-rw-r--r--coreengine/viewdisplaymessage.c54
1 files changed, 54 insertions, 0 deletions
diff --git a/coreengine/viewdisplaymessage.c b/coreengine/viewdisplaymessage.c
new file mode 100644
index 0000000..a9613fa
--- /dev/null
+++ b/coreengine/viewdisplaymessage.c
@@ -0,0 +1,54 @@
+#include "viewdisplaymessage.h"
+#include "../config.h"
+
+/************************************************************************************
+* cViewMessage
+************************************************************************************/
+
+cViewMessage::cViewMessage(void) {
+ ClearVariables();
+ viewId = eViewType::DisplayMessage;
+ viewName = strdup("displaymessage");
+ numViewElements = (int)eVeDisplayMessage::count;
+ viewElements = new cViewElement*[numViewElements];
+ for (int i=0; i < numViewElements; i++) {
+ viewElements[i] = NULL;
+ }
+ SetViewElements();
+ veMessage = NULL;
+}
+
+cViewMessage::~cViewMessage() {
+}
+
+void cViewMessage::SetViewElements(void) {
+ viewElementNames.insert(pair<string, int>("background", (int)eVeDisplayMessage::background));
+ viewElementNames.insert(pair<string, int>("message", (int)eVeDisplayMessage::message));
+}
+
+void cViewMessage::SetViewElementObjects(void) {
+ if (!viewElements[(int)eVeDisplayMessage::message])
+ return;
+ veMessage = dynamic_cast<cVeMessage*>(viewElements[(int)eVeDisplayMessage::message]);
+}
+
+void cViewMessage::ClearVariables(void) {
+ init = true;
+}
+
+void cViewMessage::SetMessage(eMessageType type, const char *text) {
+ if (!text)
+ veMessage->Clear();
+ else
+ veMessage->Set(type, text);
+}
+
+void cViewMessage::Flush(void) {
+ if (init) {
+ sdOsd.LockFlush();
+ Render((int)eVeDisplayMessage::background);
+ }
+ Render((int)eVeDisplayMessage::message);
+ cView::Flush();
+}
+