bn::palette_bitmap_bg_mat_attributes_hbe_ptr class

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 a palette_bitmap_bg_ptr in each screen horizontal line.

Public static functions

static auto create(const palette_bitmap_bg_ptr& bg, const span<const affine_bg_mat_attributes>& attributes_ref) -> palette_bitmap_bg_mat_attributes_hbe_ptr
Creates a palette_bitmap_bg_mat_attributes_hbe_ptr which changes the attributes which define the position and the transformation matrix of a palette_bitmap_bg_ptr in each screen horizontal line.
static auto create_optional(const palette_bitmap_bg_ptr& bg, const span<const affine_bg_mat_attributes>& attributes_ref) -> optional<palette_bitmap_bg_mat_attributes_hbe_ptr>
Creates a palette_bitmap_bg_mat_attributes_hbe_ptr which changes the attributes which define the position and the transformation matrix of a palette_bitmap_bg_ptr in each screen horizontal line.

Public functions

auto id() const -> int
Returns the internal id.
auto visible() const -> bool
Indicates if this H-Blank effect must be committed to the GBA or not.
void set_visible(bool visible)
Sets if this H-Blank effect must be committed to the GBA or not.
auto bg() const -> const palette_bitmap_bg_ptr&
Returns the palette_bitmap_bg_ptr modified by this H-Blank effect.
auto attributes_ref() const -> span<const affine_bg_mat_attributes>
Returns the referenced array of 160 affine_bg_mat_attributes objects to set to the given palette_bitmap_bg_ptr in each screen horizontal line.
void set_attributes_ref(const span<const affine_bg_mat_attributes>& attributes_ref)
Sets the reference to an array of 160 affine_bg_mat_attributes objects to set to the given palette_bitmap_bg_ptr in each screen horizontal line.
void reload_attributes_ref()
Rereads the content of the referenced attributes to set to the given palette_bitmap_bg_ptr in each screen horizontal line.
void swap(palette_bitmap_bg_mat_attributes_hbe_ptr& other)
Exchanges the contents of this palette_bitmap_bg_mat_attributes_hbe_ptr with those of the other one.

Friends

void swap(palette_bitmap_bg_mat_attributes_hbe_ptr& a, palette_bitmap_bg_mat_attributes_hbe_ptr& b)
Exchanges the contents of a palette_bitmap_bg_mat_attributes_hbe_ptr with those of another one.
auto operator==(const palette_bitmap_bg_mat_attributes_hbe_ptr& a, const palette_bitmap_bg_mat_attributes_hbe_ptr& b) -> bool
Equal operator.
auto operator!=(const palette_bitmap_bg_mat_attributes_hbe_ptr& a, const palette_bitmap_bg_mat_attributes_hbe_ptr& b) -> bool
Not equal operator.

Function documentation

static palette_bitmap_bg_mat_attributes_hbe_ptr bn::palette_bitmap_bg_mat_attributes_hbe_ptr::create(const palette_bitmap_bg_ptr& bg, const span<const affine_bg_mat_attributes>& attributes_ref)

Creates a palette_bitmap_bg_mat_attributes_hbe_ptr which changes the attributes which define the position and the transformation matrix of a palette_bitmap_bg_ptr in each screen horizontal line.

Parameters
bg palette_bitmap_bg_ptr to be modified.
attributes_ref Reference to an array of 160 affine_bg_mat_attributes objects with the attributes to set to the given palette_bitmap_bg_ptr in each screen horizontal line.
Returns The requested palette_bitmap_bg_mat_attributes_hbe_ptr.

The attributes are not copied but referenced, so they should outlive the palette_bitmap_bg_mat_attributes_hbe_ptr to avoid dangling references.

static optional<palette_bitmap_bg_mat_attributes_hbe_ptr> bn::palette_bitmap_bg_mat_attributes_hbe_ptr::create_optional(const palette_bitmap_bg_ptr& bg, const span<const affine_bg_mat_attributes>& attributes_ref)

Creates a palette_bitmap_bg_mat_attributes_hbe_ptr which changes the attributes which define the position and the transformation matrix of a palette_bitmap_bg_ptr in each screen horizontal line.

Parameters
bg palette_bitmap_bg_ptr to be modified.
attributes_ref Reference to an array of 160 affine_bg_mat_attributes objects with the attributes to set to the given palette_bitmap_bg_ptr in each screen horizontal line.
Returns The requested palette_bitmap_bg_mat_attributes_hbe_ptr if it could be allocated; bn::nullopt otherwise.

The attributes are not copied but referenced, so they should outlive the palette_bitmap_bg_mat_attributes_hbe_ptr to avoid dangling references.

span<const affine_bg_mat_attributes> bn::palette_bitmap_bg_mat_attributes_hbe_ptr::attributes_ref() const

Returns the referenced array of 160 affine_bg_mat_attributes objects to set to the given palette_bitmap_bg_ptr in each screen horizontal line.

The attributes are not copied but referenced, so they should outlive the palette_bitmap_bg_mat_attributes_hbe_ptr to avoid dangling references.

void bn::palette_bitmap_bg_mat_attributes_hbe_ptr::set_attributes_ref(const span<const affine_bg_mat_attributes>& attributes_ref)

Sets the reference to an array of 160 affine_bg_mat_attributes objects to set to the given palette_bitmap_bg_ptr in each screen horizontal line.

The attributes are not copied but referenced, so they should outlive the palette_bitmap_bg_mat_attributes_hbe_ptr to avoid dangling references.

void bn::palette_bitmap_bg_mat_attributes_hbe_ptr::reload_attributes_ref()

Rereads the content of the referenced attributes to set to the given palette_bitmap_bg_ptr in each screen horizontal line.

The attributes are not copied but referenced, so they should outlive the palette_bitmap_bg_mat_attributes_hbe_ptr to avoid dangling references.

void bn::palette_bitmap_bg_mat_attributes_hbe_ptr::swap(palette_bitmap_bg_mat_attributes_hbe_ptr& other)

Exchanges the contents of this palette_bitmap_bg_mat_attributes_hbe_ptr with those of the other one.

Parameters
other palette_bitmap_bg_mat_attributes_hbe_ptr to exchange the contents with.

void swap(palette_bitmap_bg_mat_attributes_hbe_ptr& a, palette_bitmap_bg_mat_attributes_hbe_ptr& b)

Exchanges the contents of a palette_bitmap_bg_mat_attributes_hbe_ptr with those of another one.

Parameters
a First palette_bitmap_bg_mat_attributes_hbe_ptr to exchange the contents with.
b Second palette_bitmap_bg_mat_attributes_hbe_ptr to exchange the contents with.

bool operator==(const palette_bitmap_bg_mat_attributes_hbe_ptr& a, const palette_bitmap_bg_mat_attributes_hbe_ptr& b)

Equal operator.

Parameters
a First palette_bitmap_bg_mat_attributes_hbe_ptr to compare.
b Second palette_bitmap_bg_mat_attributes_hbe_ptr to compare.
Returns true if the first palette_bitmap_bg_mat_attributes_hbe_ptr is equal to the second one, otherwise false.

bool operator!=(const palette_bitmap_bg_mat_attributes_hbe_ptr& a, const palette_bitmap_bg_mat_attributes_hbe_ptr& b)

Not equal operator.

Parameters
a First palette_bitmap_bg_mat_attributes_hbe_ptr to compare.
b Second palette_bitmap_bg_mat_attributes_hbe_ptr to compare.
Returns true if the first palette_bitmap_bg_mat_attributes_hbe_ptr is not equal to the second one, otherwise false.