#define XCURSOR_SIZE 24
#define XCURSOR_MOVE "grabbing"
-enum cursor_mode {
- LAB_CURSOR_PASSTHROUGH = 0,
- LAB_CURSOR_MOVE,
- LAB_CURSOR_RESIZE,
+enum input_mode {
+ LAB_INPUT_STATE_PASSTHROUGH = 0,
+ LAB_INPUT_STATE_MOVE,
+ LAB_INPUT_STATE_RESIZE,
LAB_INPUT_STATE_MENU,
};
struct seat seat;
/* cursor interactive */
- enum cursor_mode cursor_mode;
+ enum input_mode input_mode;
struct view *grabbed_view;
double grab_x, grab_y;
struct wlr_box grab_box;
void seat_finish(struct server *server);
void seat_focus_surface(struct seat *seat, struct wlr_surface *surface);
-void interactive_begin(struct view *view, enum cursor_mode mode,
+void interactive_begin(struct view *view, enum input_mode mode,
uint32_t edges);
void output_init(struct server *server);
process_cursor_motion(struct server *server, uint32_t time)
{
/* If the mode is non-passthrough, delegate to those functions. */
- if (server->cursor_mode == LAB_CURSOR_MOVE) {
+ if (server->input_mode == LAB_INPUT_STATE_MOVE) {
process_cursor_move(server, time);
return;
- } else if (server->cursor_mode == LAB_CURSOR_RESIZE) {
+ } else if (server->input_mode == LAB_INPUT_STATE_RESIZE) {
process_cursor_resize(server, time);
return;
- } else if (server->cursor_mode == LAB_INPUT_STATE_MENU) {
+ } else if (server->input_mode == LAB_INPUT_STATE_MENU) {
menu_set_selected(server->rootmenu,
server->seat.cursor->x, server->seat.cursor->y);
return;
/* handle _release_ */
if (event->state == WLR_BUTTON_RELEASED) {
- if (server->cursor_mode == LAB_INPUT_STATE_MENU) {
+ if (server->input_mode == LAB_INPUT_STATE_MENU) {
return;
}
/* Exit interactive move/resize/menu mode. */
- server->cursor_mode = LAB_CURSOR_PASSTHROUGH;
+ server->input_mode = LAB_INPUT_STATE_PASSTHROUGH;
return;
}
- if (server->cursor_mode == LAB_INPUT_STATE_MENU) {
+ if (server->input_mode == LAB_INPUT_STATE_MENU) {
menu_action_selected(server, server->rootmenu);
- server->cursor_mode = LAB_CURSOR_PASSTHROUGH;
+ server->input_mode = LAB_INPUT_STATE_PASSTHROUGH;
return;
}
/* handle _press_ on desktop */
if (!view) {
/* launch root-menu */
- server->cursor_mode = LAB_INPUT_STATE_MENU;
+ server->input_mode = LAB_INPUT_STATE_MENU;
menu_move(server->rootmenu, server->seat.cursor->x,
server->seat.cursor->y);
return;
view_minimize(view);
break;
case LAB_DECO_PART_TITLE:
- interactive_begin(view, LAB_CURSOR_MOVE, 0);
+ interactive_begin(view, LAB_INPUT_STATE_MOVE, 0);
break;
case LAB_DECO_PART_TOP:
- interactive_begin(view, LAB_CURSOR_RESIZE,
+ interactive_begin(view, LAB_INPUT_STATE_RESIZE,
WLR_EDGE_TOP);
break;
case LAB_DECO_PART_RIGHT:
- interactive_begin(view, LAB_CURSOR_RESIZE,
+ interactive_begin(view, LAB_INPUT_STATE_RESIZE,
WLR_EDGE_RIGHT);
break;
case LAB_DECO_PART_BOTTOM:
- interactive_begin(view, LAB_CURSOR_RESIZE,
+ interactive_begin(view, LAB_INPUT_STATE_RESIZE,
WLR_EDGE_BOTTOM);
break;
case LAB_DECO_PART_LEFT:
- interactive_begin(view, LAB_CURSOR_RESIZE,
+ interactive_begin(view, LAB_INPUT_STATE_RESIZE,
WLR_EDGE_LEFT);
break;
}
#include "labwc.h"
void
-interactive_begin(struct view *view, enum cursor_mode mode, uint32_t edges)
+interactive_begin(struct view *view, enum input_mode mode, uint32_t edges)
{
/*
* This function sets up an interactive move or resize operation, where
struct seat *seat = &view->server->seat;
struct server *server = view->server;
server->grabbed_view = view;
- server->cursor_mode = mode;
+ server->input_mode = mode;
/* Remember view and cursor positions at start of move/resize */
server->grab_x = seat->cursor->x;
* client, to prevent the client from requesting this whenever they
* want. */
struct view *view = wl_container_of(listener, view, request_move);
- interactive_begin(view, LAB_CURSOR_MOVE, 0);
+ interactive_begin(view, LAB_INPUT_STATE_MOVE, 0);
}
static void
* want. */
struct wlr_xdg_toplevel_resize_event *event = data;
struct view *view = wl_container_of(listener, view, request_resize);
- interactive_begin(view, LAB_CURSOR_RESIZE, event->edges);
+ interactive_begin(view, LAB_INPUT_STATE_RESIZE, event->edges);
}
static void