ui.backend.cocoa.views: simplify and add os version check.
parent
1209d5287d
commit
fe1bfe173b
|
@ -61,11 +61,10 @@ ERROR: no-objc-method name ;
|
||||||
: lookup-method ( selector -- method )
|
: lookup-method ( selector -- method )
|
||||||
dup ?lookup-method [ ] [ no-objc-method ] ?if ;
|
dup ?lookup-method [ ] [ no-objc-method ] ?if ;
|
||||||
|
|
||||||
: selector/sender ( selector method -- alien word )
|
: selector/sender ( selector -- alien word )
|
||||||
[ <selector> selector ] [ message-senders get at ] bi* ;
|
dup lookup-method
|
||||||
|
[ <selector> selector ]
|
||||||
: when-method ( receiver selector quot: ( receiver selector method -- ) -- )
|
[ message-senders get at ] bi* ;
|
||||||
[ dup ?lookup-method ] dip [ selector/sender ] prepose [ 2drop ] if* ; inline
|
|
||||||
|
|
||||||
MEMO: make-prepare-send ( selector method super? -- quot )
|
MEMO: make-prepare-send ( selector method super? -- quot )
|
||||||
[
|
[
|
||||||
|
|
|
@ -151,15 +151,16 @@ CLASS: FactorView < NSOpenGLView NSTextInput
|
||||||
|
|
||||||
METHOD: void prepareOpenGL [
|
METHOD: void prepareOpenGL [
|
||||||
|
|
||||||
self "setWantsBestResolutionOpenGLSurface:" [
|
os-version { 10 7 0 } after=? [
|
||||||
1 swap execute( x x x -- )
|
self "setWantsBestResolutionOpenGLSurface:"
|
||||||
] when-method
|
selector/sender 1 swap execute( x x x -- )
|
||||||
|
|
||||||
self "backingScaleFactor" [
|
self "backingScaleFactor"
|
||||||
execute( x x -- x ) dup 1.0 > [
|
selector/sender execute( x x -- x )
|
||||||
|
dup 1.0 > [
|
||||||
gl-scale-factor set-global t retina? set-global
|
gl-scale-factor set-global t retina? set-global
|
||||||
] [ drop ] if
|
] [ drop ] if
|
||||||
] when-method
|
] when
|
||||||
]
|
]
|
||||||
|
|
||||||
! Rendering
|
! Rendering
|
||||||
|
|
Loading…
Reference in New Issue