mirror of
https://gitlab.freedesktop.org/wlroots/wlroots.git
synced 2025-12-15 08:56:26 -05:00
Refactor away wlr_renderer_state
This commit is contained in:
parent
0de5eed048
commit
de6f32c84e
4 changed files with 50 additions and 46 deletions
|
|
@ -2,52 +2,50 @@
|
|||
#include <stdbool.h>
|
||||
#include <wlr/render/interface.h>
|
||||
|
||||
struct wlr_renderer *wlr_renderer_init(struct wlr_renderer_state *state,
|
||||
void wlr_renderer_init(struct wlr_renderer *renderer,
|
||||
struct wlr_renderer_impl *impl) {
|
||||
struct wlr_renderer *r = calloc(sizeof(struct wlr_renderer), 1);
|
||||
r->state = state;
|
||||
r->impl = impl;
|
||||
return r;
|
||||
renderer->impl = impl;
|
||||
}
|
||||
|
||||
void wlr_renderer_destroy(struct wlr_renderer *r) {
|
||||
r->impl->destroy(r->state);
|
||||
free(r);
|
||||
if (r->impl->destroy) {
|
||||
r->impl->destroy(r);
|
||||
}
|
||||
}
|
||||
|
||||
void wlr_renderer_begin(struct wlr_renderer *r, struct wlr_output *o) {
|
||||
r->impl->begin(r->state, o);
|
||||
r->impl->begin(r, o);
|
||||
}
|
||||
|
||||
void wlr_renderer_end(struct wlr_renderer *r) {
|
||||
r->impl->end(r->state);
|
||||
r->impl->end(r);
|
||||
}
|
||||
|
||||
struct wlr_texture *wlr_render_texture_init(struct wlr_renderer *r) {
|
||||
return r->impl->texture_init(r->state);
|
||||
return r->impl->texture_init(r);
|
||||
}
|
||||
|
||||
bool wlr_render_with_matrix(struct wlr_renderer *r,
|
||||
struct wlr_texture *texture, const float (*matrix)[16]) {
|
||||
return r->impl->render_with_matrix(r->state, texture, matrix);
|
||||
return r->impl->render_with_matrix(r, texture, matrix);
|
||||
}
|
||||
|
||||
void wlr_render_colored_quad(struct wlr_renderer *r,
|
||||
const float (*color)[4], const float (*matrix)[16]) {
|
||||
r->impl->render_quad(r->state, color, matrix);
|
||||
r->impl->render_quad(r, color, matrix);
|
||||
}
|
||||
|
||||
void wlr_render_colored_ellipse(struct wlr_renderer *r,
|
||||
const float (*color)[4], const float (*matrix)[16]) {
|
||||
r->impl->render_ellipse(r->state, color, matrix);
|
||||
r->impl->render_ellipse(r, color, matrix);
|
||||
}
|
||||
|
||||
const enum wl_shm_format *wlr_renderer_get_formats(
|
||||
struct wlr_renderer *r, size_t *len) {
|
||||
return r->impl->formats(r->state, len);
|
||||
return r->impl->formats(r, len);
|
||||
}
|
||||
|
||||
bool wlr_renderer_buffer_is_drm(struct wlr_renderer *r,
|
||||
struct wl_resource *buffer) {
|
||||
return r->impl->buffer_is_drm(r->state, buffer);
|
||||
return r->impl->buffer_is_drm(r, buffer);
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue