332 lines
7.0 KiB
Perl
332 lines
7.0 KiB
Perl
package Term::Caca::Constants;
|
|
|
|
use strict;
|
|
use base 'Exporter';
|
|
use vars qw(@EXPORT_OK %EXPORT_TAGS $VERSION);
|
|
|
|
$VERSION = '0.9';
|
|
|
|
use constant {
|
|
|
|
## enum caca_color
|
|
|
|
CACA_COLOR_BLACK => 0,
|
|
CACA_COLOR_BLUE => 1,
|
|
CACA_COLOR_GREEN => 2,
|
|
CACA_COLOR_CYAN => 3,
|
|
CACA_COLOR_RED => 4,
|
|
CACA_COLOR_MAGENTA => 5,
|
|
CACA_COLOR_BROWN => 6,
|
|
CACA_COLOR_LIGHTGRAY => 7,
|
|
CACA_COLOR_DARKGRAY => 8,
|
|
CACA_COLOR_LIGHTBLUE => 9,
|
|
CACA_COLOR_LIGHTGREEN => 10,
|
|
CACA_COLOR_LIGHTCYAN => 11,
|
|
CACA_COLOR_LIGHTRED => 12,
|
|
CACA_COLOR_LIGHTMAGENTA => 13,
|
|
CACA_COLOR_YELLOW => 14,
|
|
CACA_COLOR_WHITE => 15,
|
|
|
|
## enum caca_feature
|
|
|
|
CACA_BACKGROUND => 0x10,
|
|
CACA_BACKGROUND_BLACK => 0x11,
|
|
CACA_BACKGROUND_SOLID => 0x12,
|
|
|
|
CACA_BACKGROUND_MIN => 0x11,
|
|
CACA_BACKGROUND_MAX => 0x12,
|
|
|
|
CACA_ANTIALIASING => 0x20,
|
|
CACA_ANTIALIASING_NONE => 0x21,
|
|
CACA_ANTIALIASING_PREFILTER => 0x22,
|
|
|
|
CACA_ANTIALIASING_MIN => 0x21,
|
|
CACA_ANTIALIASING_MAX => 0x22,
|
|
|
|
CACA_DITHERING => 0x30,
|
|
CACA_DITHERING_NONE => 0x31,
|
|
CACA_DITHERING_ORDERED2 => 0x32,
|
|
CACA_DITHERING_ORDERED4 => 0x33,
|
|
CACA_DITHERING_ORDERED8 => 0x34,
|
|
CACA_DITHERING_RANDOM => 0x35,
|
|
|
|
CACA_DITHERING_MIN => 0x31,
|
|
CACA_DITHERING_MAX => 0x35,
|
|
|
|
CACA_FEATURE_UNKNOWN => 0xffff,
|
|
|
|
## enum caca_event
|
|
|
|
CACA_EVENT_NONE => 0x00000000,
|
|
CACA_EVENT_KEY_PRESS => 0x01000000,
|
|
CACA_EVENT_KEY_RELEASE => 0x02000000,
|
|
CACA_EVENT_MOUSE_PRESS => 0x04000000,
|
|
CACA_EVENT_MOUSE_RELEASE => 0x08000000,
|
|
CACA_EVENT_MOUSE_MOTION => 0x10000000,
|
|
CACA_EVENT_RESIZE => 0x20000000,
|
|
CACA_EVENT_ANY => 0xff000000,
|
|
|
|
## enum caca_key
|
|
CACA_KEY_UNKNOWN => 0,
|
|
|
|
# /* The following keys have ASCII equivalents */
|
|
CACA_KEY_BACKSPACE => 8,
|
|
CACA_KEY_TAB => 9,
|
|
CACA_KEY_RETURN => 13,
|
|
CACA_KEY_PAUSE => 19,
|
|
CACA_KEY_ESCAPE => 27,
|
|
CACA_KEY_DELETE => 127,
|
|
|
|
# /* The following keys do not have ASCII equivalents but have been
|
|
# * chosen to match the SDL equivalents */
|
|
CACA_KEY_UP => 273,
|
|
CACA_KEY_DOWN => 274,
|
|
CACA_KEY_LEFT => 275,
|
|
CACA_KEY_RIGHT => 276,
|
|
CACA_KEY_INSERT => 277,
|
|
CACA_KEY_HOME => 278,
|
|
CACA_KEY_END => 279,
|
|
CACA_KEY_PAGEUP => 280,
|
|
CACA_KEY_PAGEDOWN => 281,
|
|
CACA_KEY_F1 => 282,
|
|
CACA_KEY_F2 => 283,
|
|
CACA_KEY_F3 => 284,
|
|
CACA_KEY_F4 => 285,
|
|
CACA_KEY_F5 => 286,
|
|
CACA_KEY_F6 => 287,
|
|
CACA_KEY_F7 => 288,
|
|
CACA_KEY_F8 => 289,
|
|
CACA_KEY_F9 => 290,
|
|
CACA_KEY_F10 => 291,
|
|
CACA_KEY_F11 => 292,
|
|
CACA_KEY_F12 => 293,
|
|
CACA_KEY_F13 => 294,
|
|
CACA_KEY_F14 => 295,
|
|
CACA_KEY_F15 => 296,
|
|
|
|
};
|
|
|
|
@EXPORT_OK = qw(
|
|
|
|
CACA_COLOR_BLACK
|
|
CACA_COLOR_BLUE
|
|
CACA_COLOR_GREEN
|
|
CACA_COLOR_CYAN
|
|
CACA_COLOR_RED
|
|
CACA_COLOR_MAGENTA
|
|
CACA_COLOR_BROWN
|
|
CACA_COLOR_LIGHTGRAY
|
|
CACA_COLOR_DARKGRAY
|
|
CACA_COLOR_LIGHTBLUE
|
|
CACA_COLOR_LIGHTGREEN
|
|
CACA_COLOR_LIGHTCYAN
|
|
CACA_COLOR_LIGHTRED
|
|
CACA_COLOR_LIGHTMAGENTA
|
|
CACA_COLOR_YELLOW
|
|
CACA_COLOR_WHITE
|
|
|
|
|
|
CACA_BACKGROUND
|
|
CACA_BACKGROUND_BLACK
|
|
CACA_BACKGROUND_SOLID
|
|
|
|
CACA_BACKGROUND_MIN
|
|
CACA_BACKGROUND_MAX
|
|
|
|
CACA_ANTIALIASING
|
|
CACA_ANTIALIASING_NONE
|
|
CACA_ANTIALIASING_PREFILTER
|
|
|
|
CACA_ANTIALIASING_MIN
|
|
CACA_ANTIALIASING_MAX
|
|
|
|
CACA_DITHERING
|
|
CACA_DITHERING_NONE
|
|
CACA_DITHERING_ORDERED2
|
|
CACA_DITHERING_ORDERED4
|
|
CACA_DITHERING_ORDERED8
|
|
CACA_DITHERING_RANDOM
|
|
|
|
CACA_DITHERING_MIN
|
|
CACA_DITHERING_MAX
|
|
|
|
CACA_FEATURE_UNKNOWN
|
|
|
|
|
|
CACA_EVENT_NONE
|
|
CACA_EVENT_KEY_PRESS
|
|
CACA_EVENT_KEY_RELEASE
|
|
CACA_EVENT_MOUSE_PRESS
|
|
CACA_EVENT_MOUSE_RELEASE
|
|
CACA_EVENT_MOUSE_MOTION
|
|
CACA_EVENT_RESIZE
|
|
CACA_EVENT_ANY
|
|
|
|
CACA_KEY_UNKNOWN
|
|
|
|
CACA_KEY_BACKSPACE
|
|
CACA_KEY_TAB
|
|
CACA_KEY_RETURN
|
|
CACA_KEY_PAUSE
|
|
CACA_KEY_ESCAPE
|
|
CACA_KEY_DELETE
|
|
|
|
CACA_KEY_UP
|
|
CACA_KEY_DOWN
|
|
CACA_KEY_LEFT
|
|
CACA_KEY_RIGHT
|
|
CACA_KEY_INSERT
|
|
CACA_KEY_HOME
|
|
CACA_KEY_END
|
|
CACA_KEY_PAGEUP
|
|
CACA_KEY_PAGEDOWN
|
|
CACA_KEY_F1
|
|
CACA_KEY_F2
|
|
CACA_KEY_F3
|
|
CACA_KEY_F4
|
|
CACA_KEY_F5
|
|
CACA_KEY_F6
|
|
CACA_KEY_F7
|
|
CACA_KEY_F8
|
|
CACA_KEY_F9
|
|
CACA_KEY_F10
|
|
CACA_KEY_F11
|
|
CACA_KEY_F12
|
|
CACA_KEY_F13
|
|
CACA_KEY_F14
|
|
CACA_KEY_F15
|
|
);
|
|
|
|
%EXPORT_TAGS = (
|
|
colors => [ qw(
|
|
CACA_COLOR_BLACK
|
|
CACA_COLOR_BLUE
|
|
CACA_COLOR_GREEN
|
|
CACA_COLOR_CYAN
|
|
CACA_COLOR_RED
|
|
CACA_COLOR_MAGENTA
|
|
CACA_COLOR_BROWN
|
|
CACA_COLOR_LIGHTGRAY
|
|
CACA_COLOR_DARKGRAY
|
|
CACA_COLOR_LIGHTBLUE
|
|
CACA_COLOR_LIGHTGREEN
|
|
CACA_COLOR_LIGHTCYAN
|
|
CACA_COLOR_LIGHTRED
|
|
CACA_COLOR_LIGHTMAGENTA
|
|
CACA_COLOR_YELLOW
|
|
CACA_COLOR_WHITE
|
|
) ],
|
|
|
|
features => [ qw(
|
|
CACA_BACKGROUND
|
|
CACA_BACKGROUND_BLACK
|
|
CACA_BACKGROUND_SOLID
|
|
|
|
CACA_BACKGROUND_MIN
|
|
CACA_BACKGROUND_MAX
|
|
|
|
CACA_ANTIALIASING
|
|
CACA_ANTIALIASING_NONE
|
|
CACA_ANTIALIASING_PREFILTER
|
|
|
|
CACA_ANTIALIASING_MIN
|
|
CACA_ANTIALIASING_MAX
|
|
|
|
CACA_DITHERING
|
|
CACA_DITHERING_NONE
|
|
CACA_DITHERING_ORDERED2
|
|
CACA_DITHERING_ORDERED4
|
|
CACA_DITHERING_ORDERED8
|
|
CACA_DITHERING_RANDOM
|
|
|
|
CACA_DITHERING_MIN
|
|
CACA_DITHERING_MAX
|
|
|
|
CACA_FEATURE_UNKNOWN
|
|
) ],
|
|
|
|
events => [ qw(
|
|
CACA_EVENT_NONE
|
|
CACA_EVENT_KEY_PRESS
|
|
CACA_EVENT_KEY_RELEASE
|
|
CACA_EVENT_MOUSE_PRESS
|
|
CACA_EVENT_MOUSE_RELEASE
|
|
CACA_EVENT_MOUSE_MOTION
|
|
CACA_EVENT_RESIZE
|
|
CACA_EVENT_ANY
|
|
) ],
|
|
|
|
'keys' => [ qw(
|
|
CACA_KEY_UNKNOWN
|
|
|
|
CACA_KEY_BACKSPACE
|
|
CACA_KEY_TAB
|
|
CACA_KEY_RETURN
|
|
CACA_KEY_PAUSE
|
|
CACA_KEY_ESCAPE
|
|
CACA_KEY_DELETE
|
|
|
|
CACA_KEY_UP
|
|
CACA_KEY_DOWN
|
|
CACA_KEY_LEFT
|
|
CACA_KEY_RIGHT
|
|
CACA_KEY_INSERT
|
|
CACA_KEY_HOME
|
|
CACA_KEY_END
|
|
CACA_KEY_PAGEUP
|
|
CACA_KEY_PAGEDOWN
|
|
CACA_KEY_F1
|
|
CACA_KEY_F2
|
|
CACA_KEY_F3
|
|
CACA_KEY_F4
|
|
CACA_KEY_F5
|
|
CACA_KEY_F6
|
|
CACA_KEY_F7
|
|
CACA_KEY_F8
|
|
CACA_KEY_F9
|
|
CACA_KEY_F10
|
|
CACA_KEY_F11
|
|
CACA_KEY_F12
|
|
CACA_KEY_F13
|
|
CACA_KEY_F14
|
|
CACA_KEY_F15
|
|
) ],
|
|
|
|
all => [ ],
|
|
);
|
|
|
|
# add all the other ":class" tags to the ":all" class,
|
|
# deleting duplicates
|
|
{
|
|
my %seen;
|
|
|
|
push @{$EXPORT_TAGS{all}},
|
|
grep {!$seen{$_}++} @{$EXPORT_TAGS{$_}} foreach keys %EXPORT_TAGS;
|
|
}
|
|
|
|
|
|
1;
|
|
|
|
__END__
|
|
|
|
=head1 NAME
|
|
|
|
Term::Caca::Constants - libcaca constants from caca.h
|
|
|
|
=head1 SYNOPSIS
|
|
|
|
Import all constants into current package/namespace:
|
|
|
|
use Term::Caca::Constants ':all';
|
|
|
|
Only import the constants pertaining to events and keys:
|
|
|
|
use Term::Caca qw(:events :keys);
|
|
|
|
=head1 DESCRIPTION
|
|
|
|
|
|
|
|
=cut
|
|
|