Glass
(W.I.P) GUI Library written in pure Crystal
TODO
- Completly change positioning and stretching system. At the moment I'm solely focusing on the minimal window size it seems
Creating a simple Window
in order to create a simple Window one first needs to set up the UI using widgets
In order to do this I will just define a fairly simple function
def new_ui() : Glass::Widget
img = SF::Image.new(256, 256)
ui = Glass::AbsolutContainer.new(img)
ui.background_color = SF::Color.new(64_u8, 64_u8, 64_u8)
container = Glass::VerticalContainer.new()
container + Glass::Example.new(128_u8, 64_u8, 32_u8)
container + Glass::Example.new(32_u8, 128_u8, 64_u8)
container + Glass::Example.new(64_u8, 32_u8, 128_u8)
ui + container
ui
end
Starting the window now is pretty easy!
widget = new_ui
window = Window.new "Glass Window", widget
window.run
the application should end up looking like this
Note: this is heavily W.I.P. and no useful functionality has been exposed yet
Contributing
- Fork it ( https://github.com/nilsmartel/Glass/fork )
- Create your feature branch (git checkout -b my-new-feature)
- Commit your changes (git commit -am 'Add some feature')
- Push to the branch (git push origin my-new-feature)
- Create a new Pull Request
Contributors
- [nilsmartel] nilsmartel - creator, maintainer