Class CodeBlockSpan
java.lang.Object
icyllis.modernui.text.style.CharacterStyle
icyllis.modernui.text.style.MetricAffectingSpan
icyllis.modernui.markdown.core.style.CodeBlockSpan
- All Implemented Interfaces:
LeadingMarginSpan
,ParagraphStyle
,TrailingMarginSpan
,UpdateAppearance
,UpdateLayout
public class CodeBlockSpan
extends MetricAffectingSpan
implements LeadingMarginSpan, TrailingMarginSpan
-
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.text.style.TrailingMarginSpan
TrailingMarginSpan.Standard
-
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.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.int
Returns the amount by which to adjust the trailing margin.void
updateDrawState
(TextPaint paint) void
updateMeasureState
(TextPaint paint) Classes that extend MetricAffectingSpan implement this method to update the text formatting in a way that can change the width or height of characters.Methods inherited from class icyllis.modernui.text.style.MetricAffectingSpan
getUnderlying
Methods inherited from class icyllis.modernui.text.style.CharacterStyle
wrap
-
Constructor Details
-
CodeBlockSpan
-
-
Method Details
-
updateDrawState
- Overrides:
updateDrawState
in classMetricAffectingSpan
-
updateMeasureState
Description copied from class:MetricAffectingSpan
Classes that extend MetricAffectingSpan implement this method to update the text formatting in a way that can change the width or height of characters.- Specified by:
updateMeasureState
in classMetricAffectingSpan
- Parameters:
paint
- the paint used for measuring the text
-
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.
-
getTrailingMargin
public int getTrailingMargin()Description copied from interface:TrailingMarginSpan
Returns the amount by which to adjust the trailing margin. Positive values move away from the trailing edge of the paragraph, negative values move towards it.The trailing margin is on the right for lines in a left-to-right paragraph, and on the left for lines in a right-to-left paragraph.
- Specified by:
getTrailingMargin
in interfaceTrailingMarginSpan
- 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
-
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 interfaceLeadingMarginSpan
- Parameters:
c
- the canvasp
- the paint. This should be left unchanged on exit.left
- the current left position of the marginright
- the current right 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
-