bn::rect_window_boundaries_hbe_ptr class

std::shared_ptr like smart pointer that retains shared ownership of a H-Blank effect which changes the boundaries of a rect window 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(rect_window window, const span<const pair<fixed, fixed>>& deltas_ref) -> rect_window_boundaries_hbe_ptr
Creates a rect_window_boundaries_hbe_ptr which changes the horizontal boundaries of a rect window in each screen horizontal line.
static auto create_vertical(rect_window window, const span<const pair<fixed, fixed>>& deltas_ref) -> rect_window_boundaries_hbe_ptr
Creates a rect_window_boundaries_hbe_ptr which changes the vertical boundaries of a rect window in each screen vertical line.
static auto create_horizontal_optional(rect_window window, const span<const pair<fixed, fixed>>& deltas_ref) -> optional<rect_window_boundaries_hbe_ptr>
Creates a rect_window_boundaries_hbe_ptr which changes the horizontal boundaries of a rect window in each screen horizontal line.
static auto create_vertical_optional(rect_window window, const span<const pair<fixed, fixed>>& deltas_ref) -> optional<rect_window_boundaries_hbe_ptr>
Creates a rect_window_boundaries_hbe_ptr which changes the vertical boundaries of a rect window in each screen vertical line.

Public functions

auto window() const -> const rect_window&
Returns the rect window modified by this H-Blank effect.
auto deltas_ref() const -> span<const pair<fixed, fixed>>
Returns the referenced array of 160 deltas to add to the horizontal or vertical boundaries of the managed rect window in each screen horizontal line.
void set_deltas_ref(const span<const pair<fixed, fixed>>& deltas_ref)
Sets the reference to an array of 160 deltas to add to the horizontal or vertical boundaries of the managed rect window in each screen horizontal line.
void reload_deltas_ref()
Rereads the content of the referenced deltas to add to the horizontal or vertical boundaries of the managed rect window in each screen horizontal line.
void swap(rect_window_boundaries_hbe_ptr& other)
Exchanges the contents of this rect_window_boundaries_hbe_ptr with those of the other one.

Friends

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

Function documentation

static rect_window_boundaries_hbe_ptr bn::rect_window_boundaries_hbe_ptr::create_horizontal(rect_window window, const span<const pair<fixed, fixed>>& deltas_ref)

Creates a rect_window_boundaries_hbe_ptr which changes the horizontal boundaries of a rect window in each screen horizontal line.

Parameters
window Rect window to be modified.
deltas_ref Reference to an array of 160 deltas to add to the horizontal boundaries of the given rect window in each screen horizontal line.
Returns The requested rect_window_boundaries_hbe_ptr.

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

static rect_window_boundaries_hbe_ptr bn::rect_window_boundaries_hbe_ptr::create_vertical(rect_window window, const span<const pair<fixed, fixed>>& deltas_ref)

Creates a rect_window_boundaries_hbe_ptr which changes the vertical boundaries of a rect window in each screen vertical line.

Parameters
window Rect window to be modified.
deltas_ref Reference to an array of 160 deltas to add to the vertical boundaries of the given rect window in each screen vertical line.
Returns The requested rect_window_boundaries_hbe_ptr.

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

static optional<rect_window_boundaries_hbe_ptr> bn::rect_window_boundaries_hbe_ptr::create_horizontal_optional(rect_window window, const span<const pair<fixed, fixed>>& deltas_ref)

Creates a rect_window_boundaries_hbe_ptr which changes the horizontal boundaries of a rect window in each screen horizontal line.

Parameters
window Rect window to be modified.
deltas_ref Reference to an array of 160 deltas to add to the horizontal boundaries of the given rect window in each screen horizontal line.
Returns The requested rect_window_boundaries_hbe_ptr if it could be allocated; bn::nullopt otherwise.

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

static optional<rect_window_boundaries_hbe_ptr> bn::rect_window_boundaries_hbe_ptr::create_vertical_optional(rect_window window, const span<const pair<fixed, fixed>>& deltas_ref)

Creates a rect_window_boundaries_hbe_ptr which changes the vertical boundaries of a rect window in each screen vertical line.

Parameters
window Rect window to be modified.
deltas_ref Reference to an array of 160 deltas to add to the vertical boundaries of the given rect window in each screen vertical line.
Returns The requested rect_window_boundaries_hbe_ptr if it could be allocated; bn::nullopt otherwise.

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

span<const pair<fixed, fixed>> bn::rect_window_boundaries_hbe_ptr::deltas_ref() const

Returns the referenced array of 160 deltas to add to the horizontal or vertical boundaries of the managed rect window in each screen horizontal line.

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

void bn::rect_window_boundaries_hbe_ptr::set_deltas_ref(const span<const pair<fixed, fixed>>& deltas_ref)

Sets the reference to an array of 160 deltas to add to the horizontal or vertical boundaries of the managed rect window in each screen horizontal line.

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

void bn::rect_window_boundaries_hbe_ptr::reload_deltas_ref()

Rereads the content of the referenced deltas to add to the horizontal or vertical boundaries of the managed rect window in each screen horizontal line.

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

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

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

Parameters
other rect_window_boundaries_hbe_ptr to exchange the contents with.

void swap(rect_window_boundaries_hbe_ptr& a, rect_window_boundaries_hbe_ptr& b)

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

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