Valentin Shergin
a5a34565e0
Fabric: Proper return value of `LayoutableShadowNode::setLayoutMetrics()`
...
Summary: `LayoutableShadowNode::setLayoutMetrics()` must return `false` is nothing was changes.
Reviewed By: fkgozali
Differential Revision: D7330334
fbshipit-source-id: 700d50b0047919fa2b919acfa72825f100cd496f
2018-03-19 17:08:31 -07:00
Valentin Shergin
aaaa946e6d
Fabric: Equality operators for geometry types
...
Summary: We will need this soon.
Reviewed By: fkgozali
Differential Revision: D7330338
fbshipit-source-id: 30aeadc182893e86c6a039c74d245f9b56624151
2018-03-19 17:08:31 -07:00
Naris Siamwalla
12535ae69d
Fix clang-6 strictness surrounding virtual destructors
...
Reviewed By: smeenai
Differential Revision: D7326765
fbshipit-source-id: 9df477dfa89812e05e79b5e6d510bcbbc793381c
2018-03-19 15:00:09 -07:00
Valentin Shergin
378da73201
DebugStringConvertibleOptions: Formating
...
Summary:
DebugStringConvertibleOptions allows pretty-format debug strings.
https://pxl.cl/ch0m
Reviewed By: fkgozali
Differential Revision: D7312622
fbshipit-source-id: 0ed62520bbc521790bedf5a6d18c796b42f85658
2018-03-18 19:17:39 -07:00
Valentin Shergin
4cda0df2e5
Switching to the new FabricUIManager and all new shadow tree infra
...
Reviewed By: fkgozali
Differential Revision: D7230670
fbshipit-source-id: bca7d2859b87931c0d15406782b7d689de1d8c36
2018-03-18 19:17:39 -07:00
Valentin Shergin
c2ad59a277
`fabric/uimanager` module
...
Summary: `fabric/uimanager` implements FabricUIModule.
Reviewed By: fkgozali
Differential Revision: D7230669
fbshipit-source-id: db6228021352598feac7854b5871d9d6c5c85119
2018-03-18 19:17:39 -07:00
Valentin Shergin
965e60b05a
`fabric/view` module
...
Summary: Defines `<View>`: Yoga-powered, Accessible and styleable component.
Reviewed By: fkgozali
Differential Revision: D7230673
fbshipit-source-id: 08a1d8626c0b41260fafdca938d4fe9489b1b793
2018-03-18 19:17:39 -07:00
Valentin Shergin
6b0960cbdb
Introducing `ConcreteShadowNode`
...
Summary: ConcreteShadowNode defines a template which connects typed Props and typed ShadowNode.
Reviewed By: fkgozali
Differential Revision: D7230667
fbshipit-source-id: be28314d6846d69960e921da852f01232951f965
2018-03-18 19:17:39 -07:00
Valentin Shergin
811d5bfc73
Introducing LayoutableShadowNode
...
Summary: LayoutableShadowNode defines a unified interface (and set of primitives) essential for laying out shadow nodes.
Reviewed By: fkgozali
Differential Revision: D7230668
fbshipit-source-id: d8c1772d4c3bd1f87c41f7240a39aecebf3696ae
2018-03-18 19:17:39 -07:00
Valentin Shergin
840638c441
Introducing `ComponentDescriptor`
...
Summary:
Abstract class and default template implementation.
`ComponentDescriptor`s define basic logic of managing (creation, cloning, applying props) ShadowNode of particular type.
Reviewed By: fkgozali
Differential Revision: D7230671
fbshipit-source-id: c32636f4db0716b55a1637f61c4f1872fc52cea7
2018-03-18 19:17:39 -07:00
Valentin Shergin
608d1fb590
`fabric/graphics` module: all about graphics
...
Summary: `fabric/graphics` provides graphics primitives; the implementation should be platform-specific eventually.
Reviewed By: fkgozali
Differential Revision: D7230675
fbshipit-source-id: ff05d2673072fad5ee6f331f0155561969e1a8b6
2018-03-18 19:17:39 -07:00
Valentin Shergin
c623455845
Abstract classes for ShadowNode and Props
...
Summary: Foundation clases for Fabric designed to be "const-first".
Reviewed By: fkgozali
Differential Revision: D7230672
fbshipit-source-id: 433acd35a7958d5d577358b0a306923f970e573f
2018-03-18 19:17:39 -07:00
Valentin Shergin
d16772a31e
Sealable: fixed semantic; atomic type for the flag variable
...
Summary:
* Fixed semantic: all kinds of derivative instances lose `sealed` flag (which is expected);
* Using atomic<bool> for `sealed_` ivar.
Reviewed By: fkgozali
Differential Revision: D7230674
fbshipit-source-id: abe786610c20a45a0fabb9068120e24adeeeac7f
2018-03-18 19:17:39 -07:00
Kevin Gozali
3c86701ea7
`fabric/core` module and `Sealable` class
...
Summary:
`Sealable` class represents something which can be *sealed* (imperatively marked as immutable).
Authored by shergin
Reviewed By: shergin
Differential Revision: D7174883
fbshipit-source-id: 8b26ca5b1a5154953a099895778eab86228acc46
2018-03-08 18:04:28 -08:00
Kevin Gozali
34f8e7f848
`fabric/debug` module and `DebugStringConvertible` class
...
Summary:
This is a very first diff in a series of undefined length implementing React Native Shadow Tree infra in C++.
All Shadow Nodes, Props and etc. implements `DebugStringConvertible`.
Authored by shergin
Reviewed By: shergin
Differential Revision: D7163868
fbshipit-source-id: 9c001aa5bd0723f709a07b1833f512c51e3bec11
2018-03-08 18:04:28 -08:00
Jakub Grzmiel
5f497ca302
Convert constant with build flags to function
...
Reviewed By: ttsugriy
Differential Revision: D7184372
fbshipit-source-id: c66f473ad15898532f24c6276898ab250e749744
2018-03-08 00:17:53 -08:00
Kevin Gozali
7bf3b20837
iOS: create C++ <-> ObjC++ connector for FabricUIManager to do UI operations
...
Reviewed By: shergin
Differential Revision: D7162911
fbshipit-source-id: 3e303020dafdccc51f52c3359a7054dc8a787978
2018-03-07 16:54:16 -08:00
Kevin Gozali
52acbbdd62
iOS: adjusted JSI binding for C++ FabricUIManager
...
Reviewed By: sebmarkbage, shergin
Differential Revision: D7078631
fbshipit-source-id: 6df21e52d3941372a9845fdcf2aed777de7cb359
2018-02-27 08:42:14 -08:00
Kevin Gozali
0ee03178a0
added C++ setup for FabricUIManager
...
Reviewed By: shergin
Differential Revision: D7077312
fbshipit-source-id: e284c151438eb4d1f67a8386580ab54e3dce7c17
2018-02-23 19:49:03 -08:00