| line |
true |
false |
branch |
|
171
|
0 |
3 |
if (!sv_derived_from(sv, "Imager::Color")) { |
|
174
|
3 |
0 |
return *INT2PTR(i_color *, SvIV((SV *)SvRV(sv))); |
|
185
|
0 |
0 |
if ( !hv_exists(hv,key,strlen(key)) ) return 0; |
|
188
|
0 |
0 |
*store=SvPV(*svpp, PL_na ); |
|
200
|
0 |
0 |
if ( !hv_exists(hv,key,strlen(key)) ) return 0; |
|
203
|
0 |
0 |
*store=(int)SvIV(*svpp); |
|
214
|
0 |
0 |
if ( !hv_exists(hv,key,strlen(key)) ) return 0; |
|
216
|
0 |
0 |
*store=(double)SvNV(*svpp); |
|
227
|
0 |
0 |
if ( !hv_exists(hv,key,strlen(key)) ) return 0; |
|
230
|
0 |
0 |
*store = INT2PTR(void*, SvIV(*svpp)); |
|
242
|
0 |
0 |
if ( !hv_exists(hv,key,strlen(key)) ) return 0; |
|
246
|
0 |
0 |
if (sv_derived_from(*svpp,type)) { |
|
247
|
0 |
0 |
IV tmp = SvIV((SV*)SvRV(*svpp)); |
|
321
|
4 |
105 |
if (!SvOK(cbd->readcb)) { |
|
|
4 |
0 |
if (!SvOK(cbd->readcb)) { |
|
|
4 |
0 |
if (!SvOK(cbd->readcb)) { |
|
329
|
0 |
105 |
EXTEND(SP, 2); |
|
330
|
0 |
105 |
PUSHMARK(SP); |
|
339
|
0 |
105 |
if (count != 1) |
|
344
|
12 |
93 |
if (SvOK(data)) { |
|
|
12 |
0 |
if (SvOK(data)) { |
|
|
0 |
12 |
if (SvOK(data)) { |
|
346
|
93 |
0 |
char *ptr = SvPVbyte(data, len); |
|
347
|
0 |
93 |
if (len > maxread) |
|
359
|
105 |
0 |
FREETMPS; |
|
373
|
3 |
5 |
if (!SvOK(cbd->seekcb)) { |
|
|
3 |
0 |
if (!SvOK(cbd->seekcb)) { |
|
|
3 |
0 |
if (!SvOK(cbd->seekcb)) { |
|
381
|
0 |
5 |
EXTEND(SP, 2); |
|
382
|
0 |
5 |
PUSHMARK(SP); |
|
391
|
0 |
5 |
if (count != 1) |
|
394
|
5 |
0 |
result = POPi; |
|
397
|
5 |
0 |
FREETMPS; |
|
412
|
9 |
4950 |
if (!SvOK(cbd->writecb)) { |
|
|
9 |
0 |
if (!SvOK(cbd->writecb)) { |
|
|
9 |
0 |
if (!SvOK(cbd->writecb)) { |
|
420
|
0 |
4950 |
EXTEND(SP, 1); |
|
421
|
0 |
4950 |
PUSHMARK(SP); |
|
428
|
0 |
4950 |
if (count != 1) |
|
432
|
4950 |
0 |
success = SvTRUE(sv); |
|
|
0 |
4950 |
success = SvTRUE(sv); |
|
|
0 |
0 |
success = SvTRUE(sv); |
|
|
45 |
4905 |
success = SvTRUE(sv); |
|
|
45 |
0 |
success = SvTRUE(sv); |
|
|
0 |
45 |
success = SvTRUE(sv); |
|
|
0 |
4905 |
success = SvTRUE(sv); |
|
|
0 |
0 |
success = SvTRUE(sv); |
|
|
0 |
0 |
success = SvTRUE(sv); |
|
|
0 |
0 |
success = SvTRUE(sv); |
|
|
0 |
0 |
success = SvTRUE(sv); |
|
|
0 |
0 |
success = SvTRUE(sv); |
|
|
4905 |
0 |
success = SvTRUE(sv); |
|
|
4905 |
0 |
success = SvTRUE(sv); |
|
|
1 |
4904 |
success = SvTRUE(sv); |
|
|
0 |
1 |
success = SvTRUE(sv); |
|
|
0 |
0 |
success = SvTRUE(sv); |
|
|
4904 |
1 |
success = SvTRUE(sv); |
|
|
0 |
0 |
success = SvTRUE(sv); |
|
436
|
4950 |
0 |
FREETMPS; |
|
439
|
4904 |
46 |
return success ? size : -1; |
|
454
|
12 |
20 |
if (SvOK(cbd->closecb)) { |
|
|
12 |
0 |
if (SvOK(cbd->closecb)) { |
|
|
0 |
12 |
if (SvOK(cbd->closecb)) { |
|
460
|
0 |
20 |
PUSHMARK(SP); |
|
467
|
20 |
0 |
if (count) { |
|
469
|
20 |
0 |
success = SvTRUE(sv); |
|
|
0 |
20 |
success = SvTRUE(sv); |
|
|
0 |
0 |
success = SvTRUE(sv); |
|
|
0 |
20 |
success = SvTRUE(sv); |
|
|
0 |
0 |
success = SvTRUE(sv); |
|
|
0 |
0 |
success = SvTRUE(sv); |
|
|
0 |
20 |
success = SvTRUE(sv); |
|
|
0 |
0 |
success = SvTRUE(sv); |
|
|
0 |
0 |
success = SvTRUE(sv); |
|
|
0 |
0 |
success = SvTRUE(sv); |
|
|
0 |
0 |
success = SvTRUE(sv); |
|
|
0 |
0 |
success = SvTRUE(sv); |
|
|
20 |
0 |
success = SvTRUE(sv); |
|
|
20 |
0 |
success = SvTRUE(sv); |
|
|
13 |
7 |
success = SvTRUE(sv); |
|
|
0 |
13 |
success = SvTRUE(sv); |
|
|
0 |
0 |
success = SvTRUE(sv); |
|
|
7 |
13 |
success = SvTRUE(sv); |
|
|
0 |
0 |
success = SvTRUE(sv); |
|
475
|
20 |
0 |
FREETMPS; |
|
479
|
19 |
13 |
return success ? 0 : -1; |
|
497
|
9 |
0 |
switch (type) { |
|
517
|
277 |
163 |
if (SvOK(sv)) { |
|
|
277 |
0 |
if (SvOK(sv)) { |
|
|
0 |
277 |
if (SvOK(sv)) { |
|
518
|
162 |
1 |
if (SvROK(sv)) { |
|
543
|
0 |
187 |
SvGETMAGIC(data_sv); |
|
|
0 |
0 |
SvGETMAGIC(data_sv); |
|
544
|
9 |
178 |
if (SvROK(data_sv)) { |
|
545
|
9 |
0 |
if (im_SvREFSCALAR(SvRV(data_sv))) { |
|
559
|
182 |
5 |
data = SvPVbyte(sv, length); |
|
590
|
30 |
6 |
if (push_errors) |
|
593
|
112 |
1 |
for (i = 0; i < count; ++i) |
|
594
|
35 |
77 |
if (strEQ(names[i].name, name)) |
|
597
|
1 |
0 |
if (push_errors) { |
|
670
|
0 |
24 |
if (sv && *sv && (str = SvPV(*sv, len))) { |
|
|
0 |
0 |
if (sv && *sv && (str = SvPV(*sv, len))) { |
|
|
0 |
0 |
if (sv && *sv && (str = SvPV(*sv, len))) { |
|
|
0 |
0 |
if (sv && *sv && (str = SvPV(*sv, len))) { |
|
674
|
0 |
0 |
if (failed) |
|
676
|
0 |
0 |
if (quant->transp != tr_none) { |
|
679
|
0 |
0 |
if (sv && *sv) |
|
|
0 |
0 |
if (sv && *sv) |
|
680
|
0 |
0 |
quant->tr_threshold = SvIV(*sv); |
|
682
|
0 |
0 |
if (quant->transp == tr_errdiff) { |
|
684
|
0 |
0 |
if (sv && *sv && (str = SvPV(*sv, len))) |
|
|
0 |
0 |
if (sv && *sv && (str = SvPV(*sv, len))) |
|
|
0 |
0 |
if (sv && *sv && (str = SvPV(*sv, len))) |
|
|
0 |
0 |
if (sv && *sv && (str = SvPV(*sv, len))) |
|
686
|
0 |
0 |
if (failed) |
|
689
|
0 |
0 |
if (quant->transp == tr_ordered) { |
|
692
|
0 |
0 |
if (sv && *sv && (str = SvPV(*sv, len))) { |
|
|
0 |
0 |
if (sv && *sv && (str = SvPV(*sv, len))) { |
|
|
0 |
0 |
if (sv && *sv && (str = SvPV(*sv, len))) { |
|
|
0 |
0 |
if (sv && *sv && (str = SvPV(*sv, len))) { |
|
694
|
0 |
0 |
if (failed) |
|
698
|
0 |
0 |
if (quant->tr_orddith == od_custom) { |
|
700
|
0 |
0 |
if (sv && *sv && SvTYPE(SvRV(*sv)) == SVt_PVAV) { |
|
|
0 |
0 |
if (sv && *sv && SvTYPE(SvRV(*sv)) == SVt_PVAV) { |
|
|
0 |
0 |
if (sv && *sv && SvTYPE(SvRV(*sv)) == SVt_PVAV) { |
|
703
|
0 |
0 |
if (len > sizeof(quant->tr_custom)) |
|
705
|
0 |
0 |
for (i = 0; i < len; ++i) { |
|
707
|
0 |
0 |
if (sv2 && *sv2) { |
|
|
0 |
0 |
if (sv2 && *sv2) { |
|
708
|
0 |
0 |
quant->tr_custom[i] = SvIV(*sv2); |
|
711
|
0 |
0 |
while (i < sizeof(quant->tr_custom)) |
|
719
|
20 |
4 |
if (sv && *sv && (str = SvPV(*sv, len))) { |
|
|
20 |
0 |
if (sv && *sv && (str = SvPV(*sv, len))) { |
|
|
20 |
0 |
if (sv && *sv && (str = SvPV(*sv, len))) { |
|
|
20 |
0 |
if (sv && *sv && (str = SvPV(*sv, len))) { |
|
722
|
1 |
19 |
if (failed) |
|
726
|
8 |
15 |
if (sv && *sv && SvROK(*sv) && SvTYPE(SvRV(*sv)) == SVt_PVAV) { |
|
|
8 |
0 |
if (sv && *sv && SvROK(*sv) && SvTYPE(SvRV(*sv)) == SVt_PVAV) { |
|
|
8 |
0 |
if (sv && *sv && SvROK(*sv) && SvTYPE(SvRV(*sv)) == SVt_PVAV) { |
|
|
8 |
0 |
if (sv && *sv && SvROK(*sv) && SvTYPE(SvRV(*sv)) == SVt_PVAV) { |
|
732
|
0 |
8 |
if (quant->mc_count > quant->mc_size) |
|
734
|
35 |
8 |
for (i = 0; i < quant->mc_count; ++i) { |
|
736
|
35 |
0 |
if (sv1 && *sv1 && SvROK(*sv1) && sv_derived_from(*sv1, "Imager::Color")) { |
|
|
35 |
0 |
if (sv1 && *sv1 && SvROK(*sv1) && sv_derived_from(*sv1, "Imager::Color")) { |
|
|
35 |
0 |
if (sv1 && *sv1 && SvROK(*sv1) && sv_derived_from(*sv1, "Imager::Color")) { |
|
|
35 |
0 |
if (sv1 && *sv1 && SvROK(*sv1) && sv_derived_from(*sv1, "Imager::Color")) { |
|
737
|
35 |
0 |
i_color *col = INT2PTR(i_color *, SvIV((SV*)SvRV(*sv1))); |
|
740
|
0 |
0 |
else if (push_errors) { |
|
747
|
0 |
23 |
if (sv && *sv) { |
|
|
0 |
0 |
if (sv && *sv) { |
|
748
|
0 |
0 |
i = SvIV(*sv); |
|
749
|
0 |
0 |
if (i <= quant->mc_size && i >= quant->mc_count) |
|
|
0 |
0 |
if (i <= quant->mc_size && i >= quant->mc_count) |
|
755
|
9 |
14 |
if (sv && *sv && (str = SvPV(*sv, len))) { |
|
|
9 |
0 |
if (sv && *sv && (str = SvPV(*sv, len))) { |
|
|
9 |
0 |
if (sv && *sv && (str = SvPV(*sv, len))) { |
|
|
9 |
0 |
if (sv && *sv && (str = SvPV(*sv, len))) { |
|
757
|
0 |
9 |
if (failed) |
|
761
|
1 |
22 |
if (sv && *sv && (str = SvPV(*sv, len))) { |
|
|
1 |
0 |
if (sv && *sv && (str = SvPV(*sv, len))) { |
|
|
1 |
0 |
if (sv && *sv && (str = SvPV(*sv, len))) { |
|
|
1 |
0 |
if (sv && *sv && (str = SvPV(*sv, len))) { |
|
763
|
0 |
1 |
if (failed) |
|
766
|
6 |
17 |
if (quant->translate == pt_errdiff && quant->errdiff == ed_custom) { |
|
|
1 |
5 |
if (quant->translate == pt_errdiff && quant->errdiff == ed_custom) { |
|
769
|
1 |
0 |
if (sv && *sv) |
|
|
1 |
0 |
if (sv && *sv) |
|
770
|
1 |
0 |
quant->ed_width = SvIV(*sv); |
|
772
|
1 |
0 |
if (sv && *sv) |
|
|
1 |
0 |
if (sv && *sv) |
|
773
|
1 |
0 |
quant->ed_height = SvIV(*sv); |
|
775
|
0 |
1 |
if (sv && *sv) |
|
|
0 |
0 |
if (sv && *sv) |
|
776
|
0 |
0 |
quant->ed_orig = SvIV(*sv); |
|
777
|
1 |
0 |
if (quant->ed_width > 0 && quant->ed_height > 0) { |
|
|
1 |
0 |
if (quant->ed_width > 0 && quant->ed_height > 0) { |
|
781
|
1 |
0 |
if (sv && *sv && SvROK(*sv) && SvTYPE(SvRV(*sv)) == SVt_PVAV) { |
|
|
1 |
0 |
if (sv && *sv && SvROK(*sv) && SvTYPE(SvRV(*sv)) == SVt_PVAV) { |
|
|
1 |
0 |
if (sv && *sv && SvROK(*sv) && SvTYPE(SvRV(*sv)) == SVt_PVAV) { |
|
|
1 |
0 |
if (sv && *sv && SvROK(*sv) && SvTYPE(SvRV(*sv)) == SVt_PVAV) { |
|
785
|
0 |
1 |
if (len > (size_t)quant->ed_width * quant->ed_height) |
|
787
|
4 |
1 |
for (avi = 0; avi < len; ++avi) { |
|
789
|
4 |
0 |
if (sv2 && *sv2) { |
|
|
4 |
0 |
if (sv2 && *sv2) { |
|
790
|
4 |
0 |
IV iv = SvIV(*sv2); |
|
791
|
4 |
0 |
if (push_errors && iv < 0) { |
|
|
0 |
4 |
if (push_errors && iv < 0) { |
|
801
|
1 |
0 |
if (!sum) { |
|
806
|
1 |
0 |
if (push_errors) { |
|
814
|
0 |
22 |
if (sv && *sv) |
|
|
0 |
0 |
if (sv && *sv) |
|
815
|
0 |
0 |
quant->perturb = SvIV(*sv); |
|
823
|
0 |
24 |
if (quant->ed_map) |
|
830
|
2 |
22 |
if (!result) { |
|
850
|
7 |
10 |
if (!sv || !*sv || !SvROK(*sv) || SvTYPE(SvRV(*sv)) != SVt_PVAV) { |
|
|
7 |
0 |
if (!sv || !*sv || !SvROK(*sv) || SvTYPE(SvRV(*sv)) != SVt_PVAV) { |
|
|
7 |
0 |
if (!sv || !*sv || !SvROK(*sv) || SvTYPE(SvRV(*sv)) != SVt_PVAV) { |
|
|
0 |
7 |
if (!sv || !*sv || !SvROK(*sv) || SvTYPE(SvRV(*sv)) != SVt_PVAV) { |
|
858
|
251 |
7 |
for (i = 0; i < quant->mc_count; ++i) { |
|
877
|
67 |
6 |
if (looks_like_number(sv)) { |
|
878
|
67 |
0 |
IV work = SvIV(sv); |
|
879
|
67 |
0 |
if (work < (IV)i_pfm_evenodd || work > (IV)i_pfm_nonzero) |
|
|
0 |
67 |
if (work < (IV)i_pfm_evenodd || work > (IV)i_pfm_nonzero) |
|
884
|
6 |
0 |
return (i_poly_fill_mode_t)lookup_name |
|
896
|
0 |
6 |
SvGETMAGIC(sv); |
|
|
0 |
0 |
SvGETMAGIC(sv); |
|
897
|
0 |
6 |
if (!SvOK(sv) || !SvROK(sv) || SvTYPE(SvRV(sv)) != SVt_PVAV) |
|
|
0 |
0 |
if (!SvOK(sv) || !SvROK(sv) || SvTYPE(SvRV(sv)) != SVt_PVAV) |
|
|
0 |
0 |
if (!SvOK(sv) || !SvROK(sv) || SvTYPE(SvRV(sv)) != SVt_PVAV) |
|
|
6 |
0 |
if (!SvOK(sv) || !SvROK(sv) || SvTYPE(SvRV(sv)) != SVt_PVAV) |
|
|
0 |
6 |
if (!SvOK(sv) || !SvROK(sv) || SvTYPE(SvRV(sv)) != SVt_PVAV) |
|
902
|
0 |
6 |
if (polys->count < 1) |
|
905
|
14 |
6 |
for (i = 0; i < polys->count; ++i) { |
|
914
|
0 |
14 |
if (!poly_sv) |
|
917
|
0 |
14 |
SvGETMAGIC(*poly_sv); |
|
|
0 |
0 |
SvGETMAGIC(*poly_sv); |
|
918
|
0 |
14 |
if (!SvOK(*poly_sv) || !SvROK(*poly_sv) || SvTYPE(SvRV(*poly_sv)) != SVt_PVAV) |
|
|
0 |
0 |
if (!SvOK(*poly_sv) || !SvROK(*poly_sv) || SvTYPE(SvRV(*poly_sv)) != SVt_PVAV) |
|
|
0 |
0 |
if (!SvOK(*poly_sv) || !SvROK(*poly_sv) || SvTYPE(SvRV(*poly_sv)) != SVt_PVAV) |
|
|
14 |
0 |
if (!SvOK(*poly_sv) || !SvROK(*poly_sv) || SvTYPE(SvRV(*poly_sv)) != SVt_PVAV) |
|
|
0 |
14 |
if (!SvOK(*poly_sv) || !SvROK(*poly_sv) || SvTYPE(SvRV(*poly_sv)) != SVt_PVAV) |
|
922
|
0 |
14 |
if (av_len(poly_av) != 1) |
|
926
|
0 |
14 |
if (!x_sv) |
|
928
|
0 |
14 |
if (!y_sv) |
|
930
|
0 |
14 |
SvGETMAGIC(*x_sv); |
|
|
0 |
0 |
SvGETMAGIC(*x_sv); |
|
931
|
0 |
14 |
SvGETMAGIC(*y_sv); |
|
|
0 |
0 |
SvGETMAGIC(*y_sv); |
|
932
|
0 |
14 |
if (!SvOK(*x_sv) || !SvROK(*x_sv) || SvTYPE(SvRV(*x_sv)) != SVt_PVAV) |
|
|
0 |
0 |
if (!SvOK(*x_sv) || !SvROK(*x_sv) || SvTYPE(SvRV(*x_sv)) != SVt_PVAV) |
|
|
0 |
0 |
if (!SvOK(*x_sv) || !SvROK(*x_sv) || SvTYPE(SvRV(*x_sv)) != SVt_PVAV) |
|
|
14 |
0 |
if (!SvOK(*x_sv) || !SvROK(*x_sv) || SvTYPE(SvRV(*x_sv)) != SVt_PVAV) |
|
|
0 |
14 |
if (!SvOK(*x_sv) || !SvROK(*x_sv) || SvTYPE(SvRV(*x_sv)) != SVt_PVAV) |
|
934
|
0 |
14 |
if (!SvOK(*y_sv) || !SvROK(*y_sv) || SvTYPE(SvRV(*y_sv)) != SVt_PVAV) |
|
|
0 |
0 |
if (!SvOK(*y_sv) || !SvROK(*y_sv) || SvTYPE(SvRV(*y_sv)) != SVt_PVAV) |
|
|
0 |
0 |
if (!SvOK(*y_sv) || !SvROK(*y_sv) || SvTYPE(SvRV(*y_sv)) != SVt_PVAV) |
|
|
14 |
0 |
if (!SvOK(*y_sv) || !SvROK(*y_sv) || SvTYPE(SvRV(*y_sv)) != SVt_PVAV) |
|
|
0 |
14 |
if (!SvOK(*y_sv) || !SvROK(*y_sv) || SvTYPE(SvRV(*y_sv)) != SVt_PVAV) |
|
938
|
0 |
14 |
if (av_len(x_av) != av_len(y_av)) |
|
944
|
56 |
14 |
for (j = 0; j < point_count; ++j) { |
|
947
|
56 |
0 |
x_data[j] = x_item_sv ? SvNV(*x_item_sv) : 0; |
|
|
20 |
36 |
x_data[j] = x_item_sv ? SvNV(*x_item_sv) : 0; |
|
948
|
56 |
0 |
y_data[j] = y_item_sv ? SvNV(*y_item_sv) : 0; |
|
|
20 |
36 |
y_data[j] = y_item_sv ? SvNV(*y_item_sv) : 0; |
|
973
|
0 |
14 |
if (*count < 1) |
|
976
|
17 |
14 |
for(i = 0; i < *count; i++) { |
|
978
|
17 |
0 |
if (!sv1 || !*sv1 || !SvROK(*sv1) |
|
|
17 |
0 |
if (!sv1 || !*sv1 || !SvROK(*sv1) |
|
|
17 |
0 |
if (!sv1 || !*sv1 || !SvROK(*sv1) |
|
979
|
0 |
17 |
|| SvTYPE(SvRV(*sv1)) != SVt_PVAV) { |
|
984
|
0 |
17 |
if (av_len(aseg) != 7-1) { |
|
988
|
51 |
17 |
for (j = 0; j < 3; ++j) { |
|
990
|
51 |
0 |
if (!sv2 || !*sv2) { |
|
|
0 |
51 |
if (!sv2 || !*sv2) { |
|
994
|
27 |
24 |
work[j] = SvNV(*sv2); |
|
999
|
34 |
17 |
for (j = 0; j < 2; ++j) { |
|
1001
|
34 |
0 |
if (!sv3 || !*sv3 || !SvROK(*sv3) || |
|
|
34 |
0 |
if (!sv3 || !*sv3 || !SvROK(*sv3) || |
|
1003
|
0 |
5 |
&& !sv_derived_from(*sv3, "Imager::Color::Float"))) { |
|
1007
|
5 |
29 |
if (sv_derived_from(*sv3, "Imager::Color::Float")) { |
|
1008
|
5 |
0 |
segs[i].c[j] = *INT2PTR(i_fcolor *, SvIV((SV *)SvRV(*sv3))); |
|
1011
|
29 |
0 |
i_color c = *INT2PTR(i_color *, SvIV((SV *)SvRV(*sv3))); |
|
1013
|
116 |
29 |
for (ch = 0; ch < MAXCHANNELS; ++ch) { |
|
1018
|
34 |
17 |
for (j = 0; j < 2; ++j) { |
|
1020
|
34 |
0 |
if (!sv2 || !*sv2) { |
|
|
0 |
34 |
if (!sv2 || !*sv2) { |
|
1024
|
30 |
4 |
worki[j] = SvIV(*sv2); |
|
1041
|
335 |
0 |
int color_count = i_colorcount(im); |
|
1044
|
0 |
335 |
if (color_count == -1) |
|
1047
|
60730 |
331 |
for (i = 0; i < count; ++i) { |
|
1048
|
4 |
60726 |
if (indexes[i] >= color_count) { |
|
1110
|
1360 |
15 |
for (y = hlines->start_y; y < hlines->limit_y; ++y) { |
|
1112
|
19 |
1341 |
if (entry) { |
|
1115
|
19 |
0 |
if (entry->count) |
|
1119
|
42 |
19 |
for (i = 0; i < entry->count; ++i) { |
|
1137
|
20 |
0 |
return (off_t)SvIV(sv); |
|
1178
|
40 |
0 |
SvGROW(t->sv, SvCUR(t->sv)+sizeof(i_trim_colors_t)+1); |
|
|
40 |
0 |
SvGROW(t->sv, SvCUR(t->sv)+sizeof(i_trim_colors_t)+1); |
|
1190
|
0 |
36 |
if (!trim_color_list_grow(aTHX_ &t)) |
|
1210
|
0 |
4 |
if (!trim_color_list_grow(aTHX_ &t)) |
|
1233
|
11 |
0 |
if (i < 0 || i >= t.count) { |
|
|
1 |
10 |
if (i < 0 || i >= t.count) { |
|
1241
|
4 |
6 |
if (e->is_float) { |
|
1258
|
0 |
75 |
SvGETMAGIC(sv); |
|
|
0 |
0 |
SvGETMAGIC(sv); |
|
1259
|
0 |
75 |
if (!SvROK(sv)) |
|
1262
|
75 |
0 |
if (!SvPOK(t->sv) || SvMAGIC(t->sv)) |
|
|
0 |
75 |
if (!SvPOK(t->sv) || SvMAGIC(t->sv)) |
|
1265
|
0 |
75 |
if (len % sizeof(i_trim_colors_t) != 0) |
|
1336
|
0 |
2000 |
EXTEND(SP, 1); |
|
1348
|
0 |
1924 |
EXTEND(SP, 4); |
|
1409
|
0 |
1444 |
EXTEND(SP, MAXCHANNELS); |
|
1410
|
5776 |
1444 |
for (ch = 0; ch < MAXCHANNELS; ++ch) { |
|
1427
|
0 |
1 |
EXTEND(SP, 1); |
|
1499
|
0 |
179 |
if (!RETVAL) |
|
1542
|
7 |
0 |
if (i_get_image_file_limits(&width, &height, &bytes)) { |
|
1543
|
0 |
7 |
EXTEND(SP, 3); |
|
1562
|
0 |
12 |
if (!i_trim_rect(im, transp_threshold, cls.count, cls.colors, &left, &top, &right, &bottom)) |
|
1564
|
0 |
12 |
EXTEND(SP, 4); |
|
1586
|
0 |
8 |
if (!RETVAL) |
|
1641
|
7 |
1 |
data = SvPVbyte(data_sv, size); |
|
1655
|
0 |
16 |
if (size <= 0) |
|
1663
|
0 |
16 |
if (SvUTF8(buffer_sv)) |
|
1666
|
16 |
0 |
buffer = SvGROW(buffer_sv, size+1); |
|
|
7 |
9 |
buffer = SvGROW(buffer_sv, size+1); |
|
1668
|
12 |
4 |
if (result >= 0) { |
|
1672
|
0 |
12 |
EXTEND(SP, 1); |
|
1676
|
0 |
16 |
SvSETMAGIC(ST(1)); |
|
1687
|
0 |
4 |
if (size <= 0) |
|
1690
|
4 |
0 |
buffer = SvGROW(buffer_sv, size+1); |
|
|
0 |
4 |
buffer = SvGROW(buffer_sv, size+1); |
|
1692
|
2 |
2 |
if (result >= 0) { |
|
1696
|
0 |
2 |
EXTEND(SP, 1); |
|
1767
|
21 |
0 |
buffer = SvGROW(buffer_sv, size+1); |
|
|
0 |
21 |
buffer = SvGROW(buffer_sv, size+1); |
|
1769
|
16 |
5 |
if (result >= 0) { |
|
1773
|
0 |
16 |
EXTEND(SP, 1); |
|
1790
|
0 |
7 |
if (size <= 0) |
|
1798
|
0 |
7 |
if (SvUTF8(buffer_sv)) |
|
1801
|
7 |
0 |
buffer = SvGROW(buffer_sv, size+1); |
|
|
6 |
1 |
buffer = SvGROW(buffer_sv, size+1); |
|
1803
|
6 |
1 |
if (result >= 0) { |
|
1807
|
0 |
6 |
EXTEND(SP, 1); |
|
1811
|
0 |
7 |
SvSETMAGIC(ST(1)); |
|
1822
|
0 |
13 |
if (size == 0) |
|
1825
|
13 |
0 |
buffer = SvGROW(buffer_sv, size+1); |
|
|
0 |
13 |
buffer = SvGROW(buffer_sv, size+1); |
|
1827
|
10 |
3 |
if (result > 0) { |
|
1831
|
0 |
10 |
EXTEND(SP, 1); |
|
1849
|
0 |
7 |
if (size < 2) |
|
1854
|
7 |
0 |
if (result > 0) { |
|
1858
|
0 |
7 |
EXTEND(SP, 1); |
|
1870
|
8203 |
5 |
data = SvPVbyte(data_sv, size); |
|
1908
|
395 |
79 |
while( (item=i_format_list[i++]) != NULL ) { |
|
1909
|
0 |
395 |
EXTEND(SP, 1); |
|
1931
|
19 |
37 |
const char *name = SvOK(name_sv) ? SvPV_nolen(name_sv) : NULL; |
|
|
19 |
0 |
const char *name = SvOK(name_sv) ? SvPV_nolen(name_sv) : NULL; |
|
|
0 |
19 |
const char *name = SvOK(name_sv) ? SvPV_nolen(name_sv) : NULL; |
|
|
37 |
0 |
const char *name = SvOK(name_sv) ? SvPV_nolen(name_sv) : NULL; |
|
1952
|
0 |
39 |
EXTEND(SP, 4); |
|
1978
|
0 |
0 |
EXTEND(SP, 1); |
|
1979
|
0 |
0 |
PUSHs(im->idata ? |
|
2003
|
3 |
2 |
if (!i_img_alpha_channel(im, &RETVAL)) |
|
2016
|
11 |
13 |
if (result) { |
|
2017
|
0 |
11 |
if (GIMME_V == G_ARRAY) { |
|
|
5 |
6 |
if (GIMME_V == G_ARRAY) { |
|
2018
|
0 |
5 |
EXTEND(SP, 2); |
|
2023
|
0 |
6 |
EXTEND(SP, 1); |
|
2188
|
0 |
0 |
if (size_x != size_y) |
|
2203
|
0 |
63 |
if (size_x != size_y) |
|
2220
|
0 |
4 |
if (size_x != size_y) |
|
2361
|
10 |
1 |
if (in_count > 0) { |
|
2364
|
19 |
10 |
for (i = 0; i < in_count; ++i) { |
|
2366
|
19 |
0 |
if (!psv || !*psv || !sv_derived_from(*psv, "Imager::ImgRaw")) { |
|
|
19 |
0 |
if (!psv || !*psv || !sv_derived_from(*psv, "Imager::ImgRaw")) { |
|
|
0 |
19 |
if (!psv || !*psv || !sv_derived_from(*psv, "Imager::ImgRaw")) { |
|
2371
|
19 |
0 |
tmp = SvIV((SV*)SvRV(*psv)); |
|
2373
|
4 |
15 |
if (channels_av && |
|
|
4 |
0 |
if (channels_av && |
|
2374
|
4 |
0 |
(psv = av_fetch(channels_av, i, 0)) != NULL && |
|
2376
|
4 |
0 |
channels[i] = SvIV(*psv); |
|
2411
|
5 |
10 |
for (i = 2; i < items; ++i) { |
|
2413
|
5 |
0 |
if (sv_derived_from(sv1, "Imager::Color")) { |
|
2414
|
5 |
0 |
IV tmp = SvIV((SV*)SvRV(sv1)); |
|
2417
|
0 |
0 |
else if (sv_derived_from(sv1, "Imager::Color::Float")) { |
|
2418
|
0 |
0 |
IV tmp = SvIV((SV*)SvRV(sv1)); |
|
2441
|
0 |
3 |
if (len > 9) |
|
2443
|
27 |
3 |
for (i = 0; i < len; ++i) { |
|
2445
|
3 |
24 |
matrix[i] = SvNV(sv1); |
|
2447
|
0 |
3 |
for (; i < 9; ++i) |
|
2451
|
1 |
3 |
for (i = 4; i < items; ++i) { |
|
2453
|
1 |
0 |
if (sv_derived_from(sv1, "Imager::Color")) { |
|
2454
|
1 |
0 |
IV tmp = SvIV((SV*)SvRV(sv1)); |
|
2457
|
0 |
0 |
else if (sv_derived_from(sv1, "Imager::Color::Float")) { |
|
2458
|
0 |
0 |
IV tmp = SvIV((SV*)SvRV(sv1)); |
|
2495
|
300 |
64 |
for(i = 0; i < len; i++) { |
|
2497
|
292 |
8 |
c_coef[i] = (double)SvNV(sv1); |
|
2520
|
68 |
28 |
for (j=0; j < outchan; ++j) { |
|
2522
|
68 |
0 |
if (temp && SvROK(*temp) && SvTYPE(SvRV(*temp)) == SVt_PVAV) { |
|
|
67 |
1 |
if (temp && SvROK(*temp) && SvTYPE(SvRV(*temp)) == SVt_PVAV) { |
|
|
67 |
0 |
if (temp && SvROK(*temp) && SvTYPE(SvRV(*temp)) == SVt_PVAV) { |
|
2525
|
28 |
39 |
if (len > inchan) |
|
2534
|
67 |
28 |
for (j = 0; j < outchan; ++j) { |
|
2537
|
179 |
67 |
for (i = 0; i < len; ++i) { |
|
2539
|
179 |
0 |
if (temp) |
|
2540
|
22 |
157 |
coeff[i+j*inchan] = SvNV(*temp); |
|
2544
|
0 |
67 |
while (i < inchan) |
|
2566
|
0 |
9 |
if (im->channels < len) |
|
2569
|
27 |
9 |
for (j=0; j
|
|
2571
|
27 |
0 |
if (temp && SvROK(*temp) && (SvTYPE(SvRV(*temp)) == SVt_PVAV) ) { |
|
|
23 |
4 |
if (temp && SvROK(*temp) && (SvTYPE(SvRV(*temp)) == SVt_PVAV) ) { |
|
|
23 |
0 |
if (temp && SvROK(*temp) && (SvTYPE(SvRV(*temp)) == SVt_PVAV) ) { |
|
2573
|
5 |
18 |
if(av_len(avsub) != 255) |
|
2576
|
4608 |
18 |
for (i=0; i<256 ; i++) { |
|
2579
|
4608 |
0 |
val = temp ? SvIV(*temp) : 0; |
|
|
4608 |
0 |
val = temp ? SvIV(*temp) : 0; |
|
2580
|
0 |
4608 |
if (val<0) val = 0; |
|
2581
|
0 |
4608 |
if (val>255) val = 255; |
|
2616
|
0 |
916 |
SvGETMAGIC(sv); |
|
|
0 |
0 |
SvGETMAGIC(sv); |
|
2617
|
0 |
916 |
RETVAL = SvOK(sv) && SvROK(sv) && |
|
|
0 |
0 |
RETVAL = SvOK(sv) && SvROK(sv) && |
|
|
0 |
0 |
RETVAL = SvOK(sv) && SvROK(sv) && |
|
2619
|
37 |
67 |
|| sv_derived_from(sv, "Imager::Color::Float")); |
|
2841
|
1 |
0 |
bits = (const unsigned char *)SvPV(bits_sv, bits_size); |
|
2842
|
1 |
0 |
mask = (const unsigned char *)SvPV(mask_sv, mask_size); |
|
2843
|
0 |
1 |
if (bits_size == 0) { |
|
2847
|
0 |
1 |
if (mask_size == 0) { |
|
2851
|
0 |
1 |
if (bits_size != mask_size) { |
|
2855
|
0 |
1 |
if (!*name) { |
|
2879
|
1 |
0 |
if (imgs) { |
|
2880
|
1 |
0 |
EXTEND(SP, count); |
|
|
0 |
1 |
EXTEND(SP, count); |
|
2881
|
3 |
1 |
for (i = 0; i < count; ++i) { |
|
2984
|
1 |
4 |
if (col_cnt <= 0) { |
|
2987
|
4 |
0 |
EXTEND(SP, col_cnt); |
|
|
0 |
4 |
EXTEND(SP, col_cnt); |
|
2988
|
9 |
4 |
for (i = 0; i < col_cnt; i++) { |
|
3005
|
0 |
0 |
if (result) { |
|
3007
|
0 |
0 |
EXTEND(SP, 1); |
|
3040
|
26 |
28 |
for (i = 0; i < in_imgs_count; ++i) { |
|
3042
|
0 |
26 |
if (!sv_derived_from(sv1, "Imager::ImgRaw")) { |
|
3046
|
25 |
3 |
if (in_imgs_count > 0) { |
|
3048
|
26 |
25 |
for (i = 0; i < in_imgs_count; ++i) { |
|
3050
|
0 |
26 |
if (!sv_derived_from(sv1, "Imager::ImgRaw")) { |
|
3053
|
26 |
0 |
tmp = SvIV((SV*)SvRV(sv1)); |
|
3062
|
25 |
3 |
if (SvOK(sv_width)) |
|
|
25 |
0 |
if (SvOK(sv_width)) |
|
|
0 |
25 |
if (SvOK(sv_width)) |
|
3063
|
3 |
0 |
width = SvIV(sv_width); |
|
3064
|
25 |
0 |
else if (in_imgs_count) |
|
3069
|
25 |
3 |
if (SvOK(sv_height)) |
|
|
25 |
0 |
if (SvOK(sv_height)) |
|
|
0 |
25 |
if (SvOK(sv_height)) |
|
3070
|
3 |
0 |
height = SvIV(sv_height); |
|
3071
|
25 |
0 |
else if (in_imgs_count) |
|
3076
|
28 |
0 |
ops = (struct rm_op *)SvPV(sv_ops, ops_len); |
|
3077
|
0 |
28 |
if (ops_len % sizeof(struct rm_op)) |
|
3083
|
248 |
28 |
for (i = 0; i < n_regs_count; ++i) { |
|
3085
|
102 |
146 |
if (SvOK(sv1)) |
|
|
102 |
0 |
if (SvOK(sv1)) |
|
|
0 |
102 |
if (SvOK(sv1)) |
|
3086
|
21 |
125 |
n_regs[i] = SvNV(sv1); |
|
3095
|
25 |
3 |
if (in_imgs) |
|
3099
|
27 |
1 |
if (result) { |
|
3101
|
0 |
27 |
EXTEND(SP, 1); |
|
3215
|
1 |
0 |
if (size_xo != size_yo || size_xo != size_ac) |
|
|
0 |
1 |
if (size_xo != size_yo || size_xo != size_ac) |
|
3217
|
0 |
1 |
if (size_xo < 2) |
|
3249
|
9 |
0 |
if (!SvROK(ST(10)) || ! SvTYPE(SvRV(ST(10)))) |
|
|
0 |
9 |
if (!SvROK(ST(10)) || ! SvTYPE(SvRV(ST(10)))) |
|
3276
|
5 |
0 |
if (!SvROK(ST(9)) || ! SvTYPE(SvRV(ST(9)))) |
|
|
0 |
5 |
if (!SvROK(ST(9)) || ! SvTYPE(SvRV(ST(9)))) |
|
3302
|
460 |
348 |
while (errors[i].msg) { |
|
3305
|
0 |
460 |
if (!av_store(av, 0, sv)) { |
|
3309
|
0 |
460 |
if (!av_store(av, 1, sv)) { |
|
3312
|
0 |
460 |
XPUSHs(sv_2mortal(newRV_noinc((SV*)av))); |
|
3339
|
0 |
1 |
if (items != 5) |
|
3341
|
1 |
0 |
if (!SvROK(ST(1)) || ! SvTYPE(SvRV(ST(1)))) |
|
|
0 |
1 |
if (!SvROK(ST(1)) || ! SvTYPE(SvRV(ST(1)))) |
|
3343
|
1 |
0 |
if (!SvROK(ST(2)) || ! SvTYPE(SvRV(ST(2)))) |
|
|
0 |
1 |
if (!SvROK(ST(2)) || ! SvTYPE(SvRV(ST(2)))) |
|
3345
|
1 |
0 |
if (!SvROK(ST(3)) || ! SvTYPE(SvRV(ST(3)))) |
|
|
0 |
1 |
if (!SvROK(ST(3)) || ! SvTYPE(SvRV(ST(3)))) |
|
3350
|
1 |
0 |
dmeasure = (int)SvIV(ST(4)); |
|
3352
|
0 |
1 |
num = av_len(axx) < av_len(ayy) ? av_len(axx) : av_len(ayy); |
|
3353
|
0 |
1 |
num = num <= av_len(ac) ? num : av_len(ac); |
|
3355
|
0 |
1 |
if (num < 2) croak("Usage: i_nearest_color array refs must have more than 1 entry each"); |
|
3359
|
3 |
1 |
for(i = 0; i
|
|
3360
|
3 |
0 |
xo[i] = (i_img_dim)SvIV(* av_fetch(axx, i, 0)); |
|
3361
|
3 |
0 |
yo[i] = (i_img_dim)SvIV(* av_fetch(ayy, i, 0)); |
|
3363
|
0 |
3 |
if ( !sv_derived_from(sv, "Imager::Color") ) { |
|
3367
|
3 |
0 |
ival[i] = *INT2PTR(i_color *, SvIV((SV *)SvRV(sv))); |
|
3384
|
0 |
0 |
if (rc!=NULL) { |
|
3385
|
0 |
0 |
if (evstr!=NULL) { |
|
3386
|
0 |
0 |
EXTEND(SP,2); |
|
3390
|
0 |
0 |
EXTEND(SP,1); |
|
3411
|
0 |
0 |
while( functions[i].name != NULL) { |
|
3412
|
0 |
0 |
EXTEND(SP,1); |
|
3414
|
0 |
0 |
EXTEND(SP,1); |
|
3434
|
38 |
374 |
if (i_gpix(im, x, y, RETVAL) != 0) { |
|
3468
|
1 |
18 |
if (!ip_handle_quant_opts2(aTHX_ &quant, quant_hv)) { |
|
3472
|
17 |
1 |
if (RETVAL) { |
|
3491
|
0 |
5 |
if (count <= 0) |
|
3494
|
5 |
5 |
for (i = 0; i < count; ++i) { |
|
3496
|
5 |
0 |
if (SvROK(img_sv) && sv_derived_from(img_sv, "Imager::ImgRaw")) { |
|
|
5 |
0 |
if (SvROK(img_sv) && sv_derived_from(img_sv, "Imager::ImgRaw")) { |
|
3497
|
5 |
0 |
imgs[i] = INT2PTR(i_img *, SvIV((SV*)SvRV(img_sv))); |
|
3506
|
1 |
4 |
if (!ip_handle_quant_opts2(aTHX_ &quant, quant_hv)) { |
|
3510
|
4 |
0 |
EXTEND(SP, quant.mc_count); |
|
|
0 |
4 |
EXTEND(SP, quant.mc_count); |
|
3511
|
278 |
4 |
for (i = 0; i < quant.mc_count; ++i) { |
|
3528
|
10 |
0 |
if (l < r) { |
|
3530
|
10 |
0 |
count = i_gpal(im, l, r, y, work); |
|
3531
|
2 |
8 |
if (GIMME_V == G_ARRAY) { |
|
|
8 |
2 |
if (GIMME_V == G_ARRAY) { |
|
3532
|
8 |
0 |
EXTEND(SP, count); |
|
|
0 |
8 |
EXTEND(SP, count); |
|
3533
|
312 |
8 |
for (i = 0; i < count; ++i) { |
|
3538
|
0 |
2 |
EXTEND(SP, 1); |
|
3544
|
0 |
0 |
if (GIMME_V != G_ARRAY) { |
|
|
0 |
0 |
if (GIMME_V != G_ARRAY) { |
|
3545
|
0 |
0 |
EXTEND(SP, 1); |
|
3559
|
331 |
0 |
if (items > 3) { |
|
3561
|
60722 |
331 |
for (i=0; i < items-3; ++i) { |
|
3562
|
60720 |
2 |
work[i] = SvIV(ST(i+3)); |
|
3565
|
329 |
0 |
RETVAL = i_ppal(im, l, l+items-3, y, work); |
|
3583
|
4 |
0 |
work = (i_palidx const *)SvPV(data, len); |
|
3585
|
4 |
0 |
if (len > 0) { |
|
3587
|
2 |
0 |
RETVAL = i_ppal(im, l, l+len, y, work); |
|
3602
|
0 |
35 |
if (items < 2) |
|
3605
|
113 |
35 |
for (i=0; i < items-1; ++i) { |
|
3606
|
113 |
0 |
if (sv_isobject(ST(i+1)) |
|
3607
|
113 |
0 |
&& sv_derived_from(ST(i+1), "Imager::Color")) { |
|
3608
|
113 |
0 |
IV tmp = SvIV((SV *)SvRV(ST(i+1))); |
|
3616
|
35 |
0 |
RETVAL = i_addcolors(im, colors, items-1); |
|
3629
|
0 |
9 |
if (items < 3) |
|
3632
|
13 |
9 |
for (i=0; i < items-2; ++i) { |
|
3633
|
13 |
0 |
if (sv_isobject(ST(i+2)) |
|
3634
|
13 |
0 |
&& sv_derived_from(ST(i+2), "Imager::Color")) { |
|
3635
|
13 |
0 |
IV tmp = SvIV((SV *)SvRV(ST(i+2))); |
|
3643
|
9 |
0 |
RETVAL = i_setcolors(im, index, colors, items-2); |
|
3657
|
0 |
20 |
if (count < 1) |
|
3660
|
20 |
0 |
if (i_getcolors(im, index, colors, count)) { |
|
|
20 |
0 |
if (i_getcolors(im, index, colors, count)) { |
|
3661
|
20 |
0 |
EXTEND(SP, count); |
|
|
0 |
20 |
EXTEND(SP, count); |
|
3662
|
193 |
20 |
for (i = 0; i < count; ++i) { |
|
3681
|
9 |
0 |
if (!i_findcolor(im, color, &RETVAL)) { |
|
|
2 |
7 |
if (!i_findcolor(im, color, &RETVAL)) { |
|
3710
|
322 |
0 |
if (l < r) { |
|
3713
|
25 |
297 |
if (GIMME_V == G_ARRAY) { |
|
|
42 |
280 |
if (GIMME_V == G_ARRAY) { |
|
3714
|
42 |
0 |
EXTEND(SP, count); |
|
|
0 |
42 |
EXTEND(SP, count); |
|
3715
|
2017 |
42 |
for (i = 0; i < count; ++i) |
|
3719
|
0 |
280 |
EXTEND(SP, 1); |
|
3725
|
0 |
0 |
if (GIMME_V != G_ARRAY) { |
|
|
0 |
0 |
if (GIMME_V != G_ARRAY) { |
|
3745
|
0 |
6 |
if (items < 8) |
|
3747
|
6 |
0 |
if (l < r) { |
|
3749
|
6 |
0 |
count = i_gsamp_bits(im, l, r, y, data, channels.channels, channels.count, bits); |
|
3750
|
70 |
6 |
for (i = 0; i < count; ++i) { |
|
3781
|
0 |
2 |
if (data_offset < 0) { |
|
3784
|
0 |
2 |
if (data_offset > data_count) { |
|
3787
|
1 |
1 |
if (pixel_count == -1 || |
|
|
0 |
1 |
if (pixel_count == -1 || |
|
3794
|
42 |
2 |
for (i = 0; i < data_used; ++i) |
|
3795
|
0 |
42 |
data[i] = SvUV(*av_fetch(data_av, data_offset + i, 0)); |
|
3797
|
2 |
0 |
RETVAL = i_psamp_bits(im, l, l + pixel_count, y, data, channels.channels, |
|
3800
|
2 |
0 |
if (data) |
|
3818
|
1 |
81 |
if (offset < 0) { |
|
3822
|
4 |
77 |
if (offset > 0) { |
|
3823
|
1 |
3 |
if (offset > data.count) { |
|
3830
|
6 |
74 |
if (width == -1 || |
|
|
4 |
2 |
if (width == -1 || |
|
3852
|
1 |
81 |
if (offset < 0) { |
|
3856
|
4 |
77 |
if (offset > 0) { |
|
3857
|
1 |
3 |
if (offset > data.count) { |
|
3864
|
6 |
74 |
if (width == -1 || |
|
|
4 |
2 |
if (width == -1 || |
|
3883
|
10 |
7 |
if (SvOK(ST(1))) { |
|
|
10 |
0 |
if (SvOK(ST(1))) { |
|
|
0 |
10 |
if (SvOK(ST(1))) { |
|
3884
|
7 |
0 |
if (!sv_isobject(ST(1)) |
|
3885
|
0 |
7 |
|| !sv_derived_from(ST(1), "Imager::ImgRaw")) { |
|
3888
|
7 |
0 |
mask = INT2PTR(i_img *, SvIV((SV *)SvRV(ST(1)))); |
|
3907
|
552 |
0 |
if (items > 3) { |
|
3908
|
158 |
394 |
if (items == 4 && SvOK(ST(3)) && !SvROK(ST(3))) { |
|
|
0 |
158 |
if (items == 4 && SvOK(ST(3)) && !SvROK(ST(3))) { |
|
|
0 |
0 |
if (items == 4 && SvOK(ST(3)) && !SvROK(ST(3))) { |
|
|
0 |
0 |
if (items == 4 && SvOK(ST(3)) && !SvROK(ST(3))) { |
|
|
152 |
6 |
if (items == 4 && SvOK(ST(3)) && !SvROK(ST(3))) { |
|
3910
|
152 |
0 |
work = (i_color *)SvPV(ST(3), len); |
|
3912
|
0 |
152 |
if (count * sizeof(i_color) != len) { |
|
3919
|
26476 |
400 |
for (i=0; i < items-3; ++i) { |
|
3920
|
26476 |
0 |
if (sv_isobject(ST(i+3)) |
|
3921
|
26476 |
0 |
&& sv_derived_from(ST(i+3), "Imager::Color")) { |
|
3922
|
26476 |
0 |
IV tmp = SvIV((SV *)SvRV(ST(i+3))); |
|
3958
|
15 |
0 |
if (l < r) { |
|
3961
|
3 |
12 |
if (GIMME_V == G_ARRAY) { |
|
|
13 |
2 |
if (GIMME_V == G_ARRAY) { |
|
3962
|
13 |
0 |
EXTEND(SP, count); |
|
|
0 |
13 |
EXTEND(SP, count); |
|
3963
|
614 |
13 |
for (i = 0; i < count; ++i) |
|
3967
|
0 |
2 |
EXTEND(SP, 1); |
|
3973
|
0 |
0 |
if (GIMME_V != G_ARRAY) { |
|
|
0 |
0 |
if (GIMME_V != G_ARRAY) { |
|
3989
|
226 |
0 |
if (items > 3) { |
|
3990
|
8 |
218 |
if (items == 4 && SvOK(ST(3)) && !SvROK(ST(3))) { |
|
|
0 |
8 |
if (items == 4 && SvOK(ST(3)) && !SvROK(ST(3))) { |
|
|
0 |
0 |
if (items == 4 && SvOK(ST(3)) && !SvROK(ST(3))) { |
|
|
0 |
0 |
if (items == 4 && SvOK(ST(3)) && !SvROK(ST(3))) { |
|
|
2 |
6 |
if (items == 4 && SvOK(ST(3)) && !SvROK(ST(3))) { |
|
3992
|
2 |
0 |
work = (i_fcolor *)SvPV(ST(3), len); |
|
3994
|
0 |
2 |
if (count * sizeof(i_fcolor) != len) { |
|
4001
|
20769 |
224 |
for (i=0; i < items-3; ++i) { |
|
4002
|
20769 |
0 |
if (sv_isobject(ST(i+3)) |
|
4003
|
20769 |
0 |
&& sv_derived_from(ST(i+3), "Imager::Color::Float")) { |
|
4004
|
20769 |
0 |
IV tmp = SvIV((SV *)SvRV(ST(i+3))); |
|
4031
|
6 |
46 |
if (i_gpixf(im, x, y, RETVAL) != 0) { |
|
4048
|
21 |
0 |
if (l < r) { |
|
4052
|
5 |
16 |
if (GIMME_V == G_ARRAY) { |
|
|
17 |
4 |
if (GIMME_V == G_ARRAY) { |
|
4053
|
17 |
0 |
EXTEND(SP, count); |
|
|
0 |
17 |
EXTEND(SP, count); |
|
4054
|
111 |
17 |
for (i = 0; i < count; ++i) { |
|
4059
|
4 |
0 |
else if (count) { |
|
4060
|
0 |
4 |
EXTEND(SP, 1); |
|
4077
|
88 |
22 |
for (i = 0; i < MAXCHANNELS; ++i) |
|
4079
|
22 |
0 |
if (l < r) { |
|
4081
|
694 |
22 |
for (i = 0; i < r-l; ++i) |
|
4084
|
10 |
12 |
if (GIMME_V == G_ARRAY) { |
|
|
19 |
3 |
if (GIMME_V == G_ARRAY) { |
|
4085
|
19 |
0 |
EXTEND(SP, count); |
|
|
0 |
19 |
EXTEND(SP, count); |
|
4086
|
666 |
19 |
for (i = 0; i < count; ++i) { |
|
4091
|
3 |
0 |
else if (count) { |
|
4092
|
0 |
3 |
EXTEND(SP, 1); |
|
4134
|
0 |
31 |
SvGETMAGIC(name_sv); |
|
|
0 |
0 |
SvGETMAGIC(name_sv); |
|
4135
|
2 |
29 |
if (SvOK(name_sv)) |
|
|
2 |
0 |
if (SvOK(name_sv)) |
|
|
0 |
2 |
if (SvOK(name_sv)) |
|
4136
|
25 |
4 |
name = SvPV_nomg(name_sv, len); |
|
4155
|
0 |
19 |
SvGETMAGIC(name_sv); |
|
|
0 |
0 |
SvGETMAGIC(name_sv); |
|
4156
|
1 |
18 |
if (SvOK(name_sv)) |
|
|
1 |
0 |
if (SvOK(name_sv)) |
|
|
0 |
1 |
if (SvOK(name_sv)) |
|
4157
|
18 |
0 |
name = SvPV_nomg(name_sv, len); |
|
4160
|
0 |
19 |
SvGETMAGIC(data_sv); |
|
|
0 |
0 |
SvGETMAGIC(data_sv); |
|
4161
|
1 |
18 |
if (SvOK(data_sv)) |
|
|
1 |
0 |
if (SvOK(data_sv)) |
|
|
0 |
1 |
if (SvOK(data_sv)) |
|
4162
|
18 |
0 |
data = SvPV(data_sv, len); |
|
4179
|
161 |
142 |
if (i_tags_find(&im->tags, name, start, &entry)) { |
|
4195
|
3 |
1 |
if (i_tags_findn(&im->tags, code, start, &entry)) { |
|
4236
|
160 |
0 |
if (index >= 0 && index < im->tags.count) { |
|
|
160 |
0 |
if (index >= 0 && index < im->tags.count) { |
|
4238
|
0 |
160 |
EXTEND(SP, 5); |
|
4240
|
158 |
2 |
if (entry->name) { |
|
4246
|
43 |
117 |
if (entry->data) { |
|
4263
|
1 |
1 |
if (SvIOK(what_sv)) { |
|
4264
|
1 |
0 |
code = SvIV(what_sv); |
|
4268
|
1 |
0 |
name = SvPV_nolen(what_sv); |
|
4271
|
2 |
0 |
if (i_tags_get_string(&im->tags, name, code, buffer, sizeof(buffer))) { |
|
4272
|
0 |
2 |
EXTEND(SP, 1); |
|
4325
|
23 |
6 |
SvGETMAGIC(cust_hatch_sv); |
|
|
0 |
23 |
SvGETMAGIC(cust_hatch_sv); |
|
4326
|
28 |
1 |
if (SvOK(cust_hatch_sv)) { |
|
|
28 |
0 |
if (SvOK(cust_hatch_sv)) { |
|
|
0 |
28 |
if (SvOK(cust_hatch_sv)) { |
|
4327
|
1 |
0 |
cust_hatch = (unsigned char *)SvPV_nomg(cust_hatch_sv, len); |
|
4348
|
0 |
2 |
SvGETMAGIC(cust_hatch_sv); |
|
|
0 |
0 |
SvGETMAGIC(cust_hatch_sv); |
|
4349
|
2 |
0 |
if (SvOK(cust_hatch_sv)) { |
|
|
2 |
0 |
if (SvOK(cust_hatch_sv)) { |
|
|
0 |
2 |
if (SvOK(cust_hatch_sv)) { |
|
4350
|
0 |
0 |
cust_hatch = (unsigned char *)SvPV(cust_hatch_sv, len); |
|
4373
|
8 |
1 |
SvGETMAGIC(matrix_sv); |
|
|
0 |
8 |
SvGETMAGIC(matrix_sv); |
|
4374
|
8 |
1 |
if (!SvOK(matrix_sv)) { |
|
|
8 |
0 |
if (!SvOK(matrix_sv)) { |
|
|
8 |
0 |
if (!SvOK(matrix_sv)) { |
|
4378
|
1 |
0 |
if (!SvROK(matrix_sv) || SvTYPE(SvRV(matrix_sv)) != SVt_PVAV) |
|
|
0 |
1 |
if (!SvROK(matrix_sv) || SvTYPE(SvRV(matrix_sv)) != SVt_PVAV) |
|
4382
|
0 |
1 |
if (len > 9) |
|
4384
|
9 |
1 |
for (i = 0; i < len; ++i) { |
|
4386
|
4 |
5 |
matrix[i] = SvNV(sv1); |
|
4388
|
0 |
1 |
for (; i < 9; ++i) |