You don't have to build a separate version. Just test for method availability
at runtime:
if ([NSEvent respondsToSelector:@selector(pressedMouseButtons)])
return [NSEvent pressedMouseButtons];
else
// do it the old way.
Le 23 févr. 2010 à 23:18, Joel May a écrit :
> Hey Eric,
>
> This is very helpful. I'll take a look at [NSEvent pressedMouseButtons]. I
> still have to support tiger and leopard, but I'll build a separate snow
> leopard version and #ifdef that call in there.
>
> I've had the heebie-jeebies about including the Carbon framework in my
> application. But I'm cool with it now.
>
> Thanks,
> Joel
>
>
>
> On Feb 23, 2010, at 1:15 AM, Eric Schlegel wrote:
>
>>
>> On Feb 22, 2010, at 11:53 AM, Joel May wrote:
>>
>>> I would like to create a thread (NSThread) with a bumped-up priority and
>>> poll the mouse and keyboard the same way I did in the carbon version. I'd
>>> like to use the cocoa equivalents of GetButton() and GetKeys() but I can't
>>> find them.
>>
>> GetButton() [by which I think you actually mean Button()] - the Cocoa
>> equivalent is +[NSEvent pressedMouseButtons], available in 10.6 and later
>> GetKeys() - I don't believe there is currently a Cocoa or CoreGraphics
>> equivalent (but could be wrong!). It's perfectly fine to continue using
>> GetKeys().
>>
>>> Am I safe using these api's. Are we supposed to not use them?
>>
>> You are safe using these APIs. They are still supported. We recommend that
>> you use Cocoa equivalents when available - so you could use +[NSEvent
>> pressedMouseButtons] on 10.6 and later, and Button() on 10.5 and earlier.
>>
>>> Will they go away in 10.7?
>>
>> No, because that would break many existing applications, and we place a high
>> priority on not breaking existing applications.
>>
>>> Why do I read everywhere that carbon is dead and high level toolkit is
>>> dead?
>>
>> Because many people are misinformed. Apple no longer recommends Carbon for
>> new application development - Cocoa is recommended for all new development -
>> but Carbon is not being removed from the OS either, because that would break
>> existing applications. The High Level Toolbox APIs will continue to be
>> supported for 32-bit apps and some parts of HLTB will also still be
>> supported for 64-bit in cases where there is no other 64-bit equivalent.
>>
>>> If High Level Toolkit is ok, then why doesn't it appear in the docs. If I
>>> search the Mac OS X Reference Library, it does not get the same treatment
>>> that the cocoa api gets.
>>
>> You'd have to ask Apple Developer Relations about that. I'm just a grunt
>> engineer. :)
>>
>> -eric
>>
>
> _______________________________________________
>
> Cocoa-dev mailing list ([email protected])
>
> Please do not post admin requests or moderator comments to the list.
> Contact the moderators at cocoa-dev-admins(at)lists.apple.com
>
> Help/Unsubscribe/Update your Subscription:
> http://lists.apple.com/mailman/options/cocoa-dev/devlists%40shadowlab.org
>
> This email sent to [email protected]
-- Jean-Daniel
_______________________________________________
Cocoa-dev mailing list ([email protected])
Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com
Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com
This email sent to [email protected]