SYMBOL: CGFloat
<< cell 4 = float double ? \ CGFloat typedef >>
-: <CGFloat> ( x -- alien )
- cell 4 = [ <float> ] [ <double> ] if ; inline
-
-: *CGFloat ( alien -- x )
- cell 4 = [ *float ] [ *double ] if ; inline
-
STRUCT: CGPoint
{ x CGFloat }
{ y CGFloat } ;
STRUCT: CGRect
{ origin CGPoint }
- { size CGSize } ;
+ { size CGSize } ;
: CGPoint>loc ( CGPoint -- loc )
[ x>> ] [ y>> ] bi 2array ;
: CGRect>rect ( CGRect -- rect )
[ origin>> CGPoint>loc ]
- [ size>> CGSize>dim ]
+ [ size>> CGSize>dim ]
bi <rect> ; inline
: CGRect-x ( CGRect -- x )
size>> h>> ; inline
: set-CGRect-x ( x CGRect -- )
- origin>> (>>x) ; inline
+ origin>> x<< ; inline
: set-CGRect-y ( y CGRect -- )
- origin>> (>>y) ; inline
+ origin>> y<< ; inline
: set-CGRect-w ( w CGRect -- )
- size>> (>>w) ; inline
+ size>> w<< ; inline
: set-CGRect-h ( h CGRect -- )
- size>> (>>h) ; inline
+ size>> h<< ; inline
: <CGRect> ( x y w h -- rect )
[ CGPoint <struct-boa> ] [ CGSize <struct-boa> ] 2bi*