pub trait PlatformPresenter {
// Required methods
fn format(&self) -> VkFormat;
fn back_buffer_size(&self) -> Vector2<u32>;
fn back_buffer_count(&self) -> usize;
fn back_buffer<'a>(
&'a self,
index: usize,
) -> Option<VkHandleRef<'a, VkImage>>;
fn emit_initialize_back_buffer_commands<'r>(
&self,
recorder: CmdRecord<'r, VulkanGfx>,
) -> CmdRecord<'r, VulkanGfx>;
fn next_back_buffer_index(&mut self) -> Result<u32>;
fn requesting_back_buffer_layout(&self) -> (ImageLayout, PipelineStageFlags);
fn render_and_present<'s, 'r>(
&'s mut self,
g: &mut Graphics,
last_render_fence: &mut impl VkHandleMut<Handle = VkFence>,
back_buffer_index: u32,
render_submission: SubmissionBatchBuilder<'r>,
update_submission: Option<SubmissionBatchBuilder<'r>>,
) -> Result<()>
where 's: 'r;
fn resize(&mut self, g: &Graphics, new_size: Vector2<u32>) -> bool;
fn current_geometry_extent(&self) -> Vector2<u32>;
}
Required Methods§
fn format(&self) -> VkFormat
fn back_buffer_size(&self) -> Vector2<u32>
fn back_buffer_count(&self) -> usize
fn back_buffer<'a>(&'a self, index: usize) -> Option<VkHandleRef<'a, VkImage>>
fn emit_initialize_back_buffer_commands<'r>( &self, recorder: CmdRecord<'r, VulkanGfx>, ) -> CmdRecord<'r, VulkanGfx>
fn next_back_buffer_index(&mut self) -> Result<u32>
fn requesting_back_buffer_layout(&self) -> (ImageLayout, PipelineStageFlags)
fn render_and_present<'s, 'r>(
&'s mut self,
g: &mut Graphics,
last_render_fence: &mut impl VkHandleMut<Handle = VkFence>,
back_buffer_index: u32,
render_submission: SubmissionBatchBuilder<'r>,
update_submission: Option<SubmissionBatchBuilder<'r>>,
) -> Result<()>where
's: 'r,
Sourcefn resize(&mut self, g: &Graphics, new_size: Vector2<u32>) -> bool
fn resize(&mut self, g: &Graphics, new_size: Vector2<u32>) -> bool
Returns whether re-initializing is needed for back-buffer resources
fn current_geometry_extent(&self) -> Vector2<u32>
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.