From 09e17ffc6bc845f70c6f7348246e1bc223fbefa0 Mon Sep 17 00:00:00 2001 From: "Brian J. Burg" Date: Mon, 17 Sep 2012 17:55:17 -0700 Subject: [PATCH] Move root flow size initialization into root.rs; move screen size into LayoutContext --- src/servo/layout/layout_task.rs | 10 ++++++---- src/servo/layout/root.rs | 8 +++----- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/src/servo/layout/layout_task.rs b/src/servo/layout/layout_task.rs index 3cceb75aba2..d71a4050a68 100644 --- a/src/servo/layout/layout_task.rs +++ b/src/servo/layout/layout_task.rs @@ -4,12 +4,16 @@ "]; use au = gfx::geometry; +use au::au; use content::content_task; use css::resolve::apply::apply_style; use css::values::Stylesheet; use display_list_builder::build_display_list; use dom::base::Node; use dom::event::{Event, ReflowEvent}; +use geom::point::Point2D; +use geom::rect::Rect; +use geom::size::Size2D; use gfx::render_task; use layout::base::Box; use layout::box_builder::LayoutTreeBuilder; @@ -55,6 +59,8 @@ fn LayoutTask(render_task: RenderTask, image_cache_task: ImageCacheTask) -> Layo image_cache: image_cache_task, font_cache: font_cache, doc_url: doc_url, + // TODO: obtain screen size from a real data source + screen_size: Rect(Point2D(au(0), au(0)), Size2D(au::from_px(800), au::from_px(600))) }; do util::time::time(~"layout") { @@ -81,10 +87,6 @@ fn LayoutTask(render_task: RenderTask, image_cache_task: ImageCacheTask) -> Layo /* perform layout passes over the flow tree */ let root_flow = root_box.ctx; do root_flow.traverse_postorder |f| { f.bubble_widths(&layout_ctx) } - // TODO: window/frame size should be set inside RootBox::assign_widths - root_flow.data.position.origin = au::zero_point(); - root_flow.data.position.size.width = au::from_px(800); - // end TODO do root_flow.traverse_preorder |f| { f.assign_widths(&layout_ctx) } do root_flow.traverse_postorder |f| { f.assign_height(&layout_ctx) } diff --git a/src/servo/layout/root.rs b/src/servo/layout/root.rs index 8bedaacc0dc..96070d94c9f 100644 --- a/src/servo/layout/root.rs +++ b/src/servo/layout/root.rs @@ -1,7 +1,5 @@ use au = gfx::geometry; use css::values::*; -use geom::point::Point2D; -use geom::size::Size2D; use gfx::geometry::au; use layout::base::{Box, FlowContext, FlowTree, InlineBlockFlow, BlockFlow, RootFlow}; use layout::context::LayoutContext; @@ -51,9 +49,9 @@ impl @FlowContext : RootLayout { fn assign_widths_root(ctx: &LayoutContext) { assert self.starts_root_flow(); - /* TODO: should determine frame width here, not in - LayoutTask. Until then, defer to block. */ - self.assign_widths_block(ctx) } + self.data.position = copy ctx.screen_size; + self.assign_widths_block(ctx) + } fn assign_height_root(ctx: &LayoutContext) { assert self.starts_root_flow();