1<?php 2// This file is part of Moodle - http://moodle.org/ 3// 4// Moodle is free software: you can redistribute it and/or modify 5// it under the terms of the GNU General Public License as published by 6// the Free Software Foundation, either version 3 of the License, or 7// (at your option) any later version. 8// 9// Moodle is distributed in the hope that it will be useful, 10// but WITHOUT ANY WARRANTY; without even the implied warranty of 11// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12// GNU General Public License for more details. 13// 14// You should have received a copy of the GNU General Public License 15// along with Moodle. If not, see <http://www.gnu.org/licenses/>. 16 17/** 18 * This file contains the annotation class for the assignfeedback_editpdf plugin 19 * 20 * @package assignfeedback_editpdf 21 * @copyright 2012 Davo Smith 22 * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later 23 */ 24 25namespace assignfeedback_editpdf; 26 27/** 28 * This class adds and removes annotations from a page of a response. 29 * 30 * @package assignfeedback_editpdf 31 * @copyright 2012 Davo Smith 32 * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later 33 */ 34class annotation { 35 36 /** @var int unique id for this annotation */ 37 public $id = 0; 38 39 /** @var int gradeid for this annotation */ 40 public $gradeid = 0; 41 42 /** @var int page number for this annotation */ 43 public $pageno = 0; 44 45 /** @var int starting location in pixels. Image resolution is 100 pixels per inch */ 46 public $x = 0; 47 48 /** @var int ending location in pixels. Image resolution is 100 pixels per inch */ 49 public $endx = 0; 50 51 /** @var int starting location in pixels. Image resolution is 100 pixels per inch */ 52 public $y = 0; 53 54 /** @var int ending location in pixels. Image resolution is 100 pixels per inch */ 55 public $endy = 0; 56 57 /** @var string path information for drawing the annotation. */ 58 public $path = ''; 59 60 /** @var string colour - One of red, yellow, green, blue, white */ 61 public $colour = 'yellow'; 62 63 /** @var string type - One of line, oval, rect, etc */ 64 public $type = 'line'; 65 66 /** 67 * Convert a compatible stdClass into an instance of this class. 68 * @param stdClass $record 69 */ 70 public function __construct(\stdClass $record = null) { 71 if ($record) { 72 $intcols = array('endx', 'endy', 'x', 'y'); 73 foreach ($this as $key => $value) { 74 if (isset($record->$key)) { 75 if (in_array($key, $intcols)) { 76 $this->$key = intval($record->$key); 77 } else { 78 $this->$key = $record->$key; 79 } 80 } 81 } 82 } 83 } 84} 85