]> git.vpit.fr Git - perl/modules/LaTeX-TikZ.git/blob - lib/LaTeX/TikZ/Set/Raw.pm
Introduce LaTeX::TikZ::Functor
[perl/modules/LaTeX-TikZ.git] / lib / LaTeX / TikZ / Set / Raw.pm
1 package LaTeX::TikZ::Set::Raw;
2
3 use strict;
4 use warnings;
5
6 =head1 NAME
7
8 LaTeX::TikZ::Set::Raw - A literal chunk of TikZ code.
9
10 =head1 VERSION
11
12 Version 0.01
13
14 =cut
15
16 our $VERSION = '0.01';
17
18 use LaTeX::TikZ::Functor;
19
20 use Any::Moose;
21
22 with 'LaTeX::TikZ::Set::Op';
23
24 has 'content' => (
25  is       => 'ro',
26  isa      => 'Str',
27  required => 1,
28 );
29
30 sub path { $_[0]->content }
31
32 use LaTeX::TikZ::Interface raw => sub {
33  shift;
34
35  __PACKAGE__->new(content => join ' ', @_);
36 };
37
38 LaTeX::TikZ::Functor->default_rule(
39  (__PACKAGE__) => sub {
40   my ($functor, $set, @args) = @_;
41   $set->new(content => $set->content);
42  }
43 );
44
45 __PACKAGE__->meta->make_immutable;
46
47 =head1 AUTHOR
48
49 Vincent Pit, C<< <perl at profvince.com> >>, L<http://www.profvince.com>.
50
51 You can contact me by mail or on C<irc.perl.org> (vincent).
52
53 =head1 BUGS
54
55 Please report any bugs or feature requests to C<bug-latex-tikz at rt.cpan.org>, or through the web interface at L<http://rt.cpan.org/NoAuth/ReportBug.html?Queue=LaTeX-TikZ>.
56 I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.
57
58 =head1 SUPPORT
59
60 You can find documentation for this module with the perldoc command.
61
62     perldoc LaTeX::TikZ
63
64 =head1 COPYRIGHT & LICENSE
65
66 Copyright 2010 Vincent Pit, all rights reserved.
67
68 This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
69
70 =cut
71
72 1; # End of LaTeX::TikZ::Set::Raw