Added mouse move support for the Mandelbrot.
authorEugen Sawin <sawine@me73.com>
Fri, 24 Sep 2010 21:29:37 +0200
changeset 30c3b2d9e3b909
parent 29 27743d2ab92b
child 31 837078f56ae2
Added mouse move support for the Mandelbrot.
factory/v2010/chrome.html
script.js
     1.1 --- a/factory/v2010/chrome.html	Fri Sep 24 14:31:04 2010 +0200
     1.2 +++ b/factory/v2010/chrome.html	Fri Sep 24 21:29:37 2010 +0200
     1.3 @@ -1,7 +1,7 @@
     1.4  <p>
     1.5  <!--<img src="images/world.png" alt="world map" height="280" width="100%" />
     1.6  -->
     1.7 -<canvas id="mandelbrot" width="670" height="280"></canvas> 
     1.8 +<canvas id="mandelbrot" width="670" height="280" onclick="draw2(event);"></canvas> 
     1.9  <button onclick="draw(0, -2, 0, 0, 0);">Left</button>
    1.10  <button onclick="draw(0, 2, 0, 0, 0);">Right</button>
    1.11  <button onclick="draw(0, 0, -2, 0, 0)">Up</button>
     2.1 --- a/script.js	Fri Sep 24 14:31:04 2010 +0200
     2.2 +++ b/script.js	Fri Sep 24 21:29:37 2010 +0200
     2.3 @@ -268,4 +268,51 @@
     2.4  			}
     2.5    		}
     2.6  	}  
     2.7 -}  
     2.8 +} 
     2.9 +
    2.10 +function getEventOffsetX(evt)
    2.11 +{
    2.12 +	if (evt.offsetX != null)
    2.13 +		return evt.offsetX;
    2.14 + 
    2.15 +    var obj = evt.target || evt.srcElement;
    2.16 +   	setPageTopLeft(obj);
    2.17 +    return (evt.clientX - obj.pageLeft);
    2.18 +}
    2.19 +
    2.20 +function getEventOffsetY(evt)
    2.21 +{
    2.22 +	if (evt.offsetY != null)
    2.23 +		return evt.offsetY;
    2.24 + 
    2.25 +    var obj = evt.target || evt.srcElement;
    2.26 +   	setPageTopLeft(obj);
    2.27 +    return (evt.clientY - obj.pageTop);
    2.28 +}
    2.29 + 
    2.30 +function setPageTopLeft( o )
    2.31 +{
    2.32 +    var top = 0,
    2.33 +    left = 0,
    2.34 +    obj = o;
    2.35 + 
    2.36 +    while (o.offsetParent)
    2.37 +     {
    2.38 +         left += o.offsetLeft ;
    2.39 +         top += o.offsetTop ;
    2.40 +         o = o.offsetParent ;
    2.41 +    };
    2.42 + 
    2.43 +    obj.pageTop = top;
    2.44 +    obj.pageLeft = left; 
    2.45 +}
    2.46 + 
    2.47 +function draw2(evt)
    2.48 +{
    2.49 +	var iter = 0;
    2.50 +	var res = 0;
    2.51 +	var x = (getEventOffsetX(evt) - 335) / 167.5;
    2.52 +    var y = (getEventOffsetY(evt) - 140) / 70;
    2.53 +	var z = 0;
    2.54 +	draw(iter, x, y, z, res);
    2.55 +}