region: allow ctor from pixman_box32_t

This commit is contained in:
vaxerski 2023-07-20 18:27:28 +02:00
parent d2a8b8c2de
commit a3f6a72a51
2 changed files with 6 additions and 0 deletions

View file

@ -18,6 +18,10 @@ CRegion::CRegion(wlr_box* box) {
pixman_region32_init_rect(&m_rRegion, box->x, box->y, box->width, box->height); pixman_region32_init_rect(&m_rRegion, box->x, box->y, box->width, box->height);
} }
CRegion::CRegion(pixman_box32_t* box) {
pixman_region32_init_rect(&m_rRegion, box->x1, box->y1, box->x2 - box->x1, box->y2 - box->y1);
}
CRegion::CRegion(const CRegion& other) { CRegion::CRegion(const CRegion& other) {
pixman_region32_init(&m_rRegion); pixman_region32_init(&m_rRegion);
pixman_region32_copy(&m_rRegion, const_cast<CRegion*>(&other)->pixman()); pixman_region32_copy(&m_rRegion, const_cast<CRegion*>(&other)->pixman());

View file

@ -15,6 +15,8 @@ class CRegion {
CRegion(double x, double y, double w, double h); CRegion(double x, double y, double w, double h);
/* Create from a wlr_box */ /* Create from a wlr_box */
CRegion(wlr_box* box); CRegion(wlr_box* box);
/* Create from a pixman_box32_t */
CRegion(pixman_box32_t* box);
CRegion(const CRegion&); CRegion(const CRegion&);
CRegion(CRegion&&); CRegion(CRegion&&);