Move size-of to unmaintained until help-lint is fixed
[factor/jcg.git] / unmaintained / geom / rect / rect.factor
blob573b8e0e1de527606c42f8f44864a5fcb4f6b3fc
2 USING: kernel namespaces arrays sequences math.vectors
3        mortar slot-accessors geom.pos geom.dim ;
5 IN: geom.rect
7 ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
9 USE: math
11 : v+y ( pos y -- pos ) 0 swap 2array v+ ;
13 : v-y ( pos y -- pos ) 0 swap 2array v- ;
15 : v+x ( pos x -- pos ) 0 2array v+ ;
17 : v-x ( pos x -- pos ) 0 2array v- ;
19 ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
21 SYMBOL: <rect>
23 <rect>
24   <pos> class-slots <dim> class-slots append
25   <pos> class-methods <dim> class-methods append { H{ } } append
26   { H{ } }
27 4array <rect> set-global
29 ! { 0 0 } { 0 0 } <rect> new
31 <rect> {
33 "top-left" !( rect -- point ) [ $pos ]
35 "top-right" !( rect -- point ) [ dup $pos swap <- width 1- v+x ]
37 "bottom-left" !( rect -- point ) [ dup $pos swap <- height 1- v+y ]
39 "bottom-right" !( rect -- point ) [ dup $pos swap $dim { 1 1 } v- v+ ]
41 } add-methods