Why don't you just use the built-in dragging functions the Graal has for GUIs? You can set canmove=false and the drag functions will still be triggered when dragging, just the GUI wouldn't move.
I think you can figure out what to do with that data, right?