func init // checks installation Adobe Photoshop and adds references include("AdobePhotoshop") end func doClear(data) blk.println(d("Document", 20), '.Selection.Clear();') end func doContract(data) blk.println(d("Document", 20), '.Selection.Contract(', d("By", 7), ');') end func doCopy(data) blk.println(d("Document", 20), '.Selection.Copy(', d("Merge", 104), ');') end func doCut(data) blk.println(d("Document", 20), '.Selection.Cut();') end func doDeselect(data) blk.println(d("Document", 20), '.Selection.Deselect();') end func doExpand(data) blk.println(d("Document", 20), '.Selection.Expand(', d("By", 7), ');') end func doGrow(data) blk.println(d("Document", 20), '.Selection.Grow(', d("Tolerance"), ', ', d("AntiAlias", 104, 'true'), ');') end func doFeather(data) blk.println(d("Document", 20), '.Selection.Feather(', d("Feather", 7), ');') end func doInvert(data) blk.println(d("Document", 20), '.Selection.Invert();') end func doMakeWorkPath(data) blk.println(d("Document", 20), '.Selection.MakeWorkPath(', d("Tolerance"), ');') end func doSelectAll(data) blk.println(d("Document", 20), '.Selection.SelectAll();') end func doSelect(data) blk.println(d("Document", 20), '.Selection.Select(', this.make_region(data), ', ', sys.get_typed_field('ps.PsSelectionType.psReplaceSelection', 'SelectionType', 14, 'ps.PsSelectionType'), ', ', d("Feather", 7), ', ', d("AntiAlias", 104, 'true'), ');') end func doSimilar(data) blk.println(d("Document", 20), '.Selection.Similar(', d("Tolerance"), ', ', d("AntiAlias", 104, 'true'), ');') end func .Bounds return(d("Document", 20) + '.Selection.Bounds') end func Solid return(d("Document", 20) + '.Selection.Solid') end func make_region(data) if(isdef("Bounds")) return(d("Bounds")) else arr = this.props("Bounds").value p = new array() for(i = 0; i < arr.size(); i++) p.add('new object[] { ' + code(arr.get(i)) + ' }') end return('new object[] { ' + p.join(', ') + ' }') end end