diff options
| author | 2021-06-01 19:59:02 +0700 | |
|---|---|---|
| committer | 2021-06-01 19:59:02 +0700 | |
| commit | aab2176802b6d745a7eab76ec13762b5b4ddf782 (patch) | |
| tree | 3d1655b36aa8d7151c878e1879c03c8271a466a5 /graphics | |
| parent | a9eb591628017caaf7aa9af505d1206f7a143a9a (diff) | |
| parent | 8a3b71df8b619571ce0a972826cb5a3987b66b3d (diff) | |
| download | iced-aab2176802b6d745a7eab76ec13762b5b4ddf782.tar.gz iced-aab2176802b6d745a7eab76ec13762b5b4ddf782.tar.bz2 iced-aab2176802b6d745a7eab76ec13762b5b4ddf782.zip  | |
Merge pull request #630 from blefevre/asymmetric-padding
Add support for asymmetrical padding
Diffstat (limited to '')
| -rw-r--r-- | graphics/src/overlay/menu.rs | 12 | ||||
| -rw-r--r-- | graphics/src/widget/button.rs | 4 | ||||
| -rw-r--r-- | graphics/src/widget/pick_list.rs | 11 | ||||
| -rw-r--r-- | graphics/src/widget/tooltip.rs | 6 | 
4 files changed, 17 insertions, 16 deletions
diff --git a/graphics/src/overlay/menu.rs b/graphics/src/overlay/menu.rs index ffe998c5..9e91a0ef 100644 --- a/graphics/src/overlay/menu.rs +++ b/graphics/src/overlay/menu.rs @@ -2,8 +2,8 @@  use crate::backend::{self, Backend};  use crate::{Primitive, Renderer};  use iced_native::{ -    mouse, overlay, Color, Font, HorizontalAlignment, Point, Rectangle, -    VerticalAlignment, +    mouse, overlay, Color, Font, HorizontalAlignment, Padding, Point, +    Rectangle, VerticalAlignment,  };  pub use iced_style::menu::Style; @@ -45,7 +45,7 @@ where          viewport: &Rectangle,          options: &[T],          hovered_option: Option<usize>, -        padding: u16, +        padding: Padding,          text_size: u16,          font: Font,          style: &Style, @@ -53,7 +53,7 @@ where          use std::f32;          let is_mouse_over = bounds.contains(cursor_position); -        let option_height = text_size as usize + padding as usize * 2; +        let option_height = (text_size + padding.vertical()) as usize;          let mut primitives = Vec::new(); @@ -72,7 +72,7 @@ where                  x: bounds.x,                  y: bounds.y + (option_height * i) as f32,                  width: bounds.width, -                height: f32::from(text_size + padding * 2), +                height: f32::from(text_size + padding.vertical()),              };              if is_selected { @@ -88,7 +88,7 @@ where              primitives.push(Primitive::Text {                  content: option.to_string(),                  bounds: Rectangle { -                    x: bounds.x + f32::from(padding), +                    x: bounds.x + padding.left as f32,                      y: bounds.center_y(),                      width: f32::INFINITY,                      ..bounds diff --git a/graphics/src/widget/button.rs b/graphics/src/widget/button.rs index 2e3f78ca..60400ed8 100644 --- a/graphics/src/widget/button.rs +++ b/graphics/src/widget/button.rs @@ -5,7 +5,7 @@ use crate::defaults::{self, Defaults};  use crate::{Backend, Primitive, Renderer};  use iced_native::mouse;  use iced_native::{ -    Background, Color, Element, Layout, Point, Rectangle, Vector, +    Background, Color, Element, Layout, Padding, Point, Rectangle, Vector,  };  pub use iced_native::button::State; @@ -21,7 +21,7 @@ impl<B> iced_native::button::Renderer for Renderer<B>  where      B: Backend,  { -    const DEFAULT_PADDING: u16 = 5; +    const DEFAULT_PADDING: Padding = Padding::new(5);      type Style = Box<dyn StyleSheet>; diff --git a/graphics/src/widget/pick_list.rs b/graphics/src/widget/pick_list.rs index f42a8707..32dfbdf9 100644 --- a/graphics/src/widget/pick_list.rs +++ b/graphics/src/widget/pick_list.rs @@ -2,7 +2,8 @@  use crate::backend::{self, Backend};  use crate::{Primitive, Renderer};  use iced_native::{ -    mouse, Font, HorizontalAlignment, Point, Rectangle, VerticalAlignment, +    mouse, Font, HorizontalAlignment, Padding, Point, Rectangle, +    VerticalAlignment,  };  use iced_style::menu; @@ -19,7 +20,7 @@ where  {      type Style = Box<dyn StyleSheet>; -    const DEFAULT_PADDING: u16 = 5; +    const DEFAULT_PADDING: Padding = Padding::new(5);      fn menu_style(style: &Box<dyn StyleSheet>) -> menu::Style {          style.menu() @@ -30,7 +31,7 @@ where          bounds: Rectangle,          cursor_position: Point,          selected: Option<String>, -        padding: u16, +        padding: Padding,          text_size: u16,          font: Font,          style: &Box<dyn StyleSheet>, @@ -56,7 +57,7 @@ where              font: B::ICON_FONT,              size: bounds.height * style.icon_size,              bounds: Rectangle { -                x: bounds.x + bounds.width - f32::from(padding) * 2.0, +                x: bounds.x + bounds.width - f32::from(padding.horizontal()),                  y: bounds.center_y(),                  ..bounds              }, @@ -74,7 +75,7 @@ where                          font,                          color: style.text_color,                          bounds: Rectangle { -                            x: bounds.x + f32::from(padding), +                            x: bounds.x + f32::from(padding.left),                              y: bounds.center_y(),                              ..bounds                          }, diff --git a/graphics/src/widget/tooltip.rs b/graphics/src/widget/tooltip.rs index 1a1b5352..493a6389 100644 --- a/graphics/src/widget/tooltip.rs +++ b/graphics/src/widget/tooltip.rs @@ -5,7 +5,7 @@ use crate::{Primitive, Renderer, Vector};  use iced_native::container;  use iced_native::layout::{self, Layout}; -use iced_native::{Element, Point, Rectangle, Size, Text}; +use iced_native::{Element, Padding, Point, Rectangle, Size, Text};  /// An element decorating some content.  /// @@ -49,7 +49,6 @@ where              use iced_native::Widget;              let gap = f32::from(gap); -            let padding = f32::from(padding);              let style = style_sheet.style();              let defaults = Defaults { @@ -62,9 +61,10 @@ where                  tooltip,                  self,                  &layout::Limits::new(Size::ZERO, viewport.size()) -                    .pad(f32::from(padding)), +                    .pad(Padding::new(padding)),              ); +            let padding = f32::from(padding);              let text_bounds = text_layout.bounds();              let x_center = bounds.x + (bounds.width - text_bounds.width) / 2.0;              let y_center =  | 
