mirror of
https://gitlab.freedesktop.org/wlroots/wlroots.git
synced 2025-11-19 06:59:48 -05:00
Add wlcore/wl_shm (WIP)
This commit is contained in:
parent
f252c5a792
commit
2aafb5dd19
12 changed files with 186 additions and 4 deletions
|
|
@ -38,6 +38,11 @@ void wlr_render_colored_quad(struct wlr_renderer *r,
|
|||
*/
|
||||
void wlr_render_colored_ellipse(struct wlr_renderer *r,
|
||||
const float (*color)[4], const float (*matrix)[16]);
|
||||
/**
|
||||
* Returns a list of pixel formats supported by this renderer.
|
||||
*/
|
||||
const enum wl_shm_format *wlr_renderer_get_formats(
|
||||
struct wlr_renderer *r, size_t *len);
|
||||
/**
|
||||
* Destroys this wlr_renderer. Surfaces must be destroyed separately.
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -20,9 +20,11 @@ struct wlr_renderer_impl {
|
|||
bool (*render_with_matrix)(struct wlr_renderer_state *state,
|
||||
struct wlr_surface *surface, const float (*matrix)[16]);
|
||||
void (*render_quad)(struct wlr_renderer_state *state,
|
||||
const float (*color)[4], const float (*matrix)[16]);
|
||||
const float (*color)[4], const float (*matrix)[16]);
|
||||
void (*render_ellipse)(struct wlr_renderer_state *state,
|
||||
const float (*color)[4], const float (*matrix)[16]);
|
||||
const float (*color)[4], const float (*matrix)[16]);
|
||||
const enum wl_shm_format *(*formats)(
|
||||
struct wlr_renderer_state *state, size_t *len);
|
||||
void (*destroy)(struct wlr_renderer_state *state);
|
||||
};
|
||||
|
||||
|
|
@ -36,7 +38,7 @@ struct wlr_surface_impl {
|
|||
struct wl_shm_buffer *shm);
|
||||
// TODO: egl
|
||||
void (*get_matrix)(struct wlr_surface_state *state,
|
||||
float (*matrix)[16], const float (*projection)[16], int x, int y);
|
||||
float (*matrix)[16], const float (*projection)[16], int x, int y);
|
||||
void (*bind)(struct wlr_surface_state *state);
|
||||
void (*destroy)(struct wlr_surface_state *state);
|
||||
};
|
||||
|
|
|
|||
13
include/wlr/wlcore/wl_shm.h
Normal file
13
include/wlr/wlcore/wl_shm.h
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
#ifndef _WLR_WLCORE_WL_SHM_H
|
||||
#define _WLR_WLCORE_WL_SHM_H
|
||||
#include <wayland-server-core.h>
|
||||
#include <wlr/render.h>
|
||||
|
||||
struct wlr_wl_shm;
|
||||
|
||||
struct wlr_wl_shm *wlr_wl_shm_init(struct wl_display *display);
|
||||
void wlr_wl_shm_add_format(struct wlr_wl_shm *shm, enum wl_shm_format format);
|
||||
void wlr_wl_shm_add_renderer_formats(
|
||||
struct wlr_wl_shm *shm, struct wlr_renderer *renderer);
|
||||
|
||||
#endif
|
||||
Loading…
Add table
Add a link
Reference in a new issue