summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--native/src/widget/pane_grid/content.rs17
-rw-r--r--native/src/widget/pane_grid/title_bar.rs8
-rw-r--r--wgpu/Cargo.toml4
-rw-r--r--wgpu/src/image.rs34
-rw-r--r--wgpu/src/quad.rs40
-rw-r--r--wgpu/src/triangle.rs16
6 files changed, 37 insertions, 82 deletions
diff --git a/native/src/widget/pane_grid/content.rs b/native/src/widget/pane_grid/content.rs
index f028ec25..b0110393 100644
--- a/native/src/widget/pane_grid/content.rs
+++ b/native/src/widget/pane_grid/content.rs
@@ -193,18 +193,17 @@ where
&mut self,
layout: Layout<'_>,
) -> Option<overlay::Element<'_, Message, Renderer>> {
- let body_layout = if self.title_bar.is_some() {
+ if let Some(title_bar) = self.title_bar.as_mut() {
let mut children = layout.children();
+ let title_bar_layout = children.next()?;
- // Overlays only allowed in the pane body, for now at least.
- let _title_bar_layout = children.next();
-
- children.next()?
+ match title_bar.overlay(title_bar_layout) {
+ Some(overlay) => Some(overlay),
+ None => self.body.overlay(children.next()?),
+ }
} else {
- layout
- };
-
- self.body.overlay(body_layout)
+ self.body.overlay(layout)
+ }
}
}
diff --git a/native/src/widget/pane_grid/title_bar.rs b/native/src/widget/pane_grid/title_bar.rs
index d9d85dbb..efdc1e54 100644
--- a/native/src/widget/pane_grid/title_bar.rs
+++ b/native/src/widget/pane_grid/title_bar.rs
@@ -1,6 +1,7 @@
use crate::container;
use crate::event::{self, Event};
use crate::layout;
+use crate::overlay;
use crate::pane_grid;
use crate::{
Clipboard, Element, Hasher, Layout, Padding, Point, Rectangle, Size,
@@ -242,4 +243,11 @@ where
control_status.merge(title_status)
}
+
+ pub(crate) fn overlay(
+ &mut self,
+ layout: Layout<'_>,
+ ) -> Option<overlay::Element<'_, Message, Renderer>> {
+ self.content.overlay(layout)
+ }
}
diff --git a/wgpu/Cargo.toml b/wgpu/Cargo.toml
index 3eacdd0f..9675797d 100644
--- a/wgpu/Cargo.toml
+++ b/wgpu/Cargo.toml
@@ -26,8 +26,8 @@ qr_code = ["iced_graphics/qr_code"]
default_system_font = ["iced_graphics/font-source"]
[dependencies]
-wgpu = "0.8"
-wgpu_glyph = "0.12"
+wgpu = "0.9"
+wgpu_glyph = "0.13"
glyph_brush = "0.7"
raw-window-handle = "0.3"
log = "0.4"
diff --git a/wgpu/src/image.rs b/wgpu/src/image.rs
index cd7b3d23..85663bf5 100644
--- a/wgpu/src/image.rs
+++ b/wgpu/src/image.rs
@@ -165,33 +165,13 @@ impl Pipeline {
wgpu::VertexBufferLayout {
array_stride: mem::size_of::<Instance>() as u64,
step_mode: wgpu::InputStepMode::Instance,
- attributes: &[
- wgpu::VertexAttribute {
- shader_location: 1,
- format: wgpu::VertexFormat::Float32x2,
- offset: 0,
- },
- wgpu::VertexAttribute {
- shader_location: 2,
- format: wgpu::VertexFormat::Float32x2,
- offset: 4 * 2,
- },
- wgpu::VertexAttribute {
- shader_location: 3,
- format: wgpu::VertexFormat::Float32x2,
- offset: 4 * 4,
- },
- wgpu::VertexAttribute {
- shader_location: 4,
- format: wgpu::VertexFormat::Float32x2,
- offset: 4 * 6,
- },
- wgpu::VertexAttribute {
- shader_location: 5,
- format: wgpu::VertexFormat::Sint32,
- offset: 4 * 8,
- },
- ],
+ attributes: &wgpu::vertex_attr_array!(
+ 1 => Float32x2,
+ 2 => Float32x2,
+ 3 => Float32x2,
+ 4 => Float32x2,
+ 5 => Sint32,
+ ),
},
],
},
diff --git a/wgpu/src/quad.rs b/wgpu/src/quad.rs
index 6f221ca3..93942fba 100644
--- a/wgpu/src/quad.rs
+++ b/wgpu/src/quad.rs
@@ -87,38 +87,14 @@ impl Pipeline {
wgpu::VertexBufferLayout {
array_stride: mem::size_of::<layer::Quad>() as u64,
step_mode: wgpu::InputStepMode::Instance,
- attributes: &[
- wgpu::VertexAttribute {
- shader_location: 1,
- format: wgpu::VertexFormat::Float32x2,
- offset: 0,
- },
- wgpu::VertexAttribute {
- shader_location: 2,
- format: wgpu::VertexFormat::Float32x2,
- offset: 4 * 2,
- },
- wgpu::VertexAttribute {
- shader_location: 3,
- format: wgpu::VertexFormat::Float32x4,
- offset: 4 * (2 + 2),
- },
- wgpu::VertexAttribute {
- shader_location: 4,
- format: wgpu::VertexFormat::Float32x4,
- offset: 4 * (2 + 2 + 4),
- },
- wgpu::VertexAttribute {
- shader_location: 5,
- format: wgpu::VertexFormat::Float32,
- offset: 4 * (2 + 2 + 4 + 4),
- },
- wgpu::VertexAttribute {
- shader_location: 6,
- format: wgpu::VertexFormat::Float32,
- offset: 4 * (2 + 2 + 4 + 4 + 1),
- },
- ],
+ attributes: &wgpu::vertex_attr_array!(
+ 1 => Float32x2,
+ 2 => Float32x2,
+ 3 => Float32x4,
+ 4 => Float32x4,
+ 5 => Float32,
+ 6 => Float32,
+ ),
},
],
},
diff --git a/wgpu/src/triangle.rs b/wgpu/src/triangle.rs
index 8636b331..65b2b7b0 100644
--- a/wgpu/src/triangle.rs
+++ b/wgpu/src/triangle.rs
@@ -150,20 +150,12 @@ impl Pipeline {
buffers: &[wgpu::VertexBufferLayout {
array_stride: mem::size_of::<Vertex2D>() as u64,
step_mode: wgpu::InputStepMode::Vertex,
- attributes: &[
+ attributes: &wgpu::vertex_attr_array!(
// Position
- wgpu::VertexAttribute {
- shader_location: 0,
- format: wgpu::VertexFormat::Float32x2,
- offset: 0,
- },
+ 0 => Float32x2,
// Color
- wgpu::VertexAttribute {
- shader_location: 1,
- format: wgpu::VertexFormat::Float32x4,
- offset: 4 * 2,
- },
- ],
+ 1 => Float32x4,
+ ),
}],
},
fragment: Some(wgpu::FragmentState {