Struct pango::LayoutLine [−][src]
pub struct LayoutLine(_);
Expand description
The LayoutLine
structure represents one of the lines resulting
from laying out a paragraph via Layout
. LayoutLine
structures are obtained by calling Layout::line()
and
are only valid until the text, attributes, or settings of the
parent Layout
are modified.
Routines for rendering PangoLayout objects are provided in code specific to each rendering system.
Implementations
Computes the logical and ink extents of a layout line. See
FontExt::glyph_extents()
for details about the interpretation
of the rectangles.
Returns
ink_rect
rectangle used to store the extents of
the glyph string as drawn, or None
logical_rect
rectangle used to store the logical
extents of the glyph string, or None
This is supported on crate feature v1_44
only.
v1_44
only.Computes the logical and ink extents of self
in device units.
This function just calls extents()
followed by
two extents_to_pixels()
calls, rounding ink_rect
and logical_rect
such that the rounded rectangles fully contain the unrounded one (that is,
passes them as first argument to extents_to_pixels()
).
Returns
ink_rect
rectangle used to store the extents of
the glyph string as drawn, or None
logical_rect
rectangle used to store the logical
extents of the glyph string, or None
Gets a list of visual ranges corresponding to a given logical range. This list is not necessarily minimal - there may be consecutive ranges which are adjacent. The ranges will be sorted from left to right. The ranges are with respect to the left edge of the entire layout, not with respect to the line.
start_index
Start byte index of the logical range. If this value is less than the start index for the line, then the first range will extend all the way to the leading edge of the layout. Otherwise it will start at the leading edge of the first character.
end_index
Ending byte index of the logical range. If this value is greater than the end index for the line, then the last range will extend all the way to the trailing edge of the layout. Otherwise, it will end at the trailing edge of the last character.
Returns
ranges
location to store a pointer to an array of ranges.
The array will be of length <literal>
2*n_ranges</literal>
,
with each range starting at <literal>
(ranges)[2n]</literal>
and of width <literal>
(ranges)[2n + 1] - (ranges)[2n]</literal>
.
This array must be freed with g_free()
. The coordinates are relative
to the layout and are in Pango units.
Converts an index within a line to a X position.
index_
byte offset of a grapheme within the layout
trailing
an integer indicating the edge of the grapheme to retrieve the position of. If > 0, the trailing edge of the grapheme, if 0, the leading of the grapheme.
Returns
x_pos
location to store the x_offset (in Pango unit)
The byte index of the start of this line into the text used to create
the source Layout
.
Converts from x offset to the byte index of the corresponding
character within the text of the layout. If x_pos
is outside the line,
index_
and trailing
will point to the very first or very last position
in the line. This determination is based on the resolved direction
of the paragraph; for example, if the resolved direction is
right-to-left, then an X position to the right of the line (after it)
results in 0 being stored in index_
and trailing
. An X position to the
left of the line results in index_
pointing to the (logical) last
grapheme in the line and trailing
being set to the number of characters
in that grapheme. The reverse is true for a left-to-right line.
x_pos
the X offset (in Pango units) from the left edge of the line.
Returns
false
if x_pos
was outside the line, true
if inside
index_
location to store calculated byte index for the grapheme in which the user clicked.
trailing
location to store an integer indicating where in the grapheme the user clicked. It will either be zero, or the number of characters in the grapheme. 0 represents the leading edge of the grapheme.
Trait Implementations
This method tests for self
and other
values to be equal, and is used
by ==
. Read more
This method tests for !=
.
This method returns an ordering between self
and other
values if one exists. Read more
This method tests less than (for self
and other
) and is used by the <
operator. Read more
This method tests less than or equal to (for self
and other
) and is used by the <=
operator. Read more
This method tests greater than (for self
and other
) and is used by the >
operator. Read more
Returns the type identifier of Self
.
Auto Trait Implementations
impl RefUnwindSafe for LayoutLine
impl !Send for LayoutLine
impl !Sync for LayoutLine
impl Unpin for LayoutLine
impl UnwindSafe for LayoutLine
Blanket Implementations
Mutably borrows from an owned value. Read more
impl<'a, T, C> FromValueOptional<'a> for T where
C: ValueTypeChecker<Error = ValueTypeMismatchOrNoneError>,
T: FromValue<'a, Checker = C>,