I've started a project this week called SolidLayout.
It's a layouting engine combined with a custom layouting language like HTML/XAML. The current status is: Attributes are bindable or statically assignable, layout supports two basic layouts: Stacking or Docking.
Here is an example of how to declare a UI layout as well as how it looks:
I know the example is pretty lame, but imaging declaring Gamestudio PANEL/TEXTs with a layouting engine with bindings of properties via Lite-C variables.
Right now the project has no Lite-C compatibility or even windows, but those will be my next steps as i think gamestudio integration will be pretty simple, but also useful.
I will keep you updated
Also here is an example how a Gamestudio layout could look:
Code:
# Simple main menu with stacked elements
Blank {
Panel(width=150, height=300, horizontalAlignment=center, verticalAlignment=center, bgcolor="#888888") {
StackLayout(verticalAlignment=center,horizontalAlignment=stretch) {
Panel(height=30,bgcolor="#FFFFFF",event=[startGame]) {
Text(text="Start Game",flags="CENTER_X|CENTER_Y");
}
Blank(height=5); # 5 Pixel Distance between elements
Panel(height=30,bgcolor="#FFFFFF",event=[loadGame]) {
Text(text="Load Game",flags="CENTER_X|CENTER_Y");
}
Blank(height=5); # 5 Pixel Distance between elements
Panel(height=30,bgcolor="#FFFFFF",event=[quitGame]) {
Text(text="Quit Game",flags="CENTER_X|CENTER_Y");
}
}
}
}