summaryrefslogtreecommitdiffstats
path: root/chromium/third_party/angle/samples/angle/sample_util/Event.h
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/third_party/angle/samples/angle/sample_util/Event.h')
-rw-r--r--chromium/third_party/angle/samples/angle/sample_util/Event.h86
1 files changed, 86 insertions, 0 deletions
diff --git a/chromium/third_party/angle/samples/angle/sample_util/Event.h b/chromium/third_party/angle/samples/angle/sample_util/Event.h
new file mode 100644
index 00000000000..1414864149d
--- /dev/null
+++ b/chromium/third_party/angle/samples/angle/sample_util/Event.h
@@ -0,0 +1,86 @@
+//
+// Copyright (c) 2014 The ANGLE Project Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+//
+
+#ifndef SAMPLE_UTIL_EVENT_H
+#define SAMPLE_UTIL_EVENT_H
+
+#include "keyboard.h"
+#include "mouse.h"
+
+class Event
+{
+ public:
+ struct MoveEvent
+ {
+ int X;
+ int Y;
+ };
+
+ struct SizeEvent
+ {
+ int Width;
+ int Height;
+ };
+
+ struct KeyEvent
+ {
+ Key Code;
+ bool Alt;
+ bool Control;
+ bool Shift;
+ bool System;
+ };
+
+ struct MouseMoveEvent
+ {
+ int X;
+ int Y;
+ };
+
+ struct MouseButtonEvent
+ {
+ MouseButton Button;
+ int X;
+ int Y;
+ };
+
+ struct MouseWheelEvent
+ {
+ int Delta;
+ };
+
+ enum EventType
+ {
+ EVENT_CLOSED, // The window requested to be closed
+ EVENT_MOVED, // The window has moved
+ EVENT_RESIZED, // The window was resized
+ EVENT_LOST_FOCUS, // The window lost the focus
+ EVENT_GAINED_FOCUS, // The window gained the focus
+ EVENT_TEXT_ENTERED, // A character was entered
+ EVENT_KEY_PRESSED, // A key was pressed
+ EVENT_KEY_RELEASED, // A key was released
+ EVENT_MOUSE_WHEEL_MOVED, // The mouse wheel was scrolled
+ EVENT_MOUSE_BUTTON_PRESSED, // A mouse button was pressed
+ EVENT_MOUSE_BUTTON_RELEASED, // A mouse button was released
+ EVENT_MOUSE_MOVED, // The mouse cursor moved
+ EVENT_MOUSE_ENTERED, // The mouse cursor entered the area of the window
+ EVENT_MOUSE_LEFT, // The mouse cursor left the area of the window
+ };
+
+ EventType Type;
+
+ union
+ {
+ MoveEvent Move; // Move event parameters
+ SizeEvent Size; // Size event parameters
+ KeyEvent Key; // Key event parameters
+ MouseMoveEvent MouseMove; // Mouse move event parameters
+ MouseButtonEvent MouseButton; // Mouse button event parameters
+ MouseWheelEvent MouseWheel; // Mouse wheel event parameters
+ };
+};
+
+#endif SAMPLE_UTIL_EVENT_H