ILIAS  release_5-4 Revision v5.4.26-12-gabc799a52e6
Fill.php
Go to the documentation of this file.
1 <?php
2 
4 
7 
8 class Fill extends StyleBase
9 {
13  public const FILL_MAPPINGS = [
14  'fillType' => [
15  'solid' => FillStyles::FILL_SOLID,
16  'gray75' => FillStyles::FILL_PATTERN_DARKGRAY,
17  'gray50' => FillStyles::FILL_PATTERN_MEDIUMGRAY,
18  'gray25' => FillStyles::FILL_PATTERN_LIGHTGRAY,
19  'gray125' => FillStyles::FILL_PATTERN_GRAY125,
20  'gray0625' => FillStyles::FILL_PATTERN_GRAY0625,
21  'horzstripe' => FillStyles::FILL_PATTERN_DARKHORIZONTAL, // horizontal stripe
22  'vertstripe' => FillStyles::FILL_PATTERN_DARKVERTICAL, // vertical stripe
23  'reversediagstripe' => FillStyles::FILL_PATTERN_DARKUP, // reverse diagonal stripe
24  'diagstripe' => FillStyles::FILL_PATTERN_DARKDOWN, // diagonal stripe
25  'diagcross' => FillStyles::FILL_PATTERN_DARKGRID, // diagoanl crosshatch
26  'thickdiagcross' => FillStyles::FILL_PATTERN_DARKTRELLIS, // thick diagonal crosshatch
27  'thinhorzstripe' => FillStyles::FILL_PATTERN_LIGHTHORIZONTAL,
28  'thinvertstripe' => FillStyles::FILL_PATTERN_LIGHTVERTICAL,
29  'thinreversediagstripe' => FillStyles::FILL_PATTERN_LIGHTUP,
30  'thindiagstripe' => FillStyles::FILL_PATTERN_LIGHTDOWN,
31  'thinhorzcross' => FillStyles::FILL_PATTERN_LIGHTGRID, // thin horizontal crosshatch
32  'thindiagcross' => FillStyles::FILL_PATTERN_LIGHTTRELLIS, // thin diagonal crosshatch
33  ],
34  ];
35 
36  public function parseStyle(SimpleXMLElement $styleAttributes): array
37  {
38  $style = [];
39 
40  foreach ($styleAttributes as $styleAttributeKey => $styleAttributeValuex) {
41  $styleAttributeValue = (string) $styleAttributeValuex;
42  switch ($styleAttributeKey) {
43  case 'Color':
44  $style['fill']['endColor']['rgb'] = substr($styleAttributeValue, 1);
45  $style['fill']['startColor']['rgb'] = substr($styleAttributeValue, 1);
46 
47  break;
48  case 'PatternColor':
49  $style['fill']['startColor']['rgb'] = substr($styleAttributeValue, 1);
50 
51  break;
52  case 'Pattern':
53  $lcStyleAttributeValue = strtolower((string) $styleAttributeValue);
54  $style['fill']['fillType']
55  = self::FILL_MAPPINGS['fillType'][$lcStyleAttributeValue] ?? FillStyles::FILL_NONE;
56 
57  break;
58  }
59  }
60 
61  return $style;
62  }
63 }
$style
Definition: example_012.php:70
const parseStyle(SimpleXMLElement $styleAttributes)
Definition: Fill.php:36