mirror of
https://github.com/hyprwm/wlroots-hyprland.git
synced 2024-12-28 12:29:48 +01:00
06a13203dd
In addition to `button_count`, we keep track of the current buttons pressed just as in `wlr_keyboard`. Add `set_add` and `set_remove` to assist with this. These functions can only be used with values greater than 0 (such as the button/key masks for keyboards and pointers). Partially addresses: - https://github.com/swaywm/wlroots/issues/1716 - https://github.com/swaywm/wlroots/issues/1593
24 lines
607 B
C
24 lines
607 B
C
#ifndef UTIL_ARRAY_H
|
|
#define UTIL_ARRAY_H
|
|
|
|
#include <stdint.h>
|
|
#include <stdlib.h>
|
|
#include <stdbool.h>
|
|
|
|
size_t push_zeroes_to_end(uint32_t arr[], size_t n);
|
|
|
|
/**
|
|
* Add `target` to `values` if it doesn't exist
|
|
* "set"s should only be modified with set_* functions
|
|
* Values MUST be greater than 0
|
|
*/
|
|
bool set_add(uint32_t values[], size_t *len, size_t cap, uint32_t target);
|
|
|
|
/**
|
|
* Remove `target` from `values` if it exists
|
|
* "set"s should only be modified with set_* functions
|
|
* Values MUST be greater than 0
|
|
*/
|
|
bool set_remove(uint32_t values[], size_t *len, size_t cap, uint32_t target);
|
|
|
|
#endif
|