[LON-CAPA-cvs] cvs: loncom /homework imageresponse.pm

albertel lon-capa-cvs@mail.lon-capa.org
Mon, 23 Feb 2004 23:55:40 -0000


albertel		Mon Feb 23 18:55:40 2004 EDT

  Modified files:              
    /loncom/homework	imageresponse.pm 
  Log:
  - convertedd for us by the new randomlylabel
  
  
Index: loncom/homework/imageresponse.pm
diff -u loncom/homework/imageresponse.pm:1.48 loncom/homework/imageresponse.pm:1.49
--- loncom/homework/imageresponse.pm:1.48	Tue Feb 17 19:23:01 2004
+++ loncom/homework/imageresponse.pm	Mon Feb 23 18:55:40 2004
@@ -2,7 +2,7 @@
 # The LearningOnline Network with CAPA
 # image click response style
 #
-# $Id: imageresponse.pm,v 1.48 2004/02/18 00:23:01 albertel Exp $
+# $Id: imageresponse.pm,v 1.49 2004/02/23 23:55:40 albertel Exp $
 #
 # Copyright Michigan State University Board of Trustees
 #
@@ -112,13 +112,12 @@
     my $part=$Apache::inputtags::part;
     my $respid=$Apache::inputtags::response['-1'];
     my $id=&Apache::loncommon::get_cgi_id();
-    my %x;
+    my (%x,$i);
     $x{"cgi.$id.BGIMG"}=&Apache::lonnet::escape($image);
     my ($x,$y)=split(/:/,$Apache::lonhomework::history{"resource.$part.$respid.submission"});
     #draws 2 xs on the image at the clicked location
     #one in white and then one in red on top of the one in white
     if (defined($x) && $x=~/\S/ && defined($y) && $y =~/\S/) {
-	$x{"cgi.$id.LINECOUNT"}=4;
 	my $length = 6;
 	my $width = 1;
 	my $extrawidth = 2;
@@ -127,18 +126,22 @@
 	my $ymin=($y-$length);
 	my $ymax=($y+$length);
 
-	$x{"cgi.$id.LINE0"}=
-	    join(':',(($xmin),($ymin),($xmax),($ymax),
-		      "FFFFFF",($width+$extrawidth)));
-	$x{"cgi.$id.LINE1"}=
-	    join(':',(($xmin),($ymax),($xmax),($ymin),
-		      "FFFFFF",($width+$extrawidth)));
-	$x{"cgi.$id.LINE2"}=
-	    join(':',(($xmin),($ymin),($xmax),($ymax),
-		      "FF0000",($width)));
-	$x{"cgi.$id.LINE3"}=
-	    join(':',(($xmin),($ymax),($xmax),($ymin),
-		      "FF0000",($width)));
+	$x{"cgi.$id.OBJTYPE"}.='LINE:';
+	$i=$x{"cgi.$id.OBJCOUNT"}++;
+	$x{"cgi.$id.OBJ$i"}=join(':',(($xmin),($ymin),($xmax),($ymax),
+				      "FFFFFF",($width+$extrawidth)));
+	$x{"cgi.$id.OBJTYPE"}.='LINE:';
+	$i=$x{"cgi.$id.OBJCOUNT"}++;
+	$x{"cgi.$id.OBJ$i"}=join(':',(($xmin),($ymax),($xmax),($ymin),
+				      "FFFFFF",($width+$extrawidth)));
+	$x{"cgi.$id.OBJTYPE"}.='LINE:';
+	$i=$x{"cgi.$id.OBJCOUNT"}++;
+	$x{"cgi.$id.OBJ$i"}=join(':',(($xmin),($ymin),($xmax),($ymax),
+				      "FF0000",($width)));
+	$x{"cgi.$id.OBJTYPE"}.='LINE:';
+	$i=$x{"cgi.$id.OBJCOUNT"}++;
+	$x{"cgi.$id.OBJ$i"}=join(':',(($xmin),($ymax),($xmax),($ymin),
+				      "FF0000",($width)));
     }
     if ($mode eq 'answer') {
 	my $width = 1;
@@ -146,20 +149,24 @@
 	my @areas = @{ $Apache::response::foilgroup{"$name.area"} };
 	foreach my $area (@areas) {
 	    if ($area=~/^rectangle:/) {
+		$x{"cgi.$id.OBJTYPE"}.='RECTANGLE:';
+		$i=$x{"cgi.$id.OBJCOUNT"}++;
 		my ($x1,$y1,$x2,$y2)=
 		    ($area=~m/rectangle:\(([0-9]+),([0-9]+)\)\-\(([0-9]+),([0-9]+)\)/);
-		my $i=$x{"cgi.$id.BOXCOUNT"}++;
-		$x{"cgi.$id.BOX$i"}=join(':',($x1,$y1,$x2,$y2,"FFFFFF",
+		$x{"cgi.$id.OBJ$i"}=join(':',($x1,$y1,$x2,$y2,"FFFFFF",
 					      ($width+$extrawidth)));
-		$i=$x{"cgi.$id.BOXCOUNT"}++;
-		$x{"cgi.$id.BOX$i"}=join(':',($x1,$y1,$x2,$y2,"00FF00",$width));
+		$x{"cgi.$id.OBJTYPE"}.='RECTANGLE:';
+		$i=$x{"cgi.$id.OBJCOUNT"}++;
+		$x{"cgi.$id.OBJ$i"}=join(':',($x1,$y1,$x2,$y2,"00FF00",$width));
 	    } elsif ($area=~/^polygon:(.*)/) {
-		my $i=$x{"cgi.$id.POLYCOUNT"}++;
-		$x{"cgi.$id.POLYOPT$i"}=join(':',("FFFFFF",($width+$extrawidth)));
-		$x{"cgi.$id.POLY$i"}=$1;
-		$i=$x{"cgi.$id.POLYCOUNT"}++;
-		$x{"cgi.$id.POLYOPT$i"}=join(':',("00FF00",$width));
-		$x{"cgi.$id.POLY$i"}=$1;
+		$x{"cgi.$id.OBJTYPE"}.='POLYGON:';
+		$i=$x{"cgi.$id.OBJCOUNT"}++;
+		$x{"cgi.$id.OBJ$i"}=join(':',("FFFFFF",($width+$extrawidth)));
+		$x{"cgi.$id.OBJEXTRA$i"}=$1;
+		$x{"cgi.$id.OBJTYPE"}.='POLYGON:';
+		$i=$x{"cgi.$id.OBJCOUNT"}++;
+		$x{"cgi.$id.OBJ$i"}=join(':',("00FF00",$width));
+		$x{"cgi.$id.OBJEXTRA$i"}=$1;
 	    }
 	}
     }