Skip to main content

The Foundation Window Management API

Journal Category

Ziyad Barakat


Hey everyone I would like to announce that version 0.3 of the Foundation window management API is now ready to be deployed. This new version now includes:

  • new makefile system that creates a Debug and release build and output an archive file instead of executable file as well as being able to swap compilers in the Linux version (in the makefile just set the CURRENT_COMPILER flag to be either g++ or clang).
  • new window customization system that includes multiple methods of hanging window decorations. This includes being able to swap between general window styles such as pop-up(no decorations at all), bare(no buttons, just the border and title bar) and normal(a regular window). You can also use a window customization system that utilizes bit-fields to allow building or tearing down your ideal window.
  • new OpenGL debugging methods that print the current OpenGL version as well as all supported extensions
  • new safety mechanisms that should help prevent crashes and unwanted results that also print out messages
  • Foundation_Tools has been re-implemented into the core API with the window manager being able to translate key presses itself as well as methods for validating used type including char strings and event callbacks.
  • documentation folder has now been added to the project directory that includes PDF file as well as a full HTML directory.
  • makefile settings have been changed to output static library files that can be linked with your project.
  • pre-built windows binaries have been added to the project directory in 'bin'.
  • Example project has also been included in the project directory that shows how to link the library with your project
  • added README file that describes installing the API, linking the API to your project and using the API with your project
  • moved dependencies folder inside include folder
  • fixes include:
    • pixel formatting issue on the Linux platform has been fixed
    • multiple windows on the Linux platform crashes
    • fixed event handling issue on the Linux platform

These changes are now available in the master branch of the Git repository. here