Improved support for C++
Added compound literals (C99) alternative for C++ compilers that don't support this feature
This commit is contained in:
parent
2dc5f580a6
commit
36cf1f7dfd
37
src/raylib.h
37
src/raylib.h
@ -235,6 +235,36 @@
|
|||||||
|
|
||||||
// Some Basic Colors
|
// Some Basic Colors
|
||||||
// NOTE: Custom raylib color palette for amazing visuals on WHITE background
|
// NOTE: Custom raylib color palette for amazing visuals on WHITE background
|
||||||
|
#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)
|
||||||
|
#else
|
||||||
#define LIGHTGRAY (Color){ 200, 200, 200, 255 } // Light Gray
|
#define LIGHTGRAY (Color){ 200, 200, 200, 255 } // Light Gray
|
||||||
#define GRAY (Color){ 130, 130, 130, 255 } // Gray
|
#define GRAY (Color){ 130, 130, 130, 255 } // Gray
|
||||||
#define DARKGRAY (Color){ 80, 80, 80, 255 } // Dark Gray
|
#define DARKGRAY (Color){ 80, 80, 80, 255 } // Dark Gray
|
||||||
@ -262,6 +292,7 @@
|
|||||||
#define BLANK (Color){ 0, 0, 0, 0 } // Blank (Transparent)
|
#define BLANK (Color){ 0, 0, 0, 0 } // Blank (Transparent)
|
||||||
#define MAGENTA (Color){ 255, 0, 255, 255 } // Magenta
|
#define MAGENTA (Color){ 255, 0, 255, 255 } // Magenta
|
||||||
#define RAYWHITE (Color){ 245, 245, 245, 255 } // My own White (raylib logo)
|
#define RAYWHITE (Color){ 245, 245, 245, 255 } // My own White (raylib logo)
|
||||||
|
#endif
|
||||||
|
|
||||||
//----------------------------------------------------------------------------------
|
//----------------------------------------------------------------------------------
|
||||||
// Types and Structures Definition
|
// Types and Structures Definition
|
||||||
@ -308,6 +339,9 @@ typedef struct Color {
|
|||||||
unsigned char g;
|
unsigned char g;
|
||||||
unsigned char b;
|
unsigned char b;
|
||||||
unsigned char a;
|
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;
|
} Color;
|
||||||
|
|
||||||
// Rectangle type
|
// Rectangle type
|
||||||
@ -819,7 +853,8 @@ Model LoadModelFromRES(const char *rresName, int resId); // Load a 3d mod
|
|||||||
Model LoadHeightmap(Image heightmap, Vector3 size); // Load a heightmap image as a 3d model
|
Model LoadHeightmap(Image heightmap, Vector3 size); // Load a heightmap image as a 3d model
|
||||||
Model LoadCubicmap(Image cubicmap); // Load a map image as a 3d model (cubes based)
|
Model LoadCubicmap(Image cubicmap); // Load a map image as a 3d model (cubes based)
|
||||||
void UnloadModel(Model model); // Unload 3d model from memory
|
void UnloadModel(Model model); // Unload 3d model from memory
|
||||||
Mesh GenMeshCube(float width, float height, float depth);
|
|
||||||
|
Mesh GenMeshCube(float width, float height, float depth); // Generate mesh: cube
|
||||||
|
|
||||||
Material LoadMaterial(const char *fileName); // Load material data (from file)
|
Material LoadMaterial(const char *fileName); // Load material data (from file)
|
||||||
Material LoadDefaultMaterial(void); // Load default material (uses default models shader)
|
Material LoadDefaultMaterial(void); // Load default material (uses default models shader)
|
||||||
|
Loading…
Reference in New Issue
Block a user