overflow: hidden/scroll scissor support, remove depth
This commit is contained in:
@@ -77,7 +77,7 @@ fn load_testbed(
|
||||
fn main() -> Result<(), Box<dyn std::error::Error>> {
|
||||
init_logging();
|
||||
|
||||
let (gfx, event_loop, window, surface) = init_window()?;
|
||||
let (gfx, event_loop, window, surface) = init_window("[-/=]: gui scale, F10: debug draw")?;
|
||||
let inner_size = window.inner_size();
|
||||
let mut swapchain_size = [inner_size.width, inner_size.height];
|
||||
|
||||
@@ -115,6 +115,8 @@ fn main() -> Result<(), Box<dyn std::error::Error>> {
|
||||
render_context.update_viewport(&mut shared_context, swapchain_size, scale)?;
|
||||
log::trace!("new swapchain_size: {swapchain_size:?}");
|
||||
|
||||
let mut debug_draw_enabled = false;
|
||||
|
||||
let mut profiler = profiler::Profiler::new(1000);
|
||||
let mut frame_index: u64 = 0;
|
||||
|
||||
@@ -218,6 +220,11 @@ fn main() -> Result<(), Box<dyn std::error::Error>> {
|
||||
..
|
||||
} => {
|
||||
if event.state == ElementState::Pressed {
|
||||
if event.physical_key == PhysicalKey::Code(KeyCode::F10) {
|
||||
debug_draw_enabled = !debug_draw_enabled;
|
||||
testbed.layout().borrow_mut().mark_redraw();
|
||||
}
|
||||
|
||||
if event.physical_key == PhysicalKey::Code(KeyCode::Equal) {
|
||||
scale *= 1.25;
|
||||
render_context
|
||||
@@ -323,7 +330,12 @@ fn main() -> Result<(), Box<dyn std::error::Error>> {
|
||||
.begin_rendering(tgt, WGfxClearMode::Clear([0.0, 0.0, 0.0, 0.1]))
|
||||
.unwrap();
|
||||
|
||||
let primitives = wgui::drawing::draw(&testbed.layout().borrow_mut()).unwrap();
|
||||
let draw_params = wgui::drawing::DrawParams {
|
||||
layout: &testbed.layout().borrow_mut(),
|
||||
debug_draw: debug_draw_enabled,
|
||||
};
|
||||
|
||||
let primitives = wgui::drawing::draw(&draw_params).unwrap();
|
||||
render_context
|
||||
.draw(&mut shared_context, &mut cmd_buf, &primitives)
|
||||
.unwrap();
|
||||
|
||||
@@ -14,7 +14,9 @@ fn get_vulkan_library() -> &'static Arc<vulkano::VulkanLibrary> {
|
||||
}
|
||||
|
||||
#[allow(clippy::type_complexity)]
|
||||
pub fn init_window() -> anyhow::Result<(
|
||||
pub fn init_window(
|
||||
title: &str,
|
||||
) -> anyhow::Result<(
|
||||
Arc<WGfx>,
|
||||
winit::event_loop::EventLoop<()>,
|
||||
Arc<winit::window::Window>,
|
||||
@@ -40,7 +42,11 @@ pub fn init_window() -> anyhow::Result<(
|
||||
#[allow(deprecated)]
|
||||
let window = Arc::new(
|
||||
event_loop
|
||||
.create_window(Window::default_attributes().with_transparent(true))
|
||||
.create_window(
|
||||
Window::default_attributes()
|
||||
.with_transparent(true)
|
||||
.with_title(title),
|
||||
)
|
||||
.unwrap(), // want panic
|
||||
);
|
||||
let surface = Surface::from_window(instance.clone(), window.clone())?;
|
||||
|
||||
Reference in New Issue
Block a user