uidev: make window translucent
This commit is contained in:
@@ -22,7 +22,7 @@
|
||||
|
||||
<elements>
|
||||
<!-- background for testing -->
|
||||
<rectangle position="absolute" color="#333333" width="100%" height="100%" />
|
||||
<!-- <rectangle position="absolute" color="#333333" width="100%" height="100%" /> -->
|
||||
|
||||
<!-- left/right separator (menu and rest) -->
|
||||
<div flex_direction="row" gap="8" width="100%" height="100%">
|
||||
|
||||
@@ -13,8 +13,8 @@ use vulkano::{
|
||||
format::Format,
|
||||
image::{ImageUsage, view::ImageView},
|
||||
swapchain::{
|
||||
PresentMode, Surface, SurfaceInfo, Swapchain, SwapchainCreateInfo, SwapchainPresentInfo,
|
||||
acquire_next_image,
|
||||
CompositeAlpha, PresentMode, Surface, SurfaceInfo, Swapchain, SwapchainCreateInfo,
|
||||
SwapchainPresentInfo, acquire_next_image,
|
||||
},
|
||||
sync::GpuFuture,
|
||||
};
|
||||
@@ -53,7 +53,8 @@ fn init_logging() {
|
||||
/* read RUST_LOG env var */
|
||||
EnvFilter::builder()
|
||||
.with_default_directive(LevelFilter::DEBUG.into())
|
||||
.from_env_lossy(),
|
||||
.from_env_lossy()
|
||||
.add_directive("cosmic_text=info".parse().unwrap()),
|
||||
)
|
||||
.init();
|
||||
}
|
||||
@@ -108,7 +109,7 @@ fn main() -> Result<(), Box<dyn std::error::Error>> {
|
||||
let mut render_context = renderer_vk::context::Context::new(&mut shared_context, scale)?;
|
||||
|
||||
render_context.update_viewport(&mut shared_context, swapchain_size, scale)?;
|
||||
println!("new swapchain_size: {swapchain_size:?}");
|
||||
log::trace!("new swapchain_size: {swapchain_size:?}");
|
||||
|
||||
let mut profiler = profiler::Profiler::new(1000);
|
||||
let mut frame_index: u64 = 0;
|
||||
@@ -263,7 +264,7 @@ fn main() -> Result<(), Box<dyn std::error::Error>> {
|
||||
.update_viewport(&mut shared_context, swapchain_size, scale)
|
||||
.unwrap();
|
||||
|
||||
println!("new swapchain_size: {swapchain_size:?}");
|
||||
log::trace!("new swapchain_size: {swapchain_size:?}");
|
||||
recreate = false;
|
||||
window.request_redraw();
|
||||
}
|
||||
@@ -351,12 +352,14 @@ fn swapchain_create_info(
|
||||
surface: Arc<Surface>,
|
||||
extent: [u32; 2],
|
||||
) -> SwapchainCreateInfo {
|
||||
let surface_capabilities = graphics
|
||||
let mut surface_capabilities = graphics
|
||||
.device
|
||||
.physical_device()
|
||||
.surface_capabilities(&surface, SurfaceInfo::default())
|
||||
.unwrap(); // want panic
|
||||
|
||||
surface_capabilities.supported_composite_alpha = CompositeAlpha::PreMultiplied.into();
|
||||
|
||||
SwapchainCreateInfo {
|
||||
min_image_count: surface_capabilities.min_image_count.max(2),
|
||||
present_mode: PresentMode::Mailbox,
|
||||
|
||||
@@ -41,7 +41,7 @@ pub fn init_window() -> anyhow::Result<(
|
||||
#[allow(deprecated)]
|
||||
let window = Arc::new(
|
||||
event_loop
|
||||
.create_window(Window::default_attributes())
|
||||
.create_window(Window::default_attributes().with_transparent(true))
|
||||
.unwrap(), // want panic
|
||||
);
|
||||
let surface = Surface::from_window(instance.clone(), window.clone())?;
|
||||
|
||||
@@ -4,9 +4,8 @@ use vulkano::{
|
||||
DeviceSize,
|
||||
buffer::{Buffer, BufferCreateInfo, BufferUsage, Subbuffer},
|
||||
command_buffer::{
|
||||
AutoCommandBufferBuilder, CommandBufferExecFuture, CopyBufferToImageInfo, CopyImageInfo,
|
||||
PrimaryAutoCommandBuffer, PrimaryCommandBufferAbstract, RenderingAttachmentInfo, RenderingInfo,
|
||||
SubpassContents,
|
||||
AutoCommandBufferBuilder, CommandBufferExecFuture, CopyBufferToImageInfo, CopyImageInfo, PrimaryAutoCommandBuffer,
|
||||
PrimaryCommandBufferAbstract, RenderingAttachmentInfo, RenderingInfo, SubpassContents,
|
||||
},
|
||||
device::Queue,
|
||||
format::Format,
|
||||
@@ -68,9 +67,7 @@ impl WCommandBuffer<CmdBufGfx> {
|
||||
where
|
||||
T: Sized,
|
||||
{
|
||||
self
|
||||
.command_buffer
|
||||
.execute_commands(pass.command_buffer.clone())?;
|
||||
self.command_buffer.execute_commands(pass.command_buffer.clone())?;
|
||||
Ok(())
|
||||
}
|
||||
|
||||
@@ -81,13 +78,7 @@ impl WCommandBuffer<CmdBufGfx> {
|
||||
}
|
||||
|
||||
impl WCommandBuffer<CmdBufXfer> {
|
||||
pub fn upload_image(
|
||||
&mut self,
|
||||
width: u32,
|
||||
height: u32,
|
||||
format: Format,
|
||||
data: &[u8],
|
||||
) -> anyhow::Result<Arc<Image>> {
|
||||
pub fn upload_image(&mut self, width: u32, height: u32, format: Format, data: &[u8]) -> anyhow::Result<Arc<Image>> {
|
||||
let image = Image::new(
|
||||
self.graphics.memory_allocator.clone(),
|
||||
ImageCreateInfo {
|
||||
|
||||
Reference in New Issue
Block a user