├── .github └── workflows │ └── continuous-build.yml ├── .gitignore ├── .idea ├── .gitignore ├── .name ├── AndroidProjectSystem.xml ├── compiler.xml ├── deploymentTargetSelector.xml ├── inspectionProfiles │ └── Project_Default.xml ├── kotlinc.xml ├── misc.xml └── runConfigurations.xml ├── LICENSE ├── README.md ├── art ├── screenshot_arbitrary_shapes.png ├── screenshot_default_shapes.png ├── screenshot_shapes.png └── screenshot_styles_and_justification.png ├── combo-breaker-demo ├── .gitignore ├── build.gradle ├── proguard-rules.pro └── src │ └── main │ ├── AndroidManifest.xml │ ├── java │ └── dev │ │ └── romainguy │ │ └── text │ │ └── combobreaker │ │ └── demo │ │ ├── ComboBreakerActivity.kt │ │ └── ui │ │ └── theme │ │ ├── Color.kt │ │ ├── Shape.kt │ │ ├── Theme.kt │ │ └── Type.kt │ └── res │ ├── drawable-v24 │ └── ic_launcher_foreground.xml │ ├── drawable-xxhdpi │ ├── badge.png │ ├── hearts.png │ ├── landscape.jpg │ ├── letter_t.png │ └── microphone.png │ ├── drawable │ ├── baseline_line_style_24.xml │ └── ic_launcher_background.xml │ ├── mipmap-anydpi-v26 │ ├── ic_launcher.xml │ └── ic_launcher_round.xml │ └── values │ ├── strings.xml │ └── themes.xml ├── combo-breaker-material3 ├── .gitignore ├── build.gradle ├── gradle.properties └── src │ └── main │ ├── AndroidManifest.xml │ └── java │ └── dev │ └── romainguy │ └── text │ └── combobreaker │ └── material3 │ └── TextFlow.kt ├── combo-breaker ├── .gitignore ├── build.gradle ├── gradle.properties └── src │ └── main │ ├── AndroidManifest.xml │ └── java │ └── dev │ └── romainguy │ └── text │ └── combobreaker │ ├── BasicTextFlow.kt │ ├── Clipping.kt │ ├── FlowShape.kt │ ├── FlowSlots.kt │ ├── Geometry.kt │ ├── IntervalTree.kt │ ├── Locale.kt │ ├── MeasuredText.kt │ ├── TextLayout.kt │ ├── TextPaint.kt │ └── Utilities.kt ├── gradle.properties ├── gradle └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat └── settings.gradle /.github/workflows/continuous-build.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/romainguy/combo-breaker/HEAD/.github/workflows/continuous-build.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/romainguy/combo-breaker/HEAD/.gitignore -------------------------------------------------------------------------------- /.idea/.gitignore: -------------------------------------------------------------------------------- 1 | # Default ignored files 2 | /shelf/ 3 | /workspace.xml 4 | -------------------------------------------------------------------------------- /.idea/.name: -------------------------------------------------------------------------------- 1 | Combo Breaker -------------------------------------------------------------------------------- /.idea/AndroidProjectSystem.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/romainguy/combo-breaker/HEAD/.idea/AndroidProjectSystem.xml -------------------------------------------------------------------------------- /.idea/compiler.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/romainguy/combo-breaker/HEAD/.idea/compiler.xml -------------------------------------------------------------------------------- /.idea/deploymentTargetSelector.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/romainguy/combo-breaker/HEAD/.idea/deploymentTargetSelector.xml -------------------------------------------------------------------------------- /.idea/inspectionProfiles/Project_Default.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/romainguy/combo-breaker/HEAD/.idea/inspectionProfiles/Project_Default.xml -------------------------------------------------------------------------------- /.idea/kotlinc.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/romainguy/combo-breaker/HEAD/.idea/kotlinc.xml -------------------------------------------------------------------------------- /.idea/misc.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/romainguy/combo-breaker/HEAD/.idea/misc.xml -------------------------------------------------------------------------------- /.idea/runConfigurations.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/romainguy/combo-breaker/HEAD/.idea/runConfigurations.xml -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/romainguy/combo-breaker/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/romainguy/combo-breaker/HEAD/README.md -------------------------------------------------------------------------------- /art/screenshot_arbitrary_shapes.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/romainguy/combo-breaker/HEAD/art/screenshot_arbitrary_shapes.png -------------------------------------------------------------------------------- /art/screenshot_default_shapes.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/romainguy/combo-breaker/HEAD/art/screenshot_default_shapes.png -------------------------------------------------------------------------------- /art/screenshot_shapes.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/romainguy/combo-breaker/HEAD/art/screenshot_shapes.png -------------------------------------------------------------------------------- /art/screenshot_styles_and_justification.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/romainguy/combo-breaker/HEAD/art/screenshot_styles_and_justification.png -------------------------------------------------------------------------------- /combo-breaker-demo/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /combo-breaker-demo/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/romainguy/combo-breaker/HEAD/combo-breaker-demo/build.gradle -------------------------------------------------------------------------------- /combo-breaker-demo/proguard-rules.pro: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/romainguy/combo-breaker/HEAD/combo-breaker-demo/proguard-rules.pro -------------------------------------------------------------------------------- /combo-breaker-demo/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/romainguy/combo-breaker/HEAD/combo-breaker-demo/src/main/AndroidManifest.xml -------------------------------------------------------------------------------- /combo-breaker-demo/src/main/java/dev/romainguy/text/combobreaker/demo/ComboBreakerActivity.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/romainguy/combo-breaker/HEAD/combo-breaker-demo/src/main/java/dev/romainguy/text/combobreaker/demo/ComboBreakerActivity.kt -------------------------------------------------------------------------------- /combo-breaker-demo/src/main/java/dev/romainguy/text/combobreaker/demo/ui/theme/Color.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/romainguy/combo-breaker/HEAD/combo-breaker-demo/src/main/java/dev/romainguy/text/combobreaker/demo/ui/theme/Color.kt -------------------------------------------------------------------------------- /combo-breaker-demo/src/main/java/dev/romainguy/text/combobreaker/demo/ui/theme/Shape.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/romainguy/combo-breaker/HEAD/combo-breaker-demo/src/main/java/dev/romainguy/text/combobreaker/demo/ui/theme/Shape.kt -------------------------------------------------------------------------------- /combo-breaker-demo/src/main/java/dev/romainguy/text/combobreaker/demo/ui/theme/Theme.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/romainguy/combo-breaker/HEAD/combo-breaker-demo/src/main/java/dev/romainguy/text/combobreaker/demo/ui/theme/Theme.kt -------------------------------------------------------------------------------- /combo-breaker-demo/src/main/java/dev/romainguy/text/combobreaker/demo/ui/theme/Type.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/romainguy/combo-breaker/HEAD/combo-breaker-demo/src/main/java/dev/romainguy/text/combobreaker/demo/ui/theme/Type.kt -------------------------------------------------------------------------------- /combo-breaker-demo/src/main/res/drawable-v24/ic_launcher_foreground.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/romainguy/combo-breaker/HEAD/combo-breaker-demo/src/main/res/drawable-v24/ic_launcher_foreground.xml -------------------------------------------------------------------------------- /combo-breaker-demo/src/main/res/drawable-xxhdpi/badge.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/romainguy/combo-breaker/HEAD/combo-breaker-demo/src/main/res/drawable-xxhdpi/badge.png -------------------------------------------------------------------------------- /combo-breaker-demo/src/main/res/drawable-xxhdpi/hearts.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/romainguy/combo-breaker/HEAD/combo-breaker-demo/src/main/res/drawable-xxhdpi/hearts.png -------------------------------------------------------------------------------- /combo-breaker-demo/src/main/res/drawable-xxhdpi/landscape.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/romainguy/combo-breaker/HEAD/combo-breaker-demo/src/main/res/drawable-xxhdpi/landscape.jpg -------------------------------------------------------------------------------- /combo-breaker-demo/src/main/res/drawable-xxhdpi/letter_t.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/romainguy/combo-breaker/HEAD/combo-breaker-demo/src/main/res/drawable-xxhdpi/letter_t.png -------------------------------------------------------------------------------- /combo-breaker-demo/src/main/res/drawable-xxhdpi/microphone.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/romainguy/combo-breaker/HEAD/combo-breaker-demo/src/main/res/drawable-xxhdpi/microphone.png -------------------------------------------------------------------------------- /combo-breaker-demo/src/main/res/drawable/baseline_line_style_24.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/romainguy/combo-breaker/HEAD/combo-breaker-demo/src/main/res/drawable/baseline_line_style_24.xml -------------------------------------------------------------------------------- /combo-breaker-demo/src/main/res/drawable/ic_launcher_background.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/romainguy/combo-breaker/HEAD/combo-breaker-demo/src/main/res/drawable/ic_launcher_background.xml -------------------------------------------------------------------------------- /combo-breaker-demo/src/main/res/mipmap-anydpi-v26/ic_launcher.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/romainguy/combo-breaker/HEAD/combo-breaker-demo/src/main/res/mipmap-anydpi-v26/ic_launcher.xml -------------------------------------------------------------------------------- /combo-breaker-demo/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/romainguy/combo-breaker/HEAD/combo-breaker-demo/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml -------------------------------------------------------------------------------- /combo-breaker-demo/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/romainguy/combo-breaker/HEAD/combo-breaker-demo/src/main/res/values/strings.xml -------------------------------------------------------------------------------- /combo-breaker-demo/src/main/res/values/themes.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/romainguy/combo-breaker/HEAD/combo-breaker-demo/src/main/res/values/themes.xml -------------------------------------------------------------------------------- /combo-breaker-material3/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /combo-breaker-material3/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/romainguy/combo-breaker/HEAD/combo-breaker-material3/build.gradle -------------------------------------------------------------------------------- /combo-breaker-material3/gradle.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/romainguy/combo-breaker/HEAD/combo-breaker-material3/gradle.properties -------------------------------------------------------------------------------- /combo-breaker-material3/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /combo-breaker-material3/src/main/java/dev/romainguy/text/combobreaker/material3/TextFlow.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/romainguy/combo-breaker/HEAD/combo-breaker-material3/src/main/java/dev/romainguy/text/combobreaker/material3/TextFlow.kt -------------------------------------------------------------------------------- /combo-breaker/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /combo-breaker/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/romainguy/combo-breaker/HEAD/combo-breaker/build.gradle -------------------------------------------------------------------------------- /combo-breaker/gradle.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/romainguy/combo-breaker/HEAD/combo-breaker/gradle.properties -------------------------------------------------------------------------------- /combo-breaker/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /combo-breaker/src/main/java/dev/romainguy/text/combobreaker/BasicTextFlow.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/romainguy/combo-breaker/HEAD/combo-breaker/src/main/java/dev/romainguy/text/combobreaker/BasicTextFlow.kt -------------------------------------------------------------------------------- /combo-breaker/src/main/java/dev/romainguy/text/combobreaker/Clipping.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/romainguy/combo-breaker/HEAD/combo-breaker/src/main/java/dev/romainguy/text/combobreaker/Clipping.kt -------------------------------------------------------------------------------- /combo-breaker/src/main/java/dev/romainguy/text/combobreaker/FlowShape.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/romainguy/combo-breaker/HEAD/combo-breaker/src/main/java/dev/romainguy/text/combobreaker/FlowShape.kt -------------------------------------------------------------------------------- /combo-breaker/src/main/java/dev/romainguy/text/combobreaker/FlowSlots.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/romainguy/combo-breaker/HEAD/combo-breaker/src/main/java/dev/romainguy/text/combobreaker/FlowSlots.kt -------------------------------------------------------------------------------- /combo-breaker/src/main/java/dev/romainguy/text/combobreaker/Geometry.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/romainguy/combo-breaker/HEAD/combo-breaker/src/main/java/dev/romainguy/text/combobreaker/Geometry.kt -------------------------------------------------------------------------------- /combo-breaker/src/main/java/dev/romainguy/text/combobreaker/IntervalTree.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/romainguy/combo-breaker/HEAD/combo-breaker/src/main/java/dev/romainguy/text/combobreaker/IntervalTree.kt -------------------------------------------------------------------------------- /combo-breaker/src/main/java/dev/romainguy/text/combobreaker/Locale.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/romainguy/combo-breaker/HEAD/combo-breaker/src/main/java/dev/romainguy/text/combobreaker/Locale.kt -------------------------------------------------------------------------------- /combo-breaker/src/main/java/dev/romainguy/text/combobreaker/MeasuredText.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/romainguy/combo-breaker/HEAD/combo-breaker/src/main/java/dev/romainguy/text/combobreaker/MeasuredText.kt -------------------------------------------------------------------------------- /combo-breaker/src/main/java/dev/romainguy/text/combobreaker/TextLayout.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/romainguy/combo-breaker/HEAD/combo-breaker/src/main/java/dev/romainguy/text/combobreaker/TextLayout.kt -------------------------------------------------------------------------------- /combo-breaker/src/main/java/dev/romainguy/text/combobreaker/TextPaint.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/romainguy/combo-breaker/HEAD/combo-breaker/src/main/java/dev/romainguy/text/combobreaker/TextPaint.kt -------------------------------------------------------------------------------- /combo-breaker/src/main/java/dev/romainguy/text/combobreaker/Utilities.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/romainguy/combo-breaker/HEAD/combo-breaker/src/main/java/dev/romainguy/text/combobreaker/Utilities.kt -------------------------------------------------------------------------------- /gradle.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/romainguy/combo-breaker/HEAD/gradle.properties -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/romainguy/combo-breaker/HEAD/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/romainguy/combo-breaker/HEAD/gradle/wrapper/gradle-wrapper.properties -------------------------------------------------------------------------------- /gradlew: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/romainguy/combo-breaker/HEAD/gradlew -------------------------------------------------------------------------------- /gradlew.bat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/romainguy/combo-breaker/HEAD/gradlew.bat -------------------------------------------------------------------------------- /settings.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/romainguy/combo-breaker/HEAD/settings.gradle --------------------------------------------------------------------------------