/*
* Copyright 2011-2013 Branimir Karadzic. All rights reserved.
* License: http://www.opensource.org/licenses/BSD-2-Clause
*/
#ifndef __ENTRY_H__
#define __ENTRY_H__
#include "dbg.h"
#include <bx/bx.h>
#include <bx/debug.h>
namespace entry
{
struct MouseButton
enum Enum
None,
Left,
Middle,
Right,
Count
};
struct Modifier
None = 0,
LeftAlt = 0x01,
RightAlt = 0x02,
LeftCtrl = 0x04,
RightCtrl = 0x08,
LeftShift = 0x10,
RightShift = 0x20,
LeftMeta = 0x40,
RightMeta = 0x80,
struct Key
Esc,
Return,
Tab,
Space,
Backspace,
Up,
Down,
PageUp,
PageDown,
Home,
End,
Print,
Plus,
Minus,
F1,
F2,
F3,
F4,
F5,
F6,
F7,
F8,
F9,
F10,
F11,
F12,
NumPad0,
NumPad1,
NumPad2,
NumPad3,
NumPad4,
NumPad5,
NumPad6,
NumPad7,
NumPad8,
NumPad9,
Key0,
Key1,
Key2,
Key3,
Key4,
Key5,
Key6,
Key7,
Key8,
Key9,
KeyA,
KeyB,
KeyC,
KeyD,
KeyE,
KeyF,
KeyG,
KeyH,
KeyI,
KeyJ,
KeyK,
KeyL,
KeyM,
KeyN,
KeyO,
KeyP,
KeyQ,
KeyR,
KeyS,
KeyT,
KeyU,
KeyV,
KeyW,
KeyX,
KeyY,
KeyZ,
struct MouseState
MouseState()
: m_mx(0)
, m_my(0)
for (uint32_t ii = 0; ii < entry::MouseButton::Count; ++ii)
m_buttons[ii] = entry::MouseButton::None;
}
uint32_t m_mx;
uint32_t m_my;
uint8_t m_buttons[entry::MouseButton::Count];
bool processEvents(uint32_t& _width, uint32_t& _height, uint32_t& _debug, uint32_t& _reset, MouseState* _mouse = NULL);
} // namespace entry
#endif // __ENTRY_H__