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: RectWhere 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
impl Clone for PaintCallback
Source§fn clone(&self) -> PaintCallback
fn clone(&self) -> PaintCallback
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for PaintCallback
impl Debug for PaintCallback
Source§impl From<PaintCallback> for Shape
impl From<PaintCallback> for Shape
Source§fn from(shape: PaintCallback) -> Self
fn from(shape: PaintCallback) -> Self
Source§impl PartialEq for PaintCallback
impl PartialEq for PaintCallback
Auto Trait Implementations§
impl Freeze for PaintCallback
impl !RefUnwindSafe for PaintCallback
impl Send for PaintCallback
impl Sync for PaintCallback
impl Unpin for PaintCallback
impl !UnwindSafe for PaintCallback
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§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