Display » Affine transformation matrices module

Used to apply two-dimensional geometric transformations like rotating and/or scaling to sprites and backgrounds.

Files

file bn_affine_bg_dx_register_hbe_ptr.h
file bn_affine_bg_dy_register_hbe_ptr.h
file bn_affine_bg_mat_attributes.h
file bn_affine_bg_mat_attributes_hbe_ptr.h
file bn_affine_bg_pa_register_hbe_ptr.h
file bn_affine_bg_pb_register_hbe_ptr.h
file bn_affine_bg_pc_register_hbe_ptr.h
file bn_affine_bg_pd_register_hbe_ptr.h
file bn_affine_mat_attributes.h
file bn_sprite_affine_mat_actions.h
file bn_sprite_affine_mat_attributes_hbe_ptr.h
file bn_sprite_affine_mat_pa_register_hbe_ptr.h
file bn_sprite_affine_mat_pb_register_hbe_ptr.h
file bn_sprite_affine_mat_pc_register_hbe_ptr.h
file bn_sprite_affine_mat_pd_register_hbe_ptr.h
file bn_sprite_affine_mat_ptr.h
file bn_sprite_affine_mats.h

Namespaces

namespace bn
Main Butano namespace.
namespace bn::sprite_affine_mats
Sprite affine transformation matrices related functions.

Classes

class bn::affine_bg_mat_attributes
Contains the attributes which define the position and the transformation matrix of an affine background.
template<>
struct bn::hash<affine_bg_mat_attributes_hbe_ptr>
Hash support for affine_bg_mat_attributes_hbe_ptr.
class bn::affine_mat_attributes
Contains the attributes which define an affine transformation matrix.
class bn::sprite_affine_mat_rotation_manager
Manages the rotation angle of a sprite_affine_mat_ptr.
class bn::sprite_affine_mat_rotate_by_action
Modifies the rotation angle of a sprite_affine_mat_ptr by delta_rotation_angle. When the rotation angle is over 360, it goes back to 0 and vice versa.
class bn::sprite_affine_mat_rotate_to_action
Modifies the rotation angle of a sprite_affine_mat_ptr until it has a given state.
class bn::sprite_affine_mat_rotate_loop_action
Modifies the rotation angle of a sprite_affine_mat_ptr from a minimum to a maximum. When the rotation angle is equal to the given final state, it goes back to its initial state and vice versa.
class bn::sprite_affine_mat_rotate_toggle_action
Changes the rotation angle of a sprite_affine_mat_ptr when the action is updated a given number of times.
class bn::sprite_affine_mat_horizontal_scale_manager
Manages the horizontal scale of a sprite_affine_mat_ptr.
class bn::sprite_affine_mat_horizontal_scale_to_action
Modifies the horizontal scale of a sprite_affine_mat_ptr until it has a given state.
class bn::sprite_affine_mat_horizontal_scale_loop_action
Modifies the horizontal scale of a sprite_affine_mat_ptr from a minimum to a maximum. When the horizontal scale is equal to the given final state, it goes back to its initial state and vice versa.
class bn::sprite_affine_mat_horizontal_scale_toggle_action
Changes the horizontal scale of a sprite_affine_mat_ptr when the action is updated a given number of times.
class bn::sprite_affine_mat_vertical_scale_manager
Manages the vertical scale of a sprite_affine_mat_ptr.
class bn::sprite_affine_mat_vertical_scale_to_action
Modifies the vertical scale of a sprite_affine_mat_ptr until it has a given state.
class bn::sprite_affine_mat_vertical_scale_loop_action
Modifies the vertical scale of a sprite_affine_mat_ptr from a minimum to a maximum. When the vertical scale is equal to the given final state, it goes back to its initial state and vice versa.
class bn::sprite_affine_mat_vertical_scale_toggle_action
Changes the vertical scale of a sprite_affine_mat_ptr when the action is updated a given number of times.
class bn::sprite_affine_mat_scale_manager
Manages the scale of a sprite_affine_mat_ptr.
class bn::sprite_affine_mat_scale_to_action
Modifies the scale of a sprite_affine_mat_ptr until it has a given state.
class bn::sprite_affine_mat_scale_loop_action
Modifies the scale of a sprite_affine_mat_ptr from a minimum to a maximum. When the scale is equal to the given final state, it goes back to its initial state and vice versa.
class bn::sprite_affine_mat_scale_toggle_action
Changes the scale of a sprite_affine_mat_ptr when the action is updated a given number of times.
class bn::sprite_affine_mat_horizontal_shear_manager
Manages the horizontal shear of a sprite_affine_mat_ptr.
class bn::sprite_affine_mat_horizontal_shear_to_action
Modifies the horizontal shear of a sprite_affine_mat_ptr until it has a given state.
class bn::sprite_affine_mat_horizontal_shear_loop_action
Modifies the horizontal shear of a sprite_affine_mat_ptr from a minimum to a maximum. When the horizontal shear is equal to the given final state, it goes back to its initial state and vice versa.
class bn::sprite_affine_mat_horizontal_shear_toggle_action
Changes the horizontal shear of a sprite_affine_mat_ptr when the action is updated a given number of times.
class bn::sprite_affine_mat_vertical_shear_manager
Manages the vertical shear of a sprite_affine_mat_ptr.
class bn::sprite_affine_mat_vertical_shear_to_action
Modifies the vertical shear of a sprite_affine_mat_ptr until it has a given state.
class bn::sprite_affine_mat_vertical_shear_loop_action
Modifies the vertical shear of a sprite_affine_mat_ptr from a minimum to a maximum. When the vertical shear is equal to the given final state, it goes back to its initial state and vice versa.
class bn::sprite_affine_mat_vertical_shear_toggle_action
Changes the vertical shear of a sprite_affine_mat_ptr when the action is updated a given number of times.
class bn::sprite_affine_mat_shear_manager
Manages the shear of a sprite_affine_mat_ptr.
class bn::sprite_affine_mat_shear_to_action
Modifies the shear of a sprite_affine_mat_ptr until it has a given state.
class bn::sprite_affine_mat_shear_loop_action
Modifies the shear of a sprite_affine_mat_ptr from a minimum to a maximum. When the shear is equal to the given final state, it goes back to its initial state and vice versa.
class bn::sprite_affine_mat_shear_toggle_action
Changes the shear of a sprite_affine_mat_ptr when the action is updated a given number of times.
class bn::sprite_affine_mat_horizontal_flip_manager
Manages if a sprite_affine_mat_ptr is flipped in its horizontal axis or not.
class bn::sprite_affine_mat_horizontal_flip_toggle_action
Toggles if a sprite_affine_mat_ptr must be flipped in the horizontal axis or not when the action is updated a given number of times.
class bn::sprite_affine_mat_vertical_flip_manager
Manages if a sprite_affine_mat_ptr is flipped in its vertical axis or not.
class bn::sprite_affine_mat_vertical_flip_toggle_action
Toggles if a sprite_affine_mat_ptr must be flipped in the vertical axis or not when the action is updated a given number of times.
class bn::sprite_affine_mat_attributes_hbe_ptr
std::shared_ptr like smart pointer that retains shared ownership of a H-Blank effect which changes the attributes of a sprite_affine_mat_ptr in each screen horizontal line.
template<>
struct bn::hash<sprite_affine_mat_attributes_hbe_ptr>
Hash support for sprite_affine_mat_attributes_hbe_ptr.
class bn::sprite_affine_mat_pa_register_hbe_ptr
std::shared_ptr like smart pointer that retains shared ownership of a H-Blank effect which changes the attributes or the values to commit to the first GBA register of a sprite_affine_mat_ptr in each screen horizontal line.
class bn::sprite_affine_mat_pb_register_hbe_ptr
std::shared_ptr like smart pointer that retains shared ownership of a H-Blank effect which changes the attributes or the values to commit to the second GBA register of a sprite_affine_mat_ptr in each screen horizontal line.
class bn::sprite_affine_mat_pc_register_hbe_ptr
std::shared_ptr like smart pointer that retains shared ownership of a H-Blank effect which changes the attributes or the values to commit to the third GBA register of a sprite_affine_mat_ptr in each screen horizontal line.
class bn::sprite_affine_mat_pd_register_hbe_ptr
std::shared_ptr like smart pointer that retains shared ownership of a H-Blank effect which changes the attributes or the values to commit to the fourth GBA register of a sprite_affine_mat_ptr in each screen horizontal line.
class bn::sprite_affine_mat_ptr
std::shared_ptr like smart pointer that retains shared ownership of a sprite affine transformation matrix.
template<>
struct bn::hash<sprite_affine_mat_ptr>
Hash support for sprite_affine_mat_ptr.