mobdr/lib/core/extension/context_extension.dart

45 lines
1.7 KiB
Dart

import 'package:flutter/material.dart';
extension ContextExtension on BuildContext {
MediaQueryData get mediaQuery => MediaQuery.of(this);
}
extension MediaQueryExtension on BuildContext {
double get getHeight => mediaQuery.size.height;
double get getWidth => mediaQuery.size.width;
double get lowHeightValue => getHeight * 0.01;
double get mediumHeightValue => getHeight * 0.05;
double get highHeightValue => getHeight * 0.08;
double get lowWidthValue => getWidth * 0.01;
double get mediumWidthValue => getWidth * 0.05;
double get highWidthValue => getWidth * 0.08;
}
extension ThemeExtension on BuildContext {
ThemeData get theme => Theme.of(this);
TextTheme get textTheme => theme.textTheme;
ColorScheme get colors => theme.colorScheme;
}
extension PaddingExtension on BuildContext {
EdgeInsets get paddingHeightLow => EdgeInsets.all(lowHeightValue);
EdgeInsets get paddingHeightMedium => EdgeInsets.all(mediumHeightValue);
EdgeInsets get paddingHeightHigh => EdgeInsets.all(highHeightValue);
EdgeInsets get paddingWidthLow => EdgeInsets.all(lowWidthValue);
EdgeInsets get paddingWidthMedium => EdgeInsets.all(mediumWidthValue);
EdgeInsets get paddingWidthHigh => EdgeInsets.all(highWidthValue);
}
extension MarginExtension on BuildContext {
EdgeInsets get marginHeightLow => EdgeInsets.all(lowHeightValue);
EdgeInsets get marginHeightMedium => EdgeInsets.all(mediumHeightValue);
EdgeInsets get marginHeightHigh => EdgeInsets.all(highHeightValue);
EdgeInsets get marginWidthLow => EdgeInsets.all(lowWidthValue);
EdgeInsets get marginWidthMedium => EdgeInsets.all(mediumWidthValue);
EdgeInsets get marginWidthHigh => EdgeInsets.all(highWidthValue);
}