TachyonUI 0.1.0
High-performance UI for building tools.
Loading...
Searching...
No Matches
tachyon::ElementCustomDraw Struct Reference

callback fires before the children render; the after-list fires after the whole subtree. More...

#include <gui_core/elements/gui_element.h>

Public Attributes

CustomDrawCallback callback
 fires before this element's children
uint32_t afterHead = UINT32_MAX
 head of the after-draw list
uint32_t afterTail = UINT32_MAX
 tail, for O(1) append
IntRect afterDrawClipRectScreen = {}
 SCREEN-space scissor.
IntRect afterDrawElementRectLayout = {}
 LAYOUT-space border-box.
IntRect afterDrawInnerRectLayout = {}
 LAYOUT-space padding-box.
float3x2 afterDrawRenderTransform = {}
 inner-rect-local LAYOUT -> SCREEN pixels
float4 afterDrawPixelRect = {}
 the element's border box in window pixels
IntRect afterDrawSnappedRect = {}
 snapped pixel rect custom-draw boxes snap to
float afterDrawOpacity = 1.0f
 how opaque the owner is drawn

Detailed Description

callback fires before the children render; the after-list fires after the whole subtree.

Both use ancestor_accum * T(inner-rect.pos) * own.contentTransform. The afterDraw* fields snapshot rects/clip/transform when the owner renders, so after-callbacks see the same space.

Member Data Documentation

◆ callback

CustomDrawCallback tachyon::ElementCustomDraw::callback

fires before this element's children

◆ afterHead

uint32_t tachyon::ElementCustomDraw::afterHead = UINT32_MAX

head of the after-draw list

◆ afterTail

uint32_t tachyon::ElementCustomDraw::afterTail = UINT32_MAX

tail, for O(1) append

◆ afterDrawClipRectScreen

IntRect tachyon::ElementCustomDraw::afterDrawClipRectScreen = {}

SCREEN-space scissor.

◆ afterDrawElementRectLayout

IntRect tachyon::ElementCustomDraw::afterDrawElementRectLayout = {}

LAYOUT-space border-box.

◆ afterDrawInnerRectLayout

IntRect tachyon::ElementCustomDraw::afterDrawInnerRectLayout = {}

LAYOUT-space padding-box.

◆ afterDrawRenderTransform

float3x2 tachyon::ElementCustomDraw::afterDrawRenderTransform = {}

inner-rect-local LAYOUT -> SCREEN pixels

◆ afterDrawPixelRect

float4 tachyon::ElementCustomDraw::afterDrawPixelRect = {}

the element's border box in window pixels

◆ afterDrawSnappedRect

IntRect tachyon::ElementCustomDraw::afterDrawSnappedRect = {}

snapped pixel rect custom-draw boxes snap to

◆ afterDrawOpacity

float tachyon::ElementCustomDraw::afterDrawOpacity = 1.0f

how opaque the owner is drawn


The documentation for this struct was generated from the following file: