diff options
Diffstat (limited to 'dwl.c')
| -rw-r--r-- | dwl.c | 30 | 
1 files changed, 13 insertions, 17 deletions
| @@ -32,12 +32,8 @@  #define CLEANMASK(mask)         (mask & ~WLR_MODIFIER_CAPS)  #define LENGTH(X)               (sizeof X / sizeof X[0]) -/* For brevity's sake, struct members are annotated where they are used. */ -enum dwl_cursor_mode { -	DWL_CURSOR_PASSTHROUGH, -	DWL_CURSOR_MOVE, -	DWL_CURSOR_RESIZE, -}; +/* enums */ +enum { CurNormal, CurMove, CurResize }; /* cursor */  struct dwl_server {  	struct wl_display *wl_display; @@ -60,7 +56,7 @@ struct dwl_server {  	struct wl_listener new_input;  	struct wl_listener request_cursor;  	struct wl_list keyboards; -	enum dwl_cursor_mode cursor_mode; +	unsigned int cursor_mode;  	struct dwl_view *grabbed_view;  	double grab_x, grab_y;  	int grab_width, grab_height; @@ -146,7 +142,7 @@ static void motionnotify(struct dwl_server *server, uint32_t time);  static void motionrelative(struct wl_listener *listener, void *data);  static void movemouse(struct dwl_server *server, const Arg *arg);  static void moverequest(struct wl_listener *listener, void *data); -static void moveresize(struct dwl_view *view, enum dwl_cursor_mode mode, +static void moveresize(struct dwl_view *view, unsigned int mode,  		uint32_t edges);  static void quit(struct dwl_server *server, const Arg *arg);  static void render(struct wlr_surface *surface, int sx, int sy, void *data); @@ -204,7 +200,7 @@ buttonpress(struct wl_listener *listener, void *data)  			server->cursor->x, server->cursor->y, &surface, &sx, &sy);  	if (event->state == WLR_BUTTON_RELEASED) {  		/* If you released any buttons, we exit interactive move/resize mode. */ -		server->cursor_mode = DWL_CURSOR_PASSTHROUGH; +		server->cursor_mode = CurNormal;  	} else {  		/* Focus that client if the button was _pressed_ */  		focus(view, surface); @@ -603,10 +599,10 @@ void  motionnotify(struct dwl_server *server, uint32_t time)  {  	/* If the mode is non-passthrough, delegate to those functions. */ -	if (server->cursor_mode == DWL_CURSOR_MOVE) { +	if (server->cursor_mode == CurMove) {  		handlemove(server, time);  		return; -	} else if (server->cursor_mode == DWL_CURSOR_RESIZE) { +	} else if (server->cursor_mode == CurResize) {  		handleresize(server, time);  		return;  	} @@ -675,7 +671,7 @@ movemouse(struct dwl_server *server, const Arg *arg)  	if (!view) {  		return;  	} -	moveresize(view, DWL_CURSOR_MOVE, 0); +	moveresize(view, CurMove, 0);  }  void @@ -687,11 +683,11 @@ moverequest(struct wl_listener *listener, void *data)  	 * provied serial against a list of button press serials sent to this  	 * client, to prevent the client from requesting this whenever they want. */  	struct dwl_view *view = wl_container_of(listener, view, request_move); -	moveresize(view, DWL_CURSOR_MOVE, 0); +	moveresize(view, CurMove, 0);  }  void -moveresize(struct dwl_view *view, enum dwl_cursor_mode mode, uint32_t edges) +moveresize(struct dwl_view *view, unsigned int mode, uint32_t edges)  {  	/* This function sets up an interactive move or resize operation, where the  	 * compositor stops propagating pointer events to clients and instead @@ -707,7 +703,7 @@ moveresize(struct dwl_view *view, enum dwl_cursor_mode mode, uint32_t edges)  	server->cursor_mode = mode;  	struct wlr_box geo_box;  	wlr_xdg_surface_get_geometry(view->xdg_surface, &geo_box); -	if (mode == DWL_CURSOR_MOVE) { +	if (mode == CurMove) {  		server->grab_x = server->cursor->x - view->x;  		server->grab_y = server->cursor->y - view->y;  	} else { @@ -861,7 +857,7 @@ resizemouse(struct dwl_server *server, const Arg *arg)  	wlr_cursor_warp_closest(server->cursor, NULL,  			view->x + geo_box.x + geo_box.width,  			view->y + geo_box.y + geo_box.height); -	moveresize(view, DWL_CURSOR_RESIZE, WLR_EDGE_BOTTOM|WLR_EDGE_RIGHT); +	moveresize(view, CurResize, WLR_EDGE_BOTTOM|WLR_EDGE_RIGHT);  }  void @@ -874,7 +870,7 @@ resizerequest(struct wl_listener *listener, void *data)  	 * client, to prevent the client from requesting this whenever they want. */  	struct wlr_xdg_toplevel_resize_event *event = data;  	struct dwl_view *view = wl_container_of(listener, view, request_resize); -	moveresize(view, DWL_CURSOR_RESIZE, event->edges); +	moveresize(view, CurResize, event->edges);  }  void | 
