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

  Constructors
  Constructor
  Description
  `Standard(int every)`
  Constructor taking an indent for all lines.
  `Standard(int first, int rest)`
  Constructor taking separate indents for the first and subsequent lines.
  `Standard(Parcel src)`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `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)`
  Renders the leading margin.
  `int`
  `getLeadingMargin(boolean first)`
  Returns the amount by which to adjust the leading margin.
  `int`
  `getSpanTypeId()`
  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 of `Parcel` 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 paragraph
      `rest` - 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

    public Standard(@NonNull Parcel src)

- ## Method Details

  - ### getSpanTypeId

    public int getSpanTypeId()
    Description copied from interface: `ParcelableSpan`
    Return a special type identifier for this span class.
    Specified by:
      `getSpanTypeId` in interface `ParcelableSpan`

  - ### writeToParcel

    public void writeToParcel(@NonNull Parcel dest, int flags)
    Description copied from interface: `Parcelable`
    The subclass implements the method to flatten its contents by calling the methods of `Parcel` for its primitive values.
    Specified by:
      `writeToParcel` in interface `Parcelable`
    Parameters:
      `dest` - the parcel to write the object's data to
      `flags` - 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 interface `LeadingMarginSpan`
    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 by `LeadingMarginSpan.getLeadingMargin(boolean)`.
    Specified by:
      `drawLeadingMargin` in interface `LeadingMarginSpan`
    Parameters:
      `c` - the canvas
      `p` - the paint. This should be left unchanged on exit.
      `x` - the current position of the margin
      `dir` - 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 line
      `baseline` - the baseline of the line
      `bottom` - the bottom of the line
      `text` - the text
      `start` - the start of the line
      `end` - the end of the line
      `first` - true if this is the first line of its paragraph
      `layout` - the layout containing this line