]> git.bts.cx Git - benzene.git/blob - src/bz/types/user_parameter.h
Sprites
[benzene.git] / src / bz / types / user_parameter.h
1 #ifndef BZ_TYPES_USER_PARAMETER_H
2 #define BZ_TYPES_USER_PARAMETER_H
3
4 #include <bz/types/common.h>
5
6 #ifdef __cplusplus
7 extern "C" {
8 #endif
9
10 /*enum BZUserParameterType {
11 BZUserParameterTypeNone,
12
13 BZUserParameterTypeBoolean,
14 BZUserParameterTypeInteger,
15 BZUserParameterTypeFloat,
16 BZUserParameterTypePointer,
17 };
18 typedef enum BZUserParameterType BZUserParameterType;
19
20 struct BZUserParameter {
21 BZUserParameterType type;
22 union {
23 bool booleanValue;
24 uint32_t integerValue;
25 float floatValue;
26 void *pointerValue;
27 };
28 };
29 typedef struct BZUserParameter BZUserParameter;
30
31 #define bzEmptyUserParameter() ((BZUserParameter) { .type = BZUserParameterTypeNone })
32 #define bzBooleanUserParameter(v) ((BZUserParameter) { .type = BZUserParameterTypeBoolean, .booleanValue = v })
33 #define bzIntegerUserParameter(v) ((BZUserParameter) { .type = BZUserParameterTypeInteger, .integerValue = v })
34 #define bzFloatUserParameter(v) ((BZUserParameter) { .type = BZUserParameterTypeFloat, .floatValue = v })
35 #define bzPointerUserParameter(v) ((BZUserParameter) { .type = BZUserParameterTypePointer, .pointerValue = v })*/
36
37 #ifdef __cplusplus
38 }
39 #endif
40
41 #endif