6#include <unordered_map>
53 auto it = m_widths.find(
id);
54 return (it != m_widths.end()) ? it->second : 0;
58 std::unordered_map<tachyon::ID, int>&
Widths() {
return m_widths; }
61 std::unordered_map<tachyon::ID, int> m_widths;
80 std::chrono::steady_clock::time_point
lastTime{};
92 DockDropZoneAnim m_dropZoneAnim{};
120 auto it = m_triggerRects.find(
id);
121 return (it == m_triggerRects.end()) ? nullptr : &it->second;
126 auto it = m_windowRects.find(
id);
127 return (it == m_windowRects.end()) ? nullptr : &it->second;
131 std::unordered_map<tachyon::ID, tachyon::IntRect>&
TriggerRects() {
return m_triggerRects; }
132 std::unordered_map<tachyon::ID, tachyon::IntRect>&
WindowRects() {
return m_windowRects; }
135 std::unordered_map<tachyon::ID, tachyon::IntRect> m_triggerRects;
136 std::unordered_map<tachyon::ID, tachyon::IntRect> m_windowRects;
Dock tab drag state: the dragged tab and the drop-zone overlay animation.
Definition gui_subsystem_state.h:85
DockDropZoneAnim & DropZoneAnim()
Definition gui_subsystem_state.h:88
DockTabDragInfo & Info()
Definition gui_subsystem_state.h:87
In-place rename of a tree / list / grid row (F2, Ctrl+Shift+Click or a slow re-click); the target row...
Definition gui_subsystem_state.h:23
void Cancel()
Ends the rename without touching the buffer.
Definition gui_subsystem_state.h:39
bool firstFrame
Set on the frame the rename starts, when a commit left over from an earlier edit must not end it; cle...
Definition gui_subsystem_state.h:29
void Start(tachyon::ID id, std::string *buffer, std::string_view text)
Starts renaming row id: buffer is set to text and edited in place.
Definition gui_subsystem_state.h:33
tachyon::ID targetID
the row being renamed
Definition gui_subsystem_state.h:25
bool isActive
Definition gui_subsystem_state.h:26
std::string * editBuffer
the caller's buffer the field edits
Definition gui_subsystem_state.h:30
Slider track widths written by the sliders' custom draws and read next frame (keyboard step sizes,...
Definition gui_subsystem_state.h:48
int GetWidth(tachyon::ID id) const
0 until the slider has drawn once.
Definition gui_subsystem_state.h:51
std::unordered_map< tachyon::ID, int > & Widths()
For the custom-draw lambdas to write into.
Definition gui_subsystem_state.h:58
IconID
Handle for an icon registered with ITextSystem::RegisterIconFromSVG / RegisterIconFromSVGFile.
Definition gui_style_text.h:15
@ Invalid
Definition gui_style_text.h:15
Definition gui_logging.h:24
The drop-zone overlay shown while a dock tab is dragged; it slides between zones.
Definition gui_subsystem_state.h:76
IntRect currentRect
interpolated rect, the one drawn
Definition gui_subsystem_state.h:78
std::chrono::steady_clock::time_point lastTime
Definition gui_subsystem_state.h:80
IntRect targetRect
destination rect
Definition gui_subsystem_state.h:79
bool hasTarget
the previous frame showed the overlay
Definition gui_subsystem_state.h:77
Set when a dock tab drag starts, so any target leaf can emit a phantom tab during construction.
Definition gui_subsystem_state.h:67
int tabWidth
the dragged tab's width at drag start, pixels
Definition gui_subsystem_state.h:71
tachyon::ID panelID
Definition gui_subsystem_state.h:68
std::string title
Definition gui_subsystem_state.h:69
IconID icon
Definition gui_subsystem_state.h:70
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
Definition gui_base_types.h:407
One press on an element that may become a drag.
Definition gui_pointer_drag.h:41
ID id
the element pressed; Invalid when there is no press
Definition gui_pointer_drag.h:42
Integer 2D vector.
Definition gui_base_types.h:19