{-# 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.DvbSubtitleAlignment
-- 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.DvbSubtitleAlignment
  ( DvbSubtitleAlignment
      ( ..,
        DvbSubtitleAlignment_AUTO,
        DvbSubtitleAlignment_CENTERED,
        DvbSubtitleAlignment_LEFT
      ),
  )
where

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

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

pattern DvbSubtitleAlignment_AUTO :: DvbSubtitleAlignment
pattern $bDvbSubtitleAlignment_AUTO :: DvbSubtitleAlignment
$mDvbSubtitleAlignment_AUTO :: forall r. DvbSubtitleAlignment -> (Void# -> r) -> (Void# -> r) -> r
DvbSubtitleAlignment_AUTO = DvbSubtitleAlignment' "AUTO"

pattern DvbSubtitleAlignment_CENTERED :: DvbSubtitleAlignment
pattern $bDvbSubtitleAlignment_CENTERED :: DvbSubtitleAlignment
$mDvbSubtitleAlignment_CENTERED :: forall r. DvbSubtitleAlignment -> (Void# -> r) -> (Void# -> r) -> r
DvbSubtitleAlignment_CENTERED = DvbSubtitleAlignment' "CENTERED"

pattern DvbSubtitleAlignment_LEFT :: DvbSubtitleAlignment
pattern $bDvbSubtitleAlignment_LEFT :: DvbSubtitleAlignment
$mDvbSubtitleAlignment_LEFT :: forall r. DvbSubtitleAlignment -> (Void# -> r) -> (Void# -> r) -> r
DvbSubtitleAlignment_LEFT = DvbSubtitleAlignment' "LEFT"

{-# COMPLETE
  DvbSubtitleAlignment_AUTO,
  DvbSubtitleAlignment_CENTERED,
  DvbSubtitleAlignment_LEFT,
  DvbSubtitleAlignment'
  #-}