surface: make wlr_surface_create private

This is not meant to be exposed in the public API, just like
wlr_region_create [1].

[1]: https://github.com/swaywm/wlroots/pull/2662
This commit is contained in:
Simon Ser 2021-03-30 10:17:15 +02:00
parent e76583f1ad
commit c430cd7d53
4 changed files with 19 additions and 12 deletions

View File

@ -0,0 +1,15 @@
#ifndef TYPES_WLR_SURFACE_H
#define TYPES_WLR_SURFACE_H
#include <wlr/types/wlr_surface.h>
struct wlr_renderer;
/**
* Create a new surface resource with the provided new ID. If `resource_list`
* is non-NULL, adds the surface's resource to the list.
*/
struct wlr_surface *surface_create(struct wl_client *client,
uint32_t version, uint32_t id, struct wlr_renderer *renderer);
#endif

View File

@ -187,16 +187,6 @@ struct wlr_subsurface {
typedef void (*wlr_surface_iterator_func_t)(struct wlr_surface *surface,
int sx, int sy, void *data);
struct wlr_renderer;
/**
* Create a new surface resource with the provided new ID. If `resource_list`
* is non-NULL, adds the surface's resource to the list.
*/
struct wlr_surface *wlr_surface_create(struct wl_client *client,
uint32_t version, uint32_t id, struct wlr_renderer *renderer,
struct wl_list *resource_list);
/**
* Set the lifetime role for this surface. Returns 0 on success or -1 if the
* role cannot be set.

View File

@ -5,6 +5,7 @@
#include <wlr/types/wlr_surface.h>
#include <wlr/util/log.h>
#include "types/wlr_region.h"
#include "types/wlr_surface.h"
#include "util/signal.h"
#define COMPOSITOR_VERSION 4
@ -119,7 +120,7 @@ static void compositor_create_surface(struct wl_client *client,
struct wl_resource *resource, uint32_t id) {
struct wlr_compositor *compositor = compositor_from_resource(resource);
struct wlr_surface *surface = wlr_surface_create(client,
struct wlr_surface *surface = surface_create(client,
wl_resource_get_version(resource), id, compositor->renderer, NULL);
if (surface == NULL) {
wl_client_post_no_memory(client);

View File

@ -10,6 +10,7 @@
#include <wlr/types/wlr_output.h>
#include <wlr/util/log.h>
#include <wlr/util/region.h>
#include "types/wlr_surface.h"
#include "util/signal.h"
#include "util/time.h"
@ -702,7 +703,7 @@ static void surface_handle_renderer_destroy(struct wl_listener *listener,
wl_resource_destroy(surface->resource);
}
struct wlr_surface *wlr_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,
struct wl_list *resource_list) {
assert(version <= SURFACE_VERSION);