Author: scottbw
Date: Fri Oct 21 13:42:15 2011
New Revision: 1187338

URL: http://svn.apache.org/viewvc?rev=1187338&view=rev
Log:
Some improvements of the Butterfly widget for the Android browser, in that it 
at least the widget occupies the screen correctly and draws the shapes. 
However, the HTML5 canvas clip() function still doesn't work as intended and so 
drawing on Android doesn't work yet. 

Modified:
    incubator/wookie/trunk/widgets/butterfly/index.html
    incubator/wookie/trunk/widgets/butterfly/scripts/butterfly.js

Modified: incubator/wookie/trunk/widgets/butterfly/index.html
URL: 
http://svn.apache.org/viewvc/incubator/wookie/trunk/widgets/butterfly/index.html?rev=1187338&r1=1187337&r2=1187338&view=diff
==============================================================================
--- incubator/wookie/trunk/widgets/butterfly/index.html (original)
+++ incubator/wookie/trunk/widgets/butterfly/index.html Fri Oct 21 13:42:15 2011
@@ -18,7 +18,7 @@
 <html lang="en">
   <head>
     <meta charset="utf-8">
-    <meta name="viewport" content="width=device-width, minimum-scale=1.0, 
maximum-scale=1.0, initial-scale=1.0, user-scalable=no">
+    <meta name="viewport" content="target-densitydpi=device-dpi, width=480, 
user-scalable=no">
     <title>Butterfly</title>
     <style type="text/css"><!--
       * {
@@ -80,7 +80,7 @@
         }
       }
       /*
-       * Make the buttons and viewport thinner when short on horizontal space
+       * Make the buttons thinner when short on horizontal space
        *
        */
       @media all and (max-width: 470px){
@@ -88,12 +88,21 @@
           width:32px;
         }
       }
+      /*
+       * Make the buttons even thinner when short on horizontal space
+       *
+       */
+      @media all and (max-width: 400px){
+        button{
+          width:20px;
+        }
+      }
       
     --></style>
        <!--[if lt IE 9]><script type="text/javascript" 
src="scripts/flashcanvas.js"></script><![endif]-->
         <script type="text/javascript" src="scripts/butterfly.js"></script>
   </head>
-  <body onload="Controller.init()">
+  <body onload="Controller.init();">
       <div id="wrapper">
         <div id="canvas-wrapper">
         <canvas id="imageView" width="400" height="300">

Modified: incubator/wookie/trunk/widgets/butterfly/scripts/butterfly.js
URL: 
http://svn.apache.org/viewvc/incubator/wookie/trunk/widgets/butterfly/scripts/butterfly.js?rev=1187338&r1=1187337&r2=1187338&view=diff
==============================================================================
--- incubator/wookie/trunk/widgets/butterfly/scripts/butterfly.js (original)
+++ incubator/wookie/trunk/widgets/butterfly/scripts/butterfly.js Fri Oct 21 
13:42:15 2011
@@ -209,15 +209,19 @@ brush = function (x,y) {
                c.fillRect(x-D, y-D, D2, D2);
                c.globalCompositeOperation = 'source-in';
                c.rect(x-D, y-D, D2, D2);
-};
+};
+
+//
+// This is a hack to compensate for the coords being upside down without 
applying transforms to the whole canvas :-)
+//
+curveTo = function(cp1x, cp1y, cp2x, cp2y, x, y){
+  context.bezierCurveTo(cp1x, 300-cp1y, cp2x, 300-cp2y, x, 300-y);
+}
 
 mask = function(){
-       // the butterfly shape
+       // the butterfly shape
     context.save();
     context.beginPath();
-    context.translate(400,300); 
-    context.rotate(Math.PI);
-    context.moveTo(0,300);
     // if IE - TODO butterfly image is not quite drawn correctly
     if (!context.bezierCurveTo) {
        
context.quadraticCurveTo(80.1783,301.0774,134.5506,273.2636,168.0000,228.0000);
@@ -271,63 +275,63 @@ mask = function(){
        
context.quadraticCurveTo(16.0797,253.5891,-0.2461,262.3976,0.0000,300.0000);
        }
        else{
-               // IE8 took too long to process this...
-               
context.bezierCurveTo(80.1783,301.0774,134.5506,273.2636,168.0000,228.0000);
-               
context.bezierCurveTo(174.6660,215.3346,181.3340,202.6654,188.0000,190.0000);
-               
context.bezierCurveTo(189.3332,194.9995,190.6668,200.0005,192.0000,205.0000);   
 
-               
context.bezierCurveTo(171.6442,233.3266,148.4269,261.6911,134.0000,295.0000);
-               
context.bezierCurveTo(134.3333,295.6666,134.6667,296.3334,135.0000,297.0000);
-               
context.bezierCurveTo(154.8897,289.3127,174.1114,208.2397,205.0000,207.0000);
-               
context.bezierCurveTo(206.9998,208.6665,209.0002,210.3335,211.0000,212.0000);
-               
context.bezierCurveTo(213.8325,219.3365,262.2242,296.0280,265.0000,297.0000);
-               
context.bezierCurveTo(265.3333,296.3334,265.6667,295.6666,266.0000,295.0000);
-               
context.bezierCurveTo(253.2034,263.5240,229.7223,229.2060,208.0000,205.0000);
-               
context.bezierCurveTo(209.3332,199.6672,210.6668,194.3328,212.0000,189.0000);
-               
context.bezierCurveTo(212.3333,189.0000,212.6667,189.0000,213.0000,189.0000);
-               
context.bezierCurveTo(213.3333,189.0000,213.6667,189.0000,214.0000,189.0000);
-               
context.bezierCurveTo(235.4263,260.3326,305.6072,300.4202,400.0000,300.0000);
-               
context.bezierCurveTo(400.7564,260.7574,381.7836,251.4776,376.0000,221.0000);
-               
context.bezierCurveTo(372.5464,202.8009,374.9546,182.1234,363.0000,173.0000);
-               
context.bezierCurveTo(352.5150,164.9982,339.5687,168.3028,325.0000,163.0000);
-               
context.bezierCurveTo(325.0000,162.6667,325.0000,162.3333,325.0000,162.0000);
-               
context.bezierCurveTo(349.5033,158.3783,352.2077,130.7042,354.0000,109.0000);
-               
context.bezierCurveTo(345.9678,103.6550,343.8264,100.1513,338.0000,94.0000);
-               
context.bezierCurveTo(339.8800,86.6748,343.8295,83.7354,341.0000,77.0000);
-               
context.bezierCurveTo(336.3338,73.6670,331.6662,70.3330,327.0000,67.0000);
-               
context.bezierCurveTo(311.5394,39.7644,355.2383,26.7068,341.0000,2.0000);
-               
context.bezierCurveTo(337.2354,0.8094,333.2949,-0.8581,329.0000,1.0000);
-               
context.bezierCurveTo(327.6668,1.6666,326.3332,2.3334,325.0000,3.0000);
-               
context.bezierCurveTo(321.9745,19.4608,323.1224,37.2860,309.0000,43.0000);
-               
context.bezierCurveTo(294.2036,46.5382,273.9450,34.5515,258.0000,41.0000);
-               
context.bezierCurveTo(230.1233,52.2740,223.0465,111.1756,212.0000,141.0000);
-               
context.bezierCurveTo(211.3334,141.0000,210.6666,141.0000,210.0000,141.0000);
-               
context.bezierCurveTo(208.6668,130.3344,207.3332,119.6656,206.0000,109.0000);
-               
context.bezierCurveTo(204.0002,107.6668,201.9998,106.3332,200.0000,105.0000);
-               
context.bezierCurveTo(198.0002,105.9999,195.9998,107.0001,194.0000,108.0000);
-               
context.bezierCurveTo(192.0002,118.6656,189.9998,129.3344,188.0000,140.0000);
-               
context.bezierCurveTo(188.0000,139.3334,188.0000,138.6666,188.0000,138.0000);
-               
context.bezierCurveTo(181.3340,119.3352,174.6660,100.6648,168.0000,82.0000);
-               
context.bezierCurveTo(166.3335,73.6675,164.6665,65.3325,163.0000,57.0000);
-               
context.bezierCurveTo(159.6670,55.0002,156.3330,52.9998,153.0000,51.0000);
-               
context.bezierCurveTo(124.5349,29.4373,115.4563,53.0338,91.0000,43.0000);
-               
context.bezierCurveTo(75.6567,36.7051,77.4912,12.9952,69.0000,0.0000);
-               
context.bezierCurveTo(65.3654,0.6436,65.9730,0.4032,64.0000,2.0000);
-               
context.bezierCurveTo(59.0478,4.2801,58.0846,6.9206,56.0000,12.0000);
-               
context.bezierCurveTo(58.5748,31.4614,74.0400,36.2547,75.0000,60.0000);
-               
context.bezierCurveTo(70.0342,69.9436,61.4112,73.0454,56.0000,82.0000);
-               
context.bezierCurveTo(58.6524,86.5103,60.9126,87.5516,62.0000,94.0000);
-               
context.bezierCurveTo(58.7903,95.8190,48.1997,106.9635,45.0000,111.0000);
-               
context.bezierCurveTo(51.2644,140.5583,50.9489,147.1374,74.0000,163.0000);
-               
context.bezierCurveTo(62.8643,167.3318,49.5220,163.8747,41.0000,170.0000);
-               
context.bezierCurveTo(25.0144,181.4898,28.4368,204.3249,23.0000,226.0000);
-               
context.bezierCurveTo(16.0797,253.5891,-0.2461,262.3976,0.0000,300.0000);
-       }           
-    context.closePath();
-    context.stroke();
-    context.restore();
-    context.clip();
-    context.fillStyle = "rgb(255,255,255)";
-    context.fill();        
+               // IE8 took too long to process this...
+        context.moveTo(0,0);
+               curveTo(80.1783,301.0774,134.5506,273.2636,168.0000,228.0000);
+               curveTo(174.6660,215.3346,181.3340,202.6654,188.0000,190.0000);
+               curveTo(189.3332,194.9995,190.6668,200.0005,192.0000,205.0000); 
   
+               curveTo(171.6442,233.3266,148.4269,261.6911,134.0000,295.0000);
+               curveTo(134.3333,295.6666,134.6667,296.3334,135.0000,297.0000);
+               curveTo(154.8897,289.3127,174.1114,208.2397,205.0000,207.0000);
+               curveTo(206.9998,208.6665,209.0002,210.3335,211.0000,212.0000);
+               curveTo(213.8325,219.3365,262.2242,296.0280,265.0000,297.0000);
+               curveTo(265.3333,296.3334,265.6667,295.6666,266.0000,295.0000);
+               curveTo(253.2034,263.5240,229.7223,229.2060,208.0000,205.0000);
+               curveTo(209.3332,199.6672,210.6668,194.3328,212.0000,189.0000);
+               curveTo(212.3333,189.0000,212.6667,189.0000,213.0000,189.0000);
+               curveTo(213.3333,189.0000,213.6667,189.0000,214.0000,189.0000);
+               curveTo(235.4263,260.3326,305.6072,300.4202,400.0000,300.0000);
+               curveTo(400.7564,260.7574,381.7836,251.4776,376.0000,221.0000);
+               curveTo(372.5464,202.8009,374.9546,182.1234,363.0000,173.0000);
+               curveTo(352.5150,164.9982,339.5687,168.3028,325.0000,163.0000);
+               curveTo(325.0000,162.6667,325.0000,162.3333,325.0000,162.0000);
+               curveTo(349.5033,158.3783,352.2077,130.7042,354.0000,109.0000);
+               curveTo(345.9678,103.6550,343.8264,100.1513,338.0000,94.0000);
+               curveTo(339.8800,86.6748,343.8295,83.7354,341.0000,77.0000);
+               curveTo(336.3338,73.6670,331.6662,70.3330,327.0000,67.0000);
+               curveTo(311.5394,39.7644,355.2383,26.7068,341.0000,2.0000);
+               curveTo(337.2354,0.8094,333.2949,-0.8581,329.0000,1.0000);
+               curveTo(327.6668,1.6666,326.3332,2.3334,325.0000,3.0000);
+               curveTo(321.9745,19.4608,323.1224,37.2860,309.0000,43.0000);
+               curveTo(294.2036,46.5382,273.9450,34.5515,258.0000,41.0000);
+               curveTo(230.1233,52.2740,223.0465,111.1756,212.0000,141.0000);
+               curveTo(211.3334,141.0000,210.6666,141.0000,210.0000,141.0000);
+               curveTo(208.6668,130.3344,207.3332,119.6656,206.0000,109.0000);
+               curveTo(204.0002,107.6668,201.9998,106.3332,200.0000,105.0000);
+               curveTo(198.0002,105.9999,195.9998,107.0001,194.0000,108.0000);
+               curveTo(192.0002,118.6656,189.9998,129.3344,188.0000,140.0000);
+               curveTo(188.0000,139.3334,188.0000,138.6666,188.0000,138.0000);
+               curveTo(181.3340,119.3352,174.6660,100.6648,168.0000,82.0000);
+               curveTo(166.3335,73.6675,164.6665,65.3325,163.0000,57.0000);
+               curveTo(159.6670,55.0002,156.3330,52.9998,153.0000,51.0000);
+               curveTo(124.5349,29.4373,115.4563,53.0338,91.0000,43.0000);
+               curveTo(75.6567,36.7051,77.4912,12.9952,69.0000,0.0000);
+               curveTo(65.3654,0.6436,65.9730,0.4032,64.0000,2.0000);
+               curveTo(59.0478,4.2801,58.0846,6.9206,56.0000,12.0000);
+               curveTo(58.5748,31.4614,74.0400,36.2547,75.0000,60.0000);
+               curveTo(70.0342,69.9436,61.4112,73.0454,56.0000,82.0000);
+               curveTo(58.6524,86.5103,60.9126,87.5516,62.0000,94.0000);
+               curveTo(58.7903,95.8190,48.1997,106.9635,45.0000,111.0000);
+               curveTo(51.2644,140.5583,50.9489,147.1374,74.0000,163.0000);
+               curveTo(62.8643,167.3318,49.5220,163.8747,41.0000,170.0000);
+               curveTo(25.0144,181.4898,28.4368,204.3249,23.0000,226.0000);
+               curveTo(16.0797,253.5891,-0.2461,262.3976,0.0000,300.0000);
+       } 
+    context.closePath(); 
+    context.stroke();
+    context.fillStyle = "rgb(255,255,255)";
+    context.fill();  
+    context.clip();  
 }
 
 


Reply via email to