D
Hi Th und vielen Dank fuer Deine Antwort.
Natuerlich moechte ich eine Top-Gui-Bibliothek erstellen Aber ich bin Realist...so viel Erfahrung bringe ich nicht mit.
Ich habe eine Abstraktion eingebaut. Das sieht so aus, dass quasi alles aus Sprites aufgebaut ist. Ein Sprite enthält eine SpriteImplementation (eigene Klasse), welche fuer die jeweilige API implementiert ist (OpenGL, SDL, Windows GDI, D3D, etc...) (Bridge Pattern).
So aehnlich sieht das auch fuer die Events und die Schrift zur Textdarstellung aus.
Ich denke damit fahre ich ganz gut.
Eine Unterscheidung zwischen Layout und Control habe ich nicht (mehr) in dem Sinne. Es gibt fuer jedes Control eine abstrakte Basisklasse zum Bsp. Button, welche noch keinen Render-Code besitzt. Fuer ein "Theme" (ich nenne es mal so, ist quasi ein Look and Feel Standard) wird dann eine abgeleitete Klasse erstellt, welche das eigentliche Rendern uebernimmt (mit Hilfe der besagten Sprites).
Aber das ist auch eigentlich nicht mein Anliegen.
Das Problem ist wie gesagt, dass ich nicht so recht weiss, wie ich die einzelnen Controls implementiere, ohne gross Code-Dopplungen zu haben. Ich wuerde es schon als logisch empfinden, wenn etwa ein Button mit einem StaticText implementiert ist. Was spricht deiner Meinung nach dagegen? Es ist ja auch nicht so, dass das Control direkt festgelegt ist, denn es wird ueber eine Factory erstellt (welche nur Controls eines Themes erstellt).
Mich wuerde interessieren, wie Du das loesen wuerdest / geloest hast, da Du ja offensichtlich Erfahrung auf dem Gebiet mitbringst.
Wenn Du einen Blick in den bisherigen Stand werfen willst:
http://www.desovodamu.de/downloads/gui.rar (ist natuerlich noch nicht fertig, einige Sachen werden noch komplett ueberarbeitet, mehr kommentiert etc.; kompilieren wirst Du es nicht koennen, derzeit werden noch einige weitere Bibliotheken vorausgesetzt).
Gruß,
DeSoVoDaMu