]> gitweb.factorcode.org Git - factor.git/blob - basis/cocoa/windows/windows.factor
Fix conflict
[factor.git] / basis / cocoa / windows / windows.factor
1 ! Copyright (C) 2006, 2007 Slava Pestov
2 ! See http://factorcode.org/license.txt for BSD license.
3 USING: arrays kernel math cocoa cocoa.messages cocoa.classes
4 sequences math.bitwise ;
5 IN: cocoa.windows
6
7 CONSTANT: NSBorderlessWindowMask     0
8 CONSTANT: NSTitledWindowMask         1
9 CONSTANT: NSClosableWindowMask       2
10 CONSTANT: NSMiniaturizableWindowMask 4
11 CONSTANT: NSResizableWindowMask      8
12
13 CONSTANT: NSBackingStoreRetained    0
14 CONSTANT: NSBackingStoreNonretained 1
15 CONSTANT: NSBackingStoreBuffered    2
16
17 : standard-window-type ( -- n )
18     {
19         NSTitledWindowMask
20         NSClosableWindowMask
21         NSMiniaturizableWindowMask
22         NSResizableWindowMask
23     } flags ; inline
24
25 : <NSWindow> ( rect -- window )
26     NSWindow -> alloc swap
27     standard-window-type NSBackingStoreBuffered 1
28     -> initWithContentRect:styleMask:backing:defer: ;
29
30 : <ViewWindow> ( view rect -- window )
31     <NSWindow> [ swap -> setContentView: ] keep
32     dup dup -> contentView -> setInitialFirstResponder:
33     dup 1 -> setAcceptsMouseMovedEvents:
34     dup 0 -> setReleasedWhenClosed: ;
35
36 : window-content-rect ( window -- rect )
37     [ NSWindow ] dip
38     [ -> frame ] [ -> styleMask ] bi
39     -> contentRectForFrameRect:styleMask: ;