package SFML; use 5.008009; use strict; use warnings; require Exporter; our @ISA = qw(Exporter); # Items to export into callers namespace by default. Note: do not export # names by default without a very good reason. Use EXPORT_OK instead. # Do not simply export all your public functions/methods/constants. # This allows declaration use SFML ':all'; # If you do not need this, moving things directly into @EXPORT or @EXPORT_OK # will save memory. our %EXPORT_TAGS = ( 'all' => [ qw( ) ]); our @EXPORT_OK = (@{ $EXPORT_TAGS{'all'} }); our @EXPORT = qw( ); our $VERSION = '0.01'; # Alpha! require XSLoader; XSLoader::load('SFML', $VERSION); package SFML::Window::Style; use constant { None => 0, Titlebar => 1 << 0, Resize => 1 << 1, Close => 1 << 2, Fullscreen => 1 << 3, Default => ((1 << 0) | (1 << 1) | (1 << 2)), }; package SFML::Window::Event; use constant { Closed => 0, Resized => 1, LostFocus => 2, GainedFocus => 3, TextEntered => 4, KeyPressed => 5, KeyReleased => 6, MouseWheelMoved => 7, MouseButtonPressed => 8, MouseButtonReleased => 9, MouseMoved => 10, MouseEntered => 11, MouseLeft => 12, JoystickButtonPressed => 13, JoystickButtonReleased => 14, JoystickMoved => 15, JoystickConnected => 16, JoystickDisconnected => 17, Count => 18 }; package SFML::Window::Keyboard; use constant { A => 0, B => 1, C => 2, D => 3, E => 4, F => 5, G => 6, H => 7, I => 8, J => 9, K => 10, L => 11, M => 12, N => 13, O => 14, P => 15, Q => 16, R => 17, S => 18, T => 19, U => 20, V => 21, W => 22, X => 23, Y => 24, Z => 25, Num0 => 26, Num1 => 27, Num2 => 28, Num3 => 29, Num4 => 30, Num5 => 31, Num6 => 32, Num7 => 33, Num8 => 34, Num9 => 35, Escape => 36, LControl => 37, LShift => 38, LAlt => 39, LSystem => 40, RControl => 41, RShift => 42, RAlt => 43, RSystem => 44, Menu => 45, LBracket => 46, RBracket => 47, SemiColon => 48, Comma => 49, Period => 50, Quote => 51, Slash => 52, BackSlash => 53, Tilde => 54, Equal => 55, Dash => 56, Space => 57, Return => 58, Back => 59, Tab => 60, PageUp => 61, PageDown => 62, End => 63, Home => 64, Insert => 65, Delete => 66, Add => 67, Subtract => 68, Multiply => 69, Divide => 70, Left => 71, Right => 72, Up => 73, Down => 74, Numpad0 => 75, Numpad1 => 76, Numpad2 => 77, Numpad3 => 78, Numpad4 => 79, Numpad5 => 80, Numpad6 => 81, Numpad7 => 82, Numpad8 => 83, Numpad9 => 84, F1 => 85, F2 => 86, F3 => 87, F4 => 88, F5 => 89, F6 => 90, F7 => 91, F8 => 92, F9 => 93, F10 => 94, F11 => 95, F12 => 96, F13 => 97, F14 => 98, F15 => 99, Pause => 100, KeyCount => 101 }; package SFML::Window::Mouse::Button; use constant { Left => 0, Right => 1, Middle => 2, XButton1 => 3, XButton2 => 4, ButtonCount => 5 }; package SFML::Window::Joystick::Axis; use constant { X => 0, Y => 1, Z => 2, R => 3, U => 4, V => 5, PovX => 6, PovY => 7 }; package SFML::Window::Joystick; use constant { Count => 8, ButtonCount => 32, AxisCount => 8 }; 1; package SFML::Window::VideoMode; #XXX: Move @{} etc overloads into XS for speed, add lvalue support! use overload '""' => sub { $_[0]->getWidth() . 'x' . $_[0]->getHeight() . ':' . $_[0]->getBitsPerPixel }, '@{}' => sub { [ $_[0]->getWidth(), $_[0]->getHeight(), $_[0]->getBitsPerPixel ] }, '%{}' => sub { { width => $_[0]->getWidth(), height => $_[0]->getHeight(), depth => $_[0]->getBitsPerPixel() } }, '<=>' => sub { }; =head1 COPYRIGHT ############################################ # Copyright 2013 Jake Bott, Georgiy Tugai. # #=>--------------------------------------<=# # All Rights Reserved. Part of perl-sfml # ############################################ =cut