From dc04823b3405a214156940ba9e0e182fe27fad99 Mon Sep 17 00:00:00 2001 From: kpdecker Date: Sun, 22 Jul 2012 22:18:13 -0500 Subject: [PATCH] Add fill slice support --- border-image-generator.js | 18 ++++++++++++++++-- index.html | 1 + 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/border-image-generator.js b/border-image-generator.js index 43dc5df..3753ab6 100644 --- a/border-image-generator.js +++ b/border-image-generator.js @@ -8,6 +8,7 @@ $(document).ready(function() { imageEl = $("#imageEl"), dividers = $(".divider"), sliders = $(".slider"), + fillEl = $("#fillCenter"), cssEl = $("#cssEl"), repeat = $(".repeat"), @@ -21,6 +22,7 @@ $(document).ready(function() { borderWidth: [0, 0, 0, 0], imageOffset: [0, 0, 0, 0], + fill: true, setRepat: false, repeat: ["stretch", "stretch"], @@ -62,6 +64,9 @@ $(document).ready(function() { function calcPixels(pos) { return (pos / state.scaleFactor) | 0; } + function updateFill() { + fillEl[0].checked = !!state.fill; + } function updateSliders() { $(".slider").each(function(index, el) { var map = sliderMap[el.id]; @@ -98,6 +103,7 @@ $(document).ready(function() { } function updateCSS() { var borderImage = "", borderWidthStr = "", style = "", + fillStr = state.fill ? " fill" : "", repeatStr = state.setRepeat ? " " + joinValues(state.repeat) : ""; if (validImage) { @@ -111,7 +117,7 @@ $(document).ready(function() { + "-moz-border-image: " + borderImage + repeatStr + ";\n" + "-webkit-border-image: " + borderImage + repeatStr + ";\n" + "-o-border-image: " + borderImage + repeatStr + ";\n" - + "border-image: " + borderImage + repeatStr + ";\n"; + + "border-image: " + borderImage + fillStr + repeatStr + ";\n"; borderImage = "url(" + UserImageCache.getSrc() + ") " + joinValues(imageOffset); } @@ -121,9 +127,15 @@ $(document).ready(function() { .css("-moz-border-image", borderImage + repeatStr) .css("-webkit-border-image", borderImage + repeatStr) .css("-o-border-image", borderImage + repeatStr) - .css("border-image", borderImage + repeatStr); + .css("border-image", borderImage + fillStr + repeatStr); } + fillEl.change(function() { + state.fill = this.checked; + updateCSS(); + updateHash(); + }); + sliders.slider({ max: 100, slide: function(event, ui) { @@ -285,6 +297,8 @@ $(document).ready(function() { $("#repeatOptionsExpander").click(); } + updateFill(); + if (UserImageCache.getEntryId() !== state.src) { // The other values will update when the image loads UserImageCache.load(state.src, errorHandler); diff --git a/index.html b/index.html index d469dcc..6cde788 100644 --- a/index.html +++ b/index.html @@ -38,6 +38,7 @@

Editor

+