]> gitweb.factorcode.org Git - factor.git/blob - extra/webkit-demo/webkit-demo.factor
Use flags{ instead of flags all over the place
[factor.git] / extra / webkit-demo / webkit-demo.factor
1 ! Copyright (C) 2008, 2009 Slava Pestov.
2 ! See http://factorcode.org/license.txt for BSD license.
3 USING: cocoa cocoa.application cocoa.types cocoa.classes cocoa.windows
4 core-graphics.types kernel math.bitwise literals ;
5 IN: webkit-demo
6
7 FRAMEWORK: /System/Library/Frameworks/WebKit.framework
8 IMPORT: WebView
9
10 : rect ( -- rect ) 0 0 700 500 <CGRect> ;
11
12 : <WebView> ( -- id )
13     WebView -> alloc
14     rect f f -> initWithFrame:frameName:groupName: ;
15
16 CONSTANT: window-style ( -- n )
17     flags{
18         NSClosableWindowMask
19         NSMiniaturizableWindowMask
20         NSResizableWindowMask
21         NSTitledWindowMask
22     }
23
24 : <WebWindow> ( -- id )
25     <WebView> rect window-style <ViewWindow> ;
26
27 : load-url ( window url -- )
28     [ -> contentView ] [ <NSString> ] bi* -> setMainFrameURL: ;
29
30 : webkit-demo ( -- )
31     <WebWindow>
32     [ -> center ]
33     [ f -> makeKeyAndOrderFront: ]
34     [ "http://factorcode.org" load-url ] tri ;
35
36 : run-webkit-demo ( -- )
37     [ webkit-demo ] cocoa-app ;
38
39 MAIN: run-webkit-demo