39 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Factor
		
	
	
		
			Executable File
		
	
			
		
		
	
	
			39 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Factor
		
	
	
		
			Executable File
		
	
! 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: ;
 |