Skip to content

Commit

Permalink
Add fill slice support
Browse files Browse the repository at this point in the history
  • Loading branch information
kpdecker committed Jul 23, 2012
1 parent 150fee1 commit dc04823
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 2 deletions.
18 changes: 16 additions & 2 deletions border-image-generator.js
Expand Up @@ -8,6 +8,7 @@ $(document).ready(function() {
imageEl = $("#imageEl"), imageEl = $("#imageEl"),
dividers = $(".divider"), dividers = $(".divider"),
sliders = $(".slider"), sliders = $(".slider"),
fillEl = $("#fillCenter"),
cssEl = $("#cssEl"), cssEl = $("#cssEl"),
repeat = $(".repeat"), repeat = $(".repeat"),


Expand All @@ -21,6 +22,7 @@ $(document).ready(function() {
borderWidth: [0, 0, 0, 0], borderWidth: [0, 0, 0, 0],
imageOffset: [0, 0, 0, 0], imageOffset: [0, 0, 0, 0],


fill: true,
setRepat: false, setRepat: false,
repeat: ["stretch", "stretch"], repeat: ["stretch", "stretch"],


Expand Down Expand Up @@ -62,6 +64,9 @@ $(document).ready(function() {
function calcPixels(pos) { function calcPixels(pos) {
return (pos / state.scaleFactor) | 0; return (pos / state.scaleFactor) | 0;
} }
function updateFill() {
fillEl[0].checked = !!state.fill;
}
function updateSliders() { function updateSliders() {
$(".slider").each(function(index, el) { $(".slider").each(function(index, el) {
var map = sliderMap[el.id]; var map = sliderMap[el.id];
Expand Down Expand Up @@ -98,6 +103,7 @@ $(document).ready(function() {
} }
function updateCSS() { function updateCSS() {
var borderImage = "", borderWidthStr = "", style = "", var borderImage = "", borderWidthStr = "", style = "",
fillStr = state.fill ? " fill" : "",
repeatStr = state.setRepeat ? " " + joinValues(state.repeat) : ""; repeatStr = state.setRepeat ? " " + joinValues(state.repeat) : "";


if (validImage) { if (validImage) {
Expand All @@ -111,7 +117,7 @@ $(document).ready(function() {
+ "-moz-border-image: " + borderImage + repeatStr + ";\n" + "-moz-border-image: " + borderImage + repeatStr + ";\n"
+ "-webkit-border-image: " + borderImage + repeatStr + ";\n" + "-webkit-border-image: " + borderImage + repeatStr + ";\n"
+ "-o-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); borderImage = "url(" + UserImageCache.getSrc() + ") " + joinValues(imageOffset);
} }
Expand All @@ -121,9 +127,15 @@ $(document).ready(function() {
.css("-moz-border-image", borderImage + repeatStr) .css("-moz-border-image", borderImage + repeatStr)
.css("-webkit-border-image", borderImage + repeatStr) .css("-webkit-border-image", borderImage + repeatStr)
.css("-o-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({ sliders.slider({
max: 100, max: 100,
slide: function(event, ui) { slide: function(event, ui) {
Expand Down Expand Up @@ -285,6 +297,8 @@ $(document).ready(function() {
$("#repeatOptionsExpander").click(); $("#repeatOptionsExpander").click();
} }


updateFill();

if (UserImageCache.getEntryId() !== state.src) { if (UserImageCache.getEntryId() !== state.src) {
// The other values will update when the image loads // The other values will update when the image loads
UserImageCache.load(state.src, errorHandler); UserImageCache.load(state.src, errorHandler);
Expand Down
1 change: 1 addition & 0 deletions index.html
Expand Up @@ -38,6 +38,7 @@ <h2>Editor</h2>
<div><label for="imageRight">Right Offset:</label><div id="imageRight" class="slider image-offset"></div></div> <div><label for="imageRight">Right Offset:</label><div id="imageRight" class="slider image-offset"></div></div>
<div><label for="imageBottom">Bottom Offset:</label><div id="imageBottom" class="slider image-offset"></div></div> <div><label for="imageBottom">Bottom Offset:</label><div id="imageBottom" class="slider image-offset"></div></div>
<div><label for="imageLeft">Left Offset:</label><div id="imageLeft" class="slider image-offset"></div></div> <div><label for="imageLeft">Left Offset:</label><div id="imageLeft" class="slider image-offset"></div></div>
<div><label for="fillCenter">Fill Center:</label><input id="fillCenter" type="checkbox"></div>
</div> </div>


<div> <div>
Expand Down

0 comments on commit dc04823

Please sign in to comment.