Created
December 22, 2015 23:05
-
-
Save isonno/63f212d0aa7e77776fc3 to your computer and use it in GitHub Desktop.
Copy a vector mask from a shape to another (non-shape) layer.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// | |
// Copy the vector mask from a shape to another layer. | |
// This takes layer names, modify as indicated below to take | |
// layer ID's instead. | |
// The shape is not deleted or modified. | |
function createMaskFromShape(srcShapeName, layerToClip) | |
{ | |
srcLayerRef = {"_ref":"layer","_name":srcShapeName}; // Replace "_name" with "_id" | |
dstLayerRef = {"_ref":"layer","_name":layerToClip}; // to use layer ID's instead. | |
vecMaskRef = {"_ref":"path","_enum":"path","_value":"vectorMask"}; | |
vecLayerMaskref = {"_ref":[vecMaskRef, {"_ref":"layer","_enum":"ordinal", | |
"_value":"targetEnum"}]}; | |
srcLayerDesc = {"null":{"_ref":[srcLayerRef]}}; | |
vecMaskDesc = {"null":vecLayerMaskref}; | |
makeMaskDesc = {"null":{"_ref":[{"_ref":"path"}]}, | |
"at":{"_ref":[vecMaskRef, dstLayerRef]}, | |
"using":vecLayerMaskref}; | |
var batchList = [{name:"select", descriptor:srcLayerDesc}, | |
{name:"select", descriptor:vecMaskDesc}, | |
{name:"make", descriptor:makeMaskDesc}]; | |
return new Promise(function( resolve, reject ) { | |
_spaces.ps.descriptor.batchPlay( batchList, {}, | |
function( err, desc, errors ) | |
{ | |
if (err) | |
reject(errors); | |
else | |
resolve(err); | |
}); | |
}); | |
} | |
function doMask() | |
{ | |
createMaskFromShape("Shape", "Paint").then(function() {console.log("ok")}) | |
.catch(function(err) {console.log("Fail:"+err);}); | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment