diff --git a/README.md b/README.md
index f209b95..66f91f9 100644
--- a/README.md
+++ b/README.md
@@ -48,7 +48,119 @@ The documentation is also available online at https://herbemalveillante.github.i
## Roadmap
-1. Port all of Raylib's examples to Axle
+Note : the following features will be implemented **LAST** :
+
+- Touch and gestures
+- VR
+- Automation and Event management
+
+The following features may be implemented in the near future :
+
+- Automatic generation of macOS apps
+- Resource management for standalone executables
+- Cross-platform toolchain shell script
+
+### Features
+
+#### Primitives
+
+- Rectangle
+- Vector2 / Point
+- Vector3
+- Matrixes
+- Shaders
+
+#### Window and screen
+
+- Get window state (fullscreen, hidden, minimized, maximized, focused, resized, etc.)
+- Set window state
+- Set window icon
+- Set window properties (title, position, monitor, min/max size, opacity, etc.)
+- Get screen size and render size
+- Get monitor information (count, size, position, etc.)
+- Manage clipboard (set / get, text and images)
+- Manage cursor (show, hide, get visibility, enable, disable, detect if on screen)
+- Manage FPS (get current FPS, get deltatime, get time since start of the program, etc.)
+
+#### Drawing and shaders
+
+- Implement camera (2D and 3D) with transformation matrixes. Add option to switch drawing mode to a camera.
+- Get and set camera information
+- Implement Screen-space related functions (screen to world, world to screen, 2D and 3D, manage camera matrixes, etc.)
+- Implement drawing to render texture
+- Implement shader drawing (load shader, access uniforms, etc.)
+- Implement blending mode
+- Implement scissor mode
+
+#### Input functions
+
+- Get keyboard state (once, again, released, etc.)
+- Set exit key
+- Get gamepad information
+- Get gamepad state
+- Manage gamepad (vibrations, etc.)
+- Change input mappings
+- Get mouse position and buttons
+- Move the mouse
+
+#### Primitives
+
+- Draw pixels
+- Draw lines
+- Draw splines and bezier curves
+- Draw circles
+- Draw circle sectors
+- Draw ellipses
+- Draw rings
+- Draw rectangles
+- Draw triangles
+- Draw polygons
+- Check collisions between each aforementioned shape
+
+#### Textures
+
+- Load images into CPU memory (RAM)
+- Generate images programatically (noise, etc.)
+- Edit images (crop, filters, etc.)
+- Draw images
+- Load textures into GPU memory (VRAM)
+- Draw textures
+- Edit / Compare colors
+
+#### Text
+
+- Load fonts from ttf files
+- Load fonts from image files
+- Draw text
+- Edit text
+- Measure text
+
+#### 3D
+
+- Draw primitives
+- Load models
+- Load materials
+- Load animations
+- Load meshes
+- Generate meshes programmatically
+- Draw models
+- Draw meshes
+- Draw billboards
+- Check for collisions
+
+#### Audio
+
+- Load audio data
+- Play audio data
+
+#### Utils and misc
+
+- Add random number / seed generation
+- Add perlin / simplex noise generation
+- Implement screenshots and video recording
+- Interact with the machine (open URL, file management, etc.)
+
+### Examples
## Credits
diff --git a/docs/_r_e_a_d_m_e_8md.html b/docs/_r_e_a_d_m_e_8md.html
new file mode 100644
index 0000000..c503746
--- /dev/null
+++ b/docs/_r_e_a_d_m_e_8md.html
@@ -0,0 +1,121 @@
+
+
+
+
+
+
+
+Axle: axle/README.md File Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Axle 0.1.0
+
+ A simple, lightweight C++ game framework built on top of Raylib.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/axle_8h.html b/docs/axle_8h.html
new file mode 100644
index 0000000..cd10a36
--- /dev/null
+++ b/docs/axle_8h.html
@@ -0,0 +1,135 @@
+
+
+
+
+
+
+
+Axle: axle/include/axle.h File Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Axle 0.1.0
+
+ A simple, lightweight C++ game framework built on top of Raylib.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+
+
+
+
#include "examples.h "
+
#include "window.h "
+
+
+namespace Axle
+ The main namespace of the Axle engine. All the features of the engine are contained within this namespace.
+
+namespace Axle::Examples
+ The Example namespace contains ports of the examples from the Raylib library.
+
+
+
+
+
+
+
+
diff --git a/docs/basic_window_8cpp.html b/docs/basic_window_8cpp.html
new file mode 100644
index 0000000..22015c0
--- /dev/null
+++ b/docs/basic_window_8cpp.html
@@ -0,0 +1,141 @@
+
+
+
+
+
+
+
+Axle: axle/src/examples/basicWindow.cpp File Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Axle 0.1.0
+
+ A simple, lightweight C++ game framework built on top of Raylib.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+
+
+
+
+
+namespace Axle
+ The main namespace of the Axle engine. All the features of the engine are contained within this namespace.
+
+namespace Axle::Examples
+ The Example namespace contains ports of the examples from the Raylib library.
+
+
+
+
+
+
+
+
diff --git a/docs/basic_window_8cpp.js b/docs/basic_window_8cpp.js
new file mode 100644
index 0000000..8b3fc94
--- /dev/null
+++ b/docs/basic_window_8cpp.js
@@ -0,0 +1,4 @@
+var basic_window_8cpp =
+[
+ [ "Axle::Examples::basicWindow", "namespace_axle_1_1_examples.html#aad61ebdcb0a57c9108ed77ed607844b6", null ]
+];
\ No newline at end of file
diff --git a/docs/color_8cpp.html b/docs/color_8cpp.html
new file mode 100644
index 0000000..afe79a7
--- /dev/null
+++ b/docs/color_8cpp.html
@@ -0,0 +1,131 @@
+
+
+
+
+
+
+
+Axle: axle/src/color.cpp File Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Axle 0.1.0
+
+ A simple, lightweight C++ game framework built on top of Raylib.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+
+
+
+
+
+namespace Axle
+ The main namespace of the Axle engine. All the features of the engine are contained within this namespace.
+
+
+
+
+
+
+
+
diff --git a/docs/color_8h.html b/docs/color_8h.html
new file mode 100644
index 0000000..308d33c
--- /dev/null
+++ b/docs/color_8h.html
@@ -0,0 +1,177 @@
+
+
+
+
+
+
+
+Axle: axle/include/color.h File Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Axle 0.1.0
+
+ A simple, lightweight C++ game framework built on top of Raylib.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+
+
+
+
+
+class Axle::Color
+ This class is used to represent a color in the RGBA format. More...
+
+
+
+namespace Axle
+ The main namespace of the Axle engine. All the features of the engine are contained within this namespace.
+
+
+
+enum class Axle::ColorPreset {
+ Axle::LIGHTGRAY
+, Axle::GRAY
+, Axle::DARKGRAY
+, Axle::YELLOW
+,
+ Axle::GOLD
+, Axle::ORANGE
+, Axle::PINK
+, Axle::RED
+,
+ Axle::MAROON
+, Axle::GREEN
+, Axle::LIME
+, Axle::DARKGREEN
+,
+ Axle::SKYBLUE
+, Axle::BLUE
+, Axle::DARKBLUE
+, Axle::PURPLE
+,
+ Axle::VIOLET
+, Axle::DARKPURPLE
+, Axle::BEIGE
+, Axle::BROWN
+,
+ Axle::DARKBROWN
+, Axle::WHITE
+, Axle::BLACK
+, Axle::BLANK
+,
+ Axle::MAGENTA
+
+ }
+ This enum is used to represent a color preset that can later be used to replace a color object in many places. More...
+
+
+
+
+
+
+
+
diff --git a/docs/color_8h.js b/docs/color_8h.js
new file mode 100644
index 0000000..f55ca5f
--- /dev/null
+++ b/docs/color_8h.js
@@ -0,0 +1,31 @@
+var color_8h =
+[
+ [ "Axle::Color", "class_axle_1_1_color.html", "class_axle_1_1_color" ],
+ [ "Axle::ColorPreset", "namespace_axle.html#a8a8f7110cf295b29d4bfbcbd7b131ca8", [
+ [ "Axle::ColorPreset::LIGHTGRAY", "namespace_axle.html#a8a8f7110cf295b29d4bfbcbd7b131ca8a046c542c1879961609e6d616fdf383f6", null ],
+ [ "Axle::ColorPreset::GRAY", "namespace_axle.html#a8a8f7110cf295b29d4bfbcbd7b131ca8a48bf014c704c9eaae100a98006a37bf7", null ],
+ [ "Axle::ColorPreset::DARKGRAY", "namespace_axle.html#a8a8f7110cf295b29d4bfbcbd7b131ca8a0e1e6fddb3b7f6b796fd388b27dc02ab", null ],
+ [ "Axle::ColorPreset::YELLOW", "namespace_axle.html#a8a8f7110cf295b29d4bfbcbd7b131ca8a8a568e5f41b7e4da88fe5c4a00aad34e", null ],
+ [ "Axle::ColorPreset::GOLD", "namespace_axle.html#a8a8f7110cf295b29d4bfbcbd7b131ca8a2c0898822ab3baf7f93bea86648adb26", null ],
+ [ "Axle::ColorPreset::ORANGE", "namespace_axle.html#a8a8f7110cf295b29d4bfbcbd7b131ca8a5b6490317b6f7270bc3ab5ffd07c1f52", null ],
+ [ "Axle::ColorPreset::PINK", "namespace_axle.html#a8a8f7110cf295b29d4bfbcbd7b131ca8a2536bd3910cf3069e2cd184e614ea97d", null ],
+ [ "Axle::ColorPreset::RED", "namespace_axle.html#a8a8f7110cf295b29d4bfbcbd7b131ca8aa2d9547b5d3dd9f05984475f7c926da0", null ],
+ [ "Axle::ColorPreset::MAROON", "namespace_axle.html#a8a8f7110cf295b29d4bfbcbd7b131ca8ab0459ecc882a7ea7cc98dd4275d5d181", null ],
+ [ "Axle::ColorPreset::GREEN", "namespace_axle.html#a8a8f7110cf295b29d4bfbcbd7b131ca8a9de0e5dd94e861317e74964bed179fa0", null ],
+ [ "Axle::ColorPreset::LIME", "namespace_axle.html#a8a8f7110cf295b29d4bfbcbd7b131ca8a2cf3a2965e9238d68222de372e70e935", null ],
+ [ "Axle::ColorPreset::DARKGREEN", "namespace_axle.html#a8a8f7110cf295b29d4bfbcbd7b131ca8a0375de91b1558838e15231ca2a939f84", null ],
+ [ "Axle::ColorPreset::SKYBLUE", "namespace_axle.html#a8a8f7110cf295b29d4bfbcbd7b131ca8a0c82ca04b8123fae4a3d14d3ac9dbbd5", null ],
+ [ "Axle::ColorPreset::BLUE", "namespace_axle.html#a8a8f7110cf295b29d4bfbcbd7b131ca8a1b3e1ee9bff86431dea6b181365ba65f", null ],
+ [ "Axle::ColorPreset::DARKBLUE", "namespace_axle.html#a8a8f7110cf295b29d4bfbcbd7b131ca8a06e2fdcb92e9bdbc9075c0d8365f453f", null ],
+ [ "Axle::ColorPreset::PURPLE", "namespace_axle.html#a8a8f7110cf295b29d4bfbcbd7b131ca8aec9c138095a352a9b7ef9ca5363b14d9", null ],
+ [ "Axle::ColorPreset::VIOLET", "namespace_axle.html#a8a8f7110cf295b29d4bfbcbd7b131ca8a3df9f09dbf0774e4edf801e77aea339b", null ],
+ [ "Axle::ColorPreset::DARKPURPLE", "namespace_axle.html#a8a8f7110cf295b29d4bfbcbd7b131ca8a2bfe1e1c35bb64f961908243773b9aa1", null ],
+ [ "Axle::ColorPreset::BEIGE", "namespace_axle.html#a8a8f7110cf295b29d4bfbcbd7b131ca8a837b1cca89daac46ffecac7bd4923779", null ],
+ [ "Axle::ColorPreset::BROWN", "namespace_axle.html#a8a8f7110cf295b29d4bfbcbd7b131ca8a493cacf6f6a2ae4798b319b8b9ba9488", null ],
+ [ "Axle::ColorPreset::DARKBROWN", "namespace_axle.html#a8a8f7110cf295b29d4bfbcbd7b131ca8ade1f378f72c71113be9329a741547c8b", null ],
+ [ "Axle::ColorPreset::WHITE", "namespace_axle.html#a8a8f7110cf295b29d4bfbcbd7b131ca8ab5bf627e448384cf3a4c35121ca6008d", null ],
+ [ "Axle::ColorPreset::BLACK", "namespace_axle.html#a8a8f7110cf295b29d4bfbcbd7b131ca8a08d0012388564e95c3b4a7407cf04965", null ],
+ [ "Axle::ColorPreset::BLANK", "namespace_axle.html#a8a8f7110cf295b29d4bfbcbd7b131ca8a56f031dd03707d695f76c63ddbf40bd7", null ],
+ [ "Axle::ColorPreset::MAGENTA", "namespace_axle.html#a8a8f7110cf295b29d4bfbcbd7b131ca8ac634ffea7195608364671ac52ee59a61", null ]
+ ] ]
+];
\ No newline at end of file
diff --git a/docs/custom_8cpp.html b/docs/custom_8cpp.html
new file mode 100644
index 0000000..2ba92b8
--- /dev/null
+++ b/docs/custom_8cpp.html
@@ -0,0 +1,142 @@
+
+
+
+
+
+
+
+Axle: axle/src/examples/custom.cpp File Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Axle 0.1.0
+
+ A simple, lightweight C++ game framework built on top of Raylib.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+
+
+
+
#include <iostream>
+
#include "axle.h "
+
+
+namespace Axle
+ The main namespace of the Axle engine. All the features of the engine are contained within this namespace.
+
+namespace Axle::Examples
+ The Example namespace contains ports of the examples from the Raylib library.
+
+
+
+
+
+
+
+
diff --git a/docs/custom_8cpp.js b/docs/custom_8cpp.js
new file mode 100644
index 0000000..b0e5c2d
--- /dev/null
+++ b/docs/custom_8cpp.js
@@ -0,0 +1,4 @@
+var custom_8cpp =
+[
+ [ "Axle::Examples::custom", "namespace_axle_1_1_examples.html#ad92427e86e27c90a1d0a1df42b28b596", null ]
+];
\ No newline at end of file
diff --git a/docs/custom_example_8cpp.html b/docs/custom_example_8cpp.html
new file mode 100644
index 0000000..3468057
--- /dev/null
+++ b/docs/custom_example_8cpp.html
@@ -0,0 +1,142 @@
+
+
+
+
+
+
+
+Axle: axle/src/examples/customExample.cpp File Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Axle 0.1.0
+
+ A simple, lightweight C++ game framework built on top of Raylib.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+
+
+
+
#include <iostream>
+
#include "axle.h "
+
+
+namespace Axle
+ The main namespace of the Axle engine. All the features of the engine are contained within this namespace.
+
+namespace Axle::Examples
+ The Example namespace contains ports of the examples from the Raylib library.
+
+
+
+
+
+
+
+
diff --git a/docs/custom_example_8cpp.js b/docs/custom_example_8cpp.js
new file mode 100644
index 0000000..65bf851
--- /dev/null
+++ b/docs/custom_example_8cpp.js
@@ -0,0 +1,4 @@
+var custom_example_8cpp =
+[
+ [ "Axle::Examples::customExample", "namespace_axle_1_1_examples.html#a731085a0d1039cffe4b9bf6e63f7690d", null ]
+];
\ No newline at end of file
diff --git a/docs/dir_19daba6fae3977e99e0655060830ad45.js b/docs/dir_19daba6fae3977e99e0655060830ad45.js
new file mode 100644
index 0000000..368c655
--- /dev/null
+++ b/docs/dir_19daba6fae3977e99e0655060830ad45.js
@@ -0,0 +1,6 @@
+var dir_19daba6fae3977e99e0655060830ad45 =
+[
+ [ "examples", "dir_69edf7c553be4ed473868ede980e4319.html", "dir_69edf7c553be4ed473868ede980e4319" ],
+ [ "color.cpp", "color_8cpp.html", null ],
+ [ "window.cpp", "window_8cpp.html", null ]
+];
\ No newline at end of file
diff --git a/docs/dir_3f6cc9b83d858a55628490f4f6238619.js b/docs/dir_3f6cc9b83d858a55628490f4f6238619.js
new file mode 100644
index 0000000..8f75d8d
--- /dev/null
+++ b/docs/dir_3f6cc9b83d858a55628490f4f6238619.js
@@ -0,0 +1,7 @@
+var dir_3f6cc9b83d858a55628490f4f6238619 =
+[
+ [ "axle.h", "axle_8h.html", null ],
+ [ "color.h", "color_8h.html", "color_8h" ],
+ [ "examples.h", "examples_8h.html", "examples_8h" ],
+ [ "window.h", "window_8h.html", "window_8h" ]
+];
\ No newline at end of file
diff --git a/docs/dir_69edf7c553be4ed473868ede980e4319.js b/docs/dir_69edf7c553be4ed473868ede980e4319.js
new file mode 100644
index 0000000..f4de43a
--- /dev/null
+++ b/docs/dir_69edf7c553be4ed473868ede980e4319.js
@@ -0,0 +1,5 @@
+var dir_69edf7c553be4ed473868ede980e4319 =
+[
+ [ "basicWindow.cpp", "basic_window_8cpp.html", "basic_window_8cpp" ],
+ [ "customExample.cpp", "custom_example_8cpp.html", "custom_example_8cpp" ]
+];
\ No newline at end of file
diff --git a/docs/dir_885299776d2396c578407cfaa9b476b1.js b/docs/dir_885299776d2396c578407cfaa9b476b1.js
new file mode 100644
index 0000000..a47a1f4
--- /dev/null
+++ b/docs/dir_885299776d2396c578407cfaa9b476b1.js
@@ -0,0 +1,5 @@
+var dir_885299776d2396c578407cfaa9b476b1 =
+[
+ [ "include", "dir_3f6cc9b83d858a55628490f4f6238619.html", "dir_3f6cc9b83d858a55628490f4f6238619" ],
+ [ "src", "dir_19daba6fae3977e99e0655060830ad45.html", "dir_19daba6fae3977e99e0655060830ad45" ]
+];
\ No newline at end of file
diff --git a/docs/doxygen_crawl.html b/docs/doxygen_crawl.html
index 2c2ce23..e41aedc 100644
--- a/docs/doxygen_crawl.html
+++ b/docs/doxygen_crawl.html
@@ -48,9 +48,21 @@
+
+
+
+
+
+
+
+
+
+
+
+
@@ -78,9 +90,12 @@
-
+
+
+
+