/** * Impressionist * * Impressionist is a visual ide for impress.js. impress.js is a presentation tool based on the power of CSS3 transforms and transitions * in modern browsers and inspired by the idea behind prezi.com. * * MIT Licensed. * * Impressionist Copyright 2012 Harish Sivaramakrishnan (@hsivaram) */ var isdisabled = false; var rotateX = 0; var rotateY = 0; var rotateZ = 0; var currentsliderotation = 0; var display = 0; //Set up UI function setupUI() { //console.log("Setup UI "+screen.width+" "+screen.height); $("#contextbar").css("visibility","hidden"); $("#subnav2").css("z-index", -10000); $("#subnav").css("z-index", 10000); $("#subnav").css("visibility", "visible"); $("#subnav2").css("visibility", "hidden"); $("#editorBox").bind("keyup", onKeyUp); $("#urlinput").bind("blur", onURLEntered); $("#urlinput").bind("keyup", onURLEntered); $("#editorBox").bind("focusout", onFocusOut); bindTextInputEvents(); } //Bind events on text inputs. At the moment, the text editor and the //picture wizard. function bindTextInputEvents() { $("#contextbar").bind("mouseup", onContextMouseUp) } function onContextMouseUp(event) { console.log("context "+event.target.id); } //Hide the toasted editor function onFocusOut(event) { var val = $("#editorBox").val(); if(val != "") { var keyed = $("#editorBox").val().replace(/\n/g, '
'); $(editedobject).html(keyed); //$(editedobject).text(keyed); } $(editedobject).css("visibility", "visible"); hideEditorBox(); resetEditedObject(); } //setup all the knobs that control the rotation params //also bind the events to the depth and scale sliders. function setupKnobs() { /*$("#knobit1").knob ( { "change":function(e) { skewx = e; $(editedobject).css("-webkit-transform", "rotate("+rot+"deg) skew("+skewx+"deg, "+skewy+"deg)"); $(editedobject).attr("data-skewx", skewx); $(editedobject).attr("data-skewy", skewy); } } ); */ $("#rotationxknob").knob ( { "change":function(e) { rotateX = e; selectedorchslide.css("-webkit-transform", " rotate("+currentsliderotation+"deg) rotateX("+rotateX+"deg) rotateY("+e+"deg)"); selectedorchslide.attr("data-rotate-x", e); } } ); $("#rotationyknob").knob ( { "change":function(e) { rotateY= e; selectedorchslide.css("-webkit-transform", "rotate("+currentsliderotation+"deg) rotateX("+rotateX+"deg) rotateY("+e+"deg)"); selectedorchslide.attr("data-rotate-y", e); } } ); /* $("#knobit2").knob ( { "change":function(e) { skewy = e $(editedobject).css("-webkit-transform", "rotate("+rot+"deg) skew("+skewx+"deg, "+skewy+"deg)"); $(editedobject).attr("data-skewx", skewx); $(editedobject).attr("data-skewy", skewy); } } ); */ $("#slideknob").knob ( { "change":function(e) { currentsliderotation = e; selectedorchslide.attr("data-rotate", e); doExport(); selectedorchslide.css("-webkit-transform", "rotate("+e+"deg) rotateX("+rotateX+"deg) rotateY("+rotateY+"deg)"); } } ); $("#depthrange").bind("change", onDepthChange); $("#scalerange").bind("change", onScaleChange); } //Depth change event handler function onDepthChange(event) { var depth = parseInt(event.target.value)*-1; selectedorchslide.attr("data-z", depth); doExport(); } //Scale change event handler function onScaleChange(event) { var scale = parseInt(event.target.value); selectedorchslide.attr("data-scale", scale); doExport(); } //Setup colorpicker. function setupColorPicker(color) { $('#colorSelector').ColorPicker( { color: '#0000ff', onShow: function (colpkr) { $(editedobject).css("z-index", 0) $("#deleteBtn").css("z-index", 0) //this.css("z-index", 200) if(!isdisabled) { $(colpkr).fadeIn(500); } return false; }, onHide: function (colpkr) { //$(editedobject).css("z-index", 20) $("#deleteBtn").css("z-index", 40) //this.css("z-index", 0) $(colpkr).fadeOut(500); return false; }, onChange: function (hsb, hex, rgb) { if(!isdisabled) { colorboxopen = true; currentAddObject = ""; $("#colorSelector").css('backgroundColor', '#' + hex); $(editedobject).attr("data-selected-color", "#"+hex); $(editedobject).css("color", "#"+hex); } } }); } function setFontStyle(value) { var dropdownlabel = ""; fontStyle = value; if(fontStyle == "jumbo") { dropdownlabel = "Very Large" } else if(fontStyle == "largeheader") { dropdownlabel = "Large" } else if(fontStyle == "mediumheader") { dropdownlabel = "Medium" } else if(fontStyle == "smallheader") { dropdownlabel = "Small" } if(editedobject != "") { adjustObjectPositions( $(editedobject) .attr("data-font-size", value) .attr("class","ui-draggable slideobject itemselected "+value) ); $("#play").css("visibility", "hidden"); } $("#fontstyledropdown").html(dropdownlabel+''); } function addUnorderedList() { console.log("adding ul : "+editor.getValue()) } function setFont(font) { selectedFont = font; currentSelectedFont = font; $(editedobject).attr("data-font-face", currentSelectedFont) $("#play").css("visibility", "hidden"); $("#fontdropdown").html(currentSelectedFont+''); if(editedobject != "") { $(editedobject).css("font-family", selectedFont); } } function toggleBold() { isBold = !isBold; if(isBold) { $("#boldButton").addClass("menuButtonSelected"); $(editedobject).css("font-weight", "normal") } else { $("#boldButton").removeClass("menuButtonSelected"); $(editedobject).css("font-weight", "bold") } } function toggleItalic() { isItalic = !isItalic; if(isItalic) { $("#italicsButton").addClass("menuButtonSelected"); $(editedobject).css("font-style", "italic") } else { $("#italicsButton").removeClass("menuButtonSelected"); $(editedobject).css("font-style", "normal") } } function toggleUnderline() { isUnderline = !isUnderline; if(isUnderline) { $("#italicsButton").addClass("menuButtonSelected"); $(editedobject).css("text-decoration", "underline") } else { $("#italicsButton").removeClass("menuButtonSelected"); $(editedobject).css("text-decoration", "none") } } function deleteObject() { if(editedobject!="") { var id = $(editedobject).attr("id"); var index = id.split("____object")[1]; removeItemFromObjectMap(index); $(editedobject).remove(); $("#deleteBtn").css("left", -30000) $("#contextbar").css("visibility", "hidden"); $("#play").css("visibility", "hidden"); } } function removeItemFromObjectMap(index) { for(var i=0; i 0) { for(var i=0; i