MTek-GDL 0.100.4-muffintrap
Loading...
Searching...
No Matches
mgdl-color.h
Go to the documentation of this file.
1#pragma once
2
3#include <mgdl/mgdl-opengl.h>
4#include <mgdl/mgdl-types.h>
5
15#define RED(c) (((c)>>24)&0xFF)
20#define GREEN(c) (((c)>>16)&0xFF)
25#define BLUE(c) (((c)>>8)&0xFF)
30#define ALPHA(c) ((c) &0xFF)
35#define TO_RGBA(r,g,b,a) ((u32)((((u32)(r))<<24) | \
36 ((((u32)(g))&0xFF)<<16) | \
37 ((((u32)(b))&0xFF)<<8) | \
38 (((u32)(a))&0xFF)))
47#define TO_IA(i,a) (i&0xff)|((a&0xff)<<8)
53struct Color4f
54{
55 GLfloat red;
56 GLfloat green;
57 GLfloat blue;
58 GLfloat alpha;
59};
60typedef struct Color4f Color4f;
61
62struct Color4b
63{
64 u8 red;
65 u8 green;
66 u8 blue;
67 u8 alpha;
68};
69typedef struct Color4b Color4b;
70
71enum DefaultColor
72{
73 Color_White,
74 Color_Black,
75 Color_Red,
76 Color_Green,
77 Color_Blue
78};
79typedef enum DefaultColor DefaultColor;
80
81#ifdef __cplusplus
82extern "C"
83{
84#endif
85
86Color4f Color_Create4f(float red, float green, float blue, float alpha);
87Color4f Color_CreateFromPointer4f(Color4f* color);
88Color4b Color_Create4b(u8 red, u8 green, u8 blue, u8 alpha);
89Color4f Color_HexToFloats(u32 color);
90Color4b Color_HexToBytes(u32 color);
91u32 Color_FloatsToHex(Color4f components);
92
93// Debugging colors
94Color4f* Color_GetDefaultColor(DefaultColor color);
95
96#ifdef __cplusplus
97}
98#endif
Library types, macros, defines and enums header.
Definition mgdl-color.h:63
Definition mgdl-color.h:54