ui.backend.cocoa.views: more robust respondsToSelector: (thanks @jckarter).
parent
281ed1f89a
commit
d1ae334046
|
@ -49,6 +49,9 @@ MEMO: <selector> ( name -- sel ) f \ selector-tuple boa ;
|
||||||
object>>
|
object>>
|
||||||
] if ;
|
] if ;
|
||||||
|
|
||||||
|
: lookup-selector ( name -- alien )
|
||||||
|
<selector> selector ;
|
||||||
|
|
||||||
SYMBOL: objc-methods
|
SYMBOL: objc-methods
|
||||||
|
|
||||||
objc-methods [ H{ } clone ] initialize
|
objc-methods [ H{ } clone ] initialize
|
||||||
|
@ -62,7 +65,7 @@ ERROR: no-objc-method name ;
|
||||||
dup ?lookup-method [ ] [ no-objc-method ] ?if ;
|
dup ?lookup-method [ ] [ no-objc-method ] ?if ;
|
||||||
|
|
||||||
: (selector/sender) ( selector super? -- alien word )
|
: (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
|
[ super-message-senders message-senders ? get at ] bi* ; inline
|
||||||
|
|
||||||
: selector/sender ( selector -- alien word )
|
: selector/sender ( selector -- alien word )
|
||||||
|
@ -73,8 +76,7 @@ ERROR: no-objc-method name ;
|
||||||
|
|
||||||
MEMO: make-prepare-send ( selector method super? -- quot )
|
MEMO: make-prepare-send ( selector method super? -- quot )
|
||||||
[
|
[
|
||||||
[ \ <super> , ] when
|
[ \ <super> , ] when swap lookup-selector ,
|
||||||
swap <selector> , \ selector ,
|
|
||||||
] [ ] make
|
] [ ] make
|
||||||
swap second length 2 - '[ _ _ ndip ] ;
|
swap second length 2 - '[ _ _ ndip ] ;
|
||||||
|
|
||||||
|
|
|
@ -5,9 +5,9 @@ arrays assocs cocoa cocoa.application cocoa.classes
|
||||||
cocoa.messages cocoa.pasteboard cocoa.runtime cocoa.subclassing
|
cocoa.messages cocoa.pasteboard cocoa.runtime cocoa.subclassing
|
||||||
cocoa.types cocoa.views combinators core-foundation.strings
|
cocoa.types cocoa.views combinators core-foundation.strings
|
||||||
core-graphics core-graphics.types core-text io.encodings.utf8
|
core-graphics core-graphics.types core-text io.encodings.utf8
|
||||||
kernel locals math math.order math.rectangles namespaces opengl
|
kernel locals math math.rectangles namespaces opengl sequences
|
||||||
sequences system-info threads ui.gadgets ui.gadgets.private
|
threads ui.gadgets ui.gadgets.private ui.gadgets.worlds
|
||||||
ui.gadgets.worlds ui.gestures ui.private vocabs vocabs.parser ;
|
ui.gestures ui.private ;
|
||||||
IN: ui.backend.cocoa.views
|
IN: ui.backend.cocoa.views
|
||||||
|
|
||||||
: send-mouse-moved ( view event -- )
|
: send-mouse-moved ( view event -- )
|
||||||
|
@ -151,7 +151,8 @@ CLASS: FactorView < NSOpenGLView NSTextInput
|
||||||
|
|
||||||
METHOD: void prepareOpenGL [
|
METHOD: void prepareOpenGL [
|
||||||
|
|
||||||
os-version { 10 7 0 } after=? [
|
self "setWantsBestResolutionOpenGLSurface:"
|
||||||
|
lookup-selector -> respondsToSelector: c-bool> [
|
||||||
|
|
||||||
self "setWantsBestResolutionOpenGLSurface:"
|
self "setWantsBestResolutionOpenGLSurface:"
|
||||||
selector/sender 1 swap execute( x x x -- )
|
selector/sender 1 swap execute( x x x -- )
|
||||||
|
|
Loading…
Reference in New Issue