TachyonUI 0.1.0
High-performance UI for building tools.
Loading...
Searching...
No Matches
gui_window_sync.h
Go to the documentation of this file.
1#pragma once
2
4
5namespace tachyon
6{
9
10 class OSWindowManager;
11 class WindowRegistry;
12 class ElementStorage;
13 class ITextSystem;
14
15 // Keeps a frame's window elements (WindowRegistry, ElementStorage) and the
16 // OS windows (OSWindowManager) in step; neither side knows about the other.
17
20 void SyncWindowsBeforeLayout(OSWindowManager& windowManager, const WindowRegistry& windowRegistry,
21 ElementStorage& elementStorage);
22
24 void SyncWindowsAfterLayout(OSWindowManager& windowManager, const WindowRegistry& windowRegistry,
25 ElementStorage& elementStorage, ITextSystem* textSystem, OnGuiFunc onGui);
27}
The frame's element tree.
Definition gui_element_storage.h:100
Text and icon registration, measurement, rendering and editing.
Definition gui_text_system.h:178
Keeps the OS windows (through an IWindowBackend) and their window contexts for the GUI's window eleme...
Definition gui_os_window_manager.h:61
Per-window lists of ElementRefs in addition (render) order, driven during ElementStorage construction...
Definition gui_window_registry.h:33
std::function< void()> OnGuiFunc
Definition gui_base_types.h:14
void SyncWindowsAfterLayout(OSWindowManager &windowManager, const WindowRegistry &windowRegistry, ElementStorage &elementStorage, ITextSystem *textSystem, OnGuiFunc onGui)
After layout: creates or updates an OS window for each declared window element.
void SyncWindowsBeforeLayout(OSWindowManager &windowManager, const WindowRegistry &windowRegistry, ElementStorage &elementStorage)
Before layout: releases the windows no longer declared, and pins the elements of user-moved/resized w...
Definition gui_logging.h:24