Package icyllis.modernui.text.style
Class LeadingMarginSpan.Standard
java.lang.Object
icyllis.modernui.text.style.LeadingMarginSpan.Standard
- All Implemented Interfaces:
ParcelableSpan
,LeadingMarginSpan
,ParagraphStyle
,Parcelable
- Enclosing interface:
LeadingMarginSpan
public static class LeadingMarginSpan.Standard
extends Object
implements LeadingMarginSpan, ParcelableSpan
The standard implementation of LeadingMarginSpan, which adjusts the
margin but does not do any rendering.
-
Nested Class Summary
Nested classes/interfaces inherited from interface icyllis.modernui.text.style.LeadingMarginSpan
LeadingMarginSpan.LeadingMarginSpan2, LeadingMarginSpan.Standard
Nested classes/interfaces inherited from interface icyllis.modernui.util.Parcelable
Parcelable.ClassLoaderCreator<T>, Parcelable.Creator<T>, Parcelable.WriteFlags
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
drawLeadingMargin
(Canvas c, TextPaint p, int x, int dir, int top, int baseline, int bottom, CharSequence text, int start, int end, boolean first, Layout layout) Renders the leading margin.int
getLeadingMargin
(boolean first) Returns the amount by which to adjust the leading margin.int
Return a special type identifier for this span class.void
writeToParcel
(Parcel dest, int flags) The subclass implements the method to flatten its contents by calling the methods ofParcel
for its primitive values.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface icyllis.modernui.text.style.LeadingMarginSpan
drawMargin
-
Constructor Details
-
Standard
public Standard(int first, int rest) Constructor taking separate indents for the first and subsequent lines.- Parameters:
first
- the indent for the first line of the paragraphrest
- the indent for the remaining lines of the paragraph
-
Standard
public Standard(int every) Constructor taking an indent for all lines.- Parameters:
every
- the indent of each line
-
Standard
-
-
Method Details
-
getSpanTypeId
public int getSpanTypeId()Description copied from interface:ParcelableSpan
Return a special type identifier for this span class.- Specified by:
getSpanTypeId
in interfaceParcelableSpan
-
writeToParcel
Description copied from interface:Parcelable
The subclass implements the method to flatten its contents by calling the methods ofParcel
for its primitive values.- Specified by:
writeToParcel
in interfaceParcelable
- Parameters:
dest
- the parcel to write the object's data toflags
- the flags about how the object should be written
-
getLeadingMargin
public int getLeadingMargin(boolean first) Description copied from interface:LeadingMarginSpan
Returns the amount by which to adjust the leading margin. Positive values move away from the leading edge of the paragraph, negative values move towards it.- Specified by:
getLeadingMargin
in interfaceLeadingMarginSpan
- Parameters:
first
- true if the request is for the first line of a paragraph, false for subsequent lines- Returns:
- the offset for the margin.
-
drawLeadingMargin
public void drawLeadingMargin(Canvas c, TextPaint p, int x, int dir, int top, int baseline, int bottom, CharSequence text, int start, int end, boolean first, Layout layout) Description copied from interface:LeadingMarginSpan
Renders the leading margin. This is called before the margin has been adjusted by the value returned byLeadingMarginSpan.getLeadingMargin(boolean)
.- Specified by:
drawLeadingMargin
in interfaceLeadingMarginSpan
- Parameters:
c
- the canvasp
- the paint. This should be left unchanged on exit.x
- the current position of the margindir
- the base direction of the paragraph; if negative, the margin is to the right of the text, otherwise it is to the left.top
- the top of the linebaseline
- the baseline of the linebottom
- the bottom of the linetext
- the textstart
- the start of the lineend
- the end of the linefirst
- true if this is the first line of its paragraphlayout
- the layout containing this line
-