You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
2 YGRoundValueToPixelGrid
used too much YGFloatsEqual
bool YGFloatsEqual(const float a, const float b) { if (!YGFloatIsUndefined(a) && !YGFloatIsUndefined(b)) { return fabs(a - b) < 0.0001f; } return YGFloatIsUndefined(a) && YGFloatIsUndefined(b); }
screen one pixel is not < 0.0001f, nicer precision at this place is 1/pointScaleFactor
Expected Behavior
Describe what you expected would happen.
nodeHeight beginWith 252 ,after 251.666656
Except nodeHeight never lost precision
Ping! I have the same issue with my project and the above pull request ^ fixes the issue. It would be great if any active maintainer of this project can fix it
Report
Issues and Steps to Reproduce
Replaces this with steps to repro your issue.
node {
position = 5 5 0 0
dimensions = 365, 252
}
NodeType = Text;
others pading boder margin = 0;
pointScaleFactor = 3
absoluteLeft = 5
absoluteTop = 411.666656
1 YGRoundToPixelGrid
const float absoluteNodeTop = absoluteTop + nodeTop;
const float absoluteNodeBottom = absoluteNodeTop + nodeHeight;
const bool hasFractionalHeight = !YGFloatsEqual(fmodf(nodeHeight * pointScaleFactor, 1.0), 0) &&
!YGFloatsEqual(fmodf(nodeHeight * pointScaleFactor, 1.0), 1.0);
node->setLayoutDimension(
YGRoundValueToPixelGrid(
absoluteNodeBottom,
pointScaleFactor,
(textRounding && hasFractionalHeight),
(textRounding && !hasFractionalHeight)) -
YGRoundValueToPixelGrid(
absoluteNodeTop, pointScaleFactor, false, textRounding),
YGDimensionHeight);
This is unreasonable, maybe we just want YGRoundValueToPixelGrid(nodeHeight);
2 YGRoundValueToPixelGrid
used too much
YGFloatsEqual
bool YGFloatsEqual(const float a, const float b) { if (!YGFloatIsUndefined(a) && !YGFloatIsUndefined(b)) { return fabs(a - b) < 0.0001f; } return YGFloatIsUndefined(a) && YGFloatIsUndefined(b); }
screen one pixel is not < 0.0001f, nicer precision at this place is 1/pointScaleFactor
Expected Behavior
Describe what you expected would happen.
nodeHeight beginWith 252 ,after 251.666656
Except nodeHeight never lost precision
Actual Behavior
Describe what actually happened.
Link to Code
19035c9
When applicable, use this fiddle to post a web repro.
The text was updated successfully, but these errors were encountered: