1 1 <h1>MIOGUI</h1>
2 2
3 3 More Immediate Operation GUI - Develop GUI in scheme in incremental & immediate mode!
4 4
5 5 Alpha version! Need some cleanup and some more widgets & demos...
6 6
7 +<h2>Concepts<h2>
8 +<h3>Immediate Mode GUI</h3>
9 +This means that the user never has to deal with objects (anti-oop way ;).
10 +
11 +Some projects, written in C or C++
12 + * [https://github.com/ocornut/imgui|dear imgui]
13 + * [http://sol.gfxile.net/imgui/|Sol on Immediate Mode GUIs]
14 + * [http://www.johno.se/book/imgui.html|IMGUI]
15 + * [http://perso.univ-lyon1.fr/thierry.excoffier/ZMW/|Zero Memory Widget]
16 +
17 +
18 +<h3>Cascading Stylesheets</h3>
19 + * Based on [https://www.w3.org/Style/CSS/|CSS]<h3>
20 + * Basic box model things, TODO: document supported attributes and selectors<h2>
21 + * Transitions ;)
22 +
23 +<h3>Scheme</h3>
24 + * Simple but powerful language
25 + * REPL (Read Eval Print Loop) means you don't need to restart the program for seeing changes on your program.
26 + * We actually support chez scheme but it's possible to port to others schemes
27 +
28 +<h3>Network REPL</h3>
29 + * Nanomsg library allows to connect at any moment from anywhere to the runtime to modify the code on the fly without loosing state.
30 +
31 +<h3>Cairo</h3>
32 + * Nice graphics with simple and powerful API
33 + * We could port the thing to opengl, GDI+, Xcb if needed
34 +
35 +<h3>SDL2</h3>
36 + * Powerful and portable abstraction for handling video and input and much more
37 + * Could be replaced with some other system like Xcb, Win32 API, etc
38 + * 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.
39 +
40 +
41 +<h2>Get & Install</h2>
7 42 You'll need [http://scheme.com|chez scheme] 9.4 and [https://pizzahack.eu/fossil/thunderchez|thunderchez]
8 43 Required also [http://nanomsg.org|nanomsg-1.0], [https://libsdl.org|sdl-2.0.4], [https://www.cairographics.org|cairo]
9 44
10 45 Checkout: You'll need [https://www.fossil-scm.org|fossil]
11 46
12 47 <verbatim>
13 48 fossil clone https://pizzahack.eu/fossil/miogui miogui.fossil
14 49 mkdir miogui && fossil open ../miogui.fossil
15 50 </verbatim>
16 51
17 52 To follow news subscribe to [https://pizzahack.eu/fossil/miogui/timeline.rss|RSS feed]