TachyonUI
0.1.0
High-performance UI for building tools.
Toggle main menu visibility
Loading...
Searching...
No Matches
gui_layout_engine.h
Go to the documentation of this file.
1
#pragma once
2
3
namespace
tachyon
4
{
7
8
class
ScrollManagement
;
9
class
ElementStorage
;
10
class
OSWindowManager
;
11
class
ITextSystem
;
12
26
class
LayoutEngine
27
{
28
public
:
29
explicit
LayoutEngine
(
ITextSystem
& textSystem,
30
ScrollManagement
& scrollManagement) noexcept
31
: m_textSystem(textSystem)
32
, m_scrollManagement(scrollManagement)
33
{
34
}
35
37
void
Layout
(
OSWindowManager
& osWindowManager,
ElementStorage
& storage);
38
39
private
:
40
ITextSystem
& m_textSystem;
41
ScrollManagement
& m_scrollManagement;
42
43
void
HorizontalSizingPass(
ElementStorage
& storage);
44
void
VerticalSizingPass(
ElementStorage
& storage);
45
void
HorizontalPositioningPass(
OSWindowManager
& osWindowManager,
ElementStorage
& storage);
46
void
VerticalPositioningPass(
OSWindowManager
& osWindowManager,
ElementStorage
& storage);
47
};
48
49
}
50
tachyon::ElementStorage
The frame's element tree.
Definition
gui_element_storage.h:100
tachyon::ITextSystem
Text and icon registration, measurement, rendering and editing.
Definition
gui_text_system.h:178
tachyon::LayoutEngine::Layout
void Layout(OSWindowManager &osWindowManager, ElementStorage &storage)
Lays out every element in storage; call after EndConstruction.
tachyon::LayoutEngine::LayoutEngine
LayoutEngine(ITextSystem &textSystem, ScrollManagement &scrollManagement) noexcept
Definition
gui_layout_engine.h:29
tachyon::OSWindowManager
Keeps the OS windows (through an IWindowBackend) and their window contexts for the GUI's window eleme...
Definition
gui_os_window_manager.h:61
tachyon::ScrollManagement
Scroll containers' offsets (pixels), kept across frames by ID behind handles.
Definition
gui_scroll_management.h:33
tachyon
Definition
gui_logging.h:24
gui_core
layout
gui_layout_engine.h
Generated by
1.18.0