mirror of
https://github.com/hyprwm/wlroots-hyprland.git
synced 2024-11-22 04:45:58 +01:00
cursor: remove usage of wlr_output_cursor_set_image()
Stop using wlr_output_cursor_set_image() because it's getting dropped. Instead, use wlr_output_cursor_set_buffer(). This mirrors what wlr_output_cursor_set_image() is doing under-the-hood.
This commit is contained in:
parent
0fc532f8de
commit
f8d70fbece
1 changed files with 10 additions and 3 deletions
|
@ -1,5 +1,6 @@
|
||||||
#define _POSIX_C_SOURCE 200809L
|
#define _POSIX_C_SOURCE 200809L
|
||||||
#include <assert.h>
|
#include <assert.h>
|
||||||
|
#include <drm_fourcc.h>
|
||||||
#include <limits.h>
|
#include <limits.h>
|
||||||
#include <math.h>
|
#include <math.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
|
@ -15,6 +16,7 @@
|
||||||
#include <wlr/types/wlr_xcursor_manager.h>
|
#include <wlr/types/wlr_xcursor_manager.h>
|
||||||
#include <wlr/util/box.h>
|
#include <wlr/util/box.h>
|
||||||
#include <wlr/util/log.h>
|
#include <wlr/util/log.h>
|
||||||
|
#include "types/wlr_buffer.h"
|
||||||
#include "types/wlr_output.h"
|
#include "types/wlr_output.h"
|
||||||
|
|
||||||
struct wlr_cursor_device {
|
struct wlr_cursor_device {
|
||||||
|
@ -458,9 +460,14 @@ static int handle_xcursor_timer(void *data) {
|
||||||
static void output_cursor_set_xcursor_image(struct wlr_cursor_output_cursor *output_cursor, size_t i) {
|
static void output_cursor_set_xcursor_image(struct wlr_cursor_output_cursor *output_cursor, size_t i) {
|
||||||
struct wlr_xcursor_image *image = output_cursor->xcursor->images[i];
|
struct wlr_xcursor_image *image = output_cursor->xcursor->images[i];
|
||||||
|
|
||||||
wlr_output_cursor_set_image(output_cursor->output_cursor,
|
struct wlr_readonly_data_buffer *ro_buffer = readonly_data_buffer_create(
|
||||||
image->buffer, 4 * image->width, image->width, image->height,
|
DRM_FORMAT_ARGB8888, 4 * image->width, image->width, image->height, image->buffer);
|
||||||
image->hotspot_x, image->hotspot_y);
|
if (ro_buffer == NULL) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
wlr_output_cursor_set_buffer(output_cursor->output_cursor, &ro_buffer->base, image->hotspot_x, image->hotspot_y);
|
||||||
|
wlr_buffer_drop(&ro_buffer->base);
|
||||||
|
|
||||||
output_cursor->xcursor_index = i;
|
output_cursor->xcursor_index = i;
|
||||||
|
|
||||||
if (output_cursor->xcursor->image_count == 1 || image->delay == 0) {
|
if (output_cursor->xcursor->image_count == 1 || image->delay == 0) {
|
||||||
|
|
Loading…
Reference in a new issue