Line data Source code
1 : /// Enum representing text track edge types for styling captions.
2 : enum TextTrackEdgeType {
3 : /// No edge effect.
4 : none,
5 :
6 : /// Outline edge effect.
7 : outline,
8 :
9 : /// Drop shadow edge effect.
10 : dropShadow,
11 :
12 : /// Raised edge effect.
13 : raised,
14 :
15 : /// Depressed edge effect.
16 : depressed;
17 :
18 0 : factory TextTrackEdgeType.fromMap(String value) {
19 : // Try matching by name (lowerCamelCase)
20 0 : for (final v in values) {
21 0 : if (v.name == value) return v;
22 : }
23 : // Fallback: match legacy UPPER_SNAKE_CASE
24 : switch (value) {
25 0 : case 'NONE':
26 : return TextTrackEdgeType.none;
27 0 : case 'OUTLINE':
28 : return TextTrackEdgeType.outline;
29 0 : case 'DROP_SHADOW':
30 : return TextTrackEdgeType.dropShadow;
31 0 : case 'RAISED':
32 : return TextTrackEdgeType.raised;
33 0 : case 'DEPRESSED':
34 : return TextTrackEdgeType.depressed;
35 : default:
36 0 : throw ArgumentError('Unknown TextTrackEdgeType: $value');
37 : }
38 : }
39 : }
|