123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119 |
- import 'dart:convert';
- import 'dart:math';
- import 'package:fis_i18n/i18n.dart';
- import 'package:fis_jsonrpc/rpc.dart';
- import 'package:fis_measure/interfaces/process/player/play_controller.dart';
- import 'package:fis_measure/process/workspace/measure_data_controller.dart';
- import 'package:fis_measure/view/paint/ai_patint_controller.dart';
- import 'package:fis_ui/index.dart';
- import 'package:flutter/material.dart';
- import 'package:get/get.dart';
- import 'package:vid/us/vid_us_image.dart';
- import '../controller.dart';
- import '../events.dart';
- import 'streaming_progress_bar_cross.dart';
- part 'play_btn.dart';
- part 'prev_btn.dart';
- part 'next_btn.dart';
- part 'progress_bar.dart';
- part 'location_info.dart';
- class MySlideTransition extends AnimatedWidget {
- const MySlideTransition({
- Key? key,
- required Animation<Offset> position,
- this.transformHitTests = true,
- required this.child,
- }) : super(key: key, listenable: position);
- final bool transformHitTests;
- final Widget child;
- @override
- Widget build(BuildContext context) {
- final position = listenable as Animation<Offset>;
- Offset offset = position.value;
- if (position.status == AnimationStatus.reverse) {
- offset = Offset(-offset.dx, offset.dy);
- }
- return FractionalTranslation(
- translation: offset,
- transformHitTests: transformHitTests,
- child: child,
- );
- }
- }
- class VidPlayerControlBoard extends StatefulWidget {
- const VidPlayerControlBoard(this.controller, {Key? key}) : super(key: key);
- final VidPlayerController controller;
- @override
- State<VidPlayerControlBoard> createState() => _VidPlayerControlBoardState();
- }
- class _VidPlayerControlBoardState extends State<VidPlayerControlBoard> {
- @override
- Widget build(BuildContext context) {
- return _SharedWidget(
- controller: widget.controller,
- child: Container(
- // padding: const EdgeInsets.symmetric(horizontal: 20, vertical: 10),
- child: Column(
- mainAxisAlignment: MainAxisAlignment.center,
- children: [
- _buildPlayStatusBar(),
- ],
- ),
- ),
- );
- }
- Widget _buildPlayStatusBar() {
- return Expanded(
- child: AnimatedSwitcher(
- duration: const Duration(seconds: 1),
- child: Row(
- mainAxisSize: MainAxisSize.min,
- crossAxisAlignment: CrossAxisAlignment.center,
- children: [
- _PlayButton(),
- const SizedBox(width: 6),
- _PrevButton(),
- _NextButton(),
- const SizedBox(width: 4),
- Expanded(child: _ProgressBar()),
- const SizedBox(width: 10),
- LocationInfo(),
- ],
- ),
- ),
- );
- }
- }
- class _SharedWidget extends InheritedWidget {
- const _SharedWidget({
- required Widget child,
- required this.controller,
- }) : super(child: child);
- final VidPlayerController controller;
- static _SharedWidget? of(BuildContext context) {
- try {
- final data = context.dependOnInheritedWidgetOfExactType<_SharedWidget>();
- return data;
- } catch (e) {
- //
- }
- return null;
- }
- @override
- bool updateShouldNotify(covariant InheritedWidget oldWidget) => false;
- }
|