mirror of
https://github.com/hyprwm/wlroots-hyprland.git
synced 2024-11-22 21:05:58 +01:00
surface: make wlr_subsurface_create private
Same as [1], but for wlr_subsurface. [1]: https://github.com/swaywm/wlroots/pull/2814
This commit is contained in:
parent
ddc98bf593
commit
7cbcc65ad0
4 changed files with 10 additions and 26 deletions
|
@ -11,4 +11,10 @@ struct wlr_renderer;
|
||||||
struct wlr_surface *surface_create(struct wl_client *client,
|
struct wlr_surface *surface_create(struct wl_client *client,
|
||||||
uint32_t version, uint32_t id, struct wlr_renderer *renderer);
|
uint32_t version, uint32_t id, struct wlr_renderer *renderer);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Create a new subsurface resource with the provided new ID.
|
||||||
|
*/
|
||||||
|
struct wlr_subsurface *subsurface_create(struct wlr_surface *surface,
|
||||||
|
struct wlr_surface *parent, uint32_t version, uint32_t id);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -213,14 +213,6 @@ bool wlr_surface_has_buffer(struct wlr_surface *surface);
|
||||||
*/
|
*/
|
||||||
struct wlr_texture *wlr_surface_get_texture(struct wlr_surface *surface);
|
struct wlr_texture *wlr_surface_get_texture(struct wlr_surface *surface);
|
||||||
|
|
||||||
/**
|
|
||||||
* Create a new subsurface resource with the provided new ID. If `resource_list`
|
|
||||||
* is non-NULL, adds the subsurface's resource to the list.
|
|
||||||
*/
|
|
||||||
struct wlr_subsurface *wlr_subsurface_create(struct wlr_surface *surface,
|
|
||||||
struct wlr_surface *parent, uint32_t version, uint32_t id,
|
|
||||||
struct wl_list *resource_list);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get the root of the subsurface tree for this surface. Can return NULL if
|
* Get the root of the subsurface tree for this surface. Can return NULL if
|
||||||
* a surface in the tree has been destroyed.
|
* a surface in the tree has been destroyed.
|
||||||
|
|
|
@ -67,8 +67,7 @@ static void subcompositor_handle_get_subsurface(struct wl_client *client,
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
wlr_subsurface_create(surface, parent, wl_resource_get_version(resource),
|
subsurface_create(surface, parent, wl_resource_get_version(resource), id);
|
||||||
id, NULL);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static const struct wl_subcompositor_interface subcompositor_impl = {
|
static const struct wl_subcompositor_interface subcompositor_impl = {
|
||||||
|
|
|
@ -15,7 +15,6 @@
|
||||||
#include "util/time.h"
|
#include "util/time.h"
|
||||||
|
|
||||||
#define CALLBACK_VERSION 1
|
#define CALLBACK_VERSION 1
|
||||||
#define SUBSURFACE_VERSION 1
|
|
||||||
|
|
||||||
static int min(int fst, int snd) {
|
static int min(int fst, int snd) {
|
||||||
if (fst < snd) {
|
if (fst < snd) {
|
||||||
|
@ -860,7 +859,6 @@ static struct wlr_subsurface *subsurface_from_resource(
|
||||||
|
|
||||||
static void subsurface_resource_destroy(struct wl_resource *resource) {
|
static void subsurface_resource_destroy(struct wl_resource *resource) {
|
||||||
struct wlr_subsurface *subsurface = subsurface_from_resource(resource);
|
struct wlr_subsurface *subsurface = subsurface_from_resource(resource);
|
||||||
wl_list_remove(wl_resource_get_link(resource));
|
|
||||||
subsurface_destroy(subsurface);
|
subsurface_destroy(subsurface);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1133,11 +1131,8 @@ static void subsurface_handle_surface_destroy(struct wl_listener *listener,
|
||||||
subsurface_destroy(subsurface);
|
subsurface_destroy(subsurface);
|
||||||
}
|
}
|
||||||
|
|
||||||
struct wlr_subsurface *wlr_subsurface_create(struct wlr_surface *surface,
|
struct wlr_subsurface *subsurface_create(struct wlr_surface *surface,
|
||||||
struct wlr_surface *parent, uint32_t version, uint32_t id,
|
struct wlr_surface *parent, uint32_t version, uint32_t id) {
|
||||||
struct wl_list *resource_list) {
|
|
||||||
assert(version <= SUBSURFACE_VERSION);
|
|
||||||
|
|
||||||
struct wl_client *client = wl_resource_get_client(surface->resource);
|
struct wl_client *client = wl_resource_get_client(surface->resource);
|
||||||
|
|
||||||
struct wlr_subsurface *subsurface =
|
struct wlr_subsurface *subsurface =
|
||||||
|
@ -1156,8 +1151,7 @@ struct wlr_subsurface *wlr_subsurface_create(struct wlr_surface *surface,
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
wl_resource_set_implementation(subsurface->resource,
|
wl_resource_set_implementation(subsurface->resource,
|
||||||
&subsurface_implementation, subsurface,
|
&subsurface_implementation, subsurface, subsurface_resource_destroy);
|
||||||
subsurface_resource_destroy);
|
|
||||||
|
|
||||||
wl_signal_init(&subsurface->events.destroy);
|
wl_signal_init(&subsurface->events.destroy);
|
||||||
wl_signal_init(&subsurface->events.map);
|
wl_signal_init(&subsurface->events.map);
|
||||||
|
@ -1176,13 +1170,6 @@ struct wlr_subsurface *wlr_subsurface_create(struct wlr_surface *surface,
|
||||||
|
|
||||||
surface->role_data = subsurface;
|
surface->role_data = subsurface;
|
||||||
|
|
||||||
struct wl_list *resource_link = wl_resource_get_link(subsurface->resource);
|
|
||||||
if (resource_list != NULL) {
|
|
||||||
wl_list_insert(resource_list, resource_link);
|
|
||||||
} else {
|
|
||||||
wl_list_init(resource_link);
|
|
||||||
}
|
|
||||||
|
|
||||||
wlr_signal_emit_safe(&parent->events.new_subsurface, subsurface);
|
wlr_signal_emit_safe(&parent->events.new_subsurface, subsurface);
|
||||||
|
|
||||||
return subsurface;
|
return subsurface;
|
||||||
|
|
Loading…
Reference in a new issue