Package icyllis.modernui.markdown.core.style

# Class ThematicBreakSpan

java.lang.Object
icyllis.modernui.markdown.core.style.ThematicBreakSpan

All Implemented Interfaces:
  `LeadingMarginSpan`, `ParagraphStyle`

public class ThematicBreakSpan extends Object implements LeadingMarginSpan

- ## Nested Class Summary

  ## Nested classes/interfaces inherited from interface icyllis.modernui.text.style.LeadingMarginSpan

  `LeadingMarginSpan.LeadingMarginSpan2, LeadingMarginSpan.Standard`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `ThematicBreakSpan(MarkdownTheme theme)`

- ## 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.
  `void`
  `drawMargin(Canvas c, TextPaint p, int left, int right, int dir, int top, int baseline, int bottom, CharSequence text, int start, int end, boolean first, Layout layout)`
  Called when drawing the margin.
  `int`
  `getLeadingMargin(boolean first)`
  Returns the amount by which to adjust the leading margin.

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## Constructor Details

  - ### ThematicBreakSpan

    public ThematicBreakSpan(MarkdownTheme theme)

- ## Method Details

  - ### 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

  - ### drawMargin

    public void drawMargin(Canvas c, TextPaint p, int left, int right, int dir, int top, int baseline, int bottom, CharSequence text, int start, int end, boolean first, Layout layout)
    Description copied from interface: `LeadingMarginSpan`
    Called when drawing the margin.

    The default implementation is to call `LeadingMarginSpan.drawLeadingMargin(icyllis.modernui.graphics.Canvas, icyllis.modernui.text.TextPaint, int, int, int, int, int, java.lang.CharSequence, int, int, boolean, icyllis.modernui.text.Layout)`, where x is either left or right, depending on dir. This method allows to draw the trailing margin at the same time, not just the leading margin.

    Added by Modern UI.

    Specified by:
      `drawMargin` in interface `LeadingMarginSpan`
    Parameters:
      `c` - the canvas
      `p` - the paint. This should be left unchanged on exit.
      `left` - the current left position of the margin
      `right` - the current right 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