{-# 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.MediaLive.Types.DvbSubDestinationSettings
-- Copyright   : (c) 2013-2021 Brendan Hay
-- License     : Mozilla Public License, v. 2.0.
-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>
-- Stability   : auto-generated
-- Portability : non-portable (GHC extensions)
module Amazonka.MediaLive.Types.DvbSubDestinationSettings where

import qualified Amazonka.Core as Core
import qualified Amazonka.Lens as Lens
import Amazonka.MediaLive.Types.DvbSubDestinationAlignment
import Amazonka.MediaLive.Types.DvbSubDestinationBackgroundColor
import Amazonka.MediaLive.Types.DvbSubDestinationFontColor
import Amazonka.MediaLive.Types.DvbSubDestinationOutlineColor
import Amazonka.MediaLive.Types.DvbSubDestinationShadowColor
import Amazonka.MediaLive.Types.DvbSubDestinationTeletextGridControl
import Amazonka.MediaLive.Types.InputLocation
import qualified Amazonka.Prelude as Prelude

-- | Dvb Sub Destination Settings
--
-- /See:/ 'newDvbSubDestinationSettings' smart constructor.
data DvbSubDestinationSettings = DvbSubDestinationSettings'
  { -- | Specifies the opacity of the background rectangle. 255 is opaque; 0 is
    -- transparent. Leaving this parameter blank is equivalent to setting it to
    -- 0 (transparent). All burn-in and DVB-Sub font settings must match.
    DvbSubDestinationSettings -> Maybe Natural
backgroundOpacity :: Prelude.Maybe Prelude.Natural,
    -- | Specifies the opacity of the burned-in captions. 255 is opaque; 0 is
    -- transparent. All burn-in and DVB-Sub font settings must match.
    DvbSubDestinationSettings -> Maybe Natural
fontOpacity :: Prelude.Maybe Prelude.Natural,
    -- | Specifies the vertical offset of the shadow relative to the captions in
    -- pixels. A value of -2 would result in a shadow offset 2 pixels above the
    -- text. All burn-in and DVB-Sub font settings must match.
    DvbSubDestinationSettings -> Maybe Int
shadowYOffset :: Prelude.Maybe Prelude.Int,
    -- | Font resolution in DPI (dots per inch); default is 96 dpi. All burn-in
    -- and DVB-Sub font settings must match.
    DvbSubDestinationSettings -> Maybe Natural
fontResolution :: Prelude.Maybe Prelude.Natural,
    -- | Specifies the vertical position of the caption relative to the top of
    -- the output in pixels. A value of 10 would result in the captions
    -- starting 10 pixels from the top of the output. If no explicit yPosition
    -- is provided, the caption will be positioned towards the bottom of the
    -- output. This option is not valid for source captions that are STL,
    -- 608\/embedded or teletext. These source settings are already pre-defined
    -- by the caption stream. All burn-in and DVB-Sub font settings must match.
    DvbSubDestinationSettings -> Maybe Natural
yPosition :: Prelude.Maybe Prelude.Natural,
    -- | Specifies the color of the rectangle behind the captions. All burn-in
    -- and DVB-Sub font settings must match.
    DvbSubDestinationSettings -> Maybe DvbSubDestinationBackgroundColor
backgroundColor :: Prelude.Maybe DvbSubDestinationBackgroundColor,
    -- | Specifies the horizontal offset of the shadow relative to the captions
    -- in pixels. A value of -2 would result in a shadow offset 2 pixels to the
    -- left. All burn-in and DVB-Sub font settings must match.
    DvbSubDestinationSettings -> Maybe Int
shadowXOffset :: Prelude.Maybe Prelude.Int,
    -- | When set to auto fontSize will scale depending on the size of the
    -- output. Giving a positive integer will specify the exact font size in
    -- points. All burn-in and DVB-Sub font settings must match.
    DvbSubDestinationSettings -> Maybe Text
fontSize :: Prelude.Maybe Prelude.Text,
    -- | Specifies the horizontal position of the caption relative to the left
    -- side of the output in pixels. A value of 10 would result in the captions
    -- starting 10 pixels from the left of the output. If no explicit xPosition
    -- is provided, the horizontal caption position will be determined by the
    -- alignment parameter. This option is not valid for source captions that
    -- are STL, 608\/embedded or teletext. These source settings are already
    -- pre-defined by the caption stream. All burn-in and DVB-Sub font settings
    -- must match.
    DvbSubDestinationSettings -> Maybe Natural
xPosition :: Prelude.Maybe Prelude.Natural,
    -- | If no explicit xPosition or yPosition is provided, setting alignment to
    -- centered will place the captions at the bottom center of the output.
    -- Similarly, setting a left alignment will align captions to the bottom
    -- left of the output. If x and y positions are given in conjunction with
    -- the alignment parameter, the font will be justified (either left or
    -- centered) relative to those coordinates. Selecting \"smart\"
    -- justification will left-justify live subtitles and center-justify
    -- pre-recorded subtitles. This option is not valid for source captions
    -- that are STL or 608\/embedded. These source settings are already
    -- pre-defined by the caption stream. All burn-in and DVB-Sub font settings
    -- must match.
    DvbSubDestinationSettings -> Maybe DvbSubDestinationAlignment
alignment :: Prelude.Maybe DvbSubDestinationAlignment,
    -- | Specifies the opacity of the shadow. 255 is opaque; 0 is transparent.
    -- Leaving this parameter blank is equivalent to setting it to 0
    -- (transparent). All burn-in and DVB-Sub font settings must match.
    DvbSubDestinationSettings -> Maybe Natural
shadowOpacity :: Prelude.Maybe Prelude.Natural,
    -- | Controls whether a fixed grid size will be used to generate the output
    -- subtitles bitmap. Only applicable for Teletext inputs and
    -- DVB-Sub\/Burn-in outputs.
    DvbSubDestinationSettings
-> Maybe DvbSubDestinationTeletextGridControl
teletextGridControl :: Prelude.Maybe DvbSubDestinationTeletextGridControl,
    -- | Specifies font outline color. This option is not valid for source
    -- captions that are either 608\/embedded or teletext. These source
    -- settings are already pre-defined by the caption stream. All burn-in and
    -- DVB-Sub font settings must match.
    DvbSubDestinationSettings -> Maybe DvbSubDestinationOutlineColor
outlineColor :: Prelude.Maybe DvbSubDestinationOutlineColor,
    -- | Specifies font outline size in pixels. This option is not valid for
    -- source captions that are either 608\/embedded or teletext. These source
    -- settings are already pre-defined by the caption stream. All burn-in and
    -- DVB-Sub font settings must match.
    DvbSubDestinationSettings -> Maybe Natural
outlineSize :: Prelude.Maybe Prelude.Natural,
    -- | External font file used for caption burn-in. File extension must be
    -- \'ttf\' or \'tte\'. Although the user can select output fonts for many
    -- different types of input captions, embedded, STL and teletext sources
    -- use a strict grid system. Using external fonts with these caption
    -- sources could cause unexpected display of proportional fonts. All
    -- burn-in and DVB-Sub font settings must match.
    DvbSubDestinationSettings -> Maybe InputLocation
font :: Prelude.Maybe InputLocation,
    -- | Specifies the color of the shadow cast by the captions. All burn-in and
    -- DVB-Sub font settings must match.
    DvbSubDestinationSettings -> Maybe DvbSubDestinationShadowColor
shadowColor :: Prelude.Maybe DvbSubDestinationShadowColor,
    -- | Specifies the color of the burned-in captions. This option is not valid
    -- for source captions that are STL, 608\/embedded or teletext. These
    -- source settings are already pre-defined by the caption stream. All
    -- burn-in and DVB-Sub font settings must match.
    DvbSubDestinationSettings -> Maybe DvbSubDestinationFontColor
fontColor :: Prelude.Maybe DvbSubDestinationFontColor
  }
  deriving (DvbSubDestinationSettings -> DvbSubDestinationSettings -> Bool
(DvbSubDestinationSettings -> DvbSubDestinationSettings -> Bool)
-> (DvbSubDestinationSettings -> DvbSubDestinationSettings -> Bool)
-> Eq DvbSubDestinationSettings
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]
(Int -> ReadS DvbSubDestinationSettings)
-> ReadS [DvbSubDestinationSettings]
-> ReadPrec DvbSubDestinationSettings
-> ReadPrec [DvbSubDestinationSettings]
-> Read 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
(Int -> DvbSubDestinationSettings -> ShowS)
-> (DvbSubDestinationSettings -> String)
-> ([DvbSubDestinationSettings] -> ShowS)
-> Show DvbSubDestinationSettings
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.
 DvbSubDestinationSettings -> Rep DvbSubDestinationSettings x)
-> (forall x.
    Rep DvbSubDestinationSettings x -> DvbSubDestinationSettings)
-> Generic DvbSubDestinationSettings
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:
--
-- 'backgroundOpacity', 'dvbSubDestinationSettings_backgroundOpacity' - Specifies the opacity of the background rectangle. 255 is opaque; 0 is
-- transparent. Leaving this parameter blank is equivalent to setting it to
-- 0 (transparent). All burn-in and DVB-Sub font settings must match.
--
-- 'fontOpacity', 'dvbSubDestinationSettings_fontOpacity' - Specifies the opacity of the burned-in captions. 255 is opaque; 0 is
-- transparent. All burn-in and DVB-Sub font settings must match.
--
-- 'shadowYOffset', 'dvbSubDestinationSettings_shadowYOffset' - Specifies the vertical offset of the shadow relative to the captions in
-- pixels. A value of -2 would result in a shadow offset 2 pixels above the
-- text. All burn-in and DVB-Sub font settings must match.
--
-- 'fontResolution', 'dvbSubDestinationSettings_fontResolution' - Font resolution in DPI (dots per inch); default is 96 dpi. All burn-in
-- and DVB-Sub font settings must match.
--
-- 'yPosition', 'dvbSubDestinationSettings_yPosition' - Specifies the vertical position of the caption relative to the top of
-- the output in pixels. A value of 10 would result in the captions
-- starting 10 pixels from the top of the output. If no explicit yPosition
-- is provided, the caption will be positioned towards the bottom of the
-- output. This option is not valid for source captions that are STL,
-- 608\/embedded or teletext. These source settings are already pre-defined
-- by the caption stream. All burn-in and DVB-Sub font settings must match.
--
-- 'backgroundColor', 'dvbSubDestinationSettings_backgroundColor' - Specifies the color of the rectangle behind the captions. All burn-in
-- and DVB-Sub font settings must match.
--
-- 'shadowXOffset', 'dvbSubDestinationSettings_shadowXOffset' - Specifies the horizontal offset of the shadow relative to the captions
-- in pixels. A value of -2 would result in a shadow offset 2 pixels to the
-- left. All burn-in and DVB-Sub font settings must match.
--
-- 'fontSize', 'dvbSubDestinationSettings_fontSize' - When set to auto fontSize will scale depending on the size of the
-- output. Giving a positive integer will specify the exact font size in
-- points. All burn-in and DVB-Sub font settings must match.
--
-- 'xPosition', 'dvbSubDestinationSettings_xPosition' - Specifies the horizontal position of the caption relative to the left
-- side of the output in pixels. A value of 10 would result in the captions
-- starting 10 pixels from the left of the output. If no explicit xPosition
-- is provided, the horizontal caption position will be determined by the
-- alignment parameter. This option is not valid for source captions that
-- are STL, 608\/embedded or teletext. These source settings are already
-- pre-defined by the caption stream. All burn-in and DVB-Sub font settings
-- must match.
--
-- 'alignment', 'dvbSubDestinationSettings_alignment' - If no explicit xPosition or yPosition is provided, setting alignment to
-- centered will place the captions at the bottom center of the output.
-- Similarly, setting a left alignment will align captions to the bottom
-- left of the output. If x and y positions are given in conjunction with
-- the alignment parameter, the font will be justified (either left or
-- centered) relative to those coordinates. Selecting \"smart\"
-- justification will left-justify live subtitles and center-justify
-- pre-recorded subtitles. This option is not valid for source captions
-- that are STL or 608\/embedded. These source settings are already
-- pre-defined by the caption stream. All burn-in and DVB-Sub font settings
-- must match.
--
-- 'shadowOpacity', 'dvbSubDestinationSettings_shadowOpacity' - Specifies the opacity of the shadow. 255 is opaque; 0 is transparent.
-- Leaving this parameter blank is equivalent to setting it to 0
-- (transparent). All burn-in and DVB-Sub font settings must match.
--
-- 'teletextGridControl', 'dvbSubDestinationSettings_teletextGridControl' - Controls whether a fixed grid size will be used to generate the output
-- subtitles bitmap. Only applicable for Teletext inputs and
-- DVB-Sub\/Burn-in outputs.
--
-- 'outlineColor', 'dvbSubDestinationSettings_outlineColor' - Specifies font outline color. This option is not valid for source
-- captions that are either 608\/embedded or teletext. These source
-- settings are already pre-defined by the caption stream. All burn-in and
-- DVB-Sub font settings must match.
--
-- 'outlineSize', 'dvbSubDestinationSettings_outlineSize' - Specifies font outline size in pixels. This option is not valid for
-- source captions that are either 608\/embedded or teletext. These source
-- settings are already pre-defined by the caption stream. All burn-in and
-- DVB-Sub font settings must match.
--
-- 'font', 'dvbSubDestinationSettings_font' - External font file used for caption burn-in. File extension must be
-- \'ttf\' or \'tte\'. Although the user can select output fonts for many
-- different types of input captions, embedded, STL and teletext sources
-- use a strict grid system. Using external fonts with these caption
-- sources could cause unexpected display of proportional fonts. All
-- burn-in and DVB-Sub font settings must match.
--
-- 'shadowColor', 'dvbSubDestinationSettings_shadowColor' - Specifies the color of the shadow cast by the captions. All burn-in and
-- DVB-Sub font settings must match.
--
-- 'fontColor', 'dvbSubDestinationSettings_fontColor' - Specifies the color of the burned-in captions. This option is not valid
-- for source captions that are STL, 608\/embedded or teletext. These
-- source settings are already pre-defined by the caption stream. All
-- burn-in and DVB-Sub font settings must match.
newDvbSubDestinationSettings ::
  DvbSubDestinationSettings
newDvbSubDestinationSettings :: DvbSubDestinationSettings
newDvbSubDestinationSettings =
  DvbSubDestinationSettings' :: Maybe Natural
-> Maybe Natural
-> Maybe Int
-> Maybe Natural
-> Maybe Natural
-> Maybe DvbSubDestinationBackgroundColor
-> Maybe Int
-> Maybe Text
-> Maybe Natural
-> Maybe DvbSubDestinationAlignment
-> Maybe Natural
-> Maybe DvbSubDestinationTeletextGridControl
-> Maybe DvbSubDestinationOutlineColor
-> Maybe Natural
-> Maybe InputLocation
-> Maybe DvbSubDestinationShadowColor
-> Maybe DvbSubDestinationFontColor
-> DvbSubDestinationSettings
DvbSubDestinationSettings'
    { $sel:backgroundOpacity:DvbSubDestinationSettings' :: Maybe Natural
backgroundOpacity =
        Maybe Natural
forall a. Maybe a
Prelude.Nothing,
      $sel:fontOpacity:DvbSubDestinationSettings' :: Maybe Natural
fontOpacity = Maybe Natural
forall a. Maybe a
Prelude.Nothing,
      $sel:shadowYOffset:DvbSubDestinationSettings' :: Maybe Int
shadowYOffset = Maybe Int
forall a. Maybe a
Prelude.Nothing,
      $sel:fontResolution:DvbSubDestinationSettings' :: Maybe Natural
fontResolution = Maybe Natural
forall a. Maybe a
Prelude.Nothing,
      $sel:yPosition:DvbSubDestinationSettings' :: Maybe Natural
yPosition = Maybe Natural
forall a. Maybe a
Prelude.Nothing,
      $sel:backgroundColor:DvbSubDestinationSettings' :: Maybe DvbSubDestinationBackgroundColor
backgroundColor = Maybe DvbSubDestinationBackgroundColor
forall a. Maybe a
Prelude.Nothing,
      $sel:shadowXOffset:DvbSubDestinationSettings' :: Maybe Int
shadowXOffset = Maybe Int
forall a. Maybe a
Prelude.Nothing,
      $sel:fontSize:DvbSubDestinationSettings' :: Maybe Text
fontSize = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:xPosition:DvbSubDestinationSettings' :: Maybe Natural
xPosition = Maybe Natural
forall a. Maybe a
Prelude.Nothing,
      $sel:alignment:DvbSubDestinationSettings' :: Maybe DvbSubDestinationAlignment
alignment = Maybe DvbSubDestinationAlignment
forall a. Maybe a
Prelude.Nothing,
      $sel:shadowOpacity:DvbSubDestinationSettings' :: Maybe Natural
shadowOpacity = Maybe Natural
forall a. Maybe a
Prelude.Nothing,
      $sel:teletextGridControl:DvbSubDestinationSettings' :: Maybe DvbSubDestinationTeletextGridControl
teletextGridControl = Maybe DvbSubDestinationTeletextGridControl
forall a. Maybe a
Prelude.Nothing,
      $sel:outlineColor:DvbSubDestinationSettings' :: Maybe DvbSubDestinationOutlineColor
outlineColor = Maybe DvbSubDestinationOutlineColor
forall a. Maybe a
Prelude.Nothing,
      $sel:outlineSize:DvbSubDestinationSettings' :: Maybe Natural
outlineSize = Maybe Natural
forall a. Maybe a
Prelude.Nothing,
      $sel:font:DvbSubDestinationSettings' :: Maybe InputLocation
font = Maybe InputLocation
forall a. Maybe a
Prelude.Nothing,
      $sel:shadowColor:DvbSubDestinationSettings' :: Maybe DvbSubDestinationShadowColor
shadowColor = Maybe DvbSubDestinationShadowColor
forall a. Maybe a
Prelude.Nothing,
      $sel:fontColor:DvbSubDestinationSettings' :: Maybe DvbSubDestinationFontColor
fontColor = Maybe DvbSubDestinationFontColor
forall a. Maybe a
Prelude.Nothing
    }

-- | Specifies the opacity of the background rectangle. 255 is opaque; 0 is
-- transparent. Leaving this parameter blank is equivalent to setting it to
-- 0 (transparent). All burn-in and DVB-Sub font settings must match.
dvbSubDestinationSettings_backgroundOpacity :: Lens.Lens' DvbSubDestinationSettings (Prelude.Maybe Prelude.Natural)
dvbSubDestinationSettings_backgroundOpacity :: (Maybe Natural -> f (Maybe Natural))
-> DvbSubDestinationSettings -> f DvbSubDestinationSettings
dvbSubDestinationSettings_backgroundOpacity = (DvbSubDestinationSettings -> Maybe Natural)
-> (DvbSubDestinationSettings
    -> Maybe Natural -> DvbSubDestinationSettings)
-> Lens
     DvbSubDestinationSettings
     DvbSubDestinationSettings
     (Maybe Natural)
     (Maybe Natural)
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)

-- | Specifies the opacity of the burned-in captions. 255 is opaque; 0 is
-- transparent. All burn-in and DVB-Sub font settings must match.
dvbSubDestinationSettings_fontOpacity :: Lens.Lens' DvbSubDestinationSettings (Prelude.Maybe Prelude.Natural)
dvbSubDestinationSettings_fontOpacity :: (Maybe Natural -> f (Maybe Natural))
-> DvbSubDestinationSettings -> f DvbSubDestinationSettings
dvbSubDestinationSettings_fontOpacity = (DvbSubDestinationSettings -> Maybe Natural)
-> (DvbSubDestinationSettings
    -> Maybe Natural -> DvbSubDestinationSettings)
-> Lens
     DvbSubDestinationSettings
     DvbSubDestinationSettings
     (Maybe Natural)
     (Maybe Natural)
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)

-- | Specifies the vertical offset of the shadow relative to the captions in
-- pixels. A value of -2 would result in a shadow offset 2 pixels above the
-- text. All burn-in and DVB-Sub font settings must match.
dvbSubDestinationSettings_shadowYOffset :: Lens.Lens' DvbSubDestinationSettings (Prelude.Maybe Prelude.Int)
dvbSubDestinationSettings_shadowYOffset :: (Maybe Int -> f (Maybe Int))
-> DvbSubDestinationSettings -> f DvbSubDestinationSettings
dvbSubDestinationSettings_shadowYOffset = (DvbSubDestinationSettings -> Maybe Int)
-> (DvbSubDestinationSettings
    -> Maybe Int -> DvbSubDestinationSettings)
-> Lens
     DvbSubDestinationSettings
     DvbSubDestinationSettings
     (Maybe Int)
     (Maybe Int)
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)

-- | Font resolution in DPI (dots per inch); default is 96 dpi. All burn-in
-- and DVB-Sub font settings must match.
dvbSubDestinationSettings_fontResolution :: Lens.Lens' DvbSubDestinationSettings (Prelude.Maybe Prelude.Natural)
dvbSubDestinationSettings_fontResolution :: (Maybe Natural -> f (Maybe Natural))
-> DvbSubDestinationSettings -> f DvbSubDestinationSettings
dvbSubDestinationSettings_fontResolution = (DvbSubDestinationSettings -> Maybe Natural)
-> (DvbSubDestinationSettings
    -> Maybe Natural -> DvbSubDestinationSettings)
-> Lens
     DvbSubDestinationSettings
     DvbSubDestinationSettings
     (Maybe Natural)
     (Maybe Natural)
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)

-- | Specifies the vertical position of the caption relative to the top of
-- the output in pixels. A value of 10 would result in the captions
-- starting 10 pixels from the top of the output. If no explicit yPosition
-- is provided, the caption will be positioned towards the bottom of the
-- output. This option is not valid for source captions that are STL,
-- 608\/embedded or teletext. These source settings are already pre-defined
-- by the caption stream. All burn-in and DVB-Sub font settings must match.
dvbSubDestinationSettings_yPosition :: Lens.Lens' DvbSubDestinationSettings (Prelude.Maybe Prelude.Natural)
dvbSubDestinationSettings_yPosition :: (Maybe Natural -> f (Maybe Natural))
-> DvbSubDestinationSettings -> f DvbSubDestinationSettings
dvbSubDestinationSettings_yPosition = (DvbSubDestinationSettings -> Maybe Natural)
-> (DvbSubDestinationSettings
    -> Maybe Natural -> DvbSubDestinationSettings)
-> Lens
     DvbSubDestinationSettings
     DvbSubDestinationSettings
     (Maybe Natural)
     (Maybe Natural)
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)

-- | Specifies the color of the rectangle behind the captions. All burn-in
-- and DVB-Sub font settings must match.
dvbSubDestinationSettings_backgroundColor :: Lens.Lens' DvbSubDestinationSettings (Prelude.Maybe DvbSubDestinationBackgroundColor)
dvbSubDestinationSettings_backgroundColor :: (Maybe DvbSubDestinationBackgroundColor
 -> f (Maybe DvbSubDestinationBackgroundColor))
-> DvbSubDestinationSettings -> f DvbSubDestinationSettings
dvbSubDestinationSettings_backgroundColor = (DvbSubDestinationSettings
 -> Maybe DvbSubDestinationBackgroundColor)
-> (DvbSubDestinationSettings
    -> Maybe DvbSubDestinationBackgroundColor
    -> DvbSubDestinationSettings)
-> Lens
     DvbSubDestinationSettings
     DvbSubDestinationSettings
     (Maybe DvbSubDestinationBackgroundColor)
     (Maybe DvbSubDestinationBackgroundColor)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DvbSubDestinationSettings' {Maybe DvbSubDestinationBackgroundColor
backgroundColor :: Maybe DvbSubDestinationBackgroundColor
$sel:backgroundColor:DvbSubDestinationSettings' :: DvbSubDestinationSettings -> Maybe DvbSubDestinationBackgroundColor
backgroundColor} -> Maybe DvbSubDestinationBackgroundColor
backgroundColor) (\s :: DvbSubDestinationSettings
s@DvbSubDestinationSettings' {} Maybe DvbSubDestinationBackgroundColor
a -> DvbSubDestinationSettings
s {$sel:backgroundColor:DvbSubDestinationSettings' :: Maybe DvbSubDestinationBackgroundColor
backgroundColor = Maybe DvbSubDestinationBackgroundColor
a} :: DvbSubDestinationSettings)

-- | Specifies the horizontal offset of the shadow relative to the captions
-- in pixels. A value of -2 would result in a shadow offset 2 pixels to the
-- left. All burn-in and DVB-Sub font settings must match.
dvbSubDestinationSettings_shadowXOffset :: Lens.Lens' DvbSubDestinationSettings (Prelude.Maybe Prelude.Int)
dvbSubDestinationSettings_shadowXOffset :: (Maybe Int -> f (Maybe Int))
-> DvbSubDestinationSettings -> f DvbSubDestinationSettings
dvbSubDestinationSettings_shadowXOffset = (DvbSubDestinationSettings -> Maybe Int)
-> (DvbSubDestinationSettings
    -> Maybe Int -> DvbSubDestinationSettings)
-> Lens
     DvbSubDestinationSettings
     DvbSubDestinationSettings
     (Maybe Int)
     (Maybe Int)
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)

-- | When set to auto fontSize will scale depending on the size of the
-- output. Giving a positive integer will specify the exact font size in
-- points. All burn-in and DVB-Sub font settings must match.
dvbSubDestinationSettings_fontSize :: Lens.Lens' DvbSubDestinationSettings (Prelude.Maybe Prelude.Text)
dvbSubDestinationSettings_fontSize :: (Maybe Text -> f (Maybe Text))
-> DvbSubDestinationSettings -> f DvbSubDestinationSettings
dvbSubDestinationSettings_fontSize = (DvbSubDestinationSettings -> Maybe Text)
-> (DvbSubDestinationSettings
    -> Maybe Text -> DvbSubDestinationSettings)
-> Lens
     DvbSubDestinationSettings
     DvbSubDestinationSettings
     (Maybe Text)
     (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DvbSubDestinationSettings' {Maybe Text
fontSize :: Maybe Text
$sel:fontSize:DvbSubDestinationSettings' :: DvbSubDestinationSettings -> Maybe Text
fontSize} -> Maybe Text
fontSize) (\s :: DvbSubDestinationSettings
s@DvbSubDestinationSettings' {} Maybe Text
a -> DvbSubDestinationSettings
s {$sel:fontSize:DvbSubDestinationSettings' :: Maybe Text
fontSize = Maybe Text
a} :: DvbSubDestinationSettings)

-- | Specifies the horizontal position of the caption relative to the left
-- side of the output in pixels. A value of 10 would result in the captions
-- starting 10 pixels from the left of the output. If no explicit xPosition
-- is provided, the horizontal caption position will be determined by the
-- alignment parameter. This option is not valid for source captions that
-- are STL, 608\/embedded or teletext. These source settings are already
-- pre-defined by the caption stream. All burn-in and DVB-Sub font settings
-- must match.
dvbSubDestinationSettings_xPosition :: Lens.Lens' DvbSubDestinationSettings (Prelude.Maybe Prelude.Natural)
dvbSubDestinationSettings_xPosition :: (Maybe Natural -> f (Maybe Natural))
-> DvbSubDestinationSettings -> f DvbSubDestinationSettings
dvbSubDestinationSettings_xPosition = (DvbSubDestinationSettings -> Maybe Natural)
-> (DvbSubDestinationSettings
    -> Maybe Natural -> DvbSubDestinationSettings)
-> Lens
     DvbSubDestinationSettings
     DvbSubDestinationSettings
     (Maybe Natural)
     (Maybe Natural)
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)

-- | If no explicit xPosition or yPosition is provided, setting alignment to
-- centered will place the captions at the bottom center of the output.
-- Similarly, setting a left alignment will align captions to the bottom
-- left of the output. If x and y positions are given in conjunction with
-- the alignment parameter, the font will be justified (either left or
-- centered) relative to those coordinates. Selecting \"smart\"
-- justification will left-justify live subtitles and center-justify
-- pre-recorded subtitles. This option is not valid for source captions
-- that are STL or 608\/embedded. These source settings are already
-- pre-defined by the caption stream. All burn-in and DVB-Sub font settings
-- must match.
dvbSubDestinationSettings_alignment :: Lens.Lens' DvbSubDestinationSettings (Prelude.Maybe DvbSubDestinationAlignment)
dvbSubDestinationSettings_alignment :: (Maybe DvbSubDestinationAlignment
 -> f (Maybe DvbSubDestinationAlignment))
-> DvbSubDestinationSettings -> f DvbSubDestinationSettings
dvbSubDestinationSettings_alignment = (DvbSubDestinationSettings -> Maybe DvbSubDestinationAlignment)
-> (DvbSubDestinationSettings
    -> Maybe DvbSubDestinationAlignment -> DvbSubDestinationSettings)
-> Lens
     DvbSubDestinationSettings
     DvbSubDestinationSettings
     (Maybe DvbSubDestinationAlignment)
     (Maybe DvbSubDestinationAlignment)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DvbSubDestinationSettings' {Maybe DvbSubDestinationAlignment
alignment :: Maybe DvbSubDestinationAlignment
$sel:alignment:DvbSubDestinationSettings' :: DvbSubDestinationSettings -> Maybe DvbSubDestinationAlignment
alignment} -> Maybe DvbSubDestinationAlignment
alignment) (\s :: DvbSubDestinationSettings
s@DvbSubDestinationSettings' {} Maybe DvbSubDestinationAlignment
a -> DvbSubDestinationSettings
s {$sel:alignment:DvbSubDestinationSettings' :: Maybe DvbSubDestinationAlignment
alignment = Maybe DvbSubDestinationAlignment
a} :: DvbSubDestinationSettings)

-- | Specifies the opacity of the shadow. 255 is opaque; 0 is transparent.
-- Leaving this parameter blank is equivalent to setting it to 0
-- (transparent). All burn-in and DVB-Sub font settings must match.
dvbSubDestinationSettings_shadowOpacity :: Lens.Lens' DvbSubDestinationSettings (Prelude.Maybe Prelude.Natural)
dvbSubDestinationSettings_shadowOpacity :: (Maybe Natural -> f (Maybe Natural))
-> DvbSubDestinationSettings -> f DvbSubDestinationSettings
dvbSubDestinationSettings_shadowOpacity = (DvbSubDestinationSettings -> Maybe Natural)
-> (DvbSubDestinationSettings
    -> Maybe Natural -> DvbSubDestinationSettings)
-> Lens
     DvbSubDestinationSettings
     DvbSubDestinationSettings
     (Maybe Natural)
     (Maybe Natural)
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)

-- | Controls whether a fixed grid size will be used to generate the output
-- subtitles bitmap. Only applicable for Teletext inputs and
-- DVB-Sub\/Burn-in outputs.
dvbSubDestinationSettings_teletextGridControl :: Lens.Lens' DvbSubDestinationSettings (Prelude.Maybe DvbSubDestinationTeletextGridControl)
dvbSubDestinationSettings_teletextGridControl :: (Maybe DvbSubDestinationTeletextGridControl
 -> f (Maybe DvbSubDestinationTeletextGridControl))
-> DvbSubDestinationSettings -> f DvbSubDestinationSettings
dvbSubDestinationSettings_teletextGridControl = (DvbSubDestinationSettings
 -> Maybe DvbSubDestinationTeletextGridControl)
-> (DvbSubDestinationSettings
    -> Maybe DvbSubDestinationTeletextGridControl
    -> DvbSubDestinationSettings)
-> Lens
     DvbSubDestinationSettings
     DvbSubDestinationSettings
     (Maybe DvbSubDestinationTeletextGridControl)
     (Maybe DvbSubDestinationTeletextGridControl)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DvbSubDestinationSettings' {Maybe DvbSubDestinationTeletextGridControl
teletextGridControl :: Maybe DvbSubDestinationTeletextGridControl
$sel:teletextGridControl:DvbSubDestinationSettings' :: DvbSubDestinationSettings
-> Maybe DvbSubDestinationTeletextGridControl
teletextGridControl} -> Maybe DvbSubDestinationTeletextGridControl
teletextGridControl) (\s :: DvbSubDestinationSettings
s@DvbSubDestinationSettings' {} Maybe DvbSubDestinationTeletextGridControl
a -> DvbSubDestinationSettings
s {$sel:teletextGridControl:DvbSubDestinationSettings' :: Maybe DvbSubDestinationTeletextGridControl
teletextGridControl = Maybe DvbSubDestinationTeletextGridControl
a} :: DvbSubDestinationSettings)

-- | Specifies font outline color. This option is not valid for source
-- captions that are either 608\/embedded or teletext. These source
-- settings are already pre-defined by the caption stream. All burn-in and
-- DVB-Sub font settings must match.
dvbSubDestinationSettings_outlineColor :: Lens.Lens' DvbSubDestinationSettings (Prelude.Maybe DvbSubDestinationOutlineColor)
dvbSubDestinationSettings_outlineColor :: (Maybe DvbSubDestinationOutlineColor
 -> f (Maybe DvbSubDestinationOutlineColor))
-> DvbSubDestinationSettings -> f DvbSubDestinationSettings
dvbSubDestinationSettings_outlineColor = (DvbSubDestinationSettings -> Maybe DvbSubDestinationOutlineColor)
-> (DvbSubDestinationSettings
    -> Maybe DvbSubDestinationOutlineColor
    -> DvbSubDestinationSettings)
-> Lens
     DvbSubDestinationSettings
     DvbSubDestinationSettings
     (Maybe DvbSubDestinationOutlineColor)
     (Maybe DvbSubDestinationOutlineColor)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DvbSubDestinationSettings' {Maybe DvbSubDestinationOutlineColor
outlineColor :: Maybe DvbSubDestinationOutlineColor
$sel:outlineColor:DvbSubDestinationSettings' :: DvbSubDestinationSettings -> Maybe DvbSubDestinationOutlineColor
outlineColor} -> Maybe DvbSubDestinationOutlineColor
outlineColor) (\s :: DvbSubDestinationSettings
s@DvbSubDestinationSettings' {} Maybe DvbSubDestinationOutlineColor
a -> DvbSubDestinationSettings
s {$sel:outlineColor:DvbSubDestinationSettings' :: Maybe DvbSubDestinationOutlineColor
outlineColor = Maybe DvbSubDestinationOutlineColor
a} :: DvbSubDestinationSettings)

-- | Specifies font outline size in pixels. This option is not valid for
-- source captions that are either 608\/embedded or teletext. These source
-- settings are already pre-defined by the caption stream. All burn-in and
-- DVB-Sub font settings must match.
dvbSubDestinationSettings_outlineSize :: Lens.Lens' DvbSubDestinationSettings (Prelude.Maybe Prelude.Natural)
dvbSubDestinationSettings_outlineSize :: (Maybe Natural -> f (Maybe Natural))
-> DvbSubDestinationSettings -> f DvbSubDestinationSettings
dvbSubDestinationSettings_outlineSize = (DvbSubDestinationSettings -> Maybe Natural)
-> (DvbSubDestinationSettings
    -> Maybe Natural -> DvbSubDestinationSettings)
-> Lens
     DvbSubDestinationSettings
     DvbSubDestinationSettings
     (Maybe Natural)
     (Maybe Natural)
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)

-- | External font file used for caption burn-in. File extension must be
-- \'ttf\' or \'tte\'. Although the user can select output fonts for many
-- different types of input captions, embedded, STL and teletext sources
-- use a strict grid system. Using external fonts with these caption
-- sources could cause unexpected display of proportional fonts. All
-- burn-in and DVB-Sub font settings must match.
dvbSubDestinationSettings_font :: Lens.Lens' DvbSubDestinationSettings (Prelude.Maybe InputLocation)
dvbSubDestinationSettings_font :: (Maybe InputLocation -> f (Maybe InputLocation))
-> DvbSubDestinationSettings -> f DvbSubDestinationSettings
dvbSubDestinationSettings_font = (DvbSubDestinationSettings -> Maybe InputLocation)
-> (DvbSubDestinationSettings
    -> Maybe InputLocation -> DvbSubDestinationSettings)
-> Lens
     DvbSubDestinationSettings
     DvbSubDestinationSettings
     (Maybe InputLocation)
     (Maybe InputLocation)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DvbSubDestinationSettings' {Maybe InputLocation
font :: Maybe InputLocation
$sel:font:DvbSubDestinationSettings' :: DvbSubDestinationSettings -> Maybe InputLocation
font} -> Maybe InputLocation
font) (\s :: DvbSubDestinationSettings
s@DvbSubDestinationSettings' {} Maybe InputLocation
a -> DvbSubDestinationSettings
s {$sel:font:DvbSubDestinationSettings' :: Maybe InputLocation
font = Maybe InputLocation
a} :: DvbSubDestinationSettings)

-- | Specifies the color of the shadow cast by the captions. All burn-in and
-- DVB-Sub font settings must match.
dvbSubDestinationSettings_shadowColor :: Lens.Lens' DvbSubDestinationSettings (Prelude.Maybe DvbSubDestinationShadowColor)
dvbSubDestinationSettings_shadowColor :: (Maybe DvbSubDestinationShadowColor
 -> f (Maybe DvbSubDestinationShadowColor))
-> DvbSubDestinationSettings -> f DvbSubDestinationSettings
dvbSubDestinationSettings_shadowColor = (DvbSubDestinationSettings -> Maybe DvbSubDestinationShadowColor)
-> (DvbSubDestinationSettings
    -> Maybe DvbSubDestinationShadowColor -> DvbSubDestinationSettings)
-> Lens
     DvbSubDestinationSettings
     DvbSubDestinationSettings
     (Maybe DvbSubDestinationShadowColor)
     (Maybe DvbSubDestinationShadowColor)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DvbSubDestinationSettings' {Maybe DvbSubDestinationShadowColor
shadowColor :: Maybe DvbSubDestinationShadowColor
$sel:shadowColor:DvbSubDestinationSettings' :: DvbSubDestinationSettings -> Maybe DvbSubDestinationShadowColor
shadowColor} -> Maybe DvbSubDestinationShadowColor
shadowColor) (\s :: DvbSubDestinationSettings
s@DvbSubDestinationSettings' {} Maybe DvbSubDestinationShadowColor
a -> DvbSubDestinationSettings
s {$sel:shadowColor:DvbSubDestinationSettings' :: Maybe DvbSubDestinationShadowColor
shadowColor = Maybe DvbSubDestinationShadowColor
a} :: DvbSubDestinationSettings)

-- | Specifies the color of the burned-in captions. This option is not valid
-- for source captions that are STL, 608\/embedded or teletext. These
-- source settings are already pre-defined by the caption stream. All
-- burn-in and DVB-Sub font settings must match.
dvbSubDestinationSettings_fontColor :: Lens.Lens' DvbSubDestinationSettings (Prelude.Maybe DvbSubDestinationFontColor)
dvbSubDestinationSettings_fontColor :: (Maybe DvbSubDestinationFontColor
 -> f (Maybe DvbSubDestinationFontColor))
-> DvbSubDestinationSettings -> f DvbSubDestinationSettings
dvbSubDestinationSettings_fontColor = (DvbSubDestinationSettings -> Maybe DvbSubDestinationFontColor)
-> (DvbSubDestinationSettings
    -> Maybe DvbSubDestinationFontColor -> DvbSubDestinationSettings)
-> Lens
     DvbSubDestinationSettings
     DvbSubDestinationSettings
     (Maybe DvbSubDestinationFontColor)
     (Maybe DvbSubDestinationFontColor)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DvbSubDestinationSettings' {Maybe DvbSubDestinationFontColor
fontColor :: Maybe DvbSubDestinationFontColor
$sel:fontColor:DvbSubDestinationSettings' :: DvbSubDestinationSettings -> Maybe DvbSubDestinationFontColor
fontColor} -> Maybe DvbSubDestinationFontColor
fontColor) (\s :: DvbSubDestinationSettings
s@DvbSubDestinationSettings' {} Maybe DvbSubDestinationFontColor
a -> DvbSubDestinationSettings
s {$sel:fontColor:DvbSubDestinationSettings' :: Maybe DvbSubDestinationFontColor
fontColor = Maybe DvbSubDestinationFontColor
a} :: DvbSubDestinationSettings)

instance Core.FromJSON DvbSubDestinationSettings where
  parseJSON :: Value -> Parser DvbSubDestinationSettings
parseJSON =
    String
-> (Object -> Parser DvbSubDestinationSettings)
-> Value
-> Parser DvbSubDestinationSettings
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Core.withObject
      String
"DvbSubDestinationSettings"
      ( \Object
x ->
          Maybe Natural
-> Maybe Natural
-> Maybe Int
-> Maybe Natural
-> Maybe Natural
-> Maybe DvbSubDestinationBackgroundColor
-> Maybe Int
-> Maybe Text
-> Maybe Natural
-> Maybe DvbSubDestinationAlignment
-> Maybe Natural
-> Maybe DvbSubDestinationTeletextGridControl
-> Maybe DvbSubDestinationOutlineColor
-> Maybe Natural
-> Maybe InputLocation
-> Maybe DvbSubDestinationShadowColor
-> Maybe DvbSubDestinationFontColor
-> DvbSubDestinationSettings
DvbSubDestinationSettings'
            (Maybe Natural
 -> Maybe Natural
 -> Maybe Int
 -> Maybe Natural
 -> Maybe Natural
 -> Maybe DvbSubDestinationBackgroundColor
 -> Maybe Int
 -> Maybe Text
 -> Maybe Natural
 -> Maybe DvbSubDestinationAlignment
 -> Maybe Natural
 -> Maybe DvbSubDestinationTeletextGridControl
 -> Maybe DvbSubDestinationOutlineColor
 -> Maybe Natural
 -> Maybe InputLocation
 -> Maybe DvbSubDestinationShadowColor
 -> Maybe DvbSubDestinationFontColor
 -> DvbSubDestinationSettings)
-> Parser (Maybe Natural)
-> Parser
     (Maybe Natural
      -> Maybe Int
      -> Maybe Natural
      -> Maybe Natural
      -> Maybe DvbSubDestinationBackgroundColor
      -> Maybe Int
      -> Maybe Text
      -> Maybe Natural
      -> Maybe DvbSubDestinationAlignment
      -> Maybe Natural
      -> Maybe DvbSubDestinationTeletextGridControl
      -> Maybe DvbSubDestinationOutlineColor
      -> Maybe Natural
      -> Maybe InputLocation
      -> Maybe DvbSubDestinationShadowColor
      -> Maybe DvbSubDestinationFontColor
      -> DvbSubDestinationSettings)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> (Object
x Object -> Text -> Parser (Maybe Natural)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"backgroundOpacity")
            Parser
  (Maybe Natural
   -> Maybe Int
   -> Maybe Natural
   -> Maybe Natural
   -> Maybe DvbSubDestinationBackgroundColor
   -> Maybe Int
   -> Maybe Text
   -> Maybe Natural
   -> Maybe DvbSubDestinationAlignment
   -> Maybe Natural
   -> Maybe DvbSubDestinationTeletextGridControl
   -> Maybe DvbSubDestinationOutlineColor
   -> Maybe Natural
   -> Maybe InputLocation
   -> Maybe DvbSubDestinationShadowColor
   -> Maybe DvbSubDestinationFontColor
   -> DvbSubDestinationSettings)
-> Parser (Maybe Natural)
-> Parser
     (Maybe Int
      -> Maybe Natural
      -> Maybe Natural
      -> Maybe DvbSubDestinationBackgroundColor
      -> Maybe Int
      -> Maybe Text
      -> Maybe Natural
      -> Maybe DvbSubDestinationAlignment
      -> Maybe Natural
      -> Maybe DvbSubDestinationTeletextGridControl
      -> Maybe DvbSubDestinationOutlineColor
      -> Maybe Natural
      -> Maybe InputLocation
      -> Maybe DvbSubDestinationShadowColor
      -> Maybe DvbSubDestinationFontColor
      -> DvbSubDestinationSettings)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Natural)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"fontOpacity")
            Parser
  (Maybe Int
   -> Maybe Natural
   -> Maybe Natural
   -> Maybe DvbSubDestinationBackgroundColor
   -> Maybe Int
   -> Maybe Text
   -> Maybe Natural
   -> Maybe DvbSubDestinationAlignment
   -> Maybe Natural
   -> Maybe DvbSubDestinationTeletextGridControl
   -> Maybe DvbSubDestinationOutlineColor
   -> Maybe Natural
   -> Maybe InputLocation
   -> Maybe DvbSubDestinationShadowColor
   -> Maybe DvbSubDestinationFontColor
   -> DvbSubDestinationSettings)
-> Parser (Maybe Int)
-> Parser
     (Maybe Natural
      -> Maybe Natural
      -> Maybe DvbSubDestinationBackgroundColor
      -> Maybe Int
      -> Maybe Text
      -> Maybe Natural
      -> Maybe DvbSubDestinationAlignment
      -> Maybe Natural
      -> Maybe DvbSubDestinationTeletextGridControl
      -> Maybe DvbSubDestinationOutlineColor
      -> Maybe Natural
      -> Maybe InputLocation
      -> Maybe DvbSubDestinationShadowColor
      -> Maybe DvbSubDestinationFontColor
      -> DvbSubDestinationSettings)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Int)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"shadowYOffset")
            Parser
  (Maybe Natural
   -> Maybe Natural
   -> Maybe DvbSubDestinationBackgroundColor
   -> Maybe Int
   -> Maybe Text
   -> Maybe Natural
   -> Maybe DvbSubDestinationAlignment
   -> Maybe Natural
   -> Maybe DvbSubDestinationTeletextGridControl
   -> Maybe DvbSubDestinationOutlineColor
   -> Maybe Natural
   -> Maybe InputLocation
   -> Maybe DvbSubDestinationShadowColor
   -> Maybe DvbSubDestinationFontColor
   -> DvbSubDestinationSettings)
-> Parser (Maybe Natural)
-> Parser
     (Maybe Natural
      -> Maybe DvbSubDestinationBackgroundColor
      -> Maybe Int
      -> Maybe Text
      -> Maybe Natural
      -> Maybe DvbSubDestinationAlignment
      -> Maybe Natural
      -> Maybe DvbSubDestinationTeletextGridControl
      -> Maybe DvbSubDestinationOutlineColor
      -> Maybe Natural
      -> Maybe InputLocation
      -> Maybe DvbSubDestinationShadowColor
      -> Maybe DvbSubDestinationFontColor
      -> DvbSubDestinationSettings)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Natural)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"fontResolution")
            Parser
  (Maybe Natural
   -> Maybe DvbSubDestinationBackgroundColor
   -> Maybe Int
   -> Maybe Text
   -> Maybe Natural
   -> Maybe DvbSubDestinationAlignment
   -> Maybe Natural
   -> Maybe DvbSubDestinationTeletextGridControl
   -> Maybe DvbSubDestinationOutlineColor
   -> Maybe Natural
   -> Maybe InputLocation
   -> Maybe DvbSubDestinationShadowColor
   -> Maybe DvbSubDestinationFontColor
   -> DvbSubDestinationSettings)
-> Parser (Maybe Natural)
-> Parser
     (Maybe DvbSubDestinationBackgroundColor
      -> Maybe Int
      -> Maybe Text
      -> Maybe Natural
      -> Maybe DvbSubDestinationAlignment
      -> Maybe Natural
      -> Maybe DvbSubDestinationTeletextGridControl
      -> Maybe DvbSubDestinationOutlineColor
      -> Maybe Natural
      -> Maybe InputLocation
      -> Maybe DvbSubDestinationShadowColor
      -> Maybe DvbSubDestinationFontColor
      -> DvbSubDestinationSettings)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Natural)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"yPosition")
            Parser
  (Maybe DvbSubDestinationBackgroundColor
   -> Maybe Int
   -> Maybe Text
   -> Maybe Natural
   -> Maybe DvbSubDestinationAlignment
   -> Maybe Natural
   -> Maybe DvbSubDestinationTeletextGridControl
   -> Maybe DvbSubDestinationOutlineColor
   -> Maybe Natural
   -> Maybe InputLocation
   -> Maybe DvbSubDestinationShadowColor
   -> Maybe DvbSubDestinationFontColor
   -> DvbSubDestinationSettings)
-> Parser (Maybe DvbSubDestinationBackgroundColor)
-> Parser
     (Maybe Int
      -> Maybe Text
      -> Maybe Natural
      -> Maybe DvbSubDestinationAlignment
      -> Maybe Natural
      -> Maybe DvbSubDestinationTeletextGridControl
      -> Maybe DvbSubDestinationOutlineColor
      -> Maybe Natural
      -> Maybe InputLocation
      -> Maybe DvbSubDestinationShadowColor
      -> Maybe DvbSubDestinationFontColor
      -> DvbSubDestinationSettings)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe DvbSubDestinationBackgroundColor)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"backgroundColor")
            Parser
  (Maybe Int
   -> Maybe Text
   -> Maybe Natural
   -> Maybe DvbSubDestinationAlignment
   -> Maybe Natural
   -> Maybe DvbSubDestinationTeletextGridControl
   -> Maybe DvbSubDestinationOutlineColor
   -> Maybe Natural
   -> Maybe InputLocation
   -> Maybe DvbSubDestinationShadowColor
   -> Maybe DvbSubDestinationFontColor
   -> DvbSubDestinationSettings)
-> Parser (Maybe Int)
-> Parser
     (Maybe Text
      -> Maybe Natural
      -> Maybe DvbSubDestinationAlignment
      -> Maybe Natural
      -> Maybe DvbSubDestinationTeletextGridControl
      -> Maybe DvbSubDestinationOutlineColor
      -> Maybe Natural
      -> Maybe InputLocation
      -> Maybe DvbSubDestinationShadowColor
      -> Maybe DvbSubDestinationFontColor
      -> DvbSubDestinationSettings)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Int)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"shadowXOffset")
            Parser
  (Maybe Text
   -> Maybe Natural
   -> Maybe DvbSubDestinationAlignment
   -> Maybe Natural
   -> Maybe DvbSubDestinationTeletextGridControl
   -> Maybe DvbSubDestinationOutlineColor
   -> Maybe Natural
   -> Maybe InputLocation
   -> Maybe DvbSubDestinationShadowColor
   -> Maybe DvbSubDestinationFontColor
   -> DvbSubDestinationSettings)
-> Parser (Maybe Text)
-> Parser
     (Maybe Natural
      -> Maybe DvbSubDestinationAlignment
      -> Maybe Natural
      -> Maybe DvbSubDestinationTeletextGridControl
      -> Maybe DvbSubDestinationOutlineColor
      -> Maybe Natural
      -> Maybe InputLocation
      -> Maybe DvbSubDestinationShadowColor
      -> Maybe DvbSubDestinationFontColor
      -> DvbSubDestinationSettings)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"fontSize")
            Parser
  (Maybe Natural
   -> Maybe DvbSubDestinationAlignment
   -> Maybe Natural
   -> Maybe DvbSubDestinationTeletextGridControl
   -> Maybe DvbSubDestinationOutlineColor
   -> Maybe Natural
   -> Maybe InputLocation
   -> Maybe DvbSubDestinationShadowColor
   -> Maybe DvbSubDestinationFontColor
   -> DvbSubDestinationSettings)
-> Parser (Maybe Natural)
-> Parser
     (Maybe DvbSubDestinationAlignment
      -> Maybe Natural
      -> Maybe DvbSubDestinationTeletextGridControl
      -> Maybe DvbSubDestinationOutlineColor
      -> Maybe Natural
      -> Maybe InputLocation
      -> Maybe DvbSubDestinationShadowColor
      -> Maybe DvbSubDestinationFontColor
      -> DvbSubDestinationSettings)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Natural)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"xPosition")
            Parser
  (Maybe DvbSubDestinationAlignment
   -> Maybe Natural
   -> Maybe DvbSubDestinationTeletextGridControl
   -> Maybe DvbSubDestinationOutlineColor
   -> Maybe Natural
   -> Maybe InputLocation
   -> Maybe DvbSubDestinationShadowColor
   -> Maybe DvbSubDestinationFontColor
   -> DvbSubDestinationSettings)
-> Parser (Maybe DvbSubDestinationAlignment)
-> Parser
     (Maybe Natural
      -> Maybe DvbSubDestinationTeletextGridControl
      -> Maybe DvbSubDestinationOutlineColor
      -> Maybe Natural
      -> Maybe InputLocation
      -> Maybe DvbSubDestinationShadowColor
      -> Maybe DvbSubDestinationFontColor
      -> DvbSubDestinationSettings)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe DvbSubDestinationAlignment)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"alignment")
            Parser
  (Maybe Natural
   -> Maybe DvbSubDestinationTeletextGridControl
   -> Maybe DvbSubDestinationOutlineColor
   -> Maybe Natural
   -> Maybe InputLocation
   -> Maybe DvbSubDestinationShadowColor
   -> Maybe DvbSubDestinationFontColor
   -> DvbSubDestinationSettings)
-> Parser (Maybe Natural)
-> Parser
     (Maybe DvbSubDestinationTeletextGridControl
      -> Maybe DvbSubDestinationOutlineColor
      -> Maybe Natural
      -> Maybe InputLocation
      -> Maybe DvbSubDestinationShadowColor
      -> Maybe DvbSubDestinationFontColor
      -> DvbSubDestinationSettings)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Natural)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"shadowOpacity")
            Parser
  (Maybe DvbSubDestinationTeletextGridControl
   -> Maybe DvbSubDestinationOutlineColor
   -> Maybe Natural
   -> Maybe InputLocation
   -> Maybe DvbSubDestinationShadowColor
   -> Maybe DvbSubDestinationFontColor
   -> DvbSubDestinationSettings)
-> Parser (Maybe DvbSubDestinationTeletextGridControl)
-> Parser
     (Maybe DvbSubDestinationOutlineColor
      -> Maybe Natural
      -> Maybe InputLocation
      -> Maybe DvbSubDestinationShadowColor
      -> Maybe DvbSubDestinationFontColor
      -> DvbSubDestinationSettings)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object
-> Text -> Parser (Maybe DvbSubDestinationTeletextGridControl)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"teletextGridControl")
            Parser
  (Maybe DvbSubDestinationOutlineColor
   -> Maybe Natural
   -> Maybe InputLocation
   -> Maybe DvbSubDestinationShadowColor
   -> Maybe DvbSubDestinationFontColor
   -> DvbSubDestinationSettings)
-> Parser (Maybe DvbSubDestinationOutlineColor)
-> Parser
     (Maybe Natural
      -> Maybe InputLocation
      -> Maybe DvbSubDestinationShadowColor
      -> Maybe DvbSubDestinationFontColor
      -> DvbSubDestinationSettings)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe DvbSubDestinationOutlineColor)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"outlineColor")
            Parser
  (Maybe Natural
   -> Maybe InputLocation
   -> Maybe DvbSubDestinationShadowColor
   -> Maybe DvbSubDestinationFontColor
   -> DvbSubDestinationSettings)
-> Parser (Maybe Natural)
-> Parser
     (Maybe InputLocation
      -> Maybe DvbSubDestinationShadowColor
      -> Maybe DvbSubDestinationFontColor
      -> DvbSubDestinationSettings)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Natural)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"outlineSize")
            Parser
  (Maybe InputLocation
   -> Maybe DvbSubDestinationShadowColor
   -> Maybe DvbSubDestinationFontColor
   -> DvbSubDestinationSettings)
-> Parser (Maybe InputLocation)
-> Parser
     (Maybe DvbSubDestinationShadowColor
      -> Maybe DvbSubDestinationFontColor -> DvbSubDestinationSettings)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe InputLocation)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"font")
            Parser
  (Maybe DvbSubDestinationShadowColor
   -> Maybe DvbSubDestinationFontColor -> DvbSubDestinationSettings)
-> Parser (Maybe DvbSubDestinationShadowColor)
-> Parser
     (Maybe DvbSubDestinationFontColor -> DvbSubDestinationSettings)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe DvbSubDestinationShadowColor)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"shadowColor")
            Parser
  (Maybe DvbSubDestinationFontColor -> DvbSubDestinationSettings)
-> Parser (Maybe DvbSubDestinationFontColor)
-> Parser DvbSubDestinationSettings
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe DvbSubDestinationFontColor)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"fontColor")
      )

instance Prelude.Hashable DvbSubDestinationSettings

instance Prelude.NFData DvbSubDestinationSettings

instance Core.ToJSON DvbSubDestinationSettings where
  toJSON :: DvbSubDestinationSettings -> Value
toJSON DvbSubDestinationSettings' {Maybe Int
Maybe Natural
Maybe Text
Maybe DvbSubDestinationAlignment
Maybe DvbSubDestinationBackgroundColor
Maybe DvbSubDestinationFontColor
Maybe DvbSubDestinationOutlineColor
Maybe DvbSubDestinationShadowColor
Maybe DvbSubDestinationTeletextGridControl
Maybe InputLocation
fontColor :: Maybe DvbSubDestinationFontColor
shadowColor :: Maybe DvbSubDestinationShadowColor
font :: Maybe InputLocation
outlineSize :: Maybe Natural
outlineColor :: Maybe DvbSubDestinationOutlineColor
teletextGridControl :: Maybe DvbSubDestinationTeletextGridControl
shadowOpacity :: Maybe Natural
alignment :: Maybe DvbSubDestinationAlignment
xPosition :: Maybe Natural
fontSize :: Maybe Text
shadowXOffset :: Maybe Int
backgroundColor :: Maybe DvbSubDestinationBackgroundColor
yPosition :: Maybe Natural
fontResolution :: Maybe Natural
shadowYOffset :: Maybe Int
fontOpacity :: Maybe Natural
backgroundOpacity :: Maybe Natural
$sel:fontColor:DvbSubDestinationSettings' :: DvbSubDestinationSettings -> Maybe DvbSubDestinationFontColor
$sel:shadowColor:DvbSubDestinationSettings' :: DvbSubDestinationSettings -> Maybe DvbSubDestinationShadowColor
$sel:font:DvbSubDestinationSettings' :: DvbSubDestinationSettings -> Maybe InputLocation
$sel:outlineSize:DvbSubDestinationSettings' :: DvbSubDestinationSettings -> Maybe Natural
$sel:outlineColor:DvbSubDestinationSettings' :: DvbSubDestinationSettings -> Maybe DvbSubDestinationOutlineColor
$sel:teletextGridControl:DvbSubDestinationSettings' :: DvbSubDestinationSettings
-> Maybe DvbSubDestinationTeletextGridControl
$sel:shadowOpacity:DvbSubDestinationSettings' :: DvbSubDestinationSettings -> Maybe Natural
$sel:alignment:DvbSubDestinationSettings' :: DvbSubDestinationSettings -> Maybe DvbSubDestinationAlignment
$sel:xPosition:DvbSubDestinationSettings' :: DvbSubDestinationSettings -> Maybe Natural
$sel:fontSize:DvbSubDestinationSettings' :: DvbSubDestinationSettings -> Maybe Text
$sel:shadowXOffset:DvbSubDestinationSettings' :: DvbSubDestinationSettings -> Maybe Int
$sel:backgroundColor:DvbSubDestinationSettings' :: DvbSubDestinationSettings -> Maybe DvbSubDestinationBackgroundColor
$sel:yPosition:DvbSubDestinationSettings' :: DvbSubDestinationSettings -> Maybe Natural
$sel:fontResolution:DvbSubDestinationSettings' :: DvbSubDestinationSettings -> Maybe Natural
$sel:shadowYOffset:DvbSubDestinationSettings' :: DvbSubDestinationSettings -> Maybe Int
$sel:fontOpacity:DvbSubDestinationSettings' :: DvbSubDestinationSettings -> Maybe Natural
$sel:backgroundOpacity:DvbSubDestinationSettings' :: DvbSubDestinationSettings -> Maybe Natural
..} =
    [Pair] -> Value
Core.object
      ( [Maybe Pair] -> [Pair]
forall a. [Maybe a] -> [a]
Prelude.catMaybes
          [ (Text
"backgroundOpacity" Text -> Natural -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
              (Natural -> Pair) -> Maybe Natural -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Natural
backgroundOpacity,
            (Text
"fontOpacity" Text -> Natural -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=) (Natural -> Pair) -> Maybe Natural -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Natural
fontOpacity,
            (Text
"shadowYOffset" Text -> Int -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=) (Int -> Pair) -> Maybe Int -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Int
shadowYOffset,
            (Text
"fontResolution" Text -> Natural -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
              (Natural -> Pair) -> Maybe Natural -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Natural
fontResolution,
            (Text
"yPosition" Text -> Natural -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=) (Natural -> Pair) -> Maybe Natural -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Natural
yPosition,
            (Text
"backgroundColor" Text -> DvbSubDestinationBackgroundColor -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
              (DvbSubDestinationBackgroundColor -> Pair)
-> Maybe DvbSubDestinationBackgroundColor -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe DvbSubDestinationBackgroundColor
backgroundColor,
            (Text
"shadowXOffset" Text -> Int -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=) (Int -> Pair) -> Maybe Int -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Int
shadowXOffset,
            (Text
"fontSize" Text -> Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=) (Text -> Pair) -> Maybe Text -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Text
fontSize,
            (Text
"xPosition" Text -> Natural -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=) (Natural -> Pair) -> Maybe Natural -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Natural
xPosition,
            (Text
"alignment" Text -> DvbSubDestinationAlignment -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=) (DvbSubDestinationAlignment -> Pair)
-> Maybe DvbSubDestinationAlignment -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe DvbSubDestinationAlignment
alignment,
            (Text
"shadowOpacity" Text -> Natural -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=) (Natural -> Pair) -> Maybe Natural -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Natural
shadowOpacity,
            (Text
"teletextGridControl" Text -> DvbSubDestinationTeletextGridControl -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
              (DvbSubDestinationTeletextGridControl -> Pair)
-> Maybe DvbSubDestinationTeletextGridControl -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe DvbSubDestinationTeletextGridControl
teletextGridControl,
            (Text
"outlineColor" Text -> DvbSubDestinationOutlineColor -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=) (DvbSubDestinationOutlineColor -> Pair)
-> Maybe DvbSubDestinationOutlineColor -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe DvbSubDestinationOutlineColor
outlineColor,
            (Text
"outlineSize" Text -> Natural -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=) (Natural -> Pair) -> Maybe Natural -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Natural
outlineSize,
            (Text
"font" Text -> InputLocation -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=) (InputLocation -> Pair) -> Maybe InputLocation -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe InputLocation
font,
            (Text
"shadowColor" Text -> DvbSubDestinationShadowColor -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=) (DvbSubDestinationShadowColor -> Pair)
-> Maybe DvbSubDestinationShadowColor -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe DvbSubDestinationShadowColor
shadowColor,
            (Text
"fontColor" Text -> DvbSubDestinationFontColor -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=) (DvbSubDestinationFontColor -> Pair)
-> Maybe DvbSubDestinationFontColor -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe DvbSubDestinationFontColor
fontColor
          ]
      )