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

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
Add

Additive blending.

new_dest_color = src_color + dest_color
new_dest_alpha = src_alpha + dest_alpha
Multiply

Multiply color components.

new_dest_color = src_color * dest_color
new_dest_alpha = src_alpha * dest_alpha
Invert

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

Derived Implementations

impl PartialOrd for Blend

fn partial_cmp(&self, __arg_0: &Blend) -> Option<Ordering>

1.0.0fn lt(&self, other: &Rhs) -> bool

1.0.0fn le(&self, other: &Rhs) -> bool

1.0.0fn gt(&self, other: &Rhs) -> bool

1.0.0fn ge(&self, other: &Rhs) -> bool

impl PartialEq for Blend

fn eq(&self, __arg_0: &Blend) -> bool

1.0.0fn ne(&self, other: &Rhs) -> bool

impl Debug for Blend

fn fmt(&self, __arg_0: &mut Formatter) -> Result

impl Clone for Blend

fn clone(&self) -> Blend

1.0.0fn clone_from(&mut self, source: &Self)

impl Copy for Blend