pub struct RectShape {
pub rect: Rect,
pub rounding: Rounding,
pub fill: Color32,
pub stroke: Stroke,
pub blur_width: f32,
pub fill_texture_id: TextureId,
pub uv: Rect,
}
Expand description
How to paint a rectangle.
Fields§
§rect: Rect
§rounding: Rounding
How rounded the corners are. Use Rounding::ZERO
for no rounding.
fill: Color32
How to fill the rectangle.
stroke: Stroke
The thickness and color of the outline.
blur_width: f32
If larger than zero, the edges of the rectangle (for both fill and stroke) will be blurred.
This can be used to produce shadows and glow effects.
The blur is currently implemented using a simple linear blur in sRGBA gamma space.
fill_texture_id: TextureId
If the rect should be filled with a texture, which one?
The texture is multiplied with Self::fill
.
uv: Rect
What UV coordinates to use for the texture?
To display a texture, set Self::fill_texture_id
,
and set this to Rect::from_min_max(pos2(0.0, 0.0), pos2(1.0, 1.0))
.
Use Rect::ZERO
to turn off texturing.
Implementations§
source§impl RectShape
impl RectShape
pub fn new( rect: Rect, rounding: impl Into<Rounding>, fill_color: impl Into<Color32>, stroke: impl Into<Stroke>, ) -> Self
pub fn filled( rect: Rect, rounding: impl Into<Rounding>, fill_color: impl Into<Color32>, ) -> Self
pub fn stroke( rect: Rect, rounding: impl Into<Rounding>, stroke: impl Into<Stroke>, ) -> Self
sourcepub fn with_blur_width(self, blur_width: f32) -> Self
pub fn with_blur_width(self, blur_width: f32) -> Self
If larger than zero, the edges of the rectangle (for both fill and stroke) will be blurred.
This can be used to produce shadows and glow effects.
The blur is currently implemented using a simple linear blur in sRGBA
gamma space.
sourcepub fn visual_bounding_rect(&self) -> Rect
pub fn visual_bounding_rect(&self) -> Rect
The visual bounding rectangle (includes stroke width)
Trait Implementations§
source§impl<'de> Deserialize<'de> for RectShape
impl<'de> Deserialize<'de> for RectShape
source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
impl Copy for RectShape
impl StructuralPartialEq for RectShape
Auto Trait Implementations§
impl Freeze for RectShape
impl RefUnwindSafe for RectShape
impl Send for RectShape
impl Sync for RectShape
impl Unpin for RectShape
impl UnwindSafe for RectShape
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)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