Enum graphics::draw_state::Blend [] [src]

pub enum Blend {
    Alpha,
    Add,
    Multiply,
    Invert,
}

The blend setting to use when drawing.

Using presets since some backends need one pipeline state object instance per blending technique.

Variants

Alpha blending (allows semi-transparent pixels).

new_dest_color = src_color * src_alpha + dest_color * (1 - src_alpha)
new_dest_alpha = src_alpha + dest_alpha

Additive blending.

new_dest_color = src_color + dest_color
new_dest_alpha = src_alpha + dest_alpha

Multiply color components.

new_dest_color = src_color * dest_color
new_dest_alpha = src_alpha * dest_alpha

Invert colors when rendering a white shape.

new_dest_color = ref_color - src_color
new_dest_alpha = dest_alpha

When combining two fragments, subtract the destination color from a constant color using the source color as weight. Has an invert effect with the constant color as base and source color controlling displacement from the base color. A white source color and a white value results in plain invert. The output alpha is same as destination alpha.

Trait Implementations

impl Copy for Blend
[src]

impl Clone for Blend
[src]

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

impl Debug for Blend
[src]

Formats the value using the given formatter.

impl PartialEq for Blend
[src]

This method tests for self and other values to be equal, and is used by ==. Read more

This method tests for !=.

impl PartialOrd for Blend
[src]

This method returns an ordering between self and other values if one exists. Read more

This method tests less than (for self and other) and is used by the < operator. Read more

This method tests less than or equal to (for self and other) and is used by the <= operator. Read more

This method tests greater than (for self and other) and is used by the > operator. Read more

This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more