maincremone - Summary

 
 
Membership Info
Group Admin:
1 active member

Group identification
Id: 10887
System Name: cremone
Name: cremone
Group Type: non-GNU software and documentation

Search in this Group


 

This group is not part of the GNU Project.

Cremone is a GUI framework that will allow games developers to easily make 100% customizable GUI, without depending on a specific graphic library (like SDL of SFML by example).

This agnosticism is done by using the powerful C++ template system and by making use of only C++ standard functions and classes.
Because of this, the project will have 3 distinct parts:
_ the template base part, which contain all true logic, the core of the library.
_ the implementation part, which is only used to interface Cremone and the library you choose. If you want to add support for another library, you just have to implement this part, which actually contain 4 small classes. Support actually planned is about SDL and SFML libraries.
_ the template widgets part, which will implement classics windows and common widgets. This part will be only made of specializations of the base window template. If you need a widget not yet present, you will have to extend this part. Actually, this part is not even started, because the library core is not finished.

This strategy allow changing library without modifying the smallest bit of code, you will just have to provide the path to the implementation of cremone corresponding to your new tool.


The project will enter in v1 Beta phase when it will be fully exception safe and when event system will satisfy me. I hope to finish this part before end of year 2011...
In future, I will at least add two major feature to the core:
_ thread safety to ease the use of Cremone in multi-threaded projects
_ template persistence system to specify which data of which windows will allow persistence, without big impact on code.

Actually, the drawing system seem to work nicely, but event system is not finished, because I am reticent to use the classic system of defining each event by hand, making boring to add support of a new library. The core work, but I would like to avoid to write hundreds of "#define MYEVENT 0x98765432" as I had see in many other libraries.

Registration Date: Thu 13 Oct 2011 03:07:03 PM UTC
License: GNU Lesser General Public License
Development Status: 3 - Alpha

 

Latest News rss feed

No news found

Back to the top

Powered by Savane 3.14-d582.
Corresponding source code