TachyonUI 0.1.0
High-performance UI for building tools.
Loading...
Searching...
No Matches
gui_input_state.h
Go to the documentation of this file.
1#pragma once
2
4#include <gui_core/gui_id.h>
6
7#include <string>
8#include <vector>
9
10namespace tachyon
11{
14
17 {
21
24
26
28
31
35 uint32_t dragPayloadType = 0;
36 uintptr_t dragPayloadValue = 0;
38
40 std::string textInput;
42 std::vector<std::string> droppedFiles;
43
45 bool consumed = false;
46
50
54
58 };
59
67
69 struct FileDrop
70 {
73 std::vector<std::string> files;
74 std::string text;
75 };
76
77}
KeyCode
Keys by what the keyboard layout makes them, not by position.
Definition gui_input_enums.h:106
KeyAction
A keyboard event: a key down or up, or a typed character (KeyChar).
Definition gui_input_enums.h:50
tachyon::ID dragSourceID
Drag-and-drop source and payload; set for drag events.
Definition gui_input_state.h:34
uint32_t dragPayloadType
Definition gui_input_state.h:35
KeyModifier
Modifier keys held, combined with |.
Definition gui_input_enums.h:26
MouseButtons
Mouse buttons, combined with |.
Definition gui_input_enums.h:38
uintptr_t dragPayloadValue
Definition gui_input_state.h:36
@ None
Definition gui_input_enums.h:107
@ KeyDown
Definition gui_input_enums.h:51
@ None
Definition gui_input_enums.h:27
@ None
Definition gui_input_enums.h:39
@ Right
Definition gui_input_enums.h:42
@ Left
Definition gui_input_enums.h:40
@ Middle
Definition gui_input_enums.h:41
Definition gui_logging.h:24
A drag from another application, of files or text, over one of the app's windows.
Definition gui_input_state.h:62
bool hasPosition
where it is is known from its first move on
Definition gui_input_state.h:65
tachyon::int2 screenPos
Definition gui_input_state.h:64
tachyon::ID windowID
Definition gui_input_state.h:63
Files or text dropped from another application.
Definition gui_input_state.h:70
std::vector< std::string > files
paths, UTF-8
Definition gui_input_state.h:73
std::string text
UTF-8; lines joined with ' '.
Definition gui_input_state.h:74
tachyon::int2 screenPos
Definition gui_input_state.h:72
tachyon::ID windowID
Definition gui_input_state.h:71
A 64-bit element ID whose bit layout depends on its IDMode.
Definition gui_id.h:23
static constexpr ID Invalid()
The "no element" ID (all bits zero); also the default for optional ID parameters.
Definition gui_id.h:66
Snapshot of input state for a single recorded OS event.
Definition gui_input_state.h:17
tachyon::int2 screenPos
Definition gui_input_state.h:18
bool consumed
True when the event was already handled (e.g. Tab by tab navigation).
Definition gui_input_state.h:45
bool LeftPressed() const
Definition gui_input_state.h:48
bool RightPressed() const
Definition gui_input_state.h:52
bool MiddleDown() const
Definition gui_input_state.h:55
tachyon::MouseButtons buttons
Definition gui_input_state.h:22
bool LeftReleased() const
Definition gui_input_state.h:49
bool RightDown() const
Definition gui_input_state.h:51
tachyon::MouseButtons prevButtons
Definition gui_input_state.h:23
bool MiddlePressed() const
Definition gui_input_state.h:56
tachyon::KeyAction lastKeyAction
Definition gui_input_state.h:30
std::string textInput
Text typed with this event, or dropped (EventType::FileDrop); UTF-8.
Definition gui_input_state.h:40
tachyon::KeyCode lastKey
Definition gui_input_state.h:29
bool RightReleased() const
Definition gui_input_state.h:53
tachyon::KeyModifier modifiers
Definition gui_input_state.h:25
std::vector< std::string > droppedFiles
EventType::FileDrop: the paths of the files dropped (UTF-8).
Definition gui_input_state.h:42
bool MiddleReleased() const
Definition gui_input_state.h:57
tachyon::int2 prevScreenPos
Definition gui_input_state.h:19
bool LeftDown() const
Definition gui_input_state.h:47
tachyon::float2 scroll
wheel notches (fractional on hi-res devices); label drags: pixels
Definition gui_input_state.h:27
tachyon::int2 screenDelta
Definition gui_input_state.h:20
Definition gui_base_types.h:121
Integer 2D vector.
Definition gui_base_types.h:19