From fe1bfe173b007d3c800c479dcdcbc9399090ef07 Mon Sep 17 00:00:00 2001 From: John Benediktsson Date: Fri, 29 Mar 2013 14:29:41 -0700 Subject: [PATCH] ui.backend.cocoa.views: simplify and add os version check. --- basis/cocoa/messages/messages.factor | 9 ++++----- basis/ui/backend/cocoa/views/views.factor | 13 +++++++------ 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/basis/cocoa/messages/messages.factor b/basis/cocoa/messages/messages.factor index c093d54cc0..8cc22b0fe8 100644 --- a/basis/cocoa/messages/messages.factor +++ b/basis/cocoa/messages/messages.factor @@ -61,11 +61,10 @@ ERROR: no-objc-method name ; : lookup-method ( selector -- method ) dup ?lookup-method [ ] [ no-objc-method ] ?if ; -: selector/sender ( selector method -- alien word ) - [ selector ] [ message-senders get at ] bi* ; - -: when-method ( receiver selector quot: ( receiver selector method -- ) -- ) - [ dup ?lookup-method ] dip [ selector/sender ] prepose [ 2drop ] if* ; inline +: selector/sender ( selector -- alien word ) + dup lookup-method + [ selector ] + [ message-senders get at ] bi* ; MEMO: make-prepare-send ( selector method super? -- quot ) [ diff --git a/basis/ui/backend/cocoa/views/views.factor b/basis/ui/backend/cocoa/views/views.factor index 86ae477102..faa9c24b84 100644 --- a/basis/ui/backend/cocoa/views/views.factor +++ b/basis/ui/backend/cocoa/views/views.factor @@ -151,15 +151,16 @@ CLASS: FactorView < NSOpenGLView NSTextInput METHOD: void prepareOpenGL [ - self "setWantsBestResolutionOpenGLSurface:" [ - 1 swap execute( x x x -- ) - ] when-method + os-version { 10 7 0 } after=? [ + self "setWantsBestResolutionOpenGLSurface:" + selector/sender 1 swap execute( x x x -- ) - self "backingScaleFactor" [ - execute( x x -- x ) dup 1.0 > [ + self "backingScaleFactor" + selector/sender execute( x x -- x ) + dup 1.0 > [ gl-scale-factor set-global t retina? set-global ] [ drop ] if - ] when-method + ] when ] ! Rendering