From cc2b3228d18f3bc4cd58ee4298cde78846cfde9e Mon Sep 17 00:00:00 2001 From: Ray Date: Tue, 9 Aug 2016 23:03:29 +0200 Subject: [PATCH] Updated for C++ --- src/raylib.h | 94 +++++++++++++++++++--------------------------------- 1 file changed, 34 insertions(+), 60 deletions(-) diff --git a/src/raylib.h b/src/raylib.h index 8045e436..41c32476 100644 --- a/src/raylib.h +++ b/src/raylib.h @@ -236,67 +236,44 @@ #define ANDROID_VOLUME_UP 24 #define ANDROID_VOLUME_DOWN 25 -// Some Basic Colors -// NOTE: Custom raylib color palette for amazing visuals on WHITE background +// NOTE: MSC C++ compiler does not support compound literals (C99 feature) +// Plain structures in C++ (without constructors) can be initialized from { } initializers. #ifdef __cplusplus - // NOTE: MSC C++ compiler does not support compound literals (C99 feature) - #define LIGHTGRAY Color(200, 200, 200, 255) // Light Gray - #define GRAY Color(130, 130, 130, 255) // Gray - #define DARKGRAY Color(80, 80, 80, 255) // Dark Gray - #define YELLOW Color(253, 249, 0, 255) // Yellow - #define GOLD Color(255, 203, 0, 255) // Gold - #define ORANGE Color(255, 161, 0, 255) // Orange - #define PINK Color(255, 109, 194, 255) // Pink - #define RED Color(230, 41, 55, 255) // Red - #define MAROON Color(190, 33, 55, 255) // Maroon - #define GREEN Color(0, 228, 48, 255) // Green - #define LIME Color(0, 158, 47, 255) // Lime - #define DARKGREEN Color(0, 117, 44, 255) // Dark Green - #define SKYBLUE Color(102, 191, 255, 255) // Sky Blue - #define BLUE Color(0, 121, 241, 255) // Blue - #define DARKBLUE Color(0, 82, 172, 255) // Dark Blue - #define PURPLE Color(200, 122, 255, 255) // Purple - #define VIOLET Color(135, 60, 190, 255) // Violet - #define DARKPURPLE Color(112, 31, 126, 255) // Dark Purple - #define BEIGE Color(211, 176, 131, 255) // Beige - #define BROWN Color(127, 106, 79, 255) // Brown - #define DARKBROWN Color(76, 63, 47, 255) // Dark Brown - - #define WHITE Color(255, 255, 255, 255) // White - #define BLACK Color(0, 0, 0, 255) // Black - #define BLANK Color(0, 0, 0, 0) // Blank (Transparent) - #define MAGENTA Color(255, 0, 255, 255) // Magenta - #define RAYWHITE Color(245, 245, 245, 255) // My own White (raylib logo) + #define CLITERAL #else - #define LIGHTGRAY (Color){ 200, 200, 200, 255 } // Light Gray - #define GRAY (Color){ 130, 130, 130, 255 } // Gray - #define DARKGRAY (Color){ 80, 80, 80, 255 } // Dark Gray - #define YELLOW (Color){ 253, 249, 0, 255 } // Yellow - #define GOLD (Color){ 255, 203, 0, 255 } // Gold - #define ORANGE (Color){ 255, 161, 0, 255 } // Orange - #define PINK (Color){ 255, 109, 194, 255 } // Pink - #define RED (Color){ 230, 41, 55, 255 } // Red - #define MAROON (Color){ 190, 33, 55, 255 } // Maroon - #define GREEN (Color){ 0, 228, 48, 255 } // Green - #define LIME (Color){ 0, 158, 47, 255 } // Lime - #define DARKGREEN (Color){ 0, 117, 44, 255 } // Dark Green - #define SKYBLUE (Color){ 102, 191, 255, 255 } // Sky Blue - #define BLUE (Color){ 0, 121, 241, 255 } // Blue - #define DARKBLUE (Color){ 0, 82, 172, 255 } // Dark Blue - #define PURPLE (Color){ 200, 122, 255, 255 } // Purple - #define VIOLET (Color){ 135, 60, 190, 255 } // Violet - #define DARKPURPLE (Color){ 112, 31, 126, 255 } // Dark Purple - #define BEIGE (Color){ 211, 176, 131, 255 } // Beige - #define BROWN (Color){ 127, 106, 79, 255 } // Brown - #define DARKBROWN (Color){ 76, 63, 47, 255 } // Dark Brown - - #define WHITE (Color){ 255, 255, 255, 255 } // White - #define BLACK (Color){ 0, 0, 0, 255 } // Black - #define BLANK (Color){ 0, 0, 0, 0 } // Blank (Transparent) - #define MAGENTA (Color){ 255, 0, 255, 255 } // Magenta - #define RAYWHITE (Color){ 245, 245, 245, 255 } // My own White (raylib logo) + #define CLITERAL (Color) #endif +// Some Basic Colors +// NOTE: Custom raylib color palette for amazing visuals on WHITE background +#define LIGHTGRAY CLITERAL{ 200, 200, 200, 255 } // Light Gray +#define GRAY CLITERAL{ 130, 130, 130, 255 } // Gray +#define DARKGRAY CLITERAL{ 80, 80, 80, 255 } // Dark Gray +#define YELLOW CLITERAL{ 253, 249, 0, 255 } // Yellow +#define GOLD CLITERAL{ 255, 203, 0, 255 } // Gold +#define ORANGE CLITERAL{ 255, 161, 0, 255 } // Orange +#define PINK CLITERAL{ 255, 109, 194, 255 } // Pink +#define RED CLITERAL{ 230, 41, 55, 255 } // Red +#define MAROON CLITERAL{ 190, 33, 55, 255 } // Maroon +#define GREEN CLITERAL{ 0, 228, 48, 255 } // Green +#define LIME CLITERAL{ 0, 158, 47, 255 } // Lime +#define DARKGREEN CLITERAL{ 0, 117, 44, 255 } // Dark Green +#define SKYBLUE CLITERAL{ 102, 191, 255, 255 } // Sky Blue +#define BLUE CLITERAL{ 0, 121, 241, 255 } // Blue +#define DARKBLUE CLITERAL{ 0, 82, 172, 255 } // Dark Blue +#define PURPLE CLITERAL{ 200, 122, 255, 255 } // Purple +#define VIOLET CLITERAL{ 135, 60, 190, 255 } // Violet +#define DARKPURPLE CLITERAL{ 112, 31, 126, 255 } // Dark Purple +#define BEIGE CLITERAL{ 211, 176, 131, 255 } // Beige +#define BROWN CLITERAL{ 127, 106, 79, 255 } // Brown +#define DARKBROWN CLITERAL{ 76, 63, 47, 255 } // Dark Brown + +#define WHITE CLITERAL{ 255, 255, 255, 255 } // White +#define BLACK CLITERAL{ 0, 0, 0, 255 } // Black +#define BLANK CLITERAL{ 0, 0, 0, 0 } // Blank (Transparent) +#define MAGENTA CLITERAL{ 255, 0, 255, 255 } // Magenta +#define RAYWHITE CLITERAL{ 245, 245, 245, 255 } // My own White (raylib logo) + //---------------------------------------------------------------------------------- // Types and Structures Definition //---------------------------------------------------------------------------------- @@ -342,9 +319,6 @@ typedef struct Color { unsigned char g; unsigned char b; unsigned char a; -#ifdef __cplusplus - Color(unsigned char cr, unsigned char cg, unsigned char cb, unsigned char ca) : r(cr), g(cg), b(cb), a(ca) { } -#endif } Color; // Rectangle type