+<!-- ***** BEGIN LICENSE BLOCK *****
+ - Version: MPL 1.1/GPL 2.0/LGPL 2.1
+ -
+ - The contents of this file are subject to the Mozilla Public License Version
+ - 1.1 (the "License"); you may not use this file except in compliance with
+ - the License. You may obtain a copy of the License at
+ - http://www.mozilla.org/MPL/
+ -
+ - Software distributed under the License is distributed on an "AS IS" basis,
+ - WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+ - for the specific language governing rights and limitations under the
+ - License.
+ -
+ - The Original Code is KaiRo.at Mandelbrot Web.
+ -
+ - The Initial Developer of the Original Code is
+ - Robert Kaiser <kairo@kairo.at>.
+ - Portions created by the Initial Developer are Copyright (C) 2011
+ - the Initial Developer. All Rights Reserved.
+ -
+ - Contributor(s):
+ - Robert Kaiser <kairo@kairo.at> (original author)
+ -
+ - Alternatively, the contents of this file may be used under the terms of
+ - either the GNU General Public License Version 2 or later (the "GPL"), or
+ - the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
+ - in which case the provisions of the GPL or the LGPL are applicable instead
+ - of those above. If you wish to allow use of your version of this file only
+ - under the terms of either the GPL or the LGPL, and not to allow others to
+ - use your version of this file under the terms of the MPL, indicate your
+ - decision by deleting the provisions above and replace them with the notice
+ - and other provisions required by the LGPL or the GPL. If you do not delete
+ - the provisions above, a recipient may use your version of this file under
+ - the terms of any one of the MPL, the GPL or the LGPL.
+ -
+ - ***** END LICENSE BLOCK ***** -->
+
<!DOCTYPE html>
<html manifest="manifest.appcache">
<head>
<input type="button" id="drawButton" value="Draw Image"
onclick="drawImage();">
<input type="button" id="backButton" value="Back"
- onclick="goBack();">
+ onclick="goBack();" disabled="true">
<input type="button" id="settingsButton" value="Settings"
onclick="toggleSettings();">
<fieldset id="settings"><legend>Image data</legend>
</div>
<div id="mainArea">
-<canvas id="mbrotImage" width="300" height="300"></canvas>
+<canvas id="mbrotImage" width="300" height="300"
+ onclick="drawIfEmpty();"></canvas>
</div>
<p>Time taken for calculation: <span id="calcTime">none yet</span></p>
*
* The Initial Developer of the Original Code is
* Robert Kaiser <kairo@kairo.at>.
- * Portions created by the Initial Developer are Copyright (C) 2008-210
+ * Portions created by the Initial Developer are Copyright (C) 2008-2011
* the Initial Developer. All Rights Reserved.
*
* Contributor(s):
if (gCurrentImageData) {
gLastImageData = gCurrentImageData;
+ document.getElementById("backButton").disabled = false;
}
gColorPalette = getColorPalette(document.getElementById("palette").value);
if (zoomend.y < zoomstart.y)
[zoomend.y, zoomstart.y] = [zoomstart.y, zoomend.y];
- // determine new "coordinates"
- var CWidth = gCurrentImageData.C_max.r - gCurrentImageData.C_min.r;
- var CHeight = gCurrentImageData.C_max.i - gCurrentImageData.C_min.i;
- var newC_min = new complex(
- gCurrentImageData.C_min.r + zoomstart.x / gCurrentImageData.iWidth * CWidth,
- gCurrentImageData.C_min.i + zoomstart.y / gCurrentImageData.iHeight * CHeight);
- var newC_max = new complex(
- gCurrentImageData.C_min.r + zoomend.x / gCurrentImageData.iWidth * CWidth,
- gCurrentImageData.C_min.i + zoomend.y / gCurrentImageData.iHeight * CHeight);
+ if (gCurrentImageData) {
+ // determine new "coordinates"
+ var CWidth = gCurrentImageData.C_max.r - gCurrentImageData.C_min.r;
+ var CHeight = gCurrentImageData.C_max.i - gCurrentImageData.C_min.i;
+ var newC_min = new complex(
+ gCurrentImageData.C_min.r + zoomstart.x / gCurrentImageData.iWidth * CWidth,
+ gCurrentImageData.C_min.i + zoomstart.y / gCurrentImageData.iHeight * CHeight);
+ var newC_max = new complex(
+ gCurrentImageData.C_min.r + zoomend.x / gCurrentImageData.iWidth * CWidth,
+ gCurrentImageData.C_min.i + zoomend.y / gCurrentImageData.iHeight * CHeight);
+ }
+ else {
+ var newC_min = new complex(-2, -1.5);
+ var newC_max = new complex(1, 1.5);
+ }
adjustCoordsAndDraw(newC_min, newC_max);
}
coordObj.clientX - canvas.offsetLeft - zoomstart.x,
coordObj.clientY - canvas.offsetTop - zoomstart.y);
}
- break;
+ break;
}
}
};
+function drawIfEmpty() {
+ if (!gCurrentImageData) {
+ drawImage();
+ }
+}
+
function toggleSettings() {
var fs = document.getElementById("settings");
if (fs.style.display != "block") {
// use gLastImageData.iWidth, gLastImageData.iHeight ???
adjustCoordsAndDraw(gLastImageData.C_min, gLastImageData.C_max);
gLastImageData = undefined;
+ document.getElementById("backButton").disabled = true;
}
}
+/* ***** BEGIN LICENSE BLOCK *****
+ * Version: MPL 1.1/GPL 2.0/LGPL 2.1
+ *
+ * The contents of this file are subject to the Mozilla Public License Version
+ * 1.1 (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ * http://www.mozilla.org/MPL/
+ *
+ * Software distributed under the License is distributed on an "AS IS" basis,
+ * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+ * for the specific language governing rights and limitations under the
+ * License.
+ *
+ * The Original Code is KaiRo.at Mandelbrot Web.
+ *
+ * The Initial Developer of the Original Code is
+ * Robert Kaiser <kairo@kairo.at>.
+ * Portions created by the Initial Developer are Copyright (C) 2011
+ * the Initial Developer. All Rights Reserved.
+ *
+ * Contributor(s):
+ * Robert Kaiser <kairo@kairo.at>
+ *
+ * Alternatively, the contents of this file may be used under the terms of
+ * either the GNU General Public License Version 2 or later (the "GPL"), or
+ * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
+ * in which case the provisions of the GPL or the LGPL are applicable instead
+ * of those above. If you wish to allow use of your version of this file only
+ * under the terms of either the GPL or the LGPL, and not to allow others to
+ * use your version of this file under the terms of the MPL, indicate your
+ * decision by deleting the provisions above and replace them with the notice
+ * and other provisions required by the GPL or the LGPL. If you do not delete
+ * the provisions above, a recipient may use your version of this file under
+ * the terms of any one of the MPL, the GPL or the LGPL.
+ *
+ * ***** END LICENSE BLOCK ***** */
+
+body {
+ font-family: sans-serif;
+}
+
#overlayArea {
position: absolute;
}