Use proper enum argument type for desktop_surface_and_view_at

This commit is contained in:
Consolatis 2022-01-29 17:52:16 +01:00 committed by Johan Malm
parent 7ecae4afce
commit 413811f3a2
4 changed files with 14 additions and 8 deletions

View file

@ -43,6 +43,7 @@
#include <xkbcommon/xkbcommon.h> #include <xkbcommon/xkbcommon.h>
#include "config/keybind.h" #include "config/keybind.h"
#include "config/rcxml.h" #include "config/rcxml.h"
#include "ssd.h"
#define XCURSOR_DEFAULT "left_ptr" #define XCURSOR_DEFAULT "left_ptr"
#define XCURSOR_SIZE 24 #define XCURSOR_SIZE 24
@ -448,7 +449,7 @@ bool isfocusable(struct view *view);
*/ */
struct view *desktop_surface_and_view_at(struct server *server, double lx, struct view *desktop_surface_and_view_at(struct server *server, double lx,
double ly, struct wlr_surface **surface, double *sx, double *sy, double ly, struct wlr_surface **surface, double *sx, double *sy,
int *view_area); enum ssd_part_type *view_area);
struct view *desktop_view_at_cursor(struct server *server); struct view *desktop_view_at_cursor(struct server *server);

View file

@ -2,8 +2,6 @@
#ifndef __LABWC_SSD_H #ifndef __LABWC_SSD_H
#define __LABWC_SSD_H #define __LABWC_SSD_H
#include "labwc.h"
/* /*
* Sequence these according to the order they should be processed for * Sequence these according to the order they should be processed for
* press and hover events. Bear in mind that some of their respective * press and hover events. Bear in mind that some of their respective
@ -31,6 +29,13 @@ enum ssd_part_type {
LAB_SSD_END_MARKER LAB_SSD_END_MARKER
}; };
/*
* Defer including labwc.h because it is using enum ssd_part_type.
* This is an issue for headers like mousebind.h which only includes
* ssd.h but does not include labwc.h.
*/
#include "labwc.h"
struct ssd_part { struct ssd_part {
struct wlr_box box; struct wlr_box box;
enum ssd_part_type type; enum ssd_part_type type;

View file

@ -17,7 +17,7 @@ cursor_rebase(struct seat *seat, uint32_t time_msec)
{ {
double sx, sy; double sx, sy;
struct wlr_surface *surface; struct wlr_surface *surface;
int view_area = LAB_SSD_NONE; enum ssd_part_type view_area = LAB_SSD_NONE;
desktop_surface_and_view_at(seat->server, seat->cursor->x, desktop_surface_and_view_at(seat->server, seat->cursor->x,
seat->cursor->y, &surface, &sx, &sy, &view_area); seat->cursor->y, &surface, &sx, &sy, &view_area);
@ -201,7 +201,7 @@ process_cursor_motion(struct server *server, uint32_t time)
double sx, sy; double sx, sy;
struct wlr_seat *wlr_seat = server->seat.seat; struct wlr_seat *wlr_seat = server->seat.seat;
struct wlr_surface *surface = NULL; struct wlr_surface *surface = NULL;
int view_area = LAB_SSD_NONE; enum ssd_part_type view_area = LAB_SSD_NONE;
struct view *view = desktop_surface_and_view_at(server, struct view *view = desktop_surface_and_view_at(server,
server->seat.cursor->x, server->seat.cursor->y, &surface, server->seat.cursor->x, server->seat.cursor->y, &surface,
&sx, &sy, &view_area); &sx, &sy, &view_area);
@ -583,7 +583,7 @@ cursor_button(struct wl_listener *listener, void *data)
double sx, sy; double sx, sy;
struct wlr_surface *surface; struct wlr_surface *surface;
int view_area = LAB_SSD_NONE; enum ssd_part_type view_area = LAB_SSD_NONE;
uint32_t resize_edges; uint32_t resize_edges;
/* bindings to the Frame context swallow mouse events if activated */ /* bindings to the Frame context swallow mouse events if activated */

View file

@ -343,7 +343,7 @@ layer_surface_popup_at(struct output *output, struct wl_list *layer,
struct view * struct view *
desktop_surface_and_view_at(struct server *server, double lx, double ly, desktop_surface_and_view_at(struct server *server, double lx, double ly,
struct wlr_surface **surface, double *sx, double *sy, struct wlr_surface **surface, double *sx, double *sy,
int *view_area) enum ssd_part_type *view_area)
{ {
struct wlr_output *wlr_output = wlr_output_layout_output_at( struct wlr_output *wlr_output = wlr_output_layout_output_at(
server->output_layout, lx, ly); server->output_layout, lx, ly);
@ -435,7 +435,7 @@ desktop_view_at_cursor(struct server *server)
{ {
double sx, sy; double sx, sy;
struct wlr_surface *surface; struct wlr_surface *surface;
int view_area = LAB_SSD_NONE; enum ssd_part_type view_area = LAB_SSD_NONE;
return desktop_surface_and_view_at(server, return desktop_surface_and_view_at(server,
server->seat.cursor->x, server->seat.cursor->y, server->seat.cursor->x, server->seat.cursor->y,