Enum layout_2020::fragment_tree::fragment::Fragment

source ·
pub(crate) enum Fragment {
    Box(BoxFragment),
    Float(BoxFragment),
    Positioning(PositioningFragment),
    AbsoluteOrFixedPositioned(ArcRefCell<HoistedSharedFragment>),
    Text(TextFragment),
    Image(ImageFragment),
    IFrame(IFrameFragment),
}

Variants§

§

Box(BoxFragment)

§

Float(BoxFragment)

Floating content. A floated fragment is very similar to a normal BoxFragment but it isn’t positioned using normal in block flow positioning rules (margin collapse, etc). Instead, they are laid out by the crate::flow::float::SequentialLayoutState of their float containing block formatting context.

§

Positioning(PositioningFragment)

§

AbsoluteOrFixedPositioned(ArcRefCell<HoistedSharedFragment>)

Absolute and fixed position fragments are hoisted up so that they are children of the BoxFragment that establishes their containing blocks, so that they can be laid out properly. When this happens an AbsoluteOrFixedPositioned fragment is left at the original tree position. This allows these hoisted fragments to be painted with regard to their original tree order during stacking context tree / display list construction.

§

Text(TextFragment)

§

Image(ImageFragment)

§

IFrame(IFrameFragment)

Implementations§

source§

impl Fragment

source

pub(crate) fn build_stacking_context_tree( &mut self, fragment_ref: &ArcRefCell<Fragment>, display_list: &mut DisplayList, containing_block_info: &ContainingBlockManager<'_, ContainingBlock>, stacking_context: &mut StackingContext, mode: StackingContextBuildMode, )

source§

impl Fragment

source

pub(crate) fn build_display_list( &self, builder: &mut DisplayListBuilder<'_>, containing_block: &PhysicalRect<Au>, section: StackingContextSection, is_hit_test_for_scrollable_overflow: bool, )

source

fn maybe_push_hit_test_for_style_and_tag( &self, builder: &mut DisplayListBuilder<'_>, style: &ComputedValues, tag: Option<Tag>, rect: PhysicalRect<Au>, cursor: Cursor, )

source

fn build_display_list_for_text_fragment( &self, fragment: &TextFragment, builder: &mut DisplayListBuilder<'_>, containing_block: &PhysicalRect<Au>, )

source

fn build_display_list_for_text_decoration( &self, fragment: &TextFragment, builder: &mut DisplayListBuilder<'_>, rect: &PhysicalRect<Au>, color: &AbsoluteColor, )

source§

impl Fragment

source

pub fn base(&self) -> Option<&BaseFragment>

source

pub(crate) fn content_rect_mut(&mut self) -> Option<&mut PhysicalRect<Au>>

source

pub fn tag(&self) -> Option<Tag>

source

pub fn print(&self, tree: &mut PrintTree)

source

pub fn scrolling_area( &self, containing_block: &PhysicalRect<Au>, ) -> PhysicalRect<Au>

source

pub fn scrollable_overflow(&self) -> PhysicalRect<Au>

source

pub(crate) fn find<T>( &self, manager: &ContainingBlockManager<'_, PhysicalRect<Au>>, level: usize, process_func: &mut impl FnMut(&Fragment, usize, &PhysicalRect<Au>) -> Option<T>, ) -> Option<T>

Trait Implementations§

source§

impl Serialize for Fragment

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> Downcast<T> for T

source§

fn downcast(&self) -> &T

source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T> Instrument for T

source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> IntoEither for T

source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
source§

impl<T> MaybeBoxed<Box<T>> for T

source§

fn maybe_boxed(self) -> Box<T>

Convert
source§

impl<T> MaybeBoxed<T> for T

source§

fn maybe_boxed(self) -> T

Convert
source§

impl<T> Pointable for T

source§

const ALIGN: usize = _

The alignment of pointer.
source§

type Init = T

The type for initializers.
source§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
source§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
source§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
source§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T> Same for T

source§

type Output = T

Should always be Self
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

source§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
source§

impl<T> Upcast<T> for T

source§

fn upcast(&self) -> Option<&T>

source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

source§

fn vzip(self) -> V

source§

impl<T> WithSubscriber for T

source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
source§

impl<T> ErasedDestructor for T
where T: 'static,

source§

impl<T> MaybeSendSync for T

source§

impl<T> WasmNotSend for T
where T: Send,

source§

impl<T> WasmNotSendSync for T

source§

impl<T> WasmNotSync for T
where T: Sync,