19 declare(strict_types=1);
54 ImageFactory $factory,
57 if (!$this->
settings->hasTilePreviews()) {
66 if ($irss->flavours()->possible($rid, $this->crop_definition)) {
67 $flavour = $irss->flavours()->get($rid, $this->crop_definition);
70 if ($irss->flavours()->possible($rid, $this->extract_definition)) {
71 $flavour = $irss->flavours()->get($rid, $this->extract_definition);
80 ImageFactory $factory,
83 $urls = $irss->consume()->flavourUrls($flavour)->getURLsAsArray();
89 $available_widths = $this->crop_definition->getWidths();
90 array_pop($available_widths);
92 if (!isset($urls[count($available_widths)])) {
96 $image = $factory->responsive($urls[count($available_widths)],
'');
99 function ($carry, $size) use ($urls) {
100 $image = $carry[
'image']->withAdditionalHighResSource($urls[$carry[
'counter']], $size / 2);
101 $counter = ++$carry[
'counter'];
104 'counter' => $counter
107 [
'image' => $image,
'counter' => 0]
113 IconFactory $icon_factory,
116 $info = $this->
info->getByObjectId($obj_id);
117 if ((
$path = $this->icons->getIconFilePathBySuffix($info->getSuffix()))) {
118 return $icon_factory->custom(
$path, $info->getSuffix());
getObjectTypeSpecificIcon(int $obj_id, IconFactory $icon_factory, StorageService $irss)
FlavourDefinition $crop_definition
info()
description: > Example for rendering a info message box.
ilObjFileInfoRepository $info
FlavourDefinition $extract_definition
This is how a factory for icons looks like.
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
IconDatabaseRepository $icons
getObjectTypeSpecificTileImage(int $obj_id, ImageFactory $factory, StorageService $irss)
This is how the factory for UI elements looks.
getImageFromIRSS(StorageService $irss, ImageFactory $factory, Flavour $flavour)