definition module controllayout // ******************************************************************************** // Clean Standard Object I/O library. // ******************************************************************************** import ossystem, ostoolbox, ostypes import wstate layoutControls :: !OSWindowMetrics !(!Int,!Int) !(!Int,!Int) !(!Int,!Int) !Size !Size ![(ViewDomain,Point2)] ![WElementHandle .ls .pst] !*OSToolbox -> (!Size,![WElementHandle .ls .pst],!*OSToolbox) layoutControls` :: !OSWindowMetrics !(!Int,!Int) !(!Int,!Int) !(!Int,!Int) !Size !Size ![(ViewDomain,Point2)] ![WElementHandle`] !*OSToolbox -> (!Size,![WElementHandle`],!*OSToolbox) /* layoutControls(`) calculates the layout of the controls given the horizontal and vertical margins, item spaces, prefered size, minimum size of the area in which the controls are positioned. The list of (ViewDomain,Point2) contains the current view domains and origins of all parent objects in ascending order. The result size is the actual size. */ calcControlsSize:: !OSWindowMetrics !(!Int,!Int) !(!Int,!Int) !(!Int,!Int) !Size !Size ![(ViewDomain,Point2)] ![WElementHandle .ls .pst] !*OSToolbox -> (!Size,!*OSToolbox) /* calcControlsSize is identical to layoutControls, except that only the size is calculated. */