OWL - Open Windowing Library

This is ought to be the complete guide to setting OWL up.
If you have any problems setting it up, please notify me by creating a github issue.
Using the library should be rather straight forward, just download, check out the examples, or follow along this setup tutorial. :D
You can do it with git like this:
git clone https://github.com/beProsto/OWL
Or you can simply download the repository by going here, then pressing Code -> Download ZIP.
In this section I’ll give you a tour around creating and compiling your own simple OWL application
You can layout your project in any way you’d like, just remember to put the include/ directory of OWL as one of the include directories for your project.
Just create a simple main.cpp or any other way you’d like to call it;
We’ll just make it a simple “Hello, World!” window.
// Include OWL
#include <OWL/OWL.hpp>
// Include OWL's timer and fps limiter
#include <OWL/Time.hpp>
// Tell OWL that this is the main file
#include <OWL/Main.hpp>
int main(int argc, char** argv) {
// First we create a window
OWL::Window window;
// We give the window a graphics context
OWL::SoftwareContext context;
window.setContext(context);
// We set the fps limit to 60
OWL::FPSLimiter fps(60);
// The main loop
while(window.isRunning()) {
fps.start();
// Update all window-related events
window.pollEvents();
// Toggle fullscreen when pressing F11
if(window.keyboard.getKeyData().keyEnum == window.keyboard.F11) {
window.setFullScreen(!window.isFullScreen());
}
// If the user pressed Escape, close the window
if(window.keyboard.isKeyPressed(window.keyboard.Escape)) {
window.close();
}
// Resize the context approprietly to the window's size
context.setSize(window.getSize());
// Clear the screen with an orange color
context.clear(OWL::Vec4ub(255, 100, 45, 255));
// Blit the generated image to the screen
context.blitToScreen();
fps.end();
}
return 0;
}
This depends on your Operating system. Right now only Linux and Windows are supported.
The recommended way to compile OWL is through CMake.
The CMakeLists.txt file is in the main directory of the project, along with a Makefile for the ones that want to do it the easy way.
To compile using the helper Makefile, you just use make:
make
You can also compile directly with CMake:
cmake -B ./build
cmake --build ./build
OWL should build to a dynamic library (libOWL.so on linux / libOWL.dll or OWL.dll on windows, depending on your compiler).
There should also be a couple of executables in the build directory, these are the examples. They showcase OWL’s capabilities.