[prev in list] [next in list] [prev in thread] [next in thread] 

List:       openjdk-openjfx-dev
Subject:    Re: how to implement delayed calculation of node/shape
From:       Zsolt_Kúti <la.tinca () gmail ! com>
Date:       2018-08-27 11:14:46
Message-ID: CAA61B7EftmeSYd+3_yGL77FvOC+8Dw2WAgn6FmdF8N5_b0LKqg () mail ! gmail ! com
[Download RAW message or body]

From Scene doc: "The scene graph detects dynamic node changes which affect
layout (such as a change in size or content) and calls requestLayout(),
which marks that branch as needing layout so that on the next pulse, a
top-down layout pass is executed on that branch by invoking layout() on
that branch's root. During that layout pass, the layoutChildren() callback
method will be called on each parent to layout its children. This mechanism
is designed to maximize layout efficiency by ensuring multiple layout
requests are coalesced and processed in a single pass rather than executing
re-layout on on each minute change."

Parent class has a layoutChildren() method that can be overriden. Do you
mean processing my own classes here depending on their dirty state?
If not, can you elaborate on that suggestion?

Thanks.

On Mon, Aug 27, 2018 at 12:16 PM Tom Schindl <tom.schindl@bestsolution.at>
wrote:

> Why not do the necessary stuff on the next layout-pass?
>
> Tom
>
> On 27.08.18 09:48, Zsolt K=C3=BAti wrote:
> > Thank you for the idea, I'll explore it.
> >
> > On Sun, Aug 26, 2018 at 5:16 PM Michael Paus <mp@jugs.org> wrote:
> >
> >> One possible solution for this would be to use an AnimationTimer.
> >> Maintain a dirty state somewhere and check that when the AnimationTime=
r
> >> gets called for the next pulse.
> >>
> >> Am 26.08.18 um 16:59 schrieb Zsolt K=C3=BAti:
> >>> Hi,
> >>> Some of my classes extend Path or Group and constructed by non-trivia=
l
> >>> algorithms that may use many properties, either standard (like
> >> strokeWidth)
> >>> or non-standard ones. Setting a property calculates a new state at
> >> present.
> >>> When several properties are set it means a lot of unnecessary
> >> calculations
> >>> done.
> >>>
> >>> I would like to delay geometry/shape calculations similar the way
> >>> Node/Shape do. They signal their state changes by dirty flagging and =
on
> >>> pulse necessary synchronization does recalculations when being dirty.
> >>> However relevant methods despite being public are deprecated (tipical=
ly
> >>> ones starting with impl_) and cannot be relied upon.
> >>>
> >>> Is there a way to achive that kind of design for own classes?
> >>> Thx!
> >>>
> >>> Zsolt
> >>
> >>
> >>
>
> --
> Tom Schindl, CTO
> BestSolution.at EDV Systemhaus GmbH
> Eduard-Bodem-Gasse 5-7. A-6020 Innsbruck
> Reg. Nr. FN 222302s am Firmenbuchgericht Innsbruck
>
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic