ken,
thanx for your responses. i had already discovered and tried
addLocalMonitorForEventsMatchingMask:handler: and as you point out in your
second reply, it does not work because live resizing is running its own event
loop.
overriding sendEvent would work if i detect a mouse down in the resize “box”
and run my own event loop but:
a) i’m not aware of a documented size for the resize “box”; and
b) this would involve my re-implementing all the notifications and
method calls associated with live resize drawing, and i don’t really want to
have to do this.
so… anyone have any other ideas as to how to get called for a modifier key
change will in the midst of a live resize?
thanx,
ken
On Jun 23, 2011, at 2:24 AM, Ken Tozier <[email protected]> wrote:
> Date: Wed, 22 Jun 2011 17:48:20 -0400
> From: Ken Tozier <[email protected]>
> Subject: Re: constrained window resizing
> To: Cocoa Dev List List <[email protected]>
> Message-ID: <[email protected]>
> Content-Type: text/plain; charset=windows-1252
>
> In NSEvent docs, there's a section on "Monitoring Application Events"
> (http://tinyurl.com/6enhj2g) and it looks like there is a flag you can set
> (explained here: http://tinyurl.com/6jky52c) to receive notifications for
> this sort of thing
>
>
> On Jun 22, 2011, at 5:21 PM, Ken Victor wrote:
>
>> i‚ve got a subclass of NSWindow (MagneticWindow) that provides:
>> - (NSSize) windowWillResize: (NSWindow*) sender toSize: (NSSize)
>> frameSize;
>> i use this to provide constrained live resizing of the window, i.e., if the
>> shift key is down, the window will only resize in the horizontal or vertical
>> direction (based on the mouse‚s position relative to where it was at mouse
>> down time), and if the shift and control keys are both down, then the window
>> will maintain its aspect ratio as it is resized.
>>
>> this is all working fine except for one minor point: i don‚t get called if
>> any of the keys change their state (e.g., when the shift is let up) until
>> the user moves the mouse. since the framework is running its own runloop for
>> resizing, i don‚t see how to „hook in‰. and while this class has overridden
>> sendEvent to provide its own runloop for dragging windows around (to provide
>> similar constraining), i don‚t really want to have to do this for resizing
>> as i‚m not sure of all the methods i would have to call to get live resizing
>> drawing working properly.
>>
>> can anyone suggest a way i can get informed when any of the modifier keys
>> change their state while in the midst of live resizing (without requiring
>> mouse movement)?
>>
>> thanx,
>> ken
>
and
> Date: Wed, 22 Jun 2011 17:15:38 -0500
> From: Ken Thomases <[email protected]>
> Subject: Re: constrained window resizing
> To: Ken Tozier <[email protected]>
> Cc: Cocoa Dev List List <[email protected]>
> Message-ID: <[email protected]>
> Content-Type: text/plain; charset=us-ascii
>
> On Jun 22, 2011, at 4:48 PM, Ken Tozier wrote:
>
>> In NSEvent docs, there's a section on "Monitoring Application Events"
>> (http://tinyurl.com/6enhj2g) and it looks like there is a flag you can set
>> (explained here: http://tinyurl.com/6jky52c) to receive notifications for
>> this sort of thing
>
> I don't think that will work because (from your first link):
>
>> Your handler will not be called for events that are consumed by nested
>> event-tracking loops such as control tracking, menu tracking, or window
>> dragging; only events that are dispatched through the applications
>> sendEvent: method will be passed to your handler.
>
> Window resizing is just such a nested event-tracking loop. (Which is also
> why the OP's thought of using -sendEvent: wouldn't help either.)
>
> Regards,
> Ken
_______________________________________________
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]