------------------------ AmigaOS 4 project ---------------------------

layout.gadget 50.1 (16.2.2003)

- initial release for OS4.

- slightly enhanced the stack swapping code.

- removing a gadget from a layout should no longer crashes the machine
  when the user still plays with the gadget.

-------------------------- AmigaOS 3.2 project -----------------------

layout.gadget 50.2 (18.8.2019) 

- Notice that v50.2 reflects only a transitional status between the 
  OS4 and 3.2 projects.

- fixed race condition when opening/closing.

- now runs on 68000/68010.

layout.gadget 47.1 (1.9.2019):

- recompiled with data=far and utllib to improve
  the code generation.

layout.gadget 47.2 (2.9.2019):

- Fixed a compiler problem, __SAVEDS was used
  with DATA=FARONLY, which confused the compiler
  a lot.

layout.gadget 47.3 (8.9.2019):

- shortened the code by adding initialization
  code for the BSS segment.

layout.gadget 47.5 (29.9.2019):

- The creation of a layout gadget now also swaps
  the stack as this already costs up to 4600 bytes
  as experiments have shown.

- OM_SET was another stack-thieve, in particular if
  the layout was deeply nested. This function is now
  also using stack swapping.

layout.gadget 47.6 (21.12.2019):

- Experimental removal of the Request() type of GUI
  locking performed by the layout.gadget in Add/Remove_CHILD
  methods. This may cause deadlocks in combination with
  MagicMenu and is not directly needed if the method is called
  through SetGadgetAttrs(), which holds a lock anyhow. Direct
  calling of OM_SET is discouraged anyhow.

layout.gadget 47.7 (21.2.2020):

- Fixed a bug in page.gadget which prevented the private
  LAYOUT_ACTIVATEOBJECT method from working correctly. It was
  always returning 1 whether the object being searched for was
  found or not.

- ActivateLayoutGadget() was not setting GACT_ACTIVEGADGET in its
  target gadget's Activation flags. Now fixed.

layout.gadget 47.8 (24.2.2020):

- In GM_DOMAIN, the width of the widest label is no longer added
  to the minimum width of members having no label, when computing
  the minimum width of a vertical group. That could make certain
  layouts much wider than actually necessary.

layout.gadget 47.9 (26.2.2020):

- Fixed: in fallback mode, labels were drawn in the screen font
  and with insufficient size, overlapping other elements.

layout.gadget 47.10 (26.2.2020):

- Reworked the layout algorithm for weighted groups. Resizable
  elements could snap to their minimum size during the initial
  weight distribution, even when there would have been enough
  room for them to get larger. This should fix bug #1343 (and
  hopefully not introduce new ones).

- Now makes sure all the room available for weighted elements
  in a group is actually used for said elements. Previously, a
  rounding error could leave some pixels unaccounted for which
  would result into uneven spacing between group members.

- GM_LAYOUT no longer calls SetAttrs() on non-BOOPSI objects.

layout.gadget 47.11 (9.3.2020):

- Now tooltips are always shown even when there is an active
  gadget.

layout.gadget 47.12 (14.3.2020):

- Fixed: passed CHILD_MinWidth/Height values could be used even
  when they were not large enough.

layout.gadget 47.13 (17.3.2020):
- Fixed: group labels for LAYOUT_BevelStyle of BVS_NONE were
  still being drawn in some circumstances.

layout.gadget 47.15 (27.3.2020):

- Fixed: layouts were sometimes far too large (eg. IconEdit 44.19,
  ReqToolsPrefs example in OS3.2 NDK, etc.) (in V47.11-47.14
  only).

layout.gadget 47.16 (31.3.2020):

- Fixed: child label sizes were not always calculated correctly.

- LAYOUT_ShrinkWrap no longer leaves empty space at the right/
  bottom of the layout group.

layout.gadget 47.17 (9.4.2020):

- Fixed: spacing was incorrect for BVT_XENTHIN.

layout.gadget 47.18 (13.4.2020):

- Fixed: Backfill was not propagated in all cases.

layout.gadget 47.19 (9.5.2020):

- Changed makefile to work around SAS/C optimizer bugs.

layout.gadget 47.20 (14.5.2020):

- Implement GM_HANDLESCROLL code is a simple adaptation of the V52.

layout.gadget 47.21 (18.5.2020):

- Implement PAGE_NoDispose (taken from V53).

- Fixed a deadlock . Actually the same as fixed in 47.6 only this time 
  in the page gadget

layout.gadget 47.22 (08.6.2020):

- use the new GA_Hidden and GA_ParentHidden to make sure hidden 
  gadgets have the chance to not render themselves (it requires 
  cooporation from every single gadget, but it is a start)

layout.gadget 47.23 (10.6.2020):

- Fixed: LABEL_Justification in a CHILD_Label had no effect.

layout.gadget 47.24 (27.6.2020):
- Implemented the new GM_QUERYHOVERED method.

layout.gadget 47.25 (06.9.2020):
- LAYOUT_Left/Top/Right/BottomSpacing tags were always ignored, now 
  fixed

- LAYOUT_InnerSpacing was ignored, too. Now working for non-beveled 
  root layouts.

- Added new LIDF-flags to detect usage of LAYOUT_Spacing-tags.

layout.gadget 47.26 (08.9.2020):

- Implement support for old style tooltips

layout.gadget 47.27 (12.10.2020):

- Fix backfill bug introduced in v47.18 - this scaled back version hopefully fixes the bug, and also keeps the old bug fixed too

layout.gadget 47.28 (10.1.2021):

- Now sets the appropriate default alignment of CHILD_Label objects
  via the new private REACTION_Justification tag, depending on the
  value of LAYOUT_LabelColumn (this ensures that labels on the left
  side of members are right-justified, and vice versa).
  Applications can override this default with LABEL_Justification.

layout.gadget 47.29 (11.1.2021):

- Group member labels were being placed too low by one pixel, which
  made their text vertically misaligned with respect to the text of
  their associated gadget; now fixed.

layout.gadget 47.30 (14.1.2021):

- Fixed a stupid bug I introduced in version 47.28: an unterminated
  tag list was making label.image throw hits all over the place.

layout.gadget 47.31 (14.2.2021):

- Pointer ROWRESIZE or COLUMNRESIZE when hovering the weight bars

layout.gadget 47.32 (28.2.2021):

- Fix tab traversal in layouts within layouts
