• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: -magnifyWithEvent: changed in Yosemite?
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: -magnifyWithEvent: changed in Yosemite?


  • Subject: Re: -magnifyWithEvent: changed in Yosemite?
  • From: Kyle Sluder <email@hidden>
  • Date: Sun, 16 Nov 2014 16:29:12 -0600

On Sun, Nov 16, 2014, at 04:16 PM, Graham Cox wrote:
> Yosemite seems to have changed the way the "pinch to zoom" trackpad
> gesture is handled. This gesture invokes -magnifyWithEvent: on first
> responder, and in the previous OS would only send events while the user
> was touching and moving their fingers on the trackpad. Now it seems to
> send a whole stream of additional events which apear to interpolate
> between scale values, so as to implement a smoothly animated zoom.
>
> Problem is, this doesn't take into account what the view may be drawing -
> if it takes time to draw something complicated, the events start to
> seriously lag behind, and the usability of the pinch zoom becomes greatly
> compromised (as with any delay introduced into a feedback system, in this
> case between the hand and the eye, the result is
> 'pilot-induced-oscillation' where the user can't achieve the zoom level
> they want, but instead oscillate wildly around it).
>
> I don't have an option to reduce the complexity of what I draw (it's
> already massively optimised), so I need to fix the event handling. Is
> there a way to disable the interpolation? I can't see anything in system
> prefs. Maybe there's an API but I'm not sure where to look. Note that the
> older way this worked did work fine for my app, drawing the same thing.

Can you listen for NSScrollViewWillStartLiveMagnifyNotification to
freeze a snapshot of your existing drawing?

Is your view layer-backed? If not, perhaps you could consider doing
that, which would give you the opportunity to use the existing GPU cache
of your drawing.

--Kyle Sluder
_______________________________________________

Cocoa-dev mailing list (email@hidden)

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:

This email sent to email@hidden


  • Follow-Ups:
    • Re: -magnifyWithEvent: changed in Yosemite?
      • From: Graham Cox <email@hidden>
References: 
 >-magnifyWithEvent: changed in Yosemite? (From: Graham Cox <email@hidden>)

  • Prev by Date: -magnifyWithEvent: changed in Yosemite?
  • Next by Date: Re: -magnifyWithEvent: changed in Yosemite?
  • Previous by thread: -magnifyWithEvent: changed in Yosemite?
  • Next by thread: Re: -magnifyWithEvent: changed in Yosemite?
  • Index(es):
    • Date
    • Thread