Edit

kc3-lang/angle/util/Event.h

Branch :

  • Show log

    Commit

  • Author : Corentin Wallez
    Date : 2015-05-04 12:52:32
    Hash : 9946a61e
    Message : Fix text trailing after preprocessor macro warning in util/Event.h Change-Id: Ie977e6fce0e5e0efeb16f0387bf653bbd2d1cd93 Reviewed-on: https://chromium-review.googlesource.com/269127 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Corentin Wallez <cwallez@chromium.org>

  • util/Event.h
  • //
    // 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
            EVENT_TEST,                  // Event for testing purposes
        };
    
        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