Moved all bindings to the "bindings" sub-directory
Renamed the CSFML directory to c Renamed the DSFML directory to d --> bindings must now be updated to match the new organization! git-svn-id: https://sfml.svn.sourceforge.net/svnroot/sfml/branches/sfml2@1630 4e206d99-4929-0410-ac5d-dfc041789085
This commit is contained in:
parent
0cc5563cac
commit
0e2297af28
417 changed files with 0 additions and 0 deletions
326
bindings/d/import/dsfml/window/event.d
Normal file
326
bindings/d/import/dsfml/window/event.d
Normal file
|
@ -0,0 +1,326 @@
|
|||
/*
|
||||
* DSFML - SFML Library wrapper for the D programming language.
|
||||
* Copyright (C) 2008 Julien Dagorn (sirjulio13@gmail.com)
|
||||
* Copyright (C) 2010 Andreas Hollandt
|
||||
*
|
||||
* This software is provided 'as-is', without any express or
|
||||
* implied warranty. In no event will the authors be held
|
||||
* liable for any damages arising from the use of this software.
|
||||
*
|
||||
* Permission is granted to anyone to use this software for any purpose,
|
||||
* including commercial applications, and to alter it and redistribute
|
||||
* it freely, subject to the following restrictions:
|
||||
*
|
||||
* 1. The origin of this software must not be misrepresented;
|
||||
* you must not claim that you wrote the original software.
|
||||
* If you use this software in a product, an acknowledgment
|
||||
* in the product documentation would be appreciated but
|
||||
* is not required.
|
||||
*
|
||||
* 2. Altered source versions must be plainly marked as such,
|
||||
* and must not be misrepresented as being the original software.
|
||||
*
|
||||
* 3. This notice may not be removed or altered from any
|
||||
* source distribution.
|
||||
*/
|
||||
|
||||
module dsfml.window.event;
|
||||
|
||||
/**
|
||||
* Definition of key codes for keyboard events
|
||||
*
|
||||
* $(B Possibles values:)$(BR)
|
||||
* Except letters and numbers, you can use :$(BR)
|
||||
* * LCONTROL, LSHIFT, LALT, LSYSTEM, RCONTROL, RSHIFT, RALT, RSYSTEM.$(BR)
|
||||
* * LBRACKET, RBRACKET, SEMICOLON, COMMA, PERIOD, QUOTE, SLASH, BACKSLASH, TILDE, EQUAL, DASH.$(BR)
|
||||
* * SPACE, RETURN, BACK, TAB, PAGEUP, PAGEDOWN, END, HOME, INSERT, DELETE.$(BR)
|
||||
* * ADD, SUBTRACT, MULTIPLY, DIVIDE, LEFT, RIGHT, UP, DOWN.$(BR)
|
||||
* * Numpad0, Numpad1, Numpad2, Numpad3, Numpad4, Numpad5, Numpad6, Numpad7, Numpad8, Numpad9.$(BR)
|
||||
* * F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, F13, F14, F15.$(BR)
|
||||
*/
|
||||
enum KeyCode
|
||||
{
|
||||
A = 'a',
|
||||
B = 'b',
|
||||
C = 'c',
|
||||
D = 'd',
|
||||
E = 'e',
|
||||
F = 'f',
|
||||
G = 'g',
|
||||
H = 'h',
|
||||
I = 'i',
|
||||
J = 'j',
|
||||
K = 'k',
|
||||
L = 'l',
|
||||
M = 'm',
|
||||
N = 'n',
|
||||
O = 'o',
|
||||
P = 'p',
|
||||
Q = 'q',
|
||||
R = 'r',
|
||||
S = 's',
|
||||
T = 't',
|
||||
U = 'u',
|
||||
V = 'v',
|
||||
W = 'w',
|
||||
X = 'x',
|
||||
Y = 'y',
|
||||
Z = 'z',
|
||||
Num0 = '0',
|
||||
Num1 = '1',
|
||||
Num2 = '2',
|
||||
Num3 = '3',
|
||||
Num4 = '4',
|
||||
Num5 = '5',
|
||||
Num6 = '6',
|
||||
Num7 = '7',
|
||||
Num8 = '8',
|
||||
Num9 = '9',
|
||||
Escape = 256,
|
||||
LControl,
|
||||
LShift,
|
||||
LAlt,
|
||||
LSystem,
|
||||
RControl,
|
||||
RShist,
|
||||
RAlt,
|
||||
RSystem,
|
||||
Menu,
|
||||
LBracket,
|
||||
RBracket,
|
||||
Semicolon,
|
||||
Comma,
|
||||
Period,
|
||||
Quote,
|
||||
Slash,
|
||||
Backslash,
|
||||
Tilde,
|
||||
Equal,
|
||||
Dash,
|
||||
Space,
|
||||
Return,
|
||||
Back,
|
||||
Tab,
|
||||
PageUp,
|
||||
PageDown,
|
||||
End,
|
||||
Home,
|
||||
Insert,
|
||||
Delete,
|
||||
Add,
|
||||
Subtract,
|
||||
Multiply,
|
||||
Divide,
|
||||
Left,
|
||||
Right,
|
||||
Up,
|
||||
Down,
|
||||
Numpad0,
|
||||
Numpad1,
|
||||
Numpad2,
|
||||
Numpad3,
|
||||
Numpad4,
|
||||
Numpad5,
|
||||
Numpad6,
|
||||
Numpad7,
|
||||
Numpad8,
|
||||
Numpad9,
|
||||
F1,
|
||||
F2,
|
||||
F3,
|
||||
F4,
|
||||
F5,
|
||||
F6,
|
||||
F7,
|
||||
F8,
|
||||
F9,
|
||||
F10,
|
||||
F11,
|
||||
F12,
|
||||
F13,
|
||||
F14,
|
||||
F15,
|
||||
Pause,
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Definition of button codes for mouse events
|
||||
*/
|
||||
enum MouseButtons
|
||||
{
|
||||
Left, ///
|
||||
Right, ///
|
||||
Middle, ///
|
||||
XButton1, ///
|
||||
XButton2 ///
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* Definition of joystick axis for joystick events
|
||||
*/
|
||||
enum JoyAxis
|
||||
{
|
||||
AxisX, ///
|
||||
AxisY, ///
|
||||
AxisZ, ///
|
||||
AxisR, ///
|
||||
AxisU, ///
|
||||
AxisV, ///
|
||||
AxisPOV ///
|
||||
}
|
||||
|
||||
|
||||
/// EventType
|
||||
enum EventType
|
||||
{
|
||||
Closed,
|
||||
Resized,
|
||||
LostFocus,
|
||||
GainedFocus,
|
||||
TextEntered,
|
||||
KeyPressed,
|
||||
KeyReleased,
|
||||
MouseWheelMoved,
|
||||
MouseButtonPressed,
|
||||
MouseButtonReleased,
|
||||
MouseMoved,
|
||||
MouseEntered,
|
||||
MouseLeft,
|
||||
JoyButtonPressed,
|
||||
JoyButtonReleased,
|
||||
JoyMoved
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Event defines a system event and its parameters
|
||||
*/
|
||||
align(1) struct Event
|
||||
{
|
||||
/**
|
||||
* Enumeration of the different types of events. Accessing a value of another event that the one received (e.g. Event.Size.Width when receiving an KEYPRESSED event) will result in undefined behavior.
|
||||
* $(UL
|
||||
* $(LI CLOSED)
|
||||
* $(LI LOSTFOCUS)
|
||||
* $(LI GAINEDFOCUS)
|
||||
* $(LI RESIZED
|
||||
* $(UL
|
||||
* $(LI Event.Size.Width : new Width, in pixels.)
|
||||
* $(LI Event.Size.Height : new height, in pixels.)
|
||||
* )
|
||||
* )
|
||||
* $(LI TEXTENTERED
|
||||
* $(UL
|
||||
* $(LI Event.Text.Unicode : dchar entered.)
|
||||
* )
|
||||
* )
|
||||
* $(LI KEYPRESSED, KEYRELEASED
|
||||
* $(UL
|
||||
* $(LI Event.Key.Code : Key code of the key.)
|
||||
* $(LI Event.Key.Alt : Alt pressed ?)
|
||||
* $(LI Event.Key.Control : Control pressed ?)
|
||||
* $(LI Event.Key.Shift : Shift pressed ?)
|
||||
* )
|
||||
* )
|
||||
* $(LI MOUSEWHEELMOVED
|
||||
* $(UL
|
||||
* $(LI Event.MouseWheel.Delta : Wheel move (positive if forward, negative else.) )
|
||||
* )
|
||||
* )
|
||||
* $(LI MOUSEBUTTONPRESSED, MOUSEBUTTONRELEASED
|
||||
* $(UL
|
||||
* $(LI Event.MouseButton.Button : Mouse button pressed.)
|
||||
* $(LI Event.MouseButton.X : Cursor X position.)
|
||||
* $(LI Event.MouseButton.Y : Cursor X position.)
|
||||
* )
|
||||
* )
|
||||
* $(LI MOUSEMOVED
|
||||
* $(UL
|
||||
* $(LI Event.MouseMove.X : Cursor X position. Local coordinates.)
|
||||
* $(LI Event.MouseMove.Y : Cursor Y position. Local coordinates.)
|
||||
* )
|
||||
* )
|
||||
* $(LI MOUSEENTERED)
|
||||
* $(LI MOUSELEFT)
|
||||
* $(LI JOYBUTTONPRESSED, JOYBUTTONRELEASED
|
||||
* $(UL
|
||||
* $(LI Event.JoyButton.JoystickId : Id of the joystick.)
|
||||
* $(LI Event.JoyButton.Button : Joystick button pressed.)
|
||||
* )
|
||||
* )
|
||||
* $(LI JOYMOVED
|
||||
* $(UL
|
||||
* $(LI Event.JoyMove.JoystickId : Id of the joystick.)
|
||||
* $(LI Event.JoyMove.Axis : Moved axis.)
|
||||
* $(LI Event.JoyMove.Position : Actual position of the axis [-100, 100], except for POV [0, 360].)
|
||||
* )
|
||||
* )
|
||||
* )
|
||||
*/
|
||||
EventType Type;
|
||||
|
||||
union
|
||||
{
|
||||
struct SText
|
||||
{
|
||||
dchar Unicode;
|
||||
}
|
||||
SText Text;
|
||||
|
||||
struct SKey
|
||||
{
|
||||
align(4): // cause bool is size 1
|
||||
KeyCode Code;
|
||||
bool Alt;
|
||||
bool Control;
|
||||
bool Shift;
|
||||
}
|
||||
SKey Key;
|
||||
|
||||
struct SMouseMove
|
||||
{
|
||||
int X;
|
||||
int Y;
|
||||
}
|
||||
SMouseMove MouseMove;
|
||||
|
||||
struct SMouseButton
|
||||
{
|
||||
MouseButtons Button;
|
||||
int X;
|
||||
int Y;
|
||||
}
|
||||
SMouseButton MouseButton;
|
||||
|
||||
struct SMouseWheel
|
||||
{
|
||||
int Delta;
|
||||
}
|
||||
SMouseWheel MouseWheel;
|
||||
|
||||
struct SJoyMove
|
||||
{
|
||||
uint JoystickId;
|
||||
JoyAxis Axis;
|
||||
float Position;
|
||||
}
|
||||
SJoyMove JoyMove;
|
||||
|
||||
struct SJoyButton
|
||||
{
|
||||
uint JoystickId;
|
||||
uint Button;
|
||||
}
|
||||
SJoyButton JoyButton;
|
||||
|
||||
struct SSize
|
||||
{
|
||||
uint Width;
|
||||
uint Height;
|
||||
}
|
||||
SSize Size;
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue