ScreenPocket - 画面の隙間

Unityエンジニアの日々の雑記。たまにpython3、DirectX、PhotoshopScript(JavaScript)も触ります

Photoshop クリッピングマスクをOn/Offするスクリプト

ScriptListenerでレコったのをメモ。

選択中レイヤーのクリッピングマスクON

var idGrpL = charIDToTypeID( "GrpL" );
    var desc13 = new ActionDescriptor();
    var idnull = charIDToTypeID( "null" );
        var ref7 = new ActionReference();
        var idLyr = charIDToTypeID( "Lyr " );
        var idOrdn = charIDToTypeID( "Ordn" );
        var idTrgt = charIDToTypeID( "Trgt" );
        ref7.putEnumerated( idLyr, idOrdn, idTrgt );
    desc13.putReference( idnull, ref7 );
executeAction( idGrpL, desc13, DialogModes.NO );

選択中レイヤーのクリッピングマスクOFF

var idUngr = charIDToTypeID( "Ungr" );
    var desc11 = new ActionDescriptor();
    var idnull = charIDToTypeID( "null" );
        var ref6 = new ActionReference();
        var idLyr = charIDToTypeID( "Lyr " );
        var idOrdn = charIDToTypeID( "Ordn" );
        var idTrgt = charIDToTypeID( "Trgt" );
        ref6.putEnumerated( idLyr, idOrdn, idTrgt );
    desc11.putReference( idnull, ref6 );
executeAction( idUngr, desc11, DialogModes.NO );

後は、選択中のArtLayerがクリッピングマスクかどうか判定できればトグルも作れそうですね