summaryrefslogtreecommitdiffstats
path: root/native/src/widget/column.rs
diff options
context:
space:
mode:
authorLibravatar Ben LeFevre <ben@lefev.dev>2020-11-23 17:19:21 +0000
committerLibravatar Héctor Ramón <hector@lich.io>2021-06-01 19:05:39 +0700
commitfe0a27c56d9d75fb521e69352259f1d737402a20 (patch)
treef7f77430b63983717036a81e734276123d139ca6 /native/src/widget/column.rs
parenta9eb591628017caaf7aa9af505d1206f7a143a9a (diff)
downloadiced-fe0a27c56d9d75fb521e69352259f1d737402a20.tar.gz
iced-fe0a27c56d9d75fb521e69352259f1d737402a20.tar.bz2
iced-fe0a27c56d9d75fb521e69352259f1d737402a20.zip
Add support for asymmetrical padding
Diffstat (limited to 'native/src/widget/column.rs')
-rw-r--r--native/src/widget/column.rs20
1 files changed, 13 insertions, 7 deletions
diff --git a/native/src/widget/column.rs b/native/src/widget/column.rs
index d7f0365a..9f25f918 100644
--- a/native/src/widget/column.rs
+++ b/native/src/widget/column.rs
@@ -5,7 +5,8 @@ use crate::event::{self, Event};
use crate::layout;
use crate::overlay;
use crate::{
- Align, Clipboard, Element, Hasher, Layout, Length, Point, Rectangle, Widget,
+ Align, Clipboard, Element, Hasher, Layout, Length, Padding, Point,
+ Rectangle, Widget,
};
use std::u32;
@@ -14,7 +15,7 @@ use std::u32;
#[allow(missing_debug_implementations)]
pub struct Column<'a, Message, Renderer> {
spacing: u16,
- padding: u16,
+ padding: Padding,
width: Length,
height: Length,
max_width: u32,
@@ -35,7 +36,7 @@ impl<'a, Message, Renderer> Column<'a, Message, Renderer> {
) -> Self {
Column {
spacing: 0,
- padding: 0,
+ padding: Padding::ZERO,
width: Length::Shrink,
height: Length::Shrink,
max_width: u32::MAX,
@@ -55,9 +56,14 @@ impl<'a, Message, Renderer> Column<'a, Message, Renderer> {
self
}
- /// Sets the padding of the [`Column`].
- pub fn padding(mut self, units: u16) -> Self {
- self.padding = units;
+ /// Sets the [`Padding`] of the [`Column`].
+ ///```ignore
+ /// Column::new(/*...*/).padding(20); // 20px on all sides
+ /// Column::new(/*...*/).padding([10, 20]); // top/bottom, left/right
+ /// Column::new(/*...*/).padding([5, 10, 15, 20]); // top, right, bottom, left
+ /// ```
+ pub fn padding<P: Into<Padding>>(mut self, padding: P) -> Self {
+ self.padding = padding.into();
self
}
@@ -129,7 +135,7 @@ where
layout::flex::Axis::Vertical,
renderer,
&limits,
- self.padding as f32,
+ self.padding,
self.spacing as f32,
self.align_items,
&self.children,