w32tex
About: TeX Live provides a comprehensive TeX system including all the major TeX-related programs, macro packages, and fonts that are free software. Windows sources.
  Fossies Dox: w32tex-src.tar.xz  ("unofficial" and yet experimental doxygen-generated source code documentation)  

pixman-region.c File Reference
#include <stdlib.h>
#include <limits.h>
#include <string.h>
#include <stdio.h>
#include "pixman-private.h"
Include dependency graph for pixman-region.c:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define PIXREGION_NIL(reg)   ((reg)->data && !(reg)->data->numRects)
 
#define PIXREGION_NAR(reg)   ((reg)->data == pixman_broken_data)
 
#define PIXREGION_NUMRECTS(reg)   ((reg)->data ? (reg)->data->numRects : 1)
 
#define PIXREGION_SIZE(reg)   ((reg)->data ? (reg)->data->size : 0)
 
#define PIXREGION_RECTS(reg)
 
#define PIXREGION_BOXPTR(reg)   ((box_type_t *)((reg)->data + 1))
 
#define PIXREGION_BOX(reg, i)   (&PIXREGION_BOXPTR (reg)[i])
 
#define PIXREGION_TOP(reg)   PIXREGION_BOX (reg, (reg)->data->numRects)
 
#define PIXREGION_END(reg)   PIXREGION_BOX (reg, (reg)->data->numRects - 1)
 
#define GOOD_RECT(rect)   ((rect)->x1 < (rect)->x2 && (rect)->y1 < (rect)->y2)
 
#define BAD_RECT(rect)   ((rect)->x1 > (rect)->x2 || (rect)->y1 > (rect)->y2)
 
#define GOOD(reg)
 
#define EXTENTCHECK(r1, r2)
 
#define INBOX(r, x, y)
 
#define SUBSUMES(r1, r2)
 
#define FREE_DATA(reg)   if ((reg)->data && (reg)->data->size) free ((reg)->data)
 
#define RECTALLOC_BAIL(region, n, bail)
 
#define RECTALLOC(region, n)
 
#define ADDRECT(next_rect, nx1, ny1, nx2, ny2)
 
#define NEWRECT(region, next_rect, nx1, ny1, nx2, ny2)
 
#define DOWNSIZE(reg, numRects)
 
#define COALESCE(new_reg, prev_band, cur_band)
 
#define FIND_BAND(r, r_band_end, r_end, ry1)
 
#define APPEND_REGIONS(new_reg, r, r_end)
 
#define MERGERECT(r)
 
#define EXCHANGE_RECTS(a, b)
 
#define READ(_ptr)   (*(_ptr))
 

Typedefs

typedef pixman_bool_t(* overlap_proc_ptr) (region_type_t *region, box_type_t *r1, box_type_t *r1_end, box_type_t *r2, box_type_t *r2_end, int y1, int y2)
 

Functions

static const box_type_t PREFIX (_empty_box_)
 
static const region_data_type_t PREFIX (_empty_data_)
 
static const region_data_type_t PREFIX (_broken_data_)
 
static pixman_bool_t pixman_break (region_type_t *region)
 
static size_t PIXREGION_SZOF (size_t n)
 
static region_data_type_talloc_data (size_t n)
 
pixman_bool_t PREFIX() _equal (region_type_t *reg1, region_type_t *reg2)
 
int PREFIX() _print (region_type_t *rgn)
 
void PREFIX() _init (region_type_t *region)
 
void PREFIX() _init_rect (region_type_t *region, int x, int y, unsigned int width, unsigned int height)
 
void PREFIX() _init_with_extents (region_type_t *region, box_type_t *extents)
 
void PREFIX() _fini (region_type_t *region)
 
int PREFIX() _n_rects (region_type_t *region)
 
box_type_t *PREFIX() _rectangles (region_type_t *region, int *n_rects)
 
static pixman_bool_t pixman_rect_alloc (region_type_t *region, int n)
 
pixman_bool_t PREFIX() _copy (region_type_t *dst, region_type_t *src)
 
static int pixman_coalesce (region_type_t *region, int prev_start, int cur_start)
 
static pixman_bool_t pixman_region_append_non_o (region_type_t *region, box_type_t *r, box_type_t *r_end, int y1, int y2)
 
static pixman_bool_t pixman_op (region_type_t *new_reg, region_type_t *reg1, region_type_t *reg2, overlap_proc_ptr overlap_func, int append_non1, int append_non2)
 
static void pixman_set_extents (region_type_t *region)
 
static pixman_bool_t pixman_region_intersect_o (region_type_t *region, box_type_t *r1, box_type_t *r1_end, box_type_t *r2, box_type_t *r2_end, int y1, int y2)
 
pixman_bool_t PREFIX() _intersect (region_type_t *new_reg, region_type_t *reg1, region_type_t *reg2)
 
static pixman_bool_t pixman_region_union_o (region_type_t *region, box_type_t *r1, box_type_t *r1_end, box_type_t *r2, box_type_t *r2_end, int y1, int y2)
 
pixman_bool_t PREFIX() _intersect_rect (region_type_t *dest, region_type_t *source, int x, int y, unsigned int width, unsigned int height)
 
pixman_bool_t PREFIX() _union_rect (region_type_t *dest, region_type_t *source, int x, int y, unsigned int width, unsigned int height)
 
pixman_bool_t PREFIX() _union (region_type_t *new_reg, region_type_t *reg1, region_type_t *reg2)
 
static void quick_sort_rects (box_type_t rects[], int numRects)
 
static pixman_bool_t validate (region_type_t *badreg)
 
static pixman_bool_t pixman_region_subtract_o (region_type_t *region, box_type_t *r1, box_type_t *r1_end, box_type_t *r2, box_type_t *r2_end, int y1, int y2)
 
pixman_bool_t PREFIX() _subtract (region_type_t *reg_d, region_type_t *reg_m, region_type_t *reg_s)
 
pixman_bool_t PREFIX() _inverse (region_type_t *new_reg, region_type_t *reg1, box_type_t *inv_rect)
 
static box_type_tfind_box_for_y (box_type_t *begin, box_type_t *end, int y)
 
pixman_region_overlap_t PREFIX() _contains_rectangle (region_type_t *region, box_type_t *prect)
 
void PREFIX() _translate (region_type_t *region, int x, int y)
 
void PREFIX() _reset (region_type_t *region, box_type_t *box)
 
void PREFIX() _clear (region_type_t *region)
 
int PREFIX() _contains_point (region_type_t *region, int x, int y, box_type_t *box)
 
int PREFIX() _not_empty (region_type_t *region)
 
box_type_t *PREFIX() _extents (region_type_t *region)
 
pixman_bool_t PREFIX() _selfcheck (region_type_t *reg)
 
pixman_bool_t PREFIX() _init_rects (region_type_t *region, const box_type_t *boxes, int count)
 
static box_type_tbitmap_addrect (region_type_t *reg, box_type_t *r, box_type_t **first_rect, int rx1, int ry1, int rx2, int ry2)
 
void PREFIX() _init_from_image (region_type_t *region, pixman_image_t *image)
 

Variables

static box_type_tpixman_region_empty_box
 
static region_data_type_tpixman_region_empty_data
 
static region_data_type_tpixman_broken_data
 

Macro Definition Documentation

◆ ADDRECT

#define ADDRECT (   next_rect,
  nx1,
  ny1,
  nx2,
  ny2 
)
Value:
do \
{ \
next_rect->x1 = nx1; \
next_rect->y1 = ny1; \
next_rect->x2 = nx2; \
next_rect->y2 = ny2; \
next_rect++; \
} \
while (0)

Definition at line 241 of file pixman-region.c.

◆ APPEND_REGIONS

#define APPEND_REGIONS (   new_reg,
  r,
  r_end 
)
Value:
do \
{ \
int new_rects; \
if ((new_rects = r_end - r)) { \
RECTALLOC_BAIL (new_reg, new_rects, bail); \
memmove ((char *)PIXREGION_TOP (new_reg), (char *)r, \
new_rects * sizeof(box_type_t)); \
new_reg->data->numRects += new_rects; \
} \
} while (0)
#define PIXREGION_TOP(reg)
Definition: pixman-region.c:82
int r
Definition: ppmqvga.c:68

Definition at line 698 of file pixman-region.c.

◆ BAD_RECT

#define BAD_RECT (   rect)    ((rect)->x1 > (rect)->x2 || (rect)->y1 > (rect)->y2)

Definition at line 86 of file pixman-region.c.

◆ COALESCE

#define COALESCE (   new_reg,
  prev_band,
  cur_band 
)
Value:
do \
{ \
if (cur_band - prev_band == new_reg->data->numRects - cur_band) \
prev_band = pixman_coalesce (new_reg, prev_band, cur_band); \
else \
prev_band = cur_band; \
} while (0)
static int pixman_coalesce(region_type_t *region, int prev_start, int cur_start)

Definition at line 632 of file pixman-region.c.

◆ DOWNSIZE

#define DOWNSIZE (   reg,
  numRects 
)
Value:
do \
{ \
if (((numRects) < ((reg)->data->size >> 1)) && \
((reg)->data->size > 50)) \
{ \
region_data_type_t * new_data; \
size_t data_size = PIXREGION_SZOF (numRects); \
if (!data_size) \
{ \
new_data = NULL; \
} \
else \
{ \
new_data = (region_data_type_t *) \
realloc ((reg)->data, data_size); \
} \
if (new_data) \
{ \
new_data->size = (numRects); \
(reg)->data = new_data; \
} \
} \
} while (0)
struct rect data
Definition: dvipdfm.c:64
#define reg
Definition: hbf.c:83
#define NULL
Definition: ftobjs.h:61
#define realloc
Definition: glob.c:206
set set set set set set set macro pixldst1 abits if abits op else op endif endm macro pixldst2 abits if abits op else op endif endm macro pixldst4 abits if abits op else op endif endm macro pixldst0 abits op endm macro pixldst3 mem_operand op endm macro pixldst30 mem_operand op endm macro pixldst abits if abits elseif abits elseif abits elseif abits elseif abits pixldst0 abits else pixldst0 abits pixldst0 abits pixldst0 abits pixldst0 abits endif elseif abits else pixldst0 abits pixldst0 abits endif elseif abits else error unsupported bpp *numpix else pixst endif endm macro pixld1_s mem_operand if asr adds SRC_WIDTH_FIXED bpl add asl mov asr adds SRC_WIDTH_FIXED bpl add asl mov asr adds SRC_WIDTH_FIXED bpl add asl mov asr adds SRC_WIDTH_FIXED bpl add asl elseif asr adds SRC_WIDTH_FIXED bpl add asl mov asr adds SRC_WIDTH_FIXED bpl add asl else error unsupported endif endm macro pixld2_s mem_operand if mov asr add asl add asl mov asr sub UNIT_X add asl mov asr add asl add asl mov asr add UNIT_X add asl else pixld1_s mem_operand pixld1_s mem_operand endif endm macro pixld0_s mem_operand if asr adds SRC_WIDTH_FIXED bpl add asl elseif asr adds SRC_WIDTH_FIXED bpl add asl endif endm macro pixld_s_internal mem_operand if mem_operand pixld2_s mem_operand pixdeinterleave basereg elseif mem_operand elseif mem_operand elseif mem_operand elseif mem_operand pixld0_s mem_operand else pixld0_s mem_operand pixld0_s mem_operand pixld0_s mem_operand pixld0_s mem_operand endif elseif mem_operand else pixld0_s mem_operand pixld0_s mem_operand endif elseif mem_operand else error unsupported mem_operand if bpp mem_operand endif endm macro vuzp8 reg2 vuzp d d &reg2 endm macro vzip8 reg2 vzip d d &reg2 endm macro pixdeinterleave basereg basereg basereg basereg basereg endif endm macro pixinterleave basereg basereg basereg basereg basereg endif endm macro PF boost_increment endif if endif PF tst PF addne PF subne PF cmp ORIG_W if endif if endif if endif PF subge ORIG_W PF subges if endif if endif if endif endif endm macro cache_preload_simple endif if dst_r_bpp pld[DST_R, #(PREFETCH_DISTANCE_SIMPLE *dst_r_bpp/8)] endif if mask_bpp pld if[MASK, #(PREFETCH_DISTANCE_SIMPLE *mask_bpp/8)] endif endif endm macro fetch_mask_pixblock pixld mask_basereg pixblock_size MASK endm macro ensure_destination_ptr_alignment process_pixblock_tail_head if beq irp skip1(dst_w_bpp<=(lowbit *8)) &&((lowbit *8)<(pixblock_size *dst_w_bpp)) .if lowbit< 16 tst DST_R
static size_t PIXREGION_SZOF(size_t n)

Definition at line 267 of file pixman-region.c.

◆ EXCHANGE_RECTS

#define EXCHANGE_RECTS (   a,
  b 
)
Value:
{ \
box_type_t t; \
t = rects[a]; \
rects[a] = rects[b]; \
rects[b] = t; \
}
#define b
Definition: jpegint.h:372
#define t
Definition: afcover.h:96
#define a(n)
Definition: gpos-common.c:148

Definition at line 1457 of file pixman-region.c.

◆ EXTENTCHECK

#define EXTENTCHECK (   r1,
  r2 
)
Value:
(!( ((r1)->x2 <= (r2)->x1) || \
((r1)->x1 >= (r2)->x2) || \
((r1)->y2 <= (r2)->y1) || \
((r1)->y1 >= (r2)->y2) ) )
#define r1
#define r2
#define y2
#define x2

Definition at line 171 of file pixman-region.c.

◆ FIND_BAND

#define FIND_BAND (   r,
  r_band_end,
  r_end,
  ry1 
)
Value:
do \
{ \
ry1 = r->y1; \
r_band_end = r + 1; \
while ((r_band_end != r_end) && (r_band_end->y1 == ry1)) { \
r_band_end++; \
} \
} while (0)

Definition at line 688 of file pixman-region.c.

◆ FREE_DATA

#define FREE_DATA (   reg)    if ((reg)->data && (reg)->data->size) free ((reg)->data)

Definition at line 216 of file pixman-region.c.

◆ GOOD

#define GOOD (   reg)

Definition at line 99 of file pixman-region.c.

◆ GOOD_RECT

#define GOOD_RECT (   rect)    ((rect)->x1 < (rect)->x2 && (rect)->y1 < (rect)->y2)

Definition at line 85 of file pixman-region.c.

◆ INBOX

#define INBOX (   r,
  x,
  y 
)
Value:
( ((r)->x2 > x) && \
((r)->x1 <= x) && \
((r)->y2 > y) && \
((r)->y1 <= y) )
kerning y
Definition: ttdriver.c:212
float x
Definition: cordic.py:15
#define x1
#define y1

Definition at line 178 of file pixman-region.c.

◆ MERGERECT

#define MERGERECT (   r)
Value:
do \
{ \
if (r->x1 <= x2) \
{ \
/* Merge with current rectangle */ \
if (x2 < r->x2) \
x2 = r->x2; \
} \
else \
{ \
/* Add current rectangle, start new one */ \
NEWRECT (region, next_rect, x1, y1, x2, y2); \
x1 = r->x1; \
x2 = r->x2; \
} \
r++; \
} while (0)
Definition: regions.h:31

Definition at line 1221 of file pixman-region.c.

◆ NEWRECT

#define NEWRECT (   region,
  next_rect,
  nx1,
  ny1,
  nx2,
  ny2 
)
Value:
do \
{ \
if (!(region)->data || \
((region)->data->numRects == (region)->data->size)) \
{ \
return FALSE; \
next_rect = PIXREGION_TOP (region); \
} \
ADDRECT (next_rect, nx1, ny1, nx2, ny2); \
region->data->numRects++; \
critical_if_fail (region->data->numRects <= region->data->size); \
} while (0)
@ FALSE
Definition: dd.h:101
static pixman_bool_t pixman_rect_alloc(region_type_t *region, int n)

Definition at line 252 of file pixman-region.c.

◆ PIXREGION_BOX

#define PIXREGION_BOX (   reg,
  i 
)    (&PIXREGION_BOXPTR (reg)[i])

Definition at line 81 of file pixman-region.c.

◆ PIXREGION_BOXPTR

#define PIXREGION_BOXPTR (   reg)    ((box_type_t *)((reg)->data + 1))

Definition at line 80 of file pixman-region.c.

◆ PIXREGION_END

#define PIXREGION_END (   reg)    PIXREGION_BOX (reg, (reg)->data->numRects - 1)

Definition at line 83 of file pixman-region.c.

◆ PIXREGION_NAR

#define PIXREGION_NAR (   reg)    ((reg)->data == pixman_broken_data)

Definition at line 74 of file pixman-region.c.

◆ PIXREGION_NIL

#define PIXREGION_NIL (   reg)    ((reg)->data && !(reg)->data->numRects)

Definition at line 72 of file pixman-region.c.

◆ PIXREGION_NUMRECTS

#define PIXREGION_NUMRECTS (   reg)    ((reg)->data ? (reg)->data->numRects : 1)

Definition at line 75 of file pixman-region.c.

◆ PIXREGION_RECTS

#define PIXREGION_RECTS (   reg)
Value:

Definition at line 77 of file pixman-region.c.

◆ PIXREGION_SIZE

#define PIXREGION_SIZE (   reg)    ((reg)->data ? (reg)->data->size : 0)

Definition at line 76 of file pixman-region.c.

◆ PIXREGION_TOP

#define PIXREGION_TOP (   reg)    PIXREGION_BOX (reg, (reg)->data->numRects)

Definition at line 82 of file pixman-region.c.

◆ READ

#define READ (   _ptr)    (*(_ptr))

Definition at line 2556 of file pixman-region.c.

◆ RECTALLOC

#define RECTALLOC (   region,
  n 
)
Value:
do \
{ \
if (!(region)->data || \
(((region)->data->numRects + (n)) > (region)->data->size)) \
{ \
if (!pixman_rect_alloc (region, n)) { \
return FALSE; \
} \
} \
} while (0)
#define n
Definition: t4ht.c:1290

Definition at line 229 of file pixman-region.c.

◆ RECTALLOC_BAIL

#define RECTALLOC_BAIL (   region,
  n,
  bail 
)
Value:
do \
{ \
if (!(region)->data || \
(((region)->data->numRects + (n)) > (region)->data->size)) \
{ \
goto bail; \
} \
} while (0)

Definition at line 218 of file pixman-region.c.

◆ SUBSUMES

#define SUBSUMES (   r1,
  r2 
)
Value:
( ((r1)->x1 <= (r2)->x1) && \
((r1)->x2 >= (r2)->x2) && \
((r1)->y1 <= (r2)->y1) && \
((r1)->y2 >= (r2)->y2) )

Definition at line 185 of file pixman-region.c.

Typedef Documentation

◆ overlap_proc_ptr

typedef pixman_bool_t(* overlap_proc_ptr) (region_type_t *region, box_type_t *r1, box_type_t *r1_end, box_type_t *r2, box_type_t *r2_end, int y1, int y2)

Definition at line 739 of file pixman-region.c.

Function Documentation

◆ _clear()

void PREFIX() _clear ( region_type_t region)

Definition at line 2335 of file pixman-region.c.

References FREE_DATA, GOOD, pixman_region_empty_box, and pixman_region_empty_data.

◆ _contains_point()

int PREFIX() _contains_point ( region_type_t region,
int  x,
int  y,
box_type_t box 
)

◆ _contains_rectangle()

◆ _copy()

◆ _equal()

pixman_bool_t PREFIX() _equal ( region_type_t reg1,
region_type_t reg2 
)

Definition at line 295 of file pixman-region.c.

References FALSE, i, PIXREGION_NUMRECTS, PIXREGION_RECTS, reg1, reg2, TRUE, x1, x2, y1, and y2.

◆ _extents()

box_type_t* PREFIX() _extents ( region_type_t region)

Definition at line 2398 of file pixman-region.c.

References GOOD.

◆ _fini()

void PREFIX() _fini ( region_type_t region)

Definition at line 413 of file pixman-region.c.

References FREE_DATA, and GOOD.

◆ _init()

◆ _init_from_image()

◆ _init_rect()

void PREFIX() _init_rect ( region_type_t region,
int  x,
int  y,
unsigned int  width,
unsigned int  height 
)

Definition at line 375 of file pixman-region.c.

References _init(), _pixman_log_error(), BAD_RECT, FUNC, GOOD_RECT, height, NULL, PREFIX(), width, cordic::x, and y.

Referenced by _init_rects().

◆ _init_rects()

pixman_bool_t PREFIX() _init_rects ( region_type_t region,
const box_type_t boxes,
int  count 
)

◆ _init_with_extents()

void PREFIX() _init_with_extents ( region_type_t region,
box_type_t extents 
)

Definition at line 398 of file pixman-region.c.

References _init(), _pixman_log_error(), BAD_RECT, FUNC, GOOD_RECT, NULL, and PREFIX().

◆ _intersect()

◆ _intersect_rect()

pixman_bool_t PREFIX() _intersect_rect ( region_type_t dest,
region_type_t source,
int  x,
int  y,
unsigned int  width,
unsigned int  height 
)

Definition at line 1323 of file pixman-region.c.

References _intersect(), dest, height, NULL, PREFIX(), source, width, cordic::x, and y.

◆ _inverse()

◆ _n_rects()

int PREFIX() _n_rects ( region_type_t region)

Definition at line 420 of file pixman-region.c.

References PIXREGION_NUMRECTS.

◆ _not_empty()

int PREFIX() _not_empty ( region_type_t region)

Definition at line 2390 of file pixman-region.c.

References GOOD, and PIXREGION_NIL.

◆ _print()

int PREFIX() _print ( region_type_t rgn)

Definition at line 338 of file pixman-region.c.

References fprintf, i, num, PIXREGION_NUMRECTS, PIXREGION_RECTS, PIXREGION_SIZE, size, x1, x2, y1, and y2.

◆ _rectangles()

box_type_t* PREFIX() _rectangles ( region_type_t region,
int n_rects 
)

Definition at line 426 of file pixman-region.c.

References PIXREGION_NUMRECTS, and PIXREGION_RECTS.

◆ _reset()

void PREFIX() _reset ( region_type_t region,
box_type_t box 
)

Definition at line 2321 of file pixman-region.c.

References box, critical_if_fail, FREE_DATA, GOOD, GOOD_RECT, and NULL.

◆ _selfcheck()

◆ _subtract()

◆ _translate()

◆ _union()

◆ _union_rect()

pixman_bool_t PREFIX() _union_rect ( region_type_t dest,
region_type_t source,
int  x,
int  y,
unsigned int  width,
unsigned int  height 
)

◆ alloc_data()

static region_data_type_t* alloc_data ( size_t  n)
static

Definition at line 206 of file pixman-region.c.

References malloc, n, NULL, PIXREGION_SZOF(), and sz.

Referenced by _copy(), and pixman_rect_alloc().

◆ bitmap_addrect()

static box_type_t* bitmap_addrect ( region_type_t reg,
box_type_t r,
box_type_t **  first_rect,
int  rx1,
int  ry1,
int  rx2,
int  ry2 
)
inlinestatic

Definition at line 2559 of file pixman-region.c.

References NULL, pixman_rect_alloc(), PIXREGION_BOXPTR, r, and reg.

Referenced by _init_from_image().

◆ find_box_for_y()

static box_type_t* find_box_for_y ( box_type_t begin,
box_type_t end,
int  y 
)
static

Definition at line 2069 of file pixman-region.c.

References begin, end, y, and pixman_box16::y2.

Referenced by _contains_point(), and _contains_rectangle().

◆ pixman_break()

static pixman_bool_t pixman_break ( region_type_t region)
static

◆ pixman_coalesce()

static int pixman_coalesce ( region_type_t region,
int  prev_start,
int  cur_start 
)
inlinestatic

◆ pixman_op()

◆ pixman_rect_alloc()

static pixman_bool_t pixman_rect_alloc ( region_type_t region,
int  n 
)
static

◆ pixman_region_append_non_o()

static pixman_bool_t pixman_region_append_non_o ( region_type_t region,
box_type_t r,
box_type_t r_end,
int  y1,
int  y2 
)
inlinestatic

Definition at line 658 of file pixman-region.c.

References ADDRECT, critical_if_fail, PIXREGION_TOP, r, RECTALLOC, TRUE, y1, and y2.

Referenced by pixman_op().

◆ pixman_region_intersect_o()

static pixman_bool_t pixman_region_intersect_o ( region_type_t region,
box_type_t r1,
box_type_t r1_end,
box_type_t r2,
box_type_t r2_end,
int  y1,
int  y2 
)
static

Definition at line 1108 of file pixman-region.c.

References critical_if_fail, MAX, MIN, NEWRECT, PIXREGION_TOP, r1, r2, TRUE, x1, x2, y1, and y2.

Referenced by _intersect().

◆ pixman_region_subtract_o()

static pixman_bool_t pixman_region_subtract_o ( region_type_t region,
box_type_t r1,
box_type_t r1_end,
box_type_t r2,
box_type_t r2_end,
int  y1,
int  y2 
)
static

Definition at line 1831 of file pixman-region.c.

References critical_if_fail, NEWRECT, PIXREGION_TOP, r1, r2, TRUE, x1, x2, y1, and y2.

Referenced by _inverse(), and _subtract().

◆ pixman_region_union_o()

static pixman_bool_t pixman_region_union_o ( region_type_t region,
box_type_t r1,
box_type_t r1_end,
box_type_t r2,
box_type_t r2_end,
int  y1,
int  y2 
)
static

Definition at line 1260 of file pixman-region.c.

References critical_if_fail, MERGERECT, NEWRECT, PIXREGION_TOP, r1, r2, TRUE, x1, x2, y1, and y2.

Referenced by _union(), and validate().

◆ pixman_set_extents()

static void pixman_set_extents ( region_type_t region)
static

Definition at line 1047 of file pixman-region.c.

References box, box_end(), critical_if_fail, PIXREGION_BOXPTR, and PIXREGION_END.

Referenced by _intersect(), _inverse(), _subtract(), and _translate().

◆ PIXREGION_SZOF()

static size_t PIXREGION_SZOF ( size_t  n)
static

Definition at line 192 of file pixman-region.c.

References n, size, and UINT32_MAX.

Referenced by alloc_data(), and pixman_rect_alloc().

◆ PREFIX() [1/3]

static const region_data_type_t PREFIX ( _broken_data_  )
static

◆ PREFIX() [2/3]

◆ PREFIX() [3/3]

static const region_data_type_t PREFIX ( _empty_data_  )
static

◆ quick_sort_rects()

static void quick_sort_rects ( box_type_t  rects[],
int  numRects 
)
static

Definition at line 1466 of file pixman-region.c.

References EXCHANGE_RECTS, i, j, r, x1, pixman_box16::x1, y1, and pixman_box16::y1.

Referenced by validate().

◆ validate()

Variable Documentation

◆ pixman_broken_data

region_data_type_t* pixman_broken_data
static
Initial value:
=
(region_data_type_t *)&PREFIX (_broken_data_)

Definition at line 115 of file pixman-region.c.

Referenced by _intersect(), pixman_break(), and pixman_region_set_static_pointers().

◆ pixman_region_empty_box

box_type_t* pixman_region_empty_box
static
Initial value:
=
(box_type_t *)&PREFIX (_empty_box_)

Definition at line 111 of file pixman-region.c.

Referenced by _clear(), _init(), pixman_break(), pixman_region_set_static_pointers(), and validate().

◆ pixman_region_empty_data

region_data_type_t* pixman_region_empty_data
static