diff options
Diffstat (limited to 'src/include/defines.h')
-rw-r--r-- | src/include/defines.h | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/src/include/defines.h b/src/include/defines.h new file mode 100644 index 0000000..8216f1c --- /dev/null +++ b/src/include/defines.h @@ -0,0 +1,52 @@ +typedef int8_t int8; +typedef int16_t int16; +typedef int32_t int32; + +typedef int64_t int64; +typedef int32 bool32; + +typedef uint8_t uint8; +typedef uint16_t uint16; +typedef uint32_t uint32; +typedef uint64_t uint64; + +typedef float real32; +typedef double real64; + +typedef uint64 ptrsize; // is there a compiler variable for 32 vs 64 bit like this? + +#define NORMALIZED_COL_MIN V4(0.0f, 0.0f, 0.0f, 0.0f) +#define NORMALIZED_COL_MAX V4(1.0f, 1.0f, 1.0f, 1.0f) +#define NORMALIZED_REAL_MIN { 0.0f } +#define NORMALIZED_REAL_MAX { 1.0f } + +#define TESS_TOL 1.5f // Level of tesselation for bezier calculations; ImGui's default value + +// All of these MIN/MAX values are arbitrarily chosen; they can probably be +// increased if the user requires it. + +#define PROPERTY_REAL_MAX 1000000 +#define PROPERTY_REAL_MIN -1000000 + +#define MAX_LAYERS 2048 +#define MAX_EFFECTS 32 +#define MAX_SOURCES 1024 +#define MAX_COMPS 1024 +#define MAX_PRECOMP_RECURSIONS 4 +#define MAX_MASKS 8 +#define MAX_PROPERTIES_PER_EFFECT 80 // Kinda high since we want to support 8 xy points of Curves data across 5 channels. +#define MAX_KEYFRAME_BLOCKS 64 +#define MAX_KEYFRAMES_PER_BLOCK 32 // max keyframes on a single channel is 2048 + +#define MAX_SELECTED_PROPERTIES 16 + +#define AmountOf(Array) sizeof((Array)) / sizeof((Array)[1]) + +#if ARM +#define GetCPUTime() 0 +#else +#define GetCPUTime() __rdtsc() +#endif + +static real32 Tau = 0.9; // tension + |