Line data Source code
1 : import 'package:flutter/material.dart'; 2 : import 'package:test_widgets_with_size/src/utils.dart'; 3 : 4 : import 'device.dart'; 5 : 6 : const kTestDefaultWidth = 800.0; 7 : const kTestDefaultHeight = 600.0; 8 : 9 : class SizedWidget extends StatelessWidget { 10 1 : const SizedWidget({ 11 : Key? key, 12 : required this.widget, 13 : this.width = kTestDefaultWidth, 14 : this.height = kTestDefaultHeight, 15 : this.devicePixelRatio = 1.0, 16 1 : }) : super(key: key); 17 : 18 : final Widget widget; 19 : final double width; 20 : final double height; 21 : final double devicePixelRatio; 22 : 23 1 : @override 24 : Widget build(BuildContext context) { 25 1 : return MediaQuery( 26 1 : data: MediaQueryData( 27 3 : size: Size(width, height), 28 1 : devicePixelRatio: devicePixelRatio, 29 : ), 30 1 : child: widget, 31 : ); 32 : } 33 : } 34 : 35 : class DeviceWidget extends StatelessWidget { 36 1 : const DeviceWidget({ 37 : Key? key, 38 : required this.widget, 39 : required this.device, 40 1 : }) : super(key: key); 41 : 42 : final Widget widget; 43 : final Device device; 44 : 45 1 : @override 46 : Widget build(BuildContext context) { 47 1 : return MediaQuery( 48 1 : data: MediaQueryData( 49 2 : size: getDeviceSize(device), 50 2 : devicePixelRatio: getDevicePixelRatio(device), 51 : ), 52 1 : child: widget, 53 : ); 54 : } 55 : }