Closed rubyFeedback closed 3 years ago
Thank you for your inquiry. I am curious, what is your project's name and purpose?
What you asked for was already added yesterday to the API section as a bullet-point list. Still, if you insist on having a table, I'll look into reformatting as a table.
The Glimmer DSL is generally dynamic, meaning it does not hardcode every control supported. Instead, it translates syntax entered by the software engineer into the LibUI procedural equivalent. In other words, it supports all controls from the get-go minus control-specific details for controls that do not conform to the general conventions of libui (e.g. button
works out of the box by relying on the general ControlProxy
class because it follows all of the libui common conventions [its methods all start with button_
), but vertical_box
worked only after adding some specific logic that indicated its operations begin with box_
instead of vertical_box
inside VerticalBoxProxy
). In any case, I am adding explicitly supported controls to the bullet-point list mentioned above (or table once I reformat as per your inquiry).
Also, as stated in README.md, all keywords accept the same arguments that LibUI.new_keyword
factory methods accept. In other words, window('hello world', 300, 200, 1)
translates to LibUI.new_window('hello world', 300, 200, 1)
, which is why it has the same arguments. I will look into documenting those control creation arguments as well.
By the way, one reference you can refer to in the meantime (translating in your head to Glimmer syntax) is the Golang LibUI reference
Another reference, which is the highest authority is the libui C Header file.
That said, I do mention clearly that "Glimmer DSL for LibUI is in early alpha mode (only supports included examples)"
So, the most convenient Glimmer DSL for LibUI reference is actually the examples. You can simply copy and paste to your heart's content to build your own apps.
I hope that helps.
Done! API bullet-point list has been converted to a table.
Hey there Andy,
I knew glimmer before already. Great project!
Recently kojix2 pointed out that you also support libui, which I think is great.
I also have a small hackish project, but mine is nowhere near as advanced as glimmer. Nonetheless, I would like to add support for the same DSL-like elements that glimmer uses, simply due to compatibility.
You already showcase some of them in the long README such as:
Could you also add a HTML table to the same README here at https://github.com/AndyObtiva/glimmer-dsl-libui, to quickly show the API calls mapping from Libui to window? I don't strictly need the LibUI API (I can read it and adjust) but I would love to see which elements the glimmer-dsl-libui wrapper supports right now, so I can guarantee 1:1 mapping with my own project. For this a simple HTML table should suffice (really just a HTML table as overview, does not need any explanation, I would just love something visual to see what I still have to add).
Anyway, thanks for reading, and thanks for the good documentation - good documentation helps other folks out there a LOT!