getOutline() public method

public getOutline ( ) : Outline
return PhpOffice\PhpPresentation\Style\Outline
Exemplo n.º 1
0
 /**
  * @param Chart $chart
  * @param Chart\Series $series
  */
 private function writeSeriesStyle(Chart $chart, Chart\Series $series)
 {
     $chartType = $chart->getPlotArea()->getType();
     // style:style
     $this->xmlContent->startElement('style:style');
     $this->xmlContent->writeAttribute('style:name', 'styleSeries' . $this->numSeries);
     $this->xmlContent->writeAttribute('style:family', 'chart');
     // style:chart-properties
     $this->xmlContent->startElement('style:chart-properties');
     $this->xmlContent->writeAttribute('chart:data-label-number', 'value');
     $this->xmlContent->writeAttribute('chart:label-position', 'center');
     if ($chartType instanceof AbstractTypePie) {
         $this->xmlContent->writeAttribute('chart:pie-offset', $chartType->getExplosion());
     }
     if ($chartType instanceof Line || $chartType instanceof Scatter) {
         $oMarker = $series->getMarker();
         /**
          * @link : http://www.datypic.com/sc/odf/a-chart_symbol-type.html
          */
         $this->xmlContent->writeAttributeIf($oMarker->getSymbol() == Chart\Marker::SYMBOL_NONE, 'chart:symbol-type', 'none');
         /**
          * @link : http://www.datypic.com/sc/odf/a-chart_symbol-name.html
          */
         $this->xmlContent->writeAttributeIf($oMarker->getSymbol() != Chart\Marker::SYMBOL_NONE, 'chart:symbol-type', 'named-symbol');
         if ($oMarker->getSymbol() != Chart\Marker::SYMBOL_NONE) {
             switch ($oMarker->getSymbol()) {
                 case Chart\Marker::SYMBOL_DASH:
                     $symbolName = 'horizontal-bar';
                     break;
                 case Chart\Marker::SYMBOL_DOT:
                     $symbolName = 'circle';
                     break;
                 case Chart\Marker::SYMBOL_TRIANGLE:
                     $symbolName = 'arrow-up';
                     break;
                 default:
                     $symbolName = $oMarker->getSymbol();
                     break;
             }
             $this->xmlContent->writeAttribute('chart:symbol-name', $symbolName);
             $symbolSize = number_format(CommonDrawing::pointsToCentimeters($oMarker->getSize()), 2, '.', '');
             $this->xmlContent->writeAttribute('chart:symbol-width', $symbolSize . 'cm');
             $this->xmlContent->writeAttribute('chart:symbol-height', $symbolSize . 'cm');
         }
     }
     // > style:chart-properties
     $this->xmlContent->endElement();
     // style:graphic-properties
     $this->xmlContent->startElement('style:graphic-properties');
     if ($chartType instanceof Line || $chartType instanceof Scatter) {
         $outlineWidth = '';
         $outlineColor = '';
         $oOutline = $series->getOutline();
         if ($oOutline instanceof Outline) {
             $outlineWidth = $oOutline->getWidth();
             if (!empty($outlineWidth)) {
                 $outlineWidth = number_format(CommonDrawing::pointsToCentimeters($outlineWidth), 3, '.', '');
             }
             $outlineColor = $oOutline->getFill()->getStartColor()->getRGB();
         }
         if (empty($outlineWidth)) {
             $outlineWidth = '0.079';
         }
         if (empty($outlineColor)) {
             $outlineColor = '4a7ebb';
         }
         $this->xmlContent->writeAttribute('svg:stroke-width', $outlineWidth . 'cm');
         $this->xmlContent->writeAttribute('svg:stroke-color', '#' . $outlineColor);
     } else {
         $this->xmlContent->writeAttribute('draw:stroke', 'none');
         if (!$chartType instanceof Area) {
             $this->xmlContent->writeAttribute('draw:fill', $series->getFill()->getFillType());
         }
     }
     $this->xmlContent->writeAttribute('draw:fill-color', '#' . $series->getFill()->getStartColor()->getRGB());
     // > style:graphic-properties
     $this->xmlContent->endElement();
     // style:text-properties
     $this->xmlContent->startElement('style:text-properties');
     $this->xmlContent->writeAttribute('fo:color', '#' . $series->getFont()->getColor()->getRGB());
     $this->xmlContent->writeAttribute('fo:font-family', $series->getFont()->getName());
     $this->xmlContent->writeAttribute('fo:font-size', $series->getFont()->getSize() . 'pt');
     // > style:text-properties
     $this->xmlContent->endElement();
     // > style:style
     $this->xmlContent->endElement();
     foreach ($series->getDataPointFills() as $idx => $oFill) {
         // style:style
         $this->xmlContent->startElement('style:style');
         $this->xmlContent->writeAttribute('style:name', 'styleSeries' . $this->numSeries . '_' . $idx);
         $this->xmlContent->writeAttribute('style:family', 'chart');
         // style:graphic-properties
         $this->xmlContent->startElement('style:graphic-properties');
         $this->xmlContent->writeAttribute('draw:fill', $oFill->getFillType());
         $this->xmlContent->writeAttribute('draw:fill-color', '#' . $oFill->getStartColor()->getRGB());
         // > style:graphic-properties
         $this->xmlContent->endElement();
         // > style:style
         $this->xmlContent->endElement();
     }
 }
Exemplo n.º 2
0
 public function testOutline()
 {
     $object = new Series();
     $this->assertInstanceOf('PhpOffice\\PhpPresentation\\Shape\\Chart\\Series', $object->setOutline(new Outline()));
     $this->assertInstanceOf('PhpOffice\\PhpPresentation\\Style\\Outline', $object->getOutline());
 }