compositor-wayland: Change focus to a bool instead of an int

Also rename focus to has_focus to be slightly less confusing.

Signed-off-by: Derek Foreman <derekf@osg.samsung.com>
Reviewed-by: Bryce Harrington <bryce@osg.samsung.com>
This commit is contained in:
Derek Foreman 2015-11-06 15:56:06 -06:00 committed by Bryce Harrington
parent 1118952e14
commit 4bcc54d1a5
1 changed files with 10 additions and 8 deletions

View File

@ -177,7 +177,8 @@ struct wayland_input {
enum weston_key_state_update keyboard_state_update;
uint32_t key_serial;
uint32_t enter_serial;
int focus;
bool has_focus;
struct wayland_output *output;
struct wayland_output *keyboard_focus;
};
@ -1296,12 +1297,12 @@ input_handle_pointer_enter(void *data, struct wl_pointer *pointer,
weston_output_transform_coordinate(&input->output->base, x, y, &x, &y);
if (location == THEME_LOCATION_CLIENT_AREA) {
input->focus = 1;
input->has_focus = true;
notify_pointer_focus(&input->base, &input->output->base, x, y);
wl_pointer_set_cursor(input->parent.pointer,
input->enter_serial, NULL, 0, 0);
} else {
input->focus = 0;
input->has_focus = false;
notify_pointer_focus(&input->base, NULL, 0, 0);
input_set_cursor(input);
}
@ -1325,7 +1326,7 @@ input_handle_pointer_leave(void *data, struct wl_pointer *pointer,
notify_pointer_focus(&input->base, NULL, 0, 0);
input->output = NULL;
input->focus = 0;
input->has_focus = false;
}
static void
@ -1355,15 +1356,16 @@ input_handle_motion(void *data, struct wl_pointer *pointer,
weston_output_transform_coordinate(&input->output->base, x, y, &x, &y);
if (input->focus && location != THEME_LOCATION_CLIENT_AREA) {
if (input->has_focus && location != THEME_LOCATION_CLIENT_AREA) {
input_set_cursor(input);
notify_pointer_focus(&input->base, NULL, 0, 0);
input->focus = 0;
} else if (!input->focus && location == THEME_LOCATION_CLIENT_AREA) {
input->has_focus = false;
} else if (!input->has_focus &&
location == THEME_LOCATION_CLIENT_AREA) {
wl_pointer_set_cursor(input->parent.pointer,
input->enter_serial, NULL, 0, 0);
notify_pointer_focus(&input->base, &input->output->base, x, y);
input->focus = 1;
input->has_focus = true;
}
if (location == THEME_LOCATION_CLIENT_AREA)