Display » Backgrounds » Affine backgrounds module

Backgrounds which can perform affine transformations.

Also known as rotation backgrounds.

Files

file bn_affine_bg_actions.h
file bn_affine_bg_animate_actions.h
file bn_affine_bg_animate_actions_fwd.h
file bn_affine_bg_attributes.h
file bn_affine_bg_attributes_hbe_ptr.h
file bn_affine_bg_builder.h
file bn_affine_bg_dx_register_hbe_ptr.h
file bn_affine_bg_dy_register_hbe_ptr.h
file bn_affine_bg_item.h
file bn_affine_bg_map_cell.h
file bn_affine_bg_map_cell_info.h
file bn_affine_bg_map_item.h
file bn_affine_bg_map_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_bg_pivot_position_hbe_ptr.h
file bn_affine_bg_ptr.h
file bn_affine_bg_tiles_item.h
file bn_affine_bg_tiles_ptr.h

Classes

class bn::affine_bg_visible_manager
Manages if an affine_bg_ptr must be committed to the GBA or not.
class bn::affine_bg_visible_toggle_action
Toggles if an affine_bg_ptr must be committed to the GBA or not when the action is updated a given number of times.
class bn::affine_bg_position_manager
Manages the position of an affine_bg_ptr.
class bn::affine_bg_move_by_action
Modifies the position of an affine_bg_ptr by a given delta.
class bn::affine_bg_move_to_action
Modifies the position of an affine_bg_ptr until it has a given state.
class bn::affine_bg_move_loop_action
Modifies the position of an affine_bg_ptr from a minimum to a maximum. When the position is equal to the given final state, it goes back to its initial state and vice versa.
class bn::affine_bg_move_toggle_action
Changes the position of an affine_bg_ptr when the action is updated a given number of times.
class bn::affine_bg_rotation_manager
Manages the rotation angle of an affine_bg_ptr.
class bn::affine_bg_rotate_by_action
Modifies the rotation angle of an affine_bg_ptr by delta_rotation_angle. When the rotation angle is over 360, it goes back to 0 and vice versa.
class bn::affine_bg_rotate_to_action
Modifies the rotation angle of an affine_bg_ptr until it has a given state.
class bn::affine_bg_rotate_loop_action
Modifies the rotation angle of an affine_bg_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::affine_bg_rotate_toggle_action
Changes the rotation angle of an affine_bg_ptr when the action is updated a given number of times.
class bn::affine_bg_horizontal_scale_manager
Manages the horizontal scale of an affine_bg_ptr.
class bn::affine_bg_horizontal_scale_to_action
Modifies the horizontal scale of an affine_bg_ptr until it has a given state.
class bn::affine_bg_horizontal_scale_loop_action
Modifies the horizontal scale of an affine_bg_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::affine_bg_horizontal_scale_toggle_action
Changes the horizontal scale of an affine_bg_ptr when the action is updated a given number of times.
class bn::affine_bg_vertical_scale_manager
Manages the vertical scale of an affine_bg_ptr.
class bn::affine_bg_vertical_scale_to_action
Modifies the vertical scale of an affine_bg_ptr until it has a given state.
class bn::affine_bg_vertical_scale_loop_action
Modifies the vertical scale of an affine_bg_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::affine_bg_vertical_scale_toggle_action
Changes the vertical scale of an affine_bg_ptr when the action is updated a given number of times.
class bn::affine_bg_scale_manager
Manages the scale of an affine_bg_ptr.
class bn::affine_bg_scale_to_action
Modifies the scale of an affine_bg_ptr until it has a given state.
class bn::affine_bg_scale_loop_action
Modifies the scale of an affine_bg_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::affine_bg_scale_toggle_action
Changes the scale of an affine_bg_ptr when the action is updated a given number of times.
class bn::affine_bg_horizontal_shear_manager
Manages the horizontal shear of an affine_bg_ptr.
class bn::affine_bg_horizontal_shear_to_action
Modifies the horizontal shear of an affine_bg_ptr until it has a given state.
class bn::affine_bg_horizontal_shear_loop_action
Modifies the horizontal shear of an affine_bg_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::affine_bg_horizontal_shear_toggle_action
Changes the horizontal shear of an affine_bg_ptr when the action is updated a given number of times.
class bn::affine_bg_vertical_shear_manager
Manages the vertical shear of an affine_bg_ptr.
class bn::affine_bg_vertical_shear_to_action
Modifies the vertical shear of an affine_bg_ptr until it has a given state.
class bn::affine_bg_vertical_shear_loop_action
Modifies the vertical shear of an affine_bg_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::affine_bg_vertical_shear_toggle_action
Changes the vertical shear of an affine_bg_ptr when the action is updated a given number of times.
class bn::affine_bg_shear_manager
Manages the shear of an affine_bg_ptr.
class bn::affine_bg_shear_to_action
Modifies the shear of an affine_bg_ptr until it has a given state.
class bn::affine_bg_shear_loop_action
Modifies the shear of an affine_bg_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::affine_bg_shear_toggle_action
Changes the shear of an affine_bg_ptr when the action is updated a given number of times.
class bn::affine_bg_horizontal_flip_manager
Manages if an affine_bg_ptr is flipped in its horizontal axis or not.
class bn::affine_bg_horizontal_flip_toggle_action
Toggles if an affine_bg_ptr must be flipped in the horizontal axis or not when the action is updated a given number of times.
class bn::affine_bg_vertical_flip_manager
Manages if an affine_bg_ptr is flipped in its vertical axis or not.
class bn::affine_bg_vertical_flip_toggle_action
Toggles if an affine_bg_ptr must be flipped in the vertical axis or not when the action is updated a given number of times.
class bn::affine_bg_pivot_position_manager
Manages the position of the pivot of an affine_bg_ptr.
class bn::affine_bg_move_pivot_by_action
Modifies the position of the pivot of an affine_bg_ptr by a given delta.
class bn::affine_bg_move_pivot_to_action
Modifies the position of the pivot of an affine_bg_ptr until it has a given state.
class bn::affine_bg_move_pivot_loop_action
Modifies the position of the pivot of an affine_bg_ptr from a minimum to a maximum. When the position is equal to the given final state, it goes back to its initial state and vice versa.
class bn::affine_bg_move_pivot_toggle_action
Changes the position of the pivot of an affine_bg_ptr when the action is updated a given number of times.
class bn::affine_bg_wrapping_manager
Manages if an affine background must wrap around at the edges or not.
class bn::affine_bg_wrapping_toggle_action
Toggles if an affine_bg_ptr must wrap around at the edges or not when the action is updated a given number of times.
class bn::affine_bg_mosaic_manager
Manages if the mosaic effect must be applied to an affine_bg_ptr or not.
class bn::affine_bg_mosaic_toggle_action
Toggles if the mosaic effect must be applied to an affine_bg_ptr or not when the action is updated a given number of times.
class bn::affine_bg_blending_manager
Manages if blending must be applied to an affine_bg_ptr or not.
class bn::affine_bg_blending_toggle_action
Toggles if blending must be applied to an affine_bg_ptr or not when the action is updated a given number of times.
class bn::affine_bg_blending_top_manager
Manages if an affine_bg_ptr must be part of the blending top layer or not.
class bn::affine_bg_blending_top_toggle_action
Toggles if an affine_bg_ptr is part of the blending top layer or not when the action is updated a given number of times.
class bn::affine_bg_blending_bottom_manager
Manages if an affine_bg_ptr must be part of the blending bottom layer or not.
class bn::affine_bg_blending_bottom_toggle_action
Toggles if an affine_bg_ptr is part of the blending bottom layer or not when the action is updated a given number of times.
class bn::iaffine_bg_animate_action
Base class of bn::affine_bg_animate_action.
class bn::iaffine_bg_cached_animate_action
Base class of bn::affine_bg_cached_animate_action.
template<int MaxSize>
class bn::affine_bg_animate_action
Changes the map of an affine_bg_ptr when the action is updated a given number of times.
template<int MaxSize>
class bn::affine_bg_cached_animate_action
Changes the map of an affine_bg_ptr when the action is updated a given number of times.
class bn::affine_bg_attributes
Manages the attributes to commit to the GBA register of an affine background.
class bn::affine_bg_attributes_hbe_ptr
std::shared_ptr like smart pointer that retains shared ownership of a H-Blank effect which changes the attributes to commit to the GBA register of an affine background in each screen horizontal line.
class bn::affine_bg_builder
Creates affine_bg_map_ptr objects with custom attributes.
class bn::affine_bg_dx_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 the fifth GBA register of an affine_bg_ptr in each screen horizontal line.
class bn::affine_bg_dy_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 the sixth GBA register of an affine_bg_ptr in each screen horizontal line.
class bn::affine_bg_item
Contains the required information to generate affine backgrounds and their maps.
class bn::affine_bg_map_item
Contains the required information to generate affine background maps.
class bn::affine_bg_map_ptr
std::shared_ptr like smart pointer that retains shared ownership of an affine background map.
template<>
struct bn::hash<affine_bg_map_ptr>
Hash support for affine_bg_map_ptr.
class bn::affine_bg_mat_attributes
Contains the attributes which define the position and the transformation matrix of an affine background.
class bn::affine_bg_mat_attributes_hbe_ptr
std::shared_ptr like smart pointer that retains shared ownership of a H-Blank effect which changes the attributes which define the position and the transformation matrix of an affine_bg_ptr in each screen horizontal line.
template<>
struct bn::hash<affine_bg_mat_attributes_hbe_ptr>
Hash support for affine_bg_mat_attributes_hbe_ptr.
class bn::affine_bg_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 an affine_bg_ptr in each screen horizontal line.
class bn::affine_bg_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 an affine_bg_ptr in each screen horizontal line.
class bn::affine_bg_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 an affine_bg_ptr in each screen horizontal line.
class bn::affine_bg_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 an affine_bg_ptr in each screen horizontal line.
class bn::affine_bg_pivot_position_hbe_ptr
std::shared_ptr like smart pointer that retains shared ownership of a H-Blank effect which changes the position of the affine transformations pivot point of an affine background in each screen horizontal line.
class bn::affine_bg_ptr
std::shared_ptr like smart pointer that retains shared ownership of an affine background.
template<>
struct bn::hash<affine_bg_ptr>
Hash support for affine_bg_ptr.
class bn::affine_bg_tiles_item
Contains the required information to generate affine background tiles.
class bn::affine_bg_tiles_ptr
std::shared_ptr like smart pointer that retains shared ownership of the tiles of an affine background.
template<>
struct bn::hash<affine_bg_tiles_ptr>
Hash support for affine_bg_tiles_ptr.

Functions

template<typename ... Args>
auto create_affine_bg_animate_action_once(const affine_bg_ptr& affine_bg, int wait_updates, const affine_bg_map_item& map_item, Args ... map_indexes) -> auto
Generates an affine_bg_animate_action which loops over the given affine_bg maps only once.
template<typename ... Args>
auto create_affine_bg_animate_action_once(affine_bg_ptr&& affine_bg, int wait_updates, const affine_bg_map_item& map_item, Args ... map_indexes) -> auto
Generates an affine_bg_animate_action which loops over the given affine_bg maps only once.
template<typename ... Args>
auto create_affine_bg_animate_action_forever(const affine_bg_ptr& affine_bg, int wait_updates, const affine_bg_map_item& map_item, Args ... map_indexes) -> auto
Generates an affine_bg_animate_action which loops over the given affine_bg maps forever.
template<typename ... Args>
auto create_affine_bg_animate_action_forever(affine_bg_ptr&& affine_bg, int wait_updates, const affine_bg_map_item& map_item, Args ... map_indexes) -> auto
Generates an affine_bg_animate_action which loops over the given affine_bg maps forever.
template<typename ... Args>
auto create_affine_bg_cached_animate_action_once(const affine_bg_ptr& affine_bg, int wait_updates, const affine_bg_map_item& map_item, Args ... map_indexes) -> auto
Generates an affine_bg_cached_animate_action which loops over the given affine_bg maps only once.
template<typename ... Args>
auto create_affine_bg_cached_animate_action_once(affine_bg_ptr&& affine_bg, int wait_updates, const affine_bg_map_item& map_item, Args ... map_indexes) -> auto
Generates an affine_bg_cached_animate_action which loops over the given affine_bg maps only once.
template<typename ... Args>
auto create_affine_bg_cached_animate_action_forever(const affine_bg_ptr& affine_bg, int wait_updates, const affine_bg_map_item& map_item, Args ... map_indexes) -> auto
Generates an affine_bg_cached_animate_action which loops over the given affine_bg maps forever.
template<typename ... Args>
auto create_affine_bg_cached_animate_action_forever(affine_bg_ptr&& affine_bg, int wait_updates, const affine_bg_map_item& map_item, Args ... map_indexes) -> auto
Generates an affine_bg_cached_animate_action which loops over the given affine_bg maps forever.

Function documentation

template<typename ... Args>
auto create_affine_bg_animate_action_once(const affine_bg_ptr& affine_bg, int wait_updates, const affine_bg_map_item& map_item, Args ... map_indexes)

Generates an affine_bg_animate_action which loops over the given affine_bg maps only once.

Parameters
affine_bg affine_bg_ptr to copy.
wait_updates Number of times the action must be updated before changing the map of the given affine_bg_ptr.
map_item It creates the new map to use by the given affine_bg_ptr.
map_indexes Indexes of the maps to reference in map_item.
Returns The requested affine_bg_animate_action.

template<typename ... Args>
auto create_affine_bg_animate_action_once(affine_bg_ptr&& affine_bg, int wait_updates, const affine_bg_map_item& map_item, Args ... map_indexes)

Generates an affine_bg_animate_action which loops over the given affine_bg maps only once.

Parameters
affine_bg affine_bg_ptr to move.
wait_updates Number of times the action must be updated before changing the map of the given affine_bg_ptr.
map_item It creates the new map to use by the given affine_bg_ptr.
map_indexes Indexes of the maps to reference in map_item.
Returns The requested affine_bg_animate_action.

template<typename ... Args>
auto create_affine_bg_animate_action_forever(const affine_bg_ptr& affine_bg, int wait_updates, const affine_bg_map_item& map_item, Args ... map_indexes)

Generates an affine_bg_animate_action which loops over the given affine_bg maps forever.

Parameters
affine_bg affine_bg_ptr to copy.
wait_updates Number of times the action must be updated before changing the map of the given affine_bg_ptr.
map_item It creates the new map to use by the given affine_bg_ptr.
map_indexes Indexes of the maps to reference in map_item.
Returns The requested affine_bg_animate_action.

template<typename ... Args>
auto create_affine_bg_animate_action_forever(affine_bg_ptr&& affine_bg, int wait_updates, const affine_bg_map_item& map_item, Args ... map_indexes)

Generates an affine_bg_animate_action which loops over the given affine_bg maps forever.

Parameters
affine_bg affine_bg_ptr to move.
wait_updates Number of times the action must be updated before changing the map of the given affine_bg_ptr.
map_item It creates the new map to use by the given affine_bg_ptr.
map_indexes Indexes of the maps to reference in map_item.
Returns The requested affine_bg_animate_action.

template<typename ... Args>
auto create_affine_bg_cached_animate_action_once(const affine_bg_ptr& affine_bg, int wait_updates, const affine_bg_map_item& map_item, Args ... map_indexes)

Generates an affine_bg_cached_animate_action which loops over the given affine_bg maps only once.

Parameters
affine_bg affine_bg_ptr to copy.
wait_updates Number of times the action must be updated before changing the map of the given affine_bg_ptr.
map_item It creates the new map to use by the given affine_bg_ptr.
map_indexes Indexes of the maps to reference in map_item.
Returns The requested affine_bg_cached_animate_action.

template<typename ... Args>
auto create_affine_bg_cached_animate_action_once(affine_bg_ptr&& affine_bg, int wait_updates, const affine_bg_map_item& map_item, Args ... map_indexes)

Generates an affine_bg_cached_animate_action which loops over the given affine_bg maps only once.

Parameters
affine_bg affine_bg_ptr to move.
wait_updates Number of times the action must be updated before changing the map of the given affine_bg_ptr.
map_item It creates the new map to use by the given affine_bg_ptr.
map_indexes Indexes of the maps to reference in map_item.
Returns The requested affine_bg_cached_animate_action.

template<typename ... Args>
auto create_affine_bg_cached_animate_action_forever(const affine_bg_ptr& affine_bg, int wait_updates, const affine_bg_map_item& map_item, Args ... map_indexes)

Generates an affine_bg_cached_animate_action which loops over the given affine_bg maps forever.

Parameters
affine_bg affine_bg_ptr to copy.
wait_updates Number of times the action must be updated before changing the map of the given affine_bg_ptr.
map_item It creates the new map to use by the given affine_bg_ptr.
map_indexes Indexes of the maps to reference in map_item.
Returns The requested affine_bg_cached_animate_action.

template<typename ... Args>
auto create_affine_bg_cached_animate_action_forever(affine_bg_ptr&& affine_bg, int wait_updates, const affine_bg_map_item& map_item, Args ... map_indexes)

Generates an affine_bg_cached_animate_action which loops over the given affine_bg maps forever.

Parameters
affine_bg affine_bg_ptr to move.
wait_updates Number of times the action must be updated before changing the map of the given affine_bg_ptr.
map_item It creates the new map to use by the given affine_bg_ptr.
map_indexes Indexes of the maps to reference in map_item.
Returns The requested affine_bg_cached_animate_action.