Lines Matching refs:runs
86 return r->runs == RUNS_EMPTY; in region_isEmpty()
92 return r->runs == RUNS_RECT; in region_isRect()
98 return r->runs != RUNS_EMPTY && r->runs != RUNS_RECT; in region_isComplex()
161 runstore_from_runs( Run* runs ) in runstore_from_runs() argument
163 RASSERT(runs != RUNS_EMPTY); in runstore_from_runs()
164 RASSERT(runs != RUNS_RECT); in runstore_from_runs()
165 return (RunStore*)runs - 1; in runstore_from_runs()
182 s = runstore_from_runs(r->runs); in region_edit()
184 r->runs = runstore_to_runs(s); in region_edit()
185 return r->runs; in region_edit()
192 runs_next_scanline( Run* runs ) in runs_next_scanline() argument
194 RASSERT(runs[0] != YSENTINEL && runs[1] != YSENTINEL ); in runs_next_scanline()
195 runs += 2; in runs_next_scanline()
196 do { runs += 1; } while (runs[-1] != XSENTINEL); in runs_next_scanline()
197 return runs; in runs_next_scanline()
201 runs_find_y( Run* runs, int y ) in runs_find_y() argument
204 int ybot, ytop = runs[0]; in runs_find_y()
209 ybot = runs[1]; in runs_find_y()
211 return runs; in runs_find_y()
213 runs = runs_next_scanline( runs ); in runs_find_y()
214 } while (runs[0] != YSENTINEL); in runs_find_y()
220 runs_set_rect( Run* runs, SkinRect* rect ) in runs_set_rect() argument
222 runs[0] = rect->pos.y; in runs_set_rect()
223 runs[1] = rect->pos.y + rect->size.h; in runs_set_rect()
224 runs[2] = rect->pos.x; in runs_set_rect()
225 runs[3] = rect->pos.x + rect->size.w; in runs_set_rect()
226 runs[4] = XSENTINEL; in runs_set_rect()
227 runs[5] = YSENTINEL; in runs_set_rect()
261 runs_get_count( Run* runs ) in runs_get_count() argument
263 RunStore* s = runstore_from_runs(runs); in runs_get_count()
372 r->runs = RUNS_EMPTY; in skin_region_init_empty()
386 r->runs = RUNS_RECT; in skin_region_init()
397 r->runs = RUNS_RECT; in skin_region_init_rect()
411 r->runs = RUNS_RECT; in skin_region_init_box()
422 RunStore* s = runstore_from_runs(r->runs); in skin_region_init_copy()
434 RunStore* s = runstore_from_runs(r->runs); in skin_region_reset()
463 runs1 = r1->runs; in skin_region_equals()
464 runs2 = r2->runs; in skin_region_equals()
485 Run* runs; in skin_region_translate() local
494 runs = region_edit(r); in skin_region_translate()
495 while (runs[0] != YSENTINEL) { in skin_region_translate()
496 int ytop = runs[0]; in skin_region_translate()
497 int ybot = runs[1]; in skin_region_translate()
500 runs[0] = (Run)(ytop + dy); in skin_region_translate()
501 runs[1] = (Run)(ybot + dy); in skin_region_translate()
502 runs += 2; in skin_region_translate()
503 while (runs[0] != XSENTINEL) { in skin_region_translate()
504 int xleft = runs[0]; in skin_region_translate()
505 int xright = runs[1]; in skin_region_translate()
507 runs[0] = (Run)(xleft + dx); in skin_region_translate()
508 runs[1] = (Run)(xright + dx); in skin_region_translate()
509 runs += 2; in skin_region_translate()
511 runs += 1; in skin_region_translate()
562 Run* runs = runs_find_y( r->runs, y ); in skin_region_contains() local
563 if (runs != NULL) { in skin_region_contains()
564 runs += 2; in skin_region_contains()
566 int xright, xleft = runs[0]; in skin_region_contains()
570 xright = runs[1]; in skin_region_contains()
575 runs += 2; in skin_region_contains()
576 } while (runs[0] != XSENTINEL); in skin_region_contains()
631 runs1 = r1->runs; in skin_region_test_intersect()
637 runs2 = r2->runs; in skin_region_test_intersect()
763 Run* runs; member
787 o->runs1 = r1->runs; in region_operator_init()
788 run1_count = runs_get_count(r1->runs); in region_operator_init()
796 o->runs2 = r2->runs; in region_operator_init()
797 run2_count = runs_get_count(r2->runs); in region_operator_init()
811 Run* runs = o->runs_base; in region_operator_do() local
831 runs = runs_copy_scanline_adj( runs, runs1, ytop1, ybot1 ); in region_operator_do()
839 runs = runs_copy_scanline_adj( runs, runs2, ytop2, ybot2 ); in region_operator_do()
847 runs = runs_copy_scanline_adj( runs, runs1, ytop1, ytop2 ); in region_operator_do()
852 runs = runs_copy_scanline_adj( runs, runs2, ytop2, ytop1 ); in region_operator_do()
858 runs[0] = (Run) ytop1; in region_operator_do()
859 runs[1] = (Run) ybot; in region_operator_do()
865 Run* span = runs + 2; in region_operator_do()
947 if (span > runs + 2) { in region_operator_do()
949 runs = span + 1; in region_operator_do()
968 runs = runs_copy_scanline_adj( runs, runs1, ytop1, runs1[1] ); in region_operator_do()
976 runs = runs_copy_scanline_adj( runs, runs2, ytop2, runs2[1] ); in region_operator_do()
982 runs[0] = YSENTINEL; in region_operator_do()
983 o->runs = runs + 1; in region_operator_do()
990 Run* src = o->runs; in region_operator_done()
1014 o->result->runs = RUNS_RECT; in region_operator_done()
1020 o->result->runs = runstore_to_runs(store); in region_operator_done()
1021 memcpy( o->result->runs, o->runs_base, count*sizeof(Run) ); in region_operator_done()
1187 iter->band = band = r->runs; in skin_region_iterator_next()
1188 iter->span = span = r->runs + 2; in skin_region_iterator_next()