Good point. Thanks :P I'm happy now.

Gili

On Thu, 10 Mar 2005 10:22:58 -0800, Jonathan Locke wrote:

>
>just call setWidth()/setHeight() on the resource...  ?
>
>Gili wrote:
>
>>      Ok that works but now I ran into another problem. The
>>RenderedDynamicImageResource construct takes width, height arguments.
>>The problem is that the user can dynamically change the size of my
>>corners which makes it (yet again) impossible for me to use
>>RenderedDynamicImageResource. Grrr! I want to use it as much as you
>>want me to use it but it's not easy :)
>>
>>      Is it possible to remove this limitation and have Image read
>>the dimensions out of the returned BufferedImage?
>>
>>Gili
>>
>>On Thu, 10 Mar 2005 08:50:13 -0800, Jonathan Locke wrote:
>>
>>  
>>
>>>>    The fact that it is transient does not solve the problem I
>>>>mentioned. What I am saying is that if I render the exact same corner
>>>>multiple times (by hitting refresh on my browser 1000 times) then
>>>>render(Graphics2D) will get triggered 1000 times and I will have to
>>>>repaint it. What I am saying is that I know for a fact when the image
>>>>needs to be regenerated and when it should use the cached version and
>>>>RenderedDynamicImageResource does not give me the capability to do much
>>>>about it. The most I can do is g2d.drawImage(cachedImage) I guess but I
>>>>doubt it is as efficient as just giving it the BufferedImage
>>>>directly... I don't want to be cloning the image contents on every
>>>>rendering if I don't have to.
>>>> 
>>>>
>>>>      
>>>>
>>>sorry, but you're wrong.
>>>
>>>what is checked into HEAD /does/ solve your problem.
>>>you get one shot to render your image and then it's cached until 
>>>serialized.  see for yourself:
>>>
>>>   private transient byte[] imageData;
>>>
>>>   /**
>>>    * @return The image data for this dynamic image
>>>    */
>>>   protected byte[] getImageData()
>>>   {
>>>       if (imageData == null)
>>>       {
>>>           final BufferedImage image = new BufferedImage(width, height, 
>>>BufferedImage.TYPE_INT_RGB);
>>>           render((Graphics2D)image.getGraphics());
>>>           imageData = toImageData(image);
>>>       }
>>>       return imageData;
>>>   }
>>>
>>>to support your need to refresh on-demand, i just added an invalidate() 
>>>method which clears the transient imageData cache:
>>>
>>>   /**
>>>    * Causes the image to be redrawn the next time its requested.
>>>    */
>>>   public void invalidate()
>>>   {
>>>       imageData = null;
>>>   }
>>>
>>>boy, that was a tough piece of code to write!   ;-)
>>>
>>>      jon
>>>
>>>    
>>>
>>>>Gili
>>>>
>>>>
>>>>
>>>>-------------------------------------------------------
>>>>SF email is sponsored by - The IT Product Guide
>>>>Read honest & candid reviews on hundreds of IT Products from real users.
>>>>Discover which products truly live up to the hype. Start reading now.
>>>>http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click
>>>>_______________________________________________
>>>>Wicket-develop mailing list
>>>>[email protected]
>>>>https://lists.sourceforge.net/lists/listinfo/wicket-develop
>>>>
>>>> 
>>>>
>>>>      
>>>>
>>>-------------------------------------------------------
>>>SF email is sponsored by - The IT Product Guide
>>>Read honest & candid reviews on hundreds of IT Products from real users.
>>>Discover which products truly live up to the hype. Start reading now.
>>>http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click
>>>_______________________________________________
>>>Wicket-develop mailing list
>>>[email protected]
>>>https://lists.sourceforge.net/lists/listinfo/wicket-develop
>>>
>>>    
>>>
>>
>>
>>
>>
>>-------------------------------------------------------
>>SF email is sponsored by - The IT Product Guide
>>Read honest & candid reviews on hundreds of IT Products from real users.
>>Discover which products truly live up to the hype. Start reading now.
>>http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click
>>_______________________________________________
>>Wicket-develop mailing list
>>[email protected]
>>https://lists.sourceforge.net/lists/listinfo/wicket-develop
>>
>>  
>>
>
>
>-------------------------------------------------------
>SF email is sponsored by - The IT Product Guide
>Read honest & candid reviews on hundreds of IT Products from real users.
>Discover which products truly live up to the hype. Start reading now.
>http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click
>_______________________________________________
>Wicket-develop mailing list
>[email protected]
>https://lists.sourceforge.net/lists/listinfo/wicket-develop
>




-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click
_______________________________________________
Wicket-develop mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/wicket-develop

Reply via email to