Welcome, everybody. My name is Roman Santamaria. I'm an electronic engineer, a professor, entrepreneur, and for the last few years I've been developing tools and technology for the video games industry.
Today I'm going to present one of those technologies that is RightGui, that is an immediate mode CUI library intended for tools development. Actually, this same presentation is a web application, as you can see. It's running on web. And the that's the tool. And the presentation itself has been created with RightGui to demonstrate the possibilities and the versatility of this tool.
Okay, so let's start. What can you do with RightGui? What is exactly RightGui? Well, RightGui actually is an immediate mode library. It means that it does not store information internally. It is stateless. So actually all the UI system is based on small functions that are self-contained that can not only process all the inputs, but also draw all the control in immediate mode. Here is an example. This piece of code in C actually defines a button at the same time that draws the button and receives back the state of the button. If the button has been pressed, it enables a variable that is on the user side. And if that variable is enabled, it actually shows another immediate mode UI control that is a message box with some information. You can see that that code generate the button and when you press the button, you see it generates a key message box. That's all the code needed for the button and the message box, including in itself all the logic. That's an immediate mode library.
Also, the library is really high performance. At the back end, it uses another of my technologies that is Riley, that it's a popular C library, a very high performance in itself. It's code in C. And that code is compiled through mscript to web assembly, allowing to run in a very performant web, in a very performant way, all that code on, on a web platform, on a browser. Also, thanks to being a C library, it is multi platform. As I said, you can see it can run on web, but, on a browser, but it can also run the same, exactly the same code can be compiled for Windows, Linux, MacOS, FreeBSD, and even embedded systems, Android, Raspberry Pi, more esoteric operating systems like haiku, or even other operating systems that are supported by, by Riley, by the backend. In that regards the library, RI-D, being animated mode library, has a very, very low memory footprint. Actually the library only requires about 145 kilobytes of memory, of RAM memory, that's the total requirement for the library, and that considers the styles provided. It's a global variable containing 348 properties for the styles that actually you can change. The icons, the library provides, as you can see here, those icons are provided by the library, there are up to 250 icons defined but you can add more if you want.
Comments