diff options
| -rw-r--r-- | examples/integration_wgpu/src/main.rs | 6 | ||||
| -rw-r--r-- | native/src/widget/text_input.rs | 42 | ||||
| -rw-r--r-- | wgpu/Cargo.toml | 4 | ||||
| -rw-r--r-- | wgpu/src/shader/blit.wgsl | 4 | ||||
| -rw-r--r-- | wgpu/src/window/compositor.rs | 5 | 
5 files changed, 31 insertions, 30 deletions
diff --git a/examples/integration_wgpu/src/main.rs b/examples/integration_wgpu/src/main.rs index e1d691f0..d1000748 100644 --- a/examples/integration_wgpu/src/main.rs +++ b/examples/integration_wgpu/src/main.rs @@ -39,6 +39,7 @@ pub fn main() {              .request_adapter(&wgpu::RequestAdapterOptions {                  power_preference: wgpu::PowerPreference::HighPerformance,                  compatible_surface: Some(&surface), +                force_fallback_adapter: false,              })              .await              .expect("Request adapter"); @@ -171,7 +172,7 @@ pub fn main() {                      resized = false;                  } -                match surface.get_current_frame() { +                match surface.get_current_texture() {                      Ok(frame) => {                          let mut encoder = device.create_command_encoder(                              &wgpu::CommandEncoderDescriptor { label: None }, @@ -179,7 +180,7 @@ pub fn main() {                          let program = state.program(); -                        let view = frame.output.texture.create_view(&wgpu::TextureViewDescriptor::default()); +                        let view = frame.texture.create_view(&wgpu::TextureViewDescriptor::default());                          {                              // We clear the frame @@ -209,6 +210,7 @@ pub fn main() {                          // Then we submit the work                          staging_belt.finish();                          queue.submit(Some(encoder.finish())); +                        frame.present();                          // Update the mouse cursor                           window.set_cursor_icon( diff --git a/native/src/widget/text_input.rs b/native/src/widget/text_input.rs index 5be1d3d6..2d5f6815 100644 --- a/native/src/widget/text_input.rs +++ b/native/src/widget/text_input.rs @@ -297,29 +297,27 @@ where                      let text_layout = layout.children().next().unwrap();                      let target = position.x - text_layout.bounds().x; -                    if target > 0.0 { -                        let value = if self.is_secure { -                            self.value.secure() -                        } else { -                            self.value.clone() -                        }; - -                        let position = find_cursor_position( -                            renderer, -                            text_layout.bounds(), -                            self.font, -                            self.size, -                            &value, -                            &self.state, -                            target, -                        ) -                        .unwrap_or(0); +                    let value = if self.is_secure { +                        self.value.secure() +                    } else { +                        self.value.clone() +                    }; + +                    let position = find_cursor_position( +                        renderer, +                        text_layout.bounds(), +                        self.font, +                        self.size, +                        &value, +                        &self.state, +                        target, +                    ) +                    .unwrap_or(0); -                        self.state.cursor.select_range( -                            self.state.cursor.start(&value), -                            position, -                        ); -                    } +                    self.state.cursor.select_range( +                        self.state.cursor.start(&value), +                        position, +                    );                      return event::Status::Captured;                  } diff --git a/wgpu/Cargo.toml b/wgpu/Cargo.toml index 71da889f..ed74b804 100644 --- a/wgpu/Cargo.toml +++ b/wgpu/Cargo.toml @@ -27,8 +27,8 @@ default_system_font = ["iced_graphics/font-source"]  spirv = ["wgpu/spirv"]  [dependencies] -wgpu = "0.10" -wgpu_glyph = "0.14" +wgpu = "0.11" +wgpu_glyph = "0.15"  glyph_brush = "0.7"  raw-window-handle = "0.3"  log = "0.4" diff --git a/wgpu/src/shader/blit.wgsl b/wgpu/src/shader/blit.wgsl index 694f192e..f8f6e2d4 100644 --- a/wgpu/src/shader/blit.wgsl +++ b/wgpu/src/shader/blit.wgsl @@ -1,4 +1,4 @@ -var positions: array<vec2<f32>, 6> = array<vec2<f32>, 6>( +var<private> positions: array<vec2<f32>, 6> = array<vec2<f32>, 6>(      vec2<f32>(-1.0, 1.0),      vec2<f32>(-1.0, -1.0),      vec2<f32>(1.0, -1.0), @@ -7,7 +7,7 @@ var positions: array<vec2<f32>, 6> = array<vec2<f32>, 6>(      vec2<f32>(1.0, -1.0)  ); -var uvs: array<vec2<f32>, 6> = array<vec2<f32>, 6>( +var<private> uvs: array<vec2<f32>, 6> = array<vec2<f32>, 6>(      vec2<f32>(0.0, 0.0),      vec2<f32>(0.0, 1.0),      vec2<f32>(1.0, 1.0), diff --git a/wgpu/src/window/compositor.rs b/wgpu/src/window/compositor.rs index f29a50f5..7bdd4c23 100644 --- a/wgpu/src/window/compositor.rs +++ b/wgpu/src/window/compositor.rs @@ -40,6 +40,7 @@ impl Compositor {                      wgpu::PowerPreference::HighPerformance                  },                  compatible_surface: compatible_surface.as_ref(), +                force_fallback_adapter: false,              })              .await?; @@ -140,7 +141,7 @@ impl iced_graphics::window::Compositor for Compositor {          background_color: Color,          overlay: &[T],      ) -> Result<(), iced_graphics::window::SurfaceError> { -        match surface.get_current_frame() { +        match surface.get_current_texture() {              Ok(frame) => {                  let mut encoder = self.device.create_command_encoder(                      &wgpu::CommandEncoderDescriptor { @@ -149,7 +150,6 @@ impl iced_graphics::window::Compositor for Compositor {                  );                  let view = &frame -                    .output                      .texture                      .create_view(&wgpu::TextureViewDescriptor::default()); @@ -194,6 +194,7 @@ impl iced_graphics::window::Compositor for Compositor {                  // Submit work                  self.staging_belt.finish();                  self.queue.submit(Some(encoder.finish())); +                frame.present();                  // Recall staging buffers                  self.local_pool  | 
