]> git.imager.perl.org - imager.git/blob - typemap
- Imager::Font->new() for the tt (Freetype 1.x) driver now correctly
[imager.git] / typemap
1 #i_img *                        T_PTR_NULL
2 Imager::Color           T_PTROBJ
3 Imager::Color::Float    T_PTROBJ
4 Imager::ImgRaw          T_PTROBJ
5 Imager::Font::TT        T_PTROBJ
6 Imager::IO              T_PTROBJ
7 Imager::Font::FT2       T_PTROBJ
8 Imager::FillHandle      T_PTROBJ
9 const char *            T_PV
10 float                   T_FLOAT
11 float*                  T_ARRAY
12 undef_int               T_IV_U
13 undef_neg_int           T_IV_NEGU
14 HASH                    T_HVREF
15 utf8_str                T_UTF8_STR
16 #############################################################################
17 INPUT
18 T_PTR_NULL
19         if (SvOK($arg)) $var = INT2PTR($type,SvIV($arg));
20         else $var = NULL
21
22 # the pre-5.8.0 T_AVREF input map was fixed in 5.8.0
23 T_AVREF
24         if (SvROK($arg) && SvTYPE(SvRV($arg))==SVt_PVAV)
25             $var = (AV*)SvRV($arg);
26         else
27             Perl_croak(aTHX_ \"$var is not an array reference\")
28
29 #############################################################################
30 OUTPUT
31 T_IV_U
32         if ($var == 0) $arg=&PL_sv_undef;
33         else sv_setiv($arg, (IV)$var);
34 T_IV_NEGU
35         if ($var < 0) $arg=&PL_sv_undef;
36         else sv_setiv($arg, (IV)$var);
37 T_PTR_NULL
38         sv_setiv($arg, (IV)$var);