using a timer works just fine. and i don’t believe any “debouncing” is 
necessary as the timer can’t fire if i am already in the process of resizing.

thanx ken and quincey,
ken


On Jun 23, 2011, at 3:57 PM, Ken Victor wrote:

> empirically, it appears that the event tracking loop for window resizing is 
> calling 
>       -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:]
> so i can’t simply override NSWindow’s matching method in my subclass. thus, 
> while overriding NSApplication’s method is probably doable, i believe it 
> would be “messier” than quincey’s "low tech" solution, which can be 
> encapsulated in my subclass. i will now give this a try and report back.
> 
> thanx quincey,
> ken
> 
> 
> On Jun 23, 2011, at 3:21 PM, Quincey Morris wrote:
> 
>> On Jun 23, 2011, at 14:55, Ken Victor wrote:
>> 
>>> lets say the user had been resizing the window without any modifier keys 
>>> pressed, but then realized what s/he really wanted was to resize in only 
>>> one dimension or to maintain the window’s aspect ratio, so now s/he presses 
>>> either shift or shift and control. i would like to be able to resize the 
>>> window at this time to show the proper effect, but i can’t do this until 
>>> the user moves the mouse AFTER changing the modifier keys.
>> 
>> Don't overlook the possibility of a low tech solution. How about starting a 
>> repeating timer with an interval of (say) 0.1 secs, and checking the flags 
>> when the time fires? You'd probably want to "debounce" the timer by 
>> preventing it from triggering another resize when resizing is already in 
>> progress, and possibly for a short time afterwards.
>> 
>> 
> 

_______________________________________________

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]

Reply via email to