pub struct Renderer<'a> { /* private fields */ }Expand description
Represents the context for the renderer
Implementations§
Source§impl<'a> Renderer<'a>
impl<'a> Renderer<'a>
Sourcepub fn new(
texture_creator: &'a TextureCreator<impl Any>,
imgui_context: &mut Context,
) -> Result<Self, RenderError>
pub fn new( texture_creator: &'a TextureCreator<impl Any>, imgui_context: &mut Context, ) -> Result<Self, RenderError>
Constructs a new Renderer
§Examples
Make sure to call after setting the imgui font.
let sdl_context = sdl3::init().unwrap();
let video_subsystem = sdl_context.video().unwrap();
let window = video_subsystem
.window("rust-sdl3 example", 800, 600)
.position_centered()
.resizable()
.high_pixel_density()
.build()
.unwrap();
let mut canvas = window.into_canvas();
let texture_creator = canvas.texture_creator();
let mut imgui_context = imgui::Context::create();
imgui_context.set_ini_filename(None);
imgui_context.fonts().add_font(&[imgui::FontSource::DefaultFontData { config: None, }]);
let mut renderer = imgui_sdl3_renderer::Renderer::new(&texture_creator, &mut imgui_context).unwrap();Sourcepub fn render(
&mut self,
draw_data: &DrawData,
canvas: &mut Canvas<impl RenderTarget>,
) -> Result<(), RenderError>
pub fn render( &mut self, draw_data: &DrawData, canvas: &mut Canvas<impl RenderTarget>, ) -> Result<(), RenderError>
Renders the draw_data to the canvas
The canvas must be the canvas that owns the [TextureCreator] that was passed to
Self::new and must be the same canvas on each call
§Examples
ⓘ
/* ... */
let mut canvas = window.into_canvas();
let texture_creator = canvas.texture_creator();
/* ... */
let mut renderer = imgui_sdl3_renderer::Renderer::new(&texture_creator, &mut imgui_context).unwrap();
'main loop {
canvas.clear();
/* ... */
let ui = imgui_context.new_frame();
ui.show_demo_window(&mut true);
renderer.render(imgui_context.render(), &mut canvas).unwrap();
/* ... */
canvas.present();
}Auto Trait Implementations§
impl<'a> Freeze for Renderer<'a>
impl<'a> RefUnwindSafe for Renderer<'a>
impl<'a> !Send for Renderer<'a>
impl<'a> !Sync for Renderer<'a>
impl<'a> Unpin for Renderer<'a>
impl<'a> UnwindSafe for Renderer<'a>
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
Mutably borrows from an owned value. Read more