mirror of
https://github.com/servo/servo.git
synced 2025-08-04 13:10:20 +01:00
Merge pull request #2726 from jdm/layoutsplit
Split layout code into a separate crate.
This commit is contained in:
commit
21e4d85511
46 changed files with 352 additions and 286 deletions
26
Makefile.in
26
Makefile.in
|
@ -274,14 +274,30 @@ DONE_style = $(B)src/components/style/libstyle.dummy
|
|||
|
||||
DEPS_style = $(CRATE_style) $(SRC_style) $(DONE_SUBMODULES) $(DONE_util) $(DONE_macros)
|
||||
|
||||
RFLAGS_servo = $(strip $(CFG_RUSTC_FLAGS)) $(addprefix -L $(B)src/,$(DEPS_SUBMODULES)) -L $(B)src/components/gfx -L $(B)src/components/util -L $(B)src/components/net -L $(B)src/components/script -L $(B)src/components/style -L $(B)src/components/msg -L$(B)src/components/macros
|
||||
RFLAGS_layout = $(strip $(CFG_RUSTC_FLAGS)) $(addprefix -L $(B)src/,$(DEPS_SUBMODULES)) -L $(B)src/components/gfx -L $(B)src/components/util -L $(B)src/components/net -L $(B)src/components/script -L $(B)src/components/style -L $(B)src/components/msg -L$(B)src/components/macros
|
||||
|
||||
SRC_servo = $(call rwildcard,$(S)src/components/main/,*.rs) $(S)src/components/main/css/user-agent.css
|
||||
SRC_layout = $(call rwildcard,$(S)src/components/layout/,*.rs) $(S)src/components/layout/css/user-agent.css
|
||||
CRATE_layout = $(S)src/components/layout/layout.rs
|
||||
DONE_layout = $(B)src/components/layout/liblayout.dummy
|
||||
|
||||
DEPS_layout = $(CRATE_layout) $(SRC_layout) $(DONE_script) $(DONE_style) $(DONE_msg) $(DONE_macros) $(DONE_gfx) $(DONE_util)
|
||||
|
||||
RFLAGS_compositing = $(strip $(CFG_RUSTC_FLAGS)) $(addprefix -L $(B)src/,$(DEPS_SUBMODULES)) -L $(B)src/components/gfx -L $(B)src/components/util -L $(B)src/components/net -L $(B)src/components/script -L $(B)src/components/layout -L $(B)src/components/style -L $(B)src/components/msg
|
||||
|
||||
SRC_compositing = $(call rwildcard,$(S)src/components/compositing/,*.rs)
|
||||
CRATE_compositing = $(S)src/components/compositing/compositing.rs
|
||||
DONE_compositing = $(B)src/components/compositing/libcompositing.dummy
|
||||
|
||||
DEPS_compositing = $(CRATE_compositing) $(SRC_compositing) $(DONE_util) $(DONE_msg) $(DONE_gfx) $(DONE_script) $(DONE_layout) $(DONE_style)
|
||||
|
||||
RFLAGS_servo = $(strip $(CFG_RUSTC_FLAGS)) $(addprefix -L $(B)src/,$(DEPS_SUBMODULES)) -L $(B)src/components/gfx -L $(B)src/components/util -L $(B)src/components/net -L $(B)src/components/script -L $(B)src/components/layout -L $(B)src/components/compositing -L $(B)src/components/style -L $(B)src/components/msg -L$(B)src/components/macros
|
||||
|
||||
SRC_servo = $(call rwildcard,$(S)src/components/main/,*.rs)
|
||||
CRATE_servo = $(S)src/components/main/servo.rs
|
||||
|
||||
DEPS_servo = $(CRATE_servo) $(SRC_servo) $(DONE_SUBMODULES) $(DONE_util) $(DONE_gfx) $(DONE_script) $(DONE_net) $(DONE_msg) $(DONE_style) $(DONE_macros)
|
||||
DEPS_servo = $(CRATE_servo) $(SRC_servo) $(DONE_SUBMODULES) $(DONE_util) $(DONE_gfx) $(DONE_script) $(DONE_net) $(DONE_msg) $(DONE_style) $(DONE_macros) $(DONE_layout) $(DONE_compositing)
|
||||
|
||||
SERVO_LIB_CRATES = macros util net msg gfx script style
|
||||
SERVO_LIB_CRATES = macros util net msg gfx script style layout compositing
|
||||
|
||||
# rules that depend on having correct meta-target vars (DEPS_CLEAN, DEPS_servo, etc)
|
||||
# and SERVO_LIB_CRATES
|
||||
|
@ -348,7 +364,7 @@ servo: $(DEPS_servo)
|
|||
@$(call E, compile: $@)
|
||||
$(Q)$(RUSTC) $(RFLAGS_servo) $< --crate-type bin,dylib,rlib
|
||||
|
||||
RFLAGS_embedding = $(strip $(CFG_RUSTC_FLAGS)) $(addprefix -L $(B)src/,$(DEPS_SUBMODULES)) -L $(B)src/components/gfx -L $(B)src/components/util -L $(B)src/components/net -L $(B)src/components/script -L $(B)src/components/style -L $(B)src/components/msg -L $(B).. -L $(B)src/components/main -L $(B)src/components/macros -A non_camel_case_types -A unused_variable
|
||||
RFLAGS_embedding = $(strip $(CFG_RUSTC_FLAGS)) $(addprefix -L $(B)src/,$(DEPS_SUBMODULES)) -L $(B)src/components/gfx -L $(B)src/components/util -L $(B)src/components/net -L $(B)src/components/script -L $(B)src/components/layout -L $(B)src/components/compositing -L $(B)src/components/style -L $(B)src/components/msg -L $(B).. -L $(B)src/components/main -L $(B)src/components/macros -A non_camel_case_types -A unused_variable
|
||||
|
||||
ifeq ($(CFG_OSTYPE),apple-darwin)
|
||||
RFLAGS_embedding += -C link-args="-Wl,-U,_tc_new -Wl,-U,_tc_newarray -Wl,-U,_tc_delete -Wl,-U,_tc_deletearray"
|
||||
|
|
2
configure
vendored
2
configure
vendored
|
@ -604,10 +604,12 @@ done
|
|||
|
||||
make_dir ${CFG_BUILD_DIR}src/components/macros
|
||||
make_dir ${CFG_BUILD_DIR}src/components/util
|
||||
make_dir ${CFG_BUILD_DIR}src/components/compositing
|
||||
make_dir ${CFG_BUILD_DIR}src/components/embedding
|
||||
make_dir ${CFG_BUILD_DIR}src/components/msg
|
||||
make_dir ${CFG_BUILD_DIR}src/components/net
|
||||
make_dir ${CFG_BUILD_DIR}src/components/gfx
|
||||
make_dir ${CFG_BUILD_DIR}src/components/layout
|
||||
make_dir ${CFG_BUILD_DIR}src/components/script
|
||||
make_dir ${CFG_BUILD_DIR}src/components/style
|
||||
make_dir ${CFG_BUILD_DIR}src/components/main
|
||||
|
|
64
src/components/compositing/compositing.rs
Normal file
64
src/components/compositing/compositing.rs
Normal file
|
@ -0,0 +1,64 @@
|
|||
/* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
||||
|
||||
#![crate_id = "github.com/mozilla/servo#compositing:0.1"]
|
||||
#![crate_type = "lib"]
|
||||
#![crate_type = "dylib"]
|
||||
#![crate_type = "rlib"]
|
||||
|
||||
#![comment = "The Servo Parallel Browser Project"]
|
||||
#![license = "MPL"]
|
||||
|
||||
#![feature(globs, phase, macro_rules)]
|
||||
|
||||
#[phase(plugin, link)]
|
||||
extern crate log;
|
||||
|
||||
extern crate debug;
|
||||
|
||||
extern crate alert;
|
||||
extern crate azure;
|
||||
extern crate geom;
|
||||
extern crate gfx;
|
||||
#[cfg(not(target_os="android"))]
|
||||
extern crate glfw;
|
||||
#[cfg(target_os="android")]
|
||||
extern crate glut;
|
||||
extern crate layers;
|
||||
extern crate layout;
|
||||
extern crate opengles;
|
||||
extern crate png;
|
||||
extern crate script;
|
||||
extern crate servo_msg = "msg";
|
||||
extern crate servo_net = "net";
|
||||
#[phase(plugin, link)]
|
||||
extern crate servo_util = "util";
|
||||
|
||||
extern crate libc;
|
||||
extern crate time;
|
||||
extern crate url;
|
||||
|
||||
#[cfg(target_os="macos")]
|
||||
extern crate core_graphics;
|
||||
#[cfg(target_os="macos")]
|
||||
extern crate core_text;
|
||||
|
||||
pub use compositor_task::{CompositorChan, CompositorTask};
|
||||
pub use constellation::Constellation;
|
||||
|
||||
mod compositor_task;
|
||||
|
||||
mod quadtree;
|
||||
mod compositor_layer;
|
||||
|
||||
mod compositor;
|
||||
mod headless;
|
||||
|
||||
mod pipeline;
|
||||
mod constellation;
|
||||
|
||||
mod windowing;
|
||||
|
||||
#[path="platform/mod.rs"]
|
||||
pub mod platform;
|
|
@ -2,11 +2,16 @@
|
|||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
||||
|
||||
use compositor_task::{Msg, CompositorTask, Exit, ChangeReadyState, SetUnRenderedColor};
|
||||
use compositor_task::{SetIds, GetGraphicsMetadata, CreateRootCompositorLayerIfNecessary};
|
||||
use compositor_task::{CreateDescendantCompositorLayerIfNecessary, SetLayerPageSize};
|
||||
use compositor_task::{SetLayerClipRect, Paint, ScrollFragmentPoint, LoadComplete};
|
||||
use compositor_task::{ShutdownComplete, ChangeRenderState};
|
||||
use constellation::SendableFrameTree;
|
||||
use compositing::compositor_layer::CompositorLayer;
|
||||
use compositing::*;
|
||||
use compositor_layer::CompositorLayer;
|
||||
use pipeline::CompositionPipeline;
|
||||
use platform::{Application, Window};
|
||||
use windowing;
|
||||
use windowing::{FinishedWindowEvent, IdleWindowEvent, LoadUrlWindowEvent, MouseWindowClickEvent};
|
||||
use windowing::{MouseWindowEvent, MouseWindowEventClass, MouseWindowMouseDownEvent};
|
||||
use windowing::{MouseWindowMouseUpEvent, MouseWindowMoveEventClass, NavigationWindowEvent};
|
|
@ -2,7 +2,7 @@
|
|||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
||||
|
||||
use compositing::quadtree::{Quadtree, Normal, Hidden};
|
||||
use quadtree::{Quadtree, Normal, Hidden};
|
||||
use pipeline::CompositionPipeline;
|
||||
use windowing::{MouseWindowEvent, MouseWindowClickEvent, MouseWindowMouseDownEvent};
|
||||
use windowing::{MouseWindowMouseUpEvent};
|
|
@ -4,6 +4,8 @@
|
|||
|
||||
pub use windowing;
|
||||
|
||||
use compositor;
|
||||
use headless;
|
||||
use constellation::SendableFrameTree;
|
||||
use windowing::{ApplicationMethods, WindowMethods};
|
||||
use platform::Application;
|
||||
|
@ -26,12 +28,6 @@ use url::Url;
|
|||
#[cfg(target_os="linux")]
|
||||
use azure::azure_hl;
|
||||
|
||||
mod quadtree;
|
||||
mod compositor_layer;
|
||||
|
||||
mod compositor;
|
||||
mod headless;
|
||||
|
||||
/// The implementation of the layers-based compositor.
|
||||
#[deriving(Clone)]
|
||||
pub struct CompositorChan {
|
||||
|
@ -214,11 +210,11 @@ impl CompositorTask {
|
|||
///
|
||||
/// FIXME(pcwalton): Probably could be less platform-specific, using the metadata abstraction.
|
||||
#[cfg(target_os="linux")]
|
||||
fn create_graphics_context() -> NativeCompositingGraphicsContext {
|
||||
pub fn create_graphics_context() -> NativeCompositingGraphicsContext {
|
||||
NativeCompositingGraphicsContext::from_display(azure_hl::current_display())
|
||||
}
|
||||
#[cfg(not(target_os="linux"))]
|
||||
fn create_graphics_context() -> NativeCompositingGraphicsContext {
|
||||
pub fn create_graphics_context() -> NativeCompositingGraphicsContext {
|
||||
NativeCompositingGraphicsContext::new()
|
||||
}
|
||||
|
|
@ -2,8 +2,7 @@
|
|||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
||||
|
||||
use compositing::{CompositorChan, LoadComplete, SetIds, SetLayerClipRect, ShutdownComplete};
|
||||
|
||||
use compositor_task::{CompositorChan, LoadComplete, ShutdownComplete, SetLayerClipRect, SetIds};
|
||||
use std::collections::hashmap::{HashMap, HashSet};
|
||||
use geom::rect::{Rect, TypedRect};
|
||||
use geom::scale_factor::ScaleFactor;
|
|
@ -2,7 +2,11 @@
|
|||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
||||
|
||||
use compositing::*;
|
||||
use compositor_task::{Msg, Exit, ChangeReadyState, SetUnRenderedColor};
|
||||
use compositor_task::{SetIds, GetGraphicsMetadata, CreateRootCompositorLayerIfNecessary};
|
||||
use compositor_task::{CreateDescendantCompositorLayerIfNecessary, SetLayerPageSize};
|
||||
use compositor_task::{SetLayerClipRect, Paint, ScrollFragmentPoint, LoadComplete};
|
||||
use compositor_task::{ShutdownComplete, ChangeRenderState};
|
||||
|
||||
use geom::scale_factor::ScaleFactor;
|
||||
use geom::size::TypedSize2D;
|
|
@ -2,7 +2,7 @@
|
|||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
||||
|
||||
use compositing::CompositorChan;
|
||||
use CompositorChan;
|
||||
use layout::layout_task::LayoutTask;
|
||||
|
||||
use gfx::render_task::{PaintPermissionGranted, PaintPermissionRevoked};
|
|
@ -14,18 +14,18 @@
|
|||
|
||||
#![deny(unsafe_block)]
|
||||
|
||||
use layout::construct::FlowConstructor;
|
||||
use layout::context::LayoutContext;
|
||||
use layout::floats::{ClearBoth, ClearLeft, ClearRight, FloatKind, Floats, PlacementInfo};
|
||||
use layout::flow::{BaseFlow, BlockFlowClass, FlowClass, Flow, ImmutableFlowUtils};
|
||||
use layout::flow::{MutableFlowUtils, PreorderFlowTraversal, PostorderFlowTraversal, mut_base};
|
||||
use layout::flow;
|
||||
use layout::fragment::{Fragment, ImageFragment, ScannedTextFragment};
|
||||
use layout::model::{Auto, IntrinsicWidths, MarginCollapseInfo, MarginsCollapse};
|
||||
use layout::model::{MarginsCollapseThrough, MaybeAuto, NoCollapsibleMargins, Specified, specified};
|
||||
use layout::model::{specified_or_none};
|
||||
use layout::model;
|
||||
use layout::wrapper::ThreadSafeLayoutNode;
|
||||
use construct::FlowConstructor;
|
||||
use context::LayoutContext;
|
||||
use floats::{ClearBoth, ClearLeft, ClearRight, FloatKind, Floats, PlacementInfo};
|
||||
use flow::{BaseFlow, BlockFlowClass, FlowClass, Flow, ImmutableFlowUtils};
|
||||
use flow::{MutableFlowUtils, PreorderFlowTraversal, PostorderFlowTraversal, mut_base};
|
||||
use flow;
|
||||
use fragment::{Fragment, ImageFragment, ScannedTextFragment};
|
||||
use model::{Auto, IntrinsicWidths, MarginCollapseInfo, MarginsCollapse};
|
||||
use model::{MarginsCollapseThrough, MaybeAuto, NoCollapsibleMargins, Specified, specified};
|
||||
use model::{specified_or_none};
|
||||
use model;
|
||||
use wrapper::ThreadSafeLayoutNode;
|
||||
use style::ComputedValues;
|
||||
use style::computed_values::{clear, position};
|
||||
|
|
@ -20,31 +20,31 @@
|
|||
#![deny(unsafe_block)]
|
||||
|
||||
use css::node_style::StyledNode;
|
||||
use layout::block::BlockFlow;
|
||||
use layout::context::LayoutContext;
|
||||
use layout::floats::FloatKind;
|
||||
use layout::flow::{Flow, ImmutableFlowUtils, MutableOwnedFlowUtils};
|
||||
use layout::flow::{Descendants, AbsDescendants};
|
||||
use layout::flow;
|
||||
use layout::flow_ref::FlowRef;
|
||||
use layout::fragment::{Fragment, GenericFragment, IframeFragment, IframeFragmentInfo};
|
||||
use layout::fragment::{ImageFragment, ImageFragmentInfo, SpecificFragmentInfo, TableFragment};
|
||||
use layout::fragment::{TableCellFragment, TableColumnFragment, TableColumnFragmentInfo};
|
||||
use layout::fragment::{TableRowFragment, TableWrapperFragment, UnscannedTextFragment};
|
||||
use layout::fragment::{UnscannedTextFragmentInfo};
|
||||
use layout::inline::{FragmentIndex, InlineFragments, InlineFlow};
|
||||
use layout::parallel;
|
||||
use layout::table_wrapper::TableWrapperFlow;
|
||||
use layout::table::TableFlow;
|
||||
use layout::table_caption::TableCaptionFlow;
|
||||
use layout::table_colgroup::TableColGroupFlow;
|
||||
use layout::table_rowgroup::TableRowGroupFlow;
|
||||
use layout::table_row::TableRowFlow;
|
||||
use layout::table_cell::TableCellFlow;
|
||||
use layout::text::TextRunScanner;
|
||||
use layout::util::{LayoutDataAccess, OpaqueNodeMethods};
|
||||
use layout::wrapper::{PostorderNodeMutTraversal, TLayoutNode, ThreadSafeLayoutNode};
|
||||
use layout::wrapper::{Before, BeforeBlock, After, AfterBlock, Normal};
|
||||
use block::BlockFlow;
|
||||
use context::LayoutContext;
|
||||
use floats::FloatKind;
|
||||
use flow::{Flow, ImmutableFlowUtils, MutableOwnedFlowUtils};
|
||||
use flow::{Descendants, AbsDescendants};
|
||||
use flow;
|
||||
use flow_ref::FlowRef;
|
||||
use fragment::{Fragment, GenericFragment, IframeFragment, IframeFragmentInfo};
|
||||
use fragment::{ImageFragment, ImageFragmentInfo, SpecificFragmentInfo, TableFragment};
|
||||
use fragment::{TableCellFragment, TableColumnFragment, TableColumnFragmentInfo};
|
||||
use fragment::{TableRowFragment, TableWrapperFragment, UnscannedTextFragment};
|
||||
use fragment::{UnscannedTextFragmentInfo};
|
||||
use inline::{FragmentIndex, InlineFragments, InlineFlow};
|
||||
use parallel;
|
||||
use table_wrapper::TableWrapperFlow;
|
||||
use table::TableFlow;
|
||||
use table_caption::TableCaptionFlow;
|
||||
use table_colgroup::TableColGroupFlow;
|
||||
use table_rowgroup::TableRowGroupFlow;
|
||||
use table_row::TableRowFlow;
|
||||
use table_cell::TableCellFlow;
|
||||
use text::TextRunScanner;
|
||||
use util::{LayoutDataAccess, OpaqueNodeMethods};
|
||||
use wrapper::{PostorderNodeMutTraversal, TLayoutNode, ThreadSafeLayoutNode};
|
||||
use wrapper::{Before, BeforeBlock, After, AfterBlock, Normal};
|
||||
|
||||
use gfx::display_list::OpaqueNode;
|
||||
use gfx::font_context::FontContext;
|
|
@ -5,11 +5,11 @@
|
|||
// High-level interface to CSS selector matching.
|
||||
|
||||
use css::node_style::StyledNode;
|
||||
use layout::construct::FlowConstructor;
|
||||
use layout::context::LayoutContext;
|
||||
use layout::extra::LayoutAuxMethods;
|
||||
use layout::util::{LayoutDataAccess, LayoutDataWrapper};
|
||||
use layout::wrapper::{LayoutElement, LayoutNode, PostorderNodeMutTraversal, ThreadSafeLayoutNode};
|
||||
use construct::FlowConstructor;
|
||||
use context::LayoutContext;
|
||||
use extra::LayoutAuxMethods;
|
||||
use util::{LayoutDataAccess, LayoutDataWrapper};
|
||||
use wrapper::{LayoutElement, LayoutNode, PostorderNodeMutTraversal, ThreadSafeLayoutNode};
|
||||
|
||||
use gfx::font_context::FontContext;
|
||||
use servo_util::cache::{Cache, LRUCache, SimpleHashCache};
|
|
@ -5,8 +5,8 @@
|
|||
// Style retrieval from DOM elements.
|
||||
|
||||
use css::node_util::NodeUtil;
|
||||
use layout::incremental::RestyleDamage;
|
||||
use layout::wrapper::ThreadSafeLayoutNode;
|
||||
use incremental::RestyleDamage;
|
||||
use wrapper::ThreadSafeLayoutNode;
|
||||
|
||||
use style::ComputedValues;
|
||||
use sync::Arc;
|
|
@ -2,10 +2,10 @@
|
|||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
||||
|
||||
use layout::incremental::RestyleDamage;
|
||||
use layout::util::LayoutDataAccess;
|
||||
use layout::wrapper::{TLayoutNode, ThreadSafeLayoutNode};
|
||||
use layout::wrapper::{After, AfterBlock, Before, BeforeBlock, Normal};
|
||||
use incremental::RestyleDamage;
|
||||
use util::LayoutDataAccess;
|
||||
use wrapper::{TLayoutNode, ThreadSafeLayoutNode};
|
||||
use wrapper::{After, AfterBlock, Before, BeforeBlock, Normal};
|
||||
use std::mem;
|
||||
use style::ComputedValues;
|
||||
use sync::Arc;
|
|
@ -4,8 +4,8 @@
|
|||
|
||||
//! Code for managing the layout data in the DOM.
|
||||
|
||||
use layout::util::{PrivateLayoutData, LayoutDataAccess, LayoutDataWrapper};
|
||||
use layout::wrapper::LayoutNode;
|
||||
use util::{PrivateLayoutData, LayoutDataAccess, LayoutDataWrapper};
|
||||
use wrapper::LayoutNode;
|
||||
use script::dom::node::SharedLayoutData;
|
||||
use script::layout_interface::LayoutChan;
|
||||
|
|
@ -26,24 +26,24 @@
|
|||
/// similar methods.
|
||||
|
||||
use css::node_style::StyledNode;
|
||||
use layout::block::BlockFlow;
|
||||
use layout::context::LayoutContext;
|
||||
use layout::floats::Floats;
|
||||
use layout::flow_list::{FlowList, Link, FlowListIterator, MutFlowListIterator};
|
||||
use layout::flow_ref::FlowRef;
|
||||
use layout::fragment::{Fragment, TableRowFragment, TableCellFragment};
|
||||
use layout::incremental::RestyleDamage;
|
||||
use layout::inline::InlineFlow;
|
||||
use layout::model::{CollapsibleMargins, IntrinsicWidths, MarginCollapseInfo};
|
||||
use layout::parallel::FlowParallelInfo;
|
||||
use layout::table_wrapper::TableWrapperFlow;
|
||||
use layout::table::TableFlow;
|
||||
use layout::table_colgroup::TableColGroupFlow;
|
||||
use layout::table_rowgroup::TableRowGroupFlow;
|
||||
use layout::table_row::TableRowFlow;
|
||||
use layout::table_caption::TableCaptionFlow;
|
||||
use layout::table_cell::TableCellFlow;
|
||||
use layout::wrapper::ThreadSafeLayoutNode;
|
||||
use block::BlockFlow;
|
||||
use context::LayoutContext;
|
||||
use floats::Floats;
|
||||
use flow_list::{FlowList, Link, FlowListIterator, MutFlowListIterator};
|
||||
use flow_ref::FlowRef;
|
||||
use fragment::{Fragment, TableRowFragment, TableCellFragment};
|
||||
use incremental::RestyleDamage;
|
||||
use inline::InlineFlow;
|
||||
use model::{CollapsibleMargins, IntrinsicWidths, MarginCollapseInfo};
|
||||
use parallel::FlowParallelInfo;
|
||||
use table_wrapper::TableWrapperFlow;
|
||||
use table::TableFlow;
|
||||
use table_colgroup::TableColGroupFlow;
|
||||
use table_rowgroup::TableRowGroupFlow;
|
||||
use table_row::TableRowFlow;
|
||||
use table_caption::TableCaptionFlow;
|
||||
use table_cell::TableCellFlow;
|
||||
use wrapper::ThreadSafeLayoutNode;
|
||||
|
||||
use collections::dlist::DList;
|
||||
use geom::point::Point2D;
|
|
@ -5,8 +5,8 @@
|
|||
//! A variant of `DList` specialized to store `Flow`s without an extra
|
||||
//! indirection.
|
||||
|
||||
use layout::flow::{Flow, base, mut_base};
|
||||
use layout::flow_ref::FlowRef;
|
||||
use flow::{Flow, base, mut_base};
|
||||
use flow_ref::FlowRef;
|
||||
|
||||
use std::mem;
|
||||
use std::ptr;
|
|
@ -6,8 +6,8 @@
|
|||
///
|
||||
/// Eventually, with dynamically sized types in Rust, much of this code will be superfluous.
|
||||
|
||||
use layout::flow::Flow;
|
||||
use layout::flow;
|
||||
use flow::Flow;
|
||||
use flow;
|
||||
|
||||
use std::mem;
|
||||
use std::ptr;
|
|
@ -7,17 +7,17 @@
|
|||
#![deny(unsafe_block)]
|
||||
|
||||
use css::node_style::StyledNode;
|
||||
use layout::construct::FlowConstructor;
|
||||
use layout::context::LayoutContext;
|
||||
use layout::floats::{ClearBoth, ClearLeft, ClearRight, ClearType};
|
||||
use layout::flow::Flow;
|
||||
use layout::flow;
|
||||
use layout::inline::{InlineFragmentContext, InlineMetrics};
|
||||
use layout::model::{Auto, IntrinsicWidths, MaybeAuto, Specified, specified};
|
||||
use layout::model;
|
||||
use layout::text;
|
||||
use layout::util::{OpaqueNodeMethods, ToGfxColor};
|
||||
use layout::wrapper::{TLayoutNode, ThreadSafeLayoutNode};
|
||||
use construct::FlowConstructor;
|
||||
use context::LayoutContext;
|
||||
use floats::{ClearBoth, ClearLeft, ClearRight, ClearType};
|
||||
use flow::Flow;
|
||||
use flow;
|
||||
use inline::{InlineFragmentContext, InlineMetrics};
|
||||
use model::{Auto, IntrinsicWidths, MaybeAuto, Specified, specified};
|
||||
use model;
|
||||
use text;
|
||||
use util::{OpaqueNodeMethods, ToGfxColor};
|
||||
use wrapper::{TLayoutNode, ThreadSafeLayoutNode};
|
||||
|
||||
use geom::{Point2D, Rect, Size2D, SideOffsets2D};
|
||||
use geom::approxeq::ApproxEq;
|
|
@ -5,15 +5,15 @@
|
|||
#![deny(unsafe_block)]
|
||||
|
||||
use css::node_style::StyledNode;
|
||||
use layout::context::LayoutContext;
|
||||
use layout::floats::{FloatLeft, Floats, PlacementInfo};
|
||||
use layout::flow::{BaseFlow, FlowClass, Flow, InlineFlowClass};
|
||||
use layout::flow;
|
||||
use layout::fragment::{Fragment, ScannedTextFragment, ScannedTextFragmentInfo, SplitInfo};
|
||||
use layout::model::IntrinsicWidths;
|
||||
use layout::model;
|
||||
use layout::text;
|
||||
use layout::wrapper::ThreadSafeLayoutNode;
|
||||
use context::LayoutContext;
|
||||
use floats::{FloatLeft, Floats, PlacementInfo};
|
||||
use flow::{BaseFlow, FlowClass, Flow, InlineFlowClass};
|
||||
use flow;
|
||||
use fragment::{Fragment, ScannedTextFragment, ScannedTextFragmentInfo, SplitInfo};
|
||||
use model::IntrinsicWidths;
|
||||
use model;
|
||||
use text;
|
||||
use wrapper::ThreadSafeLayoutNode;
|
||||
|
||||
use collections::{Deque, RingBuf};
|
||||
use geom::{Point2D, Rect, SideOffsets2D, Size2D};
|
68
src/components/layout/layout.rs
Normal file
68
src/components/layout/layout.rs
Normal file
|
@ -0,0 +1,68 @@
|
|||
/* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
||||
|
||||
#![crate_id = "github.com/mozilla/servo#layout:0.1"]
|
||||
#![crate_type = "lib"]
|
||||
#![crate_type = "dylib"]
|
||||
#![crate_type = "rlib"]
|
||||
|
||||
#![comment = "The Servo Parallel Browser Project"]
|
||||
#![license = "MPL"]
|
||||
|
||||
#![feature(globs, macro_rules, phase, thread_local)]
|
||||
|
||||
#[phase(plugin, link)]
|
||||
extern crate log;
|
||||
|
||||
extern crate debug;
|
||||
|
||||
extern crate geom;
|
||||
extern crate gfx;
|
||||
extern crate script;
|
||||
extern crate style;
|
||||
#[phase(plugin)]
|
||||
extern crate servo_macros = "macros";
|
||||
extern crate servo_net = "net";
|
||||
extern crate servo_msg = "msg";
|
||||
#[phase(plugin, link)]
|
||||
extern crate servo_util = "util";
|
||||
|
||||
extern crate collections;
|
||||
extern crate green;
|
||||
extern crate libc;
|
||||
extern crate sync;
|
||||
extern crate url;
|
||||
|
||||
pub mod block;
|
||||
pub mod construct;
|
||||
pub mod context;
|
||||
pub mod floats;
|
||||
pub mod flow;
|
||||
pub mod flow_list;
|
||||
pub mod flow_ref;
|
||||
pub mod fragment;
|
||||
pub mod layout_task;
|
||||
pub mod inline;
|
||||
pub mod model;
|
||||
pub mod parallel;
|
||||
pub mod table_wrapper;
|
||||
pub mod table;
|
||||
pub mod table_caption;
|
||||
pub mod table_colgroup;
|
||||
pub mod table_rowgroup;
|
||||
pub mod table_row;
|
||||
pub mod table_cell;
|
||||
pub mod text;
|
||||
pub mod util;
|
||||
pub mod incremental;
|
||||
pub mod wrapper;
|
||||
pub mod extra;
|
||||
|
||||
pub mod css {
|
||||
mod node_util;
|
||||
|
||||
pub mod select;
|
||||
pub mod matching;
|
||||
pub mod node_style;
|
||||
}
|
|
@ -9,17 +9,17 @@ use css::matching::{ApplicableDeclarations, ApplicableDeclarationsCache, MatchMe
|
|||
use css::matching::{StyleSharingCandidateCache};
|
||||
use css::select::new_stylist;
|
||||
use css::node_style::StyledNode;
|
||||
use layout::construct::{FlowConstructionResult, NoConstructionResult};
|
||||
use layout::context::LayoutContext;
|
||||
use layout::flow::{Flow, ImmutableFlowUtils, MutableFlowUtils, MutableOwnedFlowUtils};
|
||||
use layout::flow::{PreorderFlowTraversal, PostorderFlowTraversal};
|
||||
use layout::flow;
|
||||
use layout::flow_ref::FlowRef;
|
||||
use layout::incremental::RestyleDamage;
|
||||
use layout::parallel::UnsafeFlow;
|
||||
use layout::parallel;
|
||||
use layout::util::{LayoutDataAccess, LayoutDataWrapper, OpaqueNodeMethods, ToGfxColor};
|
||||
use layout::wrapper::{LayoutNode, TLayoutNode, ThreadSafeLayoutNode};
|
||||
use construct::{FlowConstructionResult, NoConstructionResult};
|
||||
use context::LayoutContext;
|
||||
use flow::{Flow, ImmutableFlowUtils, MutableFlowUtils, MutableOwnedFlowUtils};
|
||||
use flow::{PreorderFlowTraversal, PostorderFlowTraversal};
|
||||
use flow;
|
||||
use flow_ref::FlowRef;
|
||||
use incremental::RestyleDamage;
|
||||
use parallel::UnsafeFlow;
|
||||
use parallel;
|
||||
use util::{LayoutDataAccess, LayoutDataWrapper, OpaqueNodeMethods, ToGfxColor};
|
||||
use wrapper::{LayoutNode, TLayoutNode, ThreadSafeLayoutNode};
|
||||
|
||||
use collections::dlist::DList;
|
||||
use geom::point::Point2D;
|
|
@ -6,7 +6,7 @@
|
|||
|
||||
#![deny(unsafe_block)]
|
||||
|
||||
use layout::fragment::Fragment;
|
||||
use fragment::Fragment;
|
||||
|
||||
use computed = style::computed_values;
|
||||
use geom::SideOffsets2D;
|
|
@ -7,17 +7,17 @@
|
|||
//! This code is highly unsafe. Keep this file small and easy to audit.
|
||||
|
||||
use css::matching::{ApplicableDeclarations, CannotShare, MatchMethods, StyleWasShared};
|
||||
use layout::construct::FlowConstructor;
|
||||
use layout::context::LayoutContext;
|
||||
use layout::extra::LayoutAuxMethods;
|
||||
use layout::flow::{Flow, MutableFlowUtils, PreorderFlowTraversal, PostorderFlowTraversal};
|
||||
use layout::flow;
|
||||
use layout::flow_ref::FlowRef;
|
||||
use layout::layout_task::{AssignHeightsAndStoreOverflowTraversal, AssignWidthsTraversal};
|
||||
use layout::layout_task::{BubbleWidthsTraversal};
|
||||
use layout::util::{LayoutDataAccess, LayoutDataWrapper, OpaqueNodeMethods};
|
||||
use layout::wrapper::{layout_node_to_unsafe_layout_node, layout_node_from_unsafe_layout_node, LayoutNode, PostorderNodeMutTraversal};
|
||||
use layout::wrapper::{ThreadSafeLayoutNode, UnsafeLayoutNode};
|
||||
use construct::FlowConstructor;
|
||||
use context::LayoutContext;
|
||||
use extra::LayoutAuxMethods;
|
||||
use flow::{Flow, MutableFlowUtils, PreorderFlowTraversal, PostorderFlowTraversal};
|
||||
use flow;
|
||||
use flow_ref::FlowRef;
|
||||
use layout_task::{AssignHeightsAndStoreOverflowTraversal, AssignWidthsTraversal};
|
||||
use layout_task::{BubbleWidthsTraversal};
|
||||
use util::{LayoutDataAccess, LayoutDataWrapper, OpaqueNodeMethods};
|
||||
use wrapper::{layout_node_to_unsafe_layout_node, layout_node_from_unsafe_layout_node, LayoutNode, PostorderNodeMutTraversal};
|
||||
use wrapper::{ThreadSafeLayoutNode, UnsafeLayoutNode};
|
||||
|
||||
use gfx::display_list::OpaqueNode;
|
||||
use servo_util::time::{TimeProfilerChan, profile};
|
|
@ -6,15 +6,15 @@
|
|||
|
||||
#![deny(unsafe_block)]
|
||||
|
||||
use layout::block::{BlockFlow, MarginsMayNotCollapse, WidthAndMarginsComputer};
|
||||
use layout::block::{WidthConstraintInput, WidthConstraintSolution};
|
||||
use layout::construct::FlowConstructor;
|
||||
use layout::context::LayoutContext;
|
||||
use layout::floats::FloatKind;
|
||||
use layout::flow::{TableFlowClass, FlowClass, Flow, ImmutableFlowUtils};
|
||||
use layout::fragment::Fragment;
|
||||
use layout::table_wrapper::{TableLayout, FixedLayout, AutoLayout};
|
||||
use layout::wrapper::ThreadSafeLayoutNode;
|
||||
use block::{BlockFlow, MarginsMayNotCollapse, WidthAndMarginsComputer};
|
||||
use block::{WidthConstraintInput, WidthConstraintSolution};
|
||||
use construct::FlowConstructor;
|
||||
use context::LayoutContext;
|
||||
use floats::FloatKind;
|
||||
use flow::{TableFlowClass, FlowClass, Flow, ImmutableFlowUtils};
|
||||
use fragment::Fragment;
|
||||
use table_wrapper::{TableLayout, FixedLayout, AutoLayout};
|
||||
use wrapper::ThreadSafeLayoutNode;
|
||||
|
||||
use servo_util::geometry::Au;
|
||||
use servo_util::geometry;
|
|
@ -6,11 +6,11 @@
|
|||
|
||||
#![deny(unsafe_block)]
|
||||
|
||||
use layout::block::BlockFlow;
|
||||
use layout::construct::FlowConstructor;
|
||||
use layout::context::LayoutContext;
|
||||
use layout::flow::{TableCaptionFlowClass, FlowClass, Flow};
|
||||
use layout::wrapper::ThreadSafeLayoutNode;
|
||||
use block::BlockFlow;
|
||||
use construct::FlowConstructor;
|
||||
use context::LayoutContext;
|
||||
use flow::{TableCaptionFlowClass, FlowClass, Flow};
|
||||
use wrapper::ThreadSafeLayoutNode;
|
||||
|
||||
use std::fmt;
|
||||
|
|
@ -6,13 +6,13 @@
|
|||
|
||||
#![deny(unsafe_block)]
|
||||
|
||||
use layout::block::{BlockFlow, MarginsMayNotCollapse, WidthAndMarginsComputer};
|
||||
use layout::context::LayoutContext;
|
||||
use layout::flow::{TableCellFlowClass, FlowClass, Flow};
|
||||
use layout::fragment::Fragment;
|
||||
use layout::model::{MaybeAuto};
|
||||
use layout::table::InternalTable;
|
||||
use layout::wrapper::ThreadSafeLayoutNode;
|
||||
use block::{BlockFlow, MarginsMayNotCollapse, WidthAndMarginsComputer};
|
||||
use context::LayoutContext;
|
||||
use flow::{TableCellFlowClass, FlowClass, Flow};
|
||||
use fragment::Fragment;
|
||||
use model::{MaybeAuto};
|
||||
use table::InternalTable;
|
||||
use wrapper::ThreadSafeLayoutNode;
|
||||
|
||||
use servo_util::geometry::Au;
|
||||
use std::fmt;
|
|
@ -6,11 +6,11 @@
|
|||
|
||||
#![deny(unsafe_block)]
|
||||
|
||||
use layout::context::LayoutContext;
|
||||
use layout::flow::{BaseFlow, TableColGroupFlowClass, FlowClass, Flow};
|
||||
use layout::fragment::{Fragment, TableColumnFragment};
|
||||
use layout::model::{MaybeAuto};
|
||||
use layout::wrapper::ThreadSafeLayoutNode;
|
||||
use context::LayoutContext;
|
||||
use flow::{BaseFlow, TableColGroupFlowClass, FlowClass, Flow};
|
||||
use fragment::{Fragment, TableColumnFragment};
|
||||
use model::{MaybeAuto};
|
||||
use wrapper::ThreadSafeLayoutNode;
|
||||
|
||||
use servo_util::geometry::Au;
|
||||
use std::fmt;
|
|
@ -6,16 +6,16 @@
|
|||
|
||||
#![deny(unsafe_block)]
|
||||
|
||||
use layout::block::BlockFlow;
|
||||
use layout::block::WidthAndMarginsComputer;
|
||||
use layout::construct::FlowConstructor;
|
||||
use layout::context::LayoutContext;
|
||||
use layout::flow::{TableRowFlowClass, FlowClass, Flow, ImmutableFlowUtils};
|
||||
use layout::flow;
|
||||
use layout::fragment::Fragment;
|
||||
use layout::table::InternalTable;
|
||||
use layout::model::{MaybeAuto, Specified, Auto};
|
||||
use layout::wrapper::ThreadSafeLayoutNode;
|
||||
use block::BlockFlow;
|
||||
use block::WidthAndMarginsComputer;
|
||||
use construct::FlowConstructor;
|
||||
use context::LayoutContext;
|
||||
use flow::{TableRowFlowClass, FlowClass, Flow, ImmutableFlowUtils};
|
||||
use flow;
|
||||
use fragment::Fragment;
|
||||
use table::InternalTable;
|
||||
use model::{MaybeAuto, Specified, Auto};
|
||||
use wrapper::ThreadSafeLayoutNode;
|
||||
|
||||
use servo_util::geometry::Au;
|
||||
use servo_util::geometry;
|
|
@ -6,15 +6,15 @@
|
|||
|
||||
#![deny(unsafe_block)]
|
||||
|
||||
use layout::block::BlockFlow;
|
||||
use layout::block::WidthAndMarginsComputer;
|
||||
use layout::construct::FlowConstructor;
|
||||
use layout::context::LayoutContext;
|
||||
use layout::flow::{TableRowGroupFlowClass, FlowClass, Flow, ImmutableFlowUtils};
|
||||
use layout::flow;
|
||||
use layout::fragment::Fragment;
|
||||
use layout::table::{InternalTable, TableFlow};
|
||||
use layout::wrapper::ThreadSafeLayoutNode;
|
||||
use block::BlockFlow;
|
||||
use block::WidthAndMarginsComputer;
|
||||
use construct::FlowConstructor;
|
||||
use context::LayoutContext;
|
||||
use flow::{TableRowGroupFlowClass, FlowClass, Flow, ImmutableFlowUtils};
|
||||
use flow;
|
||||
use fragment::Fragment;
|
||||
use table::{InternalTable, TableFlow};
|
||||
use wrapper::ThreadSafeLayoutNode;
|
||||
|
||||
use servo_util::geometry::Au;
|
||||
use servo_util::geometry;
|
|
@ -6,15 +6,15 @@
|
|||
|
||||
#![deny(unsafe_block)]
|
||||
|
||||
use layout::block::{BlockFlow, MarginsMayNotCollapse, WidthAndMarginsComputer};
|
||||
use layout::block::{WidthConstraintInput, WidthConstraintSolution};
|
||||
use layout::construct::FlowConstructor;
|
||||
use layout::context::LayoutContext;
|
||||
use layout::floats::FloatKind;
|
||||
use layout::flow::{TableWrapperFlowClass, FlowClass, Flow, ImmutableFlowUtils};
|
||||
use layout::fragment::Fragment;
|
||||
use layout::model::{Specified, Auto, specified};
|
||||
use layout::wrapper::ThreadSafeLayoutNode;
|
||||
use block::{BlockFlow, MarginsMayNotCollapse, WidthAndMarginsComputer};
|
||||
use block::{WidthConstraintInput, WidthConstraintSolution};
|
||||
use construct::FlowConstructor;
|
||||
use context::LayoutContext;
|
||||
use floats::FloatKind;
|
||||
use flow::{TableWrapperFlowClass, FlowClass, Flow, ImmutableFlowUtils};
|
||||
use fragment::Fragment;
|
||||
use model::{Specified, Auto, specified};
|
||||
use wrapper::ThreadSafeLayoutNode;
|
||||
|
||||
use servo_util::geometry::Au;
|
||||
use servo_util::geometry;
|
|
@ -6,8 +6,8 @@
|
|||
|
||||
#![deny(unsafe_block)]
|
||||
|
||||
use layout::flow::Flow;
|
||||
use layout::fragment::{Fragment, ScannedTextFragment, ScannedTextFragmentInfo, UnscannedTextFragment};
|
||||
use flow::Flow;
|
||||
use fragment::{Fragment, ScannedTextFragment, ScannedTextFragmentInfo, UnscannedTextFragment};
|
||||
|
||||
use gfx::font::{FontMetrics, FontStyle};
|
||||
use gfx::font_context::FontContext;
|
|
@ -2,10 +2,10 @@
|
|||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
||||
|
||||
use layout::construct::{ConstructionResult, NoConstructionResult};
|
||||
use layout::incremental::RestyleDamage;
|
||||
use layout::parallel::DomParallelInfo;
|
||||
use layout::wrapper::{LayoutNode, TLayoutNode, ThreadSafeLayoutNode};
|
||||
use construct::{ConstructionResult, NoConstructionResult};
|
||||
use incremental::RestyleDamage;
|
||||
use parallel::DomParallelInfo;
|
||||
use wrapper::{LayoutNode, TLayoutNode, ThreadSafeLayoutNode};
|
||||
|
||||
use gfx::display_list::OpaqueNode;
|
||||
use gfx;
|
|
@ -34,7 +34,7 @@
|
|||
//! `html_element_in_html_document_for_layout()`.
|
||||
|
||||
use css::node_style::StyledNode;
|
||||
use layout::util::LayoutDataWrapper;
|
||||
use util::LayoutDataWrapper;
|
||||
|
||||
use script::dom::bindings::codegen::InheritTypes::{HTMLIFrameElementDerived};
|
||||
use script::dom::bindings::codegen::InheritTypes::{HTMLImageElementDerived, TextDerived};
|
|
@ -1,13 +0,0 @@
|
|||
/* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
||||
|
||||
/* This file exists just to make it easier to import things inside of
|
||||
./images/ without specifying the file they came out of imports.
|
||||
|
||||
Note that you still must define each of the files as a module in
|
||||
servo.rc. This is not ideal and may be changed in the future. */
|
||||
|
||||
pub use holder::ImageHolder;
|
||||
pub use base::Image;
|
||||
|
|
@ -13,49 +13,20 @@ extern crate log;
|
|||
|
||||
extern crate debug;
|
||||
|
||||
extern crate alert;
|
||||
extern crate azure;
|
||||
extern crate geom;
|
||||
extern crate gfx;
|
||||
#[cfg(not(target_os="android"))]
|
||||
extern crate glfw;
|
||||
#[cfg(target_os="android")]
|
||||
extern crate glut;
|
||||
extern crate js;
|
||||
extern crate layers;
|
||||
extern crate opengles;
|
||||
extern crate png;
|
||||
extern crate compositing;
|
||||
extern crate rustuv;
|
||||
extern crate script;
|
||||
#[phase(plugin)]
|
||||
extern crate servo_macros = "macros";
|
||||
extern crate servo_net = "net";
|
||||
extern crate servo_msg = "msg";
|
||||
#[phase(plugin, link)]
|
||||
extern crate servo_util = "util";
|
||||
extern crate style;
|
||||
extern crate sharegl;
|
||||
extern crate stb_image;
|
||||
|
||||
extern crate collections;
|
||||
extern crate green;
|
||||
extern crate libc;
|
||||
extern crate native;
|
||||
extern crate rustrt;
|
||||
extern crate serialize;
|
||||
extern crate sync;
|
||||
extern crate time;
|
||||
extern crate url;
|
||||
|
||||
#[cfg(target_os="macos")]
|
||||
extern crate core_graphics;
|
||||
#[cfg(target_os="macos")]
|
||||
extern crate core_text;
|
||||
|
||||
#[cfg(not(test))]
|
||||
use compositing::{CompositorChan, CompositorTask};
|
||||
#[cfg(not(test))]
|
||||
use constellation::Constellation;
|
||||
use compositing::{CompositorChan, CompositorTask, Constellation};
|
||||
#[cfg(not(test))]
|
||||
use servo_msg::constellation_msg::{ConstellationChan, InitLoadUrlMsg};
|
||||
|
||||
|
@ -84,52 +55,6 @@ use rustrt::task::TaskOpts;
|
|||
use url::Url;
|
||||
|
||||
|
||||
#[path="compositing/compositor_task.rs"]
|
||||
pub mod compositing;
|
||||
|
||||
pub mod css {
|
||||
mod node_util;
|
||||
|
||||
pub mod select;
|
||||
pub mod matching;
|
||||
pub mod node_style;
|
||||
}
|
||||
|
||||
pub mod constellation;
|
||||
pub mod pipeline;
|
||||
|
||||
pub mod layout {
|
||||
pub mod block;
|
||||
pub mod construct;
|
||||
pub mod context;
|
||||
pub mod floats;
|
||||
pub mod flow;
|
||||
pub mod flow_list;
|
||||
pub mod flow_ref;
|
||||
pub mod fragment;
|
||||
pub mod layout_task;
|
||||
pub mod inline;
|
||||
pub mod model;
|
||||
pub mod parallel;
|
||||
pub mod table_wrapper;
|
||||
pub mod table;
|
||||
pub mod table_caption;
|
||||
pub mod table_colgroup;
|
||||
pub mod table_rowgroup;
|
||||
pub mod table_row;
|
||||
pub mod table_cell;
|
||||
pub mod text;
|
||||
pub mod util;
|
||||
pub mod incremental;
|
||||
pub mod wrapper;
|
||||
pub mod extra;
|
||||
}
|
||||
|
||||
pub mod windowing;
|
||||
|
||||
#[path="platform/mod.rs"]
|
||||
pub mod platform;
|
||||
|
||||
#[cfg(not(test), target_os="linux")]
|
||||
#[cfg(not(test), target_os="macos")]
|
||||
#[start]
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue