GA::kit
v0.3
G&A's in-house C++ application framework
Loading...
Searching...
No Matches
events.h
Go to the documentation of this file.
1
#pragma once
2
#include "
ga/math.h
"
3
#include "
ga/timer.h
"
4
5
namespace
ga
{
6
7
struct
Event
8
{
9
Event
()
10
:
time
(
ga
::
Clock
::now() )
11
,
captured
( false )
12
{
13
}
14
15
TimePoint
time
;
// time when event occured
16
bool
captured
;
// flag to stop event propagation
17
};
18
19
struct
KeyEvent
:
public
Event
20
{
21
enum class
Type
22
{
23
PRESS
,
24
RELEASE
25
};
26
Type
type
;
27
int
key
;
28
};
29
30
struct
MouseEvent
:
public
Event
31
{
32
enum class
Type
33
{
34
MOVE
,
35
PRESS
,
36
DRAG
,
37
RELEASE
,
38
SCROLL_UP
,
// wheel
39
SCROLL_DOWN
40
};
41
Type
type
;
42
vec2
position
;
43
int
button
;
// LEFT = 0, RIGHT = 1, CENTER = 2, ...
44
};
45
46
struct
TouchEvent
:
public
Event
47
{
48
enum class
Type
49
{
50
PRESS
,
51
DRAG
,
52
RELEASE
,
53
CANCEL
54
};
55
56
Type
type
;
57
ga::vec2
position
;
// window space
58
ga::vec2
size
;
59
float
angle
;
// degrees 0-359
60
float
pressure
;
// 0-1024
61
62
/*
63
ofTouchEventArgs:
64
-----------------
65
int id;
66
int time;
67
int numTouches;
68
float minoraxis, majoraxis;
69
float xspeed, yspeed;
70
float xaccel, yaccel;
71
*/
72
};
73
74
}
// namespace ga
math.h
ga
Definition:
color.h:9
ga::TimePoint
std::chrono::time_point< Clock > TimePoint
Definition:
timer.h:14
ga::Clock
std::chrono::steady_clock Clock
Definition:
timer.h:13
ga::Event
Definition:
events.h:8
ga::Event::time
TimePoint time
Definition:
events.h:15
ga::Event::Event
Event()
Definition:
events.h:9
ga::Event::captured
bool captured
Definition:
events.h:16
ga::KeyEvent
Definition:
events.h:20
ga::KeyEvent::type
Type type
Definition:
events.h:26
ga::KeyEvent::Type
Type
Definition:
events.h:22
ga::KeyEvent::Type::RELEASE
@ RELEASE
ga::KeyEvent::Type::PRESS
@ PRESS
ga::KeyEvent::key
int key
Definition:
events.h:27
ga::MouseEvent
Definition:
events.h:31
ga::MouseEvent::button
int button
Definition:
events.h:43
ga::MouseEvent::position
vec2 position
Definition:
events.h:42
ga::MouseEvent::type
Type type
Definition:
events.h:41
ga::MouseEvent::Type
Type
Definition:
events.h:33
ga::MouseEvent::Type::SCROLL_DOWN
@ SCROLL_DOWN
ga::MouseEvent::Type::SCROLL_UP
@ SCROLL_UP
ga::MouseEvent::Type::RELEASE
@ RELEASE
ga::MouseEvent::Type::PRESS
@ PRESS
ga::MouseEvent::Type::MOVE
@ MOVE
ga::MouseEvent::Type::DRAG
@ DRAG
ga::TouchEvent
Definition:
events.h:47
ga::TouchEvent::angle
float angle
Definition:
events.h:59
ga::TouchEvent::size
ga::vec2 size
Definition:
events.h:58
ga::TouchEvent::Type
Type
Definition:
events.h:49
ga::TouchEvent::Type::CANCEL
@ CANCEL
ga::TouchEvent::Type::RELEASE
@ RELEASE
ga::TouchEvent::Type::PRESS
@ PRESS
ga::TouchEvent::Type::DRAG
@ DRAG
ga::TouchEvent::type
Type type
Definition:
events.h:56
ga::TouchEvent::pressure
float pressure
Definition:
events.h:60
ga::TouchEvent::position
ga::vec2 position
Definition:
events.h:57
timer.h
G&A
oF
of_v0.11.2_vs2017_release
addons
ofxGAKit
libs
gaKit
src
ga
events.h
Generated by
1.9.6