Chicane

Dock

Header
Includes/Chicane/Grid/Component/Dock.hpp
Namespace
Chicane::Grid::Dock

Construtores

NomeDescrição
Dock(
const  XmlNode& inNode
)

Destruidores

NomeDescrição
~Dock()

Funções Substitutivas

AccessoReturnoModificadorNomeDescrição
public
bool
onEvent(
const  WindowEvent& inEvent
)
public
void
tick(
float inDeltaTime
)
protected
void
refreshSize()

Funções

AccessoReturnoModificadorNomeDescrição
public
const  DockRegion*
const
findRegion(
const  DockPanel* inPanel
)
protected
void
refreshPeripherals()
private
bool
const
isHorizontal(
DockSide inSide
)
private
const
asPanel(
Component* inComponent
)
private
void
const
collectPanels(
std::vector<DockPanel*>& outEdges
std::vector<DockPanel*>& outFills
std::vector<DockPanel*>& outFloats
)
private
void
const
sortEdges(
std::vector<DockPanel*>& inOutEdges
)
private
void
layout()
private
void
claim(
DockPanel* inPanel
Bounds2D& outRemaining
const  Vec2& inContent
bool inHasFill
)
private
void
assignFill(
const  std::vector<DockPanel*>& inPanels
const  Bounds2D& inRemaining
)
private
void
assignFloat(
DockPanel* inPanel
)
private
void
refreshDrop()
private
bool
const
hitHandle(
const  Vec2& inLocation
DockPanel*& outPanel
)
private
bool
const
hitResize(
const  Vec2& inLocation
DockPanel*& outPanel
)
private
const
getGapBounds(
const  DockRegion& inRegion
)
private
const
getContentBounds()
private
const
getDropPreview(
DockSide inSide
)
private
void
beginResize(
DockPanel* inPanel
const  Vec2& inLocation
)
private
void
updateResize(
const  Vec2& inLocation
)
private
void
endResize()
private
void
applyResizeCursor(
DockSide inSide
)
private
void
refreshResizeCursor(
const  Vec2& inLocation
)
private
void
beginDrag(
DockPanel* inPanel
const  Vec2& inLocation
)
private
void
updateDrag(
const  Vec2& inLocation
)
private
void
endDrag()
private
void
applyDragCursor()
private
void
clearCursor()
private
void
raise(
DockPanel* inPanel
)
private
const
pickDropSide(
const  Vec2& inLocation
)
private
float
const
resolveGap(
DockSide inSide
float inLeftover
)
private
float
const
resolveExtent(
DockPanel* inPanel
const  Bounds2D& inRemaining
const  Vec2& inContent
bool inHasFill
)
private
float
const
resolveLimit(
const  String& inValue
SizeDirection inDirection
const  Vec2& inContent
float inFallback
)
private
float
const
parseExtent(
const  String& inValue
SizeDirection inDirection
const  Vec2& inContent
)
private
const
axisOf(
DockSide inSide
)

Membros

AccessoTipoModificadorNomeDescrição
public
const  char*
static, constexpr
TAG_ID
public
float
static, constexpr
HANDLE_THICKNESS
public
float
static, constexpr
DRAG_THRESHOLD
public
float
static, constexpr
DROP_BAND_MIN
public
float
static, constexpr
DROP_BAND_RATIO
public
const  char*
static, constexpr
DEFAULT_WIDTH_SIZE
public
const  char*
static, constexpr
DEFAULT_HEIGHT_SIZE
private
std::unordered_map<const  DockPanel*DockRegion>
m_regions
private
m_drop
private
m_resize
private
m_drag