--- loncom/homework/randomlabel.pm 2008/11/18 19:14:28 1.92 +++ loncom/homework/randomlabel.pm 2008/11/25 13:16:17 1.93 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # random labelling tool # -# $Id: randomlabel.pm,v 1.92 2008/11/18 19:14:28 jms Exp $ +# $Id: randomlabel.pm,v 1.93 2008/11/25 13:16:17 jms Exp $ # # Copyright Michigan State University Board of Trustees # @@ -24,35 +24,83 @@ # /home/httpd/html/adm/gpl.txt # # http://www.lon-capa.org/ -# -# SYNTAX: -# -# -# -# -# -# -# -# -# -# -# -# -# -# -# -# -# -# -# =========================================== -# side effect: -# location (123,456): $GroupOne[0] = 2 # images give out indexes -# (321,654): $GroupOne[1] = 1 -# (213,546): $GroupOne[2] = 0 -# location (12,45) : $GroupTwo[0] = "TEXT-3" -# (32,65) : $GroupTwo[1] = "TEXT-1" -# (21,54) : $GroupTwo[2] = "TEXT-2" -# =========================================== + +=pod + +=head1 NAME + +Apache::randomlable.pm + +=head1 SYNOPSIS + +Interface for producing applet code which +randomizes the labelling of an image. + +This is part of the LearningOnline Network with CAPA project +described at http://www.lon-capa.org. + + +=head1 SYNTAX + + + + + + + + + + + + + + + + + + + + =========================================== + side effect: + location (123,456): $GroupOne[0] = 2 images give out indexes + (321,654): $GroupOne[1] = 1 + (213,546): $GroupOne[2] = 0 + location (12,45) : $GroupTwo[0] = "TEXT-3" + (32,65) : $GroupTwo[1] = "TEXT-1" + (21,54) : $GroupTwo[2] = "TEXT-2" + =========================================== + + +=head1 NOTABLE SUBROUTINES + +=over + +=item check_int() + + utility function to do error checking on a integer. + +=item extract_tag_sizes() + +Parameters: + tag - tag potentially containing height/width attributes. + def_width - Default width. + def_height - Default height. + Returns: + list containing width/height. + +=item get_label_width() + + Utility sub to compute the width of a label. + +=item end_labelgroup() + +begin to assign labels to locations + +=back + +=cut + + package Apache::randomlabel; use Apache::lonnet; @@ -90,15 +138,8 @@ sub check_int { return $num; } -# Get width/height from an image tag... -# -# Parameters: -# tag - tag potentially containing height/width attributes. -# def_width - Default width. -# def_height - Default height. -# Returns: -# list containing width/height. -# + + sub extract_tag_sizes { my ($tag, $dw, $dh) = @_; $tag =~ s/\s+/ /g; # Collapse whitespace. @@ -359,9 +400,8 @@ sub start_labelgroup { return $result; } -# -# Utility sub to compute the width of a label. -# + + sub get_label_width { my $label = shift; &Apache::lonxml::debug("image label = $label"); @@ -411,7 +451,8 @@ sub add_vars { $out=Apache::run::run($code,$safeeval); } -# begin to assign labels to locations + + sub end_labelgroup { my ($target,$token,$tagstack,$parstack,$parser,$safeeval,$style)=@_; my $gname = $Apache::randomlabel::groupname;