39 lines
1.2 KiB
Factor
39 lines
1.2 KiB
Factor
! Copyright (C) 2006, 2007 Slava Pestov
|
|
! See http://factorcode.org/license.txt for BSD license.
|
|
USING: arrays kernel math cocoa cocoa.messages cocoa.classes
|
|
sequences math.bitwise ;
|
|
IN: cocoa.windows
|
|
|
|
: NSBorderlessWindowMask 0 ; inline
|
|
: NSTitledWindowMask 1 ; inline
|
|
: NSClosableWindowMask 2 ; inline
|
|
: NSMiniaturizableWindowMask 4 ; inline
|
|
: NSResizableWindowMask 8 ; inline
|
|
|
|
: NSBackingStoreRetained 0 ; inline
|
|
: NSBackingStoreNonretained 1 ; inline
|
|
: NSBackingStoreBuffered 2 ; inline
|
|
|
|
: standard-window-type
|
|
{
|
|
NSTitledWindowMask
|
|
NSClosableWindowMask
|
|
NSMiniaturizableWindowMask
|
|
NSResizableWindowMask
|
|
} flags ; inline
|
|
|
|
: <NSWindow> ( rect -- window )
|
|
NSWindow -> alloc swap
|
|
standard-window-type NSBackingStoreBuffered 1
|
|
-> initWithContentRect:styleMask:backing:defer: ;
|
|
|
|
: <ViewWindow> ( view rect -- window )
|
|
<NSWindow> [ swap -> setContentView: ] keep
|
|
dup dup -> contentView -> setInitialFirstResponder:
|
|
dup 1 -> setAcceptsMouseMovedEvents:
|
|
dup 0 -> setReleasedWhenClosed: ;
|
|
|
|
: window-content-rect ( window -- rect )
|
|
NSWindow over -> frame rot -> styleMask
|
|
-> contentRectForFrameRect:styleMask: ;
|