]> gitweb.factorcode.org Git - factor.git/blob - basis/cocoa/types/types.factor
9c3058ab358776569ec2bf526a76c39664f52e08
[factor.git] / basis / cocoa / types / types.factor
1 ! Copyright (C) 2006, 2009 Slava Pestov
2 ! See http://factorcode.org/license.txt for BSD license.
3 USING: alien.c-types alien.syntax classes.struct cocoa.runtime
4 core-graphics.types kernel literals layouts ;
5 IN: cocoa.types
6
7 CONSTANT: NSNotFound $[ 32bit? 0x7fffffff 0x7fffffffffffffff ? ]
8
9 TYPEDEF: long NSInteger
10 TYPEDEF: ulong NSUInteger
11
12 TYPEDEF: CGPoint NSPoint
13 TYPEDEF: NSPoint _NSPoint
14
15 TYPEDEF: CGSize NSSize
16 TYPEDEF: NSSize _NSSize
17
18 TYPEDEF: CGRect NSRect
19 TYPEDEF: NSRect _NSRect
20
21 STRUCT: NSRange
22     { location NSUInteger }
23     { length NSUInteger } ;
24
25 TYPEDEF: NSRange _NSRange
26
27 ! The "lL" type encodings refer to 32-bit values even in 64-bit mode
28 TYPEDEF: int long32
29 TYPEDEF: uint ulong32
30 TYPEDEF: void* unknown_type
31
32 : <NSRange> ( location length -- size )
33     NSRange <struct-boa> ;
34
35 STRUCT: NSFastEnumerationState
36     { state ulong }
37     { itemsPtr id* }
38     { mutationsPtr ulong* }
39     { extra ulong[5] } ;