Viewporter implementaion (#585)

Implementation of the `wp_viewporter` core protocol and some bugfixes
This commit is contained in:
Vaxry 2022-08-28 10:14:43 +02:00 committed by GitHub
parent 8b5c64c8fd
commit 52c0ba544c
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
7 changed files with 93 additions and 54 deletions

View file

@ -139,6 +139,9 @@ void Events::listener_newSubsurfaceNode(void* owner, void* data) {
PNEWSUBSURFACE->pWindowOwner = pNode->pWindowOwner;
if (PSUBSURFACE->mapped)
listener_mapSubsurface(PNEWSUBSURFACE, nullptr);
wlr_subsurface* existingWlrSubsurface;
wl_list_for_each(existingWlrSubsurface, &PSUBSURFACE->surface->current.subsurfaces_below, current.link) {
listener_newSubsurfaceNode(pNode, existingWlrSubsurface);

View file

@ -35,6 +35,10 @@ class Vector2D {
return a.x != x || a.y != y;
}
Vector2D operator*(const Vector2D& a) const {
return Vector2D(this->x * a.x, this->y * a.y);
}
Vector2D clamp(const Vector2D& min, const Vector2D& max = Vector2D());
Vector2D floor();

View file

@ -73,6 +73,9 @@ struct SRenderData {
// only for windows, not popups
bool squishOversized = true;
// for calculating UV
CWindow* pWindow = nullptr;
};
struct SExtensionFindingData {