ppc cocoa
This commit is contained in:
parent
391cbe1315
commit
2cebc60eca
|
@ -112,9 +112,14 @@
|
|||
(set-cpointer-tag! p objc_class-tag)
|
||||
p))]
|
||||
[empty-cache (lambda ()
|
||||
;; If you try things the hard way with Obj-C 2.0,
|
||||
;; you need to set up the cache. For ealier
|
||||
;; versions, you need to set the cache to #f.
|
||||
#;
|
||||
(let ([p (malloc 'raw 1 _objc_cache)])
|
||||
(memset p 0 1 _objc_cache)
|
||||
p))]
|
||||
p)
|
||||
#f)]
|
||||
[meta-super (cast (objc_class-isa super) _pointer _objc_class-pointer)]
|
||||
[new-meta (malloc+memcpy
|
||||
(make-objc_class (objc_class-isa root)
|
||||
|
|
|
@ -564,10 +564,17 @@
|
|||
[(scroller val)
|
||||
(when scroller
|
||||
(set-scroller-page! scroller val)
|
||||
(tellv (scroller-cocoa scroller) setKnobProportion:
|
||||
#:type _CGFloat (max (min 1.0 (/ val
|
||||
(+ val (exact->inexact (scroller-range scroller)))))
|
||||
0.0)))]
|
||||
(let ([proportion
|
||||
(max (min 1.0 (/ val
|
||||
(+ val (exact->inexact (scroller-range scroller)))))
|
||||
0.0)])
|
||||
(if old-cocoa?
|
||||
(tellv (scroller-cocoa scroller)
|
||||
setFloatValue: #:type _float (tell #:type _float (scroller-cocoa scroller)
|
||||
floatValue)
|
||||
knobProportion: #:type _CGFloat proportion)
|
||||
(tellv (scroller-cocoa scroller) setKnobProportion:
|
||||
#:type _CGFloat proportion))))]
|
||||
[(scroller)
|
||||
(if scroller
|
||||
(scroller-page scroller)
|
||||
|
|
|
@ -18,7 +18,8 @@
|
|||
with-autorelease
|
||||
clean-menu-label
|
||||
->wxb
|
||||
->wx)
|
||||
->wx
|
||||
old-cocoa?)
|
||||
|
||||
(define cocoa-lib (ffi-lib (format "/System/Library/Frameworks/Cocoa.framework/Cocoa")))
|
||||
(define cf-lib (ffi-lib (format "/System/Library/Frameworks/CoreFoundation.framework/CoreFoundation")))
|
||||
|
@ -69,3 +70,7 @@
|
|||
(define (->wx wxb)
|
||||
(and wxb
|
||||
(weak-box-value wxb)))
|
||||
|
||||
;; FIXME: need a better test:
|
||||
(define old-cocoa? (equal? (path->string (system-library-subpath #f))
|
||||
"ppc-macosx"))
|
||||
|
|
Loading…
Reference in New Issue
Block a user