updated a couple packages (#1567)
[openemr.git] / vendor / phpoffice / phpspreadsheet / src / PhpSpreadsheet / Writer / Xlsx / Theme.php
blobf5f8dc0752d5c7f53a4ecae3abcd5ef9b739f0ad
1 <?php
3 namespace PhpOffice\PhpSpreadsheet\Writer\Xlsx;
5 use PhpOffice\PhpSpreadsheet\Shared\XMLWriter;
6 use PhpOffice\PhpSpreadsheet\Spreadsheet;
8 /**
9 * @category PhpSpreadsheet
11 * @copyright Copyright (c) 2006 - 2016 PhpSpreadsheet (https://github.com/PHPOffice/PhpSpreadsheet)
13 class Theme extends WriterPart
15 /**
16 * Map of Major fonts to write.
18 * @var array of string
20 private static $majorFonts = [
21 'Jpan' => 'MS Pゴシック',
22 'Hang' => '맑은 고딕',
23 'Hans' => '宋体',
24 'Hant' => '新細明體',
25 'Arab' => 'Times New Roman',
26 'Hebr' => 'Times New Roman',
27 'Thai' => 'Tahoma',
28 'Ethi' => 'Nyala',
29 'Beng' => 'Vrinda',
30 'Gujr' => 'Shruti',
31 'Khmr' => 'MoolBoran',
32 'Knda' => 'Tunga',
33 'Guru' => 'Raavi',
34 'Cans' => 'Euphemia',
35 'Cher' => 'Plantagenet Cherokee',
36 'Yiii' => 'Microsoft Yi Baiti',
37 'Tibt' => 'Microsoft Himalaya',
38 'Thaa' => 'MV Boli',
39 'Deva' => 'Mangal',
40 'Telu' => 'Gautami',
41 'Taml' => 'Latha',
42 'Syrc' => 'Estrangelo Edessa',
43 'Orya' => 'Kalinga',
44 'Mlym' => 'Kartika',
45 'Laoo' => 'DokChampa',
46 'Sinh' => 'Iskoola Pota',
47 'Mong' => 'Mongolian Baiti',
48 'Viet' => 'Times New Roman',
49 'Uigh' => 'Microsoft Uighur',
50 'Geor' => 'Sylfaen',
53 /**
54 * Map of Minor fonts to write.
56 * @var array of string
58 private static $minorFonts = [
59 'Jpan' => 'MS Pゴシック',
60 'Hang' => '맑은 고딕',
61 'Hans' => '宋体',
62 'Hant' => '新細明體',
63 'Arab' => 'Arial',
64 'Hebr' => 'Arial',
65 'Thai' => 'Tahoma',
66 'Ethi' => 'Nyala',
67 'Beng' => 'Vrinda',
68 'Gujr' => 'Shruti',
69 'Khmr' => 'DaunPenh',
70 'Knda' => 'Tunga',
71 'Guru' => 'Raavi',
72 'Cans' => 'Euphemia',
73 'Cher' => 'Plantagenet Cherokee',
74 'Yiii' => 'Microsoft Yi Baiti',
75 'Tibt' => 'Microsoft Himalaya',
76 'Thaa' => 'MV Boli',
77 'Deva' => 'Mangal',
78 'Telu' => 'Gautami',
79 'Taml' => 'Latha',
80 'Syrc' => 'Estrangelo Edessa',
81 'Orya' => 'Kalinga',
82 'Mlym' => 'Kartika',
83 'Laoo' => 'DokChampa',
84 'Sinh' => 'Iskoola Pota',
85 'Mong' => 'Mongolian Baiti',
86 'Viet' => 'Arial',
87 'Uigh' => 'Microsoft Uighur',
88 'Geor' => 'Sylfaen',
91 /**
92 * Map of core colours.
94 * @var array of string
96 private static $colourScheme = [
97 'dk2' => '1F497D',
98 'lt2' => 'EEECE1',
99 'accent1' => '4F81BD',
100 'accent2' => 'C0504D',
101 'accent3' => '9BBB59',
102 'accent4' => '8064A2',
103 'accent5' => '4BACC6',
104 'accent6' => 'F79646',
105 'hlink' => '0000FF',
106 'folHlink' => '800080',
110 * Write theme to XML format.
112 * @param Spreadsheet $spreadsheet
114 * @throws \PhpOffice\PhpSpreadsheet\Writer\Exception
116 * @return string XML Output
118 public function writeTheme(Spreadsheet $spreadsheet)
120 // Create XML writer
121 $objWriter = null;
122 if ($this->getParentWriter()->getUseDiskCaching()) {
123 $objWriter = new XMLWriter(XMLWriter::STORAGE_DISK, $this->getParentWriter()->getDiskCachingDirectory());
124 } else {
125 $objWriter = new XMLWriter(XMLWriter::STORAGE_MEMORY);
128 // XML header
129 $objWriter->startDocument('1.0', 'UTF-8', 'yes');
131 // a:theme
132 $objWriter->startElement('a:theme');
133 $objWriter->writeAttribute('xmlns:a', 'http://schemas.openxmlformats.org/drawingml/2006/main');
134 $objWriter->writeAttribute('name', 'Office Theme');
136 // a:themeElements
137 $objWriter->startElement('a:themeElements');
139 // a:clrScheme
140 $objWriter->startElement('a:clrScheme');
141 $objWriter->writeAttribute('name', 'Office');
143 // a:dk1
144 $objWriter->startElement('a:dk1');
146 // a:sysClr
147 $objWriter->startElement('a:sysClr');
148 $objWriter->writeAttribute('val', 'windowText');
149 $objWriter->writeAttribute('lastClr', '000000');
150 $objWriter->endElement();
152 $objWriter->endElement();
154 // a:lt1
155 $objWriter->startElement('a:lt1');
157 // a:sysClr
158 $objWriter->startElement('a:sysClr');
159 $objWriter->writeAttribute('val', 'window');
160 $objWriter->writeAttribute('lastClr', 'FFFFFF');
161 $objWriter->endElement();
163 $objWriter->endElement();
165 // a:dk2
166 $this->writeColourScheme($objWriter);
168 $objWriter->endElement();
170 // a:fontScheme
171 $objWriter->startElement('a:fontScheme');
172 $objWriter->writeAttribute('name', 'Office');
174 // a:majorFont
175 $objWriter->startElement('a:majorFont');
176 $this->writeFonts($objWriter, 'Cambria', self::$majorFonts);
177 $objWriter->endElement();
179 // a:minorFont
180 $objWriter->startElement('a:minorFont');
181 $this->writeFonts($objWriter, 'Calibri', self::$minorFonts);
182 $objWriter->endElement();
184 $objWriter->endElement();
186 // a:fmtScheme
187 $objWriter->startElement('a:fmtScheme');
188 $objWriter->writeAttribute('name', 'Office');
190 // a:fillStyleLst
191 $objWriter->startElement('a:fillStyleLst');
193 // a:solidFill
194 $objWriter->startElement('a:solidFill');
196 // a:schemeClr
197 $objWriter->startElement('a:schemeClr');
198 $objWriter->writeAttribute('val', 'phClr');
199 $objWriter->endElement();
201 $objWriter->endElement();
203 // a:gradFill
204 $objWriter->startElement('a:gradFill');
205 $objWriter->writeAttribute('rotWithShape', '1');
207 // a:gsLst
208 $objWriter->startElement('a:gsLst');
210 // a:gs
211 $objWriter->startElement('a:gs');
212 $objWriter->writeAttribute('pos', '0');
214 // a:schemeClr
215 $objWriter->startElement('a:schemeClr');
216 $objWriter->writeAttribute('val', 'phClr');
218 // a:tint
219 $objWriter->startElement('a:tint');
220 $objWriter->writeAttribute('val', '50000');
221 $objWriter->endElement();
223 // a:satMod
224 $objWriter->startElement('a:satMod');
225 $objWriter->writeAttribute('val', '300000');
226 $objWriter->endElement();
228 $objWriter->endElement();
230 $objWriter->endElement();
232 // a:gs
233 $objWriter->startElement('a:gs');
234 $objWriter->writeAttribute('pos', '35000');
236 // a:schemeClr
237 $objWriter->startElement('a:schemeClr');
238 $objWriter->writeAttribute('val', 'phClr');
240 // a:tint
241 $objWriter->startElement('a:tint');
242 $objWriter->writeAttribute('val', '37000');
243 $objWriter->endElement();
245 // a:satMod
246 $objWriter->startElement('a:satMod');
247 $objWriter->writeAttribute('val', '300000');
248 $objWriter->endElement();
250 $objWriter->endElement();
252 $objWriter->endElement();
254 // a:gs
255 $objWriter->startElement('a:gs');
256 $objWriter->writeAttribute('pos', '100000');
258 // a:schemeClr
259 $objWriter->startElement('a:schemeClr');
260 $objWriter->writeAttribute('val', 'phClr');
262 // a:tint
263 $objWriter->startElement('a:tint');
264 $objWriter->writeAttribute('val', '15000');
265 $objWriter->endElement();
267 // a:satMod
268 $objWriter->startElement('a:satMod');
269 $objWriter->writeAttribute('val', '350000');
270 $objWriter->endElement();
272 $objWriter->endElement();
274 $objWriter->endElement();
276 $objWriter->endElement();
278 // a:lin
279 $objWriter->startElement('a:lin');
280 $objWriter->writeAttribute('ang', '16200000');
281 $objWriter->writeAttribute('scaled', '1');
282 $objWriter->endElement();
284 $objWriter->endElement();
286 // a:gradFill
287 $objWriter->startElement('a:gradFill');
288 $objWriter->writeAttribute('rotWithShape', '1');
290 // a:gsLst
291 $objWriter->startElement('a:gsLst');
293 // a:gs
294 $objWriter->startElement('a:gs');
295 $objWriter->writeAttribute('pos', '0');
297 // a:schemeClr
298 $objWriter->startElement('a:schemeClr');
299 $objWriter->writeAttribute('val', 'phClr');
301 // a:shade
302 $objWriter->startElement('a:shade');
303 $objWriter->writeAttribute('val', '51000');
304 $objWriter->endElement();
306 // a:satMod
307 $objWriter->startElement('a:satMod');
308 $objWriter->writeAttribute('val', '130000');
309 $objWriter->endElement();
311 $objWriter->endElement();
313 $objWriter->endElement();
315 // a:gs
316 $objWriter->startElement('a:gs');
317 $objWriter->writeAttribute('pos', '80000');
319 // a:schemeClr
320 $objWriter->startElement('a:schemeClr');
321 $objWriter->writeAttribute('val', 'phClr');
323 // a:shade
324 $objWriter->startElement('a:shade');
325 $objWriter->writeAttribute('val', '93000');
326 $objWriter->endElement();
328 // a:satMod
329 $objWriter->startElement('a:satMod');
330 $objWriter->writeAttribute('val', '130000');
331 $objWriter->endElement();
333 $objWriter->endElement();
335 $objWriter->endElement();
337 // a:gs
338 $objWriter->startElement('a:gs');
339 $objWriter->writeAttribute('pos', '100000');
341 // a:schemeClr
342 $objWriter->startElement('a:schemeClr');
343 $objWriter->writeAttribute('val', 'phClr');
345 // a:shade
346 $objWriter->startElement('a:shade');
347 $objWriter->writeAttribute('val', '94000');
348 $objWriter->endElement();
350 // a:satMod
351 $objWriter->startElement('a:satMod');
352 $objWriter->writeAttribute('val', '135000');
353 $objWriter->endElement();
355 $objWriter->endElement();
357 $objWriter->endElement();
359 $objWriter->endElement();
361 // a:lin
362 $objWriter->startElement('a:lin');
363 $objWriter->writeAttribute('ang', '16200000');
364 $objWriter->writeAttribute('scaled', '0');
365 $objWriter->endElement();
367 $objWriter->endElement();
369 $objWriter->endElement();
371 // a:lnStyleLst
372 $objWriter->startElement('a:lnStyleLst');
374 // a:ln
375 $objWriter->startElement('a:ln');
376 $objWriter->writeAttribute('w', '9525');
377 $objWriter->writeAttribute('cap', 'flat');
378 $objWriter->writeAttribute('cmpd', 'sng');
379 $objWriter->writeAttribute('algn', 'ctr');
381 // a:solidFill
382 $objWriter->startElement('a:solidFill');
384 // a:schemeClr
385 $objWriter->startElement('a:schemeClr');
386 $objWriter->writeAttribute('val', 'phClr');
388 // a:shade
389 $objWriter->startElement('a:shade');
390 $objWriter->writeAttribute('val', '95000');
391 $objWriter->endElement();
393 // a:satMod
394 $objWriter->startElement('a:satMod');
395 $objWriter->writeAttribute('val', '105000');
396 $objWriter->endElement();
398 $objWriter->endElement();
400 $objWriter->endElement();
402 // a:prstDash
403 $objWriter->startElement('a:prstDash');
404 $objWriter->writeAttribute('val', 'solid');
405 $objWriter->endElement();
407 $objWriter->endElement();
409 // a:ln
410 $objWriter->startElement('a:ln');
411 $objWriter->writeAttribute('w', '25400');
412 $objWriter->writeAttribute('cap', 'flat');
413 $objWriter->writeAttribute('cmpd', 'sng');
414 $objWriter->writeAttribute('algn', 'ctr');
416 // a:solidFill
417 $objWriter->startElement('a:solidFill');
419 // a:schemeClr
420 $objWriter->startElement('a:schemeClr');
421 $objWriter->writeAttribute('val', 'phClr');
422 $objWriter->endElement();
424 $objWriter->endElement();
426 // a:prstDash
427 $objWriter->startElement('a:prstDash');
428 $objWriter->writeAttribute('val', 'solid');
429 $objWriter->endElement();
431 $objWriter->endElement();
433 // a:ln
434 $objWriter->startElement('a:ln');
435 $objWriter->writeAttribute('w', '38100');
436 $objWriter->writeAttribute('cap', 'flat');
437 $objWriter->writeAttribute('cmpd', 'sng');
438 $objWriter->writeAttribute('algn', 'ctr');
440 // a:solidFill
441 $objWriter->startElement('a:solidFill');
443 // a:schemeClr
444 $objWriter->startElement('a:schemeClr');
445 $objWriter->writeAttribute('val', 'phClr');
446 $objWriter->endElement();
448 $objWriter->endElement();
450 // a:prstDash
451 $objWriter->startElement('a:prstDash');
452 $objWriter->writeAttribute('val', 'solid');
453 $objWriter->endElement();
455 $objWriter->endElement();
457 $objWriter->endElement();
459 // a:effectStyleLst
460 $objWriter->startElement('a:effectStyleLst');
462 // a:effectStyle
463 $objWriter->startElement('a:effectStyle');
465 // a:effectLst
466 $objWriter->startElement('a:effectLst');
468 // a:outerShdw
469 $objWriter->startElement('a:outerShdw');
470 $objWriter->writeAttribute('blurRad', '40000');
471 $objWriter->writeAttribute('dist', '20000');
472 $objWriter->writeAttribute('dir', '5400000');
473 $objWriter->writeAttribute('rotWithShape', '0');
475 // a:srgbClr
476 $objWriter->startElement('a:srgbClr');
477 $objWriter->writeAttribute('val', '000000');
479 // a:alpha
480 $objWriter->startElement('a:alpha');
481 $objWriter->writeAttribute('val', '38000');
482 $objWriter->endElement();
484 $objWriter->endElement();
486 $objWriter->endElement();
488 $objWriter->endElement();
490 $objWriter->endElement();
492 // a:effectStyle
493 $objWriter->startElement('a:effectStyle');
495 // a:effectLst
496 $objWriter->startElement('a:effectLst');
498 // a:outerShdw
499 $objWriter->startElement('a:outerShdw');
500 $objWriter->writeAttribute('blurRad', '40000');
501 $objWriter->writeAttribute('dist', '23000');
502 $objWriter->writeAttribute('dir', '5400000');
503 $objWriter->writeAttribute('rotWithShape', '0');
505 // a:srgbClr
506 $objWriter->startElement('a:srgbClr');
507 $objWriter->writeAttribute('val', '000000');
509 // a:alpha
510 $objWriter->startElement('a:alpha');
511 $objWriter->writeAttribute('val', '35000');
512 $objWriter->endElement();
514 $objWriter->endElement();
516 $objWriter->endElement();
518 $objWriter->endElement();
520 $objWriter->endElement();
522 // a:effectStyle
523 $objWriter->startElement('a:effectStyle');
525 // a:effectLst
526 $objWriter->startElement('a:effectLst');
528 // a:outerShdw
529 $objWriter->startElement('a:outerShdw');
530 $objWriter->writeAttribute('blurRad', '40000');
531 $objWriter->writeAttribute('dist', '23000');
532 $objWriter->writeAttribute('dir', '5400000');
533 $objWriter->writeAttribute('rotWithShape', '0');
535 // a:srgbClr
536 $objWriter->startElement('a:srgbClr');
537 $objWriter->writeAttribute('val', '000000');
539 // a:alpha
540 $objWriter->startElement('a:alpha');
541 $objWriter->writeAttribute('val', '35000');
542 $objWriter->endElement();
544 $objWriter->endElement();
546 $objWriter->endElement();
548 $objWriter->endElement();
550 // a:scene3d
551 $objWriter->startElement('a:scene3d');
553 // a:camera
554 $objWriter->startElement('a:camera');
555 $objWriter->writeAttribute('prst', 'orthographicFront');
557 // a:rot
558 $objWriter->startElement('a:rot');
559 $objWriter->writeAttribute('lat', '0');
560 $objWriter->writeAttribute('lon', '0');
561 $objWriter->writeAttribute('rev', '0');
562 $objWriter->endElement();
564 $objWriter->endElement();
566 // a:lightRig
567 $objWriter->startElement('a:lightRig');
568 $objWriter->writeAttribute('rig', 'threePt');
569 $objWriter->writeAttribute('dir', 't');
571 // a:rot
572 $objWriter->startElement('a:rot');
573 $objWriter->writeAttribute('lat', '0');
574 $objWriter->writeAttribute('lon', '0');
575 $objWriter->writeAttribute('rev', '1200000');
576 $objWriter->endElement();
578 $objWriter->endElement();
580 $objWriter->endElement();
582 // a:sp3d
583 $objWriter->startElement('a:sp3d');
585 // a:bevelT
586 $objWriter->startElement('a:bevelT');
587 $objWriter->writeAttribute('w', '63500');
588 $objWriter->writeAttribute('h', '25400');
589 $objWriter->endElement();
591 $objWriter->endElement();
593 $objWriter->endElement();
595 $objWriter->endElement();
597 // a:bgFillStyleLst
598 $objWriter->startElement('a:bgFillStyleLst');
600 // a:solidFill
601 $objWriter->startElement('a:solidFill');
603 // a:schemeClr
604 $objWriter->startElement('a:schemeClr');
605 $objWriter->writeAttribute('val', 'phClr');
606 $objWriter->endElement();
608 $objWriter->endElement();
610 // a:gradFill
611 $objWriter->startElement('a:gradFill');
612 $objWriter->writeAttribute('rotWithShape', '1');
614 // a:gsLst
615 $objWriter->startElement('a:gsLst');
617 // a:gs
618 $objWriter->startElement('a:gs');
619 $objWriter->writeAttribute('pos', '0');
621 // a:schemeClr
622 $objWriter->startElement('a:schemeClr');
623 $objWriter->writeAttribute('val', 'phClr');
625 // a:tint
626 $objWriter->startElement('a:tint');
627 $objWriter->writeAttribute('val', '40000');
628 $objWriter->endElement();
630 // a:satMod
631 $objWriter->startElement('a:satMod');
632 $objWriter->writeAttribute('val', '350000');
633 $objWriter->endElement();
635 $objWriter->endElement();
637 $objWriter->endElement();
639 // a:gs
640 $objWriter->startElement('a:gs');
641 $objWriter->writeAttribute('pos', '40000');
643 // a:schemeClr
644 $objWriter->startElement('a:schemeClr');
645 $objWriter->writeAttribute('val', 'phClr');
647 // a:tint
648 $objWriter->startElement('a:tint');
649 $objWriter->writeAttribute('val', '45000');
650 $objWriter->endElement();
652 // a:shade
653 $objWriter->startElement('a:shade');
654 $objWriter->writeAttribute('val', '99000');
655 $objWriter->endElement();
657 // a:satMod
658 $objWriter->startElement('a:satMod');
659 $objWriter->writeAttribute('val', '350000');
660 $objWriter->endElement();
662 $objWriter->endElement();
664 $objWriter->endElement();
666 // a:gs
667 $objWriter->startElement('a:gs');
668 $objWriter->writeAttribute('pos', '100000');
670 // a:schemeClr
671 $objWriter->startElement('a:schemeClr');
672 $objWriter->writeAttribute('val', 'phClr');
674 // a:shade
675 $objWriter->startElement('a:shade');
676 $objWriter->writeAttribute('val', '20000');
677 $objWriter->endElement();
679 // a:satMod
680 $objWriter->startElement('a:satMod');
681 $objWriter->writeAttribute('val', '255000');
682 $objWriter->endElement();
684 $objWriter->endElement();
686 $objWriter->endElement();
688 $objWriter->endElement();
690 // a:path
691 $objWriter->startElement('a:path');
692 $objWriter->writeAttribute('path', 'circle');
694 // a:fillToRect
695 $objWriter->startElement('a:fillToRect');
696 $objWriter->writeAttribute('l', '50000');
697 $objWriter->writeAttribute('t', '-80000');
698 $objWriter->writeAttribute('r', '50000');
699 $objWriter->writeAttribute('b', '180000');
700 $objWriter->endElement();
702 $objWriter->endElement();
704 $objWriter->endElement();
706 // a:gradFill
707 $objWriter->startElement('a:gradFill');
708 $objWriter->writeAttribute('rotWithShape', '1');
710 // a:gsLst
711 $objWriter->startElement('a:gsLst');
713 // a:gs
714 $objWriter->startElement('a:gs');
715 $objWriter->writeAttribute('pos', '0');
717 // a:schemeClr
718 $objWriter->startElement('a:schemeClr');
719 $objWriter->writeAttribute('val', 'phClr');
721 // a:tint
722 $objWriter->startElement('a:tint');
723 $objWriter->writeAttribute('val', '80000');
724 $objWriter->endElement();
726 // a:satMod
727 $objWriter->startElement('a:satMod');
728 $objWriter->writeAttribute('val', '300000');
729 $objWriter->endElement();
731 $objWriter->endElement();
733 $objWriter->endElement();
735 // a:gs
736 $objWriter->startElement('a:gs');
737 $objWriter->writeAttribute('pos', '100000');
739 // a:schemeClr
740 $objWriter->startElement('a:schemeClr');
741 $objWriter->writeAttribute('val', 'phClr');
743 // a:shade
744 $objWriter->startElement('a:shade');
745 $objWriter->writeAttribute('val', '30000');
746 $objWriter->endElement();
748 // a:satMod
749 $objWriter->startElement('a:satMod');
750 $objWriter->writeAttribute('val', '200000');
751 $objWriter->endElement();
753 $objWriter->endElement();
755 $objWriter->endElement();
757 $objWriter->endElement();
759 // a:path
760 $objWriter->startElement('a:path');
761 $objWriter->writeAttribute('path', 'circle');
763 // a:fillToRect
764 $objWriter->startElement('a:fillToRect');
765 $objWriter->writeAttribute('l', '50000');
766 $objWriter->writeAttribute('t', '50000');
767 $objWriter->writeAttribute('r', '50000');
768 $objWriter->writeAttribute('b', '50000');
769 $objWriter->endElement();
771 $objWriter->endElement();
773 $objWriter->endElement();
775 $objWriter->endElement();
777 $objWriter->endElement();
779 $objWriter->endElement();
781 // a:objectDefaults
782 $objWriter->writeElement('a:objectDefaults', null);
784 // a:extraClrSchemeLst
785 $objWriter->writeElement('a:extraClrSchemeLst', null);
787 $objWriter->endElement();
789 // Return
790 return $objWriter->getData();
794 * Write fonts to XML format.
796 * @param XMLWriter $objWriter
797 * @param string $latinFont
798 * @param array of string $fontSet
800 * @return string XML Output
802 private function writeFonts($objWriter, $latinFont, $fontSet)
804 // a:latin
805 $objWriter->startElement('a:latin');
806 $objWriter->writeAttribute('typeface', $latinFont);
807 $objWriter->endElement();
809 // a:ea
810 $objWriter->startElement('a:ea');
811 $objWriter->writeAttribute('typeface', '');
812 $objWriter->endElement();
814 // a:cs
815 $objWriter->startElement('a:cs');
816 $objWriter->writeAttribute('typeface', '');
817 $objWriter->endElement();
819 foreach ($fontSet as $fontScript => $typeface) {
820 $objWriter->startElement('a:font');
821 $objWriter->writeAttribute('script', $fontScript);
822 $objWriter->writeAttribute('typeface', $typeface);
823 $objWriter->endElement();
828 * Write colour scheme to XML format.
830 * @param XMLWriter $objWriter
832 * @return string XML Output
834 private function writeColourScheme($objWriter)
836 foreach (self::$colourScheme as $colourName => $colourValue) {
837 $objWriter->startElement('a:' . $colourName);
839 $objWriter->startElement('a:srgbClr');
840 $objWriter->writeAttribute('val', $colourValue);
841 $objWriter->endElement();
843 $objWriter->endElement();