Move towards a new reconciler model, undo a lot of the weird stretch integrations I had done, separate out Layout and Appearance concepts, introduce ComponentKey and constructor lifecycle for components

This commit is contained in:
Ryan McGrath 2019-05-27 00:22:33 -07:00
parent 6fd3f79099
commit 91266cc841
No known key found for this signature in database
GPG key ID: 811674B62B666830
31 changed files with 820 additions and 941 deletions

View file

@ -1,3 +1,6 @@
//! This module is included while awaiting an upstream merge in stretch proper.
//! You should not rely on it, and consider it an implementation detail.
use core::any::Any;
use std::collections::HashMap;
@ -6,12 +9,12 @@ use std::sync::Mutex;
use lazy_static::lazy_static;
use crate::geometry::Size;
use crate::stretch::geometry::Size;
use crate::stretch::id;
use crate::number::Number;
use crate::result::{Cache, Layout};
use crate::styles::*;
use crate::Error;
use crate::stretch::number::Number;
use crate::stretch::result::{Cache, Layout};
use crate::stretch::style::*;
use crate::stretch::Error;
type MeasureFunc = Box<Fn(Size<Number>) -> Result<Size<f32>, Box<Any>> + Send + Sync + 'static>;