• Модуль: ui
  • Путь к файлу: ~/bitrix/modules/ui/lib/barcode/barcodegenerator.php
  • Класс: BitrixUIBarcodeBarcodeGenerator
  • Вызов: BarcodeGenerator::encode_and_calculate_size
private function encode_and_calculate_size($symbology, $data, $options) {
	$code = $this->dispatch_encode($symbology, $data, $options);
	$widths = array(
		(isset($options['wq']) ? (int)$options['wq'] : 1),
		(isset($options['wm']) ? (int)$options['wm'] : 1),
		(isset($options['ww']) ? (int)$options['ww'] : 3),
		(isset($options['wn']) ? (int)$options['wn'] : 1),
		(isset($options['w4']) ? (int)$options['w4'] : 1),
		(isset($options['w5']) ? (int)$options['w5'] : 1),
		(isset($options['w6']) ? (int)$options['w6'] : 1),
		(isset($options['w7']) ? (int)$options['w7'] : 1),
		(isset($options['w8']) ? (int)$options['w8'] : 1),
		(isset($options['w9']) ? (int)$options['w9'] : 1),
	);
	$size = $this->dispatch_calculate_size($code, $widths, $options);
	$dscale = ($code && isset($code['g']) && $code['g'] == 'm') ? 4 : 1;
	$scale = (isset($options['sf']) ? (float)$options['sf'] : $dscale);
	$scalex = (isset($options['sx']) ? (float)$options['sx'] : $scale);
	$scaley = (isset($options['sy']) ? (float)$options['sy'] : $scale);
	$dpadding = ($code && isset($code['g']) && $code['g'] == 'm') ? 0 : 10;
	$padding = (isset($options['p']) ? (int)$options['p'] : $dpadding);
	$vert = (isset($options['pv']) ? (int)$options['pv'] : $padding);
	$horiz = (isset($options['ph']) ? (int)$options['ph'] : $padding);
	$top = (isset($options['pt']) ? (int)$options['pt'] : $vert);
	$left = (isset($options['pl']) ? (int)$options['pl'] : $horiz);
	$right = (isset($options['pr']) ? (int)$options['pr'] : $horiz);
	$bottom = (isset($options['pb']) ? (int)$options['pb'] : $vert);
	$dwidth = ceil($size[0] * $scalex) + $left + $right;
	$dheight = ceil($size[1] * $scaley) + $top + $bottom;
	$iwidth = (isset($options['w']) ? (int)$options['w'] : $dwidth);
	$iheight = (isset($options['h']) ? (int)$options['h'] : $dheight);
	$swidth = $iwidth - $left - $right;
	$sheight = $iheight - $top - $bottom;
	return array(
		$code, $widths, $iwidth, $iheight,
		$left, $top, $swidth, $sheight
	);
}