1al_use_projection_transform(3) al_use_projection_transform(3)
2
3
4
6 al_use_projection_transform - Allegro 5 API
7
9 #include <allegro5/allegro.h>
10
11 void al_use_projection_transform(const ALLEGRO_TRANSFORM *trans)
12
14 Sets the projection transformation to be used for the drawing opera‐
15 tions on the target bitmap (each bitmap maintains its own projection
16 transformation). Every drawing operation after this call will be
17 transformed using this transformation. To return default behavior,
18 call this function with an orthographic transform like so:
19
20 ALLEGRO_TRANSFORM trans;
21 al_identity_transform(&trans);
22 al_orthographic_transform(&trans, 0, 0, -1.0, al_get_bitmap_width(bitmap),
23 al_get_bitmap_height(bitmap), 1.0);
24
25 al_set_target_bitmap(bitmap);
26 al_use_projection_transform(&trans);
27
28 The orthographic transformation above is the default projection trans‐
29 form.
30
31 This function does nothing if there is no target bitmap. This function
32 also does nothing if the bitmap is a memory bitmap (i.e. memory bitmaps
33 always use an orthographic transform like the snippet above). Note
34 that the projection transform will be reset to default if a video bit‐
35 map is converted to a memory bitmap. Additionally, if the bitmap in
36 question is the backbuffer, it’s projection transformation will be re‐
37 set to default if it is resized. Lastly, when you draw a memory bitmap
38 to a video bitmap with a custom projection transform, this transforma‐
39 tion will be ignored (i.e. it’ll be as if the projection transform of
40 the target bitmap was temporarily reset to default).
41
42 The parameter is passed by reference as an optimization to avoid the
43 overhead of stack copying. The reference will not be stored in the Al‐
44 legro library so it is safe to pass references to local variables.
45
47 5.1.9
48
50 al_get_current_projection_transform(3), al_perspective_transform(3),
51 al_orthographic_transform(3)
52
53
54
55Allegro reference manual al_use_projection_transform(3)