All Downloads are FREE. Search and download functionalities are using the official Maven repository.

commonMain.aws.sdk.kotlin.services.medialive.model.EbuTtDDestinationSettings.kt Maven / Gradle / Ivy

// Code generated by smithy-kotlin-codegen. DO NOT EDIT!

package aws.sdk.kotlin.services.medialive.model



/**
 * Ebu Tt DDestination Settings
 */
public class EbuTtDDestinationSettings private constructor(builder: Builder) {
    /**
     * Complete this field if you want to include the name of the copyright holder in the copyright tag in the captions metadata.
     */
    public val copyrightHolder: kotlin.String? = builder.copyrightHolder
    /**
     * Specifies how to handle the gap between the lines (in multi-line captions). - enabled: Fill with the captions background color (as specified in the input captions). - disabled: Leave the gap unfilled.
     */
    public val fillLineGap: aws.sdk.kotlin.services.medialive.model.EbuTtDFillLineGapControl? = builder.fillLineGap
    /**
     * Specifies the font family to include in the font data attached to the EBU-TT captions. Valid only if styleControl is set to include. If you leave this field empty, the font family is set to "monospaced". (If styleControl is set to exclude, the font family is always set to "monospaced".) You specify only the font family. All other style information (color, bold, position and so on) is copied from the input captions. The size is always set to 100% to allow the downstream player to choose the size. - Enter a list of font families, as a comma-separated list of font names, in order of preference. The name can be a font family (such as “Arial”), or a generic font family (such as “serif”), or “default” (to let the downstream player choose the font). - Leave blank to set the family to “monospace”.
     */
    public val fontFamily: kotlin.String? = builder.fontFamily
    /**
     * Specifies the style information (font color, font position, and so on) to include in the font data that is attached to the EBU-TT captions. - include: Take the style information (font color, font position, and so on) from the source captions and include that information in the font data attached to the EBU-TT captions. This option is valid only if the source captions are Embedded or Teletext. - exclude: In the font data attached to the EBU-TT captions, set the font family to "monospaced". Do not include any other style information.
     */
    public val styleControl: aws.sdk.kotlin.services.medialive.model.EbuTtDDestinationStyleControl? = builder.styleControl

    public companion object {
        public operator fun invoke(block: Builder.() -> kotlin.Unit): aws.sdk.kotlin.services.medialive.model.EbuTtDDestinationSettings = Builder().apply(block).build()
    }

    override fun toString(): kotlin.String = buildString {
        append("EbuTtDDestinationSettings(")
        append("copyrightHolder=$copyrightHolder,")
        append("fillLineGap=$fillLineGap,")
        append("fontFamily=$fontFamily,")
        append("styleControl=$styleControl")
        append(")")
    }

    override fun hashCode(): kotlin.Int {
        var result = copyrightHolder?.hashCode() ?: 0
        result = 31 * result + (fillLineGap?.hashCode() ?: 0)
        result = 31 * result + (fontFamily?.hashCode() ?: 0)
        result = 31 * result + (styleControl?.hashCode() ?: 0)
        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 EbuTtDDestinationSettings

        if (copyrightHolder != other.copyrightHolder) return false
        if (fillLineGap != other.fillLineGap) return false
        if (fontFamily != other.fontFamily) return false
        if (styleControl != other.styleControl) return false

        return true
    }

    public inline fun copy(block: Builder.() -> kotlin.Unit = {}): aws.sdk.kotlin.services.medialive.model.EbuTtDDestinationSettings = Builder(this).apply(block).build()

    public class Builder {
        /**
         * Complete this field if you want to include the name of the copyright holder in the copyright tag in the captions metadata.
         */
        public var copyrightHolder: kotlin.String? = null
        /**
         * Specifies how to handle the gap between the lines (in multi-line captions). - enabled: Fill with the captions background color (as specified in the input captions). - disabled: Leave the gap unfilled.
         */
        public var fillLineGap: aws.sdk.kotlin.services.medialive.model.EbuTtDFillLineGapControl? = null
        /**
         * Specifies the font family to include in the font data attached to the EBU-TT captions. Valid only if styleControl is set to include. If you leave this field empty, the font family is set to "monospaced". (If styleControl is set to exclude, the font family is always set to "monospaced".) You specify only the font family. All other style information (color, bold, position and so on) is copied from the input captions. The size is always set to 100% to allow the downstream player to choose the size. - Enter a list of font families, as a comma-separated list of font names, in order of preference. The name can be a font family (such as “Arial”), or a generic font family (such as “serif”), or “default” (to let the downstream player choose the font). - Leave blank to set the family to “monospace”.
         */
        public var fontFamily: kotlin.String? = null
        /**
         * Specifies the style information (font color, font position, and so on) to include in the font data that is attached to the EBU-TT captions. - include: Take the style information (font color, font position, and so on) from the source captions and include that information in the font data attached to the EBU-TT captions. This option is valid only if the source captions are Embedded or Teletext. - exclude: In the font data attached to the EBU-TT captions, set the font family to "monospaced". Do not include any other style information.
         */
        public var styleControl: aws.sdk.kotlin.services.medialive.model.EbuTtDDestinationStyleControl? = null

        @PublishedApi
        internal constructor()
        @PublishedApi
        internal constructor(x: aws.sdk.kotlin.services.medialive.model.EbuTtDDestinationSettings) : this() {
            this.copyrightHolder = x.copyrightHolder
            this.fillLineGap = x.fillLineGap
            this.fontFamily = x.fontFamily
            this.styleControl = x.styleControl
        }

        @PublishedApi
        internal fun build(): aws.sdk.kotlin.services.medialive.model.EbuTtDDestinationSettings = EbuTtDDestinationSettings(this)
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy