/** * Write Title * * @param \PhpOffice\Common\XMLWriter $objWriter XML Writer * @param \PhpOffice\PhpPresentation\Shape\Chart\Title $subject * @throws \Exception */ protected function writeTitle(XMLWriter $objWriter, Title $subject) { // c:title $objWriter->startElement('c:title'); // c:tx $objWriter->startElement('c:tx'); // c:rich $objWriter->startElement('c:rich'); // a:bodyPr $objWriter->writeElement('a:bodyPr', null); // a:lstStyle $objWriter->writeElement('a:lstStyle', null); // a:p $objWriter->startElement('a:p'); // a:pPr $objWriter->startElement('a:pPr'); $objWriter->writeAttribute('algn', $subject->getAlignment()->getHorizontal()); $objWriter->writeAttribute('fontAlgn', $subject->getAlignment()->getVertical()); $objWriter->writeAttribute('marL', CommonDrawing::pixelsToEmu($subject->getAlignment()->getMarginLeft())); $objWriter->writeAttribute('marR', CommonDrawing::pixelsToEmu($subject->getAlignment()->getMarginRight())); $objWriter->writeAttribute('indent', CommonDrawing::pixelsToEmu($subject->getAlignment()->getIndent())); $objWriter->writeAttribute('lvl', $subject->getAlignment()->getLevel()); // a:defRPr $objWriter->writeElement('a:defRPr', null); $objWriter->endElement(); // a:r $objWriter->startElement('a:r'); // a:rPr $objWriter->startElement('a:rPr'); $objWriter->writeAttribute('lang', 'en-US'); $objWriter->writeAttribute('dirty', '0'); $objWriter->writeAttribute('b', $subject->getFont()->isBold() ? 'true' : 'false'); $objWriter->writeAttribute('i', $subject->getFont()->isItalic() ? 'true' : 'false'); $objWriter->writeAttribute('strike', $subject->getFont()->isStrikethrough() ? 'sngStrike' : 'noStrike'); $objWriter->writeAttribute('sz', $subject->getFont()->getSize() * 100); $objWriter->writeAttribute('u', $subject->getFont()->getUnderline()); if ($subject->getFont()->isSuperScript() || $subject->getFont()->isSubScript()) { if ($subject->getFont()->isSuperScript()) { $objWriter->writeAttribute('baseline', '30000'); } elseif ($subject->getFont()->isSubScript()) { $objWriter->writeAttribute('baseline', '-25000'); } } // Font - a:solidFill $objWriter->startElement('a:solidFill'); // a:srgbClr $objWriter->startElement('a:srgbClr'); $objWriter->writeAttribute('val', $subject->getFont()->getColor()->getRGB()); $objWriter->endElement(); $objWriter->endElement(); // Font - a:latin $objWriter->startElement('a:latin'); $objWriter->writeAttribute('typeface', $subject->getFont()->getName()); $objWriter->endElement(); $objWriter->endElement(); // a:t $objWriter->writeElement('a:t', $subject->getText()); $objWriter->endElement(); // a:endParaRPr $objWriter->startElement('a:endParaRPr'); $objWriter->writeAttribute('lang', 'en-US'); $objWriter->writeAttribute('dirty', '0'); $objWriter->endElement(); $objWriter->endElement(); $objWriter->endElement(); $objWriter->endElement(); // Write layout $this->writeLayout($objWriter, $subject); // c:overlay $objWriter->startElement('c:overlay'); $objWriter->writeAttribute('val', '0'); $objWriter->endElement(); $objWriter->endElement(); }
public function testAlignment() { $object = new Title(); $this->assertInstanceOf('PhpOffice\\PhpPresentation\\Shape\\Chart\\Title', $object->setAlignment(new Alignment())); $this->assertInstanceOf('PhpOffice\\PhpPresentation\\Style\\Alignment', $object->getAlignment()); }