Diff for /loncom/homework/imageresponse.pm between versions 1.12 and 1.17

version 1.12, 2001/08/06 20:33:23 version 1.17, 2002/02/04 17:30:53
Line 1 Line 1
 # The LearningOnline Network with CAPA  # The LearningOnline Network with CAPA
 # iimage click response style  # image click response style
   #
   # $Id$
   #
   # Copyright Michigan State University Board of Trustees
   #
   # This file is part of the LearningOnline Network with CAPA (LON-CAPA).
   #
   # LON-CAPA is free software; you can redistribute it and/or modify
   # it under the terms of the GNU General Public License as published by
   # the Free Software Foundation; either version 2 of the License, or
   # (at your option) any later version.
   #
   # LON-CAPA is distributed in the hope that it will be useful,
   # but WITHOUT ANY WARRANTY; without even the implied warranty of
   # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
   # GNU General Public License for more details.
   #
   # You should have received a copy of the GNU General Public License
   # along with LON-CAPA; if not, write to the Free Software
   # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
   #
   # /home/httpd/html/adm/gpl.txt
   #
   # http://www.lon-capa.org/
   #
   
 #FIXME assumes multiple possbile submissions but only one is possible currently  #FIXME assumes multiple possbile submissions but only one is possible currently
   
 package Apache::imageresponse;  package Apache::imageresponse;
 use strict;  use strict;
   
 sub BEGIN {  BEGIN {
   &Apache::lonxml::register('Apache::imageresponse',('imageresponse'));    &Apache::lonxml::register('Apache::imageresponse',('imageresponse'));
 }  }
   
 sub start_imageresponse {  sub start_imageresponse {
   my ($target,$token,$tagstack,$parstack,$parser,$safeeval,$style)=@_;    my ($target,$token,$tagstack,$parstack,$parser,$safeeval,$style)=@_;
     my $result;
   #when in a radiobutton response use these    #when in a radiobutton response use these
   &Apache::lonxml::register('Apache::imageresponse',('foilgroup','foil','text','image','rectangle','conceptgroup'));    &Apache::lonxml::register('Apache::imageresponse',('foilgroup','foil','text','image','rectangle','conceptgroup'));
   push (@Apache::lonxml::namespace,'imageresponse');    push (@Apache::lonxml::namespace,'imageresponse');
   my $id = &Apache::response::start_response($parstack,$safeeval);    my $id = &Apache::response::start_response($parstack,$safeeval);
   return '';    if ($target eq 'meta') {
       $result=&Apache::response::meta_package_write('imageresponse');
     }
     return $result;
 }  }
   
 sub end_imageresponse {  sub end_imageresponse {
   &Apache::response::end_response;    &Apache::response::end_response;
   pop @Apache::lonxml::namespace;    pop @Apache::lonxml::namespace;
     &Apache::lonxml::deregister('Apache::imageresponse',('foilgroup','foil','text','image','rectangle','conceptgroup'));
   return '';    return '';
 }  }
   
Line 242  sub grade_rectangle { Line 272  sub grade_rectangle {
   &Apache::lonxml::debug("Point $x1,$y1,$x2,$y2");    &Apache::lonxml::debug("Point $x1,$y1,$x2,$y2");
   if ($x1 > $x2) { my $temp=$x1;$x1=$x2;$x2=$temp; }    if ($x1 > $x2) { my $temp=$x1;$x1=$x2;$x2=$temp; }
   if ($y1 > $y2) { my $temp=$y1;$y1=$y2;$y2=$temp; }    if ($y1 > $y2) { my $temp=$y1;$y1=$y2;$y2=$temp; }
   if ($x => $x1) { if ($x <= $x2) { if ($y => $y1) { if ($y <= $y2) { return 'APPROX_ANS'; } } } }    if (($x >= $x1) && ($x <= $x2) && ($y >= $y1) && ($y <= $y2)) {
       return 'APPROX_ANS';
     }
   return 'INCORRECT';    return 'INCORRECT';
 }  }
   

Removed from v.1.12  
changed lines
  Added in v.1.17


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>