package GridFiller::Types;
use strict;
use warnings;
use namespace::autoclean;
use MooseX::Types -declare =>
[qw(
GridT GridStatusT
CharT LetterCellT TextResultT
WordListT
FontDescrT FontOptT
)];
use MooseX::Types::Moose qw(Str ArrayRef Int);
use MooseX::Types::Structured qw(Tuple);
subtype CharT,
as Str,
where { length($_) == 1 };
subtype LetterCellT,
as Tuple[Int,CharT];
subtype GridT, as ArrayRef[ArrayRef[Str]];
subtype GridStatusT, as ArrayRef[ArrayRef[Int]];
subtype WordListT, as ArrayRef[Str];
subtype TextResultT, as ArrayRef[ArrayRef[LetterCellT]];
class_type FontDescrT, { class => 'Pango::FontDescription' };
coerce FontDescrT,
from Str,
via {
require Pango;
Pango::FontDescription->from_string($_);
};
class_type FontOptT, { class => 'Cairo::FontOptions' };
1;