Changes To MIOGUI
Not logged in

Changes to "MIOGUI" between 2016-09-04 17:42:51 and 2016-09-04 18:03:31

1
2
3
4
5
6



































7
8
9
10
11
12
13
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48






+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+







<h1>MIOGUI</h1>

More Immediate Operation GUI - Develop GUI in scheme in incremental & immediate mode!

Alpha version! Need some cleanup and some more widgets & demos...

<h2>Concepts<h2>
<h3>Immediate Mode GUI</h3>
This means that the user never has to deal with objects (anti-oop way ;).

Some projects, written in C or C++
  *  [https://github.com/ocornut/imgui|dear imgui]
  *  [http://sol.gfxile.net/imgui/|Sol on Immediate Mode GUIs]
  *  [http://www.johno.se/book/imgui.html|IMGUI]
  *  [http://perso.univ-lyon1.fr/thierry.excoffier/ZMW/|Zero Memory Widget]
  

<h3>Cascading Stylesheets</h3>
  *  Based on [https://www.w3.org/Style/CSS/|CSS]<h3>
  *  Basic box model things, TODO: document supported attributes and selectors<h2>
  *  Transitions ;)

<h3>Scheme</h3>
  *  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

<h3>Network REPL</h3>
  *  Nanomsg library allows to connect at any moment from anywhere to the runtime to modify the code on the fly without loosing state.

<h3>Cairo</h3>
  *  Nice graphics with simple and powerful API
  *  We could port the thing to opengl, GDI+, Xcb if needed

<h3>SDL2</h3>
  *  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.


<h2>Get & Install</h2>
You'll need [http://scheme.com|chez scheme] 9.4 and [https://pizzahack.eu/fossil/thunderchez|thunderchez]
Required also [http://nanomsg.org|nanomsg-1.0], [https://libsdl.org|sdl-2.0.4], [https://www.cairographics.org|cairo]

Checkout: You'll need [https://www.fossil-scm.org|fossil]

<verbatim>
fossil clone https://pizzahack.eu/fossil/miogui miogui.fossil
︙