Commit Graph

32 Commits

Author SHA1 Message Date
Alex Bogomazov
425345aa8d Redo layout of 'stretch' aligned items for correct positioning of nested
items

Fixes facebook/css-layout#83, facebook/css-layout#100,
facebook/css-layout#127.
2016-02-26 00:43:58 +03:00
Emil Sjolander
c9094f94d0 Check layout instead of style before setting height and width to whatever is set in layout 2016-01-06 15:07:41 +00:00
Martin Kralik
f2aa5ba604 passing height to the measure function
This diff:
* adds height as another parameter passed to the measure function, computed the same way width is
* adds tests for this extension, which has involved adding a new measure function to all of js, c, java and c# tests
2015-12-14 15:00:13 +00:00
Christopher Chedeau
e280a577ae Fix width being ignored when has a value of 0
8f6a96adbc added a test in isDimDefined that checks if `value > 0.0`, but unfortunately, it did not faithfully port the JavaScript version which is `value >= 0.0`. Sadly, no test covered this so it went unnoticed.
2015-09-25 13:10:21 -07:00
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
Jared Forsyth
f7bab441e0 change to an xit 2015-08-06 12:35:12 -07:00
Pierre Renaux
019fc9b88c Merge remote-tracking branch 'upstream/master' 2015-05-17 21:54:30 +08:00
Lucas Rocha
03dfe7bb17 Implement (padding|border|margin)-(start|end) support 2015-05-14 17:43:33 +01:00
Felix Oghină
bb8fdf57eb [java] implement proper spacing objects, with support for default spacing 2015-05-14 13:59:13 +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
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
7679ed77d9 Updated generated C & Java code ; 2015-05-10 00:19:28 +08: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
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
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
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
Krzysztof Magiera
fbd14263f9 Move isUndefined check to CSSConstants in java code 2014-12-02 22:30:44 +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
Christopher Chedeau
c0f895c6f2 Make align-items: stretch the default 2014-10-08 09:35:44 -07:00
Andy Street
6d93c20610 Java 2014-10-07 16:22:27 -07:00