Chart background on dark theme
This commit is contained in:
@@ -19,6 +19,13 @@ class ChartWidget extends StatefulWidget {
|
||||
class _ChartWidgetState extends State<ChartWidget> {
|
||||
Offset? _dragStart;
|
||||
int? _dragStartUs;
|
||||
final ValueNotifier<Offset?> _hover = ValueNotifier(null);
|
||||
|
||||
@override
|
||||
void dispose() {
|
||||
_hover.dispose();
|
||||
super.dispose();
|
||||
}
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
@@ -35,29 +42,50 @@ class _ChartWidgetState extends State<ChartWidget> {
|
||||
_Header(channel: widget.channel),
|
||||
Expanded(
|
||||
child: LayoutBuilder(builder: (context, constraints) {
|
||||
return Listener(
|
||||
onPointerSignal: (ev) =>
|
||||
_onPointerSignal(ev, constraints),
|
||||
child: GestureDetector(
|
||||
onDoubleTap: () => _resetY(),
|
||||
onHorizontalDragStart: (d) => _dragStartHandler(d),
|
||||
onHorizontalDragUpdate: (d) =>
|
||||
_dragUpdate(d, constraints),
|
||||
onHorizontalDragEnd: (_) => _dragStart = null,
|
||||
child: ValueListenableBuilder<int>(
|
||||
valueListenable: scope.session.frameTick,
|
||||
builder: (_, __, ___) {
|
||||
return CustomPaint(
|
||||
painter: ChartPainter(
|
||||
channel: widget.channel,
|
||||
session: scope.session,
|
||||
layout: scope.layout,
|
||||
return ValueListenableBuilder<bool>(
|
||||
valueListenable: scope.session.cursorEnabled,
|
||||
builder: (_, cursorOn, __) {
|
||||
return MouseRegion(
|
||||
cursor: cursorOn
|
||||
? SystemMouseCursors.precise
|
||||
: MouseCursor.defer,
|
||||
onHover: cursorOn
|
||||
? (e) => _hover.value = e.localPosition
|
||||
: null,
|
||||
onExit: cursorOn ? (_) => _hover.value = null : null,
|
||||
child: Listener(
|
||||
onPointerSignal: (ev) =>
|
||||
_onPointerSignal(ev, constraints),
|
||||
child: GestureDetector(
|
||||
onDoubleTap: () => _resetY(),
|
||||
onHorizontalDragStart: (d) => _dragStartHandler(d),
|
||||
onHorizontalDragUpdate: (d) =>
|
||||
_dragUpdate(d, constraints),
|
||||
onHorizontalDragEnd: (_) => _dragStart = null,
|
||||
child: ListenableBuilder(
|
||||
listenable: Listenable.merge([
|
||||
scope.session.frameTick,
|
||||
_hover,
|
||||
]),
|
||||
builder: (_, __) {
|
||||
return CustomPaint(
|
||||
painter: ChartPainter(
|
||||
channel: widget.channel,
|
||||
session: scope.session,
|
||||
layout: scope.layout,
|
||||
isDark: Theme.of(context).brightness ==
|
||||
Brightness.dark,
|
||||
hoverLocalPos:
|
||||
cursorOn ? _hover.value : null,
|
||||
),
|
||||
size: Size.infinite,
|
||||
);
|
||||
},
|
||||
),
|
||||
size: Size.infinite,
|
||||
);
|
||||
},
|
||||
),
|
||||
),
|
||||
),
|
||||
),
|
||||
);
|
||||
},
|
||||
);
|
||||
}),
|
||||
),
|
||||
|
||||
Reference in New Issue
Block a user