summaryrefslogtreecommitdiffstats
path: root/examples
diff options
context:
space:
mode:
authorLibravatar Héctor Ramón Jiménez <hector0193@gmail.com>2023-08-30 04:31:21 +0200
committerLibravatar Héctor Ramón Jiménez <hector0193@gmail.com>2023-08-30 04:31:21 +0200
commited3454301e663a7cb7d73cd56b57b188f4d14a2f (patch)
tree8118d1305c2eba3a1b45d04634cd0e8d050fc0fa /examples
parentc9bd48704dd9679c033dd0b8588e2744a3df44a0 (diff)
downloadiced-ed3454301e663a7cb7d73cd56b57b188f4d14a2f.tar.gz
iced-ed3454301e663a7cb7d73cd56b57b188f4d14a2f.tar.bz2
iced-ed3454301e663a7cb7d73cd56b57b188f4d14a2f.zip
Implement explicit text caching in the widget state tree
Diffstat (limited to 'examples')
-rw-r--r--examples/color_palette/src/main.rs6
-rw-r--r--examples/combo_box/src/main.rs1
-rw-r--r--examples/custom_quad/src/main.rs1
-rw-r--r--examples/custom_widget/src/main.rs1
-rw-r--r--examples/game_of_life/src/main.rs2
-rw-r--r--examples/geometry/src/main.rs1
-rw-r--r--examples/integration/src/main.rs13
-rw-r--r--examples/loading_spinners/src/circular.rs1
-rw-r--r--examples/loading_spinners/src/linear.rs1
-rw-r--r--examples/modal/src/main.rs11
-rw-r--r--examples/toast/src/main.rs6
-rw-r--r--examples/tour/src/main.rs4
12 files changed, 31 insertions, 17 deletions
diff --git a/examples/color_palette/src/main.rs b/examples/color_palette/src/main.rs
index 736a9d53..7dc981d9 100644
--- a/examples/color_palette/src/main.rs
+++ b/examples/color_palette/src/main.rs
@@ -3,8 +3,8 @@ use iced::mouse;
use iced::widget::canvas::{self, Canvas, Frame, Geometry, Path};
use iced::widget::{column, row, text, Slider};
use iced::{
- Color, Element, Length, Point, Rectangle, Renderer, Sandbox, Settings,
- Size, Vector,
+ Color, Element, Length, Pixels, Point, Rectangle, Renderer, Sandbox,
+ Settings, Size, Vector,
};
use palette::{
self, convert::FromColor, rgb::Rgb, Darken, Hsl, Lighten, ShiftHue,
@@ -168,7 +168,7 @@ impl Theme {
let mut text = canvas::Text {
horizontal_alignment: alignment::Horizontal::Center,
vertical_alignment: alignment::Vertical::Top,
- size: 15.0,
+ size: Pixels(15.0),
..canvas::Text::default()
};
diff --git a/examples/combo_box/src/main.rs b/examples/combo_box/src/main.rs
index 2e6f95d5..4f347667 100644
--- a/examples/combo_box/src/main.rs
+++ b/examples/combo_box/src/main.rs
@@ -40,7 +40,6 @@ impl Sandbox for Example {
Message::Selected(language) => {
self.selected_language = Some(language);
self.text = language.hello().to_string();
- self.languages.unfocus();
}
Message::OptionHovered(language) => {
self.text = language.hello().to_string();
diff --git a/examples/custom_quad/src/main.rs b/examples/custom_quad/src/main.rs
index 4b300116..91401f73 100644
--- a/examples/custom_quad/src/main.rs
+++ b/examples/custom_quad/src/main.rs
@@ -36,6 +36,7 @@ mod quad {
fn layout(
&self,
+ _tree: &widget::Tree,
_renderer: &Renderer,
_limits: &layout::Limits,
) -> layout::Node {
diff --git a/examples/custom_widget/src/main.rs b/examples/custom_widget/src/main.rs
index 713bc62d..e0a23541 100644
--- a/examples/custom_widget/src/main.rs
+++ b/examples/custom_widget/src/main.rs
@@ -43,6 +43,7 @@ mod circle {
fn layout(
&self,
+ _tree: &widget::Tree,
_renderer: &Renderer,
_limits: &layout::Limits,
) -> layout::Node {
diff --git a/examples/game_of_life/src/main.rs b/examples/game_of_life/src/main.rs
index e951d734..fa711744 100644
--- a/examples/game_of_life/src/main.rs
+++ b/examples/game_of_life/src/main.rs
@@ -591,7 +591,7 @@ mod grid {
let text = Text {
color: Color::WHITE,
- size: 14.0,
+ size: 14.0.into(),
position: Point::new(frame.width(), frame.height()),
horizontal_alignment: alignment::Horizontal::Right,
vertical_alignment: alignment::Vertical::Bottom,
diff --git a/examples/geometry/src/main.rs b/examples/geometry/src/main.rs
index 3bc7f46b..a0d505b8 100644
--- a/examples/geometry/src/main.rs
+++ b/examples/geometry/src/main.rs
@@ -26,6 +26,7 @@ mod rainbow {
fn layout(
&self,
+ _tree: &widget::Tree,
_renderer: &Renderer,
limits: &layout::Limits,
) -> layout::Node {
diff --git a/examples/integration/src/main.rs b/examples/integration/src/main.rs
index 342d4c69..e011a411 100644
--- a/examples/integration/src/main.rs
+++ b/examples/integration/src/main.rs
@@ -8,7 +8,7 @@ use iced_wgpu::graphics::Viewport;
use iced_wgpu::{wgpu, Backend, Renderer, Settings};
use iced_winit::core::mouse;
use iced_winit::core::renderer;
-use iced_winit::core::{Color, Size};
+use iced_winit::core::{Color, Font, Pixels, Size};
use iced_winit::runtime::program;
use iced_winit::runtime::Debug;
use iced_winit::style::Theme;
@@ -143,12 +143,11 @@ pub fn main() -> Result<(), Box<dyn std::error::Error>> {
// Initialize iced
let mut debug = Debug::new();
- let mut renderer = Renderer::new(Backend::new(
- &device,
- &queue,
- Settings::default(),
- format,
- ));
+ let mut renderer = Renderer::new(
+ Backend::new(&device, &queue, Settings::default(), format),
+ Font::default(),
+ Pixels(16.0),
+ );
let mut state = program::State::new(
controls,
diff --git a/examples/loading_spinners/src/circular.rs b/examples/loading_spinners/src/circular.rs
index 3898d76e..6bcfd507 100644
--- a/examples/loading_spinners/src/circular.rs
+++ b/examples/loading_spinners/src/circular.rs
@@ -254,6 +254,7 @@ where
fn layout(
&self,
+ _tree: &Tree,
_renderer: &iced::Renderer<Theme>,
limits: &layout::Limits,
) -> layout::Node {
diff --git a/examples/loading_spinners/src/linear.rs b/examples/loading_spinners/src/linear.rs
index 20fbe9f3..3addd7bb 100644
--- a/examples/loading_spinners/src/linear.rs
+++ b/examples/loading_spinners/src/linear.rs
@@ -175,6 +175,7 @@ where
fn layout(
&self,
+ _tree: &Tree,
_renderer: &Renderer,
limits: &layout::Limits,
) -> layout::Node {
diff --git a/examples/modal/src/main.rs b/examples/modal/src/main.rs
index 8a48f830..5d47f02c 100644
--- a/examples/modal/src/main.rs
+++ b/examples/modal/src/main.rs
@@ -285,10 +285,13 @@ mod modal {
fn layout(
&self,
+ tree: &widget::Tree,
renderer: &Renderer,
limits: &layout::Limits,
) -> layout::Node {
- self.base.as_widget().layout(renderer, limits)
+ self.base
+ .as_widget()
+ .layout(&tree.children[0], renderer, limits)
}
fn on_event(
@@ -408,7 +411,11 @@ mod modal {
.width(Length::Fill)
.height(Length::Fill);
- let mut child = self.content.as_widget().layout(renderer, &limits);
+ let mut child = self
+ .content
+ .as_widget()
+ .layout(self.tree, renderer, &limits);
+
child.align(Alignment::Center, Alignment::Center, limits.max());
let mut node = layout::Node::with_children(self.size, vec![child]);
diff --git a/examples/toast/src/main.rs b/examples/toast/src/main.rs
index 42f6c348..01eea3cc 100644
--- a/examples/toast/src/main.rs
+++ b/examples/toast/src/main.rs
@@ -326,10 +326,13 @@ mod toast {
fn layout(
&self,
+ tree: &Tree,
renderer: &Renderer,
limits: &layout::Limits,
) -> layout::Node {
- self.content.as_widget().layout(renderer, limits)
+ self.content
+ .as_widget()
+ .layout(&tree.children[0], renderer, limits)
}
fn tag(&self) -> widget::tree::Tag {
@@ -517,6 +520,7 @@ mod toast {
10.0,
Alignment::End,
self.toasts,
+ self.state,
)
.translate(Vector::new(position.x, position.y))
}
diff --git a/examples/tour/src/main.rs b/examples/tour/src/main.rs
index 13bcd5ff..10de2ae1 100644
--- a/examples/tour/src/main.rs
+++ b/examples/tour/src/main.rs
@@ -5,7 +5,7 @@ use iced::widget::{
scrollable, slider, text, text_input, toggler, vertical_space,
};
use iced::widget::{Button, Column, Container, Slider};
-use iced::{Color, Element, Font, Length, Renderer, Sandbox, Settings};
+use iced::{Color, Element, Font, Length, Pixels, Renderer, Sandbox, Settings};
pub fn main() -> iced::Result {
env_logger::init();
@@ -571,7 +571,7 @@ impl<'a> Step {
text_input = text_input.icon(text_input::Icon {
font: Font::default(),
code_point: '🚀',
- size: Some(28.0),
+ size: Some(Pixels(28.0)),
spacing: 10.0,
side: text_input::Side::Right,
});