Skip to content

Commit

Permalink
Merge pull request #254 from GeekyAnts/main
Browse files Browse the repository at this point in the history
v1.0.3
  • Loading branch information
hasnentai authored Oct 4, 2023
2 parents 507c6a0 + 4682569 commit 43eb8ab
Show file tree
Hide file tree
Showing 12 changed files with 77 additions and 57 deletions.
7 changes: 7 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,10 @@
## 1.0.3

**Fixes**

- Fixed Drawing of `Pointer` over `valueBar`


## 1.0.2

**Features**
Expand Down
50 changes: 30 additions & 20 deletions example/lib/gauge_vertical.dart
Original file line number Diff line number Diff line change
Expand Up @@ -14,26 +14,36 @@ class _MyVerticalGaugeState extends State<MyVerticalGauge> {
return Scaffold(
body: Center(
child: Padding(
padding: const EdgeInsets.all(2.0),
child: LinearGauge(
linearGaugeBoxDecoration: const LinearGaugeBoxDecoration(
thickness: 30,
borderRadius: 10,
),
// enableAnimation: true,
gaugeOrientation: GaugeOrientation.horizontal,
rulers: RulerStyle(
primaryRulersWidth: 10,
primaryRulersHeight: 30,
primaryRulerColor: const Color(0xff310072),
inverseRulers: false,
showLabel: false,
showSecondaryRulers: false,
showPrimaryRulers: true,
rulerPosition: RulerPosition.center,
),
),
),
padding: const EdgeInsets.all(2.0),
child: LinearGauge(
end: 126,
gaugeOrientation: GaugeOrientation.vertical,
rulers: RulerStyle(
rulerPosition: RulerPosition.right,
),
pointers: const [
Pointer(
value: 50,
height: 20,
color: Colors.green,
width: 20,
shape: PointerShape.triangle,
isInteractive: true,
onChanged: null,
pointerPosition: PointerPosition.left,
),
],
curves: const [
CustomCurve(
startHeight: 4,
endHeight: 50,
midHeight: 5,
curvePosition: CurvePosition.left,
end: 126,
midPoint: 50 * 0.8,
),
],
)),
),
);
}
Expand Down
3 changes: 2 additions & 1 deletion example/lib/main.dart
Original file line number Diff line number Diff line change
@@ -1,11 +1,12 @@
import 'package:example/gauge_vertical.dart';
import 'package:flutter/material.dart';
import 'package:geekyants_flutter_gauges/geekyants_flutter_gauges.dart';

void main() {
runApp(
const MaterialApp(
debugShowCheckedModeBanner: false,
home: RadialGaugeExample(),
home: MyVerticalGauge(),
),
);
}
Expand Down
2 changes: 1 addition & 1 deletion example/macos/Runner.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -182,7 +182,7 @@
isa = PBXProject;
attributes = {
LastSwiftUpdateCheck = 0920;
LastUpgradeCheck = 1300;
LastUpgradeCheck = 1430;
ORGANIZATIONNAME = "";
TargetAttributes = {
33CC10EC2044A3C60003C045 = {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "1300"
LastUpgradeVersion = "1430"
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"
Expand Down
38 changes: 19 additions & 19 deletions example/pubspec.lock
Original file line number Diff line number Diff line change
Expand Up @@ -37,10 +37,10 @@ packages:
dependency: transitive
description:
name: collection
sha256: "4a07be6cb69c84d677a6c3096fcf960cc3285a8330b4603e0d463d15d9bd934c"
sha256: f092b211a4319e98e5ff58223576de6c2803db36221657b46c82574721240687
url: "https://pub.dev"
source: hosted
version: "1.17.1"
version: "1.17.2"
cupertino_icons:
dependency: "direct main"
description:
Expand Down Expand Up @@ -82,14 +82,6 @@ packages:
relative: true
source: path
version: "1.0.2"
js:
dependency: transitive
description:
name: js
sha256: f2c445dce49627136094980615a031419f7f3eb393237e4ecd97ac15dea343f3
url: "https://pub.dev"
source: hosted
version: "0.6.7"
lints:
dependency: transitive
description:
Expand All @@ -102,18 +94,18 @@ packages:
dependency: transitive
description:
name: matcher
sha256: "6501fbd55da300384b768785b83e5ce66991266cec21af89ab9ae7f5ce1c4cbb"
sha256: "1803e76e6653768d64ed8ff2e1e67bea3ad4b923eb5c56a295c3e634bad5960e"
url: "https://pub.dev"
source: hosted
version: "0.12.15"
version: "0.12.16"
material_color_utilities:
dependency: transitive
description:
name: material_color_utilities
sha256: d92141dc6fe1dad30722f9aa826c7fbc896d021d792f80678280601aff8cf724
sha256: "9528f2f296073ff54cb9fee677df673ace1218163c3bc7628093e7eed5203d41"
url: "https://pub.dev"
source: hosted
version: "0.2.0"
version: "0.5.0"
meta:
dependency: transitive
description:
Expand All @@ -139,10 +131,10 @@ packages:
dependency: transitive
description:
name: source_span
sha256: dd904f795d4b4f3b870833847c461801f6750a9fa8e61ea5ac53f9422b31f250
sha256: "53e943d4206a5e30df338fd4c6e7a077e02254531b138a15aec3bd143c1a8b3c"
url: "https://pub.dev"
source: hosted
version: "1.9.1"
version: "1.10.0"
stack_trace:
dependency: transitive
description:
Expand Down Expand Up @@ -179,10 +171,10 @@ packages:
dependency: transitive
description:
name: test_api
sha256: eb6ac1540b26de412b3403a163d919ba86f6a973fe6cc50ae3541b80092fdcfb
sha256: "75760ffd7786fffdfb9597c35c5b27eaeec82be8edfb6d71d32651128ed7aab8"
url: "https://pub.dev"
source: hosted
version: "0.5.1"
version: "0.6.0"
vector_math:
dependency: transitive
description:
Expand All @@ -191,6 +183,14 @@ packages:
url: "https://pub.dev"
source: hosted
version: "2.1.4"
web:
dependency: transitive
description:
name: web
sha256: dc8ccd225a2005c1be616fe02951e2e342092edf968cf0844220383757ef8f10
url: "https://pub.dev"
source: hosted
version: "0.1.4-beta"
sdks:
dart: ">=3.0.0-0 <4.0.0"
dart: ">=3.1.0-185.0.dev <4.0.0"
flutter: ">=1.17.0"
11 changes: 5 additions & 6 deletions lib/src/linear_gauge/linear_gauge.dart
Original file line number Diff line number Diff line change
Expand Up @@ -647,6 +647,11 @@ class _LinearGauge extends State<LinearGauge> with TickerProviderStateMixin {
}
}

if (widget.curves != null && widget.curves!.isNotEmpty) {
for (final CustomCurve curve in widget.curves!) {
_addChild(curve, null, null);
}
}
if (widget.pointers != null && widget.pointers!.isNotEmpty) {
for (final dynamic pointer in widget.pointers!) {
_addChild(
Expand All @@ -655,12 +660,6 @@ class _LinearGauge extends State<LinearGauge> with TickerProviderStateMixin {
}
}

if (widget.curves != null && widget.curves!.isNotEmpty) {
for (final CustomCurve curve in widget.curves!) {
_addChild(curve, null, null);
}
}

return _linearGaugeWidgets;
}

Expand Down
2 changes: 1 addition & 1 deletion lib/src/radial_gauge/pointer/needle_pointer.dart
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ class NeedlePointer extends LeafRenderObjectWidget {
this.gradient,
this.color = Colors.red,
this.tailColor = Colors.red,
this.needleWidth = 30,
this.needleWidth = 40,
this.needleHeight = 300,
this.onChanged,
this.isInteractive = false,
Expand Down
9 changes: 5 additions & 4 deletions lib/src/radial_gauge/pointer/needle_pointer_painter.dart
Original file line number Diff line number Diff line change
Expand Up @@ -146,6 +146,8 @@ class RenderNeedlePointer extends RenderBox {
Offset calulatedPosition = localToGlobal(position);
if (needlePointerRect.contains(calulatedPosition)) {
return true;
} else if (needlePointerRect.contains(position)) {
return true;
} else {
return false;
}
Expand Down Expand Up @@ -182,8 +184,8 @@ class RenderNeedlePointer extends RenderBox {
double startAngle = (_radialGauge!.track.startAngle - 180) * (pi / 180);
double endAngle = (_radialGauge!.track.endAngle - 180) * (pi / 180);

final maxH = size.shortestSide / 2 * getRadialGauge.radiusFactor -
2 * getRadialGauge.track.thickness;
final maxH = size.shortestSide / (2 * getRadialGauge.radiusFactor) -
(2 * getRadialGauge.track.thickness);

final double needleMultiplier = _needleHeight.clamp(0, maxH);

Expand Down Expand Up @@ -221,8 +223,7 @@ class RenderNeedlePointer extends RenderBox {
needleStartY - (needleWidth) * sin(angle + pi / 2));

needlePath.lineTo(needleEndX, needleEndY);
// Offset c = Offset(offset.dx, offset.dy - getTailRadius);
// canvas.drawCircle(c, 100, Paint()..color = Colors.black);

needlePath.close();

needlePointerRect = needlePath;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,8 @@ class RenderRadialShapePointer extends RenderBox {

if (pointerRect.contains(calculatedPosition)) {
return true;
} else if (pointerRect.contains(position)) {
return true;
} else {
return false;
}
Expand Down
6 changes: 3 additions & 3 deletions lib/src/radial_gauge/radial_gauge_painter.dart
Original file line number Diff line number Diff line change
Expand Up @@ -135,7 +135,7 @@ class RenderRadialGauge extends RenderBox
child.parentData as RadialGaugeParentData;

if (child is RenderRadialShapePointer) {
childParentData.offset = const Offset(0, 0);
childParentData.offset = Offset.zero;
centOffset = childParentData.offset;
final childConstrainst = BoxConstraints(
maxWidth: size.width,
Expand All @@ -144,7 +144,7 @@ class RenderRadialGauge extends RenderBox

child.layout(childConstrainst, parentUsesSize: true);
} else if (child is RenderRadialWidgetPointer) {
childParentData.offset = const Offset(0, 0);
childParentData.offset = Offset.zero;
final childConstrainst = BoxConstraints(
maxWidth: size.width,
maxHeight: size.height,
Expand All @@ -169,7 +169,7 @@ class RenderRadialGauge extends RenderBox
);
child.layout(childConstraints, parentUsesSize: true);
} else if (child is RenderNeedlePointer) {
childParentData.offset = const Offset(0, 0);
childParentData.offset = Offset.zero;
centOffset = childParentData.offset;
final childConstraints = BoxConstraints(
maxWidth: size.width,
Expand Down
2 changes: 1 addition & 1 deletion pubspec.yaml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
name: geekyants_flutter_gauges
description: A linear gauge package for Flutter that displays progress
and can be customized for appearance and behavior.
version: 1.0.2
version: 1.0.3
homepage: https://github.com/GeekyAnts/GaugesFlutter

environment:
Expand Down

0 comments on commit 43eb8ab

Please sign in to comment.