1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- import 'dart:typed_data';
- import 'package:vid/us/vid_us_data_reader.dart';
- import 'package:vid/us/vid_us_data_writer.dart';
- import 'package:vid/us/vid_us_point.dart';
- import 'package:vid/us/vid_us_rect.dart';
- import 'package:vid/us/vid_us_unit.dart';
- class VidUsLogicalCoordinate {
- bool _isFlipHorizontal;
- bool _isFlipVertical;
- VidUsRect _region;
- VidUsUnit _xUnit;
- VidUsUnit _yUnit;
- bool get isFlipHorizontal => _isFlipHorizontal;
- bool get isFlipVertical => _isFlipVertical;
- VidUsRect get region => _region;
- VidUsUnit get xUnit => _xUnit;
- VidUsUnit get yUnit => _yUnit;
- VidUsLogicalCoordinate(this._isFlipHorizontal, this._isFlipVertical,
- this._region, this._xUnit, this._yUnit);
- Uint8List toBytes() {
- var writer = VidUsDataWriter();
- writer.writeBool(_isFlipHorizontal);
- writer.writeBool(_isFlipVertical);
- writer.writeByte(VidUsUnitMap.getUnitValue(_xUnit));
- writer.writeByte(VidUsUnitMap.getUnitValue(_yUnit));
- writer.writeDouble(_region.left);
- writer.writeDouble(_region.top);
- writer.writeDouble(_region.right);
- writer.writeDouble(_region.bottom);
- return writer.data;
- }
- static VidUsLogicalCoordinate fromBytes(Uint8List bytes) {
- var reader = VidUsDataReader(bytes);
- var isFlipHorizontal = reader.readBool();
- var isFlipVertical = reader.readBool();
- var xUnit = VidUsUnitMap.getUnit(reader.readByte());
- var yUnit = VidUsUnitMap.getUnit(reader.readByte());
- var left = reader.readDouble();
- var top = reader.readDouble();
- var right = reader.readDouble();
- var bottom = reader.readDouble();
- var region = VidUsRect.tlbr(
- VidUsPoint(left, top), VidUsPoint(right, bottom));
- return VidUsLogicalCoordinate(
- isFlipHorizontal, isFlipVertical, region, xUnit, yUnit);
- }
- }
|