Toggle navigation
Toggle navigation
This project
Loading...
Sign in
flutter_package
/
dart_pdf
Go to a project
Toggle navigation
Projects
Groups
Snippets
Help
Toggle navigation pinning
Project
Activity
Repository
Pipelines
Graphs
Issues
0
Merge Requests
0
Wiki
Network
Create a new issue
Builds
Commits
Authored by
David PHAM-VAN
2021-03-14 09:48:23 -0300
Browse Files
Options
Browse Files
Download
Email Patches
Plain Diff
Commit
9d98db648dba6a064ab1899d6beb4dec30ef7154
9d98db64
1 parent
f947c6cf
Add RadialGrid charts
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
85 additions
and
0 deletions
pdf/CHANGELOG.md
pdf/lib/src/widgets/chart/grid_radial.dart
pdf/lib/widgets.dart
pdf/CHANGELOG.md
View file @
9d98db6
...
...
@@ -4,6 +4,7 @@
-
Fix some linting issues
-
Add PdfPage.rotate attribute
-
Add RadialGrid for charts with polar coordinates
## 3.0.1
...
...
pdf/lib/src/widgets/chart/grid_radial.dart
0 → 100644
View file @
9d98db6
/*
* Copyright (C) 2017, David PHAM-VAN <dev.nfet.net@gmail.com>
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import
'dart:math'
as
math
;
import
'package:meta/meta.dart'
;
import
'package:pdf/pdf.dart'
;
import
'../geometry.dart'
;
import
'../widget.dart'
;
import
'chart.dart'
;
@experimental
class
RadialGrid
extends
ChartGrid
{
RadialGrid
();
late
PdfRect
gridBox
;
@override
void
layout
(
Context
context
,
BoxConstraints
constraints
,
{
bool
parentUsesSize
=
false
})
{
super
.
layout
(
context
,
constraints
,
parentUsesSize:
parentUsesSize
);
final
datasets
=
Chart
.
of
(
context
).
datasets
;
final
size
=
constraints
.
biggest
;
gridBox
=
PdfRect
(
0
,
0
,
size
.
x
,
size
.
y
);
for
(
final
dataset
in
datasets
)
{
dataset
.
layout
(
context
,
BoxConstraints
.
tight
(
gridBox
.
size
));
}
}
@override
PdfPoint
toChart
(
PdfPoint
p
)
{
const
z
=
3.0
;
return
PdfPoint
(
z
*
p
.
y
*
math
.
cos
(
p
.
x
/
7
*
math
.
pi
*
2
)
+
gridBox
.
width
/
2
,
z
*
p
.
y
*
math
.
sin
(
p
.
x
/
7
*
math
.
pi
*
2
)
+
gridBox
.
height
/
2
,
);
}
void
paintBackground
(
Context
context
)
{}
void
clip
(
Context
context
,
PdfPoint
size
)
{
context
.
canvas
..
saveContext
()
..
drawBox
(
gridBox
)
..
clipPath
();
}
@override
void
paint
(
Context
context
)
{
super
.
paint
(
context
);
final
datasets
=
Chart
.
of
(
context
).
datasets
;
clip
(
context
,
box
!.
size
);
for
(
var
dataSet
in
datasets
)
{
dataSet
.
paintBackground
(
context
);
}
context
.
canvas
.
restoreContext
();
paintBackground
(
context
);
clip
(
context
,
box
!.
size
);
for
(
var
dataSet
in
datasets
)
{
dataSet
.
paint
(
context
);
}
context
.
canvas
.
restoreContext
();
}
}
...
...
pdf/lib/widgets.dart
View file @
9d98db6
...
...
@@ -25,6 +25,7 @@ export 'src/widgets/chart/bar_chart.dart';
export
'src/widgets/chart/chart.dart'
;
export
'src/widgets/chart/grid_axis.dart'
;
export
'src/widgets/chart/grid_cartesian.dart'
;
export
'src/widgets/chart/grid_radial.dart'
;
export
'src/widgets/chart/legend.dart'
;
export
'src/widgets/chart/line_chart.dart'
;
export
'src/widgets/clip.dart'
;
...
...
Please
register
or
login
to post a comment