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