Esempio n. 1
0
 protected function drawArea(awDriver $driver, awPolygon $polygon)
 {
     $starts = array();
     foreach ($this->areas as $area) {
         list($start) = $area;
         $starts[$start] = TRUE;
     }
     // Draw filled areas
     foreach ($this->areas as $area) {
         list($start, $stop, $background) = $area;
         $polygonArea = new awPolygon();
         $p = $this->xAxisPoint($start);
         $polygonArea->append($p);
         for ($i = $start; $i <= $stop; $i++) {
             $p = clone $polygon->get($i);
             if ($i === $stop and array_key_exists($stop, $starts)) {
                 $p = $p->move(-1, 0);
             }
             $polygonArea->append($p);
         }
         $p = $this->xAxisPoint($stop);
         if (array_key_exists($stop, $starts)) {
             $p = $p->move(-1, 0);
         }
         $polygonArea->append($p);
         // Draw area
         $driver->filledPolygon($background, $polygonArea);
     }
 }