object>>
] if ;
+: lookup-selector ( name -- alien )
+ <selector> selector ;
+
SYMBOL: objc-methods
objc-methods [ H{ } clone ] initialize
dup ?lookup-method [ ] [ no-objc-method ] ?if ;
: (selector/sender) ( selector super? -- alien word )
- [ [ <selector> selector ] [ lookup-method ] bi ]
+ [ [ lookup-selector ] [ lookup-method ] bi ]
[ super-message-senders message-senders ? get at ] bi* ; inline
: selector/sender ( selector -- alien word )
MEMO: make-prepare-send ( selector method super? -- quot )
[
- [ \ <super> , ] when
- swap <selector> , \ selector ,
+ [ \ <super> , ] when swap lookup-selector ,
] [ ] make
swap second length 2 - '[ _ _ ndip ] ;
cocoa.messages cocoa.pasteboard cocoa.runtime cocoa.subclassing
cocoa.types cocoa.views combinators core-foundation.strings
core-graphics core-graphics.types core-text io.encodings.utf8
-kernel locals math math.order math.rectangles namespaces opengl
-sequences system-info threads ui.gadgets ui.gadgets.private
-ui.gadgets.worlds ui.gestures ui.private vocabs vocabs.parser ;
+kernel locals math math.rectangles namespaces opengl sequences
+threads ui.gadgets ui.gadgets.private ui.gadgets.worlds
+ui.gestures ui.private ;
IN: ui.backend.cocoa.views
: send-mouse-moved ( view event -- )
METHOD: void prepareOpenGL [
- os-version { 10 7 0 } after=? [
+ self "setWantsBestResolutionOpenGLSurface:"
+ lookup-selector -> respondsToSelector: c-bool> [
self "setWantsBestResolutionOpenGLSurface:"
selector/sender 1 swap execute( x x x -- )