cairo-util: Rework frame button handling
This makes button handling more correct concerning drags. Also,
frame_pointer_button returns the original button location in the case of a
release. This makes filtering of button events much easier for users of
the cair-util frame code.
Signed-off-by: Jason Ekstrand <jason@jlekstrand.net>
diff --git a/shared/cairo-util.h b/shared/cairo-util.h
index cce7671..7bcbc29 100644
--- a/shared/cairo-util.h
+++ b/shared/cairo-util.h
@@ -183,7 +183,13 @@
void
frame_pointer_leave(struct frame *frame, void *pointer);
-/* May set:
+/* Call to indicate that a button has been pressed/released. The return
+ * value for a button release will be the same as for the corresponding
+ * press. This allows you to more easily track grabs. If you want the
+ * actual location, simply keep the location from the last
+ * frame_pointer_motion call.
+ *
+ * May set:
* FRAME_STATUS_MINIMIZE
* FRAME_STATUS_MAXIMIZE
* FRAME_STATUS_CLOSE