Blended Shelf - Human-Computer Interaction - Universität Konstanz
Blended Shelf - Human-Computer Interaction - Universität Konstanz
Blended Shelf - Human-Computer Interaction - Universität Konstanz
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
Umsetzung<br />
ItemControl und ItemModel<br />
Die ItemControls und ItemModels verhalten sich ähnlich zueinander, wie es die oben beschriebenen<br />
<strong>Shelf</strong>Controls und <strong>Shelf</strong>Models tun. Das heißt, die Models versorgen die Controls mit Daten<br />
und diese kümmern sich um Visualisierung und Interaktion.<br />
Wird ein ItemControl instanziiert, beginnt es sich selbst zu zeichnen. Hierzu wird ein 3D-Modell<br />
eines Würfels erstellt, dessen sechs Seiten mit individuellen Texturen – in WPF und im Folgenden<br />
Materialien genannt – versehen werden können (siehe folgende Abbildung). Um den Speicherverbrauch<br />
niedrig zu halten und aus Mangel an entsprechenden Daten, wird derzeit nur die Titelseite<br />
(in der Abbildung: _front) und der Buchrücken (_spine) mit einer individuellen Textur versehen.<br />
Die verbleibenden vier Flächen bekommen frei wählbare Materialien zugewiesen, welche sich alle<br />
ItemControls teilen. Dies lässt sich nachträglich leicht ändern, falls beispielsweise noch Daten für<br />
die Rückseite der Bücher zur Verfügung stehen sollten.<br />
Abbildung 29: Die sechs Flächen des ItemControls<br />
Sobald das ItemControl die Geometrie aufgebaut hat, werden Methoden ausgelöst, die entweder<br />
eine vorhandene Cover-Abbildung auf die Geometrie projizieren oder aus dem Autor, Titel und<br />
Verlag ein individuelles Titelbild generieren. Um Letzteres zu erreichen, wird aus verschiedenen<br />
2D-Elementen ein Element kombiniert, welches anschließend in ein Bitmap gezeichnet wird. Das<br />
gleiche Verfahren wird angewendet, um den Buchrücken zu zeichnen. Hierbei greift eine Sonderbehandlung<br />
von Online-Ressourcen, die dafür sorgt, dass E-Books durch eine beliebig wählbare<br />
Grafik gekennzeichnet werden.<br />
ItemControls können beliebig transformiert (also rotiert, skaliert und verrückt) werden. Dies kann<br />
animiert geschehen und wird z. B. eingesetzt, wenn eine Umsortierung des Regales stattfindet:<br />
Dazu wird auf sämtliche ItemControls eine Translation von ihrer aktuellen zu ihrer zukünftigen<br />
67