#
# Created by Boyd Multerer on 2017-05-12.
# Copyright © 2017-2021 Kry10 Limited. All rights reserved.
#
defmodule Scenic.Primitive.Style.TextAlign do
@moduledoc """
Set the horizontal alignment of the text with regard to the start point.
Example:
```elixir
graph
|> text("Some Text", text_align: :center)
```
### Data Format
TextAlign can be any one of the following values
* `:left` - Left side alignment.
* `:right` - Right side alignment.
* `:center` - Centered alignment.
"""
use Scenic.Primitive.Style
# ============================================================================
# data verification and serialization
@doc false
def validate(:left), do: {:ok, :left}
def validate(:center), do: {:ok, :center}
def validate(:right), do: {:ok, :right}
def validate(data) do
{
:error,
"""
#{IO.ANSI.red()}Invalid TextAlign specification
Received: #{inspect(data)}
#{IO.ANSI.yellow()}
The :text_align style must be one of :left, :center, or :right#{IO.ANSI.default_color()}
"""
}
end
end