Revert "delete unused code for dummy platform and renderer backends"

This reverts commit d616a13047e0f138e92fa582202f06d7dc3d5397.
This commit is contained in:
Paulo Santana 2025-01-18 15:48:07 -03:00 committed by Jonathan Spira
parent ec123482c0
commit c3dab791b9

View File

@ -188,11 +188,92 @@ pub(crate) extern "C" fn platform_create_vk_surface(
}) })
} }
/// The default [`PlatformViewportBackend`], does nothing.
pub(crate) struct DummyPlatformViewportBackend {}
impl PlatformViewportBackend for DummyPlatformViewportBackend {
fn create_window(&mut self, _viewport: &mut Viewport) {
unimplemented!()
}
fn destroy_window(&mut self, _viewport: &mut Viewport) {
unimplemented!()
}
fn show_window(&mut self, _viewport: &mut Viewport) {
unimplemented!()
}
fn set_window_pos(&mut self, _viewport: &mut Viewport, _pos: [f32; 2]) {
unimplemented!()
}
fn get_window_pos(&mut self, _viewport: &mut Viewport) -> [f32; 2] {
unimplemented!()
}
fn set_window_size(&mut self, _viewport: &mut Viewport, _size: [f32; 2]) {
unimplemented!()
}
fn get_window_size(&mut self, _viewport: &mut Viewport) -> [f32; 2] {
unimplemented!()
}
fn set_window_focus(&mut self, _viewport: &mut Viewport) {
unimplemented!()
}
fn get_window_focus(&mut self, _viewport: &mut Viewport) -> bool {
unimplemented!()
}
fn get_window_minimized(&mut self, _viewport: &mut Viewport) -> bool {
unimplemented!()
}
fn set_window_title(&mut self, _viewport: &mut Viewport, _title: &str) {
unimplemented!()
}
fn set_window_alpha(&mut self, _viewport: &mut Viewport, _alpha: f32) {
unimplemented!()
}
fn update_window(&mut self, _viewport: &mut Viewport) {
unimplemented!()
}
fn render_window(&mut self, _viewport: &mut Viewport) {
unimplemented!()
}
fn swap_buffers(&mut self, _viewport: &mut Viewport) {
unimplemented!()
}
fn create_vk_surface(
&mut self,
_viewport: &mut Viewport,
_instance: u64,
_out_surface: &mut u64,
) -> i32 {
unimplemented!()
}
}
/// Just holds a [`PlatformViewportBackend`]. /// Just holds a [`PlatformViewportBackend`].
pub(crate) struct PlatformViewportContext { pub(crate) struct PlatformViewportContext {
pub(crate) backend: Box<dyn PlatformViewportBackend>, pub(crate) backend: Box<dyn PlatformViewportBackend>,
} }
impl PlatformViewportContext {
pub(crate) fn dummy() -> Self {
Self {
backend: Box::new(DummyPlatformViewportBackend {}),
}
}
}
/// Trait that holds optional functions for a rendering backend to support multiple viewports. /// Trait that holds optional functions for a rendering backend to support multiple viewports.
/// ///
/// It is completely fine to not use this Backend at all, as all functions are optional. /// It is completely fine to not use this Backend at all, as all functions are optional.
@ -233,11 +314,45 @@ pub(crate) extern "C" fn renderer_swap_buffers(viewport: *mut Viewport, _arg: *m
}) })
} }
/// The default [`RendererViewportBackend`], does nothing.
pub(crate) struct DummyRendererViewportBackend {}
impl RendererViewportBackend for DummyRendererViewportBackend {
fn create_window(&mut self, _viewport: &mut Viewport) {
unimplemented!()
}
fn destroy_window(&mut self, _viewport: &mut Viewport) {
unimplemented!()
}
fn set_window_size(&mut self, _viewport: &mut Viewport, _size: [f32; 2]) {
unimplemented!()
}
fn render_window(&mut self, _viewport: &mut Viewport) {
unimplemented!()
}
fn swap_buffers(&mut self, _viewport: &mut Viewport) {
unimplemented!()
}
}
/// Just holds a [`RendererViewportBackend`]. /// Just holds a [`RendererViewportBackend`].
pub(crate) struct RendererViewportContext { pub(crate) struct RendererViewportContext {
pub(crate) backend: Box<dyn RendererViewportBackend>, pub(crate) backend: Box<dyn RendererViewportBackend>,
} }
impl RendererViewportContext {
pub(crate) fn dummy() -> Self {
Self {
backend: Box::new(DummyRendererViewportBackend {}),
}
}
}
unsafe impl Send for RendererViewportContext {}
/// Describes a monitor that can be used by ImGui. /// Describes a monitor that can be used by ImGui.
#[repr(C)] #[repr(C)]
pub struct PlatformMonitor { pub struct PlatformMonitor {