+ /**
+ * Calculate new dimensions for SVG image
+ * No cropping, if cropped info present image is scaled down
+ *
+ * @param Resource\FileInterface $file
+ * @param array $configuration
+ * @param array $options
+ * @param GifBuilder $gifBuilder
+ * @return array width,height
+ */
+ protected function getNewSvgDimensions($file, array $configuration, array $options, GifBuilder $gifBuilder) {
+
+ $info = array($file->getProperty('width'), $file->getProperty('height'));
+ $data = $gifBuilder->getImageScale($info, $configuration['width'], $configuration['height'], $options);
+
+ // Turn cropScaling into scaling
+ if ($data['crs']) {
+ if (!$data['origW']) {
+ $data['origW'] = $data[0];
+ }
+ if (!$data['origH']) {
+ $data['origH'] = $data[1];
+ }
+ if ($data[0] > $data['origW']) {
+ $data[1] = (int)(($data['origW'] * $data[1]) / $data[0]);
+ $data[0] = $data['origW'];
+ } else {
+ $data[0] = (int)(($data['origH'] * $data[0]) / $data[1]);
+ $data[1] = $data['origH'];
+ }
+ }
+
+ return array(
+ 'width' => $data[0],
+ 'height' => $data[1]
+ );
+ }
+