From f2fbe329acd7a30f3d7e3e073a4199d4d967aab0 Mon Sep 17 00:00:00 2001
From: Turki Jamaan <22967219+tjamaan@users.noreply.github.com>
Date: Tue, 15 Oct 2024 10:56:20 +0300
Subject: [PATCH 1/5] implement`direction` property and apply to grid layout
---
.cargo/config.toml | 6 ++++
src/compute/block.rs | 13 +++++++-
src/compute/flexbox.rs | 21 +++++++++++--
src/compute/grid/alignment.rs | 4 +++
src/compute/grid/mod.rs | 21 ++++++++++---
src/compute/grid/track_sizing.rs | 2 ++
src/compute/grid/types/grid_item.rs | 7 ++++-
src/compute/mod.rs | 21 +++++++------
src/style/mod.rs | 49 ++++++++++++++++++++++++++---
src/tree/layout.rs | 4 +++
src/tree/traits.rs | 5 +++
11 files changed, 131 insertions(+), 22 deletions(-)
diff --git a/.cargo/config.toml b/.cargo/config.toml
index 4a305236e..73ee4959a 100644
--- a/.cargo/config.toml
+++ b/.cargo/config.toml
@@ -1,3 +1,9 @@
+[unstable]
+codegen-backend = true
+
+[profile.dev]
+codegen-backend = "cranelift"
+
[alias]
gentest = "run --release --package gentest --"
import-yoga-tests = "run --package import-yoga-tests --"
diff --git a/src/compute/block.rs b/src/compute/block.rs
index eeb2aa009..9be42f627 100644
--- a/src/compute/block.rs
+++ b/src/compute/block.rs
@@ -9,7 +9,9 @@ use crate::util::sys::f32_max;
use crate::util::sys::Vec;
use crate::util::MaybeMath;
use crate::util::{MaybeResolve, ResolveOrZero};
-use crate::{BlockContainerStyle, BlockItemStyle, BoxGenerationMode, BoxSizing, LayoutBlockContainer, TextAlign};
+use crate::{
+ BlockContainerStyle, BlockItemStyle, BoxGenerationMode, BoxSizing, Direction, LayoutBlockContainer, TextAlign,
+};
#[cfg(feature = "content_size")]
use super::common::content_size::compute_content_size_contribution;
@@ -26,6 +28,9 @@ struct BlockItem {
/// Items that are tables don't have stretch sizing applied to them
is_table: bool,
+ /// Direction (LTR or RTL)
+ direction: Direction,
+
/// The base size of this item
size: Size