From 59f647e5ccbb28c23668ddeb518dd8e922047b0b Mon Sep 17 00:00:00 2001
From: Dimitry Ivanov <mail@dimitryivanov.ru>
Date: Wed, 22 Nov 2017 13:12:53 +0300
Subject: [PATCH] Fix for heading break height and thematic break height

---
 .../ru/noties/markwon/spans/HeadingSpan.java  | 28 +++++++++++--------
 .../noties/markwon/spans/SpannableTheme.java  |  8 +++---
 2 files changed, 20 insertions(+), 16 deletions(-)

diff --git a/library/src/main/java/ru/noties/markwon/spans/HeadingSpan.java b/library/src/main/java/ru/noties/markwon/spans/HeadingSpan.java
index 0931170e..6293d554 100644
--- a/library/src/main/java/ru/noties/markwon/spans/HeadingSpan.java
+++ b/library/src/main/java/ru/noties/markwon/spans/HeadingSpan.java
@@ -53,20 +53,24 @@ public class HeadingSpan extends MetricAffectingSpan implements LeadingMarginSpa
             theme.applyHeadingBreakStyle(paint);
 
             final float height = paint.getStrokeWidth();
-            final int b = (int) (bottom - height + .5F);
 
-            final int left;
-            final int right;
-            if (dir > 0) {
-                left = x;
-                right = c.getWidth();
-            } else {
-                left = x - c.getWidth();
-                right = x;
+            if (height > .0F) {
+
+                final int b = (int) (bottom - height + .5F);
+
+                final int left;
+                final int right;
+                if (dir > 0) {
+                    left = x;
+                    right = c.getWidth();
+                } else {
+                    left = x - c.getWidth();
+                    right = x;
+                }
+
+                rect.set(left, b, right, bottom);
+                c.drawRect(rect, paint);
             }
-
-            rect.set(left, b, right, bottom);
-            c.drawRect(rect, paint);
         }
     }
 }
diff --git a/library/src/main/java/ru/noties/markwon/spans/SpannableTheme.java b/library/src/main/java/ru/noties/markwon/spans/SpannableTheme.java
index eb174673..9e9e2a44 100644
--- a/library/src/main/java/ru/noties/markwon/spans/SpannableTheme.java
+++ b/library/src/main/java/ru/noties/markwon/spans/SpannableTheme.java
@@ -336,7 +336,7 @@ public class SpannableTheme {
         }
         paint.setColor(color);
         paint.setStyle(Paint.Style.FILL);
-        if (headingBreakHeight != 0) {
+        if (headingBreakHeight >= 0) {
             //noinspection SuspiciousNameCombination
             paint.setStrokeWidth(headingBreakHeight);
         }
@@ -374,7 +374,7 @@ public class SpannableTheme {
         paint.setColor(color);
         paint.setStyle(Paint.Style.FILL);
 
-        if (thematicBreakHeight != 0) {
+        if (thematicBreakHeight >= 0) {
             //noinspection SuspiciousNameCombination
             paint.setStrokeWidth(thematicBreakHeight);
         }
@@ -435,11 +435,11 @@ public class SpannableTheme {
         private int codeMultilineMargin;
         private Typeface codeTypeface;
         private int codeTextSize;
-        private int headingBreakHeight;
+        private int headingBreakHeight = -1;
         private int headingBreakColor;
         private float scriptTextSizeRatio;
         private int thematicBreakColor;
-        private int thematicBreakHeight;
+        private int thematicBreakHeight = -1;
         private int tableCellPadding;
         private int tableBorderColor;
         private int tableBorderWidth;