Repository: flutter
Issue: [Windows] TextField text being misplaced within its boundary when resizing window 
Labels: a: text input,framework,f: material design,a: desktop,has reproducible steps,P2,found in release: 3.3,found in release: 3.6,team-text-input,triaged-text-input

TextField text being misplaced within its boundary as the font size decreases relative to the window size, I used the InputDecoration filled to see what is going on and realized that the fill is also being misplacing, but not following the text. With the shadows also happens the same.
This bug happens on Windows, on Android it seems to be ok.

Image saved when in big size widget:
![output_big](https://user-images.githubusercontent.com/46376262/97536008-4567fc00-199b-11eb-9c97-a06c361211b9.png)

Now the image saved when in lower size widget:
![output](https://user-images.githubusercontent.com/46376262/97536622-333a8d80-199c-11eb-8031-dfce6235f681.png)

### Source code:
```
import 'dart:io';
import 'dart:typed_data';
import 'dart:ui' as ui;

import 'package:flutter/material.dart';
import 'package:flutter/rendering.dart';
import 'package:flutter/scheduler.dart';

void main() {
  runApp(YGOCardMaker());
}

class YGOCardMaker extends StatelessWidget {
  GlobalKey globalKey = GlobalKey();

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(
          title: Text('YGO Card Maker'),
        ),
        body: SingleChildScrollView(
          child: Column(
            children: [
              RepaintBoundary(
                key: globalKey,
                child: CardCanvas(),
              ),
              FlatButton(
                child: Text(
                  'Save Card',
                  textDirection: TextDirection.ltr,
                  style: TextStyle(backgroundColor: Colors.red),
                ),
                onPressed: _capturePng,
              ),
            ],
          ),
        ),
      ),
    );
  }

  Future<void> _capturePng() async {
    RenderRepaintBoundary boundary =
        globalKey.currentContext.findRenderObject();
    double px_ratio = (545 / boundary.size.width);
    ui.Image image = await boundary.toImage(pixelRatio: px_ratio);
    ByteData byteData = await image.toByteData(format: ui.ImageByteFormat.png);
    Uint8List pngBytes = byteData.buffer.asUint8List();

    var filePath = 'assets/images/output.png';
    File(filePath).writeAsBytes(pngBytes);
    print('saved');
    print(filePath);
  }
}

class CardCanvas extends StatefulWidget {
  @override
  _CardCanvasState createState() => _CardCanvasState();
}

class _CardCanvasState extends State<CardCanvas> {
  Size templateSize = Size(10, 10);

  @override
  Widget build(BuildContext context) {
    // Update templateSize var
    SchedulerBinding.instance.addPostFrameCallback((_) {
      setState(() {
        RenderBox _tempCBox = context.findRenderObject();
        templateSize = _tempCBox.size;
      });
    });
    final myController = TextEditingController(text: 'Number 96: Dark Mist');

    return Stack(
      children: [
        Image.asset(
          'assets/images/template_rush2.png',
        ),
        Positioned(
          left: templateSize.width * 0.05,
          top: templateSize.width * 0.033,
          width: templateSize.width * 0.75,
          child: TextField(
            controller: myController,
            textAlign: TextAlign.left,
            decoration: InputDecoration.collapsed(
                filled: true,
                fillColor: Colors.red,
                // isDense: true,
                border: InputBorder.none,
                hintText: 'Card Name'),
            style: TextStyle(
              color: Colors.white,
              // backgroundColor: Colors.blue,
              fontFamily: 'Matrix Book',
              // fontSize: 66,
              // fontSize:
              //     [templateSize.width, templateSize.height].reduce(min) * 0.052,
              fontSize: templateSize.width * 0.0815,
              // shadows: [
              //   Shadow(color: Colors.yellow, offset: Offset(-1, -1)),
              //   Shadow(color: Colors.yellow, offset: Offset(-1, 1)),
              //   Shadow(color: Colors.yellow, offset: Offset(1, -1)),
              //   Shadow(color: Colors.yellow, offset: Offset(1, 1)),
              // ],
            ),
          ),
        ),
      ],
    );
  }
}
```

### Logs:
```
flutter doctor
Doctor summary (to see all details, run flutter doctor -v):
[√] Flutter (Channel dev, 1.24.0-3.0.pre, on Microsoft Windows [versÃ£o 10.0.19041.572], locale pt-BR)
[√] Android toolchain - develop for Android devices (Android SDK version 30.0.2)
[√] Visual Studio - develop for Windows (Visual Studio Community 2019 16.7.6)
[√] Android Studio (version 4.1.0)
[√] Connected device (1 available)

• No issues found!

flutter upgrade
Flutter is already up to date on channel dev
Flutter 1.24.0-3.0.pre • channel dev • https://github.com/flutter/flutter.git
Framework • revision 2783f8e2e1 (7 days ago) • 2020-10-22 09:36:06 -0700
Engine • revision defa8be2b1
Tools • Dart 2.11.0 (build 2.11.0-242.0.dev)
```