Chicane

Component

ヘッダー
Includes/Chicane/Grid/Component.hpp
ネームスペース
Chicane::Grid::Component

Types

名前価値説明
Directive
std::function<void(const String &)>
Directives
std::unordered_map<String, Directive>
Variables
std::unordered_map<String, ReflectionFieldAccessor>
Imports
std::unordered_map<String, const  ReflectionTypeInfo*>

コンストラクター

名前説明
Component(
const  XmlNode& inNode
)
Component(
const  String& inTag
)

デストラクター

名前説明
~Component()

オーバーライド関数

アクセスタイプモディファイア名前説明
protected
bool
const
canPlayAnimation()
protected
const
findKeyframes(
const  String& inName
)
protected
const
makeAnimationClip(
const  StyleKeyframe::List& inKeyframes
)

バーチャル関数

アクセスタイプモディファイア名前説明
public
bool
const
isDrawable()
public
bool
const
isFocusable()
public
bool
onEvent(
const  WindowEvent& inEvent
)
public
void
tick(
float inDelta
)
public
void
refresh()
public
float
const
getDepth()
public
const
getDrawPosition()
public
const
getTransformPivot()
public
const
getScrollOffset()
public
const
getScrollBarGutter()
protected
void
inline
onTick(
float inDeltaTime
)
protected
void
inline
onRefresh()
protected
void
inline
onAdoption(
Component* inChild
)
protected
void
inline
onAdopted(
Component* inParent
)
protected
void
inline
onHover()
protected
void
inline
onLeave()
protected
void
inline
onClick()
protected
void
inline
onFocus()
protected
void
inline
onBlur()
protected
void
inline
onDrag()
protected
void
inline
onDragEnd()
protected
void
inline
refreshPrimitive()
protected
void
refreshStyleRuleset()
protected
void
refreshSize()
protected
void
refreshPosition()

関数

アクセスタイプモディファイア名前説明
public
static
sCreate(
const  XmlNode& inNode
)
public
static
sCreate(
const  FileSystem::Path& inTemplate
)
public
bool
static
sIsContentSlot(
const  XmlNode& inNode
)
public
bool
const
isVisible()
public
const
getClassName()
public
void
setClassName(
const  String& inValue
)
public
void
addClassName(
const  String& inValue
)
public
bool
const
isRoot()
public
bool
const
isDisplayable()
public
bool
const
isSolid()
public
bool
const
isHovered()
public
bool
const
isFocused()
public
bool
const
isDragging()
public
bool
const
isCulled()
public
bool
const
isSelected()
public
bool
const
escapesOverflow()
public
void
setEscapesOverflow(
bool inValue
)
public
const
getStatus()
public
bool
const
hasStatus(
ComponentStatus inStatus
)
public
bool
const
hasFlag()
public
void
setFlag(
ComponentDirty inFlag, 
bool inEnabled
)
public
bool
const
canAdopt(
Component* inComponent
)
public
void
hover()
public
void
leave()
public
void
click()
public
void
focus()
public
void
blur()
public
void
drag()
public
void
endDrag()
public
void
setHovered(
bool inValue, 
bool bShouldInvalidateSubtree
)
public
void
setFocused(
bool inValue, 
bool bShouldInvalidateSubtree
)
public
void
setDragging(
bool inValue, 
bool bShouldInvalidateSubtree
)
public
void
setCulled(
bool inValue
)
public
void
setSelected(
bool inValue, 
bool bShouldInvalidateSubtree
)
public
const  String&
const
getTag()
public
const
getId()
public
void
setId(
const  String& inValue
)
public
getClassList()
public
const  ClassList&
const
getClassList()
public
void
setClassList(
const  ClassList& inValue
)
public
void
inline
addClassName(
T inFirst, 
Args... inRest
)
public
void
refreshDirectives()
public
void
runDirective(
const  String& inKey, 
const  String& inValue
)
public
void
setDirective(
const  String& inKey, 
const  Directive& inValue
)
public
bool
const
hasStyleFile()
public
const  StyleFile*
const
getStyleFile()
public
void
setStyleFile(
StyleFile* inSource
)
public
void
importStyleFile(
const  FileSystem::Path& inValue
)
public
void
addStyleRuleset(
const  StyleRuleset::List& inSources
)
public
void
addStyleProperties(
const  StyleRuleset::Properties& inSource
)
public
const  Style&
const
getStyle()
public
float
const
getOpacity()
public
float
const
getFilterBlur()
public
const  String&
const
getStyleVariable(
const  String& inName
)
public
void
refreshStyleSubtree()
public
bool
const
hasLocalSelector(
const  String& inValue
)
public
bool
const
hasSelector(
const  String& inValue
)
public
bool
const
matchesCompiledSelector(
const  StyleCompiledSelector& inSelector
)
public
bool
const
matchesCompiledPart(
const  StyleSelectorPart& inPart
)
public
const
getField(
const  String& inId
)
public
const
getMethod(
const  String& inId
)
public
bool
const
hasRoot()
public
const
getRoot()
public
void
setRoot(
Component* inComponent
)
public
bool
const
hasParent()
public
const
getParent()
public
void
setParent(
Component* inComponent
)
public
const  Component*
const
getContainingBlock()
public
bool
const
hasNeighbours()
public
const
getNeighbour(
int inJumps
)
public
bool
const
hasChildren()
public
const  std::vector<Component*>&
const
getChildren()
public
const  std::vector<Component*>&
const
getPaintChildren()
public
std::vector<Component*>
const
getChildrenFlat()
public
void
const
appendChildrenFlat(
std::vector<Component*>& outChildren
)
public
void
markStyleDirty()
public
void
markLayoutDirty()
public
void
markStyleDirtySubtree()
public
void
markLayoutDirtySubtree()
public
void
markPaintDirty()
public
void
markPaintDirtySubtree()
public
void
paint(
const  ComponentPaintContext& inContext
)
public
const
getHitAt(
const  Vec2& inLocation
)
public
bool
const
containsPoint(
const  Vec2& inLocation
)
public
bool
const
containsNode(
const  Component* inNode
)
public
bool
broadcastEvent(
const  WindowEvent& inEvent
)
public
bool
bubbleEvent(
const  WindowEvent& inEvent, 
const  Vec2& inLocation
)
public
void
addChildren(
const  XmlNode& inNode
)
public
void
addChild(
Component* inComponent, 
std::size_t inIndex
)
public
void
releaseChild(
Component* inComponent
)
public
void
removeChild(
Component* inComponent
)
public
const
getChildrenContentSizeBlock()
public
const
getChildrenContentSizeFlex()
public
const
getChildrenContentSizeFromOrigin(
float inOriginX, 
float inOriginY
)
public
const
getChildrenContentSize()
public
const
getChildIntrinsicSize(
const  Component* inChild
)
public
const  Vec2&
const
getSize()
public
const
getContentSize()
public
const
getInnerLayoutSize()
public
const
getBorderSize()
public
const
getRemainingContentSize()
public
const
getRemainingContentSize(
const  Component* inChild
)
public
float
const
getTrailingMainSize(
const  Component* inChild
)
public
int
const
countTrailingMainAutoMargins(
const  Component* inChild
)
public
void
addSize(
const  Vec2& inValue
)
public
void
addSize(
float inWidth, 
float inHeight
)
public
void
setSize(
const  Vec2& inValue
)
public
void
setSize(
float inWidth, 
float inHeight
)
public
const  Vec2&
const
getScale()
public
void
setScale(
const  Vec2& inValue
)
public
void
setScale(
float inX, 
float inY
)
public
const  Vec2&
const
getOffset()
public
void
setOffset(
const  Vec2& inValue
)
public
void
setOffset(
float inX, 
float inY
)
public
const
getVisualCenter()
public
const  Vec2&
const
getPosition()
public
void
addPosition(
const  Vec2& inValue
)
public
void
addPosition(
float inX, 
float inY
)
public
void
setPosition(
const  Vec2& inValue
)
public
void
setPosition(
float inX, 
float inY
)
public
const  Mat3&
const
getPaintMatrix()
public
const  Vec2&
const
getCursor()
public
void
addCursor(
const  Vec2& inValue
)
public
void
addCursor(
float inX, 
float inY
)
public
void
setCursor(
const  Vec2& inValue
)
public
void
setCursor(
float inX, 
float inY
)
public
const  Bounds2D&
const
getBounds()
public
const  Bounds2D&
const
getDrawBounds()
public
const  Bounds2D&
const
getOverflowClip()
public
void
const
getOverflowRoundClips(
Vec4& outFirst, 
Vec4& outFirstRadiusX, 
Vec4& outFirstRadiusY, 
Vec4& outSecond, 
Vec4& outSecondRadiusX, 
Vec4& outSecondRadiusY
)
public
void
const
getPaintRadius(
Vec4& outRadiusX, 
Vec4& outRadiusY
)
public
bool
const
hasPrimitive()
public
const  Primitive&
const
getPrimitive()
public
void
clearPrimitive()
public
void
setPrimitive(
const  Primitive& inPrimitive
)
public
const
parseText(
const  String& inValue
)
public
bool
const
callScript(
const  String& inName, 
const  std::vector<String>& inArgs
)
public
void
releaseScript()
protected
void
onClassListChanged()
protected
void
inline
import()
protected
void
load(
const  FileSystem::Path& inTemplate, 
const  FileSystem::Path& inStyle
)
protected
void
addProjectedContent(
const  XmlNode& inSlot
)
protected
void
refreshClassName()
protected
void
refreshId()
protected
void
refreshStyle()
protected
void
refreshBounds()
protected
void
resetFlowCursor()
protected
void
reflowChildPositions()
protected
bool
const
isReference(
const  String& inValue
)
protected
const
parseReference(
const  String& inValue
)
protected
const
parseMethod(
const  String& inValue
)
protected
void
addVariable(
const  String& inId, 
const  ReflectionFieldAccessor& inValue
)
protected
const
cloneTemplate()
protected
const
findImported(
const  String& inSelector
)
protected
void
syncForLoop(
const  String& inVariableId, 
const  ReflectionFieldAccessor& inAccessor, 
const  void* inInstance
)
protected
bool
const
isMethod(
const  String& inValue
)
protected
const
getMethod(
const  String& inId, 
const  Component* inParamContext
)
protected
void
const
populateMethodParams(
ReflectionTypeMethod& outMethod, 
const  String& inSignature
)
protected
std::vector<String>
const
splitMethodParams(
const  String& inValue
)
protected
bool
const
isCulledByAncestor()
protected
bool
adoptChild(
Component* inComponent, 
std::size_t inIndex
)
protected
void
rebuildPaintChildren()
protected
bool
hideIfDirective()
protected
void
replayAnimations()
protected
const
computeLocalPaintMatrix(
const  StyleTransform& inTransform
)
protected
void
paintRadius(
const  std::vector<const  Component*>& inRoundedAncestors
)
protected
void
paintRoundClips(
const  std::vector<const  Component*>& inRoundedAncestors
)
protected
void
setPeripherals(
const  std::vector<Component*>& inPeripherals
)
private
void
loadScript(
const  FileSystem::Path& inTemplate
)

メンバ

アクセスタイプモディファイア名前説明
public
const  char*
static, constexpr
IF_DIRECTIVE_KEYWORD
public
const  char*
static, constexpr
FOR_DIRECTIVE_KEYWORD
public
const  char*
static, constexpr
CONTENT_TAG_ID
public
const  char*
static, constexpr
CONTENT_SELECT_ATTRIBUTE_NAME
public
const  char*
static, constexpr
EVENT_KEYWORD
public
const  char*
static, constexpr
ON_HOVER_ATTRIBUTE_NAME
public
const  char*
static, constexpr
ON_LEAVE_ATTRIBUTE_NAME
public
const  char*
static, constexpr
ON_CLICK_ATTRIBUTE_NAME
public
const  char*
static, constexpr
ON_FOCUS_ATTRIBUTE_NAME
public
const  char*
static, constexpr
ON_BLUR_ATTRIBUTE_NAME
public
const  char*
static, constexpr
ON_DRAG_ATTRIBUTE_NAME
public
const  char*
static, constexpr
ON_DRAG_END_ATTRIBUTE_NAME
public
const  char*
static, constexpr
FOCUSABLE_ATTRIBUTE_NAME
public
style
public
classList
protected
m_tag
protected
m_id
protected
m_classListSubscription
protected
m_status
protected
m_flags
protected
m_live
protected
std::uint64_t
m_liveHash
protected
m_directives
protected
m_variables
protected
m_styleVariables
protected
m_styleFile
protected
std::unique_ptr<StyleFile>
m_styles
protected
bool
m_bHasOwnStyle
protected
m_imports
protected
m_importOwner
protected
m_root
protected
m_parent
protected
std::vector<Component*>
m_children
protected
std::vector<Component*>
m_peripherals
protected
std::vector<Component*>
m_paintChildren
protected
m_size
protected
m_scale
protected
m_offset
protected
m_cursor
protected
float
m_scratch
protected
m_layoutParentSize
protected
float
m_layoutParentFontSize
protected
m_primitive
protected
m_draw
protected
std::vector<Component*>
m_forInstances
protected
m_forVariable
protected
std::any
m_forSource
protected
std::unique_ptr<ComponentScript>
m_script