Lucas Rocha
06c708053f
Change Java to use array indexes instead of methods
...
Method invocations are not entirely free on Android. Change the
generated Java code to use the same array-based approach used in
JS and C to compute dimensions, positions, etc instead of relying
too heavily on method invovations. As a bonus, the Java transpiler
becomes a lot simpler because the code is more analogous to the C
counterpart.
In my local benchmarks this change gives us a major performance
boost on Android (between 15% and 30%) depending on the device
and the runtime (Dalvik|Art).
2015-09-08 15:15:46 +01:00
Colin Eberhardt
6d10a623d0
Added Java to the build
2015-08-12 07:42:29 +01:00
Jared Forsyth
f7bab441e0
change to an xit
2015-08-06 12:35:12 -07:00
Martin Konicek
b8981485d4
Fix a typo in CSSLayout.toString
2015-07-30 12:22:14 +01:00
Andy Street
7104f7c8eb
Lazy init children ArrayList in CSSNode, update removeChildAt to return removed child
2015-07-29 11:39:42 +01:00
Lucas Rocha
3fc99b02ae
Add style direction getter to CSSNode
2015-05-27 19:19:43 +01:00
Krzysztof Magiera
e932e4420d
Update visibility of isDirty in CSSNode
2015-05-21 17:35:46 +01:00
Lucas Rocha
524b44200a
Expose the resolved direction in the node's layout
2015-05-20 11:35:01 +01:00
Christopher Chedeau
ee1cbacc30
Merge pull request #79 from prenaux/master
...
[Issue facebook/css-layout#78 ]: Implemented alignContent ;
2015-05-17 08:58:05 -07:00
Pierre Renaux
019fc9b88c
Merge remote-tracking branch 'upstream/master'
2015-05-17 21:54:30 +08:00
Felix Oghină
da98e234d7
[java] use getRaw to test if START/END were set
2015-05-15 16:52:57 +01:00
Felix Oghină
11f09d1a65
[java] simplify Spacing, reduce allocations
2015-05-15 14:13:25 +01:00
Lucas Rocha
6d72f472f5
Add getters for CSSNode's style width and height
2015-05-14 20:59:14 +01:00
Lucas Rocha
03dfe7bb17
Implement (padding|border|margin)-(start|end) support
2015-05-14 17:43:33 +01:00
Christopher Chedeau
c3a2ddcce7
Merge pull request #84 from lukasreichart/master
...
If the measure function is defined: only return from execution of lay…
2015-05-14 08:48:04 -07:00
Felix Oghină
bb8fdf57eb
[java] implement proper spacing objects, with support for default spacing
2015-05-14 13:59:13 +01:00
Nick Lockwood
9175721f07
Removed space before -- for consistency with code style.
2015-05-12 10:10:39 +01:00
Nick Lockwood
bf1d7eacfd
Fixed spacing for wrapped elements
2015-05-12 09:54:02 +01:00
Lucas Rocha
36a46673f9
Support ROW_REVERSE, COLUMN_REVERSE and RTL direction
2015-05-11 11:24:21 +01:00
Lukas Reichart
fca176109d
If the measure function is defined: only return from execution of layoutNode, when the node has no children.
2015-05-10 17:46:48 +02:00
Pierre Renaux
09f0c12a8f
[src/Layout.js]: Cleaner line loop in <Loop E> (alignContent layout) ;
2015-05-10 00:20:29 +08:00
Pierre Renaux
14e264f5be
Made relevant JS tests transpile to C ; [src/Layout.c]: print_css_node_rec(): print alignContent ; [src/Layout-test-utils.c]: add_failed_test(): Sets failed_test->next to NULL, otherwise the test crashes if there's one and only one failure ; Added type casts so that it can be compiled as C++ by MSVC on Windows ; [Makefile]: Added c_test_msvc target when running in Windows so that the test executable can be built and debugged with Visual Studio on Windows ;
2015-05-10 00:20:28 +08:00
Pierre Renaux
c7fbf44474
'alignContent' defaults to 'flex-start' instead of 'stretch' ;
2015-05-10 00:19:30 +08:00
Pierre Renaux
cc5f772bff
Style fixes ;
2015-05-10 00:19:29 +08:00
Pierre Renaux
7679ed77d9
Updated generated C & Java code ;
2015-05-10 00:19:28 +08:00
Pierre Renaux
998fa1d6ba
[Issue facebook/css-layout#78 ]: Implemented alignContent ;
2015-05-10 00:19:27 +08:00
Christopher Chedeau
3203e86155
Merge pull request #70 from tadeuzagallo/remove-dead-code
...
Remove unused code pointed by Xcode
2015-05-05 08:10:04 -07:00
Andrew Rasmussen
86c39b5e4f
Revert "Ensure that flex children adopt their parent's cross-axis min dimension."
...
This reverts commit b8316413b3
.
This was causing issues for existing components built with React
Native.. we need to investigate more in the future.
2015-05-01 12:16:47 -07:00
Andrew Rasmussen
5f52e947cb
Fix layout for absolutely positioned nodes with absolutely positioned parents that have border and/or padding
2015-04-30 14:40:39 -07:00
Eunchong Yu
129e41f832
Transpile to update the changes of consts omitted in #69
2015-04-26 14:11:05 +09:00
Tadeu Zagallo
aad5efe938
Remove unused code pointed by Xcode
2015-04-24 16:45:49 +01:00
Russell Keith-Magee
b8316413b3
Ensure that flex children adopt their parent's cross-axis min dimension.
2015-04-07 10:52:15 +08:00
Russell Keith-Magee
9cf2e71e01
Added extra test to check for potential division by zero.
2015-04-01 14:46:28 +08:00
Russell Keith-Magee
2b6844f00a
Simplified logic distributing flex space.
2015-03-31 18:58:56 +08:00
Russell Keith-Magee
c523b7c404
Added support for min/max width and height constraints.
2015-03-31 17:32:54 +08:00
Tom Mulcahy
ddd7a899ac
Make Java measure thread-safe.
2015-03-26 22:49:48 +00:00
Russell Keith-Magee
8f6a96adbc
Normalized C and Java definition of isDimDefined.
...
The JavaScript implementation of isDimDefined contains a check to ensure
that the dimension value is positive; the C and Java versions did not
have this check. As a result, a negative style value for 'width' (such
as that used by the "should layout node with negative width" test) would
have different layout under the C/Java implementation to the JavaScript
implementation.
This was hidden because the C/Java transpilers filtered out any negative
instantiation values from the test suite. In effect, the negative value
tests weren't running on the C/Java implementation.
This patch removes the negative value filter from the transpiler, and
makes the isDimDefined definition consistent between the three
implementations.
2015-03-22 14:36:16 +08:00
daviskoh
9c71cc6d1f
resolve merge conflicts
2015-02-17 21:30:41 -05:00
daviskoh
3a6e50db99
Address eslint errors:
...
* modify .eslintrc w/ globals & rules
* use judgement in deciding bet proj style & eslint recommendation
* make
2015-02-17 21:12:29 -05:00
Christopher Chedeau
0e56641b28
Update font constants
2015-02-04 07:57:13 -08:00
Krzysztof Magiera
e1969bda05
Couple of major improvements for Java version.
...
Including:
- Extracting spacing logic into a Spacing class
- Fix layout update issue
- Add null assertions support
2015-01-19 13:09:32 +00:00
Christopher Chedeau
10fb645777
Initial implementation of flexWrap
2014-12-12 12:03:31 +00:00
Christopher Chedeau
28243156e4
make C and Java tests pass and update their code
2014-12-11 20:23:53 +00:00
Felix Oghină
5ab64a699f
Add jsr305, couple of @Nullable annotations
2014-12-05 14:59:25 +00:00
Krzysztof Magiera
fbd14263f9
Move isUndefined check to CSSConstants in java code
2014-12-02 22:30:44 +00:00
Krzysztof Magiera
e5ef35e6ff
Minor fixes in improvements in Java code.
2014-12-02 18:52:57 +00:00
Felix Oghină
8903bb15c6
Add support for paddingVertical, paddingHorizontal, borderVertical, borderHorizontal
...
* implement padding & border as arrays of values
* apply padding & border with the correct priority (e.g. left, horizontal, all)
* update transpiler & tests
2014-11-20 17:59:40 +00:00
Felix Oghină
6ee0c5817c
Add support for marginVertical and marginHorizontal
...
* implement margin as an array of values
* apply margins with the correct priority (e.g. left, horizontal, all)
* update transpiler & tests
2014-11-20 17:28:54 +00:00
Christopher Chedeau
c2aa92cd0b
Add licenses and remove third party libraries
2014-10-29 08:01:22 -07:00
Andy Street
3d91ccf7ad
Addressing comments on code review: Updates markLayoutApplied->markLayoutSeen and makes sure whenever we dirty if and only if we update a value.
2014-10-08 15:42:51 -07:00