logoDimensions function

LogoDimensions logoDimensions(
  1. int chars
)

Ins Kaestchen der Stufe eingepasst, nie hochgerechnet (1 Bildpixel hoechstens 1 Druckpunkt).

Implementation

LogoDimensions logoDimensions(SheetLogo logo, int chars) {
  if (logo.pixelWidth <= 0 || logo.pixelHeight <= 0) {
    throw ArgumentError('Logo ohne Pixelmass');
  }
  final blattPunkte = chars * dotsPerChar;
  final faktor = math.min(
    math.min((logo.size.widthFraction * blattPunkte) / logo.pixelWidth, (logo.size.heightLines * dotsPerLine) / logo.pixelHeight),
    1.0,
  );
  return LogoDimensions(
    widthFraction: (logo.pixelWidth * faktor) / blattPunkte,
    heightLines: (logo.pixelHeight * faktor) / dotsPerLine,
  );
}