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
impl Copy for Blend
[src]
impl Clone for Blend
[src]
fn clone(&self) -> Blend
Returns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)
1.0.0
Performs copy-assignment from source
. Read more
impl Debug for Blend
[src]
impl PartialEq for Blend
[src]
fn eq(&self, __arg_0: &Blend) -> bool
This method tests for self
and other
values to be equal, and is used by ==
. Read more
fn ne(&self, other: &Rhs) -> bool
1.0.0
This method tests for !=
.
impl PartialOrd for Blend
[src]
fn partial_cmp(&self, __arg_0: &Blend) -> Option<Ordering>
This method returns an ordering between self
and other
values if one exists. Read more
fn lt(&self, other: &Rhs) -> bool
1.0.0
This method tests less than (for self
and other
) and is used by the <
operator. Read more
fn le(&self, other: &Rhs) -> bool
1.0.0
This method tests less than or equal to (for self
and other
) and is used by the <=
operator. Read more
fn gt(&self, other: &Rhs) -> bool
1.0.0
This method tests greater than (for self
and other
) and is used by the >
operator. Read more
fn ge(&self, other: &Rhs) -> bool
1.0.0
This method tests greater than or equal to (for self
and other
) and is used by the >=
operator. Read more