I like #2 for the ease of use.
-- Kevin
Pavel Safrata wrote:
Hello,
we want to make SubScene resizable (reporting min/pref/max sizes
according to its root) for it to behave nicely when placed in layout (
https://javafx-jira.kenai.com/browse/RT-31377 ). For the main driver
of SubScene's existence - 2D overlays over 3D content - this makes
perfect sense. However, there are use-cases where the fixed size is
needed. Mainly, every SubScene with 3D content probably wants the
fixed size as the content bounds are not really meaningful after the
perspective projection. So, we need to support both resizable and
non-resizable SubScene.
There are two basic options:
1. Follow the pattern used in layouts. As SubScene is not a layout
class (doesn't inherit from Region), this would mean adding the six
methods ( set{Min|Pref|Max}{Width|Height} ) and duplicating the
Region's USE_COMPUTED_SIZE constant.
+ consistent with layouts
- duplicated API
- user needs six calls to make sure the SubScene has fixed size
2. Add an isResizable constructor argument, then just make the
SubScene report root's min/pref/max sizes in the resizable case.
+ easy to use the SubScene in the fixed-size manner (and resizable, too)
+ small API change
- probably an unfamiliar pattern we don't have elsewhere (but,
SubScene is a pretty unique node)
What do you think?
Thanks,
Pavel