Graphics-VTK

 view release on metacpan or  search on metacpan

ChangeLog  view on Meta::CPAN


	* parseWrap: Tweaks to parseWrap to recognize single array return
	types. 'xsubpp' now parses Common.xs without barfing.  

2002-10-20 09:35  cerney

	* typemap: Fixed typemap 

2002-10-20 09:18  cerney

	* parseWrap, Common/Common.xs: Modified to not use PPCODE sections
	in xs code. These are now emulated wih CODE sections and some extra
	XS macros. For some reason, xsubpp did not like PPCODE sections in
	multiple CASE section in a XS function. This made overridden methods
	that return a list of values (e.g. vtkDataArray::GetRange)
	impossible to implement in XS code.  

2002-10-19 10:25  cerney

	* VTK.pm, cmakeParse, makeBindings, parseVTKdir, parseWrap,
	Common/Common.pm, Common/Common.xs, Common/typemapCommon,
	Graphics/Graphics.pm, Graphics/Graphics.xs,
	Graphics/typemapGraphics: Trying to get the newly parsed Common.xs

parseWrap  view on Meta::CPAN

		
	}
		
	if( @preInitLines ){
		print join("\n", ("\t\tPREINIT:", @preInitLines))."\n";
	}

	my $retValText = "RETVAL";
	if( $listSize){  # Returning a list:
		$retValText = "retval";
		# We are emulating a 'PPCODE' section with 'CODE' text because
		#  xsubpp doesn't like multiple CASE's with PPCODEs in them.
		print "\t\tCODE:\n";
		print "\t\tSP -= items;\n\t\t";	

	}
	else{
		print "\t\tCODE:\n\t\t";
	}
	
	# Check for needing a initialization due to args dims
	my $indx = 0;

parseWrap  view on Meta::CPAN

		}
		else{
			$XSmacro = 'newSVnv';
		}
		
		print "\t\tEXTEND(SP, $listSize);\n";
		foreach ( ( 0..($listSize-1))){
			print "\t\tPUSHs(sv_2mortal(".$XSmacro."(retval[".$_."])));\n"
		}
		
		# This stuff is needed because we are emulating a PPCODE section
		#   using a CODE section, because xsubpp doesn't like multiple CASE's with PPCODEs in them.
		print "\t\tPUTBACK;\n";
		print "\t\treturn;\n";

	}
	elsif( $returnType =~ /^\s*(static\s+)?void$/){
		print "\t\tXSRETURN_EMPTY;\n";
	}
	else{
		push @$outputs, 'RETVAL';



( run in 0.684 second using v1.01-cache-2.11-cpan-5511b514fd6 )