From 6990cf37ab3a1106c811d69a3203abe1ca52d1e4 Mon Sep 17 00:00:00 2001 From: Adriaan Wormgoor Date: Sat, 27 Jul 2013 18:19:50 +0200 Subject: [PATCH] lower text wasn't always showing (put it higher) and the text was iPad specific. It's generic now. --- css/d3d_btns.css | 46 ++++++++++++++++++-- css/fixedPosInterface.css | 25 ++++++----- img/bg_vertical2.png | Bin 0 -> 23687 bytes img/buttons/btnTurnRight.png | Bin 1911 -> 4988 bytes index.html | 29 +++++++------ js/buttonbehaviors.js | 81 +++++++++++++++++++---------------- js/canvasDrawing_v01.js | 19 ++++++++ js/init_layout.js | 51 +++++++++++++++++++--- js/previewRendering_v01.js | 15 +++++-- 9 files changed, 193 insertions(+), 73 deletions(-) create mode 100644 img/bg_vertical2.png mode change 100755 => 100644 img/buttons/btnTurnRight.png diff --git a/css/d3d_btns.css b/css/d3d_btns.css index e739a04..49efe72 100644 --- a/css/d3d_btns.css +++ b/css/d3d_btns.css @@ -8,8 +8,21 @@ } }*/ +body { + -moz-user-select: none; /* disable cut copy paste */ + -webkit-user-select: none; /* disable cut copy paste */ +} + img { z-index: 5; + /*pointer-events:none;*/ + /*-webkit-touch-callout: none; *//*disable callout, image save panel */ + /*-webkit-tap-highlight-color: transparent; *//* "turn off" link highlight */ +} + +/* http://stackoverflow.com/questions/5348092/prevent-default-press-but-not-default-drag-in-ios-mobilesafari */ +.btn { + background-repeat: no-repeat; } /* @@ -21,6 +34,9 @@ img { #btnNew { left: 10px; top: 10px; + width: 194px; + height: 170px; + background: url('../img/buttons/btnNew.png'); } #btnPrevious { @@ -42,8 +58,11 @@ img { #btnOops { left: 20px; -/* bottom: 150px;*/ top: 450px; +/* bottom: 150px;*/ + width: 146px; + height: 144px; + background: url('../img/buttons/btnOops.png'); } #btnPrint { @@ -84,26 +103,45 @@ img { right: 200px; bottom: -75px; } +#btnsUpDown > div { + float: left; + padding-right: 8px; + background-repeat: no-repeat; +} #btnsTurnLeftRight { position: absolute; right: 20px; bottom: -75px; } +#btnsTurnLeftRight >div { + float: left; + padding-right: 8px; + background-repeat: no-repeat; +} #btnMoveUp { + width: 65px; + height: 61px; + background: url('../img/buttons/btnUp.png'); } #btnMoveDown { - + width: 64px; + height: 63px; + background: url('../img/buttons/btnDown.png'); } #btnTwistLeft { - + width: 59px; + height: 61px; + background: url('../img/buttons/btnTurnLeft.png'); } #btnTwistRight { - + width: 64px; + height: 56px; + background: url('../img/buttons/btnTurnRight.png'); } .btn { diff --git a/css/fixedPosInterface.css b/css/fixedPosInterface.css index 393d423..521c9e6 100644 --- a/css/fixedPosInterface.css +++ b/css/fixedPosInterface.css @@ -161,8 +161,7 @@ body { /* The code below is for resizing UI elements as the viewport becomes less high (suitable for tablets & smartphones) */ -/* -@media screen and (max-height: 700px) { +@media screen and (max-height: 675px) { .bgMiddle { display: none; } @@ -173,7 +172,7 @@ body { } #btnsUpDown, #btnsTurnLeftRight { - zoom: 0.96; + zoom: 0.94; } #btnPrint { @@ -182,7 +181,7 @@ body { } .btn { - zoom: 0.96; + zoom: 0.94; } #drawAreaContainer { @@ -191,14 +190,14 @@ body { } } -@media screen and (max-height: 500px) { +@media screen and (max-height: 560px) { #d3dlogo { zoom: 0.8; left: 34%; } #btnsUpDown, #btnsTurnLeftRight { - zoom: 0.9; + zoom: 0.86; } #btnPrint { @@ -206,16 +205,22 @@ body { } .btn { - zoom: 0.9; + zoom: 0.86; } - #drawAreaContainer { + #btnOops { + top: 350px; + } + + #btnSave { + top: 200px; + } + + #drawAreaContainer { top: 110px; height: 350px; } } -//*/ - diff --git a/img/bg_vertical2.png b/img/bg_vertical2.png new file mode 100644 index 0000000000000000000000000000000000000000..3b0b4e053a2871eb428036e616fa68f0d4278c46 GIT binary patch literal 23687 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 literal 0 HcmV?d00001 diff --git a/img/buttons/btnTurnRight.png b/img/buttons/btnTurnRight.png old mode 100755 new mode 100644 index 6c1fccaee9301a529f9f8a8c563120ea93427ff8..89f242c0f9be099e5d13651cc2ed45166e451ffb GIT binary patch delta 4492 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 eeb3K-1Q-BZE6;zd{hMI`0000 - Bootstrap 101 Template + Doodle3D + @@ -61,31 +62,32 @@
- +
+ - +
-
- +
+ - +
- - +
+
- - +
+
@@ -94,7 +96,7 @@
- +
@@ -135,15 +137,14 @@ $("#debug_textArea").css("display", "block"); } +// $("#mycanvas").css("scale", 0.5); + //debug // generate_gcode(); }) - function copyToClipboard (text) { - window.prompt ("Copy to clipboard: Ctrl+C, Enter", text); - } \ No newline at end of file diff --git a/js/buttonbehaviors.js b/js/buttonbehaviors.js index 685eb74..84bf56e 100644 --- a/js/buttonbehaviors.js +++ b/js/buttonbehaviors.js @@ -78,20 +78,24 @@ function initButtonBehavior() { // console.log("btnPrevious"); // }) - btnOops.mousedown(function(e) { - e.preventDefault(); + function startOops(e) { // console.log("btnOops mouse down"); + e.preventDefault(); btnOopsInterval = setInterval( function() { oopsUndo(); }, 1000/50); - }); - btnOops.mouseup(function(e) { - e.preventDefault(); + } + function stopOops(e) { // console.log("btnOops mouse up"); + e.preventDefault(); clearInterval(btnOopsInterval); - }); + } + btnOops.on('touchstart', function(e) { startOops(e); }); + btnOops.on('touchend', function(e) { stopOops(e); }); + btnOops.mousedown(function(e) { startOops(e); }); + btnOops.mouseup(function(e) { stopOops(e); }); - btnMoveUp.mousedown(function(e) { + function startMoveUp(e) { e.preventDefault(); // console.log("btnMoveUp mouse down"); previewUp(); @@ -99,14 +103,18 @@ function initButtonBehavior() { btnMoveUpInterval = setInterval( function() { previewUp(); }, 1000/30); - }); - btnMoveUp.mouseup(function(e) { + } + function stopMoveUp(e) { e.preventDefault(); - console.log("btnMoveUp mouse up"); + console.log("btnMoveUp mouse up"); clearInterval(btnMoveUpInterval); - }); + } + btnMoveUp.mousedown(function(e) { startMoveUp(e) }); + btnMoveUp.mouseup(function(e) { stopMoveUp(e) }); + btnMoveUp.on('touchstart', function(e) { startMoveUp(e) }); + btnMoveUp.on('touchend', function(e) { stopMoveUp(e) }); - btnMoveDown.mousedown(function(e) { + function startMoveDown(e) { e.preventDefault(); // console.log("btnMoveDown mouse down"); previewDown(); @@ -114,14 +122,18 @@ function initButtonBehavior() { btnMoveDownInterval = setInterval( function() { previewDown(); }, 1000/30); - }); - btnMoveDown.mouseup(function(e) { + } + function stopMoveDown(e) { e.preventDefault(); - console.log("btnMoveDown mouse up"); + console.log("btnMoveDown mouse up"); clearInterval(btnMoveDownInterval); - }); + } + btnMoveDown.mousedown(function(e) { startMoveDown(e) }); + btnMoveDown.mouseup(function(e) { stopMoveDown(e) }); + btnMoveDown.on('touchstart', function(e) { startMoveDown(e) }); + btnMoveDown.on('touchend', function(e) { stopMoveDown(e) }); - btnTwistLeft.mousedown(function(e) { + function startTwistLeft(e) { e.preventDefault(); // console.log("btnTwistLeft mouse down"); previewTwistLeft(); @@ -129,14 +141,18 @@ function initButtonBehavior() { btnTwistLeftInterval = setInterval( function() { previewTwistLeft(); }, 1000/30); - }); - btnTwistLeft.mouseup(function(e) { + } + function stopTwistLeft(e) { e.preventDefault(); // console.log("btnTwistLeft mouse up"); clearInterval(btnTwistLeftInterval); - }); + } + btnTwistLeft.mousedown(function(e) { startTwistLeft(e) }); + btnTwistLeft.mouseup(function(e) { stopTwistLeft(e) }); + btnTwistLeft.on('touchstart', function(e) { startTwistLeft(e) }); + btnTwistLeft.on('touchend', function(e) { stopTwistLeft(e) }); - btnTwistRight.mousedown(function(e) { + function startTwistRight(e) { e.preventDefault(); // console.log("btnTwistRight mouse down"); previewTwistRight(); @@ -144,12 +160,16 @@ function initButtonBehavior() { btnTwistRightInterval = setInterval( function() { previewTwistRight(); }, 1000/30); - }); - btnTwistRight.mouseup(function(e) { + } + function stopTwistRight(e) { e.preventDefault(); // console.log("btnTwistRight mouse up"); clearInterval(btnTwistRightInterval); - }); + } + btnTwistRight.mousedown(function(e) { startTwistRight(e) }); + btnTwistRight.mouseup(function(e) { stopTwistRight(e) }); + btnTwistRight.on('touchstart', function(e) { startTwistRight(e) }); + btnTwistRight.on('touchend', function(e) { stopTwistRight(e) }); btnSettings.mouseup(function(e) { e.preventDefault(); @@ -232,19 +252,8 @@ function clearPreview() { function oopsUndo() { // console.log("f:oopsUndo()"); _points.pop(); + redrawDoodle(); redrawPreview(); - clearMainView(); - prevX = 0; - prevY = 0; - for (var i = 0; i < _points.length; i++) { - // console.log(" drawing points " + _points[i]); - if (_points[i][2] == true) { - draw(_points[i][0], _points[i][1], 0.5); - } else { - draw(_points[i][0], _points[i][1]); - } - } - } function previewUp() { // console.log("f:previewUp()"); diff --git a/js/canvasDrawing_v01.js b/js/canvasDrawing_v01.js index 6602064..32e3234 100644 --- a/js/canvasDrawing_v01.js +++ b/js/canvasDrawing_v01.js @@ -11,6 +11,7 @@ var svgPathParamsRegExp = /([LM])(\d*) (\d*)/; var dragging = false; +var $canvas = $("#mycanvas"); var canvas = $("#mycanvas")[0]; var ctx = canvas.getContext('2d'); @@ -145,6 +146,24 @@ function clearDoodle() { clearPreview(); } +function redrawDoodle() { + console.log("f:redrawDoodle()"); + + clearMainView(); + + prevX = 0; + prevY = 0; + + for (var i = 0; i < _points.length; i++) { + // console.log(" drawing points " + _points[i]); + if (_points[i][2] == true) { + draw(_points[i][0], _points[i][1], 0.5); + } else { + draw(_points[i][0], _points[i][1]); + } + } +} + function adjustBounds(x, y) { // console.log("f:adjustBounds("+x+","+y+")"); diff --git a/js/init_layout.js b/js/init_layout.js index a4d7019..fa7c353 100644 --- a/js/init_layout.js +++ b/js/init_layout.js @@ -41,7 +41,7 @@ function doClientAndOrientationStuff() { } //*/ var ratio = ww / mw; //calculate ratio - $('#Viewport').attr('content', 'initial-scale='+ratio+',maximum-scale='+ratio+',minimum-scale='+ratio+',user-scalable=yes,width='+mw); + $('#Viewport').attr('content', 'initial-scale='+ratio+',maximum-scale='+ratio+',minimum-scale='+ratio+',user-scalable=no,width='+mw); if( ww < mw){ //smaller than minimum size // $(".colmask").css("background-color", "#ff0"); // $('#Viewport').attr('content', 'initial-scale=' + ratio + ', maximum-scale=' + ratio + ', minimum-scale=' + ratio + ', user-scalable=yes, width=' + ww); @@ -57,7 +57,7 @@ function doClientAndOrientationStuff() { } else { // portrait // $('#Viewport').attr('content', 'initial-scale='+1+',maximum-scale='+1+',minimum-scale='+1+',user-scalable=no'); - $('#Viewport').attr('content', 'width=device-width,initial-scale=1.0,maximum-scale=1.0,user-scalable=yes'); + $('#Viewport').attr('content', 'width=device-width,initial-scale=1.0,maximum-scale=1.0,minimum-scale=1.0,user-scalable=no'); } } else { @@ -95,19 +95,59 @@ function doOnOrientationChange() { // } } +var drawAreaContainerMinHeight = 300; +var drawAreaContainerMaxHeight = 450; function doOnResize() { // console.log("doOnResize() >> " + new Date().getTime()); // $(".container").css("height", window.innerHeight); - doClientAndOrientationStuff() +// doClientAndOrientationStuff() // <-- is this necessary in this method? + +// console.log("f:doOnResize() >> $('#canvascontainer').innerHeight: " + window.innerHeight); if (window.innerHeight < 768) { - $('#drawAreaContainer').innerHeight(window.innerHeight - $("#drawAreaContainer").offset().top - 70); +// $('#drawAreaContainer').innerHeight(window.innerHeight - $("#drawAreaContainer").offset().top - 70); + var newVal = window.innerHeight - $("#drawAreaContainer").offset().top - 100; // what's the 70 ?? + newVal = Math.max(newVal, drawAreaContainerMinHeight); + newVal = Math.min(newVal, drawAreaContainerMaxHeight); + + $('#drawAreaContainer').innerHeight(newVal); + + // canvas drawing area + $canvas.css("height", newVal); + canvas.height = newVal; + canvasWidth = canvas.width; + canvasHeight = canvas.height; + + // preview area + $preview.css("height", newVal); + preview.height = newVal; + layerOffsetY = preview.height - 1.75 * layerCY; + yStep = preview.height / 150; + + redrawDoodle(); + redrawPreview(); } } function initLayouting() { console.log("f:initLayouting()"); + // first set the css width/height and actual width/height of the drawing area + + + + $("#drawAreaContainer").attr("width", parseInt($("#drawAreaContainer").css("width"), 10)); + $("#drawAreaContainer").attr("height", parseInt($("#drawAreaContainer").css("height"), 10)); + canvas.width = parseInt($canvas.css("width"), 10); + canvas.height = parseInt($canvas.css("height"), 10); + preview.width = parseInt($preview.css("width"), 10); + preview.height = parseInt($preview.css("height"), 10); + canvasWidth = canvas.width; + canvasHeight = canvas.height; +// console.log("f:initLayouting() >> canvas height: " + canvas.height); + + + // imgDims[0] = parseInt($(".container").css("width").match(/[0-9]+/).join("")); // imgDims[1] = parseInt($(".container").css("height").match(/[0-9]+/).join("")); @@ -125,7 +165,7 @@ function initLayouting() { // $(".container").css("height", window.innerHeight); // Initial execution if needed - /* 2013-07-26 not doing this resizing stuff now, it's not working well yet + //* 2013-07-26 not doing this resizing stuff now, it's not working well yet if (!window.addEventListener) { window.attachEvent('orientationchange', doOnOrientationChange); window.attachEvent('resize', doOnResize) @@ -135,6 +175,7 @@ function initLayouting() { } //*/ doClientAndOrientationStuff(); + doOnResize(); // doOnOrientationChange(); // window.innerHeight diff --git a/js/previewRendering_v01.js b/js/previewRendering_v01.js index ab469ea..375a617 100644 --- a/js/previewRendering_v01.js +++ b/js/previewRendering_v01.js @@ -1,7 +1,12 @@ //* +var $preview; var preview; var previewCtx; +$preview = $("#preview"); +preview = document.getElementById('preview'); +previewCtx = preview.getContext('2d'); + var svgPathRegExp = /[LM]\d* \d*/ig; var svgPathParamsRegExp = /([LM])(\d*) (\d*)/; @@ -11,8 +16,10 @@ var redrawInterval = 1000 / 20; // ms function initPreviewRendering() { console.log("f:initPreviewRendering()"); - preview = document.getElementById('preview'); - previewCtx = preview.getContext('2d'); + layerCX = (canvasWidth / 2) * globalScale; // defined in canvasDrawing_v01.js + layerCY = (canvasHeight / 2) * globalScale; // defined in canvasDrawing_v01.js + layerOffsetY = preview.height - 1.75 * layerCY; + yStep = preview.height / 150; redrawPreview(); } @@ -26,12 +33,12 @@ var viewerScale = 0.65; // additional scale to fit into preview nicely (otherwi var strokeWidth = 2; //4; //var rStep = Math.PI/40; //Math.PI/40; // var rStep = Math.PI/45; // Math.PI/180; //Math.PI/40; // -var yStep = 3; //6; +var yStep = preview.height / 150; // 3; //6; //var svgWidth = 500; // 650 //parseInt($(svg).css("width")); //var svgHeight = 450; //450; //parseInt($(svg).css("height")); var layerCX = (canvasWidth / 2) * globalScale; // defined in canvasDrawing_v01.js var layerCY = (canvasHeight / 2) * globalScale; // defined in canvasDrawing_v01.js -var layerOffsetY= 330; +var layerOffsetY= preview.height - 1.75 * layerCY; // 330; // previewHeight - 120 var prevX = 0; var prevY = 0; var highlight = true; //highlight bottom, middle and top layers