Taha Tesser
fc19ecfc58
Fix SegmentedButton clipping when drawing segments (#149739)
fixes [`SegmentedButton` doesn't clip properly when one of the segments has `ColorFiltered`](https://github.com/flutter/flutter/issues/144990)
### Code sample
<details>
<summary>expand to view the code sample</summary>
```dart
import 'package:flutter/material.dart';
void main() => runApp(const MyApp());
class MyApp extends StatelessWidget {
const MyApp({super.key});
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
body: Center(
child: SegmentedButton<int>(
segments: const <ButtonSegment<int>>[
ButtonSegment<int>(
value: 0,
label: ColorFiltered(
colorFilter:
ColorFilter.mode(Colors.amber, BlendMode.colorBurn),
child: Text('Option 1'),
),
),
ButtonSegment<int>(
value: 1,
label: Text('Option 2'),
),
],
onSelectionChanged: (Set<int> selected) {},
selected: const <int>{0},
),
),
),
);
}
}
```
</details>
### Before

### After

2024-06-07 18:34:24 +00:00
..
2024-04-09 19:35:07 +00:00
2024-06-06 20:35:18 +00:00
2024-04-09 19:35:07 +00:00
2024-01-31 16:13:17 +00:00
2024-01-31 16:13:17 +00:00
2024-03-24 18:01:17 +00:00
2024-06-05 14:54:18 +00:00
2024-04-25 10:32:45 -07:00
2024-04-25 10:32:45 -07:00
2024-05-28 16:35:29 -07:00
2024-05-28 16:35:29 -07:00
2024-02-28 13:55:50 -08:00
2024-02-28 13:55:50 -08:00
2024-06-05 14:54:18 +00:00
2024-03-19 17:58:13 +00:00
2024-05-29 18:46:04 +00:00
2024-02-28 13:55:50 -08:00
2024-03-19 17:58:13 +00:00
2024-06-05 14:54:18 +00:00
2024-06-05 14:54:18 +00:00
2024-05-09 16:31:54 -06:00
2024-06-06 21:41:22 +00:00
2024-06-05 14:54:18 +00:00
2024-06-05 14:54:18 +00:00
2024-05-10 23:37:05 +00:00
2024-06-06 20:35:18 +00:00
2024-05-10 23:37:05 +00:00
2024-06-06 20:35:18 +00:00
2024-03-24 18:01:17 +00:00
2024-06-05 22:16:08 +00:00
2024-04-01 09:42:51 +00:00
2024-05-28 16:35:29 -07:00
2024-06-05 14:54:18 +00:00
2024-05-30 17:53:03 +00:00
2024-06-05 14:54:18 +00:00
2024-05-30 17:43:26 +00:00
2024-05-10 22:08:59 +00:00
2024-06-05 14:54:18 +00:00
2024-06-05 14:54:18 +00:00
2024-05-15 18:37:07 +00:00
2024-04-08 20:47:13 +00:00
2024-06-03 11:19:29 -07:00
2024-02-28 13:55:50 -08:00
2024-06-05 14:54:18 +00:00
2024-06-05 14:54:18 +00:00
2024-02-28 13:55:50 -08:00
2024-06-05 14:54:18 +00:00
2024-06-05 14:54:18 +00:00
2024-06-05 14:54:18 +00:00
2024-06-05 14:54:18 +00:00
2024-02-28 13:55:50 -08:00
2024-06-06 20:35:18 +00:00
2024-06-05 14:54:18 +00:00
2024-03-19 17:58:13 +00:00
2024-06-05 14:54:18 +00:00
2024-04-24 11:56:32 +00:00
2024-05-28 16:35:29 -07:00
2024-04-09 19:35:07 +00:00
2024-02-07 02:44:21 +00:00
2024-04-09 19:35:07 +00:00
2024-06-05 14:54:18 +00:00
2024-06-06 20:35:18 +00:00
2024-02-27 22:49:13 +00:00
2024-06-06 06:11:25 +00:00
2024-06-05 14:54:18 +00:00
2024-03-19 17:58:16 +00:00
2024-02-21 08:59:24 +00:00
2024-04-03 15:49:38 -07:00
2024-06-05 14:54:18 +00:00
2024-03-19 17:58:13 +00:00
2024-06-05 14:54:18 +00:00
2024-04-09 19:35:07 +00:00
2024-03-11 23:04:57 +00:00
2024-06-05 14:54:18 +00:00
2024-03-19 17:58:13 +00:00
2024-06-05 14:54:18 +00:00
2024-03-19 17:58:13 +00:00
2024-06-05 14:54:18 +00:00
2024-05-28 16:35:29 -07:00
2024-06-05 14:54:18 +00:00
2024-02-28 13:55:50 -08:00
2024-05-28 16:35:29 -07:00
2024-03-13 18:07:59 +00:00
2024-05-28 16:35:29 -07:00
2024-05-28 16:35:29 -07:00
2024-06-05 14:54:18 +00:00
2024-03-19 17:58:13 +00:00
2024-03-27 16:43:10 -07:00
2024-05-20 17:43:03 +00:00
2024-06-05 14:54:18 +00:00
2024-06-05 14:54:18 +00:00
2024-03-19 17:58:13 +00:00
2024-05-28 16:35:29 -07:00
2024-06-05 14:54:18 +00:00
2024-06-05 14:54:18 +00:00
2024-04-29 08:26:19 +00:00
2024-03-13 16:31:50 +00:00
2024-03-19 17:58:13 +00:00
2024-05-29 00:20:18 +00:00
2024-03-19 17:58:13 +00:00
2024-06-05 14:54:18 +00:00
2024-06-07 18:34:24 +00:00
2024-04-24 11:56:32 +00:00
2024-04-24 09:06:17 -07:00
2024-06-05 14:54:18 +00:00
2024-03-19 17:58:13 +00:00
2024-05-29 04:31:32 +00:00
2024-04-15 16:06:07 +00:00
2024-03-28 01:20:55 +00:00
2024-06-05 14:54:18 +00:00
2024-05-22 04:58:01 +00:00
2024-03-19 17:58:13 +00:00
2024-05-07 20:54:09 +00:00
2024-06-05 14:54:18 +00:00
2024-04-17 07:59:07 +00:00
2024-06-05 14:54:18 +00:00
2024-02-28 13:55:50 -08:00
2024-06-05 14:54:18 +00:00
2024-05-23 22:25:51 +00:00
2024-03-01 06:40:47 +00:00
2024-03-06 20:41:04 +00:00
2024-02-28 13:55:50 -08:00
2024-06-05 14:54:18 +00:00
2024-03-19 17:58:13 +00:00
2024-06-05 14:54:18 +00:00
2024-05-18 10:41:56 -07:00
2024-02-23 19:02:22 +00:00
2024-03-28 01:20:55 +00:00
2024-06-05 14:54:18 +00:00
2024-02-21 00:34:11 +00:00