ILIAS  release_5-4 Revision v5.4.26-12-gabc799a52e6
Theme.php
Go to the documentation of this file.
1<?php
2
4
7
8class Theme extends WriterPart
9{
15 private static $majorFonts = [
16 'Jpan' => 'MS Pゴシック',
17 'Hang' => '맑은 고딕',
18 'Hans' => '宋体',
19 'Hant' => '新細明體',
20 'Arab' => 'Times New Roman',
21 'Hebr' => 'Times New Roman',
22 'Thai' => 'Tahoma',
23 'Ethi' => 'Nyala',
24 'Beng' => 'Vrinda',
25 'Gujr' => 'Shruti',
26 'Khmr' => 'MoolBoran',
27 'Knda' => 'Tunga',
28 'Guru' => 'Raavi',
29 'Cans' => 'Euphemia',
30 'Cher' => 'Plantagenet Cherokee',
31 'Yiii' => 'Microsoft Yi Baiti',
32 'Tibt' => 'Microsoft Himalaya',
33 'Thaa' => 'MV Boli',
34 'Deva' => 'Mangal',
35 'Telu' => 'Gautami',
36 'Taml' => 'Latha',
37 'Syrc' => 'Estrangelo Edessa',
38 'Orya' => 'Kalinga',
39 'Mlym' => 'Kartika',
40 'Laoo' => 'DokChampa',
41 'Sinh' => 'Iskoola Pota',
42 'Mong' => 'Mongolian Baiti',
43 'Viet' => 'Times New Roman',
44 'Uigh' => 'Microsoft Uighur',
45 'Geor' => 'Sylfaen',
46 ];
47
53 private static $minorFonts = [
54 'Jpan' => 'MS Pゴシック',
55 'Hang' => '맑은 고딕',
56 'Hans' => '宋体',
57 'Hant' => '新細明體',
58 'Arab' => 'Arial',
59 'Hebr' => 'Arial',
60 'Thai' => 'Tahoma',
61 'Ethi' => 'Nyala',
62 'Beng' => 'Vrinda',
63 'Gujr' => 'Shruti',
64 'Khmr' => 'DaunPenh',
65 'Knda' => 'Tunga',
66 'Guru' => 'Raavi',
67 'Cans' => 'Euphemia',
68 'Cher' => 'Plantagenet Cherokee',
69 'Yiii' => 'Microsoft Yi Baiti',
70 'Tibt' => 'Microsoft Himalaya',
71 'Thaa' => 'MV Boli',
72 'Deva' => 'Mangal',
73 'Telu' => 'Gautami',
74 'Taml' => 'Latha',
75 'Syrc' => 'Estrangelo Edessa',
76 'Orya' => 'Kalinga',
77 'Mlym' => 'Kartika',
78 'Laoo' => 'DokChampa',
79 'Sinh' => 'Iskoola Pota',
80 'Mong' => 'Mongolian Baiti',
81 'Viet' => 'Arial',
82 'Uigh' => 'Microsoft Uighur',
83 'Geor' => 'Sylfaen',
84 ];
85
91 private static $colourScheme = [
92 'dk2' => '1F497D',
93 'lt2' => 'EEECE1',
94 'accent1' => '4F81BD',
95 'accent2' => 'C0504D',
96 'accent3' => '9BBB59',
97 'accent4' => '8064A2',
98 'accent5' => '4BACC6',
99 'accent6' => 'F79646',
100 'hlink' => '0000FF',
101 'folHlink' => '800080',
102 ];
103
109 public function writeTheme(Spreadsheet $spreadsheet)
110 {
111 // Create XML writer
112 $objWriter = null;
113 if ($this->getParentWriter()->getUseDiskCaching()) {
115 } else {
116 $objWriter = new XMLWriter(XMLWriter::STORAGE_MEMORY);
117 }
118
119 // XML header
120 $objWriter->startDocument('1.0', 'UTF-8', 'yes');
121
122 // a:theme
123 $objWriter->startElement('a:theme');
124 $objWriter->writeAttribute('xmlns:a', 'http://schemas.openxmlformats.org/drawingml/2006/main');
125 $objWriter->writeAttribute('name', 'Office Theme');
126
127 // a:themeElements
128 $objWriter->startElement('a:themeElements');
129
130 // a:clrScheme
131 $objWriter->startElement('a:clrScheme');
132 $objWriter->writeAttribute('name', 'Office');
133
134 // a:dk1
135 $objWriter->startElement('a:dk1');
136
137 // a:sysClr
138 $objWriter->startElement('a:sysClr');
139 $objWriter->writeAttribute('val', 'windowText');
140 $objWriter->writeAttribute('lastClr', '000000');
141 $objWriter->endElement();
142
143 $objWriter->endElement();
144
145 // a:lt1
146 $objWriter->startElement('a:lt1');
147
148 // a:sysClr
149 $objWriter->startElement('a:sysClr');
150 $objWriter->writeAttribute('val', 'window');
151 $objWriter->writeAttribute('lastClr', 'FFFFFF');
152 $objWriter->endElement();
153
154 $objWriter->endElement();
155
156 // a:dk2
157 $this->writeColourScheme($objWriter);
158
159 $objWriter->endElement();
160
161 // a:fontScheme
162 $objWriter->startElement('a:fontScheme');
163 $objWriter->writeAttribute('name', 'Office');
164
165 // a:majorFont
166 $objWriter->startElement('a:majorFont');
167 $this->writeFonts($objWriter, 'Cambria', self::$majorFonts);
168 $objWriter->endElement();
169
170 // a:minorFont
171 $objWriter->startElement('a:minorFont');
172 $this->writeFonts($objWriter, 'Calibri', self::$minorFonts);
173 $objWriter->endElement();
174
175 $objWriter->endElement();
176
177 // a:fmtScheme
178 $objWriter->startElement('a:fmtScheme');
179 $objWriter->writeAttribute('name', 'Office');
180
181 // a:fillStyleLst
182 $objWriter->startElement('a:fillStyleLst');
183
184 // a:solidFill
185 $objWriter->startElement('a:solidFill');
186
187 // a:schemeClr
188 $objWriter->startElement('a:schemeClr');
189 $objWriter->writeAttribute('val', 'phClr');
190 $objWriter->endElement();
191
192 $objWriter->endElement();
193
194 // a:gradFill
195 $objWriter->startElement('a:gradFill');
196 $objWriter->writeAttribute('rotWithShape', '1');
197
198 // a:gsLst
199 $objWriter->startElement('a:gsLst');
200
201 // a:gs
202 $objWriter->startElement('a:gs');
203 $objWriter->writeAttribute('pos', '0');
204
205 // a:schemeClr
206 $objWriter->startElement('a:schemeClr');
207 $objWriter->writeAttribute('val', 'phClr');
208
209 // a:tint
210 $objWriter->startElement('a:tint');
211 $objWriter->writeAttribute('val', '50000');
212 $objWriter->endElement();
213
214 // a:satMod
215 $objWriter->startElement('a:satMod');
216 $objWriter->writeAttribute('val', '300000');
217 $objWriter->endElement();
218
219 $objWriter->endElement();
220
221 $objWriter->endElement();
222
223 // a:gs
224 $objWriter->startElement('a:gs');
225 $objWriter->writeAttribute('pos', '35000');
226
227 // a:schemeClr
228 $objWriter->startElement('a:schemeClr');
229 $objWriter->writeAttribute('val', 'phClr');
230
231 // a:tint
232 $objWriter->startElement('a:tint');
233 $objWriter->writeAttribute('val', '37000');
234 $objWriter->endElement();
235
236 // a:satMod
237 $objWriter->startElement('a:satMod');
238 $objWriter->writeAttribute('val', '300000');
239 $objWriter->endElement();
240
241 $objWriter->endElement();
242
243 $objWriter->endElement();
244
245 // a:gs
246 $objWriter->startElement('a:gs');
247 $objWriter->writeAttribute('pos', '100000');
248
249 // a:schemeClr
250 $objWriter->startElement('a:schemeClr');
251 $objWriter->writeAttribute('val', 'phClr');
252
253 // a:tint
254 $objWriter->startElement('a:tint');
255 $objWriter->writeAttribute('val', '15000');
256 $objWriter->endElement();
257
258 // a:satMod
259 $objWriter->startElement('a:satMod');
260 $objWriter->writeAttribute('val', '350000');
261 $objWriter->endElement();
262
263 $objWriter->endElement();
264
265 $objWriter->endElement();
266
267 $objWriter->endElement();
268
269 // a:lin
270 $objWriter->startElement('a:lin');
271 $objWriter->writeAttribute('ang', '16200000');
272 $objWriter->writeAttribute('scaled', '1');
273 $objWriter->endElement();
274
275 $objWriter->endElement();
276
277 // a:gradFill
278 $objWriter->startElement('a:gradFill');
279 $objWriter->writeAttribute('rotWithShape', '1');
280
281 // a:gsLst
282 $objWriter->startElement('a:gsLst');
283
284 // a:gs
285 $objWriter->startElement('a:gs');
286 $objWriter->writeAttribute('pos', '0');
287
288 // a:schemeClr
289 $objWriter->startElement('a:schemeClr');
290 $objWriter->writeAttribute('val', 'phClr');
291
292 // a:shade
293 $objWriter->startElement('a:shade');
294 $objWriter->writeAttribute('val', '51000');
295 $objWriter->endElement();
296
297 // a:satMod
298 $objWriter->startElement('a:satMod');
299 $objWriter->writeAttribute('val', '130000');
300 $objWriter->endElement();
301
302 $objWriter->endElement();
303
304 $objWriter->endElement();
305
306 // a:gs
307 $objWriter->startElement('a:gs');
308 $objWriter->writeAttribute('pos', '80000');
309
310 // a:schemeClr
311 $objWriter->startElement('a:schemeClr');
312 $objWriter->writeAttribute('val', 'phClr');
313
314 // a:shade
315 $objWriter->startElement('a:shade');
316 $objWriter->writeAttribute('val', '93000');
317 $objWriter->endElement();
318
319 // a:satMod
320 $objWriter->startElement('a:satMod');
321 $objWriter->writeAttribute('val', '130000');
322 $objWriter->endElement();
323
324 $objWriter->endElement();
325
326 $objWriter->endElement();
327
328 // a:gs
329 $objWriter->startElement('a:gs');
330 $objWriter->writeAttribute('pos', '100000');
331
332 // a:schemeClr
333 $objWriter->startElement('a:schemeClr');
334 $objWriter->writeAttribute('val', 'phClr');
335
336 // a:shade
337 $objWriter->startElement('a:shade');
338 $objWriter->writeAttribute('val', '94000');
339 $objWriter->endElement();
340
341 // a:satMod
342 $objWriter->startElement('a:satMod');
343 $objWriter->writeAttribute('val', '135000');
344 $objWriter->endElement();
345
346 $objWriter->endElement();
347
348 $objWriter->endElement();
349
350 $objWriter->endElement();
351
352 // a:lin
353 $objWriter->startElement('a:lin');
354 $objWriter->writeAttribute('ang', '16200000');
355 $objWriter->writeAttribute('scaled', '0');
356 $objWriter->endElement();
357
358 $objWriter->endElement();
359
360 $objWriter->endElement();
361
362 // a:lnStyleLst
363 $objWriter->startElement('a:lnStyleLst');
364
365 // a:ln
366 $objWriter->startElement('a:ln');
367 $objWriter->writeAttribute('w', '9525');
368 $objWriter->writeAttribute('cap', 'flat');
369 $objWriter->writeAttribute('cmpd', 'sng');
370 $objWriter->writeAttribute('algn', 'ctr');
371
372 // a:solidFill
373 $objWriter->startElement('a:solidFill');
374
375 // a:schemeClr
376 $objWriter->startElement('a:schemeClr');
377 $objWriter->writeAttribute('val', 'phClr');
378
379 // a:shade
380 $objWriter->startElement('a:shade');
381 $objWriter->writeAttribute('val', '95000');
382 $objWriter->endElement();
383
384 // a:satMod
385 $objWriter->startElement('a:satMod');
386 $objWriter->writeAttribute('val', '105000');
387 $objWriter->endElement();
388
389 $objWriter->endElement();
390
391 $objWriter->endElement();
392
393 // a:prstDash
394 $objWriter->startElement('a:prstDash');
395 $objWriter->writeAttribute('val', 'solid');
396 $objWriter->endElement();
397
398 $objWriter->endElement();
399
400 // a:ln
401 $objWriter->startElement('a:ln');
402 $objWriter->writeAttribute('w', '25400');
403 $objWriter->writeAttribute('cap', 'flat');
404 $objWriter->writeAttribute('cmpd', 'sng');
405 $objWriter->writeAttribute('algn', 'ctr');
406
407 // a:solidFill
408 $objWriter->startElement('a:solidFill');
409
410 // a:schemeClr
411 $objWriter->startElement('a:schemeClr');
412 $objWriter->writeAttribute('val', 'phClr');
413 $objWriter->endElement();
414
415 $objWriter->endElement();
416
417 // a:prstDash
418 $objWriter->startElement('a:prstDash');
419 $objWriter->writeAttribute('val', 'solid');
420 $objWriter->endElement();
421
422 $objWriter->endElement();
423
424 // a:ln
425 $objWriter->startElement('a:ln');
426 $objWriter->writeAttribute('w', '38100');
427 $objWriter->writeAttribute('cap', 'flat');
428 $objWriter->writeAttribute('cmpd', 'sng');
429 $objWriter->writeAttribute('algn', 'ctr');
430
431 // a:solidFill
432 $objWriter->startElement('a:solidFill');
433
434 // a:schemeClr
435 $objWriter->startElement('a:schemeClr');
436 $objWriter->writeAttribute('val', 'phClr');
437 $objWriter->endElement();
438
439 $objWriter->endElement();
440
441 // a:prstDash
442 $objWriter->startElement('a:prstDash');
443 $objWriter->writeAttribute('val', 'solid');
444 $objWriter->endElement();
445
446 $objWriter->endElement();
447
448 $objWriter->endElement();
449
450 // a:effectStyleLst
451 $objWriter->startElement('a:effectStyleLst');
452
453 // a:effectStyle
454 $objWriter->startElement('a:effectStyle');
455
456 // a:effectLst
457 $objWriter->startElement('a:effectLst');
458
459 // a:outerShdw
460 $objWriter->startElement('a:outerShdw');
461 $objWriter->writeAttribute('blurRad', '40000');
462 $objWriter->writeAttribute('dist', '20000');
463 $objWriter->writeAttribute('dir', '5400000');
464 $objWriter->writeAttribute('rotWithShape', '0');
465
466 // a:srgbClr
467 $objWriter->startElement('a:srgbClr');
468 $objWriter->writeAttribute('val', '000000');
469
470 // a:alpha
471 $objWriter->startElement('a:alpha');
472 $objWriter->writeAttribute('val', '38000');
473 $objWriter->endElement();
474
475 $objWriter->endElement();
476
477 $objWriter->endElement();
478
479 $objWriter->endElement();
480
481 $objWriter->endElement();
482
483 // a:effectStyle
484 $objWriter->startElement('a:effectStyle');
485
486 // a:effectLst
487 $objWriter->startElement('a:effectLst');
488
489 // a:outerShdw
490 $objWriter->startElement('a:outerShdw');
491 $objWriter->writeAttribute('blurRad', '40000');
492 $objWriter->writeAttribute('dist', '23000');
493 $objWriter->writeAttribute('dir', '5400000');
494 $objWriter->writeAttribute('rotWithShape', '0');
495
496 // a:srgbClr
497 $objWriter->startElement('a:srgbClr');
498 $objWriter->writeAttribute('val', '000000');
499
500 // a:alpha
501 $objWriter->startElement('a:alpha');
502 $objWriter->writeAttribute('val', '35000');
503 $objWriter->endElement();
504
505 $objWriter->endElement();
506
507 $objWriter->endElement();
508
509 $objWriter->endElement();
510
511 $objWriter->endElement();
512
513 // a:effectStyle
514 $objWriter->startElement('a:effectStyle');
515
516 // a:effectLst
517 $objWriter->startElement('a:effectLst');
518
519 // a:outerShdw
520 $objWriter->startElement('a:outerShdw');
521 $objWriter->writeAttribute('blurRad', '40000');
522 $objWriter->writeAttribute('dist', '23000');
523 $objWriter->writeAttribute('dir', '5400000');
524 $objWriter->writeAttribute('rotWithShape', '0');
525
526 // a:srgbClr
527 $objWriter->startElement('a:srgbClr');
528 $objWriter->writeAttribute('val', '000000');
529
530 // a:alpha
531 $objWriter->startElement('a:alpha');
532 $objWriter->writeAttribute('val', '35000');
533 $objWriter->endElement();
534
535 $objWriter->endElement();
536
537 $objWriter->endElement();
538
539 $objWriter->endElement();
540
541 // a:scene3d
542 $objWriter->startElement('a:scene3d');
543
544 // a:camera
545 $objWriter->startElement('a:camera');
546 $objWriter->writeAttribute('prst', 'orthographicFront');
547
548 // a:rot
549 $objWriter->startElement('a:rot');
550 $objWriter->writeAttribute('lat', '0');
551 $objWriter->writeAttribute('lon', '0');
552 $objWriter->writeAttribute('rev', '0');
553 $objWriter->endElement();
554
555 $objWriter->endElement();
556
557 // a:lightRig
558 $objWriter->startElement('a:lightRig');
559 $objWriter->writeAttribute('rig', 'threePt');
560 $objWriter->writeAttribute('dir', 't');
561
562 // a:rot
563 $objWriter->startElement('a:rot');
564 $objWriter->writeAttribute('lat', '0');
565 $objWriter->writeAttribute('lon', '0');
566 $objWriter->writeAttribute('rev', '1200000');
567 $objWriter->endElement();
568
569 $objWriter->endElement();
570
571 $objWriter->endElement();
572
573 // a:sp3d
574 $objWriter->startElement('a:sp3d');
575
576 // a:bevelT
577 $objWriter->startElement('a:bevelT');
578 $objWriter->writeAttribute('w', '63500');
579 $objWriter->writeAttribute('h', '25400');
580 $objWriter->endElement();
581
582 $objWriter->endElement();
583
584 $objWriter->endElement();
585
586 $objWriter->endElement();
587
588 // a:bgFillStyleLst
589 $objWriter->startElement('a:bgFillStyleLst');
590
591 // a:solidFill
592 $objWriter->startElement('a:solidFill');
593
594 // a:schemeClr
595 $objWriter->startElement('a:schemeClr');
596 $objWriter->writeAttribute('val', 'phClr');
597 $objWriter->endElement();
598
599 $objWriter->endElement();
600
601 // a:gradFill
602 $objWriter->startElement('a:gradFill');
603 $objWriter->writeAttribute('rotWithShape', '1');
604
605 // a:gsLst
606 $objWriter->startElement('a:gsLst');
607
608 // a:gs
609 $objWriter->startElement('a:gs');
610 $objWriter->writeAttribute('pos', '0');
611
612 // a:schemeClr
613 $objWriter->startElement('a:schemeClr');
614 $objWriter->writeAttribute('val', 'phClr');
615
616 // a:tint
617 $objWriter->startElement('a:tint');
618 $objWriter->writeAttribute('val', '40000');
619 $objWriter->endElement();
620
621 // a:satMod
622 $objWriter->startElement('a:satMod');
623 $objWriter->writeAttribute('val', '350000');
624 $objWriter->endElement();
625
626 $objWriter->endElement();
627
628 $objWriter->endElement();
629
630 // a:gs
631 $objWriter->startElement('a:gs');
632 $objWriter->writeAttribute('pos', '40000');
633
634 // a:schemeClr
635 $objWriter->startElement('a:schemeClr');
636 $objWriter->writeAttribute('val', 'phClr');
637
638 // a:tint
639 $objWriter->startElement('a:tint');
640 $objWriter->writeAttribute('val', '45000');
641 $objWriter->endElement();
642
643 // a:shade
644 $objWriter->startElement('a:shade');
645 $objWriter->writeAttribute('val', '99000');
646 $objWriter->endElement();
647
648 // a:satMod
649 $objWriter->startElement('a:satMod');
650 $objWriter->writeAttribute('val', '350000');
651 $objWriter->endElement();
652
653 $objWriter->endElement();
654
655 $objWriter->endElement();
656
657 // a:gs
658 $objWriter->startElement('a:gs');
659 $objWriter->writeAttribute('pos', '100000');
660
661 // a:schemeClr
662 $objWriter->startElement('a:schemeClr');
663 $objWriter->writeAttribute('val', 'phClr');
664
665 // a:shade
666 $objWriter->startElement('a:shade');
667 $objWriter->writeAttribute('val', '20000');
668 $objWriter->endElement();
669
670 // a:satMod
671 $objWriter->startElement('a:satMod');
672 $objWriter->writeAttribute('val', '255000');
673 $objWriter->endElement();
674
675 $objWriter->endElement();
676
677 $objWriter->endElement();
678
679 $objWriter->endElement();
680
681 // a:path
682 $objWriter->startElement('a:path');
683 $objWriter->writeAttribute('path', 'circle');
684
685 // a:fillToRect
686 $objWriter->startElement('a:fillToRect');
687 $objWriter->writeAttribute('l', '50000');
688 $objWriter->writeAttribute('t', '-80000');
689 $objWriter->writeAttribute('r', '50000');
690 $objWriter->writeAttribute('b', '180000');
691 $objWriter->endElement();
692
693 $objWriter->endElement();
694
695 $objWriter->endElement();
696
697 // a:gradFill
698 $objWriter->startElement('a:gradFill');
699 $objWriter->writeAttribute('rotWithShape', '1');
700
701 // a:gsLst
702 $objWriter->startElement('a:gsLst');
703
704 // a:gs
705 $objWriter->startElement('a:gs');
706 $objWriter->writeAttribute('pos', '0');
707
708 // a:schemeClr
709 $objWriter->startElement('a:schemeClr');
710 $objWriter->writeAttribute('val', 'phClr');
711
712 // a:tint
713 $objWriter->startElement('a:tint');
714 $objWriter->writeAttribute('val', '80000');
715 $objWriter->endElement();
716
717 // a:satMod
718 $objWriter->startElement('a:satMod');
719 $objWriter->writeAttribute('val', '300000');
720 $objWriter->endElement();
721
722 $objWriter->endElement();
723
724 $objWriter->endElement();
725
726 // a:gs
727 $objWriter->startElement('a:gs');
728 $objWriter->writeAttribute('pos', '100000');
729
730 // a:schemeClr
731 $objWriter->startElement('a:schemeClr');
732 $objWriter->writeAttribute('val', 'phClr');
733
734 // a:shade
735 $objWriter->startElement('a:shade');
736 $objWriter->writeAttribute('val', '30000');
737 $objWriter->endElement();
738
739 // a:satMod
740 $objWriter->startElement('a:satMod');
741 $objWriter->writeAttribute('val', '200000');
742 $objWriter->endElement();
743
744 $objWriter->endElement();
745
746 $objWriter->endElement();
747
748 $objWriter->endElement();
749
750 // a:path
751 $objWriter->startElement('a:path');
752 $objWriter->writeAttribute('path', 'circle');
753
754 // a:fillToRect
755 $objWriter->startElement('a:fillToRect');
756 $objWriter->writeAttribute('l', '50000');
757 $objWriter->writeAttribute('t', '50000');
758 $objWriter->writeAttribute('r', '50000');
759 $objWriter->writeAttribute('b', '50000');
760 $objWriter->endElement();
761
762 $objWriter->endElement();
763
764 $objWriter->endElement();
765
766 $objWriter->endElement();
767
768 $objWriter->endElement();
769
770 $objWriter->endElement();
771
772 // a:objectDefaults
773 $objWriter->writeElement('a:objectDefaults', null);
774
775 // a:extraClrSchemeLst
776 $objWriter->writeElement('a:extraClrSchemeLst', null);
777
778 $objWriter->endElement();
779
780 // Return
781 return $objWriter->getData();
782 }
783
789 private function writeFonts(XMLWriter $objWriter, string $latinFont, array $fontSet): void
790 {
791 // a:latin
792 $objWriter->startElement('a:latin');
793 $objWriter->writeAttribute('typeface', $latinFont);
794 $objWriter->endElement();
795
796 // a:ea
797 $objWriter->startElement('a:ea');
798 $objWriter->writeAttribute('typeface', '');
799 $objWriter->endElement();
800
801 // a:cs
802 $objWriter->startElement('a:cs');
803 $objWriter->writeAttribute('typeface', '');
804 $objWriter->endElement();
805
806 foreach ($fontSet as $fontScript => $typeface) {
807 $objWriter->startElement('a:font');
808 $objWriter->writeAttribute('script', $fontScript);
809 $objWriter->writeAttribute('typeface', $typeface);
810 $objWriter->endElement();
811 }
812 }
813
817 private function writeColourScheme(XMLWriter $objWriter): void
818 {
819 foreach (self::$colourScheme as $colourName => $colourValue) {
820 $objWriter->startElement('a:' . $colourName);
821
822 $objWriter->startElement('a:srgbClr');
823 $objWriter->writeAttribute('val', $colourValue);
824 $objWriter->endElement();
825
826 $objWriter->endElement();
827 }
828 }
829}
An exception for terminatinating execution or to throw for unit testing.
const STORAGE_MEMORY
Temporary storage method.
Definition: XMLWriter.php:10
getDiskCachingDirectory()
Get disk caching directory.
Definition: BaseWriter.php:92
getUseDiskCaching()
Get use disk caching where possible?
Definition: BaseWriter.php:72
writeColourScheme(XMLWriter $objWriter)
Write colour scheme to XML format.
Definition: Theme.php:817
writeTheme(Spreadsheet $spreadsheet)
Write theme to XML format.
Definition: Theme.php:109
writeFonts(XMLWriter $objWriter, string $latinFont, array $fontSet)
Write fonts to XML format.
Definition: Theme.php:789