1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 |
- import 'package:vitalapp/pages/medical/widgets/ecg_view/widgets/debug_dialog.dart';
- import 'package:flutter/material.dart';
- import 'package:get/get.dart';
- import 'index.dart';
- class EcgView extends GetView<EcgViewController> {
- const EcgView(
- {Key? key,
- required this.width,
- required this.height,
- required this.initData})
- : super(key: key);
- final double width;
- final double height;
- final List<int> initData;
- // 主视图
- Widget _buildView() {
- return Center(
- child: ClipRect(
- child: CustomPaint(
- foregroundPainter: EcgPainter(
- newPoints: controller.newPointsToDraw,
- oldPoints: controller.oldPointsToDraw,
- xDataCount: controller.xDataCount,
- yMax: 300,
- ),
- painter: GridBackgroundPainter(3 * 25),
- size: Size(width, height),
- ),
- ),
- );
- }
- @override
- Widget build(BuildContext context) {
- return GetBuilder<EcgViewController>(
- init: EcgViewController(initPoints: initData),
- id: "ecg_view",
- builder: (_) {
- return GestureDetector(
- onTap: () => controller.openFullScreenDialog(),
- onDoubleTap: () async {
- final imageBase64 = await controller.getFullDataImageBase64();
- if (imageBase64.isNotEmpty) {
- Get.dialog(
- DebugDialog(imageBase64: imageBase64),
- );
- }
- },
- child: Center(
- child: _buildView(),
- ),
- );
- },
- );
- }
- }
|