pub enum ClippingStrategy {
Device,
DeviceAndEngine,
Engine,
}Expand description
The underlying C structure DevDesc has two fields related to clipping:
canClipdeviceClip(available on R >= 4.1)
canClip indicates whether the device has clipping functionality at all. If
not, the graphic engine kindly clips before sending the drawing operations
to the device. But, this isn’t very ideal in some points. Especially, it’s
bad that the engine will omit “any text that does not appear to be wholly
inside the clipping region,” according to the R Internals. So, the device
should implement clip() and set canClip to true if possible.
Even when canClip is true, the engine does clip to protect the device
from large values by default. But, for efficiency, the device can take all
the responsibility of clipping. That is deviceClip, which was introduced
in R 4.1. If this is set to true, the engine will perform no clipping at
all. For more details, please refer to [the offical announcement blog post].
So, in short, a graphic device can choose either of the following:
- clipping without the help of the graphic engine (
Device) - clipping with the help of the graphic engine (
DeviceAndEngine) - no clipping at all (
Engine)
Variants§
Auto Trait Implementations§
impl Freeze for ClippingStrategy
impl RefUnwindSafe for ClippingStrategy
impl Send for ClippingStrategy
impl Sync for ClippingStrategy
impl Unpin for ClippingStrategy
impl UnwindSafe for ClippingStrategy
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more