extract layoutNode
This commit is contained in:
@@ -1,5 +1,5 @@
|
|||||||
|
|
||||||
function computeLayout(node) {
|
var computeLayout = (function() {
|
||||||
|
|
||||||
function fillNodes(node) {
|
function fillNodes(node) {
|
||||||
node.layout = {
|
node.layout = {
|
||||||
@@ -143,7 +143,7 @@ function computeLayout(node) {
|
|||||||
var CSS_ALIGN_FLEX_END = 'flex-end';
|
var CSS_ALIGN_FLEX_END = 'flex-end';
|
||||||
var CSS_ALIGN_STRETCH = 'stretch';
|
var CSS_ALIGN_STRETCH = 'stretch';
|
||||||
|
|
||||||
function layoutNode(node) {
|
function layoutNode(node) {
|
||||||
var/*css_flex_direction_t*/ mainAxis = getFlexDirection(node);
|
var/*css_flex_direction_t*/ mainAxis = getFlexDirection(node);
|
||||||
var/*css_flex_direction_t*/ crossAxis = mainAxis == CSS_FLEX_DIRECTION_ROW ?
|
var/*css_flex_direction_t*/ crossAxis = mainAxis == CSS_FLEX_DIRECTION_ROW ?
|
||||||
CSS_FLEX_DIRECTION_COLUMN :
|
CSS_FLEX_DIRECTION_COLUMN :
|
||||||
@@ -259,9 +259,19 @@ function layoutNode(node) {
|
|||||||
getRelativePosition(node, mainAxis);
|
getRelativePosition(node, mainAxis);
|
||||||
node.layout[leading[crossAxis]] += getMargin(node, leading[crossAxis]) +
|
node.layout[leading[crossAxis]] += getMargin(node, leading[crossAxis]) +
|
||||||
getRelativePosition(node, crossAxis);
|
getRelativePosition(node, crossAxis);
|
||||||
}
|
}
|
||||||
|
|
||||||
var c_code = layoutNode.toString()
|
var fn = function(node) {
|
||||||
|
fillNodes(node);
|
||||||
|
layoutNode(node);
|
||||||
|
return extractNodes(node);
|
||||||
|
};
|
||||||
|
fn.layoutNode = layoutNode;
|
||||||
|
return fn;
|
||||||
|
})();
|
||||||
|
|
||||||
|
|
||||||
|
var c_code = computeLayout.layoutNode.toString()
|
||||||
.replace(/\.children\.length/g, '.children_count')
|
.replace(/\.children\.length/g, '.children_count')
|
||||||
.replace(/layout\[dim/g, 'layout.dimensions[dim')
|
.replace(/layout\[dim/g, 'layout.dimensions[dim')
|
||||||
.replace(/layout\[pos/g, 'layout.position[pos')
|
.replace(/layout\[pos/g, 'layout.position[pos')
|
||||||
@@ -269,12 +279,7 @@ function layoutNode(node) {
|
|||||||
.replace(/style\[dim/g, 'style.dimensions[dim')
|
.replace(/style\[dim/g, 'style.dimensions[dim')
|
||||||
.replace(/node\./g, 'node->')
|
.replace(/node\./g, 'node->')
|
||||||
.replace(/child\./g, 'child->')
|
.replace(/child\./g, 'child->')
|
||||||
.replace(/var\/\*([^\/]+)\*\//g, '$1');
|
.replace(/var\/\*([^\/]+)\*\//g, '$1')
|
||||||
console.log(c_code);
|
.replace(/\n /g, '\n');
|
||||||
|
|
||||||
fillNodes(node);
|
console.log(c_code);
|
||||||
layoutNode(node);
|
|
||||||
return extractNodes(node);
|
|
||||||
}
|
|
||||||
|
|
||||||
computeLayout({});
|
|
||||||
|
Reference in New Issue
Block a user