bn::affine_bg_pivot_position_hbe_ptr class

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.

Base classes

class hbe_ptr
std::shared_ptr like smart pointer that retains shared ownership of a H-Blank effect.

Public static functions

static auto create_horizontal(affine_bg_ptr bg, const span<const fixed>& deltas_ref) -> affine_bg_pivot_position_hbe_ptr
Creates an affine_bg_pivot_position_hbe_ptr which changes the horizontal position of the affine transformations pivot point of an affine background in each screen horizontal line.
static auto create_vertical(affine_bg_ptr bg, const span<const fixed>& deltas_ref) -> affine_bg_pivot_position_hbe_ptr
Creates an affine_bg_pivot_position_hbe_ptr which changes the vertical position of the affine transformations pivot point of an affine background in each screen horizontal line.
static auto create_horizontal_optional(affine_bg_ptr bg, const span<const fixed>& deltas_ref) -> optional<affine_bg_pivot_position_hbe_ptr>
Creates an affine_bg_pivot_position_hbe_ptr which changes the horizontal position of the affine transformations pivot point of an affine background in each screen horizontal line.
static auto create_vertical_optional(affine_bg_ptr bg, const span<const fixed>& deltas_ref) -> optional<affine_bg_pivot_position_hbe_ptr>
Creates an affine_bg_pivot_position_hbe_ptr which changes the vertical position of the affine transformations pivot point of an affine background in each screen horizontal line.

Public functions

auto bg() const -> const affine_bg_ptr&
Returns the affine background modified by this H-Blank effect.
auto deltas_ref() const -> span<const fixed>
Returns the referenced array of 160 deltas to add to the horizontal or vertical position of the affine transformations pivot point of the managed affine background in each screen horizontal line.
void set_deltas_ref(const span<const fixed>& deltas_ref)
Sets the reference to an array of 160 deltas to add to the horizontal or vertical position of the affine transformations pivot point of the managed affine background in each screen horizontal line.
void reload_deltas_ref()
Rereads the content of the referenced deltas to add to the horizontal or vertical position of the affine transformations pivot point of the managed affine background in each screen horizontal line.
void swap(affine_bg_pivot_position_hbe_ptr& other)
Exchanges the contents of this affine_bg_pivot_position_hbe_ptr with those of the other one.

Friends

void swap(affine_bg_pivot_position_hbe_ptr& a, affine_bg_pivot_position_hbe_ptr& b)
Exchanges the contents of an affine_bg_pivot_position_hbe_ptr with those of another one.

Function documentation

static affine_bg_pivot_position_hbe_ptr bn::affine_bg_pivot_position_hbe_ptr::create_horizontal(affine_bg_ptr bg, const span<const fixed>& deltas_ref)

Creates an affine_bg_pivot_position_hbe_ptr which changes the horizontal position of the affine transformations pivot point of an affine background in each screen horizontal line.

Parameters
bg Affine background to be modified.
deltas_ref Reference to an array of 160 deltas to add to the horizontal position of the affine transformations pivot point of the given affine background in each screen horizontal line.
Returns The requested affine_bg_pivot_position_hbe_ptr.

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

static affine_bg_pivot_position_hbe_ptr bn::affine_bg_pivot_position_hbe_ptr::create_vertical(affine_bg_ptr bg, const span<const fixed>& deltas_ref)

Creates an affine_bg_pivot_position_hbe_ptr which changes the vertical position of the affine transformations pivot point of an affine background in each screen horizontal line.

Parameters
bg Affine background to be modified.
deltas_ref Reference to an array of 160 deltas to add to the vertical position of the affine transformations pivot point of the given affine background in each screen horizontal line.
Returns The requested affine_bg_pivot_position_hbe_ptr.

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

static optional<affine_bg_pivot_position_hbe_ptr> bn::affine_bg_pivot_position_hbe_ptr::create_horizontal_optional(affine_bg_ptr bg, const span<const fixed>& deltas_ref)

Creates an affine_bg_pivot_position_hbe_ptr which changes the horizontal position of the affine transformations pivot point of an affine background in each screen horizontal line.

Parameters
bg Affine background to be modified.
deltas_ref Reference to an array of 160 deltas to add to the horizontal position of the affine transformations pivot point of the given affine background in each screen horizontal line.
Returns The requested affine_bg_pivot_position_hbe_ptr if it could be allocated; bn::nullopt otherwise.

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

static optional<affine_bg_pivot_position_hbe_ptr> bn::affine_bg_pivot_position_hbe_ptr::create_vertical_optional(affine_bg_ptr bg, const span<const fixed>& deltas_ref)

Creates an affine_bg_pivot_position_hbe_ptr which changes the vertical position of the affine transformations pivot point of an affine background in each screen horizontal line.

Parameters
bg Affine background to be modified.
deltas_ref Reference to an array of 160 deltas to add to the vertical position of the affine transformations pivot point of the given affine background in each screen horizontal line.
Returns The requested affine_bg_pivot_position_hbe_ptr if it could be allocated; bn::nullopt otherwise.

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

span<const fixed> bn::affine_bg_pivot_position_hbe_ptr::deltas_ref() const

Returns the referenced array of 160 deltas to add to the horizontal or vertical position of the affine transformations pivot point of the managed affine background in each screen horizontal line.

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

void bn::affine_bg_pivot_position_hbe_ptr::set_deltas_ref(const span<const fixed>& deltas_ref)

Sets the reference to an array of 160 deltas to add to the horizontal or vertical position of the affine transformations pivot point of the managed affine background in each screen horizontal line.

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

void bn::affine_bg_pivot_position_hbe_ptr::reload_deltas_ref()

Rereads the content of the referenced deltas to add to the horizontal or vertical position of the affine transformations pivot point of the managed affine background in each screen horizontal line.

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

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

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

Parameters
other affine_bg_pivot_position_hbe_ptr to exchange the contents with.

void swap(affine_bg_pivot_position_hbe_ptr& a, affine_bg_pivot_position_hbe_ptr& b)

Exchanges the contents of an affine_bg_pivot_position_hbe_ptr with those of another one.

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