#[non_exhaustive]
#[repr(i32)]
pub enum LogicOp {
Show 16 variants
Clear,
And,
AndReverse,
Copy,
AndInverted,
Noop,
Xor,
Or,
Nor,
Equivalent,
Invert,
OrReverse,
CopyInverted,
OrInverted,
Nand,
Set,
}
Expand description
Which logical operation to apply to the output values.
The operation is applied individually for each channel (red, green, blue and alpha).
Only relevant for integer or unsigned attachments.
Also note that some implementations don’t support logic operations.
Variants (Non-exhaustive)
This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
Clear
Returns 0
.
And
Returns source & destination
.
AndReverse
Returns source & !destination
.
Copy
Returns source
.
AndInverted
Returns !source & destination
.
Noop
Returns destination
.
Xor
Returns source ^ destination
.
Or
Returns source | destination
.
Nor
Returns !(source | destination)
.
Equivalent
Returns !(source ^ destination)
.
Invert
Returns !destination
.
OrReverse
Returns `source | !destination.
CopyInverted
Returns !source
.
OrInverted
Returns !source | destination
.
Nand
Returns !(source & destination)
.
Set
Returns !0
(all bits set to 1).
Trait Implementations
impl Copy for LogicOp
impl Eq for LogicOp
impl StructuralEq for LogicOp
impl StructuralPartialEq for LogicOp
Auto Trait Implementations
impl RefUnwindSafe for LogicOp
impl Send for LogicOp
impl Sync for LogicOp
impl Unpin for LogicOp
impl UnwindSafe for LogicOp
Blanket Implementations
sourceimpl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more