Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Artifact ID: | 2516ca4f87da8cd3e20a9dd43f5a602e610169f7 |
---|---|
Page Name: | MIOGUI |
Date: | 2016-09-04 18:50:28 |
Original User: | aldo |
Parent: | 6a6a2fd8f32ab5898bbf763fb840d3fdb9754940 (diff) |
Next | 24e4f5e94eed2670865509003dd8c9a6093a5383 |
Content
MIOGUI
More Immediate Operation GUI - Develop GUI in scheme in incremental & immediate mode!
Alpha version! Need some cleanup and some more widgets & demos...
Concepts
Immediate Mode GUI
This means that the user never has to deal with objects (anti-oop way ;).
Immediate Mode GUI
This means that the user never has to deal with objects (anti-oop way ;).Some projects, written in C or C++
Cascading Stylesheets
- Based on CSS
- Basic box model things, TODO: document supported attributes and selectors
- Transitions ;)
Scheme
- Simple but powerful language
- REPL (Read Eval Print Loop) means you don't need to restart the program for seeing changes on your program.
- We actually support chez scheme but it's possible to port to others schemes
Network REPL
- Nanomsg library allows to connect at any moment from anywhere to the runtime to modify the code on the fly without loosing state.
Cairo
- Nice graphics with simple and powerful API
- We could port the thing to opengl, GDI+, Xcb if needed
SDL2
- Powerful and portable abstraction for handling video and input and much more
- Could be replaced with some other system like Xcb, Win32 API, etc
- Why not send the frame to a web client and handle the ui with javascript. This could be done with cairo rendering an svg or sending directy some html.
Get & Install
You'll need chez scheme 9.4 and thunderchez Required also nanomsg-1.0, sdl-2.0.4, cairoCheckout: You'll need fossil
fossil clone https://pizzahack.eu/fossil/miogui miogui.fossil mkdir miogui && cd miogui && fossil open ../miogui.fossilRemember to setup thunderchez properly.
Then run:
scheme miogui.ss
Now switch to other console and type
/path/to/thunderchez/nanomsg/remote-repl tcp://localhost:9998From there you can modify the code. You ideally want to run that from inside emacs run-scheme and send code with `C-x C-e` or `C-c C-e`
To follow news subscribe to RSS feed