[Core] Clay_GetElementIdsAtPoint
regarding #231 - Get an ordered list of elements at an arbitrary point or set of points. Example: click/hover; drag & drop; local multiplayer game with multiple cursors.
I wasn't sure what we wanted to do with SetPointerState - I wanted a version of this function that I could use arbitrarily to do the same behavior, except I don't want it to do any hover callbacks or store any information about pointer state.
As a result, I made this version, which is basically just copy/pasted but with those parts removed. Maybe this could be refactored so that SetPointerState calls this?
In order to get this working, I needed a place to store the element list in the first place. The approach I went with here is to just create a pointQueryIds list, where results will be stored. The downside is that if you call this multiple times, you'll need to manually save the results yourself outside of clay. I'm open to suggestions on a better approach, but this does seem to work.
TODO:
- [x] docs
- [ ] update bindings
- [ ] examples
In order to avoid confusion, maybe we should add a second method to retrieve the pointerOverIds from SetPointerState? I'm still not sure how I feel about having these two separate functions that work independently.