{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE DerivingStrategies #-}
{-# LANGUAGE GeneralizedNewtypeDeriving #-}
{-# LANGUAGE LambdaCase #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE PatternSynonyms #-}
{-# LANGUAGE StrictData #-}
{-# LANGUAGE NoImplicitPrelude #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}

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

-- |
-- Module      : Amazonka.MediaConvert.Types.BurninSubtitleBackgroundColor
-- 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.MediaConvert.Types.BurninSubtitleBackgroundColor
  ( BurninSubtitleBackgroundColor
      ( ..,
        BurninSubtitleBackgroundColor_AUTO,
        BurninSubtitleBackgroundColor_BLACK,
        BurninSubtitleBackgroundColor_NONE,
        BurninSubtitleBackgroundColor_WHITE
      ),
  )
where

import qualified Amazonka.Core as Core
import qualified Amazonka.Prelude as Prelude

-- | 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. Within your job settings, all of your
-- DVB-Sub settings must be identical.
newtype BurninSubtitleBackgroundColor = BurninSubtitleBackgroundColor'
  { BurninSubtitleBackgroundColor -> Text
fromBurninSubtitleBackgroundColor ::
      Core.Text
  }
  deriving stock
    ( Int -> BurninSubtitleBackgroundColor -> ShowS
[BurninSubtitleBackgroundColor] -> ShowS
BurninSubtitleBackgroundColor -> String
(Int -> BurninSubtitleBackgroundColor -> ShowS)
-> (BurninSubtitleBackgroundColor -> String)
-> ([BurninSubtitleBackgroundColor] -> ShowS)
-> Show BurninSubtitleBackgroundColor
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [BurninSubtitleBackgroundColor] -> ShowS
$cshowList :: [BurninSubtitleBackgroundColor] -> ShowS
show :: BurninSubtitleBackgroundColor -> String
$cshow :: BurninSubtitleBackgroundColor -> String
showsPrec :: Int -> BurninSubtitleBackgroundColor -> ShowS
$cshowsPrec :: Int -> BurninSubtitleBackgroundColor -> ShowS
Prelude.Show,
      ReadPrec [BurninSubtitleBackgroundColor]
ReadPrec BurninSubtitleBackgroundColor
Int -> ReadS BurninSubtitleBackgroundColor
ReadS [BurninSubtitleBackgroundColor]
(Int -> ReadS BurninSubtitleBackgroundColor)
-> ReadS [BurninSubtitleBackgroundColor]
-> ReadPrec BurninSubtitleBackgroundColor
-> ReadPrec [BurninSubtitleBackgroundColor]
-> Read BurninSubtitleBackgroundColor
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [BurninSubtitleBackgroundColor]
$creadListPrec :: ReadPrec [BurninSubtitleBackgroundColor]
readPrec :: ReadPrec BurninSubtitleBackgroundColor
$creadPrec :: ReadPrec BurninSubtitleBackgroundColor
readList :: ReadS [BurninSubtitleBackgroundColor]
$creadList :: ReadS [BurninSubtitleBackgroundColor]
readsPrec :: Int -> ReadS BurninSubtitleBackgroundColor
$creadsPrec :: Int -> ReadS BurninSubtitleBackgroundColor
Prelude.Read,
      BurninSubtitleBackgroundColor
-> BurninSubtitleBackgroundColor -> Bool
(BurninSubtitleBackgroundColor
 -> BurninSubtitleBackgroundColor -> Bool)
-> (BurninSubtitleBackgroundColor
    -> BurninSubtitleBackgroundColor -> Bool)
-> Eq BurninSubtitleBackgroundColor
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: BurninSubtitleBackgroundColor
-> BurninSubtitleBackgroundColor -> Bool
$c/= :: BurninSubtitleBackgroundColor
-> BurninSubtitleBackgroundColor -> Bool
== :: BurninSubtitleBackgroundColor
-> BurninSubtitleBackgroundColor -> Bool
$c== :: BurninSubtitleBackgroundColor
-> BurninSubtitleBackgroundColor -> Bool
Prelude.Eq,
      Eq BurninSubtitleBackgroundColor
Eq BurninSubtitleBackgroundColor
-> (BurninSubtitleBackgroundColor
    -> BurninSubtitleBackgroundColor -> Ordering)
-> (BurninSubtitleBackgroundColor
    -> BurninSubtitleBackgroundColor -> Bool)
-> (BurninSubtitleBackgroundColor
    -> BurninSubtitleBackgroundColor -> Bool)
-> (BurninSubtitleBackgroundColor
    -> BurninSubtitleBackgroundColor -> Bool)
-> (BurninSubtitleBackgroundColor
    -> BurninSubtitleBackgroundColor -> Bool)
-> (BurninSubtitleBackgroundColor
    -> BurninSubtitleBackgroundColor -> BurninSubtitleBackgroundColor)
-> (BurninSubtitleBackgroundColor
    -> BurninSubtitleBackgroundColor -> BurninSubtitleBackgroundColor)
-> Ord BurninSubtitleBackgroundColor
BurninSubtitleBackgroundColor
-> BurninSubtitleBackgroundColor -> Bool
BurninSubtitleBackgroundColor
-> BurninSubtitleBackgroundColor -> Ordering
BurninSubtitleBackgroundColor
-> BurninSubtitleBackgroundColor -> BurninSubtitleBackgroundColor
forall a.
Eq a
-> (a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
min :: BurninSubtitleBackgroundColor
-> BurninSubtitleBackgroundColor -> BurninSubtitleBackgroundColor
$cmin :: BurninSubtitleBackgroundColor
-> BurninSubtitleBackgroundColor -> BurninSubtitleBackgroundColor
max :: BurninSubtitleBackgroundColor
-> BurninSubtitleBackgroundColor -> BurninSubtitleBackgroundColor
$cmax :: BurninSubtitleBackgroundColor
-> BurninSubtitleBackgroundColor -> BurninSubtitleBackgroundColor
>= :: BurninSubtitleBackgroundColor
-> BurninSubtitleBackgroundColor -> Bool
$c>= :: BurninSubtitleBackgroundColor
-> BurninSubtitleBackgroundColor -> Bool
> :: BurninSubtitleBackgroundColor
-> BurninSubtitleBackgroundColor -> Bool
$c> :: BurninSubtitleBackgroundColor
-> BurninSubtitleBackgroundColor -> Bool
<= :: BurninSubtitleBackgroundColor
-> BurninSubtitleBackgroundColor -> Bool
$c<= :: BurninSubtitleBackgroundColor
-> BurninSubtitleBackgroundColor -> Bool
< :: BurninSubtitleBackgroundColor
-> BurninSubtitleBackgroundColor -> Bool
$c< :: BurninSubtitleBackgroundColor
-> BurninSubtitleBackgroundColor -> Bool
compare :: BurninSubtitleBackgroundColor
-> BurninSubtitleBackgroundColor -> Ordering
$ccompare :: BurninSubtitleBackgroundColor
-> BurninSubtitleBackgroundColor -> Ordering
$cp1Ord :: Eq BurninSubtitleBackgroundColor
Prelude.Ord,
      (forall x.
 BurninSubtitleBackgroundColor
 -> Rep BurninSubtitleBackgroundColor x)
-> (forall x.
    Rep BurninSubtitleBackgroundColor x
    -> BurninSubtitleBackgroundColor)
-> Generic BurninSubtitleBackgroundColor
forall x.
Rep BurninSubtitleBackgroundColor x
-> BurninSubtitleBackgroundColor
forall x.
BurninSubtitleBackgroundColor
-> Rep BurninSubtitleBackgroundColor x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep BurninSubtitleBackgroundColor x
-> BurninSubtitleBackgroundColor
$cfrom :: forall x.
BurninSubtitleBackgroundColor
-> Rep BurninSubtitleBackgroundColor x
Prelude.Generic
    )
  deriving newtype
    ( Int -> BurninSubtitleBackgroundColor -> Int
BurninSubtitleBackgroundColor -> Int
(Int -> BurninSubtitleBackgroundColor -> Int)
-> (BurninSubtitleBackgroundColor -> Int)
-> Hashable BurninSubtitleBackgroundColor
forall a. (Int -> a -> Int) -> (a -> Int) -> Hashable a
hash :: BurninSubtitleBackgroundColor -> Int
$chash :: BurninSubtitleBackgroundColor -> Int
hashWithSalt :: Int -> BurninSubtitleBackgroundColor -> Int
$chashWithSalt :: Int -> BurninSubtitleBackgroundColor -> Int
Prelude.Hashable,
      BurninSubtitleBackgroundColor -> ()
(BurninSubtitleBackgroundColor -> ())
-> NFData BurninSubtitleBackgroundColor
forall a. (a -> ()) -> NFData a
rnf :: BurninSubtitleBackgroundColor -> ()
$crnf :: BurninSubtitleBackgroundColor -> ()
Prelude.NFData,
      Text -> Either String BurninSubtitleBackgroundColor
(Text -> Either String BurninSubtitleBackgroundColor)
-> FromText BurninSubtitleBackgroundColor
forall a. (Text -> Either String a) -> FromText a
fromText :: Text -> Either String BurninSubtitleBackgroundColor
$cfromText :: Text -> Either String BurninSubtitleBackgroundColor
Core.FromText,
      BurninSubtitleBackgroundColor -> Text
(BurninSubtitleBackgroundColor -> Text)
-> ToText BurninSubtitleBackgroundColor
forall a. (a -> Text) -> ToText a
toText :: BurninSubtitleBackgroundColor -> Text
$ctoText :: BurninSubtitleBackgroundColor -> Text
Core.ToText,
      BurninSubtitleBackgroundColor -> ByteString
(BurninSubtitleBackgroundColor -> ByteString)
-> ToByteString BurninSubtitleBackgroundColor
forall a. (a -> ByteString) -> ToByteString a
toBS :: BurninSubtitleBackgroundColor -> ByteString
$ctoBS :: BurninSubtitleBackgroundColor -> ByteString
Core.ToByteString,
      BurninSubtitleBackgroundColor -> ByteStringBuilder
(BurninSubtitleBackgroundColor -> ByteStringBuilder)
-> ToLog BurninSubtitleBackgroundColor
forall a. (a -> ByteStringBuilder) -> ToLog a
build :: BurninSubtitleBackgroundColor -> ByteStringBuilder
$cbuild :: BurninSubtitleBackgroundColor -> ByteStringBuilder
Core.ToLog,
      HeaderName -> BurninSubtitleBackgroundColor -> [Header]
(HeaderName -> BurninSubtitleBackgroundColor -> [Header])
-> ToHeader BurninSubtitleBackgroundColor
forall a. (HeaderName -> a -> [Header]) -> ToHeader a
toHeader :: HeaderName -> BurninSubtitleBackgroundColor -> [Header]
$ctoHeader :: HeaderName -> BurninSubtitleBackgroundColor -> [Header]
Core.ToHeader,
      BurninSubtitleBackgroundColor -> QueryString
(BurninSubtitleBackgroundColor -> QueryString)
-> ToQuery BurninSubtitleBackgroundColor
forall a. (a -> QueryString) -> ToQuery a
toQuery :: BurninSubtitleBackgroundColor -> QueryString
$ctoQuery :: BurninSubtitleBackgroundColor -> QueryString
Core.ToQuery,
      Value -> Parser [BurninSubtitleBackgroundColor]
Value -> Parser BurninSubtitleBackgroundColor
(Value -> Parser BurninSubtitleBackgroundColor)
-> (Value -> Parser [BurninSubtitleBackgroundColor])
-> FromJSON BurninSubtitleBackgroundColor
forall a.
(Value -> Parser a) -> (Value -> Parser [a]) -> FromJSON a
parseJSONList :: Value -> Parser [BurninSubtitleBackgroundColor]
$cparseJSONList :: Value -> Parser [BurninSubtitleBackgroundColor]
parseJSON :: Value -> Parser BurninSubtitleBackgroundColor
$cparseJSON :: Value -> Parser BurninSubtitleBackgroundColor
Core.FromJSON,
      FromJSONKeyFunction [BurninSubtitleBackgroundColor]
FromJSONKeyFunction BurninSubtitleBackgroundColor
FromJSONKeyFunction BurninSubtitleBackgroundColor
-> FromJSONKeyFunction [BurninSubtitleBackgroundColor]
-> FromJSONKey BurninSubtitleBackgroundColor
forall a.
FromJSONKeyFunction a -> FromJSONKeyFunction [a] -> FromJSONKey a
fromJSONKeyList :: FromJSONKeyFunction [BurninSubtitleBackgroundColor]
$cfromJSONKeyList :: FromJSONKeyFunction [BurninSubtitleBackgroundColor]
fromJSONKey :: FromJSONKeyFunction BurninSubtitleBackgroundColor
$cfromJSONKey :: FromJSONKeyFunction BurninSubtitleBackgroundColor
Core.FromJSONKey,
      [BurninSubtitleBackgroundColor] -> Encoding
[BurninSubtitleBackgroundColor] -> Value
BurninSubtitleBackgroundColor -> Encoding
BurninSubtitleBackgroundColor -> Value
(BurninSubtitleBackgroundColor -> Value)
-> (BurninSubtitleBackgroundColor -> Encoding)
-> ([BurninSubtitleBackgroundColor] -> Value)
-> ([BurninSubtitleBackgroundColor] -> Encoding)
-> ToJSON BurninSubtitleBackgroundColor
forall a.
(a -> Value)
-> (a -> Encoding)
-> ([a] -> Value)
-> ([a] -> Encoding)
-> ToJSON a
toEncodingList :: [BurninSubtitleBackgroundColor] -> Encoding
$ctoEncodingList :: [BurninSubtitleBackgroundColor] -> Encoding
toJSONList :: [BurninSubtitleBackgroundColor] -> Value
$ctoJSONList :: [BurninSubtitleBackgroundColor] -> Value
toEncoding :: BurninSubtitleBackgroundColor -> Encoding
$ctoEncoding :: BurninSubtitleBackgroundColor -> Encoding
toJSON :: BurninSubtitleBackgroundColor -> Value
$ctoJSON :: BurninSubtitleBackgroundColor -> Value
Core.ToJSON,
      ToJSONKeyFunction [BurninSubtitleBackgroundColor]
ToJSONKeyFunction BurninSubtitleBackgroundColor
ToJSONKeyFunction BurninSubtitleBackgroundColor
-> ToJSONKeyFunction [BurninSubtitleBackgroundColor]
-> ToJSONKey BurninSubtitleBackgroundColor
forall a.
ToJSONKeyFunction a -> ToJSONKeyFunction [a] -> ToJSONKey a
toJSONKeyList :: ToJSONKeyFunction [BurninSubtitleBackgroundColor]
$ctoJSONKeyList :: ToJSONKeyFunction [BurninSubtitleBackgroundColor]
toJSONKey :: ToJSONKeyFunction BurninSubtitleBackgroundColor
$ctoJSONKey :: ToJSONKeyFunction BurninSubtitleBackgroundColor
Core.ToJSONKey,
      [Node] -> Either String BurninSubtitleBackgroundColor
([Node] -> Either String BurninSubtitleBackgroundColor)
-> FromXML BurninSubtitleBackgroundColor
forall a. ([Node] -> Either String a) -> FromXML a
parseXML :: [Node] -> Either String BurninSubtitleBackgroundColor
$cparseXML :: [Node] -> Either String BurninSubtitleBackgroundColor
Core.FromXML,
      BurninSubtitleBackgroundColor -> XML
(BurninSubtitleBackgroundColor -> XML)
-> ToXML BurninSubtitleBackgroundColor
forall a. (a -> XML) -> ToXML a
toXML :: BurninSubtitleBackgroundColor -> XML
$ctoXML :: BurninSubtitleBackgroundColor -> XML
Core.ToXML
    )

pattern BurninSubtitleBackgroundColor_AUTO :: BurninSubtitleBackgroundColor
pattern $bBurninSubtitleBackgroundColor_AUTO :: BurninSubtitleBackgroundColor
$mBurninSubtitleBackgroundColor_AUTO :: forall r.
BurninSubtitleBackgroundColor -> (Void# -> r) -> (Void# -> r) -> r
BurninSubtitleBackgroundColor_AUTO = BurninSubtitleBackgroundColor' "AUTO"

pattern BurninSubtitleBackgroundColor_BLACK :: BurninSubtitleBackgroundColor
pattern $bBurninSubtitleBackgroundColor_BLACK :: BurninSubtitleBackgroundColor
$mBurninSubtitleBackgroundColor_BLACK :: forall r.
BurninSubtitleBackgroundColor -> (Void# -> r) -> (Void# -> r) -> r
BurninSubtitleBackgroundColor_BLACK = BurninSubtitleBackgroundColor' "BLACK"

pattern BurninSubtitleBackgroundColor_NONE :: BurninSubtitleBackgroundColor
pattern $bBurninSubtitleBackgroundColor_NONE :: BurninSubtitleBackgroundColor
$mBurninSubtitleBackgroundColor_NONE :: forall r.
BurninSubtitleBackgroundColor -> (Void# -> r) -> (Void# -> r) -> r
BurninSubtitleBackgroundColor_NONE = BurninSubtitleBackgroundColor' "NONE"

pattern BurninSubtitleBackgroundColor_WHITE :: BurninSubtitleBackgroundColor
pattern $bBurninSubtitleBackgroundColor_WHITE :: BurninSubtitleBackgroundColor
$mBurninSubtitleBackgroundColor_WHITE :: forall r.
BurninSubtitleBackgroundColor -> (Void# -> r) -> (Void# -> r) -> r
BurninSubtitleBackgroundColor_WHITE = BurninSubtitleBackgroundColor' "WHITE"

{-# COMPLETE
  BurninSubtitleBackgroundColor_AUTO,
  BurninSubtitleBackgroundColor_BLACK,
  BurninSubtitleBackgroundColor_NONE,
  BurninSubtitleBackgroundColor_WHITE,
  BurninSubtitleBackgroundColor'
  #-}