add baseline start and baseline end events
Summary: Adds Baseline start and end events to be handled later for instrumentation Reviewed By: davidaurelio Differential Revision: D16048790 fbshipit-source-id: 8409dbb633168753a7bf8fab20bc6551d113ddd6
This commit is contained in:
committed by
Facebook Github Bot
parent
eeae39d707
commit
0f250490d4
@@ -300,6 +300,9 @@ void EventTest::listen(const YGNode& node, Event::Type type, Event::Data data) {
|
||||
case Event::MeasureCallbackStart:
|
||||
case Event::MeasureCallbackEnd:
|
||||
break;
|
||||
case Event::NodeBaselineStart:
|
||||
case Event::NodeBaselineEnd:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -997,12 +997,18 @@ static inline YGAlign YGNodeAlignItem(const YGNode* node, const YGNode* child) {
|
||||
|
||||
static float YGBaseline(const YGNodeRef node, void* layoutContext) {
|
||||
if (node->hasBaselineFunc()) {
|
||||
|
||||
Event::publish<Event::NodeBaselineStart>(node);
|
||||
|
||||
const float baseline = marker::MarkerSection<YGMarkerBaselineFn>::wrap(
|
||||
node,
|
||||
&YGNode::baseline,
|
||||
node->getLayout().measuredDimensions[YGDimensionWidth],
|
||||
node->getLayout().measuredDimensions[YGDimensionHeight],
|
||||
layoutContext);
|
||||
|
||||
Event::publish<Event::NodeBaselineEnd>(node);
|
||||
|
||||
YGAssertWithNode(
|
||||
node,
|
||||
!YGFloatIsUndefined(baseline),
|
||||
|
@@ -33,6 +33,8 @@ struct Event {
|
||||
LayoutPassEnd,
|
||||
MeasureCallbackStart,
|
||||
MeasureCallbackEnd,
|
||||
NodeBaselineStart,
|
||||
NodeBaselineEnd,
|
||||
};
|
||||
class Data;
|
||||
using Subscriber = void(const YGNode&, Type, Data);
|
||||
|
Reference in New Issue
Block a user