37 lines
1.3 KiB
C
37 lines
1.3 KiB
C
|
#ifndef __al_included_allegro5_transformations_h
|
||
|
#define __al_included_allegro5_transformations_h
|
||
|
|
||
|
#include "allegro5/display.h"
|
||
|
|
||
|
#ifdef __cplusplus
|
||
|
extern "C" {
|
||
|
#endif
|
||
|
|
||
|
/* Type: ALLEGRO_TRANSFORM
|
||
|
*/
|
||
|
typedef struct ALLEGRO_TRANSFORM ALLEGRO_TRANSFORM;
|
||
|
|
||
|
struct ALLEGRO_TRANSFORM {
|
||
|
float m[4][4];
|
||
|
};
|
||
|
|
||
|
/* Transformations*/
|
||
|
AL_FUNC(void, al_use_transform, (const ALLEGRO_TRANSFORM* trans));
|
||
|
AL_FUNC(void, al_copy_transform, (ALLEGRO_TRANSFORM* dest, const ALLEGRO_TRANSFORM* src));
|
||
|
AL_FUNC(void, al_identity_transform, (ALLEGRO_TRANSFORM* trans));
|
||
|
AL_FUNC(void, al_build_transform, (ALLEGRO_TRANSFORM* trans, float x, float y, float sx, float sy, float theta));
|
||
|
AL_FUNC(void, al_translate_transform, (ALLEGRO_TRANSFORM* trans, float x, float y));
|
||
|
AL_FUNC(void, al_rotate_transform, (ALLEGRO_TRANSFORM* trans, float theta));
|
||
|
AL_FUNC(void, al_scale_transform, (ALLEGRO_TRANSFORM* trans, float sx, float sy));
|
||
|
AL_FUNC(void, al_transform_coordinates, (const ALLEGRO_TRANSFORM* trans, float* x, float* y));
|
||
|
AL_FUNC(void, al_compose_transform, (ALLEGRO_TRANSFORM* trans, const ALLEGRO_TRANSFORM* other));
|
||
|
AL_FUNC(const ALLEGRO_TRANSFORM*, al_get_current_transform, (void));
|
||
|
AL_FUNC(void, al_invert_transform, (ALLEGRO_TRANSFORM *trans));
|
||
|
AL_FUNC(int, al_check_inverse, (const ALLEGRO_TRANSFORM *trans, float tol));
|
||
|
|
||
|
#ifdef __cplusplus
|
||
|
}
|
||
|
#endif
|
||
|
|
||
|
#endif
|