UNPKG

sketch-json-parse

Version:

sketch-json解析

36 lines (35 loc) 1.66 kB
"use strict"; 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]; };