Lines Matching refs:region
119 pixman_break (region_type_t *region);
218 #define RECTALLOC_BAIL(region, n, bail) \ argument
221 if (!(region)->data || \
222 (((region)->data->numRects + (n)) > (region)->data->size)) \
224 if (!pixman_rect_alloc (region, n)) \
229 #define RECTALLOC(region, n) \ argument
232 if (!(region)->data || \
233 (((region)->data->numRects + (n)) > (region)->data->size)) \
235 if (!pixman_rect_alloc (region, n)) { \
252 #define NEWRECT(region, next_rect, nx1, ny1, nx2, ny2) \ argument
255 if (!(region)->data || \
256 ((region)->data->numRects == (region)->data->size)) \
258 if (!pixman_rect_alloc (region, 1)) \
260 next_rect = PIXREGION_TOP (region); \
263 region->data->numRects++; \
264 critical_if_fail (region->data->numRects <= region->data->size); \
368 PREFIX (_init) (region_type_t *region) in PREFIX()
370 region->extents = *pixman_region_empty_box; in PREFIX()
371 region->data = pixman_region_empty_data; in PREFIX()
375 PREFIX (_init_rect) (region_type_t * region, in PREFIX()
381 region->extents.x1 = x; in PREFIX()
382 region->extents.y1 = y; in PREFIX()
383 region->extents.x2 = x + width; in PREFIX()
384 region->extents.y2 = y + height; in PREFIX()
386 if (!GOOD_RECT (®ion->extents)) in PREFIX()
388 if (BAD_RECT (®ion->extents)) in PREFIX()
390 PREFIX (_init) (region); in PREFIX()
394 region->data = NULL; in PREFIX()
398 PREFIX (_init_with_extents) (region_type_t *region, box_type_t *extents) in PREFIX()
404 PREFIX (_init) (region); in PREFIX()
407 region->extents = *extents; in PREFIX()
409 region->data = NULL; in PREFIX()
413 PREFIX (_fini) (region_type_t *region) in PREFIX()
415 GOOD (region); in PREFIX()
416 FREE_DATA (region); in PREFIX()
420 PREFIX (_n_rects) (region_type_t *region) in PREFIX()
422 return PIXREGION_NUMRECTS (region); in PREFIX()
426 PREFIX (_rectangles) (region_type_t *region, in PREFIX()
430 *n_rects = PIXREGION_NUMRECTS (region); in PREFIX()
432 return PIXREGION_RECTS (region); in PREFIX()
436 pixman_break (region_type_t *region) in pixman_break() argument
438 FREE_DATA (region); in pixman_break()
440 region->extents = *pixman_region_empty_box; in pixman_break()
441 region->data = pixman_broken_data; in pixman_break()
447 pixman_rect_alloc (region_type_t * region, in pixman_rect_alloc() argument
452 if (!region->data) in pixman_rect_alloc()
455 region->data = alloc_data (n); in pixman_rect_alloc()
457 if (!region->data) in pixman_rect_alloc()
458 return pixman_break (region); in pixman_rect_alloc()
460 region->data->numRects = 1; in pixman_rect_alloc()
461 *PIXREGION_BOXPTR (region) = region->extents; in pixman_rect_alloc()
463 else if (!region->data->size) in pixman_rect_alloc()
465 region->data = alloc_data (n); in pixman_rect_alloc()
467 if (!region->data) in pixman_rect_alloc()
468 return pixman_break (region); in pixman_rect_alloc()
470 region->data->numRects = 0; in pixman_rect_alloc()
478 n = region->data->numRects; in pixman_rect_alloc()
483 n += region->data->numRects; in pixman_rect_alloc()
493 realloc (region->data, PIXREGION_SZOF (n)); in pixman_rect_alloc()
497 return pixman_break (region); in pixman_rect_alloc()
499 region->data = data; in pixman_rect_alloc()
502 region->data->size = n; in pixman_rect_alloc()
568 pixman_coalesce (region_type_t * region, /* Region to coalesce */ in pixman_coalesce() argument
581 critical_if_fail (numRects == region->data->numRects - cur_start); in pixman_coalesce()
589 prev_box = PIXREGION_BOX (region, prev_start); in pixman_coalesce()
590 cur_box = PIXREGION_BOX (region, cur_start); in pixman_coalesce()
617 region->data->numRects -= numRects; in pixman_coalesce()
658 pixman_region_append_non_o (region_type_t * region, in pixman_region_append_non_o() argument
673 RECTALLOC (region, new_rects); in pixman_region_append_non_o()
674 next_rect = PIXREGION_TOP (region); in pixman_region_append_non_o()
675 region->data->numRects += new_rects; in pixman_region_append_non_o()
739 typedef pixman_bool_t (*overlap_proc_ptr) (region_type_t *region,
1047 pixman_set_extents (region_type_t *region) in pixman_set_extents() argument
1051 if (!region->data) in pixman_set_extents()
1054 if (!region->data->size) in pixman_set_extents()
1056 region->extents.x2 = region->extents.x1; in pixman_set_extents()
1057 region->extents.y2 = region->extents.y1; in pixman_set_extents()
1061 box = PIXREGION_BOXPTR (region); in pixman_set_extents()
1062 box_end = PIXREGION_END (region); in pixman_set_extents()
1071 region->extents.x1 = box->x1; in pixman_set_extents()
1072 region->extents.y1 = box->y1; in pixman_set_extents()
1073 region->extents.x2 = box_end->x2; in pixman_set_extents()
1074 region->extents.y2 = box_end->y2; in pixman_set_extents()
1076 critical_if_fail (region->extents.y1 < region->extents.y2); in pixman_set_extents()
1080 if (box->x1 < region->extents.x1) in pixman_set_extents()
1081 region->extents.x1 = box->x1; in pixman_set_extents()
1082 if (box->x2 > region->extents.x2) in pixman_set_extents()
1083 region->extents.x2 = box->x2; in pixman_set_extents()
1087 critical_if_fail (region->extents.x1 < region->extents.x2); in pixman_set_extents()
1108 pixman_region_intersect_o (region_type_t *region, in pixman_region_intersect_o() argument
1120 next_rect = PIXREGION_TOP (region); in pixman_region_intersect_o()
1135 NEWRECT (region, next_rect, x1, y1, x2, y2); in pixman_region_intersect_o()
1233 NEWRECT (region, next_rect, x1, y1, x2, y2); \
1260 pixman_region_union_o (region_type_t *region, in pixman_region_union_o() argument
1275 next_rect = PIXREGION_TOP (region); in pixman_region_union_o()
1317 NEWRECT (region, next_rect, x1, y1, x2, y2); in pixman_region_union_o()
1329 region_type_t region; in PREFIX() local
1331 region.data = NULL; in PREFIX()
1332 region.extents.x1 = x; in PREFIX()
1333 region.extents.y1 = y; in PREFIX()
1334 region.extents.x2 = x + width; in PREFIX()
1335 region.extents.y2 = y + height; in PREFIX()
1337 return PREFIX(_intersect) (dest, source, ®ion); in PREFIX()
1351 region_type_t region; in PREFIX() local
1353 region.extents.x1 = x; in PREFIX()
1354 region.extents.y1 = y; in PREFIX()
1355 region.extents.x2 = x + width; in PREFIX()
1356 region.extents.y2 = y + height; in PREFIX()
1358 if (!GOOD_RECT (®ion.extents)) in PREFIX()
1360 if (BAD_RECT (®ion.extents)) in PREFIX()
1365 region.data = NULL; in PREFIX()
1367 return PREFIX (_union) (dest, source, ®ion); in PREFIX()
1831 pixman_region_subtract_o (region_type_t * region, in pixman_region_subtract_o() argument
1847 next_rect = PIXREGION_TOP (region); in pixman_region_subtract_o()
1890 NEWRECT (region, next_rect, x1, y1, r2->x1, y2); in pixman_region_subtract_o()
1916 NEWRECT (region, next_rect, x1, y1, r1->x2, y2); in pixman_region_subtract_o()
1933 NEWRECT (region, next_rect, x1, y1, r1->x2, y2); in pixman_region_subtract_o()
2116 PREFIX (_contains_rectangle) (region_type_t * region, in PREFIX()
2125 GOOD (region); in PREFIX()
2127 numRects = PIXREGION_NUMRECTS (region); in PREFIX()
2130 if (!numRects || !EXTENTCHECK (®ion->extents, prect)) in PREFIX()
2136 if (SUBSUMES (®ion->extents, prect)) in PREFIX()
2150 for (pbox = PIXREGION_BOXPTR (region), pbox_end = pbox + numRects; in PREFIX()
2225 PREFIX (_translate) (region_type_t *region, int x, int y) in PREFIX()
2231 GOOD (region); in PREFIX()
2232 region->extents.x1 = x1 = region->extents.x1 + x; in PREFIX()
2233 region->extents.y1 = y1 = region->extents.y1 + y; in PREFIX()
2234 region->extents.x2 = x2 = region->extents.x2 + x; in PREFIX()
2235 region->extents.y2 = y2 = region->extents.y2 + y; in PREFIX()
2239 if (region->data && (nbox = region->data->numRects)) in PREFIX()
2241 for (pbox = PIXREGION_BOXPTR (region); nbox--; pbox++) in PREFIX()
2254 region->extents.x2 = region->extents.x1; in PREFIX()
2255 region->extents.y2 = region->extents.y1; in PREFIX()
2256 FREE_DATA (region); in PREFIX()
2257 region->data = pixman_region_empty_data; in PREFIX()
2262 region->extents.x1 = PIXMAN_REGION_MIN; in PREFIX()
2264 region->extents.x2 = PIXMAN_REGION_MAX; in PREFIX()
2267 region->extents.y1 = PIXMAN_REGION_MIN; in PREFIX()
2269 region->extents.y2 = PIXMAN_REGION_MAX; in PREFIX()
2271 if (region->data && (nbox = region->data->numRects)) in PREFIX()
2275 for (pbox_out = pbox = PIXREGION_BOXPTR (region); nbox--; pbox++) in PREFIX()
2285 region->data->numRects--; in PREFIX()
2304 if (region->data->numRects == 1) in PREFIX()
2306 region->extents = *PIXREGION_BOXPTR (region); in PREFIX()
2307 FREE_DATA (region); in PREFIX()
2308 region->data = (region_data_type_t *)NULL; in PREFIX()
2312 pixman_set_extents (region); in PREFIX()
2317 GOOD (region); in PREFIX()
2321 PREFIX (_reset) (region_type_t *region, box_type_t *box) in PREFIX()
2323 GOOD (region); in PREFIX()
2327 region->extents = *box; in PREFIX()
2329 FREE_DATA (region); in PREFIX()
2331 region->data = NULL; in PREFIX()
2335 PREFIX (_clear) (region_type_t *region) in PREFIX()
2337 GOOD (region); in PREFIX()
2338 FREE_DATA (region); in PREFIX()
2340 region->extents = *pixman_region_empty_box; in PREFIX()
2341 region->data = pixman_region_empty_data; in PREFIX()
2346 PREFIX (_contains_point) (region_type_t * region, in PREFIX()
2353 GOOD (region); in PREFIX()
2354 numRects = PIXREGION_NUMRECTS (region); in PREFIX()
2356 if (!numRects || !INBOX (®ion->extents, x, y)) in PREFIX()
2362 *box = region->extents; in PREFIX()
2367 pbox = PIXREGION_BOXPTR (region); in PREFIX()
2390 PREFIX (_not_empty) (region_type_t * region) in PREFIX()
2392 GOOD (region); in PREFIX()
2394 return(!PIXREGION_NIL (region)); in PREFIX()
2398 PREFIX (_extents) (region_type_t * region) in PREFIX()
2400 GOOD (region); in PREFIX()
2402 return(®ion->extents); in PREFIX()
2474 PREFIX (_init_rects) (region_type_t *region, in PREFIX()
2485 PREFIX (_init_rect) (region, in PREFIX()
2493 PREFIX (_init) (region); in PREFIX()
2503 if (!pixman_rect_alloc (region, count)) in PREFIX()
2506 rects = PIXREGION_RECTS (region); in PREFIX()
2510 region->data->numRects = count; in PREFIX()
2525 region->data->numRects -= displacement; in PREFIX()
2530 if (region->data->numRects == 0) in PREFIX()
2532 FREE_DATA (region); in PREFIX()
2533 PREFIX (_init) (region); in PREFIX()
2538 if (region->data->numRects == 1) in PREFIX()
2540 region->extents = rects[0]; in PREFIX()
2542 FREE_DATA (region); in PREFIX()
2543 region->data = NULL; in PREFIX()
2545 GOOD (region); in PREFIX()
2551 region->extents.x1 = region->extents.x2 = 0; in PREFIX()
2553 return validate (region); in PREFIX()
2599 PREFIX (_init_from_image) (region_type_t *region, in PREFIX()
2612 PREFIX(_init) (region); in PREFIX()
2614 critical_if_fail (region->data); in PREFIX()
2624 first_rect = PIXREGION_BOXPTR(region); in PREFIX()
2627 region->extents.x1 = width - 1; in PREFIX()
2628 region->extents.x2 = 0; in PREFIX()
2681 rects = bitmap_addrect (region, rects, &first_rect, in PREFIX()
2715 rects = bitmap_addrect(region, rects, &first_rect, in PREFIX()
2729 rects = bitmap_addrect(region, rects, &first_rect, in PREFIX()
2768 region->data->numRects -= crects; in PREFIX()
2775 if (!region->data->numRects) in PREFIX()
2777 region->extents.x1 = region->extents.x2 = 0; in PREFIX()
2781 region->extents.y1 = PIXREGION_BOXPTR(region)->y1; in PREFIX()
2782 region->extents.y2 = PIXREGION_END(region)->y2; in PREFIX()
2783 if (region->data->numRects == 1) in PREFIX()
2785 free (region->data); in PREFIX()
2786 region->data = NULL; in PREFIX()