Struct egui::PaintCallback

source ·
pub struct PaintCallback {
    pub rect: Rect,
    pub callback: Arc<dyn Any + Send + Sync>,
}
Expand description

If you want to paint some 3D shapes inside an egui region, you can use this.

This is advanced usage, and is backend specific.

Fields§

§rect: Rect

Where to paint.

This will become PaintCallbackInfo::viewport.

§callback: Arc<dyn Any + Send + Sync>

Paint something custom (e.g. 3D stuff).

The concrete value of callback depends on the rendering backend used. For instance, the glow backend requires that callback be an egui_glow::CallbackFn while the wgpu backend requires a egui_wgpu::Callback.

If the type cannot be downcast to the type expected by the current backend the callback will not be drawn.

The rendering backend is responsible for first setting the active viewport to Self::rect.

The rendering backend is also responsible for restoring any state, such as the bound shader program, vertex array, etc.

Shape has to be clone, therefore this has to be an Arc instead of a Box.

Trait Implementations§

source§

impl Clone for PaintCallback

source§

fn clone(&self) -> PaintCallback

Returns a copy of the value. Read more
1.0.0 · source§

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

Performs copy-assignment from source. Read more
source§

impl Debug for PaintCallback

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
source§

impl From<PaintCallback> for Shape

source§

fn from(shape: PaintCallback) -> Shape

Converts to this type from the input type.
source§

impl PartialEq for PaintCallback

source§

fn eq(&self, other: &PaintCallback) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

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

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> ToOwned for T
where T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
source§

impl<T> SerializableAny for T
where T: 'static + Any + Clone + for<'a> Send + Sync,