Initial engine repository
This commit is contained in:
@@ -0,0 +1,64 @@
|
||||
#pragma once
|
||||
|
||||
#include <frostbite2D/event/event.h>
|
||||
#include <frostbite2D/types/type_math.h>
|
||||
#include <SDL2/SDL_touch.h>
|
||||
|
||||
namespace frostbite2D {
|
||||
|
||||
class TouchEvent : public Event {
|
||||
public:
|
||||
TouchEvent(EventType type, uint32 timestamp, int64 touchId, int64 fingerId,
|
||||
const Vec2& position, const Vec2& delta, float pressure)
|
||||
: Event(timestamp)
|
||||
, type_(type)
|
||||
, touchId_(touchId)
|
||||
, fingerId_(fingerId)
|
||||
, position_(position)
|
||||
, delta_(delta)
|
||||
, pressure_(pressure) {}
|
||||
|
||||
EventType getType() const override {
|
||||
return type_;
|
||||
}
|
||||
|
||||
int64 getTouchId() const { return touchId_; }
|
||||
int64 getFingerId() const { return fingerId_; }
|
||||
const Vec2& getPosition() const { return position_; }
|
||||
const Vec2& getDelta() const { return delta_; }
|
||||
float getPressure() const { return pressure_; }
|
||||
|
||||
private:
|
||||
EventType type_;
|
||||
int64 touchId_;
|
||||
int64 fingerId_;
|
||||
Vec2 position_;
|
||||
Vec2 delta_;
|
||||
float pressure_;
|
||||
};
|
||||
|
||||
class TouchDownEvent : public TouchEvent {
|
||||
public:
|
||||
TouchDownEvent(uint32 timestamp, int64 touchId, int64 fingerId,
|
||||
const Vec2& position, float pressure)
|
||||
: TouchEvent(EventType::TouchDown, timestamp, touchId, fingerId,
|
||||
position, Vec2(0, 0), pressure) {}
|
||||
};
|
||||
|
||||
class TouchUpEvent : public TouchEvent {
|
||||
public:
|
||||
TouchUpEvent(uint32 timestamp, int64 touchId, int64 fingerId,
|
||||
const Vec2& position, float pressure)
|
||||
: TouchEvent(EventType::TouchUp, timestamp, touchId, fingerId,
|
||||
position, Vec2(0, 0), pressure) {}
|
||||
};
|
||||
|
||||
class TouchMoveEvent : public TouchEvent {
|
||||
public:
|
||||
TouchMoveEvent(uint32 timestamp, int64 touchId, int64 fingerId,
|
||||
const Vec2& position, const Vec2& delta, float pressure)
|
||||
: TouchEvent(EventType::TouchMove, timestamp, touchId, fingerId,
|
||||
position, delta, pressure) {}
|
||||
};
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user