action_bar_theme.dart
3.53 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';
class PdfActionBarTheme with Diagnosticable {
/// Creates a theme for action bar of [PdfPreviewController].
const PdfActionBarTheme({
this.backgroundColor,
this.iconColor,
this.height,
this.textStyle,
this.elevation = 4.0,
this.actionSpacing = 0.0,
this.alignment = WrapAlignment.spaceAround,
this.runAlignment = WrapAlignment.center,
this.crossAxisAlignment = WrapCrossAlignment.center,
});
final Color? backgroundColor;
final Color? iconColor;
final double? height;
final TextStyle? textStyle;
final double elevation;
final double actionSpacing;
final WrapAlignment alignment;
final WrapAlignment runAlignment;
final WrapCrossAlignment crossAxisAlignment;
/// Creates a copy of this object but with the given fields replaced with the
/// new values.
PdfActionBarTheme copyWith({
Color? backgroundColor,
Color? iconColor,
double? height,
TextStyle? textStyle,
double? elevation,
double? actionSpacing,
WrapAlignment? alignment,
WrapAlignment? runAlignment,
WrapCrossAlignment? crossAxisAlignment,
}) {
return PdfActionBarTheme(
backgroundColor: backgroundColor ?? this.backgroundColor,
iconColor: iconColor ?? this.iconColor,
height: height ?? this.height,
textStyle: textStyle ?? this.textStyle,
elevation: elevation ?? this.elevation,
actionSpacing: actionSpacing ?? this.actionSpacing,
alignment: alignment ?? this.alignment,
runAlignment: runAlignment ?? this.runAlignment,
crossAxisAlignment: crossAxisAlignment ?? this.crossAxisAlignment,
);
}
@override
int get hashCode => Object.hashAll([
backgroundColor,
iconColor,
height,
textStyle,
elevation,
actionSpacing,
alignment,
runAlignment,
crossAxisAlignment,
]);
@override
bool operator ==(Object other) {
if (identical(this, other)) {
return true;
}
if (other.runtimeType != runtimeType) {
return false;
}
return other is PdfActionBarTheme &&
other.backgroundColor == backgroundColor &&
other.iconColor == iconColor &&
other.height == height &&
other.textStyle == textStyle &&
other.elevation == elevation &&
other.actionSpacing == actionSpacing &&
other.alignment == alignment &&
other.runAlignment == runAlignment &&
other.crossAxisAlignment == crossAxisAlignment;
}
@override
void debugFillProperties(DiagnosticPropertiesBuilder properties) {
super.debugFillProperties(properties);
properties.add(ColorProperty('backgroundColor', backgroundColor));
properties.add(ColorProperty('iconColor', iconColor));
properties.add(DoubleProperty('height', height));
properties.add(DiagnosticsProperty<TextStyle>('textStyle', textStyle));
properties.add(DoubleProperty('elevation', elevation));
properties.add(DoubleProperty('actionSpacing', actionSpacing));
properties.add(
DiagnosticsProperty<WrapAlignment>(
'alignment',
alignment,
defaultValue: WrapAlignment.spaceAround,
),
);
properties.add(
DiagnosticsProperty<WrapAlignment>(
'runAlignment',
runAlignment,
defaultValue: WrapAlignment.center,
),
);
properties.add(
DiagnosticsProperty<WrapCrossAlignment>(
'crossAxisAlignment',
crossAxisAlignment,
defaultValue: WrapCrossAlignment.center,
),
);
}
}