import 'package:flutter/cupertino.dart'; import 'package:hmg_nurses/classes/consts.dart'; class SizeConfig { static double _blockWidth = 0; static double _blockHeight = 0; static double? realScreenWidth; static double? realScreenHeight; static double? screenWidth; static double? screenHeight; static double? textMultiplier; static double? imageSizeMultiplier; static double? heightMultiplier; static bool isPortrait = true; static double? widthMultiplier; static bool isMobilePortrait = false; static bool isMobile = false; static bool isHeightShort = false; static bool isHeightVeryShort = false; static bool isHeightMiddle = false; static bool isHeightLarge = false; static bool isWidthLarge = false; void init(BoxConstraints constraints, Orientation orientation) { realScreenHeight = constraints.maxHeight; realScreenWidth = constraints.maxWidth; if (constraints.maxWidth <= ApiConsts.MAX_SMALL_SCREEN) { isMobile = true; } if (constraints.maxHeight < 600) { isHeightVeryShort = true; } else if (constraints.maxHeight < 800) { isHeightShort = true; } else if (constraints.maxHeight < 1000) { isHeightMiddle = true; } else { isHeightLarge = true; } if (constraints.maxWidth > 600) { isWidthLarge = true; } if (orientation == Orientation.portrait) { isPortrait = true; if (realScreenWidth! < 450) { isMobilePortrait = true; } // textMultiplier = _blockHeight; // imageSizeMultiplier = _blockWidth; screenHeight = realScreenHeight; screenWidth = realScreenWidth; } else { isPortrait = false; isMobilePortrait = false; // textMultiplier = _blockWidth; // imageSizeMultiplier = _blockHeight; screenHeight = realScreenWidth; screenWidth = realScreenHeight; } _blockWidth = screenWidth! / 100; _blockHeight = screenHeight! / 100; textMultiplier = _blockHeight; imageSizeMultiplier = _blockWidth; heightMultiplier = _blockHeight; widthMultiplier = _blockWidth; print('realScreenWidth $realScreenWidth'); print('realScreenHeight $realScreenHeight'); print('textMultiplier $textMultiplier'); print('imageSizeMultiplier $imageSizeMultiplier'); print('heightMultiplier$heightMultiplier'); print('widthMultiplier $widthMultiplier'); print('isPortrait $isPortrait'); print('isMobilePortrait $isMobilePortrait'); } static getTextMultiplierBasedOnWidth({double? width}) { // TODO handel LandScape case if (width != null) { return width / 100; } return widthMultiplier; } static getWidthMultiplier({double? width}) { // TODO handel LandScape case if (width != null) { return width / 100; } return widthMultiplier; } static getHeightMultiplier({double? height}) { // TODO handel LandScape case if (height != null) { return height / 100; } return heightMultiplier; } }