robust-parenting #12

Merged
sashakoshka merged 17 commits from robust-parenting into main 2023-03-15 22:34:08 -06:00
17 Commits
Author SHA1 Message Date
sashakoshka 0ebf0bc814 Raycaster example now works 2023-03-16 00:30:59 -04:00
sashakoshka 40aa1a788b Renamed some oddly named files 2023-03-16 00:26:54 -04:00
sashakoshka bffdb000ed Piano element handles motion events 2023-03-16 00:25:36 -04:00
sashakoshka 5ca9206f65 DocumentContainer properly adopts children now 2023-03-16 00:24:40 -04:00
sashakoshka 1239f4e03d Made DocumentContainer satisfy FlexibleParent 2023-03-15 23:57:22 -04:00
sashakoshka 8aaa017902 Re-added OnScrollBoundsChange methods because they are useful 2023-03-15 23:56:00 -04:00
sashakoshka 639baecee5 Propagator unfocuses children before focusing a new one 2023-03-15 23:49:57 -04:00
Sasha Koshka c1b3562d10 It compiles 2023-03-15 23:47:13 -04:00
sashakoshka ef325d5161 Found a flaw in the focusing model, rectifying.
Still need to fix on X backend window, that will be in the next
commit.
2023-03-15 17:08:43 -04:00
sashakoshka 2f60abdfa3 Core properly sets nil parent 2023-03-15 01:46:58 -04:00
sashakoshka 1a66224648 X backend window sets itself as parent (oops) 2023-03-15 01:43:32 -04:00
sashakoshka 275e113e3b Fun elements now conform to new API 2023-03-15 01:42:07 -04:00
sashakoshka 0015820fac Basic elements now conform to new API 2023-03-15 01:41:23 -04:00
sashakoshka f4799ba03d Testing elements now conform to new API 2023-03-14 19:41:36 -04:00
Sasha Koshka 14ad35d85c X backend now conforms to new API changes 2023-03-14 18:54:24 -04:00
Sasha Koshka a34e8768ab Redid cores to conform to the new API changes 2023-03-14 18:30:32 -04:00
sashakoshka b08cbea320 Overhauled the element interfaces
Instead of the previous parenting model where parents would set
child callbacks during adoption by probing for callback setters,
child elements will instead probe their parents for notify methods
listed in the standard parent interfaces. This means that an
element cannot be half-parented to something, nor can it be
parented to two things at once. Parent elements may themselves
fulfill these interfaces, or they can pass a hook that fulfills
them to the child.
2023-03-14 17:08:39 -04:00