Pre-amble:
I have been using an AnimatedIcon class I made myself for a few years now.
It extended Image and had two constructors;

1. Takes an ImageURL and a number of frames, and use's setURL to cycle over 
them (foo1.png,foo2.png etc)
2. Takes a AbstractImagePrototype[] and uses applyto(this) to cycle over 
the images.

This worked pretty wonderfully, allowing compile time images to use fast 
image strips, and runtime picked images to load from urls.

However, I now wanted to add a 3rd image animation type; a deckpanel that 
hide/shows a preloaded stack of images. This mode would be usefull for 
testing animations
off a local hard drive without using a server. (as frame switching times 
are vastly slower - presumably due to no caching).

In order to do this, however, my class would ideally need two methods of 
construction. A "normal" method for 1/2 where it is just a image widget and 
a "flickbook" mode where its a deckpanel with images inside it.
I figured if I just made it a composite class this would allow it to be a 
different widget depending how its used.

This is how it now looks;

public class AnimatedIcon extends Composite { // Image
...
Image imageContents = new Image();

public AnimatedIcon(AbstractImagePrototype[] SetFrames){
// super();
initWidget(imageContents);
....

The "applyTo()" comands are now changed to;

Frames.get(0).applyTo(imageContents);

instead of applyTo(this);

And, naturally, where I was using this.seturl I now use 
imageContents.seturl();

However, on testing the code I find only the sprites which have been setup 
to directly use urls (.setURL) work. The sprites which uses bundles and 
applyTo() don't display at all.
In the html they seem empty;

<div tabindex="0" unselectable="on" aria-hidden="false" style="opacity: 
100; outline: rgb(255, 0, 0) solid 2px;"><input type="text" tabindex="-1" 
role="presentation" style="opacity: 0; height: 1px; width: 1px; z-index: 
-1; overflow: hidden; position: absolute;">
<img class="gwt-Image">
</div>

Question;

1. Can "Image" be used in a composite and still use 
applyTo(AbstractImagePrototype)?

2. Is there additional setup I should be doing to handle images in this way.

3. If not, and I am forced to go back just to extending image, would it be 
crazy to store runtime specified images as DataURL's in an internal array, 
effectively handling cacheing myself?

Thanks for any thoughts.





-- 
You received this message because you are subscribed to the Google Groups 
"Google Web Toolkit" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to google-web-toolkit+unsubscr...@googlegroups.com.
To post to this group, send email to google-web-toolkit@googlegroups.com.
Visit this group at http://groups.google.com/group/google-web-toolkit.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to