summaryrefslogtreecommitdiffstats
path: root/xrdp/xrdp_region.c
diff options
context:
space:
mode:
Diffstat (limited to 'xrdp/xrdp_region.c')
-rw-r--r--xrdp/xrdp_region.c20
1 files changed, 20 insertions, 0 deletions
diff --git a/xrdp/xrdp_region.c b/xrdp/xrdp_region.c
index f943e14f..4da30f9d 100644
--- a/xrdp/xrdp_region.c
+++ b/xrdp/xrdp_region.c
@@ -94,6 +94,26 @@ xrdp_region_subtract_rect(struct xrdp_region *self, struct xrdp_rect *rect)
/*****************************************************************************/
/* returns error */
int APP_CC
+xrdp_region_intersect_rect(struct xrdp_region* self, struct xrdp_rect* rect)
+{
+ struct pixman_region16 lreg;
+
+ pixman_region_init_rect(&lreg, rect->left, rect->top,
+ rect->right - rect->left,
+ rect->bottom - rect->top);
+ if (!pixman_region_intersect(self->reg, self->reg, &lreg))
+ {
+ pixman_region_fini(&lreg);
+ return 1;
+ }
+ pixman_region_fini(&lreg);
+ return 0;
+}
+
+
+/*****************************************************************************/
+/* returns error */
+int APP_CC
xrdp_region_get_rect(struct xrdp_region *self, int index,
struct xrdp_rect *rect)
{