1668 ! |
1668 ! |
1669 |
1669 |
1670 extent:extent |
1670 extent:extent |
1671 "set the views extent; |
1671 "set the views extent; |
1672 extent may be: |
1672 extent may be: |
1673 a point |
1673 a point |
1674 where integer fields mean 'pixel-values' |
1674 where integer fields mean 'pixel-values' |
1675 and float values mean 'relative-to-superview' |
1675 and float values mean 'relative-to-superview' |
1676 and nil means 'leave current value'; |
1676 and nil means 'leave current value'; |
1677 or a block returning a point which is interpreted as above. |
1677 or a block returning a point which is interpreted as above. |
1678 Be careful when using relative extents: rounding errors may |
1678 Be careful when using relative extents: rounding errors may |
1679 accumulate. Better use origin/corner. |
1679 accumulate. Better use origin/corner. |
1680 Best: migrate to use layour objects." |
1680 Best: migrate to use layour objects." |
1681 |
1681 |
1682 |w h pixelExtent e| |
1682 |w h pixelExtent e| |
1683 |
1683 |
1684 extent isBlock ifTrue:[ |
1684 extent isBlock ifTrue:[ |
1685 extentRule := extent. |
1685 extentRule := extent. |
1686 drawableId notNil ifTrue:[ |
1686 drawableId notNil ifTrue:[ |
1687 pixelExtent := extent value |
1687 pixelExtent := extent value |
1688 ] ifFalse:[ |
1688 ] ifFalse:[ |
1689 extentChanged := true |
1689 extentChanged := true |
1690 ] |
1690 ] |
1691 ] ifFalse:[ |
1691 ] ifFalse:[ |
1692 w := extent x. |
1692 w := extent x. |
1693 h := extent y. |
1693 h := extent y. |
1694 w isNil ifTrue:[w := width]. |
1694 w isNil ifTrue:[w := width]. |
1695 h isNil ifTrue:[h := height]. |
1695 h isNil ifTrue:[h := height]. |
1696 e := w@h. |
1696 e := w@h. |
1697 ((w isInteger not) or:[h isInteger not]) ifTrue:[ |
1697 ((w isInteger not) or:[h isInteger not]) ifTrue:[ |
1698 relativeExtent := e. |
1698 relativeExtent := e. |
1699 pixelExtent := self extentFromRelativeExtent. |
1699 pixelExtent := self extentFromRelativeExtent. |
1700 pixelExtent isNil ifTrue:[ |
1700 pixelExtent isNil ifTrue:[ |
1701 extentChanged := true |
1701 extentChanged := true |
1702 ] |
1702 ] |
1703 ] ifFalse:[ |
1703 ] ifFalse:[ |
1704 pixelExtent := e |
1704 relativeExtent := nil. |
1705 ] |
1705 pixelExtent := e |
|
1706 ] |
1706 ]. |
1707 ]. |
1707 pixelExtent notNil ifTrue:[ |
1708 pixelExtent notNil ifTrue:[ |
1708 self pixelExtent:pixelExtent |
1709 self pixelExtent:pixelExtent |
1709 ] |
1710 ] |
|
1711 |
|
1712 "Modified: 19.4.1996 / 15:11:15 / cg" |
1710 ! |
1713 ! |
1711 |
1714 |
1712 geometryLayout |
1715 geometryLayout |
1713 "this method will vanish, as soon as all implementations of |
1716 "this method will vanish, as soon as all implementations of |
1714 #layout: are removed ... |
1717 #layout: are removed ... |
1916 ! |
1919 ! |
1917 |
1920 |
1918 origin:origin |
1921 origin:origin |
1919 "set the views origin; |
1922 "set the views origin; |
1920 origin may be: |
1923 origin may be: |
1921 a point |
1924 a point |
1922 where integer fields mean 'pixel-values' |
1925 where integer fields mean 'pixel-values' |
1923 and float values mean 'relative-to-superview' |
1926 and float values mean 'relative-to-superview' |
1924 and nil means 'take current value'; |
1927 and nil means 'take current value'; |
1925 or a block returning a point which is interpreted as above. |
1928 or a block returning a point which is interpreted as above. |
1926 Please migrate to use layout objects." |
1929 Please migrate to use layout objects." |
1927 |
1930 |
1928 |newLeft newTop pixelOrigin o| |
1931 |newLeft newTop pixelOrigin o| |
1929 |
1932 |
1930 origin isBlock ifTrue:[ |
1933 origin isBlock ifTrue:[ |
1931 originRule := origin. |
1934 originRule := origin. |
1932 drawableId notNil ifTrue:[ |
1935 drawableId notNil ifTrue:[ |
1933 pixelOrigin := origin value |
1936 pixelOrigin := origin value |
1934 ] ifFalse:[ |
1937 ] ifFalse:[ |
1935 originChanged := true |
1938 originChanged := true |
1936 ] |
1939 ] |
1937 ] ifFalse:[ |
1940 ] ifFalse:[ |
1938 o := origin. |
1941 o := origin. |
1939 newLeft := origin x. |
1942 newLeft := origin x. |
1940 newTop := origin y. |
1943 newTop := origin y. |
1941 newLeft isNil ifTrue:[newLeft := left]. |
1944 newLeft isNil ifTrue:[newLeft := left]. |
1942 newTop isNil ifTrue:[newTop := top]. |
1945 newTop isNil ifTrue:[newTop := top]. |
1943 o := newLeft @ newTop. |
1946 o := newLeft @ newTop. |
1944 ((newLeft isInteger not) or:[newTop isInteger not]) ifTrue:[ |
1947 ((newLeft isInteger not) or:[newTop isInteger not]) ifTrue:[ |
1945 relativeOrigin := o. |
1948 relativeOrigin := o. |
1946 pixelOrigin := self originFromRelativeOrigin. |
1949 pixelOrigin := self originFromRelativeOrigin. |
1947 pixelOrigin isNil ifTrue:[ |
1950 pixelOrigin isNil ifTrue:[ |
1948 originChanged := true |
1951 originChanged := true |
1949 ] |
1952 ] |
1950 ] ifFalse:[ |
1953 ] ifFalse:[ |
1951 pixelOrigin := o |
1954 relativeOrigin := nil. |
1952 ] |
1955 pixelOrigin := o |
|
1956 ] |
1953 ]. |
1957 ]. |
1954 pixelOrigin notNil ifTrue:[ |
1958 pixelOrigin notNil ifTrue:[ |
1955 self pixelOrigin:pixelOrigin |
1959 self pixelOrigin:pixelOrigin |
1956 ]. |
1960 ]. |
|
1961 |
|
1962 "Modified: 19.4.1996 / 15:12:36 / cg" |
1957 ! |
1963 ! |
1958 |
1964 |
1959 origin:origin corner:corner |
1965 origin:origin corner:corner |
1960 "set both origin and extent" |
1966 "set both origin and extent" |
1961 |
1967 |