pub(crate) struct TextFragment {
pub base: BaseFragment,
pub selected_style: ArcRefCell<Arc<ComputedValues>>,
pub font_metrics: Arc<FontMetrics>,
pub font_key: FontInstanceKey,
pub glyphs: Vec<Arc<GlyphStore>>,
pub justification_adjustment: Au,
pub offsets: Option<Box<TextRunOffsets>>,
pub is_empty_for_text_cursor: bool,
}Fields§
§base: BaseFragment§selected_style: ArcRefCell<Arc<ComputedValues>>§font_metrics: Arc<FontMetrics>§font_key: FontInstanceKey§glyphs: Vec<Arc<GlyphStore>>§justification_adjustment: AuExtra space to add for each justification opportunity.
offsets: Option<Box<TextRunOffsets>>When necessary, this field store the TextRunOffsets for a particular
[TextRunLineItem]. This is currently only used inside of text inputs.
is_empty_for_text_cursor: boolWhether or not this TextFragment is an empty fragment added for the
benefit of placing a text cursor on an otherwise empty editable line.
Implementations§
Source§impl TextFragment
impl TextFragment
pub fn print(&self, tree: &mut PrintTree)
Sourcepub(crate) fn point_is_within_vertical_boundaries(
&self,
point_in_fragment: Point2D<Au, CSSPixel>,
) -> bool
pub(crate) fn point_is_within_vertical_boundaries( &self, point_in_fragment: Point2D<Au, CSSPixel>, ) -> bool
Whether or not the given point is within the vertical boundaries of this
TextFragment.
Sourcepub(crate) fn distance_to_point_for_glyph_offset(
&self,
point_in_fragment: Point2D<Au, CSSPixel>,
) -> Au
pub(crate) fn distance_to_point_for_glyph_offset( &self, point_in_fragment: Point2D<Au, CSSPixel>, ) -> Au
Find the distance between for point relative to a TextFragment for the
purposes of finding a glyph offset. This is used to identify the most relevant
fragment for glyph offset queries during click handling.
Sourcepub(crate) fn character_offset(
&self,
point_in_fragment: Point2D<Au, CSSPixel>,
) -> Option<usize>
pub(crate) fn character_offset( &self, point_in_fragment: Point2D<Au, CSSPixel>, ) -> Option<usize>
Given a point relative to this TextFragment, find the most appropriate
character offset.
Note that the given point may be outside the TextFragment’s content rect:
- If the point is vertically above the
TextFragmentthe first offset will be returned. - If the point is vertically below the
TextFragment,Nonewill be returned.
Trait Implementations§
Source§impl MallocSizeOf for TextFragment
impl MallocSizeOf for TextFragment
Source§fn size_of(&self, ops: &mut MallocSizeOfOps) -> usize
fn size_of(&self, ops: &mut MallocSizeOfOps) -> usize
Auto Trait Implementations§
impl Freeze for TextFragment
impl !RefUnwindSafe for TextFragment
impl Send for TextFragment
impl Sync for TextFragment
impl Unpin for TextFragment
impl !UnwindSafe for TextFragment
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> Filterable for T
impl<T> Filterable for T
Source§fn filterable(
self,
filter_name: &'static str,
) -> RequestFilterDataProvider<T, fn(DataRequest<'_>) -> bool>
fn filterable( self, filter_name: &'static str, ) -> RequestFilterDataProvider<T, fn(DataRequest<'_>) -> bool>
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
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 moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
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