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

Reply via email to