/* ---------------------------------------------- Set Primitive Rectangle Corner Radius v1.5 ---------------------------------------------- Created by Matt Stow 2011 http://www.mattstow.com ---------------------------------------------- */ (function() { if (fw.documents.length == 0) { return; } var dom = fw.getDocumentDOM(); if (fw.selection != null && fw.selection.length > 0) { var rectNum, rectW, rectH, shortSide, existingRadius, maxSize = 0; var exact, pixRadiusInput; for (i in fw.selection) { if (fw.selection[i].toString() == "[object RectanglePrimitive]") { rectNum++; rectW = fw.selection[i].width; rectH = fw.selection[i].height; shortSide; if (rectW < rectH) { shortSide = rectW; } else { shortSide = rectH; } shortSide = shortSide/100; exact = fw.selection[i].mode && fw.selection[i].mode == "exact" ? true : false; if (exact) { existingRadius = Math.round(fw.selection[i].roundness); } else { existingRadius = fw.selection[i].roundness*shortSide; existingRadius = existingRadius*100; existingRadius = Math.round(existingRadius/2); } maxSize = Math.floor((shortSide/2)*100); if ((fw.selection.length > 1) && (rectNum > 0)) { pixRadiusInput = prompt("Enter the corner radius in pixels for rectangle " + rectNum + ":\n(Max Size: " + maxSize + "px)", existingRadius); } else { pixRadiusInput = prompt("Enter the corner radius in pixels:\n(Max Size: " + maxSize + "px)", existingRadius); } if (pixRadiusInput == 0) { fw.selection[i].roundness = 0; } else if ((pixRadiusInput != null) && (pixRadiusInput != "") && (isNaN(pixRadiusInput) == false)) { pixRadius = parseInt(pixRadiusInput); if (exact) { pixRadiusActual = pixRadius; if (pixRadiusActual > maxSize) { pixRadiusActual = maxSize; } } else { pixRadiusActual = (pixRadius/shortSide)*2; if (pixRadiusActual > 100) { pixRadiusActual = 100; } } if (pixRadiusActual < 0) { pixRadiusActual = 0; } else { if (!exact) { pixRadiusActual = pixRadiusActual/100; } } fw.selection[i].roundness = pixRadiusActual; } } } } })()