Git Product home page Git Product logo

aeongui's Introduction

AeonGUI

MinGW64 Build status MinGW32 Build status

Last Updated: 07-31-2019

DESCRIPTION

Right now AeonGUI is a project to create a graphic user interface library to be used primarily on video games and interactive media. It's primary goal is to stay agnostic of any advanced/dedicated graphics rendering API such as OpenGL, Vulkan, Direct3D, X11 or GDI.

WARNING!!!: The library is not currently on a stable or even usable state, and is mostly a sandbox for ideas and POCs.

HISTORY

The idea for the library was born around 2004 or 2005 under the name 'Glitch', and has evolved overtime but never quite reached maturity. The name change to AeonGUI came about as a way to identify the library as part of the AeonGames brand and to avoid confusion since originaly the name 'GLitch' was chosen to emphasize OpenGL support, which is no longer the priority.

On 2013 the goal of the library was to create a widget toolkit similar to Qt or GTK+ to be rendered inside the contexts of different graphic APIs, but that idea was dropped due to the complexity required and the fact that the target for the library was video games, not spreadsheets. The library remained mostly dormant while restart development on the AeonEngine was going on without the need for a GUI.

Somewhere between 2013 and 2018 the idea of the GUI as an HTML agent lingered, it would have been easy to create UIs for anyone with CSS and HTML experience, no need to learn a new paradigm, but that idea died as well due to the complexity required plus the actual similarities between HTML documents and video game UIs being very limited.

Right now, in 2019 the idea is to create a SVG agent that implements a subset of the SVG DOM, making UIs easily implemented via SVG files. I really hope this is the last iteration of what AeonGUI actually IS

COMPILATION

The library uses CMake to build the required files used to build the binary depending on the platform. For information on how to use CMake refer to the CMake official site. There is only "official" support for Windows(MSYS2 and Visual Studio) and Linux at this time, however, Linux builds may break from time to time as most development is done on Windows.

Optional USE variables are available to add support for various features such as freetype font rendering and PNG file format loading, these add external dependencies to the library, so they are all initially set to OFF, if turned ON, the user has the option to provide the dependencies or let CMake download and configure the dependencies which will show up as projects inside the build environment. The rules to download and configure external dependencies are most useful to Windows users as Linux distributions usually provide development libraries for most software packages.

LICENSE

The library is released under the terms of the permisive Apache 2.0 license The Aeon Games logo is NOT covered by the Apache license, it is a Trade Mark and may not be used for any purpose without permision.

AUTHORS

Rodrigo Hernandez (kwizatz at aeongames dot com).

aeongui's People

Contributors

kwizatz avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.