--- loncom/xml/londefdef.pm 2004/12/27 14:06:32 1.248 +++ loncom/xml/londefdef.pm 2004/12/29 11:39:25 1.249 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # Tags Default Definition Module # -# $Id: londefdef.pm,v 1.248 2004/12/27 14:06:32 foxr Exp $ +# $Id: londefdef.pm,v 1.249 2004/12/29 11:39:25 foxr Exp $ # # # Copyright Michigan State University Board of Trustees @@ -2420,6 +2420,16 @@ sub end_th { } #-- tag (end tag forbidden) +# +# Render the tag. +# has the following attributes (in addition to the +# standard HTML ones: +# TeXwrap - Governs how the tex target will try to wrap text around +# horizontally aligned images. +# TeXwidth - The width of the image when rendered for print (mm). +# TeXheight - The height of the image when rendered for print (mm) +# (Note there seems to also be support for this as a % of page size) +# sub start_img { my ($target,$token,$tagstack,$parstack,$parser,$safeeval) = @_; my $src = &Apache::lonxml::get_param('src',$parstack,$safeeval, @@ -2431,6 +2441,9 @@ sub start_img { $Apache::lonxml::extlinks[$#Apache::lonxml::extlinks+1]=$src; my $currentstring = ''; my $scaling = .3; + + # Render unto browsers that which are the browser's... + if ($target eq 'web') { if ($ENV{'browser.imagesuppress'} ne 'on') { $currentstring.= $token->[4]; @@ -2443,6 +2456,9 @@ sub start_img { } $currentstring.='[IMAGE: '.$alttag.']'; } + + # and render unto TeX that which is LaTeX + } elsif ($target eq 'tex') { # # The alignment will require some superstructure to be put around @@ -2553,6 +2569,11 @@ sub start_img { # tag will care about replication } } + + # And here's where the semi-quote breaks down: allow the user + # to edit the beast as well by rendering the problem for edit: + + } elsif ($target eq 'edit') { $currentstring .=&Apache::edit::tag_start($target,$token); $currentstring .=&Apache::edit::text_arg('Image Url:','src',$token,70). @@ -2565,11 +2586,15 @@ sub start_img { $currentstring .=&Apache::edit::text_arg('TeXheight (mm):','TeXheight',$token,5); $currentstring .=&Apache::edit::select_arg('Alignment:','align', ['','bottom','middle','top','left','right'],$token,5); + $currentstring .=&Apache::edit::select_arg('TeXwrap:', 'TeXwrap', + ['', 'parbox', 'parpic'], $token, 2); $currentstring .=&Apache::edit::end_row().&Apache::edit::start_spanning_row(); - my $src=&Apache::lonxml::get_param('src',$parstack,$safeeval); - my $alt=&Apache::lonxml::get_param('alt',$parstack,$safeeval); - my $width=&Apache::lonxml::get_param('width',$parstack,$safeeval); - my $height=&Apache::lonxml::get_param('height',$parstack,$safeeval); + my $src= &Apache::lonxml::get_param('src',$parstack,$safeeval); + my $alt= &Apache::lonxml::get_param('alt',$parstack,$safeeval); + my $width= &Apache::lonxml::get_param('width',$parstack,$safeeval); + my $height= &Apache::lonxml::get_param('height',$parstack,$safeeval); + + $currentstring .= ''.$alt.'[2]{'src'},$token->[2]{'width'},$token->[2]{'height'}); my $ctag=&Apache::edit::get_new_args($token,$parstack, $safeeval,'src','alt','align', - 'TeXwidth','TeXheight', + 'TeXwidth','TeXheight', 'TeXwrap', 'width','height'); my ($nsrc,$nwidth,$nheight)= ($token->[2]{'src'},$token->[2]{'width'},$token->[2]{'height'});