]> git.imager.perl.org - imager.git/blob - ICO/ICO.xs
- Calling setpixel() with color set to [ 0, 0, 0 ] would crash with
[imager.git] / ICO / ICO.xs
1 #include "EXTERN.h"
2 #include "perl.h"
3 #include "XSUB.h"
4 #include "imext.h"
5 #include "imperl.h"
6 #include "imicon.h"
7
8 DEFINE_IMAGER_CALLBACKS;
9
10 MODULE = Imager::File::ICO  PACKAGE = Imager::File::ICO
11
12 PROTOTYPES: DISABLE
13
14 Imager::ImgRaw
15 i_readico_single(ig, index)
16         Imager::IO ig
17         int index
18
19 void
20 i_readico_multi(ig)
21         Imager::IO ig
22       PREINIT:
23         i_img **imgs;
24         int count;
25         int i;
26       PPCODE:
27         imgs = i_readico_multi(ig, &count);
28         if (imgs) {
29           EXTEND(SP, count);
30           for (i = 0; i < count; ++i) {
31             SV *sv = sv_newmortal();
32             sv_setref_pv(sv, "Imager::ImgRaw", (void *)imgs[i]);
33             PUSHs(sv);
34           }
35           myfree(imgs);
36         }
37
38
39 BOOT:
40         PERL_INITIALIZE_IMAGER_CALLBACKS;