Packagecom.yworks.canvas.drawing
Interfacepublic interface IBoundsProvider
Implementors AbstractStyleRenderer, AbstractTextPaintable, ArrowPaintable, BoundsProvider, DefaultPortCandidateDescriptor, ShapePaintable

Interface that is implemented for elements that can provide painting bounds in the world coordinate system. This information can be used by the rendering engine.



Public Methods
 MethodDefined By
  
Returns a tight rectangular area where the whole rendering would fit into.
IBoundsProvider
Method Detail
calculateBounds()method
public function calculateBounds(scratch:IMutableRectangle, ctx:ICanvasContext):IRectangle

Returns a tight rectangular area where the whole rendering would fit into.

Implementations can use the scratch rectangle to put their results in and return it as the result of the operation. Client has to always provide a non-null instance as a parameter. They may however decide to return an internally cached or dynamically created IRectangle implementation and disregard the scratch parameter. If calculating the bounds is too expensive or the painting is not bound to a certain area, this method may return null. If nothing is painted, this method should return an empty rectangle, where either or both the width and height is non-positive or ImmutableRectangle.Empty.

Parameters

scratch:IMutableRectangle — An instance that can optionally be used to fill with the corresponding values and be returned
 
ctx:ICanvasContext — The context to calculate the bounds for (currently not used)

Returns
IRectangle — The bounds or null to indicate an unbound area