init method
void
init({
- required double designWidth,
- required double designHeight,
- required MediaQueryData mediaQuery,
- bool isLoggingEnabled = false,
Initialize the scaling factors with a reference design frame.
Example: DesignUtils.instance.init(designWidth: 375, designHeight: 812, mediaQuery: MediaQuery.of(context))
Implementation
void init({
required double designWidth,
required double designHeight,
required MediaQueryData mediaQuery,
bool isLoggingEnabled = false,
}) {
assert(
designWidth > 0 && designHeight > 0,
'Design size must be greater than 0.',
);
_designWidth = designWidth;
_designHeight = designHeight;
_screenWidth = mediaQuery.size.width;
_screenHeight = mediaQuery.size.height;
_scaleWidth = max(_screenWidth / _designWidth, 0.0001);
_scaleHeight = max(_screenHeight / _designHeight, 0.0001);
_initialized = true;
if (isLoggingEnabled) {
ConsoleLogger.logDesignUtilsInit(
designWidth: _designWidth,
designHeight: _designHeight,
screenWidth: _screenWidth,
screenHeight: _screenHeight,
scaleWidth: _scaleWidth,
scaleHeight: _scaleHeight,
mode: 'Design',
);
// debugPrint(
// '[DesignUtils] Initialized with:\n'
// 'Design: $_designWidth x $_designHeight\n'
// 'Screen: $_screenWidth x $_screenHeight\n'
// 'Scale Width: $_scaleWidth\n'
// 'Scale Height: $_scaleHeight',
// );
}
}