PFen is a C++ library that implement the window manager for SDL.
The goal of this library is to implement a window manager for multimedia applications. This manager have to be:
- portable (at least, on all OS where SDL works)
- easy of use
- extensible (by using the STL and inherits)
At the moment, only basics functions are implemented, like:
- drawing/clearing windows
- moving windows
- transparency (thanks to SDL)
Making a Code::Blocks project that use PFen library:
- Make an empty SDL project.
- Go to project's properties (for more simplicity: right clic on the project, then properties)
- In the window that appeared, clic on "Project's Build Options..." at right bottom..
- In the "Linker settings" tab, add PFen.dll
- In the "Search directories" tab:
- in the "Compiler" sub-tab, add PFen's headers directoy
- in the sub-tab "Linker" add the PFen's bin directory
- Valid all. (so "project's build options" and "properties")
- In the principal source of your application add #include <pfen.h>.
- In the principal function of your app (probably "int main(int argc, char **argv)") initialize at least the SDL_INIT_VIDEO sub-system.
- IDE: Code::blocks. It's a light, open-source, portable, powerful, very extensible (with it's plugins system) and entirely configurable, and with frequent updates (see the nightly builds)
- Compilater: MinGW32 for MS windows. For Linux, GCC should work very well too, because MinGW is it's (minimal) portage for windows.
- Library: SDLis nevessary to compile or run an application that use PFen. (PFen is based on SDL)
- Documententation generator: doxygen. With simple comments, this powerful tool can make guidebooks. Useful to don't have to make documentation by your own, or to remember how work an old code section.
- Control versioning system: subversion. For windows users, there is a shell-integrated software: (probably for others OS's users too.) tortoiseSVN.
Compiling and installing the PFen library for Code::Blocks:
- Install code::blocks. If you want to use nightly builds (I higly recommend you to do) you will find here how it work.
- Once Code:Blocks installed, just configure the ($sdl) global variable to make it have the paths to SDL's headers and binaries.
- Download sources, with the repository of your choice. (At this moment, there is only the working version, trunk)
- Open the PFen.cbp file with Code::Blocks.
- Choose the target (debug by default, but a release target is available, wich is more optimized).
- Run the compiler.
Contributing
There are many manners to contribute to this project. As you can see, it started there are a few time (actually (17/11/2009) near 3 week, but I work on my computer to make basis first), and this site is more younger than the project. The ways I see to help could be:
- suggesting ideas
- help me to design this site (I really don't have skills for desingning, as you can see)
- testing the lib, and report problems
- help to document. (there is wiki, but it need time to begin useful, and my priority is actually to make a good base before writing tutorial, users' documentation and examples)
- of course, improving the code
- say that you like this library, and vote for it on project's sourceforge space
License
This library is licensed under LGPL's terms.