123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899 |
- <?php
- namespace Drupal\Core\Layout\Icon;
- /**
- * Provides an interface for building layout icons.
- */
- interface IconBuilderInterface {
- /**
- * Builds a render array representation of an SVG based on an icon map.
- *
- * @param string[][] $icon_map
- * A two-dimensional array representing the visual output of the layout.
- * For the following shape:
- * |------------------------------|
- * | |
- * | 100% |
- * | |
- * |-------|--------------|-------|
- * | | | |
- * | | 50% | 25% |
- * | | | |
- * | 25% |--------------|-------|
- * | | |
- * | | 75% |
- * | | |
- * |------------------------------|
- * The corresponding array would be:
- * - ['top']
- * - ['first', 'second', 'second', 'third']
- * - ['first', 'bottom', 'bottom', 'bottom'].
- *
- * @return array
- * A render array representing a SVG icon.
- */
- public function build(array $icon_map);
- /**
- * Sets the ID.
- *
- * @param string $id
- * The machine name of the layout.
- *
- * @return $this
- */
- public function setId($id);
- /**
- * Sets the label.
- *
- * @param string $label
- * The label of the layout.
- *
- * @return $this
- */
- public function setLabel($label);
- /**
- * Sets the width.
- *
- * @param int $width
- * The width of the SVG.
- *
- * @return $this
- */
- public function setWidth($width);
- /**
- * Sets the height.
- *
- * @param int $height
- * The height of the SVG.
- *
- * @return $this
- */
- public function setHeight($height);
- /**
- * Sets the padding.
- *
- * @param int $padding
- * The padding between regions.
- *
- * @return $this
- */
- public function setPadding($padding);
- /**
- * Sets the stroke width.
- *
- * @param int|null $stroke_width
- * The width of region borders.
- *
- * @return $this
- */
- public function setStrokeWidth($stroke_width);
- }
|