As part of a plugin I’m working on we are using a mouse callback to implement an interface where clicking on custom plugin display objects selects corresponding objects in the Rhino document.
One tricky portion of this interaction is the Gumball: it looks like Rhino’s clickbox for the Gumball is actually slightly larger than the pixels themselves. In some cases, when the gumball is over some of this geometry, to our plugin it looks like the user clicked on the object behind the Gumball, but in reality Rhino treats the click as touching the Gumball, which is what we want – however we’d also like to avoid interfering with this interaction and not do any custom plugin logic in this case.
Is there any way within the MouseCallback interface (or in general) to detect whether a MouseDown or MouseUp event was treated as starting/ending a gumball interaction by Rhino, or to prevent an event handler from firing on Gumball interactions?
Here’s a picture of the case I’m concerned with:
Alternatively (equivalently, for our purposes) is there a way to get the native gumball to draw in the display pipeline at the size of its clickbox’s thickness rather than its display one?