File tree Expand file tree Collapse file tree 2 files changed +19
-10
lines changed
android/src/main/java/com/swmansion/enriched/spans Expand file tree Collapse file tree 2 files changed +19
-10
lines changed Original file line number Diff line number Diff line change @@ -5,15 +5,19 @@ import android.graphics.Paint
55import android.graphics.RectF
66import android.graphics.Typeface
77import android.text.TextPaint
8- import android.text.style.CharacterStyle
98import android.text.style.LineBackgroundSpan
9+ import android.text.style.MetricAffectingSpan
1010import com.swmansion.enriched.spans.interfaces.EnrichedBlockSpan
1111import com.swmansion.enriched.styles.HtmlStyle
1212
13- class EnrichedCodeBlockSpan (private val htmlStyle : HtmlStyle ) : CharacterStyle(), LineBackgroundSpan, EnrichedBlockSpan {
14- override fun updateDrawState (paint : TextPaint ? ) {
15- paint?.typeface = Typeface .MONOSPACE
16- paint?.color = htmlStyle.codeBlockColor
13+ class EnrichedCodeBlockSpan (private val htmlStyle : HtmlStyle ) : MetricAffectingSpan(), LineBackgroundSpan, EnrichedBlockSpan {
14+ override fun updateDrawState (paint : TextPaint ) {
15+ paint.typeface = Typeface .MONOSPACE
16+ paint.color = htmlStyle.codeBlockColor
17+ }
18+
19+ override fun updateMeasureState (paint : TextPaint ) {
20+ paint.typeface = Typeface .MONOSPACE
1721 }
1822
1923 override fun drawBackground (
Original file line number Diff line number Diff line change @@ -2,15 +2,20 @@ package com.swmansion.enriched.spans
22
33import android.graphics.Typeface
44import android.text.TextPaint
5- import android.text.style.BackgroundColorSpan
5+ import android.text.style.MetricAffectingSpan
66import com.swmansion.enriched.spans.interfaces.EnrichedInlineSpan
77import com.swmansion.enriched.styles.HtmlStyle
88
9- class EnrichedInlineCodeSpan (private val htmlStyle : HtmlStyle ) : BackgroundColorSpan(htmlStyle.inlineCodeBackgroundColor ), EnrichedInlineSpan {
9+ class EnrichedInlineCodeSpan (private val htmlStyle : HtmlStyle ) : MetricAffectingSpan( ), EnrichedInlineSpan {
1010 override fun updateDrawState (textPaint : TextPaint ) {
11- super .updateDrawState(textPaint )
12-
11+ val typeface = Typeface .create( Typeface . MONOSPACE , Typeface . NORMAL )
12+ textPaint.typeface = typeface
1313 textPaint.color = htmlStyle.inlineCodeColor
14- textPaint.typeface = Typeface .create(Typeface .MONOSPACE , Typeface .NORMAL )
14+ textPaint.bgColor = htmlStyle.inlineCodeBackgroundColor
15+ }
16+
17+ override fun updateMeasureState (textPaint : TextPaint ) {
18+ val typeface = Typeface .create(Typeface .MONOSPACE , Typeface .NORMAL )
19+ textPaint.typeface = typeface
1520 }
1621}
You can’t perform that action at this time.
0 commit comments