mirror of
https://github.com/status-im/react-native.git
synced 2025-02-05 14:13:26 +00:00
Adopting Yoga's YGConfig in RCTShadowView
Reviewed By: javache Differential Revision: D4932540 fbshipit-source-id: 4a5ff3b34fc635b3291dff9a7c1a603179c90fa7
This commit is contained in:
parent
c6614f117f
commit
ca07a5fd5f
@ -35,6 +35,13 @@ typedef void (^RCTApplierBlock)(NSDictionary<NSNumber *, UIView *> *viewRegistry
|
|||||||
*/
|
*/
|
||||||
@interface RCTShadowView : NSObject <RCTComponent>
|
@interface RCTShadowView : NSObject <RCTComponent>
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Yoga Config which will be used to create `yogaNode` property.
|
||||||
|
* Override in subclass to enable special Yoga features.
|
||||||
|
* Defaults to suitable to current device configuration.
|
||||||
|
*/
|
||||||
|
+ (YGConfigRef)yogaConfig;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* RCTComponent interface.
|
* RCTComponent interface.
|
||||||
*/
|
*/
|
||||||
|
@ -46,6 +46,18 @@ typedef NS_ENUM(unsigned int, meta_prop_t) {
|
|||||||
YGValue _borderMetaProps[META_PROP_COUNT];
|
YGValue _borderMetaProps[META_PROP_COUNT];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
+ (YGConfigRef)yogaConfig
|
||||||
|
{
|
||||||
|
static YGConfigRef yogaConfig;
|
||||||
|
static dispatch_once_t onceToken;
|
||||||
|
dispatch_once(&onceToken, ^{
|
||||||
|
yogaConfig = YGConfigNew();
|
||||||
|
// Turnig off pixel rounding.
|
||||||
|
YGConfigSetPointScaleFactor(yogaConfig, 0.0);
|
||||||
|
});
|
||||||
|
return yogaConfig;
|
||||||
|
}
|
||||||
|
|
||||||
@synthesize reactTag = _reactTag;
|
@synthesize reactTag = _reactTag;
|
||||||
|
|
||||||
// YogaNode API
|
// YogaNode API
|
||||||
@ -318,7 +330,6 @@ static void RCTProcessMetaPropsBorder(const YGValue metaProps[META_PROP_COUNT],
|
|||||||
- (instancetype)init
|
- (instancetype)init
|
||||||
{
|
{
|
||||||
if ((self = [super init])) {
|
if ((self = [super init])) {
|
||||||
|
|
||||||
_frame = CGRectMake(0, 0, YGUndefined, YGUndefined);
|
_frame = CGRectMake(0, 0, YGUndefined, YGUndefined);
|
||||||
|
|
||||||
for (unsigned int ii = 0; ii < META_PROP_COUNT; ii++) {
|
for (unsigned int ii = 0; ii < META_PROP_COUNT; ii++) {
|
||||||
@ -335,7 +346,8 @@ static void RCTProcessMetaPropsBorder(const YGValue metaProps[META_PROP_COUNT],
|
|||||||
|
|
||||||
_reactSubviews = [NSMutableArray array];
|
_reactSubviews = [NSMutableArray array];
|
||||||
|
|
||||||
_yogaNode = YGNodeNew();
|
_yogaNode = YGNodeNewWithConfig([[self class] yogaConfig]);
|
||||||
|
|
||||||
YGNodeSetContext(_yogaNode, (__bridge void *)self);
|
YGNodeSetContext(_yogaNode, (__bridge void *)self);
|
||||||
YGNodeSetPrintFunc(_yogaNode, RCTPrint);
|
YGNodeSetPrintFunc(_yogaNode, RCTPrint);
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user