I'm trying to write a tool plugin but i'm getting really frustrated with how Ai handles this.
Let me try to explain the situation:
First I tought: nice! mouse down, mouse drag, mouse up. I know this, lets work with it. It turns out that when using the default mouse draggin method...it stays in the drag loop basicly ignoring Timer calls, effect/style updates etc. untill you finaly mouse up and everything updates again. When draggin art for example i would like to see realtime updates, visualy, of path, style and effects... not only the path anotationlines.
Then I found the flag kToolDoesntWantArtStyleExecutionSuspender. Yes! ... this is what i'm looking for... but this does nada! It is still stuck in the drag routine no updates of styles or effects when manipulatin and draggin paths/anchors in the drag method only until i 'mouse up'. So not an inch closer to what i'm looking for.
Then I see the flag kToolHasItsOwnDragLoop. Hell yeah! my own drag loop... but here it starts to get really bizar. This flag disables the standart dragloop... ok thats normal. But it turns out that tracking is also not working basicly letting me think... where the hell does the custom drag loop will take place? On top of that when I 'mouse down' with my tool and this flag is on... the 'mouse up' is triggered automaticaly and almost emediatly after my 'mouse down' while I'm still having my mouse button pressed down. This logicaly defeats the purpose of a custom drag loop since the 'mouse up' is triggered automatically and not when I physicly mouse up.
So my questions:
Does anybody know how to get update on style and effects whyle dragging and manipulating path/art with a custom plugin tool?
Attached recording demos this problem. With the 'black arrow Ai tool' the style follows, with my custom tool it doesn't. This is with the standart mouse down drag and up methods.
I could windows mousehook and all this kind of hacking/workarounds but really I would like a sollution within the SDK boundries. I could very well be that I'm missing something important here...
Any practical hints from experience would be great.