DEMOAbove is a functionality demo. If you hit every button at once, you trigger multiple animations on the same object, and things breakRotatingHorizontalPanel DemoGWT-Majic (yes, it's supposed to be spelled wrong) is a fairly barebones and lightweight animation FRAMEWORK to be used with your GWT apps. I've done my best to abstract away all of the complications and make it easy for YOU to create your own animations and effects. To make life easier (after all, what else is a framework for right?) I've already implemented some of the basic necesities:
Featurescomes with basic animations built in: circular movement, point to point movemet, and checkpoint based path movement comes with basic effects built in: fade for arbitrary widgets, blind for arbitrary widgets in all directions, slide for arbitrary widgets in all directions all built in animations/effects are togglable at any time has built in support for series and parallel sets of animations/effects parallel sets correctly account for animations/effects ending at different times when toggling, so all objects return to their origional states at the same time. parallel and series sets are built like other animations/effects, so they can be passed around as such, and are togglable base code for creating your own sets is provided, including user defined animation sorting framerate and execution time for animations and effects can be altered on the fly important points can be translated on the fly, that way you can easily create animations without doing pixel math for locations everything is documented in the provided javadoc all animaions/effects from this framework can operate on all widgets, including all of GWT-EXT's Components (they extend Widget, so it should work, but I haven't had time to test) In case performance is a concern, what I can tell you from my testing is that it all comes down to framerate. In general, the smaller the screen, the lower you can go. In my testing, effects (fading, blinding, sliding) seem to perform wonderfully even on something like an android device. I haven't done extensive testing of animations on mobile devices, but from what I can tell, things should go smoothly so long as you find the framerate sweet spot. Hopefully I'll soon be able to give you more details as I do more testing myself. On the more traditional end, I've done testing on multiple platforms including my 7in eeepc with its 900mhz cpu, several standard laptops, and my desktop with a core 2. As a frame of reference, I can pull off 40-50fps running 3 animations in parallel on my 900mhz eeepc depending on how stressed the system already is.
As for support, I will do the best that I can. I check my email (firstname.lastname@example.org) many times per day, and even if it seems like my I haven't posted an update in a while, and development has stagnated, I can still always take a bit of time to fix a bug. I'm trying to be as accessible as I can here. I don't bite, especially through the internet, so if there's anything at all that you'd like to ask or say, please do so.
UpdatesSee update log wiki for older updates
(7/20/09) I've decided to call rev. 7.4 rev. 8 now because it took me a reasonable amount of work and I think it's deserving of a clean revision number. It'll take me a few minutes to update everything, so if you're here at roughly 3:41am PST, give me a sec (7/20/09) Okay, rev. 8 is up, as is the javadoc for it. As for the demo and sample, the demo is based on rev. 8, but the sample is not. Also, neither of the two are using gwt 1.7. I'll download that tomorrow (and by that I mean later today after I've gone to sleep) and try it out. As for the code samples for the demo and sample, neither the windows or linux downloads are packing rev. 8 yet. That will come tomorrow morning. Have fun with 8, I hope you like it. If there's anything you find wrong with it, just email me at email@example.com (7/20/09 I found a tiny but in which prevents ParallelSets from being togglable mid-animation. In order for this to occur, you would have to first run the ParallelSet once, then run an animation on a Widget in the set, and then run the set again. This is a result of the fact that the default implementation of getElements which exists in Set didn't actually return the number of elements in a ParallelSet correctly. I will be pushing that out as rev. 8.01 (7/20/09) I'm working on getting the windows Demo and Sample packages out, but the Windows and Linux version of gwt appear to handle strings a bit differently which is causing some problems. I'm trying to sort it out as best I can and hopefully I'll have something to show for it in not too long. This is as of 4:47pm pst (7/20/09) Problem solved, and released as rev. 8.02 along with the Linux Demo and Sample builders, and the Demo for Windows. The Linux stuff is compatible with gwt above 1.6, and the Windows is once again standalone, and based on get 1.7. (7/20/09) Everything is up to date. I just updated the rotatinghorizontalpanel demo so it's now based on gwt-majic 8.02 and gwt1.7, and all of the samples and demos are up for windows and linux, and fully updated for gwt 1.7 and gwt-majic 8.02. For the first time in a long time, everything is up to to date. Enjoy, and if you find anything wrong, please email me at firstname.lastname@example.org. I don't bite and I'm more than happy to fix a problem, or to accept a patch if you fix something yourself. Also, I noticed a few examples of small glitches in the hosted browsers in linux and windows, so if something seems broken, try it in a real browser first. (7/24/09) So I've put out a minor revision, 8.1, which contains three fixes to the javadoc, two in the Bufferable interface and one in MajicItm. Also, a friend of mine convinced me to make a "generic" effect, so I've made one. It's called GenericEffect, and it extends Effect. You can pass it a css property, a start value, end value, prefix, suffix, and widget, and it'll do the rest. Just thought it might be nifty. As of writing this, the .tar.bz2 is up for unix people. Give me a sec to install zip on my linux machine and I'll get a zipped version up for Windows people. I've chosen not to update the Samples or Demos because quite frankly that's a lot of work, so if you want to use 8.1, then just download the old ones, and plug in 8.1 instead. (7/24/09) due to complications getting zip, I'm going to just put up a .jar file with .81 in the name, so just remember to remove the .81 before using it. (8/5/09) Today has been an interesting day. So far, I've learned that whatever bug previously existed in GWT which prevented me from animating Widgets that were not panels has been fixed, and that I've aparently provided no way to allow you to Slide or Blind an element in Panel. I am therefore working on revision 8.2, which will do away with using Panels for everything, and instead just use Widgets, and I will work on a way to at least allow you to slide a Widget in a panel. Unfortunately, I don't believe it is possible to move a Widget in a Panel outside the RootPanel, so blinding will therefore not work. I will also be modifying the Javadocs some to account for the changes (8/8/09) Well my desktop died, so unfortunately, all of my work on the new gwt-majic is unavailable. Luckily, I have a backup of the code, but due to some differences between GWT in windows and linux, the stuff which I wrote in windows doesn't appear to work in linux. I'm working on it, but it might take a little while. (9/4/09) So I've been a bit preocupied lately making a website, which I'm about to animate with this framework, so once I've got some animations worked in I'll post a link. (9/6/09) Good news! I have discovered that with the right voodoo hax applied, I can in fact make gwt do blinding and sliding of Widgets which exist in panels other than the RootPanel. Haven't tested it in linux yet, but it's working in Windows right now. (12/7/09) I would like to say that I have not forgotten this project. I realize that I haven't posted anything new in a while, and there are some bugs that need fixing (I think there's one in some small amount of cases for adding to OrderedSets for instance). I would like to say though, that christmas break is coming up really soon, and I can put a bit more time into this, probably starting Saturday, the 12th of December. If anyone has anything in particular that they've been annoyed with, please send me an email at email@example.com and I'll get right on it as soon as I can. Otherwise, I'm going to fix the things that I can remember. Also, as far as putting out a new version, I'll be working on that, though last time I checked, there was a rather annoying bug on the linux side that prevents some really cool stuff, so I may have to start releasing different Windows and linux builds.
These details are provided for information only. No information here is legal advice and should not be used as such.