Skip to content

Commit 5058e7e

Browse files
sherginfacebook-github-bot
authored andcommitted
Several layout related helper methods of RCTShadowView was moved to new (+Layout) category.
Reviewed By: javache Differential Revision: D4865327 fbshipit-source-id: 4df71b57433370ee09c3f1288c4d6241a33f440a
1 parent 20c2ae8 commit 5058e7e

File tree

11 files changed

+115
-13
lines changed

11 files changed

+115
-13
lines changed

Libraries/Text/RCTShadowText.m

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
#import <React/RCTConvert.h>
1515
#import <React/RCTFont.h>
1616
#import <React/RCTLog.h>
17+
#import <React/RCTShadowView+Layout.h>
1718
#import <React/RCTUIManager.h>
1819
#import <React/RCTUtils.h>
1920

Libraries/Text/RCTTextFieldManager.m

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111

1212
#import <React/RCTBridge.h>
1313
#import <React/RCTFont.h>
14+
#import <React/RCTShadowView+Layout.h>
1415
#import <React/RCTShadowView.h>
1516

1617
#import "RCTConvert+Text.h"

Libraries/Text/RCTTextManager.m

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,12 +9,13 @@
99

1010
#import "RCTTextManager.h"
1111

12-
#import <yoga/Yoga.h>
1312
#import <React/RCTAccessibilityManager.h>
1413
#import <React/RCTAssert.h>
1514
#import <React/RCTConvert.h>
1615
#import <React/RCTLog.h>
16+
#import <React/RCTShadowView+Layout.h>
1717
#import <React/UIView+React.h>
18+
#import <yoga/Yoga.h>
1819

1920
#import "RCTShadowRawText.h"
2021
#import "RCTShadowText.h"

Libraries/Text/RCTTextViewManager.m

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
#import <React/RCTBridge.h>
1313
#import <React/RCTConvert.h>
1414
#import <React/RCTFont.h>
15+
#import <React/RCTShadowView+Layout.h>
1516
#import <React/RCTShadowView.h>
1617

1718
#import "RCTConvert+Text.h"

RNTester/RNTesterUnitTests/RCTShadowViewTests.m

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
#import <XCTest/XCTest.h>
1212

1313
#import <React/RCTRootShadowView.h>
14+
#import <React/RCTShadowView+Layout.h>
1415
#import <React/RCTShadowView.h>
1516

1617

React/React.xcodeproj/project.pbxproj

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -943,8 +943,14 @@
943943
58114A171AAE854800E7D092 /* RCTPickerManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 58114A151AAE854800E7D092 /* RCTPickerManager.m */; };
944944
58114A501AAE93D500E7D092 /* RCTAsyncLocalStorage.m in Sources */ = {isa = PBXBuildFile; fileRef = 58114A4E1AAE93D500E7D092 /* RCTAsyncLocalStorage.m */; };
945945
58C571C11AA56C1900CDF9C8 /* RCTDatePickerManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 58C571BF1AA56C1900CDF9C8 /* RCTDatePickerManager.m */; };
946+
590D7BFD1EBD458B00D8A370 /* RCTShadowView+Layout.h in Headers */ = {isa = PBXBuildFile; fileRef = 590D7BFB1EBD458B00D8A370 /* RCTShadowView+Layout.h */; };
947+
590D7BFE1EBD458B00D8A370 /* RCTShadowView+Layout.h in Headers */ = {isa = PBXBuildFile; fileRef = 590D7BFB1EBD458B00D8A370 /* RCTShadowView+Layout.h */; };
948+
590D7BFF1EBD458B00D8A370 /* RCTShadowView+Layout.m in Sources */ = {isa = PBXBuildFile; fileRef = 590D7BFC1EBD458B00D8A370 /* RCTShadowView+Layout.m */; };
949+
590D7C001EBD458B00D8A370 /* RCTShadowView+Layout.m in Sources */ = {isa = PBXBuildFile; fileRef = 590D7BFC1EBD458B00D8A370 /* RCTShadowView+Layout.m */; };
946950
59A7B9FD1E577DBF0068EDBF /* RCTRootContentView.h in Headers */ = {isa = PBXBuildFile; fileRef = 59A7B9FB1E577DBF0068EDBF /* RCTRootContentView.h */; };
947951
59A7B9FE1E577DBF0068EDBF /* RCTRootContentView.m in Sources */ = {isa = PBXBuildFile; fileRef = 59A7B9FC1E577DBF0068EDBF /* RCTRootContentView.m */; };
952+
59B1EBC91EBD46250047B19B /* RCTShadowView+Layout.h in Copy Headers */ = {isa = PBXBuildFile; fileRef = 590D7BFB1EBD458B00D8A370 /* RCTShadowView+Layout.h */; };
953+
59B1EBCA1EBD47520047B19B /* RCTShadowView+Layout.h in Copy Headers */ = {isa = PBXBuildFile; fileRef = 590D7BFB1EBD458B00D8A370 /* RCTShadowView+Layout.h */; };
948954
59FBEFB01E46D91C0095D885 /* RCTScrollContentShadowView.h in Headers */ = {isa = PBXBuildFile; fileRef = 59FBEFAC1E46D91C0095D885 /* RCTScrollContentShadowView.h */; };
949955
59FBEFB11E46D91C0095D885 /* RCTScrollContentShadowView.h in Headers */ = {isa = PBXBuildFile; fileRef = 59FBEFAC1E46D91C0095D885 /* RCTScrollContentShadowView.h */; };
950956
59FBEFB21E46D91C0095D885 /* RCTScrollContentShadowView.m in Sources */ = {isa = PBXBuildFile; fileRef = 59FBEFAD1E46D91C0095D885 /* RCTScrollContentShadowView.m */; };
@@ -1072,6 +1078,7 @@
10721078
dstPath = include/React;
10731079
dstSubfolderSpec = 16;
10741080
files = (
1081+
59B1EBCA1EBD47520047B19B /* RCTShadowView+Layout.h in Copy Headers */,
10751082
3D7BFD351EA8E43F008DFB7A /* RCTDevSettings.h in Copy Headers */,
10761083
3D7BFD331EA8E433008DFB7A /* RCTPackagerClient.h in Copy Headers */,
10771084
3D0976D71E9739FB00B9C6DD /* RCTBridge+JavaScriptCore.h in Copy Headers */,
@@ -1264,6 +1271,7 @@
12641271
dstPath = include/React;
12651272
dstSubfolderSpec = 16;
12661273
files = (
1274+
59B1EBC91EBD46250047B19B /* RCTShadowView+Layout.h in Copy Headers */,
12671275
3D7BFD311EA8E41F008DFB7A /* RCTPackagerClient.h in Copy Headers */,
12681276
3D7BFD291EA8E37B008DFB7A /* RCTDevSettings.h in Copy Headers */,
12691277
3D0976D81E973A0200B9C6DD /* RCTBridge+JavaScriptCore.h in Copy Headers */,
@@ -1787,6 +1795,8 @@
17871795
58114A4F1AAE93D500E7D092 /* RCTAsyncLocalStorage.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RCTAsyncLocalStorage.h; sourceTree = "<group>"; };
17881796
58C571BF1AA56C1900CDF9C8 /* RCTDatePickerManager.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RCTDatePickerManager.m; sourceTree = "<group>"; };
17891797
58C571C01AA56C1900CDF9C8 /* RCTDatePickerManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; lineEnding = 0; path = RCTDatePickerManager.h; sourceTree = "<group>"; xcLanguageSpecificationIdentifier = xcode.lang.objcpp; };
1798+
590D7BFB1EBD458B00D8A370 /* RCTShadowView+Layout.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "RCTShadowView+Layout.h"; sourceTree = "<group>"; };
1799+
590D7BFC1EBD458B00D8A370 /* RCTShadowView+Layout.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "RCTShadowView+Layout.m"; sourceTree = "<group>"; };
17901800
59A7B9FB1E577DBF0068EDBF /* RCTRootContentView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RCTRootContentView.h; sourceTree = "<group>"; };
17911801
59A7B9FC1E577DBF0068EDBF /* RCTRootContentView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RCTRootContentView.m; sourceTree = "<group>"; };
17921802
59FBEFAC1E46D91C0095D885 /* RCTScrollContentShadowView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RCTScrollContentShadowView.h; sourceTree = "<group>"; };
@@ -2139,6 +2149,8 @@
21392149
131B6AF31AF1093D00FFC3E0 /* RCTSegmentedControlManager.m */,
21402150
13E0674B1A70F44B002CDEE1 /* RCTShadowView.h */,
21412151
13E0674C1A70F44B002CDEE1 /* RCTShadowView.m */,
2152+
590D7BFB1EBD458B00D8A370 /* RCTShadowView+Layout.h */,
2153+
590D7BFC1EBD458B00D8A370 /* RCTShadowView+Layout.m */,
21422154
13AF20431AE707F8005F5298 /* RCTSlider.h */,
21432155
13AF20441AE707F9005F5298 /* RCTSlider.m */,
21442156
14F484541AABFCE100FDF6B9 /* RCTSliderManager.h */,
@@ -2515,6 +2527,7 @@
25152527
13134C991E296B2A00B9F3CB /* RCTCxxMethod.h in Headers */,
25162528
3D302F471DF828F800D6DDAE /* RCTPlatform.h in Headers */,
25172529
13134C951E296B2A00B9F3CB /* RCTObjcExecutor.h in Headers */,
2530+
590D7BFE1EBD458B00D8A370 /* RCTShadowView+Layout.h in Headers */,
25182531
13134C9D1E296B2A00B9F3CB /* RCTCxxModule.h in Headers */,
25192532
59FBEFB11E46D91C0095D885 /* RCTScrollContentShadowView.h in Headers */,
25202533
130443A31E3FEAAE00D93A67 /* RCTFollyConvert.h in Headers */,
@@ -2898,6 +2911,7 @@
28982911
3D80DA8C1DF820620028D040 /* RCTTextDecorationLineType.h in Headers */,
28992912
3D80DA8D1DF820620028D040 /* RCTView.h in Headers */,
29002913
3D80DA8E1DF820620028D040 /* RCTViewControllerProtocol.h in Headers */,
2914+
590D7BFD1EBD458B00D8A370 /* RCTShadowView+Layout.h in Headers */,
29012915
3D80DA8F1DF820620028D040 /* RCTViewManager.h in Headers */,
29022916
13134CA01E296B2A00B9F3CB /* RCTCxxUtils.h in Headers */,
29032917
3D80DA901DF820620028D040 /* RCTWebView.h in Headers */,
@@ -3282,6 +3296,7 @@
32823296
2D3B5E991D9B089A00451313 /* RCTDisplayLink.m in Sources */,
32833297
2D3B5EA11D9B08B600451313 /* RCTModuleData.mm in Sources */,
32843298
2D3B5EEA1D9B09CD00451313 /* RCTTabBar.m in Sources */,
3299+
590D7C001EBD458B00D8A370 /* RCTShadowView+Layout.m in Sources */,
32853300
2D3B5EAE1D9B08F800451313 /* RCTEventEmitter.m in Sources */,
32863301
2D3B5ECA1D9B095F00451313 /* RCTComponentData.m in Sources */,
32873302
2D3B5EA31D9B08BE00451313 /* RCTParserUtils.m in Sources */,
@@ -3560,6 +3575,7 @@
35603575
191E3EC11C29DC3800C180A6 /* RCTRefreshControl.m in Sources */,
35613576
13C156051AB1A2840079392D /* RCTWebView.m in Sources */,
35623577
83CBBA601A601EAA00E9B192 /* RCTBridge.m in Sources */,
3578+
590D7BFF1EBD458B00D8A370 /* RCTShadowView+Layout.m in Sources */,
35633579
13C156061AB1A2840079392D /* RCTWebViewManager.m in Sources */,
35643580
58114A161AAE854800E7D092 /* RCTPicker.m in Sources */,
35653581
137327E81AA5CF210034F82E /* RCTTabBarItem.m in Sources */,

React/ReactLegacy.xcodeproj/project.pbxproj

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -696,6 +696,12 @@
696696
594AD5D21E46D87500B07237 /* RCTScrollContentViewManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 594AD5CB1E46D87500B07237 /* RCTScrollContentViewManager.h */; };
697697
594AD5D31E46D87500B07237 /* RCTScrollContentViewManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 594AD5CC1E46D87500B07237 /* RCTScrollContentViewManager.m */; };
698698
594AD5D41E46D87500B07237 /* RCTScrollContentViewManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 594AD5CC1E46D87500B07237 /* RCTScrollContentViewManager.m */; };
699+
595405571EC03A1700766D3C /* RCTShadowView+Layout.h in Headers */ = {isa = PBXBuildFile; fileRef = 595405551EC03A1700766D3C /* RCTShadowView+Layout.h */; };
700+
595405581EC03A1700766D3C /* RCTShadowView+Layout.h in Headers */ = {isa = PBXBuildFile; fileRef = 595405551EC03A1700766D3C /* RCTShadowView+Layout.h */; };
701+
595405591EC03A1700766D3C /* RCTShadowView+Layout.m in Sources */ = {isa = PBXBuildFile; fileRef = 595405561EC03A1700766D3C /* RCTShadowView+Layout.m */; };
702+
5954055A1EC03A1700766D3C /* RCTShadowView+Layout.m in Sources */ = {isa = PBXBuildFile; fileRef = 595405561EC03A1700766D3C /* RCTShadowView+Layout.m */; };
703+
5954055B1EC03A7F00766D3C /* RCTShadowView+Layout.h in Copy Headers */ = {isa = PBXBuildFile; fileRef = 595405551EC03A1700766D3C /* RCTShadowView+Layout.h */; };
704+
5954055C1EC03A8E00766D3C /* RCTShadowView+Layout.h in Copy Headers */ = {isa = PBXBuildFile; fileRef = 595405551EC03A1700766D3C /* RCTShadowView+Layout.h */; };
699705
597AD1BD1E577D7800152581 /* RCTRootContentView.h in Headers */ = {isa = PBXBuildFile; fileRef = 597AD1BB1E577D7800152581 /* RCTRootContentView.h */; };
700706
597AD1BE1E577D7800152581 /* RCTRootContentView.h in Headers */ = {isa = PBXBuildFile; fileRef = 597AD1BB1E577D7800152581 /* RCTRootContentView.h */; };
701707
597AD1BF1E577D7800152581 /* RCTRootContentView.m in Sources */ = {isa = PBXBuildFile; fileRef = 597AD1BC1E577D7800152581 /* RCTRootContentView.m */; };
@@ -808,6 +814,7 @@
808814
dstPath = include/React;
809815
dstSubfolderSpec = 16;
810816
files = (
817+
5954055C1EC03A8E00766D3C /* RCTShadowView+Layout.h in Copy Headers */,
811818
2D7B05391E9D82080032604E /* RCTBridge+Private.h in Copy Headers */,
812819
3D0976C31E9739AE00B9C6DD /* RCTBridge+JavaScriptCore.h in Copy Headers */,
813820
3D6B76D51E83DD3A008FA614 /* RCTDevSettings.h in Copy Headers */,
@@ -970,6 +977,7 @@
970977
dstPath = include/React;
971978
dstSubfolderSpec = 16;
972979
files = (
980+
5954055B1EC03A7F00766D3C /* RCTShadowView+Layout.h in Copy Headers */,
973981
3D7BFCEB1EA8E23A008DFB7A /* RCTDevSettings.h in Copy Headers */,
974982
3D0976C41E9739B400B9C6DD /* RCTBridge+JavaScriptCore.h in Copy Headers */,
975983
A12E9E1F1E5DEAEF0029001B /* RCTPackagerClient.h in Copy Headers */,
@@ -1335,6 +1343,8 @@
13351343
594AD5CA1E46D87500B07237 /* RCTScrollContentShadowView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RCTScrollContentShadowView.m; sourceTree = "<group>"; };
13361344
594AD5CB1E46D87500B07237 /* RCTScrollContentViewManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RCTScrollContentViewManager.h; sourceTree = "<group>"; };
13371345
594AD5CC1E46D87500B07237 /* RCTScrollContentViewManager.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RCTScrollContentViewManager.m; sourceTree = "<group>"; };
1346+
595405551EC03A1700766D3C /* RCTShadowView+Layout.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "RCTShadowView+Layout.h"; sourceTree = "<group>"; };
1347+
595405561EC03A1700766D3C /* RCTShadowView+Layout.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "RCTShadowView+Layout.m"; sourceTree = "<group>"; };
13381348
597AD1BB1E577D7800152581 /* RCTRootContentView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RCTRootContentView.h; sourceTree = "<group>"; };
13391349
597AD1BC1E577D7800152581 /* RCTRootContentView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RCTRootContentView.m; sourceTree = "<group>"; };
13401350
65F3E41D1E73031C009375BD /* systemJSCWrapper.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = systemJSCWrapper.cpp; sourceTree = "<group>"; };
@@ -1558,6 +1568,8 @@
15581568
131B6AF31AF1093D00FFC3E0 /* RCTSegmentedControlManager.m */,
15591569
13E0674B1A70F44B002CDEE1 /* RCTShadowView.h */,
15601570
13E0674C1A70F44B002CDEE1 /* RCTShadowView.m */,
1571+
595405551EC03A1700766D3C /* RCTShadowView+Layout.h */,
1572+
595405561EC03A1700766D3C /* RCTShadowView+Layout.m */,
15611573
13AF20431AE707F8005F5298 /* RCTSlider.h */,
15621574
13AF20441AE707F9005F5298 /* RCTSlider.m */,
15631575
14F484541AABFCE100FDF6B9 /* RCTSliderManager.h */,
@@ -1935,6 +1947,7 @@
19351947
3D302F6B1DF828F800D6DDAE /* RCTActivityIndicatorViewManager.h in Headers */,
19361948
3D302F6C1DF828F800D6DDAE /* RCTAnimationType.h in Headers */,
19371949
3D302F6D1DF828F800D6DDAE /* RCTAutoInsetsProtocol.h in Headers */,
1950+
595405581EC03A1700766D3C /* RCTShadowView+Layout.h in Headers */,
19381951
3D302F6E1DF828F800D6DDAE /* RCTBorderDrawing.h in Headers */,
19391952
3D302F6F1DF828F800D6DDAE /* RCTBorderStyle.h in Headers */,
19401953
3D302F701DF828F800D6DDAE /* RCTComponent.h in Headers */,
@@ -2109,6 +2122,7 @@
21092122
3D80DA541DF820620028D040 /* RCTI18nUtil.h in Headers */,
21102123
3D80DA551DF820620028D040 /* RCTKeyboardObserver.h in Headers */,
21112124
3D80DA561DF820620028D040 /* RCTRedBox.h in Headers */,
2125+
595405571EC03A1700766D3C /* RCTShadowView+Layout.h in Headers */,
21122126
3D80DA571DF820620028D040 /* RCTSourceCode.h in Headers */,
21132127
3D80DA581DF820620028D040 /* RCTStatusBarManager.h in Headers */,
21142128
3D80DA591DF820620028D040 /* RCTTiming.h in Headers */,
@@ -2507,6 +2521,7 @@
25072521
A12E9E5D1E5DF8720029001B /* RCTReloadPackagerMethod.m in Sources */,
25082522
3D5AC71A1E0056E0000F9153 /* RCTTVNavigationEventEmitter.m in Sources */,
25092523
2D3B5EA61D9B08CA00451313 /* RCTTouchEvent.m in Sources */,
2524+
5954055A1EC03A1700766D3C /* RCTShadowView+Layout.m in Sources */,
25102525
2D8C2E331DA40441000EE098 /* RCTMultipartStreamReader.m in Sources */,
25112526
2D3B5EF01D9B09E300451313 /* RCTWrapperViewController.m in Sources */,
25122527
3D5AC7141E0056C7000F9153 /* RCTTVView.m in Sources */,
@@ -2612,6 +2627,7 @@
26122627
A12E9E8F1E5DFA620029001B /* RCTSamplingProfilerPackagerMethod.mm in Sources */,
26132628
13BCE8091C99CB9D00DD7AAD /* RCTRootShadowView.m in Sources */,
26142629
14C2CA711B3AC63800E6CBB2 /* RCTModuleMethod.m in Sources */,
2630+
595405591EC03A1700766D3C /* RCTShadowView+Layout.m in Sources */,
26152631
006FC4141D9B20820057AAAD /* RCTMultipartDataTask.m in Sources */,
26162632
A12E9E1C1E5DEA350029001B /* RCTPackagerClient.m in Sources */,
26172633
13CC8A821B17642100940AE7 /* RCTBorderDrawing.m in Sources */,

React/Views/RCTShadowView+Layout.h

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
/**
2+
* Copyright (c) 2015-present, Facebook, Inc.
3+
* All rights reserved.
4+
*
5+
* This source code is licensed under the BSD-style license found in the
6+
* LICENSE file in the root directory of this source tree. An additional grant
7+
* of patent rights can be found in the PATENTS file in the same directory.
8+
*/
9+
10+
#import <UIKit/UIKit.h>
11+
12+
#import <React/RCTShadowView.h>
13+
14+
@interface RCTShadowView (Layout)
15+
16+
@property (nonatomic, readonly) UIEdgeInsets paddingAsInsets;
17+
@property (nonatomic, readonly) UIEdgeInsets borderAsInsets;
18+
@property (nonatomic, readonly) UIEdgeInsets compoundInsets;
19+
@property (nonatomic, readonly) CGSize availableSize;
20+
21+
@end

React/Views/RCTShadowView+Layout.m

Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
/**
2+
* Copyright (c) 2015-present, Facebook, Inc.
3+
* All rights reserved.
4+
*
5+
* This source code is licensed under the BSD-style license found in the
6+
* LICENSE file in the root directory of this source tree. An additional grant
7+
* of patent rights can be found in the PATENTS file in the same directory.
8+
*/
9+
10+
#import "RCTShadowView+Layout.h"
11+
12+
#import <yoga/Yoga.h>
13+
14+
@implementation RCTShadowView (Layout)
15+
16+
- (UIEdgeInsets)paddingAsInsets
17+
{
18+
YGNodeRef yogaNode = self.yogaNode;
19+
return (UIEdgeInsets){
20+
YGNodeLayoutGetPadding(yogaNode, YGEdgeTop),
21+
YGNodeLayoutGetPadding(yogaNode, YGEdgeLeft),
22+
YGNodeLayoutGetPadding(yogaNode, YGEdgeBottom),
23+
YGNodeLayoutGetPadding(yogaNode, YGEdgeRight)
24+
};
25+
}
26+
27+
- (UIEdgeInsets)borderAsInsets
28+
{
29+
YGNodeRef yogaNode = self.yogaNode;
30+
return (UIEdgeInsets){
31+
YGNodeLayoutGetBorder(yogaNode, YGEdgeTop),
32+
YGNodeLayoutGetBorder(yogaNode, YGEdgeLeft),
33+
YGNodeLayoutGetBorder(yogaNode, YGEdgeBottom),
34+
YGNodeLayoutGetBorder(yogaNode, YGEdgeRight)
35+
};
36+
}
37+
38+
- (UIEdgeInsets)compoundInsets
39+
{
40+
UIEdgeInsets borderAsInsets = self.borderAsInsets;
41+
UIEdgeInsets paddingAsInsets = self.paddingAsInsets;
42+
43+
return (UIEdgeInsets){
44+
borderAsInsets.top + paddingAsInsets.top,
45+
borderAsInsets.left + paddingAsInsets.left,
46+
borderAsInsets.bottom + paddingAsInsets.bottom,
47+
borderAsInsets.right + paddingAsInsets.right
48+
};
49+
}
50+
51+
- (CGSize)availableSize
52+
{
53+
return UIEdgeInsetsInsetRect((CGRect){CGPointZero, self.frame.size}, self.compoundInsets).size;
54+
}
55+
56+
@end

React/Views/RCTShadowView.h

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -128,8 +128,6 @@ typedef void (^RCTApplierBlock)(NSDictionary<NSNumber *, UIView *> *viewRegistry
128128
@property (nonatomic, assign) YGValue paddingBottom;
129129
@property (nonatomic, assign) YGValue paddingRight;
130130

131-
- (UIEdgeInsets)paddingAsInsets;
132-
133131
/**
134132
* Flexbox properties. All zero/disabled by default
135133
*/

0 commit comments

Comments
 (0)