92 #define BLRPARTICLE_STATIC
96 #if (__STDC_VERSION__ >= 199901L)
98 #define BLRPARTICLE_STATIC static
101 #define BLRPARTICLE_STATIC
111 #ifndef DOXYGEN_SHOULD_IGNORE_THIS
123 #ifdef BUILD_BLRPARTICLE_AS_DLL
125 # define BLRPARTICLE_EXPORT __declspec(dllexport)
126 # elif defined(__GNUC__) && __GNUC__ >= 4
127 # define BLRPARTICLE_EXPORT __attribute__ ((visibility("default")))
129 # define BLRPARTICLE_EXPORT
132 # define BLRPARTICLE_EXPORT
675 #define BLRPARTICLE_MAJOR_VERSION 1
676 #define BLRPARTICLE_MINOR_VERSION 0
677 #define BLRPARTICLE_PATCHLEVEL 0
692 #define BLRPARTICLE_GET_COMPILED_VERSION(X) \
694 (X)->major = BLRPARTICLE_MAJOR_VERSION; \
695 (X)->minor = BLRPARTICLE_MINOR_VERSION; \
696 (X)->patch = BLRPARTICLE_PATCHLEVEL; \
731 void* (*malloc_fn)(
size_t sz),
732 void* (*calloc_fn)(
size_t count,
size_t size),
733 void (*free_fn)(
void* ptr),
734 void* (*realloc_fn)(
void* ptr,
size_t size),
735 void* (*memmove_fn)(
void *dst,
const void *src,
size_t len)
float BLRParticle_GetAccelerationYVariance(struct BLRParticle *particle_effect)
void BLRParticle_SetAccelerationY(struct BLRParticle *particle_effect, float y)
const float * BLRParticle_GetVertexArray(struct BLRParticle *particle_effect, size_t *out_num_elements)
Gets a ready-to-render OpenGL friendly vertex array.
void BLRParticle_SetBlendModePreset(struct BLRParticle *particle_effect, int blend_mode_preset)
Sets the blend mode preset.
void BLRParticle_GetSizeArray(struct BLRParticle *particle_effect, float out_array[2])
void BLRParticle_GetSize(struct BLRParticle *particle_effect, float *width, float *height)
void BLRParticle_GetEndColorVarianceArray(struct BLRParticle *particle_effect, float out_array[4])
void BLRParticle_SetMidColorRed(struct BLRParticle *particle_effect, float r)
float BLRParticle_GetStartColorAlpha(struct BLRParticle *particle_effect)
float BLRParticle_GetStartColorGreenVariance(struct BLRParticle *particle_effect)
void BLRParticle_SetEndColorBlueVariance(struct BLRParticle *particle_effect, float b)
void BLRParticle_SetMaxParticles(struct BLRParticle *particle_effect, uint32_t max_num)
float BLRParticle_GetMidColorBlue(struct BLRParticle *particle_effect)
void BLRParticle_SetHeight(struct BLRParticle *particle_effect, float height)
float BLRParticle_GetSpinAngle(struct BLRParticle *particle_effect)
void BLRParticle_SetMidColorGreenVariance(struct BLRParticle *particle_effect, float g)
float BLRParticle_GetMidColorGreen(struct BLRParticle *particle_effect)
void BLRParticle_SetStartColorGreen(struct BLRParticle *particle_effect, float g)
bool BLRParticle_IsYAxisInverted(void)
float BLRParticle_GetStartScale(struct BLRParticle *particle_effect)
float BLRParticle_GetAccelerationXVariance(struct BLRParticle *particle_effect)
void BLRParticle_GetMidColorVariance(struct BLRParticle *particle_effect, float *r, float *g, float *b, float *a)
Definition: BlurrrParticle.h:153
void BLRParticle_SetTexCoordT0(struct BLRParticle *particle_effect, float t0)
void BLRParticle_GetAccelerationVarianceArray(struct BLRParticle *particle_effect, float out_array[2])
BLRParticle_ColorModel
Definition: BlurrrParticle.h:150
uint32_t BLRParticle_GetNumberOfActiveParticles(struct BLRParticle *particle_effect)
void BLRParticle_SetSize(struct BLRParticle *particle_effect, float width, float height)
Units are in your render's pixels or points system.
Definition: BlurrrParticle.h:152
float BLRParticle_GetRadialDistanceVariance(struct BLRParticle *particle_effect)
float BLRParticle_GetGlobalScaleY(struct BLRParticle *particle_effect)
void BLRParticle_SetSpinVelocity(struct BLRParticle *particle_effect, float angle_in_radians)
void BLRParticle_SetStartColorBlue(struct BLRParticle *particle_effect, float b)
void BLRParticle_SetRadialEnabled(struct BLRParticle *particle_effect, bool is_radial_enabled)
void BLRParticle_SetGlobalTranslation(struct BLRParticle *particle_effect, float x, float y)
bool BLRParticle_HasEmitterDurationEnded(struct BLRParticle *particle_effect, uint32_t current_time)
void BLRParticle_SetStartColorArray(struct BLRParticle *particle_effect, float in_array[4])
void BLRParticle_GetStartColorVarianceArray(struct BLRParticle *particle_effect, float out_array[4])
void BLRParticle_SetPositionX(struct BLRParticle *particle_effect, float x)
void BLRParticle_SetTexCoordT1(struct BLRParticle *particle_effect, float t1)
float BLRParticle_GetWidth(struct BLRParticle *particle_effect)
void BLRParticle_SetAngularAccelerationVariance(struct BLRParticle *particle_effect, float angle_in_radians)
void BLRParticle_GetVelocity(struct BLRParticle *particle_effect, float *x, float *y)
void BLRParticle_SetRadialDistanceAccelerationVariance(struct BLRParticle *particle_effect, float angle_in_radians)
float BLRParticle_GetStartColorBlueVariance(struct BLRParticle *particle_effect)
void BLRParticle_SetMidColorAlphaVariance(struct BLRParticle *particle_effect, float a)
void BLRParticle_SetColorModelMode(struct BLRParticle *particle_effect, enum BLRParticle_ColorModel color_model_mode)
void BLRParticle_SetRadialDistanceVelocityVariance(struct BLRParticle *particle_effect, float angle_in_radians)
void BLRParticle_GetVelocityArray(struct BLRParticle *particle_effect, float out_array[2])
enum BLRParticle_ColorModel BLRParticle_GetColorModelMode(struct BLRParticle *particle_effect)
void BLRParticle_GetPositionVariance(struct BLRParticle *particle_effect, float *x, float *y)
float BLRParticle_GetAngularAccelerationVariance(struct BLRParticle *particle_effect)
void BLRParticle_SetAngularVelocityVariance(struct BLRParticle *particle_effect, float angle_in_radians)
void BLRParticle_GetStartColor(struct BLRParticle *particle_effect, float *r, float *g, float *b, float *a)
void BLRParticle_SetStartColor(struct BLRParticle *particle_effect, float r, float g, float b, float a)
enum BLRParticle_ColorInterp BLRParticle_GetColorInterpMode(struct BLRParticle *particle_effect)
void BLRParticle_SetVelocityXVariance(struct BLRParticle *particle_effect, float x)
void BLRParticle_SetMidColorRedVariance(struct BLRParticle *particle_effect, float r)
void BLRParticle_ResetEmittedParticles(struct BLRParticle *particle_effect)
Resets/clears all the emitted particles.
void BLRParticle_GetPositionXY(struct BLRParticle *particle_effect, float *x, float *y)
float BLRParticle_GetHeight(struct BLRParticle *particle_effect)
void BLRParticle_SetStartColorRedVariance(struct BLRParticle *particle_effect, float r)
float BLRParticle_GetMidColorAlphaVariance(struct BLRParticle *particle_effect)
void BLRParticle_SetRadialDistance(struct BLRParticle *particle_effect, float angle_in_radians)
void BLRParticle_SetVelocity(struct BLRParticle *particle_effect, float x, float y)
float BLRParticle_GetPositionXVariance(struct BLRParticle *particle_effect)
void BLRParticle_SetStartColorVariance(struct BLRParticle *particle_effect, float r, float g, float b, float a)
void BLRParticle_SetMidColorGreen(struct BLRParticle *particle_effect, float g)
bool BLRParticle_IsSpinEnabled(struct BLRParticle *particle_effect)
float BLRParticle_GetGlobalTranslationY(struct BLRParticle *particle_effect)
void BLRParticle_SetGlobalScale(struct BLRParticle *particle_effect, float x, float y)
float BLRParticle_GetTexCoordS1(struct BLRParticle *particle_effect)
void BLRParticle_SetAccelerationX(struct BLRParticle *particle_effect, float x)
void BLRParticle_SetSpinAngleVariance(struct BLRParticle *particle_effect, float angle_in_radians)
struct BLRParticle_Version BLRParticle_GetLinkedVersion(void)
Gets the library version of the dynamically linked library you are using.
void BLRParticle_SetEndColorAlphaVariance(struct BLRParticle *particle_effect, float a)
void BLRParticle_GetVelocityVarianceArray(struct BLRParticle *particle_effect, float out_array[2])
void BLRParticle_GetEndColorVariance(struct BLRParticle *particle_effect, float *r, float *g, float *b, float *a)
void BLRParticle_SetTextureName0(struct BLRParticle *particle_effect, const char *texture_name)
Sets the name of the texture you want to associate with this particle.
Struct that contains the version information of this library.
Definition: BlurrrParticle.h:664
uint32_t BLRParticle_GetMaxParticles(struct BLRParticle *particle_effect)
void BLRParticle_SetMidColorAlpha(struct BLRParticle *particle_effect, float a)
float BLRParticle_GetRadialDistanceAcceleration(struct BLRParticle *particle_effect)
float BLRParticle_GetVelocityY(struct BLRParticle *particle_effect)
void BLRParticle_SetStartScaleVariance(struct BLRParticle *particle_effect, float scale)
void BLRParticle_SetLifeDuration(struct BLRParticle *particle_effect, float life_duration_ms)
float BLRParticle_GetEndColorRed(struct BLRParticle *particle_effect)
float BLRParticle_GetSpinAcceleration(struct BLRParticle *particle_effect)
float BLRParticle_GetLifeDurationVariance(struct BLRParticle *particle_effect)
BLRParticle_ColorInterp
Definition: BlurrrParticle.h:142
float BLRParticle_GetEmitterDuration(struct BLRParticle *particle_effect)
void BLRParticle_GetStartColorArray(struct BLRParticle *particle_effect, float out_array[4])
float BLRParticle_GetRadialDistance(struct BLRParticle *particle_effect)
void BLRParticle_SetStartColorRed(struct BLRParticle *particle_effect, float r)
void BLRParticle_GetVelocityVariance(struct BLRParticle *particle_effect, float *x, float *y)
void BLRParticle_SetGlobalTranslationY(struct BLRParticle *particle_effect, float y)
void BLRParticle_SetStartColorBlueVariance(struct BLRParticle *particle_effect, float b)
float BLRParticle_GetTexCoordT1(struct BLRParticle *particle_effect)
uint8_t minor
Definition: BlurrrParticle.h:667
float BLRParticle_GetAngularAcceleration(struct BLRParticle *particle_effect)
void BLRParticle_SetVelocityX(struct BLRParticle *particle_effect, float x)
void BLRParticle_SetMidColorVariance(struct BLRParticle *particle_effect, float r, float g, float b, float a)
void BLRParticle_SetEndScale(struct BLRParticle *particle_effect, float scale)
void BLRParticle_SetTextureName1(struct BLRParticle *particle_effect, const char *texture_name)
void BLRParticle_StopEmitter(struct BLRParticle *particle_effect)
struct BLRParticle * BLRParticle_Create(uint32_t max_number_of_particles)
float BLRParticle_GetStartColorRedVariance(struct BLRParticle *particle_effect)
void BLRParticle_SetTexCoordS0(struct BLRParticle *particle_effect, float s0)
float BLRParticle_GetEmissionRate(struct BLRParticle *particle_effect)
void BLRParticle_SetRadialDistanceAcceleration(struct BLRParticle *particle_effect, float angle_in_radians)
float BLRParticle_GetGlobalRotation(struct BLRParticle *particle_effect)
float BLRParticle_GetAccelerationY(struct BLRParticle *particle_effect)
bool BLRParticle_IsRadialEnabled(struct BLRParticle *particle_effect)
void BLRParticle_GetMidColorArray(struct BLRParticle *particle_effect, float out_array[4])
void BLRParticle_SetPositionY(struct BLRParticle *particle_effect, float y)
void BLRParticle_SetSpinAccelerationVariance(struct BLRParticle *particle_effect, float angle_in_radians)
float BLRParticle_GetEndScaleVariance(struct BLRParticle *particle_effect)
float BLRParticle_GetVelocityYVariance(struct BLRParticle *particle_effect)
Definition: BlurrrParticle.h:144
float BLRParticle_GetEndColorGreen(struct BLRParticle *particle_effect)
float BLRParticle_GetEndColorGreenVariance(struct BLRParticle *particle_effect)
void BLRParticle_Update(struct BLRParticle *particle_effect, uint32_t current_time)
Updates the particle system.
void BLRParticle_SetAccelerationYVariance(struct BLRParticle *particle_effect, float y)
void BLRParticle_SetEndScaleVariance(struct BLRParticle *particle_effect, float scale)
float BLRParticle_GetViewHeight(void)
float BLRParticle_GetStartColorAlphaVariance(struct BLRParticle *particle_effect)
void BLRParticle_GetPositionVarianceArray(struct BLRParticle *particle_effect, float out_array[2])
float BLRParticle_GetEndColorAlphaVariance(struct BLRParticle *particle_effect)
void BLRParticle_GetStartColorVariance(struct BLRParticle *particle_effect, float *r, float *g, float *b, float *a)
void BLRParticle_SetYAxisInverted(bool is_y_axis_inverted, float view_height)
This will flip the Y-axis (non-Cartesian coordinates).
void BLRParticle_GetAccelerationVariance(struct BLRParticle *particle_effect, float *x, float *y)
struct BLRParticle BLRParticle
Definition: BlurrrParticle.h:139
void BLRParticle_SetSpinAngle(struct BLRParticle *particle_effect, float angle_in_radians)
float BLRParticle_GetAngularVelocityVariance(struct BLRParticle *particle_effect)
void BLRParticle_SetEmitterDuration(struct BLRParticle *particle_effect, float duration_ms)
float BLRParticle_GetVelocityX(struct BLRParticle *particle_effect)
float BLRParticle_GetStartScaleVariance(struct BLRParticle *particle_effect)
float BLRParticle_GetGlobalScaleX(struct BLRParticle *particle_effect)
Definition: BlurrrParticle.h:145
void BLRParticle_SetEndColorBlue(struct BLRParticle *particle_effect, float b)
float BLRParticle_GetGlobalTranslationX(struct BLRParticle *particle_effect)
float BLRParticle_GetEndScale(struct BLRParticle *particle_effect)
void BLRParticle_SetTexCoordS1(struct BLRParticle *particle_effect, float s1)
void BLRParticle_GetTexCoord(struct BLRParticle *particle_effect, float *s0, float *t0, float *s1, float *t1)
float BLRParticle_GetEndColorAlpha(struct BLRParticle *particle_effect)
void BLRParticle_ResetProperties(struct BLRParticle *particle_effect)
Resets all the properties to the defaults.
void BLRParticle_GetAccelerationArray(struct BLRParticle *particle_effect, float out_array[2])
float BLRParticle_GetLifeDuration(struct BLRParticle *particle_effect)
void BLRParticle_SetEndColorArray(struct BLRParticle *particle_effect, float in_array[4])
void BLRParticle_SetSpinAcceleration(struct BLRParticle *particle_effect, float angle_in_radians)
float BLRParticle_GetStartColorBlue(struct BLRParticle *particle_effect)
float BLRParticle_GetRadialDistanceAccelerationVariance(struct BLRParticle *particle_effect)
bool BLRParticle_IsEmitterEnabled(struct BLRParticle *particle_effect)
float BLRParticle_GetPositionX(struct BLRParticle *particle_effect)
void BLRParticle_GetGlobalTranslation(struct BLRParticle *particle_effect, float *x, float *y)
const char * BLRParticle_GetTextureName1(struct BLRParticle *particle_effect)
float BLRParticle_GetEndColorRedVariance(struct BLRParticle *particle_effect)
void BLRParticle_Free(struct BLRParticle *particle_effect)
void BLRParticle_SetLifeDurationVariance(struct BLRParticle *particle_effect, float life_duration_variance_ms)
void BLRParticle_SetEndColorRed(struct BLRParticle *particle_effect, float r)
void BLRParticle_SetStartScale(struct BLRParticle *particle_effect, float scale)
void BLRParticle_SetWidth(struct BLRParticle *particle_effect, float width)
void BLRParticle_SetGlobalRotation(struct BLRParticle *particle_effect, float radians)
int BLRParticle_GetBlendModePreset(struct BLRParticle *particle_effect)
Gets the blend mode preset.
void BLRParticle_SetPositionXVariance(struct BLRParticle *particle_effect, float x)
uint8_t major
Definition: BlurrrParticle.h:666
void BLRParticle_SetMidColorArray(struct BLRParticle *particle_effect, float in_array[4])
void BLRParticle_SetStartColorGreenVariance(struct BLRParticle *particle_effect, float g)
float BLRParticle_GetPositionY(struct BLRParticle *particle_effect)
const char * BLRParticle_GetTextureName0(struct BLRParticle *particle_effect)
Gets the name of the texture.
void BLRParticle_SetEndColorRedVariance(struct BLRParticle *particle_effect, float r)
float BLRParticle_GetRadialDistanceVelocity(struct BLRParticle *particle_effect)
void BLRParticle_SetMidColorBlueVariance(struct BLRParticle *particle_effect, float b)
void BLRParticle_SetPositionVariance(struct BLRParticle *particle_effect, float x, float y)
void BLRParticle_SetRadialAngleVariance(struct BLRParticle *particle_effect, float angle_in_radians)
void BLRParticle_SetAngularVelocity(struct BLRParticle *particle_effect, float angle_in_radians)
float BLRParticle_GetSpinVelocity(struct BLRParticle *particle_effect)
float BLRParticle_GetMidColorAlpha(struct BLRParticle *particle_effect)
void BLRParticle_SetVelocityYVariance(struct BLRParticle *particle_effect, float y)
void BLRParticle_GetAcceleration(struct BLRParticle *particle_effect, float *x, float *y)
float BLRParticle_GetMidColorBlueVariance(struct BLRParticle *particle_effect)
void BLRParticle_SetSpinVelocityVariance(struct BLRParticle *particle_effect, float angle_in_radians)
float BLRParticle_GetRadialDistanceVelocityVariance(struct BLRParticle *particle_effect)
void BLRParticle_SetMidColor(struct BLRParticle *particle_effect, float r, float g, float b, float a)
float BLRParticle_GetStartColorGreen(struct BLRParticle *particle_effect)
void BLRParticle_SetEndColorGreen(struct BLRParticle *particle_effect, float g)
void BLRParticle_GetTexCoordArray(struct BLRParticle *particle_effect, float out_array[4])
float BLRParticle_GetEndColorBlueVariance(struct BLRParticle *particle_effect)
void BLRParticle_SetRadialDistanceVariance(struct BLRParticle *particle_effect, float angle_in_radians)
void BLRParticle_GetGlobalScaleArray(struct BLRParticle *particle_effect, float out_array[2])
void BLRParticle_SetGlobalScaleY(struct BLRParticle *particle_effect, float y)
void BLRParticle_SetTexCoord(struct BLRParticle *particle_effect, float s0, float t0, float s1, float t1)
void BLRParticle_SetAccelerationVariance(struct BLRParticle *particle_effect, float x, float y)
void BLRParticle_GetGlobalScale(struct BLRParticle *particle_effect, float *x, float *y)
void BLRParticle_SetAccelerationXVariance(struct BLRParticle *particle_effect, float x)
void BLRParticle_SetEmissionRate(struct BLRParticle *particle_effect, float emit_rate)
void BLRParticle_SetVelocityY(struct BLRParticle *particle_effect, float y)
#define BLRPARTICLE_STATIC
Definition: BlurrrParticle.h:101
float BLRParticle_GetAccelerationX(struct BLRParticle *particle_effect)
float BLRParticle_GetTexCoordS0(struct BLRParticle *particle_effect)
uint8_t patch
Definition: BlurrrParticle.h:668
void BLRParticle_SetColorInterpMode(struct BLRParticle *particle_effect, enum BLRParticle_ColorInterp interpolation_mode)
float BLRParticle_GetRadialAngle(struct BLRParticle *particle_effect)
void BLRParticle_SetEndColorVariance(struct BLRParticle *particle_effect, float r, float g, float b, float a)
void BLRParticle_SetAcceleration(struct BLRParticle *particle_effect, float x, float y)
void BLRParticle_SetStartColorAlpha(struct BLRParticle *particle_effect, float a)
void BLRParticle_SetPosition(struct BLRParticle *particle_effect, float x, float y)
void BLRParticle_SetRadialAngle(struct BLRParticle *particle_effect, float angle_in_radians)
void BLRParticle_GetGlobalTranslationArray(struct BLRParticle *particle_effect, float out_array[2])
void BLRParticle_SetAngularAcceleration(struct BLRParticle *particle_effect, float angle_in_radians)
void BLRParticle_SetStartColorAlphaVariance(struct BLRParticle *particle_effect, float a)
float BLRParticle_GetMidColorRedVariance(struct BLRParticle *particle_effect)
float BLRParticle_GetVelocityXVariance(struct BLRParticle *particle_effect)
void BLRParticle_SetMidColorBlue(struct BLRParticle *particle_effect, float b)
void BLRParticle_GetEndColor(struct BLRParticle *particle_effect, float *r, float *g, float *b, float *a)
float BLRParticle_GetRadialAngleVariance(struct BLRParticle *particle_effect)
void BLRParticle_GetEndColorArray(struct BLRParticle *particle_effect, float out_array[4])
float BLRParticle_GetStartColorRed(struct BLRParticle *particle_effect)
float BLRParticle_GetSpinAccelerationVariance(struct BLRParticle *particle_effect)
void BLRParticle_SetVelocityVariance(struct BLRParticle *particle_effect, float x, float y)
void BLRParticle_GetPositionArray(struct BLRParticle *particle_effect, float array[2])
float BLRParticle_GetMidColorRed(struct BLRParticle *particle_effect)
void BLRParticle_GetMidColor(struct BLRParticle *particle_effect, float *r, float *g, float *b, float *a)
void BLRParticle_SetAllocators(void *(*malloc_fn)(size_t sz), void *(*calloc_fn)(size_t count, size_t size), void(*free_fn)(void *ptr), void *(*realloc_fn)(void *ptr, size_t size), void *(*memmove_fn)(void *dst, const void *src, size_t len))
Override memory allocators with your own.
void BLRParticle_SetGlobalTranslationX(struct BLRParticle *particle_effect, float x)
float BLRParticle_GetTexCoordT0(struct BLRParticle *particle_effect)
void BLRParticle_SetGlobalScaleX(struct BLRParticle *particle_effect, float x)
float BLRParticle_GetSpinVelocityVariance(struct BLRParticle *particle_effect)
void BLRParticle_SetSpinEnabled(struct BLRParticle *particle_effect, bool is_spin_enabled)
void BLRParticle_SetEndColor(struct BLRParticle *particle_effect, float r, float g, float b, float a)
void BLRParticle_SetPositionYVariance(struct BLRParticle *particle_effect, float y)
void BLRParticle_GetMidColorVarianceArray(struct BLRParticle *particle_effect, float out_array[4])
float BLRParticle_GetAngularVelocity(struct BLRParticle *particle_effect)
float BLRParticle_GetEndColorBlue(struct BLRParticle *particle_effect)
void BLRParticle_SetRadialDistanceVelocity(struct BLRParticle *particle_effect, float angle_in_radians)
float BLRParticle_GetMidColorGreenVariance(struct BLRParticle *particle_effect)
void BLRParticle_SetEmitterEnabled(struct BLRParticle *particle_effect, bool is_emitter_enabled)
void BLRParticle_SetEndColorAlpha(struct BLRParticle *particle_effect, float a)
float BLRParticle_GetSpinAngleVariance(struct BLRParticle *particle_effect)
void BLRParticle_SetEndColorGreenVariance(struct BLRParticle *particle_effect, float g)
float BLRParticle_GetPositionYVariance(struct BLRParticle *particle_effect)
void BLRParticle_StartEmitter(struct BLRParticle *particle_effect, uint32_t current_time)