bn::blending_transparency_attributes_hbe_ptr class

std::shared_ptr like smart pointer that retains shared ownership of a H-Blank effect which changes the weights of the transparency and intensity blendings in each screen horizontal line.

Keep in mind that fade blending and other blendings can't be enabled at the same time.

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(const span<const blending_transparency_attributes>& attributes_ref) -> blending_transparency_attributes_hbe_ptr
Creates a blending_transparency_attributes_hbe_ptr which changes the weights of the transparency and intensity blendings in each screen horizontal line.
static auto create_optional(const span<const blending_transparency_attributes>& attributes_ref) -> optional<blending_transparency_attributes_hbe_ptr>
Creates a blending_transparency_attributes_hbe_ptr which changes the weights of the transparency and intensity blendings in each screen horizontal line.

Public functions

auto attributes_ref() const -> span<const blending_transparency_attributes>
Returns the referenced array of 160 blending_transparency_attributes objects which indicate the weights of the transparency and intensity blendings in each screen horizontal line.
void set_attributes_ref(const span<const blending_transparency_attributes>& attributes_ref)
Sets the reference to an array of 160 blending_transparency_attributes objects which indicate the weights of the transparency and intensity blendings in each screen horizontal line.
void reload_attributes_ref()
Rereads the content of the referenced blending_transparency_attributes objects which indicate the weights of the transparency and intensity blendings in each screen horizontal line.
void swap(blending_transparency_attributes_hbe_ptr& other)
Exchanges the contents of this blending_transparency_attributes_hbe_ptr with those of the other one.

Friends

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

Function documentation

static blending_transparency_attributes_hbe_ptr bn::blending_transparency_attributes_hbe_ptr::create(const span<const blending_transparency_attributes>& attributes_ref)

Creates a blending_transparency_attributes_hbe_ptr which changes the weights of the transparency and intensity blendings in each screen horizontal line.

Parameters
attributes_ref Reference to an array of 160 blending_transparency_attributes objects which indicate the weights of the transparency and intensity blendings in each screen horizontal line.
Returns The requested blending_transparency_attributes_hbe_ptr.

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

static optional<blending_transparency_attributes_hbe_ptr> bn::blending_transparency_attributes_hbe_ptr::create_optional(const span<const blending_transparency_attributes>& attributes_ref)

Creates a blending_transparency_attributes_hbe_ptr which changes the weights of the transparency and intensity blendings in each screen horizontal line.

Parameters
attributes_ref Reference to an array of 160 blending_transparency_attributes objects which indicate the weights of the transparency and intensity blendings in each screen horizontal line.
Returns The requested blending_transparency_attributes_hbe_ptr if it could be allocated; bn::nullopt otherwise.

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

span<const blending_transparency_attributes> bn::blending_transparency_attributes_hbe_ptr::attributes_ref() const

Returns the referenced array of 160 blending_transparency_attributes objects which indicate the weights of the transparency and intensity blendings in each screen horizontal line.

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

void bn::blending_transparency_attributes_hbe_ptr::set_attributes_ref(const span<const blending_transparency_attributes>& attributes_ref)

Sets the reference to an array of 160 blending_transparency_attributes objects which indicate the weights of the transparency and intensity blendings in each screen horizontal line.

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

void bn::blending_transparency_attributes_hbe_ptr::reload_attributes_ref()

Rereads the content of the referenced blending_transparency_attributes objects which indicate the weights of the transparency and intensity blendings in each screen horizontal line.

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

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

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

Parameters
other blending_transparency_attributes_hbe_ptr to exchange the contents with.

void swap(blending_transparency_attributes_hbe_ptr& a, blending_transparency_attributes_hbe_ptr& b)

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

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