Home
History Key
- New content
Removed content
Recent Versions
Choose two versions to compare, or click the link to view it.
PKgui wiki home page
Short description:
This is the home page of PKgui - a GUI library project for games, written in C++, based on the SDL library. The project was started when I found out that existing libraries lack features, are undocumented or hard to set up. Knowing nothing about programming GUIs I could not use them. This project was meant to make my dreams come true and provide a lot of relief for people who want the middleware to work and proceed to more creative activities.
Current state of the project:
The project is not yet finished, but it has got most features needed to create a decent GUI for an application, particularly a game. Existing features:Features The most important things which are still missing include unit tests of some vital components. Only 9 classes out of very many are unit-tested, I would be satisfied if about 15 most important ones were tested this way. The GUI would also benefit from supporting rendering contexts other than SDL and OpenGL, e.g. DirectX or Ogre3D (putting aside the fact that Ogre3D is not technically a rendefring context itself). Before the first release the project needs to be compiled and adjusted to run with the Microsoft toolchain and possibly some other toolchains (if you have some and you use PKgui, please let me know!).
To conclude, I can call the current state of the project the version 0.9 (still experimental).
Some links:
- http://www.wuala.com/poliklosio/dzielone/PKCASim_exe_zip.zip - zipped cellular automaton simulator which uses a recent version of PKgui (executable for 32bit Windows)
- http://www.wuala.com/poliklosio/dzielone/LabGen.zip - zipped "proof of concept" project which uses (a year old version of) PKgui (executable for 32bit Windows)
- http://klosio.neostrada.pl/ - web page of the author
Contact information:
Look here.
Supported technologies:
In theory, anything that SDL is supported at. In practice supported toolchains include at the moment GNU and Microsoft Visual Studio (as of revision 68 I am not sure that it still builds with it). The current version (revision 68 at the moment of writing) of the library has been tested on:
- MinGW 5.1.6 toolchain on Windows (featuring g++ 3.4.5)
- TDM's GCC/mingw32 on Windows (featuring g++ 4.4.1)
- GNU toolchain on Ubuntu Linux (featuring g++ 4.4.1)
Requirements for using PKgui:
- Good knowledge of C++.
- Having a supported toolchain for building.
- Having SDL library (and SDL_ttf and SDL_image if you want) downloaded and installed.
Instructions for setting up environment and building:
Release achive with the library is not available, since PKgui is a one-man project. To get repository with complete set of sources you have to install some kind of SVN (Subversion), for example the original SVN on Linux or TortoiseSVN on Windows. If you have it, do the check out. Path to check out from can be found under the Source/SVN tab on this page. By the way, this has an advantage of using the latest version of the library. The latest version is probably more bug-free than the previous version due to increasingly complete unit test coverage and testing in various cases. You can find step-by-step guide for building the sources using the GNU toolchain here.
Documentation:
HTML Offline Documentation is available (click "Download "PKgui_htmldocs.zip" to your computer" on the page that opens)(revision 106). It is also present in the repository in the 'docs' folder. You can also easily generate the same reference documentation from the comments in the source code.code, using "doxygen doxconfig.txt" command. The doxconfig.txt file for the Doxygen program is in the repository. I put a lof of effort to achieve the best configuration of doxygen as well as to document the source code well, however some features still remain undocumented. The documentation is also available in the conpressed html format, such that everything is in one file:CHM Online Documentation(revision 106).It is also present in the repository in the 'docs' folder. Tutorials and other things will be available for the version 1.0, or sooner on request.
License:
The X11 license. See here.
Remarks:
If you see things that could be improved, please send me an email or consider joining the project. You will not experience any arguments and pressure, just pure "joy" of talking to a computer geek and implementing some cool features of your choice. I'll be happy to adapt, transform and document my library and support the use of it if you want to use it in your project. Send me an email if you are interested, describe who you are and what can you contribute to the project and I'll send you a response (possibly with an invitation).