-
Notifications
You must be signed in to change notification settings - Fork 1
Architecture
So how exactly has this library been modularised?
The main purpose of this library is the main component of it. It provides all the code that doesn't need to be abstracted away in any form. It combines the sub packages to a usable form.
Provides OpenGL wrappers and such. These wrappers include Texture, shaders and structified version of the OpenGL API.
This provides a platform dependent context and window creation. Depends on appropriate libraries on each platform. E.g. Linux libX11. Implements e.g. windows and controls classes and interfaces that are required to be overided to give more control for e.g. OpenGL.
This is an abstracted form of all UI parts. Including ComponentChild and ComponentChildable for windows. Also includes eventing functionality. Includes eventing for e.g. OOP abstraction. Definitions are required for both the window and controls e.g. ComponentChild instead of ComponentChild_Def. This is for overidability and more control for a specific implementation.
Util is dedicated for utility code. For example the storage manager is here. This is heavily depended on by the other sub packages.
Lastly the Windows API bindings including tool for automatically generating them.