Update readme
This commit is contained in:
parent
79e38e39fe
commit
f9a9d85d16
1 changed files with 23 additions and 20 deletions
43
README.md
43
README.md
|
@ -1,31 +1,34 @@
|
||||||
# Emigui – Experimental, Modularized Immediate mode Graphical User Interface
|
# Emigui
|
||||||
|
Experimental, Modularized Immediate mode Graphical User Interface
|
||||||
|
|
||||||
Here are the steps, in chronological order of execution:
|
A GUI library written in Rust, compiled to WASM. Inspired by game tech.
|
||||||
|
|
||||||
CODE: Input bindings, i.e. gathering GuiInput data from the system (web browser, Mac Window, iPhone App, ...)
|
## How it works:
|
||||||
DATA: GuiInput: mouse and keyboard state + window size
|
|
||||||
DATA: GuiSizes: this is a configuration of the ImLayout system, sets sizes of e.g. a slider.
|
|
||||||
CODE: ImLayout: Immediate mode layout Gui elements. THIS IS WHAT YOUR APP CODE CALLS!
|
|
||||||
DATA: GuiPaint: High-level commands to render e.g. a checked box with a hover-effect at a certain position.
|
|
||||||
DATA: GuiStyle: The colors/shading of the gui.
|
|
||||||
CODE: GuiPainter: Renders GuiPaint + GuiStyle into DrawCommands
|
|
||||||
DATA: PaintCommands: low-level commands (e.g. "Draw a rectangle with this color here")
|
|
||||||
CODE: Painter: paints the the PaintCommands to the screen (HTML canvas, OpenGL, ...)
|
|
||||||
|
|
||||||
This is similar to Dear ImGui but separates the layout from the rendering, and adds another step to the rendering.
|
Loop:
|
||||||
|
* Gather input: mouse, touches, screen size, ...
|
||||||
|
* Run app code (Immediate Mode GUI)
|
||||||
|
* Output is a triangle mesh
|
||||||
|
* Render with WebGL
|
||||||
|
|
||||||
# Implementation
|
## Demos
|
||||||
|
[Emigui feature demo](https://emilk.github.io/emigui/index.html)
|
||||||
|
|
||||||
Input is gathered in TypeScript.
|
[Hobogo: A small game using Emigui](https://emilk.github.io/hobogo/index.html)
|
||||||
PaintCommands rendered to a HTML canvas.
|
|
||||||
Everything else is written in Rust, compiled to WASM.
|
|
||||||
|
|
||||||
# Test goal:
|
## State
|
||||||
|
More of a tech demo than anything else. Features:
|
||||||
|
|
||||||
Make an "any" editor. Store text files, make a VERY SIMPLE text editor, in the web.
|
* Buttons
|
||||||
Supports MARKDEEP. A place for you ideas. Stored on your computer (local storage).
|
* Sliders
|
||||||
|
* Text
|
||||||
|
* Horizontal or vertical layout
|
||||||
|
* Columns
|
||||||
|
* Collapsible headers
|
||||||
|
|
||||||
# Credits / Licenses
|
## Inspiration
|
||||||
|
[Dear ImGui](https://github.com/ocornut/imgui)
|
||||||
|
|
||||||
|
## Credits / Licenses
|
||||||
ProggyClean.ttf, Copyright (c) 2004, 2005 Tristan Grimmer. MIT License. http://www.proggyfonts.net/
|
ProggyClean.ttf, Copyright (c) 2004, 2005 Tristan Grimmer. MIT License. http://www.proggyfonts.net/
|
||||||
Roboto-Regular.ttf: Apache License, Version 2.0
|
Roboto-Regular.ttf: Apache License, Version 2.0
|
||||||
|
|
Loading…
Reference in a new issue