Request Management 1.0
parent
f2224a3f76
commit
4b08a974bb
@ -0,0 +1,31 @@
|
|||||||
|
class Enums {
|
||||||
|
int id;
|
||||||
|
int enumTypeId;
|
||||||
|
String enumValueStr;
|
||||||
|
int enumValue;
|
||||||
|
bool isActive;
|
||||||
|
|
||||||
|
Enums({
|
||||||
|
required this.id,
|
||||||
|
required this.enumTypeId,
|
||||||
|
required this.enumValueStr,
|
||||||
|
required this.enumValue,
|
||||||
|
required this.isActive,
|
||||||
|
});
|
||||||
|
|
||||||
|
factory Enums.fromJson(Map<String, dynamic> json) => Enums(
|
||||||
|
id: json["id"],
|
||||||
|
enumTypeId: json["enumTypeID"],
|
||||||
|
enumValueStr: json["enumValueStr"],
|
||||||
|
enumValue: json["enumValue"],
|
||||||
|
isActive: json["isActive"],
|
||||||
|
);
|
||||||
|
|
||||||
|
Map<String, dynamic> toJson() => {
|
||||||
|
"id": id,
|
||||||
|
"enumTypeID": enumTypeId,
|
||||||
|
"enumValueStr": enumValueStr,
|
||||||
|
"enumValue": enumValue,
|
||||||
|
"isActive": isActive,
|
||||||
|
};
|
||||||
|
}
|
@ -0,0 +1,101 @@
|
|||||||
|
import 'package:flutter/material.dart';
|
||||||
|
import 'dart:math' as math;
|
||||||
|
|
||||||
|
class DashedRect extends StatelessWidget {
|
||||||
|
final Color color;
|
||||||
|
final double strokeWidth;
|
||||||
|
final double gap;
|
||||||
|
|
||||||
|
DashedRect({this.color = Colors.black, this.strokeWidth = 1.0, this.gap = 5.0});
|
||||||
|
|
||||||
|
@override
|
||||||
|
Widget build(BuildContext context) {
|
||||||
|
return Padding(
|
||||||
|
padding: EdgeInsets.all(strokeWidth / 2),
|
||||||
|
child: CustomPaint(
|
||||||
|
painter: DashRectPainter(color: color, strokeWidth: strokeWidth, gap: gap),
|
||||||
|
),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
class DashRectPainter extends CustomPainter {
|
||||||
|
double strokeWidth;
|
||||||
|
Color color;
|
||||||
|
double gap;
|
||||||
|
|
||||||
|
DashRectPainter({this.strokeWidth = 5.0, this.color = Colors.red, this.gap = 5.0});
|
||||||
|
|
||||||
|
@override
|
||||||
|
void paint(Canvas canvas, Size size) {
|
||||||
|
Paint dashedPaint = Paint()
|
||||||
|
..color = color
|
||||||
|
..strokeWidth = strokeWidth
|
||||||
|
..style = PaintingStyle.stroke;
|
||||||
|
|
||||||
|
double x = size.width;
|
||||||
|
double y = size.height;
|
||||||
|
|
||||||
|
Path _topPath = getDashedPath(
|
||||||
|
a: math.Point(0, 0),
|
||||||
|
b: math.Point(x, 0),
|
||||||
|
gap: gap,
|
||||||
|
);
|
||||||
|
|
||||||
|
Path _rightPath = getDashedPath(
|
||||||
|
a: math.Point(x, 0),
|
||||||
|
b: math.Point(x, y),
|
||||||
|
gap: gap,
|
||||||
|
);
|
||||||
|
|
||||||
|
Path _bottomPath = getDashedPath(
|
||||||
|
a: math.Point(0, y),
|
||||||
|
b: math.Point(x, y),
|
||||||
|
gap: gap,
|
||||||
|
);
|
||||||
|
|
||||||
|
Path _leftPath = getDashedPath(
|
||||||
|
a: math.Point(0, 0),
|
||||||
|
b: math.Point(0.001, y),
|
||||||
|
gap: gap,
|
||||||
|
);
|
||||||
|
|
||||||
|
canvas.drawPath(_topPath, dashedPaint);
|
||||||
|
canvas.drawPath(_rightPath, dashedPaint);
|
||||||
|
canvas.drawPath(_bottomPath, dashedPaint);
|
||||||
|
canvas.drawPath(_leftPath, dashedPaint);
|
||||||
|
}
|
||||||
|
|
||||||
|
Path getDashedPath({
|
||||||
|
required math.Point<double> a,
|
||||||
|
required math.Point<double> b,
|
||||||
|
required gap,
|
||||||
|
}) {
|
||||||
|
Size size = Size(b.x - a.x, b.y - a.y);
|
||||||
|
Path path = Path();
|
||||||
|
path.moveTo(a.x, a.y);
|
||||||
|
bool shouldDraw = true;
|
||||||
|
math.Point currentPoint = math.Point(a.x, a.y);
|
||||||
|
|
||||||
|
num radians = math.atan(size.height / size.width);
|
||||||
|
|
||||||
|
num dx = math.cos(radians) * gap < 0 ? math.cos(radians) * gap * -1 : math.cos(radians) * gap;
|
||||||
|
|
||||||
|
num dy = math.sin(radians) * gap < 0 ? math.sin(radians) * gap * -1 : math.sin(radians) * gap;
|
||||||
|
|
||||||
|
while (currentPoint.x <= b.x && currentPoint.y <= b.y) {
|
||||||
|
shouldDraw ? path.lineTo(currentPoint.x.toDouble(), currentPoint.y.toDouble()) : path.moveTo(currentPoint.x.toDouble(), currentPoint.y.toDouble());
|
||||||
|
shouldDraw = !shouldDraw;
|
||||||
|
currentPoint = math.Point(
|
||||||
|
currentPoint.x + dx,
|
||||||
|
currentPoint.y + dy,
|
||||||
|
);
|
||||||
|
}
|
||||||
|
return path;
|
||||||
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
bool shouldRepaint(CustomPainter oldDelegate) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue