API Review RT:17407 Canvas Node

Kevin Rushforth kevin.rushforth at oracle.com
Mon Apr 23 15:11:35 PDT 2012

I wrote:
> I can't think of any reason it should not be resizable. 

Good think I'm not the only one thinking about it, then. :)

Yes, this would be an issue. So unless/until we are ready to deal with 
this, my earlier suggestion of binding to the width/height property, and 
adding your own listeners is probably the way to go.

-- Kevin

Jim Graham wrote:
> We would have to deal with damage repair.  Right now it is a 
> persistent rendering, not an area to be "repainted" on every frame.
> If we wanted it to be dynamically and asynchronously resizable we 
> would have to switch to (or provide?) a call-back model of rendering 
> and you would have to keep enough state to be able to render it again 
> on every frame.  HTML5 Canvas demos are not rendered that way, though 
> they can be at their own will - they simply clear the entire canvas 
> and re-render on every pulse.  Or, they just render the new stuff.  
> Their call.  If they change size, like you can with Canvas, then they 
> are responsible for changing the size and rendering the new stuff - 
> just like if you manually modify the size of our Canvas.
>             ...jim
> On 4/23/12 5:36 AM, Kevin Rushforth wrote:
>> If Canvas were a "Resizable" node then yes, it could do that. Off-hand,
>> I can't think of any reason it should not be resizable.
>> -- Kevin
>> Daniel Zwolenski wrote:
>>>> A Canvas node is a fixed size, so it only resizes when you tell it
>>>> to. If you want it to track the size of the Scene (or similar), you
>>>> could bind its width and height properties and react to change
>>>> notifications.
>>> Any reason why Canvas wouldn't just adhere to the Layout algorithm of
>>> the Container it is in? Eg if in a BorderPane center then fill, if in
>>> a GridPane take up that cell, etc. If we want to fix size then we
>>> would use min/max constraints.
>>> That would seem the most sensible and useful thing to me.

More information about the openjfx-dev mailing list