
commonMain.aws.sdk.kotlin.services.medialive.model.BurnInDestinationSettings.kt Maven / Gradle / Ivy
// Code generated by smithy-kotlin-codegen. DO NOT EDIT!
package aws.sdk.kotlin.services.medialive.model
/**
* Burn In Destination Settings
*/
public class BurnInDestinationSettings private constructor(builder: Builder) {
/**
* If no explicit xPosition or yPosition is provided, setting alignment to centered will place the captions at the bottom center of the output. Similarly, setting a left alignment will align captions to the bottom left of the output. If x and y positions are given in conjunction with the alignment parameter, the font will be justified (either left or centered) relative to those coordinates. Selecting "smart" justification will left-justify live subtitles and center-justify pre-recorded subtitles. All burn-in and DVB-Sub font settings must match.
*/
public val alignment: aws.sdk.kotlin.services.medialive.model.BurnInAlignment? = builder.alignment
/**
* Specifies the color of the rectangle behind the captions. All burn-in and DVB-Sub font settings must match.
*/
public val backgroundColor: aws.sdk.kotlin.services.medialive.model.BurnInBackgroundColor? = builder.backgroundColor
/**
* Specifies the opacity of the background rectangle. 255 is opaque; 0 is transparent. Leaving this parameter out is equivalent to setting it to 0 (transparent). All burn-in and DVB-Sub font settings must match.
*/
public val backgroundOpacity: kotlin.Int = builder.backgroundOpacity
/**
* External font file used for caption burn-in. File extension must be 'ttf' or 'tte'. Although the user can select output fonts for many different types of input captions, embedded, STL and teletext sources use a strict grid system. Using external fonts with these caption sources could cause unexpected display of proportional fonts. All burn-in and DVB-Sub font settings must match.
*/
public val font: aws.sdk.kotlin.services.medialive.model.InputLocation? = builder.font
/**
* Specifies the color of the burned-in captions. This option is not valid for source captions that are STL, 608/embedded or teletext. These source settings are already pre-defined by the caption stream. All burn-in and DVB-Sub font settings must match.
*/
public val fontColor: aws.sdk.kotlin.services.medialive.model.BurnInFontColor? = builder.fontColor
/**
* Specifies the opacity of the burned-in captions. 255 is opaque; 0 is transparent. All burn-in and DVB-Sub font settings must match.
*/
public val fontOpacity: kotlin.Int = builder.fontOpacity
/**
* Font resolution in DPI (dots per inch); default is 96 dpi. All burn-in and DVB-Sub font settings must match.
*/
public val fontResolution: kotlin.Int = builder.fontResolution
/**
* When set to 'auto' fontSize will scale depending on the size of the output. Giving a positive integer will specify the exact font size in points. All burn-in and DVB-Sub font settings must match.
*/
public val fontSize: kotlin.String? = builder.fontSize
/**
* Specifies font outline color. This option is not valid for source captions that are either 608/embedded or teletext. These source settings are already pre-defined by the caption stream. All burn-in and DVB-Sub font settings must match.
*/
public val outlineColor: aws.sdk.kotlin.services.medialive.model.BurnInOutlineColor? = builder.outlineColor
/**
* Specifies font outline size in pixels. This option is not valid for source captions that are either 608/embedded or teletext. These source settings are already pre-defined by the caption stream. All burn-in and DVB-Sub font settings must match.
*/
public val outlineSize: kotlin.Int = builder.outlineSize
/**
* Specifies the color of the shadow cast by the captions. All burn-in and DVB-Sub font settings must match.
*/
public val shadowColor: aws.sdk.kotlin.services.medialive.model.BurnInShadowColor? = builder.shadowColor
/**
* Specifies the opacity of the shadow. 255 is opaque; 0 is transparent. Leaving this parameter out is equivalent to setting it to 0 (transparent). All burn-in and DVB-Sub font settings must match.
*/
public val shadowOpacity: kotlin.Int = builder.shadowOpacity
/**
* Specifies the horizontal offset of the shadow relative to the captions in pixels. A value of -2 would result in a shadow offset 2 pixels to the left. All burn-in and DVB-Sub font settings must match.
*/
public val shadowXOffset: kotlin.Int = builder.shadowXOffset
/**
* Specifies the vertical offset of the shadow relative to the captions in pixels. A value of -2 would result in a shadow offset 2 pixels above the text. All burn-in and DVB-Sub font settings must match.
*/
public val shadowYOffset: kotlin.Int = builder.shadowYOffset
/**
* Controls whether a fixed grid size will be used to generate the output subtitles bitmap. Only applicable for Teletext inputs and DVB-Sub/Burn-in outputs.
*/
public val teletextGridControl: aws.sdk.kotlin.services.medialive.model.BurnInTeletextGridControl? = builder.teletextGridControl
/**
* Specifies the horizontal position of the caption relative to the left side of the output in pixels. A value of 10 would result in the captions starting 10 pixels from the left of the output. If no explicit xPosition is provided, the horizontal caption position will be determined by the alignment parameter. All burn-in and DVB-Sub font settings must match.
*/
public val xPosition: kotlin.Int = builder.xPosition
/**
* Specifies the vertical position of the caption relative to the top of the output in pixels. A value of 10 would result in the captions starting 10 pixels from the top of the output. If no explicit yPosition is provided, the caption will be positioned towards the bottom of the output. All burn-in and DVB-Sub font settings must match.
*/
public val yPosition: kotlin.Int = builder.yPosition
public companion object {
public operator fun invoke(block: Builder.() -> kotlin.Unit): aws.sdk.kotlin.services.medialive.model.BurnInDestinationSettings = Builder().apply(block).build()
}
override fun toString(): kotlin.String = buildString {
append("BurnInDestinationSettings(")
append("alignment=$alignment,")
append("backgroundColor=$backgroundColor,")
append("backgroundOpacity=$backgroundOpacity,")
append("font=$font,")
append("fontColor=$fontColor,")
append("fontOpacity=$fontOpacity,")
append("fontResolution=$fontResolution,")
append("fontSize=$fontSize,")
append("outlineColor=$outlineColor,")
append("outlineSize=$outlineSize,")
append("shadowColor=$shadowColor,")
append("shadowOpacity=$shadowOpacity,")
append("shadowXOffset=$shadowXOffset,")
append("shadowYOffset=$shadowYOffset,")
append("teletextGridControl=$teletextGridControl,")
append("xPosition=$xPosition,")
append("yPosition=$yPosition")
append(")")
}
override fun hashCode(): kotlin.Int {
var result = alignment?.hashCode() ?: 0
result = 31 * result + (backgroundColor?.hashCode() ?: 0)
result = 31 * result + (backgroundOpacity)
result = 31 * result + (font?.hashCode() ?: 0)
result = 31 * result + (fontColor?.hashCode() ?: 0)
result = 31 * result + (fontOpacity)
result = 31 * result + (fontResolution)
result = 31 * result + (fontSize?.hashCode() ?: 0)
result = 31 * result + (outlineColor?.hashCode() ?: 0)
result = 31 * result + (outlineSize)
result = 31 * result + (shadowColor?.hashCode() ?: 0)
result = 31 * result + (shadowOpacity)
result = 31 * result + (shadowXOffset)
result = 31 * result + (shadowYOffset)
result = 31 * result + (teletextGridControl?.hashCode() ?: 0)
result = 31 * result + (xPosition)
result = 31 * result + (yPosition)
return result
}
override fun equals(other: kotlin.Any?): kotlin.Boolean {
if (this === other) return true
if (other == null || this::class != other::class) return false
other as BurnInDestinationSettings
if (alignment != other.alignment) return false
if (backgroundColor != other.backgroundColor) return false
if (backgroundOpacity != other.backgroundOpacity) return false
if (font != other.font) return false
if (fontColor != other.fontColor) return false
if (fontOpacity != other.fontOpacity) return false
if (fontResolution != other.fontResolution) return false
if (fontSize != other.fontSize) return false
if (outlineColor != other.outlineColor) return false
if (outlineSize != other.outlineSize) return false
if (shadowColor != other.shadowColor) return false
if (shadowOpacity != other.shadowOpacity) return false
if (shadowXOffset != other.shadowXOffset) return false
if (shadowYOffset != other.shadowYOffset) return false
if (teletextGridControl != other.teletextGridControl) return false
if (xPosition != other.xPosition) return false
if (yPosition != other.yPosition) return false
return true
}
public inline fun copy(block: Builder.() -> kotlin.Unit = {}): aws.sdk.kotlin.services.medialive.model.BurnInDestinationSettings = Builder(this).apply(block).build()
public class Builder {
/**
* If no explicit xPosition or yPosition is provided, setting alignment to centered will place the captions at the bottom center of the output. Similarly, setting a left alignment will align captions to the bottom left of the output. If x and y positions are given in conjunction with the alignment parameter, the font will be justified (either left or centered) relative to those coordinates. Selecting "smart" justification will left-justify live subtitles and center-justify pre-recorded subtitles. All burn-in and DVB-Sub font settings must match.
*/
public var alignment: aws.sdk.kotlin.services.medialive.model.BurnInAlignment? = null
/**
* Specifies the color of the rectangle behind the captions. All burn-in and DVB-Sub font settings must match.
*/
public var backgroundColor: aws.sdk.kotlin.services.medialive.model.BurnInBackgroundColor? = null
/**
* Specifies the opacity of the background rectangle. 255 is opaque; 0 is transparent. Leaving this parameter out is equivalent to setting it to 0 (transparent). All burn-in and DVB-Sub font settings must match.
*/
public var backgroundOpacity: kotlin.Int = 0
/**
* External font file used for caption burn-in. File extension must be 'ttf' or 'tte'. Although the user can select output fonts for many different types of input captions, embedded, STL and teletext sources use a strict grid system. Using external fonts with these caption sources could cause unexpected display of proportional fonts. All burn-in and DVB-Sub font settings must match.
*/
public var font: aws.sdk.kotlin.services.medialive.model.InputLocation? = null
/**
* Specifies the color of the burned-in captions. This option is not valid for source captions that are STL, 608/embedded or teletext. These source settings are already pre-defined by the caption stream. All burn-in and DVB-Sub font settings must match.
*/
public var fontColor: aws.sdk.kotlin.services.medialive.model.BurnInFontColor? = null
/**
* Specifies the opacity of the burned-in captions. 255 is opaque; 0 is transparent. All burn-in and DVB-Sub font settings must match.
*/
public var fontOpacity: kotlin.Int = 0
/**
* Font resolution in DPI (dots per inch); default is 96 dpi. All burn-in and DVB-Sub font settings must match.
*/
public var fontResolution: kotlin.Int = 0
/**
* When set to 'auto' fontSize will scale depending on the size of the output. Giving a positive integer will specify the exact font size in points. All burn-in and DVB-Sub font settings must match.
*/
public var fontSize: kotlin.String? = null
/**
* Specifies font outline color. This option is not valid for source captions that are either 608/embedded or teletext. These source settings are already pre-defined by the caption stream. All burn-in and DVB-Sub font settings must match.
*/
public var outlineColor: aws.sdk.kotlin.services.medialive.model.BurnInOutlineColor? = null
/**
* Specifies font outline size in pixels. This option is not valid for source captions that are either 608/embedded or teletext. These source settings are already pre-defined by the caption stream. All burn-in and DVB-Sub font settings must match.
*/
public var outlineSize: kotlin.Int = 0
/**
* Specifies the color of the shadow cast by the captions. All burn-in and DVB-Sub font settings must match.
*/
public var shadowColor: aws.sdk.kotlin.services.medialive.model.BurnInShadowColor? = null
/**
* Specifies the opacity of the shadow. 255 is opaque; 0 is transparent. Leaving this parameter out is equivalent to setting it to 0 (transparent). All burn-in and DVB-Sub font settings must match.
*/
public var shadowOpacity: kotlin.Int = 0
/**
* Specifies the horizontal offset of the shadow relative to the captions in pixels. A value of -2 would result in a shadow offset 2 pixels to the left. All burn-in and DVB-Sub font settings must match.
*/
public var shadowXOffset: kotlin.Int = 0
/**
* Specifies the vertical offset of the shadow relative to the captions in pixels. A value of -2 would result in a shadow offset 2 pixels above the text. All burn-in and DVB-Sub font settings must match.
*/
public var shadowYOffset: kotlin.Int = 0
/**
* Controls whether a fixed grid size will be used to generate the output subtitles bitmap. Only applicable for Teletext inputs and DVB-Sub/Burn-in outputs.
*/
public var teletextGridControl: aws.sdk.kotlin.services.medialive.model.BurnInTeletextGridControl? = null
/**
* Specifies the horizontal position of the caption relative to the left side of the output in pixels. A value of 10 would result in the captions starting 10 pixels from the left of the output. If no explicit xPosition is provided, the horizontal caption position will be determined by the alignment parameter. All burn-in and DVB-Sub font settings must match.
*/
public var xPosition: kotlin.Int = 0
/**
* Specifies the vertical position of the caption relative to the top of the output in pixels. A value of 10 would result in the captions starting 10 pixels from the top of the output. If no explicit yPosition is provided, the caption will be positioned towards the bottom of the output. All burn-in and DVB-Sub font settings must match.
*/
public var yPosition: kotlin.Int = 0
@PublishedApi
internal constructor()
@PublishedApi
internal constructor(x: aws.sdk.kotlin.services.medialive.model.BurnInDestinationSettings) : this() {
this.alignment = x.alignment
this.backgroundColor = x.backgroundColor
this.backgroundOpacity = x.backgroundOpacity
this.font = x.font
this.fontColor = x.fontColor
this.fontOpacity = x.fontOpacity
this.fontResolution = x.fontResolution
this.fontSize = x.fontSize
this.outlineColor = x.outlineColor
this.outlineSize = x.outlineSize
this.shadowColor = x.shadowColor
this.shadowOpacity = x.shadowOpacity
this.shadowXOffset = x.shadowXOffset
this.shadowYOffset = x.shadowYOffset
this.teletextGridControl = x.teletextGridControl
this.xPosition = x.xPosition
this.yPosition = x.yPosition
}
@PublishedApi
internal fun build(): aws.sdk.kotlin.services.medialive.model.BurnInDestinationSettings = BurnInDestinationSettings(this)
/**
* construct an [aws.sdk.kotlin.services.medialive.model.InputLocation] inside the given [block]
*/
public fun font(block: aws.sdk.kotlin.services.medialive.model.InputLocation.Builder.() -> kotlin.Unit) {
this.font = aws.sdk.kotlin.services.medialive.model.InputLocation.invoke(block)
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy