Lukas Wöhrl
24f574032a
Fix compilation on MSVC by moving YGConfig to C++
...
Summary:
This PR fixes the compilation on MSVC. I moved the `YGConfig` creation to a C++ constructor.
Addionally it removes the "dot" notation on `YGValue`, I didn't want to change that type to a C++ constructor, because I think this will break the ABI.
Closes https://github.com/facebook/yoga/pull/746
Differential Revision: D7498141
Pulled By: emilsjolander
fbshipit-source-id: 5f5308ff838dcd803065785ddc08b2404524acb9
2018-04-04 10:00:53 -07:00
Pritesh Nandgaonkar
4841aed82c
Change the return type of getMarginForAxis to YGFloatOptional
...
Reviewed By: emilsjolander
Differential Revision: D7350337
fbshipit-source-id: dd1ee2fcd295ccd14f7d414ab0c24090b24e91e0
2018-04-04 08:31:53 -07:00
Pritesh Nandgaonkar
3a65fa56c5
Change the return type of getTrailingMargin to YGFloatOptional
...
Reviewed By: emilsjolander
Differential Revision: D7350221
fbshipit-source-id: 61a67364c1975ec6dd1883bc2cb4968b830c73df
2018-04-04 08:31:53 -07:00
Pritesh Nandgaonkar
1024e98b95
Changed the return type of getLeadingMargin to YGFloatOptional
...
Reviewed By: emilsjolander
Differential Revision: D7349907
fbshipit-source-id: b20894fbc33fd5b29a28f3c9174d1b5f406774ab
2018-04-04 08:31:53 -07:00
Pritesh Nandgaonkar
f0490d1217
Refactored relativePosition private method to YGFloatOptional return type
...
Reviewed By: emilsjolander
Differential Revision: D7344939
fbshipit-source-id: 72443d38426a211d3e84be814e6a61baf4d26703
2018-04-04 08:31:53 -07:00
Pritesh Nandgaonkar
de70bc74d5
Change the type of getTrailingPosition to YGFloatOptional
...
Reviewed By: emilsjolander
Differential Revision: D7344710
fbshipit-source-id: eb4c422b6e0f55d90b083221aa8ff1ab797d58a8
2018-04-04 08:31:52 -07:00
Pritesh Nandgaonkar
f3c2ab306c
Changed the type of return value of getLeadingPosition to YGFloatOptional
...
Reviewed By: emilsjolander
Differential Revision: D7344367
fbshipit-source-id: 0f5a667ca357b2ce056c86763aa3e9e4c54b82f0
2018-04-04 08:31:52 -07:00
Pritesh Nandgaonkar
0186ccf006
Changed the type of computedFlexBasis to YGFloatOptional in YGLayout
...
Reviewed By: emilsjolander
Differential Revision: D7340413
fbshipit-source-id: 39247b2b582a682e602f49f58b4bbd2bf0c995af
2018-04-04 08:31:52 -07:00
Pritesh Nandgaonkar
fe3a9d4013
Fixed types of getLeadingPaddingAndBorder and getTrailingPaddingAndBorder to YGFloatOptional
...
Reviewed By: emilsjolander
Differential Revision: D7339998
fbshipit-source-id: aa24335c2db1cd895b9711214b72195add718c32
2018-04-04 08:31:52 -07:00
Pritesh Nandgaonkar
ee0d621d2a
Changed the return type of trailing padding to YGFloatOptional
...
Reviewed By: emilsjolander
Differential Revision: D7339712
fbshipit-source-id: 483c5886838c14b17cb731c81abb9fc80f519956
2018-04-04 08:31:52 -07:00
Pritesh Nandgaonkar
51f5cd4810
Updated the implementation of leading padding
...
Reviewed By: emilsjolander
Differential Revision: D7336690
fbshipit-source-id: b2a2f010026f26fc2cc9fb35ad921da8f7017c9f
2018-04-04 08:31:52 -07:00
David Vacca
29ff30c539
Rename YogaNode.parent -> YogaNode.owner
...
Reviewed By: priteshrnandgaonkar
Differential Revision: D7352778
fbshipit-source-id: dcf1af5e72bfc3063b5c4bda197d7952a9194768
2018-04-01 18:32:12 -07:00
Jonathan Dann
cb3103ce09
Mark more member functions as const
...
Reviewed By: priteshrnandgaonkar
Differential Revision: D7291364
fbshipit-source-id: 2e7d96cfe0345692ffa411bb21a80eb7a859880b
2018-03-21 16:40:06 -07:00
Jonathan Dann
ed0ba1bfc7
Pass some constructor argumetns by const-reference
...
Reviewed By: priteshrnandgaonkar
Differential Revision: D7291363
fbshipit-source-id: 22e606d0b3fa1133d7e0334c8cf9f5f1f32fe64b
2018-03-21 16:40:06 -07:00
Jonathan Dann
0b085a80bd
Pass-by-reference in YGNode::setStyle() ::setChildren() ::setLayout()
...
Reviewed By: priteshrnandgaonkar
Differential Revision: D7291096
fbshipit-source-id: 7a4025831811d622050adbb5f86608855b94d68e
2018-03-21 16:40:06 -07:00
Pritesh Nandgaonkar
c75ce8146f
Add constructor in YGLayout
...
Reviewed By: emilsjolander
Differential Revision: D7019653
fbshipit-source-id: 5a2655626db0915fcebe7d4517e2d0b2e2484460
2018-02-20 05:55:36 -08:00
Pritesh Nandgaonkar
b9991d33e3
Move YGStyle to seperate file and add constructors
...
Reviewed By: emilsjolander
Differential Revision: D7016575
fbshipit-source-id: eb28df0ffb4cc813b23edaff80d7d4ebc56ce6af
2018-02-20 05:55:36 -08:00
Sophie Alpert
1490ab12ef
Update license headers for MIT license
...
Summary:
Includes React Native and its dependencies Fresco, Metro, and Yoga. Excludes samples/examples/docs.
find: ^(?:( *)|( *(?:[\*~#]|::))( )? *)?Copyright (?:\(c\) )?(\d{4})\b.+Facebook[\s\S]+?BSD[\s\S]+?(?:this source tree|the same directory)\.$
replace: $1$2$3Copyright (c) $4-present, Facebook, Inc.\n$2\n$1$2$3This source code is licensed under the MIT license found in the\n$1$2$3LICENSE file in the root directory of this source tree.
Reviewed By: TheSavior, yungsters
Differential Revision: D7007050
fbshipit-source-id: 37dd6bf0ffec0923bfc99c260bb330683f35553e
2018-02-16 18:31:53 -08:00
Pritesh Nandgaonkar
62d01006a1
Moved margin axis function as a method in YGNode
...
Reviewed By: emilsjolander
Differential Revision: D6900003
fbshipit-source-id: a42da3bcd3126bf8c432c6740987b5ec0b572172
2018-02-06 08:46:05 -08:00
Pritesh Nandgaonkar
1475fc4856
Moved trailing padding and border function as a method on YGNode
...
Reviewed By: emilsjolander
Differential Revision: D6899571
fbshipit-source-id: 7f686e8771d5a94aae502191516557b20c557d7c
2018-02-06 08:46:05 -08:00
Pritesh Nandgaonkar
34b7ec82b5
Moved out logic to calculate size consumed on a line into seperate function
...
Reviewed By: emilsjolander
Differential Revision: D6797640
fbshipit-source-id: ad9757e7d603c0ce57f452b1e5c404037605bed9
2018-02-05 07:04:53 -08:00
Pritesh Nandgaonkar
9f7cedbe14
Remove the use of legacy flag and log the diff if its used
...
Reviewed By: emilsjolander
Differential Revision: D6856812
fbshipit-source-id: e4724d80702cc75c1894e348e137b24e663573d2
2018-02-02 07:40:25 -08:00
Pritesh Nandgaonkar
831a1bb4b1
Moved leadingpaddingnandborder function as a method on YGNode
...
Reviewed By: emilsjolander
Differential Revision: D6711991
fbshipit-source-id: 41ad7191bf8df6fe3131106436dc0c87e9dee297
2018-01-15 10:17:29 -08:00
Pritesh Nandgaonkar
2fe65b032e
Move trailing padding function as a method on YGNode
...
Reviewed By: emilsjolander
Differential Revision: D6711897
fbshipit-source-id: fa2e1a8e31242358a6e94aef51368e2c2c58b79d
2018-01-15 10:17:29 -08:00
Pritesh Nandgaonkar
bd7bf94af9
Moved leading padding function as a method on YGNode
...
Reviewed By: emilsjolander
Differential Revision: D6711830
fbshipit-source-id: d2f6f55ec23b007bb51f8a91385e02236f46dc7b
2018-01-15 10:17:29 -08:00
Pritesh Nandgaonkar
7f94bff89a
Resolve direction function is now as a method on YGNode
...
Reviewed By: emilsjolander
Differential Revision: D6711755
fbshipit-source-id: a0e80596e10f0c7fb7a31b75377da4db846c4bbb
2018-01-15 10:17:29 -08:00
Pritesh Nandgaonkar
82088580ab
Move trailing border function as a method on YGNode
...
Reviewed By: emilsjolander
Differential Revision: D6711666
fbshipit-source-id: fe4fdfc2db59d03beb763317e1a6f9de52f851d4
2018-01-15 10:17:29 -08:00
Pritesh Nandgaonkar
210ae5b95a
Move leading border function as a method on YGNode
...
Reviewed By: emilsjolander
Differential Revision: D6711523
fbshipit-source-id: 76e90083a9dd0728dc9557cc3b0a1f431f3afd5d
2018-01-15 10:17:29 -08:00
Pritesh Nandgaonkar
2b27f1aa19
Moved YGNodeIsFlex as a method on YGNode
...
Reviewed By: emilsjolander
Differential Revision: D6711536
fbshipit-source-id: e60be7da55e3e8d254eb253c141d219a37a76087
2018-01-15 10:17:28 -08:00
Semen Zhydenko
d2c569795c
Typos in comments and log messages
...
Summary:
No code changes, no testing required.
alligned -> aligned
allignment -> alignment
completly -> completely
conseptually -> conceptually
decendents -> descendants
indefinetly -> indefinitely
dimention -> dimension
doesnt -> doesn't
safegaurd -> safeguard
intialization -> initialization
hierachy -> hierarchy
happend -> happened
gaurd -> guard
programatically -> programmatically
initalized -> initialized
immidiately -> immediately
occured -> occurred
unkown -> unknown
neccessary -> necessary
neccesarily -> necessarily
occuring -> occurring
comoponent -> component
propogate -> propagate
recieved -> received
referece -> reference
perfomance -> performance
recieving -> receiving
subsquently -> subsequently
scoll -> scroll
suprisingly -> surprisingly
targetting -> targeting
tranform -> transform
symetrical -> symmetrical
wtih -> with
Closes https://github.com/facebook/react-native/pull/17578
Differential Revision: D6718791
Pulled By: shergin
fbshipit-source-id: 4ab79c1131ec5971d35a0c7199eba7ec0a0918ad
2018-01-12 22:18:45 -08:00
Pritesh Nandgaonkar
4b4959a21c
Moved setPosition as a method on YGNode
...
Reviewed By: emilsjolander
Differential Revision: D6683387
fbshipit-source-id: 83f64101faa700933771c69b222056ec2a6b8d1e
2018-01-11 05:13:56 -08:00
Pritesh Nandgaonkar
89c14579d0
Moved trailingmargin function as a method on YGNode
...
Reviewed By: emilsjolander
Differential Revision: D6683313
fbshipit-source-id: 5ee458c2f4698768724901df0e3f5d8805c7c8f5
2018-01-11 05:13:51 -08:00
Pritesh Nandgaonkar
f0f4bee429
Moved getLeadingMargin as a function on YGNode
...
Reviewed By: emilsjolander
Differential Revision: D6683270
fbshipit-source-id: a26663006419e13cb783e9849183e3c665f59b3c
2018-01-11 05:13:47 -08:00
Pritesh Nandgaonkar
b709ff4f13
Moved getTrailingPosition function as a method on YGNode
...
Reviewed By: emilsjolander
Differential Revision: D6683205
fbshipit-source-id: d30003d90d634c644d92c833e58165b073d4d13e
2018-01-11 05:13:45 -08:00
Pritesh Nandgaonkar
040197a485
Moved is isTrailingPos defined as a method on YGNode
...
Reviewed By: emilsjolander
Differential Revision: D6683190
fbshipit-source-id: c37e57d02cc4475eb8181a2bb003c555bdb0aaea
2018-01-11 05:13:43 -08:00
Pritesh Nandgaonkar
98a74b0a2b
Moved isLeadingPos defined as a method on YGNode
...
Reviewed By: emilsjolander
Differential Revision: D6682956
fbshipit-source-id: 31c60e0eae906e1434a6969f3cd786fcaf9097a5
2018-01-11 05:13:39 -08:00
Pritesh Nandgaonkar
00f1a37b2c
Moved YGNodeLeading position as a method on YGNode
...
Reviewed By: emilsjolander
Differential Revision: D6682929
fbshipit-source-id: 3607aab1544b62b1126c5d75b2f6fb8f5ca2d45f
2018-01-11 05:13:33 -08:00
Valentin Shergin
c2b0f34533
Introducing on-dirty handler (aka `YGNodeSetDirtiedFunc`)
...
Summary:
Currently, we can dirty leaf nodes with `measure` function, we also can get `dirty` status for any node, but we cannot handle a moment when this change happen. This diff introduces a new call-back-manner handler for it.
We need this to plug Yoga inside and outside other layout systems without maintaining own dirty propagation infrastructure.
Consider using Yoga for flex-box layout in React Native where we can have deeply nested layout like `<View><Text><View><Text/></View></Text></View>` where all content of all <Text> nodes are laid out using native text/inline (not flex-box!) layout system. In this case, when some change dirties some deeply nested Yoga node, we have to propagate the dirty state down to outer one. Having this handler makes possible to wire up `on-dirty` handler on the root node and `setDirtied` for the leaf node.
Removing custom dirting mechanism from React Native should drastically simplify rendering layer and bring a huge performance win.
Reviewed By: emilsjolander
Differential Revision: D6597856
fbshipit-source-id: 6588cd712f9c1dede4af32f3d326f90103e48ff0
2018-01-10 09:56:41 -08:00
Pritesh Nandgaonkar
d85da86dc7
Move YGNodeResolveFlexShrink to a method on YGNode
...
Reviewed By: emilsjolander
Differential Revision: D6611418
fbshipit-source-id: 6e5ba39b555d313a967800589891027920112c15
2018-01-08 03:01:30 -08:00
Pritesh Nandgaonkar
6627d7723c
Moved YGResolveFlexGrow as a method on YGNode
...
Reviewed By: emilsjolander
Differential Revision: D6611385
fbshipit-source-id: 71660946c469fac77c5ffa0284c793e6adc9db7b
2018-01-08 03:01:30 -08:00
Pritesh Nandgaonkar
0a9e652bdd
Move markDirtyInternal as a method in YGNode
...
Reviewed By: emilsjolander
Differential Revision: D6611287
fbshipit-source-id: 54402145d51ea717553ea136be739b9880a79817
2018-01-08 03:01:30 -08:00
Pritesh Nandgaonkar
28968e2c0b
Move YGCloneChildrenIfNeeded as a method on `YGNode`
...
Reviewed By: emilsjolander
Differential Revision: D6611155
fbshipit-source-id: 463723a363e0fbd2c7686f65226eca73236bd07e
2018-01-08 03:01:30 -08:00
Pritesh Nandgaonkar
a163f70f87
Optimize the performance of Origami
...
Reviewed By: emilsjolander
Differential Revision: D6619293
fbshipit-source-id: c1632efd97f47696b7f8bb1b3e763de92c707287
2017-12-22 06:51:09 -08:00
Pritesh Nandgaonkar
f1055bcac8
Make YGNode as c++ struct with properties exposed through accessors
...
Reviewed By: emilsjolander
Differential Revision: D6592257
fbshipit-source-id: 641e8b9462ad00731a094511f9f5608b23a6bb21
2017-12-19 11:32:49 -08:00