1
0
mirror of https://github.com/flutter/samples.git synced 2026-04-27 01:48:21 +00:00
Files
samples/simple_sdf/lib/main.dart
Andy Wolff 56bf76f2f0 Add copyright to source files in simple_shader and simple_sdf (#2837)
@gaaclarke noticed the copyright was missing from the top of these
files, so this PR adds them.

## Pre-launch Checklist

- [x] I read the [Flutter Style Guide] _recently_, and have followed its
advice.
- [x] I signed the [CLA].
- [x] I read the [Contributors Guide].
- [ ] I have added sample code updates to the [changelog].
- [x] I updated/added relevant documentation (doc comments with `///`).


If you need help, consider asking for advice on the #hackers-devrel
channel on [Discord].

<!-- Links -->
[Flutter Style Guide]:
https://github.com/flutter/flutter/blob/master/docs/contributing/Style-guide-for-Flutter-repo.md
[CLA]: https://cla.developers.google.com/
[Discord]:
https://github.com/flutter/flutter/blob/master/docs/contributing/Chat.md
[Contributors Guide]:
https://github.com/flutter/samples/blob/main/CONTRIBUTING.md
[changelog]: ../CHANGELOG.md
2026-04-23 11:10:53 -07:00

64 lines
1.5 KiB
Dart

// Copyright 2024 The Flutter team. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
import 'dart:ui' as ui;
import 'package:flutter/material.dart';
import 'package:flutter_shaders/flutter_shaders.dart';
void main() {
runApp(const MyApp());
}
class MyApp extends StatelessWidget {
const MyApp({super.key});
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Simple SDF Demo',
theme: ThemeData(colorSchemeSeed: Colors.blue),
home: const MyHomePage(),
);
}
}
class MyHomePage extends StatelessWidget {
const MyHomePage({super.key});
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(title: const Text('Simple SDF Demo')),
body: ShaderBuilder(
assetKey: 'shaders/SDF.frag',
(context, shader, child) => CustomPaint(
size: MediaQuery.of(context).size,
painter: ShaderPainter(shader: shader),
),
child: const Center(child: CircularProgressIndicator()),
),
);
}
}
class ShaderPainter extends CustomPainter {
ShaderPainter({required this.shader});
ui.FragmentShader shader;
@override
void paint(Canvas canvas, Size size) {
shader.setFloat(0, size.width);
shader.setFloat(1, size.height);
final paint = Paint()..shader = shader;
canvas.drawRect(Rect.fromLTWH(0, 0, size.width, size.height), paint);
}
@override
bool shouldRepaint(covariant CustomPainter oldDelegate) {
return false;
}
}