Das Disko-Framework
Toolkit für Set-Top-Boxen und Touch-Screen-Terminals
MMSRootWindow *win; win = new MMSRootWindow("","100%","100%",MMSALIGNMENT_CENTER, MMSW_VIDEO); MMSVideo *video; video = new MMSVideo(win); win->show(); video->startPlaying("http://www.diskohq.org/downloads/MorphineTV.AVI"); while(1) sleep(1);
Darüber hinaus empfiehlt es sich, ein RootWindow zu verwenden, um ein Video in eine Applikation einzubinden. Mit deren Hilfe können sehr einfach die MainWindows über das Video gebracht werden. Die Nutzung eines RootWindows empfiehlt sich außerdem, da es - je nach Hardware und Plattform - entsprechende Hardwareunterstützung verwenden kann. Bringt man »Hallo Welt« und das Video-Playback zusammen, sieht das dann wie folgt aus:
Gestaltbarkeit
Um ein wenig die Themefähigkeit zu illustrieren, wird nun das das »Hallo Welt«-Fenster außerhalb der Applikation verändert. Dazu wird eine Theme-Klasse innerhalb der Datei theme.xml erstellt:
<class name = "default_mainwindow" type = "mainwindow" w = "100%" h = "100%" bgcolor = "#141e147f" fadein = "true" fadeout = "true" border.color = "#606060Af" border.thickness = "7" border.rcorners = "true" />
Diese Klasse kann nun innerhalb anderer XMLDateien oder aus dem Quellcode heraus mit dem festgelegten Namen default_mainwindow
angesprochen werden. Um nun ein Window mit der Klasse default_mainwindow
anzulegen, reicht folgende Zeile im Code aus:
MMSMainWindow *win; win = new MMSMainWindow("default_mainwindow","100%","100%");
Damit lässt sich das Aussehen einzelner Windows oder anderer Widgets sehr komfortabel anpassen. Eine weitere Eigenschaft ist es, ein normales Label als Lauftext darzustellen. Dafür wird im Theme eine Klasse default_label
angelegt und mit der Eigenschaft slideable
versehen:
<class name="default_label" slideable="true" />
Diese wenigen kleinen Änderungen führen dann zu folgendem Ergebnis:
Im Theme können so die Eigenschaften verschiedenster Labels, Textboxen, Windows, Buttons, Slider, usw. angepasst werden. Wenn man Bilder für die verwenden Elemente oder Teile davon nutzen möchte, kann man dies mit Bildern im PNG-Format tun.