Struct egui::PaintCallback
source · pub struct PaintCallback {
pub rect: Rect,
pub callback: Arc<dyn Any + Sync + Send>,
}
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 + Sync + Send>
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) -> Shape
fn from(shape: PaintCallback) -> Shape
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§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)