{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE DuplicateRecordFields #-}
{-# LANGUAGE NamedFieldPuns #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE StrictData #-}
{-# LANGUAGE NoImplicitPrelude #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
{-# OPTIONS_GHC -fno-warn-unused-matches #-}

-- Derived from AWS service descriptions, licensed under Apache 2.0.

-- |
-- Module      : Amazonka.MediaConvert.Types.DvbSubDestinationSettings
-- Copyright   : (c) 2013-2023 Brendan Hay
-- License     : Mozilla Public License, v. 2.0.
-- Maintainer  : Brendan Hay
-- Stability   : auto-generated
-- Portability : non-portable (GHC extensions)
module Amazonka.MediaConvert.Types.DvbSubDestinationSettings where

import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import Amazonka.MediaConvert.Types.DvbSubSubtitleFallbackFont
import Amazonka.MediaConvert.Types.DvbSubtitleAlignment
import Amazonka.MediaConvert.Types.DvbSubtitleApplyFontColor
import Amazonka.MediaConvert.Types.DvbSubtitleBackgroundColor
import Amazonka.MediaConvert.Types.DvbSubtitleFontColor
import Amazonka.MediaConvert.Types.DvbSubtitleOutlineColor
import Amazonka.MediaConvert.Types.DvbSubtitleShadowColor
import Amazonka.MediaConvert.Types.DvbSubtitleStylePassthrough
import Amazonka.MediaConvert.Types.DvbSubtitleTeletextSpacing
import Amazonka.MediaConvert.Types.DvbSubtitlingType
import Amazonka.MediaConvert.Types.DvbddsHandling
import Amazonka.MediaConvert.Types.FontScript
import qualified Amazonka.Prelude as Prelude

-- | Settings related to DVB-Sub captions. Set up DVB-Sub captions in the
-- same output as your video. For more information, see
-- https:\/\/docs.aws.amazon.com\/mediaconvert\/latest\/ug\/dvb-sub-output-captions.html.
-- When you work directly in your JSON job specification, include this
-- object and any required children when you set destinationType to
-- DVB_SUB.
--
-- /See:/ 'newDvbSubDestinationSettings' smart constructor.
data DvbSubDestinationSettings = DvbSubDestinationSettings'
  { -- | Specify the alignment of your captions. If no explicit x_position is
    -- provided, setting alignment to centered will placethe captions at the
    -- bottom center of the output. Similarly, setting a left alignment
    -- willalign 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. Within your job settings, all of your DVB-Sub settings must
    -- be identical.
    DvbSubDestinationSettings -> Maybe DvbSubtitleAlignment
alignment :: Prelude.Maybe DvbSubtitleAlignment,
    -- | Ignore this setting unless Style Passthrough (StylePassthrough) is set
    -- to Enabled and Font color (FontColor) set to Black, Yellow, Red, Green,
    -- Blue, or Hex. Use Apply font color (ApplyFontColor) for additional font
    -- color controls. When you choose White text only (WHITE_TEXT_ONLY), or
    -- leave blank, your font color setting only applies to white text in your
    -- input captions. For example, if your font color setting is Yellow, and
    -- your input captions have red and white text, your output captions will
    -- have red and yellow text. When you choose ALL_TEXT, your font color
    -- setting applies to all of your output captions text.
    DvbSubDestinationSettings -> Maybe DvbSubtitleApplyFontColor
applyFontColor :: Prelude.Maybe DvbSubtitleApplyFontColor,
    -- | Specify the color of the rectangle behind the captions. Leave background
    -- color (BackgroundColor) blank and set Style passthrough
    -- (StylePassthrough) to enabled to use the background color data from your
    -- input captions, if present.
    DvbSubDestinationSettings -> Maybe DvbSubtitleBackgroundColor
backgroundColor :: Prelude.Maybe DvbSubtitleBackgroundColor,
    -- | Specify the opacity of the background rectangle. Enter a value from 0 to
    -- 255, where 0 is transparent and 255 is opaque. If Style passthrough
    -- (StylePassthrough) is set to enabled, leave blank to pass through the
    -- background style information in your input captions to your output
    -- captions. If Style passthrough is set to disabled, leave blank to use a
    -- value of 0 and remove all backgrounds from your output captions. Within
    -- your job settings, all of your DVB-Sub settings must be identical.
    DvbSubDestinationSettings -> Maybe Natural
backgroundOpacity :: Prelude.Maybe Prelude.Natural,
    -- | Specify how MediaConvert handles the display definition segment (DDS).
    -- Keep the default, None (NONE), to exclude the DDS from this set of
    -- captions. Choose No display window (NO_DISPLAY_WINDOW) to have
    -- MediaConvert include the DDS but not include display window data. In
    -- this case, MediaConvert writes that information to the page composition
    -- segment (PCS) instead. Choose Specify (SPECIFIED) to have MediaConvert
    -- set up the display window based on the values that you specify in
    -- related job settings. For video resolutions that are 576 pixels or
    -- smaller in height, MediaConvert doesn\'t include the DDS, regardless of
    -- the value you choose for DDS handling (ddsHandling). In this case, it
    -- doesn\'t write the display window data to the PCS either. Related
    -- settings: Use the settings DDS x-coordinate (ddsXCoordinate) and DDS
    -- y-coordinate (ddsYCoordinate) to specify the offset between the top left
    -- corner of the display window and the top left corner of the video frame.
    -- All burn-in and DVB-Sub font settings must match.
    DvbSubDestinationSettings -> Maybe DvbddsHandling
ddsHandling :: Prelude.Maybe DvbddsHandling,
    -- | Use this setting, along with DDS y-coordinate (ddsYCoordinate), to
    -- specify the upper left corner of the display definition segment (DDS)
    -- display window. With this setting, specify the distance, in pixels,
    -- between the left side of the frame and the left side of the DDS display
    -- window. Keep the default value, 0, to have MediaConvert automatically
    -- choose this offset. Related setting: When you use this setting, you must
    -- set DDS handling (ddsHandling) to a value other than None (NONE).
    -- MediaConvert uses these values to determine whether to write page
    -- position data to the DDS or to the page composition segment (PCS). All
    -- burn-in and DVB-Sub font settings must match.
    DvbSubDestinationSettings -> Maybe Natural
ddsXCoordinate :: Prelude.Maybe Prelude.Natural,
    -- | Use this setting, along with DDS x-coordinate (ddsXCoordinate), to
    -- specify the upper left corner of the display definition segment (DDS)
    -- display window. With this setting, specify the distance, in pixels,
    -- between the top of the frame and the top of the DDS display window. Keep
    -- the default value, 0, to have MediaConvert automatically choose this
    -- offset. Related setting: When you use this setting, you must set DDS
    -- handling (ddsHandling) to a value other than None (NONE). MediaConvert
    -- uses these values to determine whether to write page position data to
    -- the DDS or to the page composition segment (PCS). All burn-in and
    -- DVB-Sub font settings must match.
    DvbSubDestinationSettings -> Maybe Natural
ddsYCoordinate :: Prelude.Maybe Prelude.Natural,
    -- | Specify the font that you want the service to use for your burn in
    -- captions when your input captions specify a font that MediaConvert
    -- doesn\'t support. When you set Fallback font (FallbackFont) to best
    -- match (BEST_MATCH), or leave blank, MediaConvert uses a supported font
    -- that most closely matches the font that your input captions specify.
    -- When there are multiple unsupported fonts in your input captions,
    -- MediaConvert matches each font with the supported font that matches
    -- best. When you explicitly choose a replacement font, MediaConvert uses
    -- that font to replace all unsupported fonts from your input.
    DvbSubDestinationSettings -> Maybe DvbSubSubtitleFallbackFont
fallbackFont :: Prelude.Maybe DvbSubSubtitleFallbackFont,
    -- | Specify the color of the captions text. Leave Font color (FontColor)
    -- blank and set Style passthrough (StylePassthrough) to enabled to use the
    -- font color data from your input captions, if present. Within your job
    -- settings, all of your DVB-Sub settings must be identical.
    DvbSubDestinationSettings -> Maybe DvbSubtitleFontColor
fontColor :: Prelude.Maybe DvbSubtitleFontColor,
    -- | Specify the opacity of the burned-in captions. 255 is opaque; 0 is
    -- transparent. Within your job settings, all of your DVB-Sub settings must
    -- be identical.
    DvbSubDestinationSettings -> Maybe Natural
fontOpacity :: Prelude.Maybe Prelude.Natural,
    -- | Specify the Font resolution (FontResolution) in DPI (dots per inch).
    -- Within your job settings, all of your DVB-Sub settings must be
    -- identical.
    DvbSubDestinationSettings -> Maybe Natural
fontResolution :: Prelude.Maybe Prelude.Natural,
    -- | Set Font script (FontScript) to Automatically determined (AUTOMATIC), or
    -- leave blank, to automatically determine the font script in your input
    -- captions. Otherwise, set to Simplified Chinese (HANS) or Traditional
    -- Chinese (HANT) if your input font script uses Simplified or Traditional
    -- Chinese. Within your job settings, all of your DVB-Sub settings must be
    -- identical.
    DvbSubDestinationSettings -> Maybe FontScript
fontScript :: Prelude.Maybe FontScript,
    -- | Specify the Font size (FontSize) in pixels. Must be a positive integer.
    -- Set to 0, or leave blank, for automatic font size. Within your job
    -- settings, all of your DVB-Sub settings must be identical.
    DvbSubDestinationSettings -> Maybe Natural
fontSize :: Prelude.Maybe Prelude.Natural,
    -- | Specify the height, in pixels, of this set of DVB-Sub captions. The
    -- default value is 576 pixels. Related setting: When you use this setting,
    -- you must set DDS handling (ddsHandling) to a value other than None
    -- (NONE). All burn-in and DVB-Sub font settings must match.
    DvbSubDestinationSettings -> Maybe Natural
height :: Prelude.Maybe Prelude.Natural,
    -- | Ignore this setting unless your Font color is set to Hex. Enter either
    -- six or eight hexidecimal digits, representing red, green, and blue, with
    -- two optional extra digits for alpha. For example a value of 1122AABB is
    -- a red value of 0x11, a green value of 0x22, a blue value of 0xAA, and an
    -- alpha value of 0xBB.
    DvbSubDestinationSettings -> Maybe Text
hexFontColor :: Prelude.Maybe Prelude.Text,
    -- | Specify font outline color. Leave Outline color (OutlineColor) blank and
    -- set Style passthrough (StylePassthrough) to enabled to use the font
    -- outline color data from your input captions, if present. Within your job
    -- settings, all of your DVB-Sub settings must be identical.
    DvbSubDestinationSettings -> Maybe DvbSubtitleOutlineColor
outlineColor :: Prelude.Maybe DvbSubtitleOutlineColor,
    -- | Specify the Outline size (OutlineSize) of the caption text, in pixels.
    -- Leave Outline size blank and set Style passthrough (StylePassthrough) to
    -- enabled to use the outline size data from your input captions, if
    -- present. Within your job settings, all of your DVB-Sub settings must be
    -- identical.
    DvbSubDestinationSettings -> Maybe Natural
outlineSize :: Prelude.Maybe Prelude.Natural,
    -- | Specify the color of the shadow cast by the captions. Leave Shadow color
    -- (ShadowColor) blank and set Style passthrough (StylePassthrough) to
    -- enabled to use the shadow color data from your input captions, if
    -- present. Within your job settings, all of your DVB-Sub settings must be
    -- identical.
    DvbSubDestinationSettings -> Maybe DvbSubtitleShadowColor
shadowColor :: Prelude.Maybe DvbSubtitleShadowColor,
    -- | Specify the opacity of the shadow. Enter a value from 0 to 255, where 0
    -- is transparent and 255 is opaque. If Style passthrough
    -- (StylePassthrough) is set to Enabled, leave Shadow opacity
    -- (ShadowOpacity) blank to pass through the shadow style information in
    -- your input captions to your output captions. If Style passthrough is set
    -- to disabled, leave blank to use a value of 0 and remove all shadows from
    -- your output captions. Within your job settings, all of your DVB-Sub
    -- settings must be identical.
    DvbSubDestinationSettings -> Maybe Natural
shadowOpacity :: Prelude.Maybe Prelude.Natural,
    -- | Specify 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. Within your job settings, all of your DVB-Sub settings must be
    -- identical.
    DvbSubDestinationSettings -> Maybe Int
shadowXOffset :: Prelude.Maybe Prelude.Int,
    -- | Specify 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. Leave Shadow y-offset (ShadowYOffset) blank and set Style
    -- passthrough (StylePassthrough) to enabled to use the shadow y-offset
    -- data from your input captions, if present. Within your job settings, all
    -- of your DVB-Sub settings must be identical.
    DvbSubDestinationSettings -> Maybe Int
shadowYOffset :: Prelude.Maybe Prelude.Int,
    -- | Set Style passthrough (StylePassthrough) to ENABLED to use the available
    -- style, color, and position information from your input captions.
    -- MediaConvert uses default settings for any missing style and position
    -- information in your input captions. Set Style passthrough to DISABLED,
    -- or leave blank, to ignore the style and position information from your
    -- input captions and use default settings: white text with black
    -- outlining, bottom-center positioning, and automatic sizing. Whether you
    -- set Style passthrough to enabled or not, you can also choose to manually
    -- override any of the individual style and position settings.
    DvbSubDestinationSettings -> Maybe DvbSubtitleStylePassthrough
stylePassthrough :: Prelude.Maybe DvbSubtitleStylePassthrough,
    -- | Specify whether your DVB subtitles are standard or for hearing impaired.
    -- Choose hearing impaired if your subtitles include audio descriptions and
    -- dialogue. Choose standard if your subtitles include only dialogue.
    DvbSubDestinationSettings -> Maybe DvbSubtitlingType
subtitlingType :: Prelude.Maybe DvbSubtitlingType,
    -- | Specify whether the Text spacing (TeletextSpacing) in your captions is
    -- set by the captions grid, or varies depending on letter width. Choose
    -- fixed grid (FIXED_GRID) to conform to the spacing specified in the
    -- captions file more accurately. Choose proportional (PROPORTIONAL) to
    -- make the text easier to read for closed captions. Within your job
    -- settings, all of your DVB-Sub settings must be identical.
    DvbSubDestinationSettings -> Maybe DvbSubtitleTeletextSpacing
teletextSpacing :: Prelude.Maybe DvbSubtitleTeletextSpacing,
    -- | Specify the width, in pixels, of this set of DVB-Sub captions. The
    -- default value is 720 pixels. Related setting: When you use this setting,
    -- you must set DDS handling (ddsHandling) to a value other than None
    -- (NONE). All burn-in and DVB-Sub font settings must match.
    DvbSubDestinationSettings -> Maybe Natural
width :: Prelude.Maybe Prelude.Natural,
    -- | Specify the horizontal position (XPosition) of the captions, relative to
    -- the left side of the outputin pixels. A value of 10 would result in the
    -- captions starting 10 pixels from the left ofthe output. If no explicit
    -- x_position is provided, the horizontal caption position will
    -- bedetermined by the alignment parameter. Within your job settings, all
    -- of your DVB-Sub settings must be identical.
    DvbSubDestinationSettings -> Maybe Natural
xPosition :: Prelude.Maybe Prelude.Natural,
    -- | Specify the vertical position (YPosition) of the captions, 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
    -- y_position is provided, the caption will be positioned towards the
    -- bottom of the output. Within your job settings, all of your DVB-Sub
    -- settings must be identical.
    DvbSubDestinationSettings -> Maybe Natural
yPosition :: Prelude.Maybe Prelude.Natural
  }
  deriving (DvbSubDestinationSettings -> DvbSubDestinationSettings -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DvbSubDestinationSettings -> DvbSubDestinationSettings -> Bool
$c/= :: DvbSubDestinationSettings -> DvbSubDestinationSettings -> Bool
== :: DvbSubDestinationSettings -> DvbSubDestinationSettings -> Bool
$c== :: DvbSubDestinationSettings -> DvbSubDestinationSettings -> Bool
Prelude.Eq, ReadPrec [DvbSubDestinationSettings]
ReadPrec DvbSubDestinationSettings
Int -> ReadS DvbSubDestinationSettings
ReadS [DvbSubDestinationSettings]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DvbSubDestinationSettings]
$creadListPrec :: ReadPrec [DvbSubDestinationSettings]
readPrec :: ReadPrec DvbSubDestinationSettings
$creadPrec :: ReadPrec DvbSubDestinationSettings
readList :: ReadS [DvbSubDestinationSettings]
$creadList :: ReadS [DvbSubDestinationSettings]
readsPrec :: Int -> ReadS DvbSubDestinationSettings
$creadsPrec :: Int -> ReadS DvbSubDestinationSettings
Prelude.Read, Int -> DvbSubDestinationSettings -> ShowS
[DvbSubDestinationSettings] -> ShowS
DvbSubDestinationSettings -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DvbSubDestinationSettings] -> ShowS
$cshowList :: [DvbSubDestinationSettings] -> ShowS
show :: DvbSubDestinationSettings -> String
$cshow :: DvbSubDestinationSettings -> String
showsPrec :: Int -> DvbSubDestinationSettings -> ShowS
$cshowsPrec :: Int -> DvbSubDestinationSettings -> ShowS
Prelude.Show, forall x.
Rep DvbSubDestinationSettings x -> DvbSubDestinationSettings
forall x.
DvbSubDestinationSettings -> Rep DvbSubDestinationSettings x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep DvbSubDestinationSettings x -> DvbSubDestinationSettings
$cfrom :: forall x.
DvbSubDestinationSettings -> Rep DvbSubDestinationSettings x
Prelude.Generic)

-- |
-- Create a value of 'DvbSubDestinationSettings' with all optional fields omitted.
--
-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.
--
-- The following record fields are available, with the corresponding lenses provided
-- for backwards compatibility:
--
-- 'alignment', 'dvbSubDestinationSettings_alignment' - Specify the alignment of your captions. If no explicit x_position is
-- provided, setting alignment to centered will placethe captions at the
-- bottom center of the output. Similarly, setting a left alignment
-- willalign 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. Within your job settings, all of your DVB-Sub settings must
-- be identical.
--
-- 'applyFontColor', 'dvbSubDestinationSettings_applyFontColor' - Ignore this setting unless Style Passthrough (StylePassthrough) is set
-- to Enabled and Font color (FontColor) set to Black, Yellow, Red, Green,
-- Blue, or Hex. Use Apply font color (ApplyFontColor) for additional font
-- color controls. When you choose White text only (WHITE_TEXT_ONLY), or
-- leave blank, your font color setting only applies to white text in your
-- input captions. For example, if your font color setting is Yellow, and
-- your input captions have red and white text, your output captions will
-- have red and yellow text. When you choose ALL_TEXT, your font color
-- setting applies to all of your output captions text.
--
-- 'backgroundColor', 'dvbSubDestinationSettings_backgroundColor' - Specify the color of the rectangle behind the captions. Leave background
-- color (BackgroundColor) blank and set Style passthrough
-- (StylePassthrough) to enabled to use the background color data from your
-- input captions, if present.
--
-- 'backgroundOpacity', 'dvbSubDestinationSettings_backgroundOpacity' - Specify the opacity of the background rectangle. Enter a value from 0 to
-- 255, where 0 is transparent and 255 is opaque. If Style passthrough
-- (StylePassthrough) is set to enabled, leave blank to pass through the
-- background style information in your input captions to your output
-- captions. If Style passthrough is set to disabled, leave blank to use a
-- value of 0 and remove all backgrounds from your output captions. Within
-- your job settings, all of your DVB-Sub settings must be identical.
--
-- 'ddsHandling', 'dvbSubDestinationSettings_ddsHandling' - Specify how MediaConvert handles the display definition segment (DDS).
-- Keep the default, None (NONE), to exclude the DDS from this set of
-- captions. Choose No display window (NO_DISPLAY_WINDOW) to have
-- MediaConvert include the DDS but not include display window data. In
-- this case, MediaConvert writes that information to the page composition
-- segment (PCS) instead. Choose Specify (SPECIFIED) to have MediaConvert
-- set up the display window based on the values that you specify in
-- related job settings. For video resolutions that are 576 pixels or
-- smaller in height, MediaConvert doesn\'t include the DDS, regardless of
-- the value you choose for DDS handling (ddsHandling). In this case, it
-- doesn\'t write the display window data to the PCS either. Related
-- settings: Use the settings DDS x-coordinate (ddsXCoordinate) and DDS
-- y-coordinate (ddsYCoordinate) to specify the offset between the top left
-- corner of the display window and the top left corner of the video frame.
-- All burn-in and DVB-Sub font settings must match.
--
-- 'ddsXCoordinate', 'dvbSubDestinationSettings_ddsXCoordinate' - Use this setting, along with DDS y-coordinate (ddsYCoordinate), to
-- specify the upper left corner of the display definition segment (DDS)
-- display window. With this setting, specify the distance, in pixels,
-- between the left side of the frame and the left side of the DDS display
-- window. Keep the default value, 0, to have MediaConvert automatically
-- choose this offset. Related setting: When you use this setting, you must
-- set DDS handling (ddsHandling) to a value other than None (NONE).
-- MediaConvert uses these values to determine whether to write page
-- position data to the DDS or to the page composition segment (PCS). All
-- burn-in and DVB-Sub font settings must match.
--
-- 'ddsYCoordinate', 'dvbSubDestinationSettings_ddsYCoordinate' - Use this setting, along with DDS x-coordinate (ddsXCoordinate), to
-- specify the upper left corner of the display definition segment (DDS)
-- display window. With this setting, specify the distance, in pixels,
-- between the top of the frame and the top of the DDS display window. Keep
-- the default value, 0, to have MediaConvert automatically choose this
-- offset. Related setting: When you use this setting, you must set DDS
-- handling (ddsHandling) to a value other than None (NONE). MediaConvert
-- uses these values to determine whether to write page position data to
-- the DDS or to the page composition segment (PCS). All burn-in and
-- DVB-Sub font settings must match.
--
-- 'fallbackFont', 'dvbSubDestinationSettings_fallbackFont' - Specify the font that you want the service to use for your burn in
-- captions when your input captions specify a font that MediaConvert
-- doesn\'t support. When you set Fallback font (FallbackFont) to best
-- match (BEST_MATCH), or leave blank, MediaConvert uses a supported font
-- that most closely matches the font that your input captions specify.
-- When there are multiple unsupported fonts in your input captions,
-- MediaConvert matches each font with the supported font that matches
-- best. When you explicitly choose a replacement font, MediaConvert uses
-- that font to replace all unsupported fonts from your input.
--
-- 'fontColor', 'dvbSubDestinationSettings_fontColor' - Specify the color of the captions text. Leave Font color (FontColor)
-- blank and set Style passthrough (StylePassthrough) to enabled to use the
-- font color data from your input captions, if present. Within your job
-- settings, all of your DVB-Sub settings must be identical.
--
-- 'fontOpacity', 'dvbSubDestinationSettings_fontOpacity' - Specify the opacity of the burned-in captions. 255 is opaque; 0 is
-- transparent. Within your job settings, all of your DVB-Sub settings must
-- be identical.
--
-- 'fontResolution', 'dvbSubDestinationSettings_fontResolution' - Specify the Font resolution (FontResolution) in DPI (dots per inch).
-- Within your job settings, all of your DVB-Sub settings must be
-- identical.
--
-- 'fontScript', 'dvbSubDestinationSettings_fontScript' - Set Font script (FontScript) to Automatically determined (AUTOMATIC), or
-- leave blank, to automatically determine the font script in your input
-- captions. Otherwise, set to Simplified Chinese (HANS) or Traditional
-- Chinese (HANT) if your input font script uses Simplified or Traditional
-- Chinese. Within your job settings, all of your DVB-Sub settings must be
-- identical.
--
-- 'fontSize', 'dvbSubDestinationSettings_fontSize' - Specify the Font size (FontSize) in pixels. Must be a positive integer.
-- Set to 0, or leave blank, for automatic font size. Within your job
-- settings, all of your DVB-Sub settings must be identical.
--
-- 'height', 'dvbSubDestinationSettings_height' - Specify the height, in pixels, of this set of DVB-Sub captions. The
-- default value is 576 pixels. Related setting: When you use this setting,
-- you must set DDS handling (ddsHandling) to a value other than None
-- (NONE). All burn-in and DVB-Sub font settings must match.
--
-- 'hexFontColor', 'dvbSubDestinationSettings_hexFontColor' - Ignore this setting unless your Font color is set to Hex. Enter either
-- six or eight hexidecimal digits, representing red, green, and blue, with
-- two optional extra digits for alpha. For example a value of 1122AABB is
-- a red value of 0x11, a green value of 0x22, a blue value of 0xAA, and an
-- alpha value of 0xBB.
--
-- 'outlineColor', 'dvbSubDestinationSettings_outlineColor' - Specify font outline color. Leave Outline color (OutlineColor) blank and
-- set Style passthrough (StylePassthrough) to enabled to use the font
-- outline color data from your input captions, if present. Within your job
-- settings, all of your DVB-Sub settings must be identical.
--
-- 'outlineSize', 'dvbSubDestinationSettings_outlineSize' - Specify the Outline size (OutlineSize) of the caption text, in pixels.
-- Leave Outline size blank and set Style passthrough (StylePassthrough) to
-- enabled to use the outline size data from your input captions, if
-- present. Within your job settings, all of your DVB-Sub settings must be
-- identical.
--
-- 'shadowColor', 'dvbSubDestinationSettings_shadowColor' - Specify the color of the shadow cast by the captions. Leave Shadow color
-- (ShadowColor) blank and set Style passthrough (StylePassthrough) to
-- enabled to use the shadow color data from your input captions, if
-- present. Within your job settings, all of your DVB-Sub settings must be
-- identical.
--
-- 'shadowOpacity', 'dvbSubDestinationSettings_shadowOpacity' - Specify the opacity of the shadow. Enter a value from 0 to 255, where 0
-- is transparent and 255 is opaque. If Style passthrough
-- (StylePassthrough) is set to Enabled, leave Shadow opacity
-- (ShadowOpacity) blank to pass through the shadow style information in
-- your input captions to your output captions. If Style passthrough is set
-- to disabled, leave blank to use a value of 0 and remove all shadows from
-- your output captions. Within your job settings, all of your DVB-Sub
-- settings must be identical.
--
-- 'shadowXOffset', 'dvbSubDestinationSettings_shadowXOffset' - Specify 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. Within your job settings, all of your DVB-Sub settings must be
-- identical.
--
-- 'shadowYOffset', 'dvbSubDestinationSettings_shadowYOffset' - Specify 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. Leave Shadow y-offset (ShadowYOffset) blank and set Style
-- passthrough (StylePassthrough) to enabled to use the shadow y-offset
-- data from your input captions, if present. Within your job settings, all
-- of your DVB-Sub settings must be identical.
--
-- 'stylePassthrough', 'dvbSubDestinationSettings_stylePassthrough' - Set Style passthrough (StylePassthrough) to ENABLED to use the available
-- style, color, and position information from your input captions.
-- MediaConvert uses default settings for any missing style and position
-- information in your input captions. Set Style passthrough to DISABLED,
-- or leave blank, to ignore the style and position information from your
-- input captions and use default settings: white text with black
-- outlining, bottom-center positioning, and automatic sizing. Whether you
-- set Style passthrough to enabled or not, you can also choose to manually
-- override any of the individual style and position settings.
--
-- 'subtitlingType', 'dvbSubDestinationSettings_subtitlingType' - Specify whether your DVB subtitles are standard or for hearing impaired.
-- Choose hearing impaired if your subtitles include audio descriptions and
-- dialogue. Choose standard if your subtitles include only dialogue.
--
-- 'teletextSpacing', 'dvbSubDestinationSettings_teletextSpacing' - Specify whether the Text spacing (TeletextSpacing) in your captions is
-- set by the captions grid, or varies depending on letter width. Choose
-- fixed grid (FIXED_GRID) to conform to the spacing specified in the
-- captions file more accurately. Choose proportional (PROPORTIONAL) to
-- make the text easier to read for closed captions. Within your job
-- settings, all of your DVB-Sub settings must be identical.
--
-- 'width', 'dvbSubDestinationSettings_width' - Specify the width, in pixels, of this set of DVB-Sub captions. The
-- default value is 720 pixels. Related setting: When you use this setting,
-- you must set DDS handling (ddsHandling) to a value other than None
-- (NONE). All burn-in and DVB-Sub font settings must match.
--
-- 'xPosition', 'dvbSubDestinationSettings_xPosition' - Specify the horizontal position (XPosition) of the captions, relative to
-- the left side of the outputin pixels. A value of 10 would result in the
-- captions starting 10 pixels from the left ofthe output. If no explicit
-- x_position is provided, the horizontal caption position will
-- bedetermined by the alignment parameter. Within your job settings, all
-- of your DVB-Sub settings must be identical.
--
-- 'yPosition', 'dvbSubDestinationSettings_yPosition' - Specify the vertical position (YPosition) of the captions, 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
-- y_position is provided, the caption will be positioned towards the
-- bottom of the output. Within your job settings, all of your DVB-Sub
-- settings must be identical.
newDvbSubDestinationSettings ::
  DvbSubDestinationSettings
newDvbSubDestinationSettings :: DvbSubDestinationSettings
newDvbSubDestinationSettings =
  DvbSubDestinationSettings'
    { $sel:alignment:DvbSubDestinationSettings' :: Maybe DvbSubtitleAlignment
alignment =
        forall a. Maybe a
Prelude.Nothing,
      $sel:applyFontColor:DvbSubDestinationSettings' :: Maybe DvbSubtitleApplyFontColor
applyFontColor = forall a. Maybe a
Prelude.Nothing,
      $sel:backgroundColor:DvbSubDestinationSettings' :: Maybe DvbSubtitleBackgroundColor
backgroundColor = forall a. Maybe a
Prelude.Nothing,
      $sel:backgroundOpacity:DvbSubDestinationSettings' :: Maybe Natural
backgroundOpacity = forall a. Maybe a
Prelude.Nothing,
      $sel:ddsHandling:DvbSubDestinationSettings' :: Maybe DvbddsHandling
ddsHandling = forall a. Maybe a
Prelude.Nothing,
      $sel:ddsXCoordinate:DvbSubDestinationSettings' :: Maybe Natural
ddsXCoordinate = forall a. Maybe a
Prelude.Nothing,
      $sel:ddsYCoordinate:DvbSubDestinationSettings' :: Maybe Natural
ddsYCoordinate = forall a. Maybe a
Prelude.Nothing,
      $sel:fallbackFont:DvbSubDestinationSettings' :: Maybe DvbSubSubtitleFallbackFont
fallbackFont = forall a. Maybe a
Prelude.Nothing,
      $sel:fontColor:DvbSubDestinationSettings' :: Maybe DvbSubtitleFontColor
fontColor = forall a. Maybe a
Prelude.Nothing,
      $sel:fontOpacity:DvbSubDestinationSettings' :: Maybe Natural
fontOpacity = forall a. Maybe a
Prelude.Nothing,
      $sel:fontResolution:DvbSubDestinationSettings' :: Maybe Natural
fontResolution = forall a. Maybe a
Prelude.Nothing,
      $sel:fontScript:DvbSubDestinationSettings' :: Maybe FontScript
fontScript = forall a. Maybe a
Prelude.Nothing,
      $sel:fontSize:DvbSubDestinationSettings' :: Maybe Natural
fontSize = forall a. Maybe a
Prelude.Nothing,
      $sel:height:DvbSubDestinationSettings' :: Maybe Natural
height = forall a. Maybe a
Prelude.Nothing,
      $sel:hexFontColor:DvbSubDestinationSettings' :: Maybe Text
hexFontColor = forall a. Maybe a
Prelude.Nothing,
      $sel:outlineColor:DvbSubDestinationSettings' :: Maybe DvbSubtitleOutlineColor
outlineColor = forall a. Maybe a
Prelude.Nothing,
      $sel:outlineSize:DvbSubDestinationSettings' :: Maybe Natural
outlineSize = forall a. Maybe a
Prelude.Nothing,
      $sel:shadowColor:DvbSubDestinationSettings' :: Maybe DvbSubtitleShadowColor
shadowColor = forall a. Maybe a
Prelude.Nothing,
      $sel:shadowOpacity:DvbSubDestinationSettings' :: Maybe Natural
shadowOpacity = forall a. Maybe a
Prelude.Nothing,
      $sel:shadowXOffset:DvbSubDestinationSettings' :: Maybe Int
shadowXOffset = forall a. Maybe a
Prelude.Nothing,
      $sel:shadowYOffset:DvbSubDestinationSettings' :: Maybe Int
shadowYOffset = forall a. Maybe a
Prelude.Nothing,
      $sel:stylePassthrough:DvbSubDestinationSettings' :: Maybe DvbSubtitleStylePassthrough
stylePassthrough = forall a. Maybe a
Prelude.Nothing,
      $sel:subtitlingType:DvbSubDestinationSettings' :: Maybe DvbSubtitlingType
subtitlingType = forall a. Maybe a
Prelude.Nothing,
      $sel:teletextSpacing:DvbSubDestinationSettings' :: Maybe DvbSubtitleTeletextSpacing
teletextSpacing = forall a. Maybe a
Prelude.Nothing,
      $sel:width:DvbSubDestinationSettings' :: Maybe Natural
width = forall a. Maybe a
Prelude.Nothing,
      $sel:xPosition:DvbSubDestinationSettings' :: Maybe Natural
xPosition = forall a. Maybe a
Prelude.Nothing,
      $sel:yPosition:DvbSubDestinationSettings' :: Maybe Natural
yPosition = forall a. Maybe a
Prelude.Nothing
    }

-- | Specify the alignment of your captions. If no explicit x_position is
-- provided, setting alignment to centered will placethe captions at the
-- bottom center of the output. Similarly, setting a left alignment
-- willalign 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. Within your job settings, all of your DVB-Sub settings must
-- be identical.
dvbSubDestinationSettings_alignment :: Lens.Lens' DvbSubDestinationSettings (Prelude.Maybe DvbSubtitleAlignment)
dvbSubDestinationSettings_alignment :: Lens' DvbSubDestinationSettings (Maybe DvbSubtitleAlignment)
dvbSubDestinationSettings_alignment = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DvbSubDestinationSettings' {Maybe DvbSubtitleAlignment
alignment :: Maybe DvbSubtitleAlignment
$sel:alignment:DvbSubDestinationSettings' :: DvbSubDestinationSettings -> Maybe DvbSubtitleAlignment
alignment} -> Maybe DvbSubtitleAlignment
alignment) (\s :: DvbSubDestinationSettings
s@DvbSubDestinationSettings' {} Maybe DvbSubtitleAlignment
a -> DvbSubDestinationSettings
s {$sel:alignment:DvbSubDestinationSettings' :: Maybe DvbSubtitleAlignment
alignment = Maybe DvbSubtitleAlignment
a} :: DvbSubDestinationSettings)

-- | Ignore this setting unless Style Passthrough (StylePassthrough) is set
-- to Enabled and Font color (FontColor) set to Black, Yellow, Red, Green,
-- Blue, or Hex. Use Apply font color (ApplyFontColor) for additional font
-- color controls. When you choose White text only (WHITE_TEXT_ONLY), or
-- leave blank, your font color setting only applies to white text in your
-- input captions. For example, if your font color setting is Yellow, and
-- your input captions have red and white text, your output captions will
-- have red and yellow text. When you choose ALL_TEXT, your font color
-- setting applies to all of your output captions text.
dvbSubDestinationSettings_applyFontColor :: Lens.Lens' DvbSubDestinationSettings (Prelude.Maybe DvbSubtitleApplyFontColor)
dvbSubDestinationSettings_applyFontColor :: Lens' DvbSubDestinationSettings (Maybe DvbSubtitleApplyFontColor)
dvbSubDestinationSettings_applyFontColor = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DvbSubDestinationSettings' {Maybe DvbSubtitleApplyFontColor
applyFontColor :: Maybe DvbSubtitleApplyFontColor
$sel:applyFontColor:DvbSubDestinationSettings' :: DvbSubDestinationSettings -> Maybe DvbSubtitleApplyFontColor
applyFontColor} -> Maybe DvbSubtitleApplyFontColor
applyFontColor) (\s :: DvbSubDestinationSettings
s@DvbSubDestinationSettings' {} Maybe DvbSubtitleApplyFontColor
a -> DvbSubDestinationSettings
s {$sel:applyFontColor:DvbSubDestinationSettings' :: Maybe DvbSubtitleApplyFontColor
applyFontColor = Maybe DvbSubtitleApplyFontColor
a} :: DvbSubDestinationSettings)

-- | Specify the color of the rectangle behind the captions. Leave background
-- color (BackgroundColor) blank and set Style passthrough
-- (StylePassthrough) to enabled to use the background color data from your
-- input captions, if present.
dvbSubDestinationSettings_backgroundColor :: Lens.Lens' DvbSubDestinationSettings (Prelude.Maybe DvbSubtitleBackgroundColor)
dvbSubDestinationSettings_backgroundColor :: Lens' DvbSubDestinationSettings (Maybe DvbSubtitleBackgroundColor)
dvbSubDestinationSettings_backgroundColor = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DvbSubDestinationSettings' {Maybe DvbSubtitleBackgroundColor
backgroundColor :: Maybe DvbSubtitleBackgroundColor
$sel:backgroundColor:DvbSubDestinationSettings' :: DvbSubDestinationSettings -> Maybe DvbSubtitleBackgroundColor
backgroundColor} -> Maybe DvbSubtitleBackgroundColor
backgroundColor) (\s :: DvbSubDestinationSettings
s@DvbSubDestinationSettings' {} Maybe DvbSubtitleBackgroundColor
a -> DvbSubDestinationSettings
s {$sel:backgroundColor:DvbSubDestinationSettings' :: Maybe DvbSubtitleBackgroundColor
backgroundColor = Maybe DvbSubtitleBackgroundColor
a} :: DvbSubDestinationSettings)

-- | Specify the opacity of the background rectangle. Enter a value from 0 to
-- 255, where 0 is transparent and 255 is opaque. If Style passthrough
-- (StylePassthrough) is set to enabled, leave blank to pass through the
-- background style information in your input captions to your output
-- captions. If Style passthrough is set to disabled, leave blank to use a
-- value of 0 and remove all backgrounds from your output captions. Within
-- your job settings, all of your DVB-Sub settings must be identical.
dvbSubDestinationSettings_backgroundOpacity :: Lens.Lens' DvbSubDestinationSettings (Prelude.Maybe Prelude.Natural)
dvbSubDestinationSettings_backgroundOpacity :: Lens' DvbSubDestinationSettings (Maybe Natural)
dvbSubDestinationSettings_backgroundOpacity = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DvbSubDestinationSettings' {Maybe Natural
backgroundOpacity :: Maybe Natural
$sel:backgroundOpacity:DvbSubDestinationSettings' :: DvbSubDestinationSettings -> Maybe Natural
backgroundOpacity} -> Maybe Natural
backgroundOpacity) (\s :: DvbSubDestinationSettings
s@DvbSubDestinationSettings' {} Maybe Natural
a -> DvbSubDestinationSettings
s {$sel:backgroundOpacity:DvbSubDestinationSettings' :: Maybe Natural
backgroundOpacity = Maybe Natural
a} :: DvbSubDestinationSettings)

-- | Specify how MediaConvert handles the display definition segment (DDS).
-- Keep the default, None (NONE), to exclude the DDS from this set of
-- captions. Choose No display window (NO_DISPLAY_WINDOW) to have
-- MediaConvert include the DDS but not include display window data. In
-- this case, MediaConvert writes that information to the page composition
-- segment (PCS) instead. Choose Specify (SPECIFIED) to have MediaConvert
-- set up the display window based on the values that you specify in
-- related job settings. For video resolutions that are 576 pixels or
-- smaller in height, MediaConvert doesn\'t include the DDS, regardless of
-- the value you choose for DDS handling (ddsHandling). In this case, it
-- doesn\'t write the display window data to the PCS either. Related
-- settings: Use the settings DDS x-coordinate (ddsXCoordinate) and DDS
-- y-coordinate (ddsYCoordinate) to specify the offset between the top left
-- corner of the display window and the top left corner of the video frame.
-- All burn-in and DVB-Sub font settings must match.
dvbSubDestinationSettings_ddsHandling :: Lens.Lens' DvbSubDestinationSettings (Prelude.Maybe DvbddsHandling)
dvbSubDestinationSettings_ddsHandling :: Lens' DvbSubDestinationSettings (Maybe DvbddsHandling)
dvbSubDestinationSettings_ddsHandling = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DvbSubDestinationSettings' {Maybe DvbddsHandling
ddsHandling :: Maybe DvbddsHandling
$sel:ddsHandling:DvbSubDestinationSettings' :: DvbSubDestinationSettings -> Maybe DvbddsHandling
ddsHandling} -> Maybe DvbddsHandling
ddsHandling) (\s :: DvbSubDestinationSettings
s@DvbSubDestinationSettings' {} Maybe DvbddsHandling
a -> DvbSubDestinationSettings
s {$sel:ddsHandling:DvbSubDestinationSettings' :: Maybe DvbddsHandling
ddsHandling = Maybe DvbddsHandling
a} :: DvbSubDestinationSettings)

-- | Use this setting, along with DDS y-coordinate (ddsYCoordinate), to
-- specify the upper left corner of the display definition segment (DDS)
-- display window. With this setting, specify the distance, in pixels,
-- between the left side of the frame and the left side of the DDS display
-- window. Keep the default value, 0, to have MediaConvert automatically
-- choose this offset. Related setting: When you use this setting, you must
-- set DDS handling (ddsHandling) to a value other than None (NONE).
-- MediaConvert uses these values to determine whether to write page
-- position data to the DDS or to the page composition segment (PCS). All
-- burn-in and DVB-Sub font settings must match.
dvbSubDestinationSettings_ddsXCoordinate :: Lens.Lens' DvbSubDestinationSettings (Prelude.Maybe Prelude.Natural)
dvbSubDestinationSettings_ddsXCoordinate :: Lens' DvbSubDestinationSettings (Maybe Natural)
dvbSubDestinationSettings_ddsXCoordinate = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DvbSubDestinationSettings' {Maybe Natural
ddsXCoordinate :: Maybe Natural
$sel:ddsXCoordinate:DvbSubDestinationSettings' :: DvbSubDestinationSettings -> Maybe Natural
ddsXCoordinate} -> Maybe Natural
ddsXCoordinate) (\s :: DvbSubDestinationSettings
s@DvbSubDestinationSettings' {} Maybe Natural
a -> DvbSubDestinationSettings
s {$sel:ddsXCoordinate:DvbSubDestinationSettings' :: Maybe Natural
ddsXCoordinate = Maybe Natural
a} :: DvbSubDestinationSettings)

-- | Use this setting, along with DDS x-coordinate (ddsXCoordinate), to
-- specify the upper left corner of the display definition segment (DDS)
-- display window. With this setting, specify the distance, in pixels,
-- between the top of the frame and the top of the DDS display window. Keep
-- the default value, 0, to have MediaConvert automatically choose this
-- offset. Related setting: When you use this setting, you must set DDS
-- handling (ddsHandling) to a value other than None (NONE). MediaConvert
-- uses these values to determine whether to write page position data to
-- the DDS or to the page composition segment (PCS). All burn-in and
-- DVB-Sub font settings must match.
dvbSubDestinationSettings_ddsYCoordinate :: Lens.Lens' DvbSubDestinationSettings (Prelude.Maybe Prelude.Natural)
dvbSubDestinationSettings_ddsYCoordinate :: Lens' DvbSubDestinationSettings (Maybe Natural)
dvbSubDestinationSettings_ddsYCoordinate = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DvbSubDestinationSettings' {Maybe Natural
ddsYCoordinate :: Maybe Natural
$sel:ddsYCoordinate:DvbSubDestinationSettings' :: DvbSubDestinationSettings -> Maybe Natural
ddsYCoordinate} -> Maybe Natural
ddsYCoordinate) (\s :: DvbSubDestinationSettings
s@DvbSubDestinationSettings' {} Maybe Natural
a -> DvbSubDestinationSettings
s {$sel:ddsYCoordinate:DvbSubDestinationSettings' :: Maybe Natural
ddsYCoordinate = Maybe Natural
a} :: DvbSubDestinationSettings)

-- | Specify the font that you want the service to use for your burn in
-- captions when your input captions specify a font that MediaConvert
-- doesn\'t support. When you set Fallback font (FallbackFont) to best
-- match (BEST_MATCH), or leave blank, MediaConvert uses a supported font
-- that most closely matches the font that your input captions specify.
-- When there are multiple unsupported fonts in your input captions,
-- MediaConvert matches each font with the supported font that matches
-- best. When you explicitly choose a replacement font, MediaConvert uses
-- that font to replace all unsupported fonts from your input.
dvbSubDestinationSettings_fallbackFont :: Lens.Lens' DvbSubDestinationSettings (Prelude.Maybe DvbSubSubtitleFallbackFont)
dvbSubDestinationSettings_fallbackFont :: Lens' DvbSubDestinationSettings (Maybe DvbSubSubtitleFallbackFont)
dvbSubDestinationSettings_fallbackFont = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DvbSubDestinationSettings' {Maybe DvbSubSubtitleFallbackFont
fallbackFont :: Maybe DvbSubSubtitleFallbackFont
$sel:fallbackFont:DvbSubDestinationSettings' :: DvbSubDestinationSettings -> Maybe DvbSubSubtitleFallbackFont
fallbackFont} -> Maybe DvbSubSubtitleFallbackFont
fallbackFont) (\s :: DvbSubDestinationSettings
s@DvbSubDestinationSettings' {} Maybe DvbSubSubtitleFallbackFont
a -> DvbSubDestinationSettings
s {$sel:fallbackFont:DvbSubDestinationSettings' :: Maybe DvbSubSubtitleFallbackFont
fallbackFont = Maybe DvbSubSubtitleFallbackFont
a} :: DvbSubDestinationSettings)

-- | Specify the color of the captions text. Leave Font color (FontColor)
-- blank and set Style passthrough (StylePassthrough) to enabled to use the
-- font color data from your input captions, if present. Within your job
-- settings, all of your DVB-Sub settings must be identical.
dvbSubDestinationSettings_fontColor :: Lens.Lens' DvbSubDestinationSettings (Prelude.Maybe DvbSubtitleFontColor)
dvbSubDestinationSettings_fontColor :: Lens' DvbSubDestinationSettings (Maybe DvbSubtitleFontColor)
dvbSubDestinationSettings_fontColor = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DvbSubDestinationSettings' {Maybe DvbSubtitleFontColor
fontColor :: Maybe DvbSubtitleFontColor
$sel:fontColor:DvbSubDestinationSettings' :: DvbSubDestinationSettings -> Maybe DvbSubtitleFontColor
fontColor} -> Maybe DvbSubtitleFontColor
fontColor) (\s :: DvbSubDestinationSettings
s@DvbSubDestinationSettings' {} Maybe DvbSubtitleFontColor
a -> DvbSubDestinationSettings
s {$sel:fontColor:DvbSubDestinationSettings' :: Maybe DvbSubtitleFontColor
fontColor = Maybe DvbSubtitleFontColor
a} :: DvbSubDestinationSettings)

-- | Specify the opacity of the burned-in captions. 255 is opaque; 0 is
-- transparent. Within your job settings, all of your DVB-Sub settings must
-- be identical.
dvbSubDestinationSettings_fontOpacity :: Lens.Lens' DvbSubDestinationSettings (Prelude.Maybe Prelude.Natural)
dvbSubDestinationSettings_fontOpacity :: Lens' DvbSubDestinationSettings (Maybe Natural)
dvbSubDestinationSettings_fontOpacity = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DvbSubDestinationSettings' {Maybe Natural
fontOpacity :: Maybe Natural
$sel:fontOpacity:DvbSubDestinationSettings' :: DvbSubDestinationSettings -> Maybe Natural
fontOpacity} -> Maybe Natural
fontOpacity) (\s :: DvbSubDestinationSettings
s@DvbSubDestinationSettings' {} Maybe Natural
a -> DvbSubDestinationSettings
s {$sel:fontOpacity:DvbSubDestinationSettings' :: Maybe Natural
fontOpacity = Maybe Natural
a} :: DvbSubDestinationSettings)

-- | Specify the Font resolution (FontResolution) in DPI (dots per inch).
-- Within your job settings, all of your DVB-Sub settings must be
-- identical.
dvbSubDestinationSettings_fontResolution :: Lens.Lens' DvbSubDestinationSettings (Prelude.Maybe Prelude.Natural)
dvbSubDestinationSettings_fontResolution :: Lens' DvbSubDestinationSettings (Maybe Natural)
dvbSubDestinationSettings_fontResolution = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DvbSubDestinationSettings' {Maybe Natural
fontResolution :: Maybe Natural
$sel:fontResolution:DvbSubDestinationSettings' :: DvbSubDestinationSettings -> Maybe Natural
fontResolution} -> Maybe Natural
fontResolution) (\s :: DvbSubDestinationSettings
s@DvbSubDestinationSettings' {} Maybe Natural
a -> DvbSubDestinationSettings
s {$sel:fontResolution:DvbSubDestinationSettings' :: Maybe Natural
fontResolution = Maybe Natural
a} :: DvbSubDestinationSettings)

-- | Set Font script (FontScript) to Automatically determined (AUTOMATIC), or
-- leave blank, to automatically determine the font script in your input
-- captions. Otherwise, set to Simplified Chinese (HANS) or Traditional
-- Chinese (HANT) if your input font script uses Simplified or Traditional
-- Chinese. Within your job settings, all of your DVB-Sub settings must be
-- identical.
dvbSubDestinationSettings_fontScript :: Lens.Lens' DvbSubDestinationSettings (Prelude.Maybe FontScript)
dvbSubDestinationSettings_fontScript :: Lens' DvbSubDestinationSettings (Maybe FontScript)
dvbSubDestinationSettings_fontScript = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DvbSubDestinationSettings' {Maybe FontScript
fontScript :: Maybe FontScript
$sel:fontScript:DvbSubDestinationSettings' :: DvbSubDestinationSettings -> Maybe FontScript
fontScript} -> Maybe FontScript
fontScript) (\s :: DvbSubDestinationSettings
s@DvbSubDestinationSettings' {} Maybe FontScript
a -> DvbSubDestinationSettings
s {$sel:fontScript:DvbSubDestinationSettings' :: Maybe FontScript
fontScript = Maybe FontScript
a} :: DvbSubDestinationSettings)

-- | Specify the Font size (FontSize) in pixels. Must be a positive integer.
-- Set to 0, or leave blank, for automatic font size. Within your job
-- settings, all of your DVB-Sub settings must be identical.
dvbSubDestinationSettings_fontSize :: Lens.Lens' DvbSubDestinationSettings (Prelude.Maybe Prelude.Natural)
dvbSubDestinationSettings_fontSize :: Lens' DvbSubDestinationSettings (Maybe Natural)
dvbSubDestinationSettings_fontSize = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DvbSubDestinationSettings' {Maybe Natural
fontSize :: Maybe Natural
$sel:fontSize:DvbSubDestinationSettings' :: DvbSubDestinationSettings -> Maybe Natural
fontSize} -> Maybe Natural
fontSize) (\s :: DvbSubDestinationSettings
s@DvbSubDestinationSettings' {} Maybe Natural
a -> DvbSubDestinationSettings
s {$sel:fontSize:DvbSubDestinationSettings' :: Maybe Natural
fontSize = Maybe Natural
a} :: DvbSubDestinationSettings)

-- | Specify the height, in pixels, of this set of DVB-Sub captions. The
-- default value is 576 pixels. Related setting: When you use this setting,
-- you must set DDS handling (ddsHandling) to a value other than None
-- (NONE). All burn-in and DVB-Sub font settings must match.
dvbSubDestinationSettings_height :: Lens.Lens' DvbSubDestinationSettings (Prelude.Maybe Prelude.Natural)
dvbSubDestinationSettings_height :: Lens' DvbSubDestinationSettings (Maybe Natural)
dvbSubDestinationSettings_height = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DvbSubDestinationSettings' {Maybe Natural
height :: Maybe Natural
$sel:height:DvbSubDestinationSettings' :: DvbSubDestinationSettings -> Maybe Natural
height} -> Maybe Natural
height) (\s :: DvbSubDestinationSettings
s@DvbSubDestinationSettings' {} Maybe Natural
a -> DvbSubDestinationSettings
s {$sel:height:DvbSubDestinationSettings' :: Maybe Natural
height = Maybe Natural
a} :: DvbSubDestinationSettings)

-- | Ignore this setting unless your Font color is set to Hex. Enter either
-- six or eight hexidecimal digits, representing red, green, and blue, with
-- two optional extra digits for alpha. For example a value of 1122AABB is
-- a red value of 0x11, a green value of 0x22, a blue value of 0xAA, and an
-- alpha value of 0xBB.
dvbSubDestinationSettings_hexFontColor :: Lens.Lens' DvbSubDestinationSettings (Prelude.Maybe Prelude.Text)
dvbSubDestinationSettings_hexFontColor :: Lens' DvbSubDestinationSettings (Maybe Text)
dvbSubDestinationSettings_hexFontColor = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DvbSubDestinationSettings' {Maybe Text
hexFontColor :: Maybe Text
$sel:hexFontColor:DvbSubDestinationSettings' :: DvbSubDestinationSettings -> Maybe Text
hexFontColor} -> Maybe Text
hexFontColor) (\s :: DvbSubDestinationSettings
s@DvbSubDestinationSettings' {} Maybe Text
a -> DvbSubDestinationSettings
s {$sel:hexFontColor:DvbSubDestinationSettings' :: Maybe Text
hexFontColor = Maybe Text
a} :: DvbSubDestinationSettings)

-- | Specify font outline color. Leave Outline color (OutlineColor) blank and
-- set Style passthrough (StylePassthrough) to enabled to use the font
-- outline color data from your input captions, if present. Within your job
-- settings, all of your DVB-Sub settings must be identical.
dvbSubDestinationSettings_outlineColor :: Lens.Lens' DvbSubDestinationSettings (Prelude.Maybe DvbSubtitleOutlineColor)
dvbSubDestinationSettings_outlineColor :: Lens' DvbSubDestinationSettings (Maybe DvbSubtitleOutlineColor)
dvbSubDestinationSettings_outlineColor = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DvbSubDestinationSettings' {Maybe DvbSubtitleOutlineColor
outlineColor :: Maybe DvbSubtitleOutlineColor
$sel:outlineColor:DvbSubDestinationSettings' :: DvbSubDestinationSettings -> Maybe DvbSubtitleOutlineColor
outlineColor} -> Maybe DvbSubtitleOutlineColor
outlineColor) (\s :: DvbSubDestinationSettings
s@DvbSubDestinationSettings' {} Maybe DvbSubtitleOutlineColor
a -> DvbSubDestinationSettings
s {$sel:outlineColor:DvbSubDestinationSettings' :: Maybe DvbSubtitleOutlineColor
outlineColor = Maybe DvbSubtitleOutlineColor
a} :: DvbSubDestinationSettings)

-- | Specify the Outline size (OutlineSize) of the caption text, in pixels.
-- Leave Outline size blank and set Style passthrough (StylePassthrough) to
-- enabled to use the outline size data from your input captions, if
-- present. Within your job settings, all of your DVB-Sub settings must be
-- identical.
dvbSubDestinationSettings_outlineSize :: Lens.Lens' DvbSubDestinationSettings (Prelude.Maybe Prelude.Natural)
dvbSubDestinationSettings_outlineSize :: Lens' DvbSubDestinationSettings (Maybe Natural)
dvbSubDestinationSettings_outlineSize = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DvbSubDestinationSettings' {Maybe Natural
outlineSize :: Maybe Natural
$sel:outlineSize:DvbSubDestinationSettings' :: DvbSubDestinationSettings -> Maybe Natural
outlineSize} -> Maybe Natural
outlineSize) (\s :: DvbSubDestinationSettings
s@DvbSubDestinationSettings' {} Maybe Natural
a -> DvbSubDestinationSettings
s {$sel:outlineSize:DvbSubDestinationSettings' :: Maybe Natural
outlineSize = Maybe Natural
a} :: DvbSubDestinationSettings)

-- | Specify the color of the shadow cast by the captions. Leave Shadow color
-- (ShadowColor) blank and set Style passthrough (StylePassthrough) to
-- enabled to use the shadow color data from your input captions, if
-- present. Within your job settings, all of your DVB-Sub settings must be
-- identical.
dvbSubDestinationSettings_shadowColor :: Lens.Lens' DvbSubDestinationSettings (Prelude.Maybe DvbSubtitleShadowColor)
dvbSubDestinationSettings_shadowColor :: Lens' DvbSubDestinationSettings (Maybe DvbSubtitleShadowColor)
dvbSubDestinationSettings_shadowColor = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DvbSubDestinationSettings' {Maybe DvbSubtitleShadowColor
shadowColor :: Maybe DvbSubtitleShadowColor
$sel:shadowColor:DvbSubDestinationSettings' :: DvbSubDestinationSettings -> Maybe DvbSubtitleShadowColor
shadowColor} -> Maybe DvbSubtitleShadowColor
shadowColor) (\s :: DvbSubDestinationSettings
s@DvbSubDestinationSettings' {} Maybe DvbSubtitleShadowColor
a -> DvbSubDestinationSettings
s {$sel:shadowColor:DvbSubDestinationSettings' :: Maybe DvbSubtitleShadowColor
shadowColor = Maybe DvbSubtitleShadowColor
a} :: DvbSubDestinationSettings)

-- | Specify the opacity of the shadow. Enter a value from 0 to 255, where 0
-- is transparent and 255 is opaque. If Style passthrough
-- (StylePassthrough) is set to Enabled, leave Shadow opacity
-- (ShadowOpacity) blank to pass through the shadow style information in
-- your input captions to your output captions. If Style passthrough is set
-- to disabled, leave blank to use a value of 0 and remove all shadows from
-- your output captions. Within your job settings, all of your DVB-Sub
-- settings must be identical.
dvbSubDestinationSettings_shadowOpacity :: Lens.Lens' DvbSubDestinationSettings (Prelude.Maybe Prelude.Natural)
dvbSubDestinationSettings_shadowOpacity :: Lens' DvbSubDestinationSettings (Maybe Natural)
dvbSubDestinationSettings_shadowOpacity = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DvbSubDestinationSettings' {Maybe Natural
shadowOpacity :: Maybe Natural
$sel:shadowOpacity:DvbSubDestinationSettings' :: DvbSubDestinationSettings -> Maybe Natural
shadowOpacity} -> Maybe Natural
shadowOpacity) (\s :: DvbSubDestinationSettings
s@DvbSubDestinationSettings' {} Maybe Natural
a -> DvbSubDestinationSettings
s {$sel:shadowOpacity:DvbSubDestinationSettings' :: Maybe Natural
shadowOpacity = Maybe Natural
a} :: DvbSubDestinationSettings)

-- | Specify 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. Within your job settings, all of your DVB-Sub settings must be
-- identical.
dvbSubDestinationSettings_shadowXOffset :: Lens.Lens' DvbSubDestinationSettings (Prelude.Maybe Prelude.Int)
dvbSubDestinationSettings_shadowXOffset :: Lens' DvbSubDestinationSettings (Maybe Int)
dvbSubDestinationSettings_shadowXOffset = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DvbSubDestinationSettings' {Maybe Int
shadowXOffset :: Maybe Int
$sel:shadowXOffset:DvbSubDestinationSettings' :: DvbSubDestinationSettings -> Maybe Int
shadowXOffset} -> Maybe Int
shadowXOffset) (\s :: DvbSubDestinationSettings
s@DvbSubDestinationSettings' {} Maybe Int
a -> DvbSubDestinationSettings
s {$sel:shadowXOffset:DvbSubDestinationSettings' :: Maybe Int
shadowXOffset = Maybe Int
a} :: DvbSubDestinationSettings)

-- | Specify 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. Leave Shadow y-offset (ShadowYOffset) blank and set Style
-- passthrough (StylePassthrough) to enabled to use the shadow y-offset
-- data from your input captions, if present. Within your job settings, all
-- of your DVB-Sub settings must be identical.
dvbSubDestinationSettings_shadowYOffset :: Lens.Lens' DvbSubDestinationSettings (Prelude.Maybe Prelude.Int)
dvbSubDestinationSettings_shadowYOffset :: Lens' DvbSubDestinationSettings (Maybe Int)
dvbSubDestinationSettings_shadowYOffset = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DvbSubDestinationSettings' {Maybe Int
shadowYOffset :: Maybe Int
$sel:shadowYOffset:DvbSubDestinationSettings' :: DvbSubDestinationSettings -> Maybe Int
shadowYOffset} -> Maybe Int
shadowYOffset) (\s :: DvbSubDestinationSettings
s@DvbSubDestinationSettings' {} Maybe Int
a -> DvbSubDestinationSettings
s {$sel:shadowYOffset:DvbSubDestinationSettings' :: Maybe Int
shadowYOffset = Maybe Int
a} :: DvbSubDestinationSettings)

-- | Set Style passthrough (StylePassthrough) to ENABLED to use the available
-- style, color, and position information from your input captions.
-- MediaConvert uses default settings for any missing style and position
-- information in your input captions. Set Style passthrough to DISABLED,
-- or leave blank, to ignore the style and position information from your
-- input captions and use default settings: white text with black
-- outlining, bottom-center positioning, and automatic sizing. Whether you
-- set Style passthrough to enabled or not, you can also choose to manually
-- override any of the individual style and position settings.
dvbSubDestinationSettings_stylePassthrough :: Lens.Lens' DvbSubDestinationSettings (Prelude.Maybe DvbSubtitleStylePassthrough)
dvbSubDestinationSettings_stylePassthrough :: Lens' DvbSubDestinationSettings (Maybe DvbSubtitleStylePassthrough)
dvbSubDestinationSettings_stylePassthrough = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DvbSubDestinationSettings' {Maybe DvbSubtitleStylePassthrough
stylePassthrough :: Maybe DvbSubtitleStylePassthrough
$sel:stylePassthrough:DvbSubDestinationSettings' :: DvbSubDestinationSettings -> Maybe DvbSubtitleStylePassthrough
stylePassthrough} -> Maybe DvbSubtitleStylePassthrough
stylePassthrough) (\s :: DvbSubDestinationSettings
s@DvbSubDestinationSettings' {} Maybe DvbSubtitleStylePassthrough
a -> DvbSubDestinationSettings
s {$sel:stylePassthrough:DvbSubDestinationSettings' :: Maybe DvbSubtitleStylePassthrough
stylePassthrough = Maybe DvbSubtitleStylePassthrough
a} :: DvbSubDestinationSettings)

-- | Specify whether your DVB subtitles are standard or for hearing impaired.
-- Choose hearing impaired if your subtitles include audio descriptions and
-- dialogue. Choose standard if your subtitles include only dialogue.
dvbSubDestinationSettings_subtitlingType :: Lens.Lens' DvbSubDestinationSettings (Prelude.Maybe DvbSubtitlingType)
dvbSubDestinationSettings_subtitlingType :: Lens' DvbSubDestinationSettings (Maybe DvbSubtitlingType)
dvbSubDestinationSettings_subtitlingType = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DvbSubDestinationSettings' {Maybe DvbSubtitlingType
subtitlingType :: Maybe DvbSubtitlingType
$sel:subtitlingType:DvbSubDestinationSettings' :: DvbSubDestinationSettings -> Maybe DvbSubtitlingType
subtitlingType} -> Maybe DvbSubtitlingType
subtitlingType) (\s :: DvbSubDestinationSettings
s@DvbSubDestinationSettings' {} Maybe DvbSubtitlingType
a -> DvbSubDestinationSettings
s {$sel:subtitlingType:DvbSubDestinationSettings' :: Maybe DvbSubtitlingType
subtitlingType = Maybe DvbSubtitlingType
a} :: DvbSubDestinationSettings)

-- | Specify whether the Text spacing (TeletextSpacing) in your captions is
-- set by the captions grid, or varies depending on letter width. Choose
-- fixed grid (FIXED_GRID) to conform to the spacing specified in the
-- captions file more accurately. Choose proportional (PROPORTIONAL) to
-- make the text easier to read for closed captions. Within your job
-- settings, all of your DVB-Sub settings must be identical.
dvbSubDestinationSettings_teletextSpacing :: Lens.Lens' DvbSubDestinationSettings (Prelude.Maybe DvbSubtitleTeletextSpacing)
dvbSubDestinationSettings_teletextSpacing :: Lens' DvbSubDestinationSettings (Maybe DvbSubtitleTeletextSpacing)
dvbSubDestinationSettings_teletextSpacing = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DvbSubDestinationSettings' {Maybe DvbSubtitleTeletextSpacing
teletextSpacing :: Maybe DvbSubtitleTeletextSpacing
$sel:teletextSpacing:DvbSubDestinationSettings' :: DvbSubDestinationSettings -> Maybe DvbSubtitleTeletextSpacing
teletextSpacing} -> Maybe DvbSubtitleTeletextSpacing
teletextSpacing) (\s :: DvbSubDestinationSettings
s@DvbSubDestinationSettings' {} Maybe DvbSubtitleTeletextSpacing
a -> DvbSubDestinationSettings
s {$sel:teletextSpacing:DvbSubDestinationSettings' :: Maybe DvbSubtitleTeletextSpacing
teletextSpacing = Maybe DvbSubtitleTeletextSpacing
a} :: DvbSubDestinationSettings)

-- | Specify the width, in pixels, of this set of DVB-Sub captions. The
-- default value is 720 pixels. Related setting: When you use this setting,
-- you must set DDS handling (ddsHandling) to a value other than None
-- (NONE). All burn-in and DVB-Sub font settings must match.
dvbSubDestinationSettings_width :: Lens.Lens' DvbSubDestinationSettings (Prelude.Maybe Prelude.Natural)
dvbSubDestinationSettings_width :: Lens' DvbSubDestinationSettings (Maybe Natural)
dvbSubDestinationSettings_width = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DvbSubDestinationSettings' {Maybe Natural
width :: Maybe Natural
$sel:width:DvbSubDestinationSettings' :: DvbSubDestinationSettings -> Maybe Natural
width} -> Maybe Natural
width) (\s :: DvbSubDestinationSettings
s@DvbSubDestinationSettings' {} Maybe Natural
a -> DvbSubDestinationSettings
s {$sel:width:DvbSubDestinationSettings' :: Maybe Natural
width = Maybe Natural
a} :: DvbSubDestinationSettings)

-- | Specify the horizontal position (XPosition) of the captions, relative to
-- the left side of the outputin pixels. A value of 10 would result in the
-- captions starting 10 pixels from the left ofthe output. If no explicit
-- x_position is provided, the horizontal caption position will
-- bedetermined by the alignment parameter. Within your job settings, all
-- of your DVB-Sub settings must be identical.
dvbSubDestinationSettings_xPosition :: Lens.Lens' DvbSubDestinationSettings (Prelude.Maybe Prelude.Natural)
dvbSubDestinationSettings_xPosition :: Lens' DvbSubDestinationSettings (Maybe Natural)
dvbSubDestinationSettings_xPosition = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DvbSubDestinationSettings' {Maybe Natural
xPosition :: Maybe Natural
$sel:xPosition:DvbSubDestinationSettings' :: DvbSubDestinationSettings -> Maybe Natural
xPosition} -> Maybe Natural
xPosition) (\s :: DvbSubDestinationSettings
s@DvbSubDestinationSettings' {} Maybe Natural
a -> DvbSubDestinationSettings
s {$sel:xPosition:DvbSubDestinationSettings' :: Maybe Natural
xPosition = Maybe Natural
a} :: DvbSubDestinationSettings)

-- | Specify the vertical position (YPosition) of the captions, 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
-- y_position is provided, the caption will be positioned towards the
-- bottom of the output. Within your job settings, all of your DVB-Sub
-- settings must be identical.
dvbSubDestinationSettings_yPosition :: Lens.Lens' DvbSubDestinationSettings (Prelude.Maybe Prelude.Natural)
dvbSubDestinationSettings_yPosition :: Lens' DvbSubDestinationSettings (Maybe Natural)
dvbSubDestinationSettings_yPosition = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DvbSubDestinationSettings' {Maybe Natural
yPosition :: Maybe Natural
$sel:yPosition:DvbSubDestinationSettings' :: DvbSubDestinationSettings -> Maybe Natural
yPosition} -> Maybe Natural
yPosition) (\s :: DvbSubDestinationSettings
s@DvbSubDestinationSettings' {} Maybe Natural
a -> DvbSubDestinationSettings
s {$sel:yPosition:DvbSubDestinationSettings' :: Maybe Natural
yPosition = Maybe Natural
a} :: DvbSubDestinationSettings)

instance Data.FromJSON DvbSubDestinationSettings where
  parseJSON :: Value -> Parser DvbSubDestinationSettings
parseJSON =
    forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.withObject
      String
"DvbSubDestinationSettings"
      ( \Object
x ->
          Maybe DvbSubtitleAlignment
-> Maybe DvbSubtitleApplyFontColor
-> Maybe DvbSubtitleBackgroundColor
-> Maybe Natural
-> Maybe DvbddsHandling
-> Maybe Natural
-> Maybe Natural
-> Maybe DvbSubSubtitleFallbackFont
-> Maybe DvbSubtitleFontColor
-> Maybe Natural
-> Maybe Natural
-> Maybe FontScript
-> Maybe Natural
-> Maybe Natural
-> Maybe Text
-> Maybe DvbSubtitleOutlineColor
-> Maybe Natural
-> Maybe DvbSubtitleShadowColor
-> Maybe Natural
-> Maybe Int
-> Maybe Int
-> Maybe DvbSubtitleStylePassthrough
-> Maybe DvbSubtitlingType
-> Maybe DvbSubtitleTeletextSpacing
-> Maybe Natural
-> Maybe Natural
-> Maybe Natural
-> DvbSubDestinationSettings
DvbSubDestinationSettings'
            forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"alignment")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"applyFontColor")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"backgroundColor")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"backgroundOpacity")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"ddsHandling")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"ddsXCoordinate")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"ddsYCoordinate")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"fallbackFont")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"fontColor")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"fontOpacity")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"fontResolution")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"fontScript")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"fontSize")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"height")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"hexFontColor")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"outlineColor")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"outlineSize")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"shadowColor")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"shadowOpacity")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"shadowXOffset")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"shadowYOffset")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"stylePassthrough")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"subtitlingType")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"teletextSpacing")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"width")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"xPosition")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"yPosition")
      )

instance Prelude.Hashable DvbSubDestinationSettings where
  hashWithSalt :: Int -> DvbSubDestinationSettings -> Int
hashWithSalt Int
_salt DvbSubDestinationSettings' {Maybe Int
Maybe Natural
Maybe Text
Maybe DvbSubSubtitleFallbackFont
Maybe DvbSubtitleAlignment
Maybe DvbSubtitleApplyFontColor
Maybe DvbSubtitleBackgroundColor
Maybe DvbSubtitleFontColor
Maybe DvbSubtitleOutlineColor
Maybe DvbSubtitleShadowColor
Maybe DvbSubtitleStylePassthrough
Maybe DvbSubtitleTeletextSpacing
Maybe DvbSubtitlingType
Maybe DvbddsHandling
Maybe FontScript
yPosition :: Maybe Natural
xPosition :: Maybe Natural
width :: Maybe Natural
teletextSpacing :: Maybe DvbSubtitleTeletextSpacing
subtitlingType :: Maybe DvbSubtitlingType
stylePassthrough :: Maybe DvbSubtitleStylePassthrough
shadowYOffset :: Maybe Int
shadowXOffset :: Maybe Int
shadowOpacity :: Maybe Natural
shadowColor :: Maybe DvbSubtitleShadowColor
outlineSize :: Maybe Natural
outlineColor :: Maybe DvbSubtitleOutlineColor
hexFontColor :: Maybe Text
height :: Maybe Natural
fontSize :: Maybe Natural
fontScript :: Maybe FontScript
fontResolution :: Maybe Natural
fontOpacity :: Maybe Natural
fontColor :: Maybe DvbSubtitleFontColor
fallbackFont :: Maybe DvbSubSubtitleFallbackFont
ddsYCoordinate :: Maybe Natural
ddsXCoordinate :: Maybe Natural
ddsHandling :: Maybe DvbddsHandling
backgroundOpacity :: Maybe Natural
backgroundColor :: Maybe DvbSubtitleBackgroundColor
applyFontColor :: Maybe DvbSubtitleApplyFontColor
alignment :: Maybe DvbSubtitleAlignment
$sel:yPosition:DvbSubDestinationSettings' :: DvbSubDestinationSettings -> Maybe Natural
$sel:xPosition:DvbSubDestinationSettings' :: DvbSubDestinationSettings -> Maybe Natural
$sel:width:DvbSubDestinationSettings' :: DvbSubDestinationSettings -> Maybe Natural
$sel:teletextSpacing:DvbSubDestinationSettings' :: DvbSubDestinationSettings -> Maybe DvbSubtitleTeletextSpacing
$sel:subtitlingType:DvbSubDestinationSettings' :: DvbSubDestinationSettings -> Maybe DvbSubtitlingType
$sel:stylePassthrough:DvbSubDestinationSettings' :: DvbSubDestinationSettings -> Maybe DvbSubtitleStylePassthrough
$sel:shadowYOffset:DvbSubDestinationSettings' :: DvbSubDestinationSettings -> Maybe Int
$sel:shadowXOffset:DvbSubDestinationSettings' :: DvbSubDestinationSettings -> Maybe Int
$sel:shadowOpacity:DvbSubDestinationSettings' :: DvbSubDestinationSettings -> Maybe Natural
$sel:shadowColor:DvbSubDestinationSettings' :: DvbSubDestinationSettings -> Maybe DvbSubtitleShadowColor
$sel:outlineSize:DvbSubDestinationSettings' :: DvbSubDestinationSettings -> Maybe Natural
$sel:outlineColor:DvbSubDestinationSettings' :: DvbSubDestinationSettings -> Maybe DvbSubtitleOutlineColor
$sel:hexFontColor:DvbSubDestinationSettings' :: DvbSubDestinationSettings -> Maybe Text
$sel:height:DvbSubDestinationSettings' :: DvbSubDestinationSettings -> Maybe Natural
$sel:fontSize:DvbSubDestinationSettings' :: DvbSubDestinationSettings -> Maybe Natural
$sel:fontScript:DvbSubDestinationSettings' :: DvbSubDestinationSettings -> Maybe FontScript
$sel:fontResolution:DvbSubDestinationSettings' :: DvbSubDestinationSettings -> Maybe Natural
$sel:fontOpacity:DvbSubDestinationSettings' :: DvbSubDestinationSettings -> Maybe Natural
$sel:fontColor:DvbSubDestinationSettings' :: DvbSubDestinationSettings -> Maybe DvbSubtitleFontColor
$sel:fallbackFont:DvbSubDestinationSettings' :: DvbSubDestinationSettings -> Maybe DvbSubSubtitleFallbackFont
$sel:ddsYCoordinate:DvbSubDestinationSettings' :: DvbSubDestinationSettings -> Maybe Natural
$sel:ddsXCoordinate:DvbSubDestinationSettings' :: DvbSubDestinationSettings -> Maybe Natural
$sel:ddsHandling:DvbSubDestinationSettings' :: DvbSubDestinationSettings -> Maybe DvbddsHandling
$sel:backgroundOpacity:DvbSubDestinationSettings' :: DvbSubDestinationSettings -> Maybe Natural
$sel:backgroundColor:DvbSubDestinationSettings' :: DvbSubDestinationSettings -> Maybe DvbSubtitleBackgroundColor
$sel:applyFontColor:DvbSubDestinationSettings' :: DvbSubDestinationSettings -> Maybe DvbSubtitleApplyFontColor
$sel:alignment:DvbSubDestinationSettings' :: DvbSubDestinationSettings -> Maybe DvbSubtitleAlignment
..} =
    Int
_salt
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe DvbSubtitleAlignment
alignment
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe DvbSubtitleApplyFontColor
applyFontColor
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe DvbSubtitleBackgroundColor
backgroundColor
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Natural
backgroundOpacity
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe DvbddsHandling
ddsHandling
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Natural
ddsXCoordinate
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Natural
ddsYCoordinate
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe DvbSubSubtitleFallbackFont
fallbackFont
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe DvbSubtitleFontColor
fontColor
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Natural
fontOpacity
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Natural
fontResolution
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe FontScript
fontScript
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Natural
fontSize
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Natural
height
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
hexFontColor
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe DvbSubtitleOutlineColor
outlineColor
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Natural
outlineSize
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe DvbSubtitleShadowColor
shadowColor
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Natural
shadowOpacity
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Int
shadowXOffset
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Int
shadowYOffset
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe DvbSubtitleStylePassthrough
stylePassthrough
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe DvbSubtitlingType
subtitlingType
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe DvbSubtitleTeletextSpacing
teletextSpacing
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Natural
width
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Natural
xPosition
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Natural
yPosition

instance Prelude.NFData DvbSubDestinationSettings where
  rnf :: DvbSubDestinationSettings -> ()
rnf DvbSubDestinationSettings' {Maybe Int
Maybe Natural
Maybe Text
Maybe DvbSubSubtitleFallbackFont
Maybe DvbSubtitleAlignment
Maybe DvbSubtitleApplyFontColor
Maybe DvbSubtitleBackgroundColor
Maybe DvbSubtitleFontColor
Maybe DvbSubtitleOutlineColor
Maybe DvbSubtitleShadowColor
Maybe DvbSubtitleStylePassthrough
Maybe DvbSubtitleTeletextSpacing
Maybe DvbSubtitlingType
Maybe DvbddsHandling
Maybe FontScript
yPosition :: Maybe Natural
xPosition :: Maybe Natural
width :: Maybe Natural
teletextSpacing :: Maybe DvbSubtitleTeletextSpacing
subtitlingType :: Maybe DvbSubtitlingType
stylePassthrough :: Maybe DvbSubtitleStylePassthrough
shadowYOffset :: Maybe Int
shadowXOffset :: Maybe Int
shadowOpacity :: Maybe Natural
shadowColor :: Maybe DvbSubtitleShadowColor
outlineSize :: Maybe Natural
outlineColor :: Maybe DvbSubtitleOutlineColor
hexFontColor :: Maybe Text
height :: Maybe Natural
fontSize :: Maybe Natural
fontScript :: Maybe FontScript
fontResolution :: Maybe Natural
fontOpacity :: Maybe Natural
fontColor :: Maybe DvbSubtitleFontColor
fallbackFont :: Maybe DvbSubSubtitleFallbackFont
ddsYCoordinate :: Maybe Natural
ddsXCoordinate :: Maybe Natural
ddsHandling :: Maybe DvbddsHandling
backgroundOpacity :: Maybe Natural
backgroundColor :: Maybe DvbSubtitleBackgroundColor
applyFontColor :: Maybe DvbSubtitleApplyFontColor
alignment :: Maybe DvbSubtitleAlignment
$sel:yPosition:DvbSubDestinationSettings' :: DvbSubDestinationSettings -> Maybe Natural
$sel:xPosition:DvbSubDestinationSettings' :: DvbSubDestinationSettings -> Maybe Natural
$sel:width:DvbSubDestinationSettings' :: DvbSubDestinationSettings -> Maybe Natural
$sel:teletextSpacing:DvbSubDestinationSettings' :: DvbSubDestinationSettings -> Maybe DvbSubtitleTeletextSpacing
$sel:subtitlingType:DvbSubDestinationSettings' :: DvbSubDestinationSettings -> Maybe DvbSubtitlingType
$sel:stylePassthrough:DvbSubDestinationSettings' :: DvbSubDestinationSettings -> Maybe DvbSubtitleStylePassthrough
$sel:shadowYOffset:DvbSubDestinationSettings' :: DvbSubDestinationSettings -> Maybe Int
$sel:shadowXOffset:DvbSubDestinationSettings' :: DvbSubDestinationSettings -> Maybe Int
$sel:shadowOpacity:DvbSubDestinationSettings' :: DvbSubDestinationSettings -> Maybe Natural
$sel:shadowColor:DvbSubDestinationSettings' :: DvbSubDestinationSettings -> Maybe DvbSubtitleShadowColor
$sel:outlineSize:DvbSubDestinationSettings' :: DvbSubDestinationSettings -> Maybe Natural
$sel:outlineColor:DvbSubDestinationSettings' :: DvbSubDestinationSettings -> Maybe DvbSubtitleOutlineColor
$sel:hexFontColor:DvbSubDestinationSettings' :: DvbSubDestinationSettings -> Maybe Text
$sel:height:DvbSubDestinationSettings' :: DvbSubDestinationSettings -> Maybe Natural
$sel:fontSize:DvbSubDestinationSettings' :: DvbSubDestinationSettings -> Maybe Natural
$sel:fontScript:DvbSubDestinationSettings' :: DvbSubDestinationSettings -> Maybe FontScript
$sel:fontResolution:DvbSubDestinationSettings' :: DvbSubDestinationSettings -> Maybe Natural
$sel:fontOpacity:DvbSubDestinationSettings' :: DvbSubDestinationSettings -> Maybe Natural
$sel:fontColor:DvbSubDestinationSettings' :: DvbSubDestinationSettings -> Maybe DvbSubtitleFontColor
$sel:fallbackFont:DvbSubDestinationSettings' :: DvbSubDestinationSettings -> Maybe DvbSubSubtitleFallbackFont
$sel:ddsYCoordinate:DvbSubDestinationSettings' :: DvbSubDestinationSettings -> Maybe Natural
$sel:ddsXCoordinate:DvbSubDestinationSettings' :: DvbSubDestinationSettings -> Maybe Natural
$sel:ddsHandling:DvbSubDestinationSettings' :: DvbSubDestinationSettings -> Maybe DvbddsHandling
$sel:backgroundOpacity:DvbSubDestinationSettings' :: DvbSubDestinationSettings -> Maybe Natural
$sel:backgroundColor:DvbSubDestinationSettings' :: DvbSubDestinationSettings -> Maybe DvbSubtitleBackgroundColor
$sel:applyFontColor:DvbSubDestinationSettings' :: DvbSubDestinationSettings -> Maybe DvbSubtitleApplyFontColor
$sel:alignment:DvbSubDestinationSettings' :: DvbSubDestinationSettings -> Maybe DvbSubtitleAlignment
..} =
    forall a. NFData a => a -> ()
Prelude.rnf Maybe DvbSubtitleAlignment
alignment
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe DvbSubtitleApplyFontColor
applyFontColor
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe DvbSubtitleBackgroundColor
backgroundColor
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Natural
backgroundOpacity
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe DvbddsHandling
ddsHandling
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Natural
ddsXCoordinate
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Natural
ddsYCoordinate
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe DvbSubSubtitleFallbackFont
fallbackFont
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe DvbSubtitleFontColor
fontColor
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Natural
fontOpacity
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Natural
fontResolution
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe FontScript
fontScript
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Natural
fontSize
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Natural
height
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
hexFontColor
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe DvbSubtitleOutlineColor
outlineColor
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Natural
outlineSize
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe DvbSubtitleShadowColor
shadowColor
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Natural
shadowOpacity
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Int
shadowXOffset
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Int
shadowYOffset
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf
        Maybe DvbSubtitleStylePassthrough
stylePassthrough
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf
        Maybe DvbSubtitlingType
subtitlingType
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf
        Maybe DvbSubtitleTeletextSpacing
teletextSpacing
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Natural
width
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf
        Maybe Natural
xPosition
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf
        Maybe Natural
yPosition

instance Data.ToJSON DvbSubDestinationSettings where
  toJSON :: DvbSubDestinationSettings -> Value
toJSON DvbSubDestinationSettings' {Maybe Int
Maybe Natural
Maybe Text
Maybe DvbSubSubtitleFallbackFont
Maybe DvbSubtitleAlignment
Maybe DvbSubtitleApplyFontColor
Maybe DvbSubtitleBackgroundColor
Maybe DvbSubtitleFontColor
Maybe DvbSubtitleOutlineColor
Maybe DvbSubtitleShadowColor
Maybe DvbSubtitleStylePassthrough
Maybe DvbSubtitleTeletextSpacing
Maybe DvbSubtitlingType
Maybe DvbddsHandling
Maybe FontScript
yPosition :: Maybe Natural
xPosition :: Maybe Natural
width :: Maybe Natural
teletextSpacing :: Maybe DvbSubtitleTeletextSpacing
subtitlingType :: Maybe DvbSubtitlingType
stylePassthrough :: Maybe DvbSubtitleStylePassthrough
shadowYOffset :: Maybe Int
shadowXOffset :: Maybe Int
shadowOpacity :: Maybe Natural
shadowColor :: Maybe DvbSubtitleShadowColor
outlineSize :: Maybe Natural
outlineColor :: Maybe DvbSubtitleOutlineColor
hexFontColor :: Maybe Text
height :: Maybe Natural
fontSize :: Maybe Natural
fontScript :: Maybe FontScript
fontResolution :: Maybe Natural
fontOpacity :: Maybe Natural
fontColor :: Maybe DvbSubtitleFontColor
fallbackFont :: Maybe DvbSubSubtitleFallbackFont
ddsYCoordinate :: Maybe Natural
ddsXCoordinate :: Maybe Natural
ddsHandling :: Maybe DvbddsHandling
backgroundOpacity :: Maybe Natural
backgroundColor :: Maybe DvbSubtitleBackgroundColor
applyFontColor :: Maybe DvbSubtitleApplyFontColor
alignment :: Maybe DvbSubtitleAlignment
$sel:yPosition:DvbSubDestinationSettings' :: DvbSubDestinationSettings -> Maybe Natural
$sel:xPosition:DvbSubDestinationSettings' :: DvbSubDestinationSettings -> Maybe Natural
$sel:width:DvbSubDestinationSettings' :: DvbSubDestinationSettings -> Maybe Natural
$sel:teletextSpacing:DvbSubDestinationSettings' :: DvbSubDestinationSettings -> Maybe DvbSubtitleTeletextSpacing
$sel:subtitlingType:DvbSubDestinationSettings' :: DvbSubDestinationSettings -> Maybe DvbSubtitlingType
$sel:stylePassthrough:DvbSubDestinationSettings' :: DvbSubDestinationSettings -> Maybe DvbSubtitleStylePassthrough
$sel:shadowYOffset:DvbSubDestinationSettings' :: DvbSubDestinationSettings -> Maybe Int
$sel:shadowXOffset:DvbSubDestinationSettings' :: DvbSubDestinationSettings -> Maybe Int
$sel:shadowOpacity:DvbSubDestinationSettings' :: DvbSubDestinationSettings -> Maybe Natural
$sel:shadowColor:DvbSubDestinationSettings' :: DvbSubDestinationSettings -> Maybe DvbSubtitleShadowColor
$sel:outlineSize:DvbSubDestinationSettings' :: DvbSubDestinationSettings -> Maybe Natural
$sel:outlineColor:DvbSubDestinationSettings' :: DvbSubDestinationSettings -> Maybe DvbSubtitleOutlineColor
$sel:hexFontColor:DvbSubDestinationSettings' :: DvbSubDestinationSettings -> Maybe Text
$sel:height:DvbSubDestinationSettings' :: DvbSubDestinationSettings -> Maybe Natural
$sel:fontSize:DvbSubDestinationSettings' :: DvbSubDestinationSettings -> Maybe Natural
$sel:fontScript:DvbSubDestinationSettings' :: DvbSubDestinationSettings -> Maybe FontScript
$sel:fontResolution:DvbSubDestinationSettings' :: DvbSubDestinationSettings -> Maybe Natural
$sel:fontOpacity:DvbSubDestinationSettings' :: DvbSubDestinationSettings -> Maybe Natural
$sel:fontColor:DvbSubDestinationSettings' :: DvbSubDestinationSettings -> Maybe DvbSubtitleFontColor
$sel:fallbackFont:DvbSubDestinationSettings' :: DvbSubDestinationSettings -> Maybe DvbSubSubtitleFallbackFont
$sel:ddsYCoordinate:DvbSubDestinationSettings' :: DvbSubDestinationSettings -> Maybe Natural
$sel:ddsXCoordinate:DvbSubDestinationSettings' :: DvbSubDestinationSettings -> Maybe Natural
$sel:ddsHandling:DvbSubDestinationSettings' :: DvbSubDestinationSettings -> Maybe DvbddsHandling
$sel:backgroundOpacity:DvbSubDestinationSettings' :: DvbSubDestinationSettings -> Maybe Natural
$sel:backgroundColor:DvbSubDestinationSettings' :: DvbSubDestinationSettings -> Maybe DvbSubtitleBackgroundColor
$sel:applyFontColor:DvbSubDestinationSettings' :: DvbSubDestinationSettings -> Maybe DvbSubtitleApplyFontColor
$sel:alignment:DvbSubDestinationSettings' :: DvbSubDestinationSettings -> Maybe DvbSubtitleAlignment
..} =
    [Pair] -> Value
Data.object
      ( forall a. [Maybe a] -> [a]
Prelude.catMaybes
          [ (Key
"alignment" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe DvbSubtitleAlignment
alignment,
            (Key
"applyFontColor" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=)
              forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe DvbSubtitleApplyFontColor
applyFontColor,
            (Key
"backgroundColor" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=)
              forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe DvbSubtitleBackgroundColor
backgroundColor,
            (Key
"backgroundOpacity" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=)
              forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Natural
backgroundOpacity,
            (Key
"ddsHandling" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe DvbddsHandling
ddsHandling,
            (Key
"ddsXCoordinate" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=)
              forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Natural
ddsXCoordinate,
            (Key
"ddsYCoordinate" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=)
              forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Natural
ddsYCoordinate,
            (Key
"fallbackFont" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe DvbSubSubtitleFallbackFont
fallbackFont,
            (Key
"fontColor" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe DvbSubtitleFontColor
fontColor,
            (Key
"fontOpacity" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Natural
fontOpacity,
            (Key
"fontResolution" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=)
              forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Natural
fontResolution,
            (Key
"fontScript" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe FontScript
fontScript,
            (Key
"fontSize" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Natural
fontSize,
            (Key
"height" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Natural
height,
            (Key
"hexFontColor" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Text
hexFontColor,
            (Key
"outlineColor" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe DvbSubtitleOutlineColor
outlineColor,
            (Key
"outlineSize" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Natural
outlineSize,
            (Key
"shadowColor" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe DvbSubtitleShadowColor
shadowColor,
            (Key
"shadowOpacity" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Natural
shadowOpacity,
            (Key
"shadowXOffset" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Int
shadowXOffset,
            (Key
"shadowYOffset" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Int
shadowYOffset,
            (Key
"stylePassthrough" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=)
              forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe DvbSubtitleStylePassthrough
stylePassthrough,
            (Key
"subtitlingType" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=)
              forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe DvbSubtitlingType
subtitlingType,
            (Key
"teletextSpacing" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=)
              forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe DvbSubtitleTeletextSpacing
teletextSpacing,
            (Key
"width" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Natural
width,
            (Key
"xPosition" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Natural
xPosition,
            (Key
"yPosition" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Natural
yPosition
          ]
      )