Skip to content
This repository has been archived by the owner on Feb 18, 2025. It is now read-only.

Commit

Permalink
add OverlaySettings dsl for textOverlay (#56)
Browse files Browse the repository at this point in the history
  • Loading branch information
jordond authored Oct 12, 2023
1 parent 619fcef commit 3e22300
Show file tree
Hide file tree
Showing 2 changed files with 18 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,10 @@ package dev.transformerkt.dsl.effects
import android.content.Context
import android.graphics.Bitmap
import android.net.Uri
import android.text.SpannableString
import androidx.media3.effect.OverlaySettings
import dev.transformerkt.ktx.effects.bitmapOverlay
import dev.transformerkt.ktx.effects.textOverlay

@EffectsDsl
@Suppress("UnusedReceiverParameter")
Expand All @@ -28,3 +30,10 @@ public fun EffectsBuilder.bitmapOverlay(
): EffectsBuilder = apply {
bitmapOverlay(context, uri, overlaySettings(block))
}

public fun EffectsBuilder.textOverlay(
spannableString: SpannableString,
block: OverlaySettings.Builder.() -> Unit,
): EffectsBuilder = apply {
textOverlay(spannableString, overlaySettings(block))
}
Original file line number Diff line number Diff line change
@@ -1,7 +1,9 @@
package dev.transformerkt.ktx.effects

import android.text.SpannableString
import android.text.SpannableStringBuilder
import androidx.annotation.CheckResult
import androidx.core.text.toSpannable
import androidx.media3.effect.OverlayEffect
import androidx.media3.effect.OverlaySettings
import androidx.media3.effect.TextOverlay
Expand All @@ -26,3 +28,10 @@ public fun EffectsBuilder.textOverlay(
): EffectsBuilder = apply {
video(textOverlayEffect(text, settings))
}

public inline fun buildSpannableString(
builderAction: SpannableStringBuilder.() -> Unit,
): SpannableString {
val builder = SpannableStringBuilder().apply(builderAction)
return SpannableString.valueOf(builder.toSpannable())
}

0 comments on commit 3e22300

Please sign in to comment.