summaryrefslogtreecommitdiff
path: root/library/src/layout
diff options
context:
space:
mode:
authorLaurenz <laurmaedje@gmail.com>2022-11-04 09:30:44 +0100
committerLaurenz <laurmaedje@gmail.com>2022-11-04 11:38:09 +0100
commiteb951c008beea502042db4a3a0e8d1f8b51f6f52 (patch)
tree9856ee4ed0222222669de10e616a580b2a60135e /library/src/layout
parent33928a00dc58250e24da1dae4e5db17e7b598d70 (diff)
Style changes
Diffstat (limited to 'library/src/layout')
-rw-r--r--library/src/layout/columns.rs8
-rw-r--r--library/src/layout/grid.rs12
-rw-r--r--library/src/layout/mod.rs86
-rw-r--r--library/src/layout/page.rs7
4 files changed, 47 insertions, 66 deletions
diff --git a/library/src/layout/columns.rs b/library/src/layout/columns.rs
index 8eae922b..2faa6329 100644
--- a/library/src/layout/columns.rs
+++ b/library/src/layout/columns.rs
@@ -74,12 +74,8 @@ impl LayoutBlock for ColumnsNode {
let mut output = Frame::new(Size::new(regions.first.x, height));
let mut cursor = Abs::zero();
- for _ in 0 .. columns {
- let frame = match frames.next() {
- Some(frame) => frame,
- None => break,
- };
-
+ for _ in 0..columns {
+ let Some(frame) = frames.next() else { break };
if !regions.expand.y {
output.size_mut().y.set_max(frame.height());
}
diff --git a/library/src/layout/grid.rs b/library/src/layout/grid.rs
index a6f93ab6..8e1cb7a2 100644
--- a/library/src/layout/grid.rs
+++ b/library/src/layout/grid.rs
@@ -170,13 +170,13 @@ impl<'a> GridLayouter<'a> {
};
// Collect content and gutter columns.
- for x in 0 .. c {
+ for x in 0..c {
cols.push(get_or(tracks.x, x, auto));
cols.push(get_or(gutter.x, x, zero));
}
// Collect content and gutter rows.
- for y in 0 .. r {
+ for y in 0..r {
rows.push(get_or(tracks.y, y, auto));
rows.push(get_or(gutter.y, y, zero));
}
@@ -214,7 +214,7 @@ impl<'a> GridLayouter<'a> {
fn layout(mut self) -> SourceResult<Vec<Frame>> {
self.measure_columns()?;
- for y in 0 .. self.rows.len() {
+ for y in 0..self.rows.len() {
// Skip to next region if current one is full, but only for content
// rows, not for gutter rows.
if y % 2 == 0 && self.regions.is_full() {
@@ -295,7 +295,7 @@ impl<'a> GridLayouter<'a> {
}
let mut resolved = Abs::zero();
- for y in 0 .. self.rows.len() {
+ for y in 0..self.rows.len() {
if let Some(cell) = self.cell(x, y) {
let size = Size::new(available, self.regions.base.y);
let mut pod =
@@ -412,7 +412,7 @@ impl<'a> GridLayouter<'a> {
// eaten up by any fr rows.
if self.fr.is_zero() {
let len = resolved.len();
- for (region, target) in self.regions.iter().zip(&mut resolved[.. len - 1]) {
+ for (region, target) in self.regions.iter().zip(&mut resolved[..len - 1]) {
target.set_max(region.y);
}
}
@@ -502,7 +502,7 @@ impl<'a> GridLayouter<'a> {
// Prepare regions.
let size = Size::new(self.used.x, heights[0]);
let mut pod = Regions::one(size, self.regions.base, Axes::splat(true));
- pod.backlog = heights[1 ..].to_vec();
+ pod.backlog = heights[1..].to_vec();
// Layout the row.
let mut pos = Point::zero();
diff --git a/library/src/layout/mod.rs b/library/src/layout/mod.rs
index 5ab5f42e..e116f159 100644
--- a/library/src/layout/mod.rs
+++ b/library/src/layout/mod.rs
@@ -12,17 +12,17 @@ mod spacing;
mod stack;
mod transform;
-pub use align::*;
-pub use columns::*;
-pub use container::*;
-pub use flow::*;
-pub use grid::*;
-pub use pad::*;
-pub use page::*;
-pub use place::*;
-pub use spacing::*;
-pub use stack::*;
-pub use transform::*;
+pub use self::align::*;
+pub use self::columns::*;
+pub use self::container::*;
+pub use self::flow::*;
+pub use self::grid::*;
+pub use self::pad::*;
+pub use self::page::*;
+pub use self::place::*;
+pub use self::spacing::*;
+pub use self::stack::*;
+pub use self::transform::*;
use std::mem;
@@ -357,18 +357,19 @@ impl<'a> Builder<'a> {
content: &'a Content,
styles: StyleChain<'a>,
) -> SourceResult<bool> {
- if let Some(mut realized) = styles.apply(self.world, Target::Node(content))? {
- let mut map = StyleMap::new();
- let barrier = Barrier::new(content.id());
- map.push(StyleEntry::Barrier(barrier));
- map.push(StyleEntry::Barrier(barrier));
- realized = realized.styled_with_map(map);
- let stored = self.scratch.templates.alloc(realized);
- self.accept(stored, styles)?;
- Ok(true)
- } else {
- Ok(false)
- }
+ let Some(mut realized) = styles.apply(self.world, Target::Node(content))? else {
+ return Ok(false);
+ };
+
+ let mut map = StyleMap::new();
+ let barrier = Barrier::new(content.id());
+ map.push(StyleEntry::Barrier(barrier));
+ map.push(StyleEntry::Barrier(barrier));
+ realized = realized.styled_with_map(map);
+ let stored = self.scratch.templates.alloc(realized);
+ self.accept(stored, styles)?;
+
+ Ok(true)
}
fn styled(
@@ -466,10 +467,7 @@ impl<'a> DocBuilder<'a> {
impl Default for DocBuilder<'_> {
fn default() -> Self {
- Self {
- pages: StyleVecBuilder::new(),
- keep_next: true,
- }
+ Self { pages: StyleVecBuilder::new(), keep_next: true }
}
}
@@ -658,30 +656,25 @@ impl<'a> ListBuilder<'a> {
{
self.items.push(item.clone(), styles);
self.tight &= self.staged.drain(..).all(|(t, _)| !t.is::<ParbreakNode>());
- } else {
- return false;
+ return true;
}
} else if !self.items.is_empty()
&& (content.is::<SpaceNode>() || content.is::<ParbreakNode>())
{
self.staged.push((content, styles));
- } else {
- return false;
+ return true;
}
- true
+ false
}
fn finish(self, parent: &mut Builder<'a>) -> SourceResult<()> {
let (items, shared) = self.items.finish();
- let kind = match items.items().next() {
- Some(item) => item.kind(),
- None => return Ok(()),
- };
+ let Some(item) = items.items().next() else { return Ok(()) };
let tight = self.tight;
let attached = tight && self.attachable;
- let content = match kind {
+ let content = match item.kind() {
LIST => ListNode::<LIST> { tight, attached, items }.pack(),
ENUM => ListNode::<ENUM> { tight, attached, items }.pack(),
DESC | _ => ListNode::<DESC> { tight, attached, items }.pack(),
@@ -765,18 +758,15 @@ impl<'a, T> CollapsingBuilder<'a, T> {
}
if self.last == Last::Weak {
- if let Some(i) =
- self.staged.iter().position(|(prev_item, _, prev_weakness)| {
- prev_weakness.map_or(false, |prev_weakness| {
- weakness < prev_weakness
- || (weakness == prev_weakness && item > *prev_item)
- })
+ let weak = self.staged.iter().position(|(prev_item, _, prev_weakness)| {
+ prev_weakness.map_or(false, |prev_weakness| {
+ weakness < prev_weakness
+ || (weakness == prev_weakness && item > *prev_item)
})
- {
- self.staged.remove(i);
- } else {
- return;
- }
+ });
+
+ let Some(weak) = weak else { return };
+ self.staged.remove(weak);
}
self.staged.push((item, styles, Some(weakness)));
diff --git a/library/src/layout/page.rs b/library/src/layout/page.rs
index 7ce0d633..e1af6ec5 100644
--- a/library/src/layout/page.rs
+++ b/library/src/layout/page.rs
@@ -111,12 +111,7 @@ impl PageNode {
let pw = size.x - pad.left - pad.right;
let py = size.y - pad.bottom;
for (role, marginal, pos, area) in [
- (
- Role::Header,
- header,
- Point::with_x(pad.left),
- Size::new(pw, pad.top),
- ),
+ (Role::Header, header, Point::with_x(pad.left), Size::new(pw, pad.top)),
(
Role::Footer,
footer,