blob: c3c3646fd0cd4e5eec2ada31ea69a8de23cdfd67 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
|
defmodule Chessh.SSH.Client.Menu do
alias Chessh.SSH.Client.State
alias Chessh.Utils
alias IO.ANSI
@logo " Simponic's
dP MP\"\"\"\"\"\"`MM MP\"\"\"\"\"\"`MM M\"\"MMMMM\"\"MM
88 M mmmmm..M M mmmmm..M M MMMMM MM
.d8888b. 88d888b. .d8888b. M. `YM M. `YM M `M
88' `\"\" 88' `88 88ooood8 MMMMMMM. M MMMMMMM. M M MMMMM MM
88. ... 88 88 88. ... M. .MMM' M M. .MMM' M M MMMMM MM
`88888P' dP dP `88888P' Mb. .dM Mb. .dM M MMMMM MM
MMMMMMMMMMM MMMMMMMMMMM MMMMMMMMMMMM"
def render(
%State{width: width, height: height, state_stack: [_current_state | _tail]} = _state,
_args
) do
{logo_width, logo_height} = Utils.text_dim(@logo)
split = String.split(@logo, "\n")
Enum.flat_map(
Enum.zip(0..(length(split) - 1), split),
fn {i, x} ->
[
ANSI.cursor(div(height - logo_height, 2) + i, div(width - logo_width, 2)),
"#{x}\n"
]
end
)
end
end
|