From fb42454103000c5fde3524e74876452b432edd08 Mon Sep 17 00:00:00 2001 From: Miko <110693261+mikomikotaishi@users.noreply.github.com> Date: Sun, 8 Jun 2025 01:05:36 +0000 Subject: [PATCH 1/3] Add Colors namespace that re-exports macros as constexpr --- modules/raylib.cppm | 60 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 60 insertions(+) diff --git a/modules/raylib.cppm b/modules/raylib.cppm index 2fcea73d..201e17ff 100644 --- a/modules/raylib.cppm +++ b/modules/raylib.cppm @@ -10,6 +10,33 @@ module; #define RAYMATH_IMPLEMENTATION #include "../include/raylib-cpp.hpp" +#undef LIGHTGRAY +#undef GRAY +#undef DARKGRAY +#undef YELLOW +#undef GOLD +#undef ORANGE +#undef PINK +#undef RED +#undef MAROON +#undef GREEN +#undef LIME +#undef DARKGREEN +#undef SKYBLUE +#undef BLUE +#undef DARKBLUE +#undef PURPLE +#undef VIOLET +#undef DARKPURPLE +#undef BEIGE +#undef BROWN +#undef DARKBROWN +#undef WHITE +#undef BLACK +#undef BLANK +#undef MAGENTA +#undef RAYWHITE + export module raylib; /** @@ -108,6 +135,39 @@ export namespace raylib { using raylib::TextToPascal; using raylib::TextToInteger; + /** + * @namespace raylib::Colors + * @brief Re-exports all Color macros as inline constexpr + */ + namespace Colors { + inline constexpr ::Color LIGHTGRAY = CLITERAL(::Color){ 200, 200, 200, 255 }; + inline constexpr ::Color GRAY = CLITERAL(::Color){ 130, 130, 130, 255 }; + inline constexpr ::Color DARKGRAY = CLITERAL(::Color){ 80, 80, 80, 255 }; + inline constexpr ::Color YELLOW = CLITERAL(::Color){ 253, 249, 0, 255 }; + inline constexpr ::Color GOLD = CLITERAL(::Color){ 255, 203, 0, 255 }; + inline constexpr ::Color ORANGE = CLITERAL(::Color){ 255, 161, 0, 255 }; + inline constexpr ::Color PINK = CLITERAL(::Color){ 255, 109, 194, 255 }; + inline constexpr ::Color RED = CLITERAL(::Color){ 230, 41, 55, 255 }; + inline constexpr ::Color MAROON = CLITERAL(::Color){ 190, 33, 55, 255 }; + inline constexpr ::Color GREEN = CLITERAL(::Color){ 0, 228, 48, 255 }; + inline constexpr ::Color LIME = CLITERAL(::Color){ 0, 158, 47, 255 }; + inline constexpr ::Color DARKGREEN = CLITERAL(::Color){ 0, 117, 44, 255 }; + inline constexpr ::Color SKYBLUE = CLITERAL(::Color){ 102, 191, 255, 255 }; + inline constexpr ::Color BLUE = CLITERAL(::Color){ 0, 121, 241, 255 }; + inline constexpr ::Color DARKBLUE = CLITERAL(::Color){ 0, 82, 172, 255 }; + inline constexpr ::Color PURPLE = CLITERAL(::Color){ 200, 122, 255, 255 }; + inline constexpr ::Color VIOLET = CLITERAL(::Color){ 135, 60, 190, 255 }; + inline constexpr ::Color DARKPURPLE = CLITERAL(::Color){ 112, 31, 126, 255 }; + inline constexpr ::Color BEIGE = CLITERAL(::Color){ 211, 176, 131, 255 }; + inline constexpr ::Color BROWN = CLITERAL(::Color){ 127, 106, 79, 255 }; + inline constexpr ::Color DARKBROWN = CLITERAL(::Color){ 76, 63, 47, 255 }; + inline constexpr ::Color WHITE = CLITERAL(::Color){ 255, 255, 255, 255 }; + inline constexpr ::Color BLACK = CLITERAL(::Color){ 0, 0, 0, 255 }; + inline constexpr ::Color BLANK = CLITERAL(::Color){ 0, 0, 0, 0 }; + inline constexpr ::Color MAGENTA = CLITERAL(::Color){ 255, 0, 255, 255 }; + inline constexpr ::Color RAYWHITE = CLITERAL(::Color){ 245, 245, 245, 255 }; + } + /** * @namespace raylib::Keyboard * @brief Input-related functions: keyboard From 1502bdf12821b14f7ee111a502a0abf14f1f4ee3 Mon Sep 17 00:00:00 2001 From: Miko <110693261+mikomikotaishi@users.noreply.github.com> Date: Tue, 10 Jun 2025 02:09:38 +0000 Subject: [PATCH 2/3] Add missing enum types --- modules/raylib.cppm | 25 ++++++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) diff --git a/modules/raylib.cppm b/modules/raylib.cppm index 201e17ff..536c7fbe 100644 --- a/modules/raylib.cppm +++ b/modules/raylib.cppm @@ -8,7 +8,7 @@ module; #define BUILD_RAYLIB_CPP_MODULES #define RLCPPAPI #define RAYMATH_IMPLEMENTATION -#include "../include/raylib-cpp.hpp" +#include "raylib-cpp.hpp" #undef LIGHTGRAY #undef GRAY @@ -87,6 +87,29 @@ export namespace raylib { using raylib::Wave; using raylib::Window; + // Enums + using ::ConfigFlags; + using ::TraceLogLevel; + using ::KeyboardKey; + using ::MouseButton; + using ::MouseCursor; + using ::GamepadButton; + using ::GamepadAxis; + using ::MaterialMapIndex; + using ::ShaderLocationIndex; + using ::ShaderUniformDataType; + using ::ShaderAttributeDataType; + using ::PixelFormat; + using ::TextureFilter; + using ::TextureWrap; + using ::CubemapLayout; + using ::FontType; + using ::BlendMode; + using ::Gesture; + using ::CameraMode; + using ::CameraProjection; + using ::NPatchLayout; + // From Functions.hpp using raylib::InitWindow; using raylib::SetWindowTitle; From 42bff0839674353184f3bd4529cf8940277a5745 Mon Sep 17 00:00:00 2001 From: Miko <110693261+mikomikotaishi@users.noreply.github.com> Date: Tue, 10 Jun 2025 05:05:35 +0000 Subject: [PATCH 3/3] Should include a directory above --- modules/raylib.cppm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/raylib.cppm b/modules/raylib.cppm index 536c7fbe..e0903f86 100644 --- a/modules/raylib.cppm +++ b/modules/raylib.cppm @@ -8,7 +8,7 @@ module; #define BUILD_RAYLIB_CPP_MODULES #define RLCPPAPI #define RAYMATH_IMPLEMENTATION -#include "raylib-cpp.hpp" +#include "../include/raylib-cpp.hpp" #undef LIGHTGRAY #undef GRAY