sketch-json-parse
Version:
sketch-json解析
36 lines (35 loc) • 1.66 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const filterHideLayer_1 = require("./filterHideLayer");
const handleBorderCoordinate_1 = require("./handleBorderCoordinate");
const handleOpacity_1 = require("./handleOpacity");
const fixPosition_1 = require("./fixPosition");
const formatCoordinate_1 = require("./formatCoordinate");
const setParentByMask_1 = require("./setParentByMask");
const handleNotFillLayerOrder_1 = require("./handleNotFillLayerOrder");
const handlePanel_1 = require("./handlePanel");
/**
* 分别对每个画板进行处理
*/
exports.default = (layer, effectRuleNames, isFilterLayer) => {
let layers = [layer];
// border坐标处理
layers = (0, handleBorderCoordinate_1.default)(layers);
// 透明度透传
layers = (0, handleOpacity_1.default)(layers);
// 相对坐标系 => 绝对坐标系 主要处理symbolInstance
layers = (0, formatCoordinate_1.default)(layers);
// 修正坐标值 基础坐标系调整为:0,0; 画布原始坐标可能不是0,0
layers = (0, fixPosition_1.default)(layers);
// 过滤隐藏图层、过滤slice切片
layers = (0, filterHideLayer_1.default)(layers);
// Mask所有剪切都以父节点滚动实现
layers = (0, setParentByMask_1.default)(layers, effectRuleNames);
// Mask剪切处理,把超出的坐标剪切掉,暂不处理剪切删除
// layers = trimByMask(layers, effectRuleNames, isFilterLayer);
// 处理透明图层顺序
layers = (0, handleNotFillLayerOrder_1.default)(layers);
// 属性面板解析
layers = (0, handlePanel_1.handlePanel)(layers);
return layers[0];
};