source: libcaca/trunk/perl/lib/Term/Caca/Constants.pm @ 4333

Last change on this file since 4333 was 4333, checked in by Sam Hocevar, 10 years ago

Large source code cleanup, getting rid of spaces, tabs, and svn keywords.

  • Property svn:keywords set to Id
File size: 7.0 KB
Line 
1package Term::Caca::Constants;
2
3use strict;
4use base 'Exporter';
5use vars qw(@EXPORT_OK %EXPORT_TAGS $VERSION);
6
7$VERSION = '0.9';
8
9use constant {
10
11  ## enum caca_color
12
13  CACA_COLOR_BLACK              => 0,
14  CACA_COLOR_BLUE               => 1,
15  CACA_COLOR_GREEN              => 2,
16  CACA_COLOR_CYAN               => 3,
17  CACA_COLOR_RED                => 4,
18  CACA_COLOR_MAGENTA            => 5,
19  CACA_COLOR_BROWN              => 6,
20  CACA_COLOR_LIGHTGRAY          => 7,
21  CACA_COLOR_DARKGRAY           => 8,
22  CACA_COLOR_LIGHTBLUE          => 9,
23  CACA_COLOR_LIGHTGREEN         => 10,
24  CACA_COLOR_LIGHTCYAN          => 11,
25  CACA_COLOR_LIGHTRED           => 12,
26  CACA_COLOR_LIGHTMAGENTA       => 13,
27  CACA_COLOR_YELLOW             => 14,
28  CACA_COLOR_WHITE              => 15,
29
30  ## enum caca_feature
31
32  CACA_BACKGROUND               => 0x10,
33  CACA_BACKGROUND_BLACK         => 0x11,
34  CACA_BACKGROUND_SOLID         => 0x12,
35
36  CACA_BACKGROUND_MIN           => 0x11,
37  CACA_BACKGROUND_MAX           => 0x12,
38
39  CACA_ANTIALIASING             => 0x20,
40  CACA_ANTIALIASING_NONE        => 0x21,
41  CACA_ANTIALIASING_PREFILTER   => 0x22,
42
43  CACA_ANTIALIASING_MIN         => 0x21,
44  CACA_ANTIALIASING_MAX         => 0x22,
45
46  CACA_DITHERING                => 0x30,
47  CACA_DITHERING_NONE           => 0x31,
48  CACA_DITHERING_ORDERED2       => 0x32,
49  CACA_DITHERING_ORDERED4       => 0x33,
50  CACA_DITHERING_ORDERED8       => 0x34,
51  CACA_DITHERING_RANDOM         => 0x35,
52
53  CACA_DITHERING_MIN            => 0x31,
54  CACA_DITHERING_MAX            => 0x35,
55
56  CACA_FEATURE_UNKNOWN          => 0xffff,
57
58  ## enum caca_event
59
60  CACA_EVENT_NONE               => 0x00000000,
61  CACA_EVENT_KEY_PRESS          => 0x01000000,
62  CACA_EVENT_KEY_RELEASE        => 0x02000000,
63  CACA_EVENT_MOUSE_PRESS        => 0x04000000,
64  CACA_EVENT_MOUSE_RELEASE      => 0x08000000,
65  CACA_EVENT_MOUSE_MOTION       => 0x10000000,
66  CACA_EVENT_RESIZE             => 0x20000000,
67  CACA_EVENT_ANY                => 0xff000000,
68
69  ## enum caca_key
70  CACA_KEY_UNKNOWN              => 0,
71
72  # /* The following keys have ASCII equivalents */
73  CACA_KEY_BACKSPACE            => 8,
74  CACA_KEY_TAB                  => 9,
75  CACA_KEY_RETURN               => 13,
76  CACA_KEY_PAUSE                => 19,
77  CACA_KEY_ESCAPE               => 27,
78  CACA_KEY_DELETE               => 127,
79
80  # /* The following keys do not have ASCII equivalents but have been
81  #  * chosen to match the SDL equivalents */
82  CACA_KEY_UP                   => 273,
83  CACA_KEY_DOWN                 => 274,
84  CACA_KEY_LEFT                 => 275,
85  CACA_KEY_RIGHT                => 276,
86  CACA_KEY_INSERT               => 277,
87  CACA_KEY_HOME                 => 278,
88  CACA_KEY_END                  => 279,
89  CACA_KEY_PAGEUP               => 280,
90  CACA_KEY_PAGEDOWN             => 281,
91  CACA_KEY_F1                   => 282,
92  CACA_KEY_F2                   => 283,
93  CACA_KEY_F3                   => 284,
94  CACA_KEY_F4                   => 285,
95  CACA_KEY_F5                   => 286,
96  CACA_KEY_F6                   => 287,
97  CACA_KEY_F7                   => 288,
98  CACA_KEY_F8                   => 289,
99  CACA_KEY_F9                   => 290,
100  CACA_KEY_F10                  => 291,
101  CACA_KEY_F11                  => 292,
102  CACA_KEY_F12                  => 293,
103  CACA_KEY_F13                  => 294,
104  CACA_KEY_F14                  => 295,
105  CACA_KEY_F15                  => 296,
106
107};
108
109@EXPORT_OK = qw(
110
111  CACA_COLOR_BLACK
112  CACA_COLOR_BLUE
113  CACA_COLOR_GREEN
114  CACA_COLOR_CYAN
115  CACA_COLOR_RED
116  CACA_COLOR_MAGENTA
117  CACA_COLOR_BROWN
118  CACA_COLOR_LIGHTGRAY
119  CACA_COLOR_DARKGRAY
120  CACA_COLOR_LIGHTBLUE
121  CACA_COLOR_LIGHTGREEN
122  CACA_COLOR_LIGHTCYAN
123  CACA_COLOR_LIGHTRED
124  CACA_COLOR_LIGHTMAGENTA
125  CACA_COLOR_YELLOW
126  CACA_COLOR_WHITE
127
128
129  CACA_BACKGROUND
130  CACA_BACKGROUND_BLACK
131  CACA_BACKGROUND_SOLID
132
133  CACA_BACKGROUND_MIN
134  CACA_BACKGROUND_MAX
135
136  CACA_ANTIALIASING
137  CACA_ANTIALIASING_NONE
138  CACA_ANTIALIASING_PREFILTER
139
140  CACA_ANTIALIASING_MIN
141  CACA_ANTIALIASING_MAX
142
143  CACA_DITHERING
144  CACA_DITHERING_NONE
145  CACA_DITHERING_ORDERED2
146  CACA_DITHERING_ORDERED4
147  CACA_DITHERING_ORDERED8
148  CACA_DITHERING_RANDOM
149
150  CACA_DITHERING_MIN
151  CACA_DITHERING_MAX
152
153  CACA_FEATURE_UNKNOWN
154
155
156  CACA_EVENT_NONE
157  CACA_EVENT_KEY_PRESS
158  CACA_EVENT_KEY_RELEASE
159  CACA_EVENT_MOUSE_PRESS
160  CACA_EVENT_MOUSE_RELEASE
161  CACA_EVENT_MOUSE_MOTION
162  CACA_EVENT_RESIZE
163  CACA_EVENT_ANY
164
165  CACA_KEY_UNKNOWN
166
167  CACA_KEY_BACKSPACE
168  CACA_KEY_TAB
169  CACA_KEY_RETURN
170  CACA_KEY_PAUSE
171  CACA_KEY_ESCAPE
172  CACA_KEY_DELETE
173
174  CACA_KEY_UP
175  CACA_KEY_DOWN
176  CACA_KEY_LEFT
177  CACA_KEY_RIGHT
178  CACA_KEY_INSERT
179  CACA_KEY_HOME
180  CACA_KEY_END
181  CACA_KEY_PAGEUP
182  CACA_KEY_PAGEDOWN
183  CACA_KEY_F1
184  CACA_KEY_F2
185  CACA_KEY_F3
186  CACA_KEY_F4
187  CACA_KEY_F5
188  CACA_KEY_F6
189  CACA_KEY_F7
190  CACA_KEY_F8
191  CACA_KEY_F9
192  CACA_KEY_F10
193  CACA_KEY_F11
194  CACA_KEY_F12
195  CACA_KEY_F13
196  CACA_KEY_F14
197  CACA_KEY_F15
198);
199
200%EXPORT_TAGS = (
201  colors => [ qw(
202    CACA_COLOR_BLACK
203    CACA_COLOR_BLUE
204    CACA_COLOR_GREEN
205    CACA_COLOR_CYAN
206    CACA_COLOR_RED
207    CACA_COLOR_MAGENTA
208    CACA_COLOR_BROWN
209    CACA_COLOR_LIGHTGRAY
210    CACA_COLOR_DARKGRAY
211    CACA_COLOR_LIGHTBLUE
212    CACA_COLOR_LIGHTGREEN
213    CACA_COLOR_LIGHTCYAN
214    CACA_COLOR_LIGHTRED
215    CACA_COLOR_LIGHTMAGENTA
216    CACA_COLOR_YELLOW
217    CACA_COLOR_WHITE
218  ) ],
219
220  features => [ qw(
221    CACA_BACKGROUND
222    CACA_BACKGROUND_BLACK
223    CACA_BACKGROUND_SOLID
224
225    CACA_BACKGROUND_MIN
226    CACA_BACKGROUND_MAX
227
228    CACA_ANTIALIASING
229    CACA_ANTIALIASING_NONE
230    CACA_ANTIALIASING_PREFILTER
231
232    CACA_ANTIALIASING_MIN
233    CACA_ANTIALIASING_MAX
234
235    CACA_DITHERING
236    CACA_DITHERING_NONE
237    CACA_DITHERING_ORDERED2
238    CACA_DITHERING_ORDERED4
239    CACA_DITHERING_ORDERED8
240    CACA_DITHERING_RANDOM
241
242    CACA_DITHERING_MIN
243    CACA_DITHERING_MAX
244
245    CACA_FEATURE_UNKNOWN
246  ) ],
247
248  events => [ qw(
249    CACA_EVENT_NONE
250    CACA_EVENT_KEY_PRESS
251    CACA_EVENT_KEY_RELEASE
252    CACA_EVENT_MOUSE_PRESS
253    CACA_EVENT_MOUSE_RELEASE
254    CACA_EVENT_MOUSE_MOTION
255    CACA_EVENT_RESIZE
256    CACA_EVENT_ANY
257  ) ],
258
259  'keys' => [ qw(
260    CACA_KEY_UNKNOWN
261
262    CACA_KEY_BACKSPACE
263    CACA_KEY_TAB
264    CACA_KEY_RETURN
265    CACA_KEY_PAUSE
266    CACA_KEY_ESCAPE
267    CACA_KEY_DELETE
268
269    CACA_KEY_UP
270    CACA_KEY_DOWN
271    CACA_KEY_LEFT
272    CACA_KEY_RIGHT
273    CACA_KEY_INSERT
274    CACA_KEY_HOME
275    CACA_KEY_END
276    CACA_KEY_PAGEUP
277    CACA_KEY_PAGEDOWN
278    CACA_KEY_F1
279    CACA_KEY_F2
280    CACA_KEY_F3
281    CACA_KEY_F4
282    CACA_KEY_F5
283    CACA_KEY_F6
284    CACA_KEY_F7
285    CACA_KEY_F8
286    CACA_KEY_F9
287    CACA_KEY_F10
288    CACA_KEY_F11
289    CACA_KEY_F12
290    CACA_KEY_F13
291    CACA_KEY_F14
292    CACA_KEY_F15
293  ) ],
294
295  all => [ ],
296);
297
298# add all the other ":class" tags to the ":all" class,
299# deleting duplicates
300{
301  my %seen;
302
303  push @{$EXPORT_TAGS{all}},
304    grep {!$seen{$_}++} @{$EXPORT_TAGS{$_}} foreach keys %EXPORT_TAGS;
305}
306
307
3081;
309
310__END__
311
312=head1 NAME
313
314Term::Caca::Constants - libcaca constants from caca.h
315
316=head1 SYNOPSIS
317
318Import all constants into current package/namespace:
319
320  use Term::Caca::Constants ':all';
321
322Only import the constants pertaining to events and keys:
323
324  use Term::Caca qw(:events :keys);
325
326=head1 DESCRIPTION
327
328
329
330=cut
331
Note: See TracBrowser for help on using the repository browser.