diff options
author | Drew DeVault <sir@cmpwn.com> | 2017-08-15 08:31:30 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-08-15 08:31:30 -0400 |
commit | 09faf4ff6430bd93fec4269b35c7a87d14e9e8b3 (patch) | |
tree | 56847c7d36a6e361f6a84a56063f9a4cb1819703 /include/wlr | |
parent | d2e796edb7256bb2e2b694a13c86e8bee7056309 (diff) | |
parent | d5f98dbf61e3627f46c499a2ecac0e581241299b (diff) |
Merge pull request #83 from acrisci/feature/buffer-damage2
Buffer damage and scaling (attempt 2)
Diffstat (limited to 'include/wlr')
-rw-r--r-- | include/wlr/render/interface.h | 4 | ||||
-rw-r--r-- | include/wlr/types/wlr_surface.h | 6 |
2 files changed, 9 insertions, 1 deletions
diff --git a/include/wlr/render/interface.h b/include/wlr/render/interface.h index 59ece8b1..f98c3bc2 100644 --- a/include/wlr/render/interface.h +++ b/include/wlr/render/interface.h @@ -46,6 +46,8 @@ struct wlr_texture_impl { struct wl_resource *drm_buf); void (*get_matrix)(struct wlr_texture *state, float (*matrix)[16], const float (*projection)[16], int x, int y); + void (*get_buffer_size)(struct wlr_texture *texture, + struct wl_resource *resource, int *width, int *height); void (*bind)(struct wlr_texture *texture); void (*destroy)(struct wlr_texture *texture); }; @@ -53,5 +55,7 @@ struct wlr_texture_impl { void wlr_texture_init(struct wlr_texture *texture, struct wlr_texture_impl *impl); void wlr_texture_bind(struct wlr_texture *texture); +void wlr_texture_get_buffer_size(struct wlr_texture *texture, + struct wl_resource *resource, int *width, int *height); #endif diff --git a/include/wlr/types/wlr_surface.h b/include/wlr/types/wlr_surface.h index 60d8b2f6..811097ad 100644 --- a/include/wlr/types/wlr_surface.h +++ b/include/wlr/types/wlr_surface.h @@ -23,8 +23,10 @@ struct wlr_surface_state { int32_t sx, sy; pixman_region32_t surface_damage, buffer_damage; pixman_region32_t opaque, input; - uint32_t transform; + enum wl_output_transform transform; int32_t scale; + int width, height; + int buffer_width, buffer_height; }; struct wlr_surface { @@ -53,5 +55,7 @@ struct wlr_renderer; struct wlr_surface *wlr_surface_create(struct wl_resource *res, struct wlr_renderer *renderer); void wlr_surface_flush_damage(struct wlr_surface *surface); +void wlr_surface_get_matrix(struct wlr_surface *surface, float (*matrix)[16], + const float (*projection)[16], int x, int y); #endif |