1Tickit::Event::Key T_PTROBJ 2Tickit::Event::Mouse T_PTROBJ 3Tickit::Pen T_PTROBJ_OR_NULL 4Tickit::Rect T_PTROBJ 5Tickit::Rect_MAYBE T_PTROBJ_MAYBE 6Tickit::RectSet T_PTROBJ 7Tickit::RenderBuffer T_PTROBJ 8Tickit::StringPos T_PTROBJ_OR_NULL 9Tickit::Term T_PTROBJ 10Tickit::Term_MAYBE T_PTROBJ_MAYBE 11Tickit::Window T_PTROBJ 12Tickit::_Tickit T_PTROBJ 13 14INPUT 15T_PTROBJ_MAYBE 16 if (!SvOK($arg)) { 17 $var = NULL; 18 } 19 else if (SvROK($arg) && sv_derived_from($arg, \"${\do { my $tmp = $ntype; $tmp =~ s/_MAYBE$//; $tmp }}\")) { 20 IV tmp = SvIV((SV*)SvRV($arg)); 21 $var = INT2PTR($type,tmp); 22 } 23 else 24 Perl_croak(aTHX_ \"%s: %s is not of type %s\", 25 ${$ALIAS?\q[GvNAME(CvGV(cv))]:\qq[\"$pname\"]}, 26 \"$var\", \"${\do{ my $tmp = $ntype; $tmp =~ s/_MAYBE$//; $tmp }}\") 27 28INPUT 29T_PTROBJ_OR_NULL 30 if (!SvOK($arg)) { 31 $var = NULL; 32 } 33 else if (SvROK($arg) && sv_derived_from($arg, \"${ntype}\")) { 34 IV tmp = SvIV((SV*)SvRV($arg)); 35 $var = INT2PTR($type,tmp); 36 } 37 else 38 Perl_croak(aTHX_ \"%s: %s is not of type %s\", 39 ${$ALIAS?\q[GvNAME(CvGV(cv))]:\qq[\"$pname\"]}, 40 \"$var\", \"$ntype\") 41 42INPUT 43T_PTRSTRUCT 44 if (SvROK($arg) && sv_derived_from($arg, \"${\do { local $_ = $ntype; s/^struct\s+//; s/Ptr$//; $_ }}\")) { 45 IV tmp = SvIV((SV*)SvRV($arg)); 46 $var = INT2PTR($type,tmp); 47 } 48 else 49 Perl_croak(aTHX_ \"%s: %s is not of type %s\", 50 ${$ALIAS?\q[GvNAME(CvGV(cv))]:\qq[\"$pname\"]}, 51 \"$var\", \"${\do { local $_ = $ntype; s/^struct\s+//; s/Ptr$//; $_ }}\"); 52 53OUTPUT 54T_PTROBJ_OR_NULL 55 if ($var) 56 sv_setref_pv($arg, \"${ntype}\", (void*)$var); 57 else 58 sv_setsv($arg, &PL_sv_undef); 59