I'm thinking this will be the easiest way to get Piccolo2D-like apps on phones.

I might finally have to learn javascript.  ;)

   michael


On Tue, Jan 12, 2010 at 3:09 PM, Ben Bederson <beder...@gmail.com> wrote:
> Wow!  That is amazing.  Very cool!  Do you have a specific project in
> mind that you are building this out for?
>
>  - Ben
>
> On Jan 10, 7:31 pm, allain <allain.lalo...@gmail.com> wrote:
>> As for now, no documentation exists. It is the first checkin on that
>> branch after all :).
>>
>> Since there's no fancy JavaScript going on, I don't see why you
>> couldn't invoke it directly from GWT. I haven't really considered
>> packaging it for GWT, but now that you say it, it makes perfect sense.
>>
>> It has not yet been optimized at all, so if you do plan on making use
>> of it, you may want to take that into account.
>>
>> Good luck,
>> Allain
>>
>> On Jan 10, 7:20 pm, Ben Suter <ben.su...@gmail.com> wrote:
>>
>> > Hi Allain,
>> > I'm glad someone has tackled this - it's been a few years since I used
>> > (the Java version of) Piccolo, but back then I was curious how long
>> > until it would be ported to JS. I've embedded Piccolo ZUI's in the
>> > browser as applets, but would love to go the plugin-free route. I
>> > checked out your examples. Do you have any documentation on how to get
>> > started using your library? In particular, do you think it would work
>> > well with GWT / do you think you might package it as a library for
>> > GWT?
>>
>> > Thanks,
>> > Ben.
>>
>> > On Jan 4, 12:16 pm, piccol...@googlecode.com wrote:
>>
>> > > Revision: 922
>> > > Author: allain.lalonde
>> > > Date: Mon Jan  4 10:15:57 2010
>> > > Log: Initial Piccolo2d port to Javascript.
>>
>> > > It makes use of the canvas tag, which limits it to Chrome, Safari and
>> > > Firefox for the time being, but there exist wrappers for IE (excanvas) 
>> > > and
>> > > there's talk about supporting the HTML5 canvas tag in the next version.
>>
>> > > It currently supports the core functionality:
>> > > - scene construction
>> > > - activities.html
>> > > - events (mouseup, mousedown, click, mousemove)
>>
>> > > I have tried (by using some John Resig code) to retain the basic "feel" 
>> > > of
>> > > Piccolo2d even though JavaScript doesn't quite support object inheritance
>> > > in the way most OO languages do.
>>
>> > > If you want to see it in action, take a look at  
>> > > http://www.machete.ca/piccolo2d.js/andbrowseto the examples.css
>>
>> > > There are still definitely some things missing so far, but I think this 
>> > > is
>> > > a good start.
>>
>> > >http://code.google.com/p/piccolo2d/source/detail?r=922
>>
>> > > Added:
>> > >   /piccolo2d.js
>> > >   /piccolo2d.js/branches
>> > >   /piccolo2d.js/tags
>> > >   /piccolo2d.js/trunk
>> > >   /piccolo2d.js/trunk/examples
>> > >   /piccolo2d.js/trunk/examples/activities.html
>> > >   /piccolo2d.js/trunk/examples/calendar.html
>> > >   /piccolo2d.js/trunk/examples/events.html
>> > >   /piccolo2d.js/trunk/examples/examples.css
>> > >   /piccolo2d.js/trunk/examples/hierarchy.html
>> > >   /piccolo2d.js/trunk/examples/sticky-nodes.html
>> > >   /piccolo2d.js/trunk/extends.js
>> > >   /piccolo2d.js/trunk/lib
>> > >   /piccolo2d.js/trunk/lib/javascript-1.6.js
>> > >   /piccolo2d.js/trunk/lib/jquery-1.3.2.min.js
>> > >   /piccolo2d.js/trunk/lib/qunit.css
>> > >   /piccolo2d.js/trunk/lib/qunit.js
>> > >   /piccolo2d.js/trunk/license-piccolo.txt
>> > >   /piccolo2d.js/trunk/piccolo2d.js
>> > >   /piccolo2d.js/trunk/test.html
>>
>> > > =======================================
>> > > --- /dev/null
>> > > +++ /piccolo2d.js/trunk/examples/activities.html        Mon Jan  4 
>> > > 10:15:57 2010
>> > > @@ -0,0 +1,97 @@
>> > > +<!--
>> > > +Copyright (c) 2008-2009, Piccolo2D project,http://piccolo2d.org
>> > > +Copyright (c) 1998-2008, University of Maryland
>> > > +All rights reserved.
>> > > +
>> > > +Redistribution and use in source and binary forms, with or without
>> > > modification, are permitted provided
>> > > +that the following conditions are met:
>> > > +
>> > > +Redistributions of source code must retain the above copyright notice,
>> > > this list of conditions
>> > > +and the following disclaimer.
>> > > +
>> > > +Redistributions in binary form must reproduce the above copyright 
>> > > notice,
>> > > this list of conditions
>> > > +and the following disclaimer in the documentation and/or other materials
>> > > provided with the
>> > > +distribution.
>> > > +
>> > > +None of the name of the University of Maryland, the name of the 
>> > > Piccolo2D
>> > > project, or the names of its
>> > > +contributors may be used to endorse or promote products derived from 
>> > > this
>> > > software without specific
>> > > +prior written permission.
>> > > +
>> > > +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
>> > > IS" AND ANY EXPRESS OR IMPLIED
>> > > +WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
>> > > MERCHANTABILITY AND FITNESS FOR A
>> > > +PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER
>> > > OR CONTRIBUTORS BE LIABLE FOR
>> > > +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
>> > > DAMAGES (INCLUDING, BUT NOT
>> > > +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
>> > > DATA, OR PROFITS; OR BUSINESS
>> > > +INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
>> > > CONTRACT, STRICT LIABILITY, OR
>> > > +TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE 
>> > > USE
>> > > OF THIS SOFTWARE, EVEN IF
>> > > +ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
>> > > +-->
>> > > +<html>
>> > > +  <head>
>> > > +    <title>Activities Example - Piccolo2d.js</title>
>> > > +    <link rel="stylesheet" href="examples.css" />
>> > > +  </head>
>> > > +  <body>
>> > > +  <canvas id="canvas" width="400" height="400">
>> > > +    <p>No Canvas Support in this browser.</p>
>> > > +  </canvas>
>> > > +  <script type="text/javascript" 
>> > > src="../lib/javascript-1.6.js"></script>
>> > > +  <script type="text/javascript" 
>> > > src="../lib/jquery-1.3.2.min.js"></script>
>> > > +  <script type="text/javascript" src="../extends.js"></script>
>> > > +  <script type="text/javascript" src="../piccolo2d.js"></script>
>> > > +  <script type="text/javascript">
>> > > +    // To deal with the case where firebug's console is not available'
>> > > +    if (typeof console == "undefined")
>> > > +      console = {log: function() {}};
>> > > +
>> > > +    // Example usage
>> > > +    var pCanvas = new PCanvas(document.getElementById('canvas'));
>> > > +
>> > > +    with ({
>> > > +      camera: pCanvas.camera,
>> > > +      layer : pCanvas.camera.layers[0],
>> > > +      scheduler: pCanvas.camera.getRoot().scheduler
>> > > +    }) {
>> > > +      var squareContainer = new PNode({
>> > > +        fillStyle: "rgb(200, 200, 200)",
>> > > +        bounds: new PBounds(0, 0, 400, 400)
>> > > +      })
>> > > +
>> > > +      for (var i=0; i<100; i++) {
>> > > +        var randomColor = "rgb("+(Math.round(Math.random()*254)) + ","
>> > > +(Math.round(Math.random()*254)) + "," +(Math.round(Math.random()*254))
>> > > +")";
>> > > +        squareContainer.addChild(new PNode({
>> > > +          fillStyle: randomColor,
>> > > +          bounds: new PBounds(0, 0, 10, 10)
>> > > +        }));
>> > > +      }
>> > > +      layer.addChild(squareContainer);
>> > > +
>> > > +      var step = 0;
>> > > +      scheduler.schedule(new PActivity({
>> > > +        init: function() {
>> > > +          this.lastCalled = 0;
>> > > +        },
>> > > +
>> > > +        step: function() {
>> > > +          if (scheduler.globalTime - this.lastCalled > 1500) {
>> > > +            for (var i=0; i<squareContainer.children.length; i++) {
>> > > +              var x = Math.round(Math.random()* 380) + 10;
>> > > +              var y = Math.round(Math.random()* 380) + 10;
>> > > +              squareContainer.children[i].animateToTransform(new
>> > > PTransform().translate(x, y), 1000);
>> > > +            }
>> > > +
>> > > +            this.lastCalled = scheduler.globalTime;
>> > > +          }
>> > > +
>> > > +          return true;
>> > > +        }
>> > > +      }));
>> > > +    }
>> > > +  </script>
>> > > +  <h1>Activity Example</h1>
>> > > +  <p>This example contains:</p>
>> > > +  <ul>
>> > > +    <li>100 Rectangles being scheduled every 1.5 seconds for 1 
>> > > second.</li>
>> > > +  </ul>
>> > > +</body>
>> > > +</html>
>> > > =======================================
>> > > --- /dev/null
>> > > +++ /piccolo2d.js/trunk/examples/calendar.html  Mon Jan  4 10:15:57 2010
>> > > @@ -0,0 +1,183 @@
>> > > +<!--
>> > > +Copyright (c) 2008-2009, Piccolo2D project,http://piccolo2d.org
>> > > +Copyright (c) 1998-2008, University of Maryland
>> > > +All rights reserved.
>> > > +
>> > > +Redistribution and use in source and binary forms, with or without
>> > > modification, are permitted provided
>> > > +that the following conditions are met:
>> > > +
>> > > +Redistributions of source code must retain the above copyright notice,
>> > > this list of conditions
>> > > +and the following disclaimer.
>> > > +
>> > > +Redistributions in binary form must reproduce the above copyright 
>> > > notice,
>> > > this list of conditions
>> > > +and the following disclaimer in the documentation and/or other materials
>> > > provided with the
>> > > +distribution.
>> > > +
>> > > +None of the name of the University of Maryland, the name of the 
>> > > Piccolo2D
>> > > project, or the names of its
>> > > +contributors may be used to endorse or promote products derived from 
>> > > this
>> > > software without specific
>> > > +prior written permission.
>> > > +
>> > > +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
>> > > IS" AND ANY EXPRESS OR IMPLIED
>> > > +WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
>> > > MERCHANTABILITY AND FITNESS FOR A
>> > > +PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER
>> > > OR CONTRIBUTORS BE LIABLE FOR
>> > > +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
>> > > DAMAGES (INCLUDING, BUT NOT
>> > > +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
>> > > DATA, OR PROFITS; OR BUSINESS
>> > > +INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
>> > > CONTRACT, STRICT LIABILITY, OR
>> > > +TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE 
>> > > USE
>> > > OF THIS SOFTWARE, EVEN IF
>> > > +ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
>> > > +--><html>
>> > > +    <head>
>> > > +        <title>Calendar Example - Piccolo2d.js</title>
>> > > +        <link rel="stylesheet" href="examples.css" />
>> > > +    </head>
>> > > +    <body>
>> > > +    <canvas id="canvas" width="800" height="600">
>> > > +        <p>No Canvas
>>
>> ...
>>
>> read more »
>
> --
> Piccolo2D Developers Group: http://groups.google.com/group/piccolo2d-dev?hl=en
>
-- 
Piccolo2D Developers Group: http://groups.google.com/group/piccolo2d-dev?hl=en

Reply via email to