aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDrew DeVault <sir@cmpwn.com>2019-02-01 09:27:20 +0100
committerGitHub <noreply@github.com>2019-02-01 09:27:20 +0100
commit2d65d49c5c04c350fa810e96f9c11d1aa3acfa28 (patch)
treeb2dbd7de3b9f152fd597bff2819af972afd55aa0
parent41af8d845933f2bc6b158d0cac5a0c5688cce7d0 (diff)
parent7defb307816555d8bbb57f6c8bff43131d0799ba (diff)
Merge pull request #1518 from emersion/relative-pointer-usec
relative-pointer-v1: time is in usec, not msec
-rw-r--r--include/wlr/types/wlr_relative_pointer_v1.h8
-rw-r--r--types/wlr_relative_pointer_v1.c4
2 files changed, 8 insertions, 4 deletions
diff --git a/include/wlr/types/wlr_relative_pointer_v1.h b/include/wlr/types/wlr_relative_pointer_v1.h
index 076fac56..32ed574b 100644
--- a/include/wlr/types/wlr_relative_pointer_v1.h
+++ b/include/wlr/types/wlr_relative_pointer_v1.h
@@ -64,13 +64,17 @@ void wlr_relative_pointer_manager_v1_destroy(
struct wlr_relative_pointer_manager_v1 *manager);
/**
- * Send a relative motion event to the seat with the same wl_pointer as relative_pointer
+ * Send a relative motion event to the seat. Time is given in microseconds
+ * (unlike wl_pointer which uses milliseconds).
*/
void wlr_relative_pointer_manager_v1_send_relative_motion(
struct wlr_relative_pointer_manager_v1 *manager, struct wlr_seat *seat,
- uint64_t time_msec, double dx, double dy,
+ uint64_t time_usec, double dx, double dy,
double dx_unaccel, double dy_unaccel);
+/**
+ * Get a relative pointer from its resource. Returns NULL if inert.
+ */
struct wlr_relative_pointer_v1 *wlr_relative_pointer_v1_from_resource(
struct wl_resource *resource);
diff --git a/types/wlr_relative_pointer_v1.c b/types/wlr_relative_pointer_v1.c
index 17e65b67..04a44725 100644
--- a/types/wlr_relative_pointer_v1.c
+++ b/types/wlr_relative_pointer_v1.c
@@ -252,7 +252,7 @@ void wlr_relative_pointer_manager_v1_destroy(struct wlr_relative_pointer_manager
void wlr_relative_pointer_manager_v1_send_relative_motion(
struct wlr_relative_pointer_manager_v1 *manager, struct wlr_seat *seat,
- uint64_t time_msec, double dx, double dy,
+ uint64_t time_usec, double dx, double dy,
double dx_unaccel, double dy_unaccel) {
struct wlr_seat_client *focused = seat->pointer_state.focused_client;
if (focused == NULL) {
@@ -268,7 +268,7 @@ void wlr_relative_pointer_manager_v1_send_relative_motion(
}
zwp_relative_pointer_v1_send_relative_motion(pointer->resource,
- (uint32_t)(time_msec >> 32), (uint32_t)time_msec,
+ (uint32_t)(time_usec >> 32), (uint32_t)time_usec,
wl_fixed_from_double(dx), wl_fixed_from_double(dy),
wl_fixed_from_double(dx_unaccel), wl_fixed_from_double(dy_unaccel));
}