├── .editorconfig ├── .github └── workflows │ └── build.yml ├── .gitignore ├── LICENSE.txt ├── README.md ├── extendedspans ├── build.gradle ├── gradle.properties └── src │ ├── main │ ├── AndroidManifest.xml │ └── kotlin │ │ └── me │ │ └── saket │ │ └── extendedspans │ │ ├── ExtendedSpanPainter.kt │ │ ├── ExtendedSpans.kt │ │ ├── RoundedCornerSpanPainter.kt │ │ ├── SquigglyUnderlineSpanPainter.kt │ │ └── internal │ │ ├── colorSerializers.kt │ │ └── lists.kt │ └── test │ ├── kotlin │ └── me │ │ └── saket │ │ └── extendedspans │ │ ├── AllSpanPaintersTest.kt │ │ ├── RoundedCornerSpanPainterTest.kt │ │ ├── SquigglyUnderlineSpanPainterTest.kt │ │ └── common.kt │ └── snapshots │ └── images │ ├── me.saket.extendedspans_AllSpanPaintersTest[Ltr]_snapshot.png │ ├── me.saket.extendedspans_AllSpanPaintersTest[Rtl]_snapshot.png │ ├── me.saket.extendedspans_RoundRectSpanPainterTest[Ltr]_more than two lines.png │ ├── me.saket.extendedspans_RoundRectSpanPainterTest[Ltr]_paragraph.png │ ├── me.saket.extendedspans_RoundRectSpanPainterTest[Ltr]_single line.png │ ├── me.saket.extendedspans_RoundRectSpanPainterTest[Ltr]_two lines.png │ ├── me.saket.extendedspans_RoundRectSpanPainterTest[Rtl]_more than two lines.png │ ├── me.saket.extendedspans_RoundRectSpanPainterTest[Rtl]_paragraph.png │ ├── me.saket.extendedspans_RoundRectSpanPainterTest[Rtl]_single line.png │ ├── me.saket.extendedspans_RoundRectSpanPainterTest[Rtl]_two lines.png │ ├── me.saket.extendedspans_SquigglyUnderlineSpanPainterTest[Ltr]_more than two lines.png │ ├── me.saket.extendedspans_SquigglyUnderlineSpanPainterTest[Ltr]_single line.png │ ├── me.saket.extendedspans_SquigglyUnderlineSpanPainterTest[Ltr]_two lines.png │ ├── me.saket.extendedspans_SquigglyUnderlineSpanPainterTest[Rtl]_more than two lines.png │ ├── me.saket.extendedspans_SquigglyUnderlineSpanPainterTest[Rtl]_single line.png │ └── me.saket.extendedspans_SquigglyUnderlineSpanPainterTest[Rtl]_two lines.png ├── gradle.properties ├── gradle └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── sample ├── .gitignore ├── build.gradle ├── screenshots │ ├── after_dark.gif │ ├── after_light.gif │ ├── before_dark.jpg │ └── before_light.jpg └── src │ └── main │ ├── AndroidManifest.xml │ ├── kotlin │ └── me │ │ └── saket │ │ └── extendedspans │ │ └── sample │ │ ├── AppTheme.kt │ │ └── SampleActivity.kt │ └── res │ ├── drawable │ ├── ic_launcher_background.xml │ └── ic_launcher_foreground.xml │ ├── mipmap-anydpi-v26 │ └── ic_launcher.xml │ └── values │ ├── strings.xml │ └── styles.xml └── settings.gradle /.editorconfig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saket/extended-spans/HEAD/.editorconfig -------------------------------------------------------------------------------- /.github/workflows/build.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saket/extended-spans/HEAD/.github/workflows/build.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saket/extended-spans/HEAD/.gitignore -------------------------------------------------------------------------------- /LICENSE.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saket/extended-spans/HEAD/LICENSE.txt -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saket/extended-spans/HEAD/README.md -------------------------------------------------------------------------------- /extendedspans/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saket/extended-spans/HEAD/extendedspans/build.gradle -------------------------------------------------------------------------------- /extendedspans/gradle.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saket/extended-spans/HEAD/extendedspans/gradle.properties -------------------------------------------------------------------------------- /extendedspans/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /extendedspans/src/main/kotlin/me/saket/extendedspans/ExtendedSpanPainter.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saket/extended-spans/HEAD/extendedspans/src/main/kotlin/me/saket/extendedspans/ExtendedSpanPainter.kt -------------------------------------------------------------------------------- /extendedspans/src/main/kotlin/me/saket/extendedspans/ExtendedSpans.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saket/extended-spans/HEAD/extendedspans/src/main/kotlin/me/saket/extendedspans/ExtendedSpans.kt -------------------------------------------------------------------------------- /extendedspans/src/main/kotlin/me/saket/extendedspans/RoundedCornerSpanPainter.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saket/extended-spans/HEAD/extendedspans/src/main/kotlin/me/saket/extendedspans/RoundedCornerSpanPainter.kt -------------------------------------------------------------------------------- /extendedspans/src/main/kotlin/me/saket/extendedspans/SquigglyUnderlineSpanPainter.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saket/extended-spans/HEAD/extendedspans/src/main/kotlin/me/saket/extendedspans/SquigglyUnderlineSpanPainter.kt -------------------------------------------------------------------------------- /extendedspans/src/main/kotlin/me/saket/extendedspans/internal/colorSerializers.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saket/extended-spans/HEAD/extendedspans/src/main/kotlin/me/saket/extendedspans/internal/colorSerializers.kt -------------------------------------------------------------------------------- /extendedspans/src/main/kotlin/me/saket/extendedspans/internal/lists.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saket/extended-spans/HEAD/extendedspans/src/main/kotlin/me/saket/extendedspans/internal/lists.kt -------------------------------------------------------------------------------- /extendedspans/src/test/kotlin/me/saket/extendedspans/AllSpanPaintersTest.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saket/extended-spans/HEAD/extendedspans/src/test/kotlin/me/saket/extendedspans/AllSpanPaintersTest.kt -------------------------------------------------------------------------------- /extendedspans/src/test/kotlin/me/saket/extendedspans/RoundedCornerSpanPainterTest.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saket/extended-spans/HEAD/extendedspans/src/test/kotlin/me/saket/extendedspans/RoundedCornerSpanPainterTest.kt -------------------------------------------------------------------------------- /extendedspans/src/test/kotlin/me/saket/extendedspans/SquigglyUnderlineSpanPainterTest.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saket/extended-spans/HEAD/extendedspans/src/test/kotlin/me/saket/extendedspans/SquigglyUnderlineSpanPainterTest.kt -------------------------------------------------------------------------------- /extendedspans/src/test/kotlin/me/saket/extendedspans/common.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saket/extended-spans/HEAD/extendedspans/src/test/kotlin/me/saket/extendedspans/common.kt -------------------------------------------------------------------------------- /extendedspans/src/test/snapshots/images/me.saket.extendedspans_AllSpanPaintersTest[Ltr]_snapshot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saket/extended-spans/HEAD/extendedspans/src/test/snapshots/images/me.saket.extendedspans_AllSpanPaintersTest[Ltr]_snapshot.png -------------------------------------------------------------------------------- /extendedspans/src/test/snapshots/images/me.saket.extendedspans_AllSpanPaintersTest[Rtl]_snapshot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saket/extended-spans/HEAD/extendedspans/src/test/snapshots/images/me.saket.extendedspans_AllSpanPaintersTest[Rtl]_snapshot.png -------------------------------------------------------------------------------- /extendedspans/src/test/snapshots/images/me.saket.extendedspans_RoundRectSpanPainterTest[Ltr]_more than two lines.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saket/extended-spans/HEAD/extendedspans/src/test/snapshots/images/me.saket.extendedspans_RoundRectSpanPainterTest[Ltr]_more than two lines.png -------------------------------------------------------------------------------- /extendedspans/src/test/snapshots/images/me.saket.extendedspans_RoundRectSpanPainterTest[Ltr]_paragraph.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saket/extended-spans/HEAD/extendedspans/src/test/snapshots/images/me.saket.extendedspans_RoundRectSpanPainterTest[Ltr]_paragraph.png -------------------------------------------------------------------------------- /extendedspans/src/test/snapshots/images/me.saket.extendedspans_RoundRectSpanPainterTest[Ltr]_single line.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saket/extended-spans/HEAD/extendedspans/src/test/snapshots/images/me.saket.extendedspans_RoundRectSpanPainterTest[Ltr]_single line.png -------------------------------------------------------------------------------- /extendedspans/src/test/snapshots/images/me.saket.extendedspans_RoundRectSpanPainterTest[Ltr]_two lines.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saket/extended-spans/HEAD/extendedspans/src/test/snapshots/images/me.saket.extendedspans_RoundRectSpanPainterTest[Ltr]_two lines.png -------------------------------------------------------------------------------- /extendedspans/src/test/snapshots/images/me.saket.extendedspans_RoundRectSpanPainterTest[Rtl]_more than two lines.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saket/extended-spans/HEAD/extendedspans/src/test/snapshots/images/me.saket.extendedspans_RoundRectSpanPainterTest[Rtl]_more than two lines.png -------------------------------------------------------------------------------- /extendedspans/src/test/snapshots/images/me.saket.extendedspans_RoundRectSpanPainterTest[Rtl]_paragraph.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saket/extended-spans/HEAD/extendedspans/src/test/snapshots/images/me.saket.extendedspans_RoundRectSpanPainterTest[Rtl]_paragraph.png -------------------------------------------------------------------------------- /extendedspans/src/test/snapshots/images/me.saket.extendedspans_RoundRectSpanPainterTest[Rtl]_single line.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saket/extended-spans/HEAD/extendedspans/src/test/snapshots/images/me.saket.extendedspans_RoundRectSpanPainterTest[Rtl]_single line.png -------------------------------------------------------------------------------- /extendedspans/src/test/snapshots/images/me.saket.extendedspans_RoundRectSpanPainterTest[Rtl]_two lines.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saket/extended-spans/HEAD/extendedspans/src/test/snapshots/images/me.saket.extendedspans_RoundRectSpanPainterTest[Rtl]_two lines.png -------------------------------------------------------------------------------- /extendedspans/src/test/snapshots/images/me.saket.extendedspans_SquigglyUnderlineSpanPainterTest[Ltr]_more than two lines.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saket/extended-spans/HEAD/extendedspans/src/test/snapshots/images/me.saket.extendedspans_SquigglyUnderlineSpanPainterTest[Ltr]_more than two lines.png -------------------------------------------------------------------------------- /extendedspans/src/test/snapshots/images/me.saket.extendedspans_SquigglyUnderlineSpanPainterTest[Ltr]_single line.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saket/extended-spans/HEAD/extendedspans/src/test/snapshots/images/me.saket.extendedspans_SquigglyUnderlineSpanPainterTest[Ltr]_single line.png -------------------------------------------------------------------------------- /extendedspans/src/test/snapshots/images/me.saket.extendedspans_SquigglyUnderlineSpanPainterTest[Ltr]_two lines.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saket/extended-spans/HEAD/extendedspans/src/test/snapshots/images/me.saket.extendedspans_SquigglyUnderlineSpanPainterTest[Ltr]_two lines.png -------------------------------------------------------------------------------- /extendedspans/src/test/snapshots/images/me.saket.extendedspans_SquigglyUnderlineSpanPainterTest[Rtl]_more than two lines.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saket/extended-spans/HEAD/extendedspans/src/test/snapshots/images/me.saket.extendedspans_SquigglyUnderlineSpanPainterTest[Rtl]_more than two lines.png -------------------------------------------------------------------------------- /extendedspans/src/test/snapshots/images/me.saket.extendedspans_SquigglyUnderlineSpanPainterTest[Rtl]_single line.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saket/extended-spans/HEAD/extendedspans/src/test/snapshots/images/me.saket.extendedspans_SquigglyUnderlineSpanPainterTest[Rtl]_single line.png -------------------------------------------------------------------------------- /extendedspans/src/test/snapshots/images/me.saket.extendedspans_SquigglyUnderlineSpanPainterTest[Rtl]_two lines.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saket/extended-spans/HEAD/extendedspans/src/test/snapshots/images/me.saket.extendedspans_SquigglyUnderlineSpanPainterTest[Rtl]_two lines.png -------------------------------------------------------------------------------- /gradle.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saket/extended-spans/HEAD/gradle.properties -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saket/extended-spans/HEAD/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saket/extended-spans/HEAD/gradle/wrapper/gradle-wrapper.properties -------------------------------------------------------------------------------- /gradlew: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saket/extended-spans/HEAD/gradlew -------------------------------------------------------------------------------- /gradlew.bat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saket/extended-spans/HEAD/gradlew.bat -------------------------------------------------------------------------------- /sample/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /sample/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saket/extended-spans/HEAD/sample/build.gradle -------------------------------------------------------------------------------- /sample/screenshots/after_dark.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saket/extended-spans/HEAD/sample/screenshots/after_dark.gif -------------------------------------------------------------------------------- /sample/screenshots/after_light.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saket/extended-spans/HEAD/sample/screenshots/after_light.gif -------------------------------------------------------------------------------- /sample/screenshots/before_dark.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saket/extended-spans/HEAD/sample/screenshots/before_dark.jpg -------------------------------------------------------------------------------- /sample/screenshots/before_light.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saket/extended-spans/HEAD/sample/screenshots/before_light.jpg -------------------------------------------------------------------------------- /sample/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saket/extended-spans/HEAD/sample/src/main/AndroidManifest.xml -------------------------------------------------------------------------------- /sample/src/main/kotlin/me/saket/extendedspans/sample/AppTheme.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saket/extended-spans/HEAD/sample/src/main/kotlin/me/saket/extendedspans/sample/AppTheme.kt -------------------------------------------------------------------------------- /sample/src/main/kotlin/me/saket/extendedspans/sample/SampleActivity.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saket/extended-spans/HEAD/sample/src/main/kotlin/me/saket/extendedspans/sample/SampleActivity.kt -------------------------------------------------------------------------------- /sample/src/main/res/drawable/ic_launcher_background.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saket/extended-spans/HEAD/sample/src/main/res/drawable/ic_launcher_background.xml -------------------------------------------------------------------------------- /sample/src/main/res/drawable/ic_launcher_foreground.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saket/extended-spans/HEAD/sample/src/main/res/drawable/ic_launcher_foreground.xml -------------------------------------------------------------------------------- /sample/src/main/res/mipmap-anydpi-v26/ic_launcher.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saket/extended-spans/HEAD/sample/src/main/res/mipmap-anydpi-v26/ic_launcher.xml -------------------------------------------------------------------------------- /sample/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saket/extended-spans/HEAD/sample/src/main/res/values/strings.xml -------------------------------------------------------------------------------- /sample/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saket/extended-spans/HEAD/sample/src/main/res/values/styles.xml -------------------------------------------------------------------------------- /settings.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saket/extended-spans/HEAD/settings.gradle --------------------------------------------------------------------------------