Raven Engine v0.1
Loading...
Searching...
No Matches
Event.h File Reference

Defines the base Event interface, event types, and helper macros for Raven's event system. More...

#include "Raven/Events/EventCategory.h"
#include <string>
#include <ostream>

Classes

class  Raven::Event
 Abstract base class for all events in Raven. More...

Namespaces

namespace  Raven

Macros

#define EVENT_CLASS_TYPE(type)
 Macro to implement type functions for custom Event subclasses.
#define EVENT_CLASS_CATEGORY(category)
 Macro to implement category function for custom Event subclasses.

Enumerations

enum class  Raven::EventType : u8 {
  Raven::EventType::None = 0 , Raven::EventType::WindowClose , Raven::EventType::WindowResize , Raven::EventType::WindowFocus ,
  Raven::EventType::WindowLostFocus , Raven::EventType::WindowMoved , Raven::EventType::AppTick , Raven::EventType::AppUpdate ,
  Raven::EventType::AppRender , Raven::EventType::KeyPressed , Raven::EventType::KeyReleased , Raven::EventType::MouseButtonPressed ,
  Raven::EventType::MouseButtonReleased , Raven::EventType::MouseMoved , Raven::EventType::MouseScrolled
}
 Identifiers for all possible event types in the engine. More...

Functions

std::ostream & Raven::operator<< (std::ostream &os, const Event &e)
 Stream insertion operator for events.

Detailed Description

Defines the base Event interface, event types, and helper macros for Raven's event system.

Author
PhilikusHD

This header declares the EventType enum for all engine events, the EventCategory bitflags, and the abstract Event class. It also provides macros to simplify defining custom event subclasses with type and category information. Events can be converted to string and tested for category membership.