]> gitweb.factorcode.org Git - factor.git/blobdiff - basis/core-graphics/types/types.factor
Updating code to use with-out-parameters
[factor.git] / basis / core-graphics / types / types.factor
index ad4620e174c8398137ee0ac83e412d09703be582..ac0ba31270525e829cf8b6dcc9d18d49fe377d8e 100644 (file)
@@ -1,16 +1,12 @@
 ! Copyright (C) 2009 Slava Pestov.
 ! See http://factorcode.org/license.txt for BSD license.
 USING: accessors alien.c-types alien.syntax classes.struct kernel layouts
-math math.rectangles arrays ;
+math math.rectangles arrays literals ;
+FROM: alien.c-types => float ;
 IN: core-graphics.types
 
-<< cell 4 = "float" "double" ? "CGFloat" typedef >>
-
-: <CGFloat> ( x -- alien )
-    cell 4 = [ <float> ] [ <double> ] if ; inline
-
-: *CGFloat ( alien -- x )
-    cell 4 = [ *float ] [ *double ] if ; inline
+SYMBOL: CGFloat
+<< cell 4 = float double ? \ CGFloat typedef >>
 
 STRUCT: CGPoint
     { x CGFloat }
@@ -28,7 +24,7 @@ STRUCT: CGSize
 
 STRUCT: CGRect
     { origin CGPoint }
-    { size   CGSize  } ;
+    { size CGSize } ;
 
 : CGPoint>loc ( CGPoint -- loc )
     [ x>> ] [ y>> ] bi 2array ;
@@ -38,7 +34,7 @@ STRUCT: CGRect
 
 : CGRect>rect ( CGRect -- rect )
     [ origin>> CGPoint>loc ]
-    [ size>>   CGSize>dim ]
+    [ size>> CGSize>dim ]
     bi <rect> ; inline
 
 : CGRect-x ( CGRect -- x )
@@ -51,13 +47,13 @@ STRUCT: CGRect
     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*