Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Sign in
Toggle navigation
F
Front-End
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
abdullh.alsoleman
Front-End
Commits
33841160
Commit
33841160
authored
Aug 17, 2015
by
Collin Jackson
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Style the axis labels
parent
4fc0cbf0
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
36 additions
and
4 deletions
+36
-4
playfair.dart
packages/playfair/lib/playfair.dart
+3
-0
base.dart
packages/playfair/lib/src/base.dart
+33
-4
No files found.
packages/playfair/lib/playfair.dart
View file @
33841160
...
...
@@ -7,7 +7,10 @@ library playfair;
import
'dart:sky'
as
sky
;
import
'package:sky/widgets/framework.dart'
;
import
'package:sky/widgets/theme.dart'
;
import
'package:sky/rendering/box.dart'
;
import
'package:sky/rendering/object.dart'
;
import
'package:sky/painting/paragraph_painter.dart'
;
import
'package:sky/theme/typography.dart'
;
part
'src/base.dart'
;
packages/playfair/lib/src/base.dart
View file @
33841160
...
...
@@ -23,6 +23,7 @@ class Chart extends LeafRenderObjectWrapper {
void
syncRenderObject
(
Widget
old
)
{
super
.
syncRenderObject
(
old
);
root
.
textTheme
=
Theme
.
of
(
this
).
text
;
root
.
data
=
data
;
}
}
...
...
@@ -37,7 +38,7 @@ class RenderChart extends RenderConstrainedBox {
final
ChartPainter
_painter
;
ChartData
get
data
=>
_painter
.
data
;
void
set
data
(
ChartData
value
)
{
void
set
data
(
ChartData
value
)
{
assert
(
value
!=
null
);
if
(
value
==
_painter
.
data
)
return
;
...
...
@@ -45,6 +46,15 @@ class RenderChart extends RenderConstrainedBox {
markNeedsPaint
();
}
TextTheme
get
textTheme
=>
_painter
.
textTheme
;
void
set
textTheme
(
TextTheme
value
)
{
assert
(
value
!=
null
);
if
(
value
==
_painter
.
textTheme
)
return
;
_painter
.
textTheme
=
value
;
markNeedsPaint
();
}
void
paint
(
PaintingContext
context
,
Offset
offset
)
{
assert
(
size
.
width
!=
null
);
assert
(
size
.
height
!=
null
);
...
...
@@ -58,6 +68,21 @@ class ChartPainter {
ChartData
data
;
TextTheme
_textTheme
;
TextTheme
get
textTheme
=>
_textTheme
;
void
set
textTheme
(
TextTheme
value
)
{
assert
(
value
!=
null
);
if
(
_textTheme
==
value
)
return
;
_textTheme
=
value
;
labels
=
[
new
ParagraphPainter
(
new
StyledTextSpan
(
_textTheme
.
body1
,
[
new
PlainTextSpan
(
"
${data.startY}
"
)])),
new
ParagraphPainter
(
new
StyledTextSpan
(
_textTheme
.
body1
,
[
new
PlainTextSpan
(
"
${data.endY}
"
)])),
];
}
List
<
ParagraphPainter
>
labels
;
Point
_convertPointToRectSpace
(
Point
point
,
Rect
rect
)
{
double
x
=
rect
.
left
+
((
point
.
x
-
data
.
startX
)
/
(
data
.
endX
-
data
.
startX
))
*
rect
.
width
;
double
y
=
rect
.
bottom
-
((
point
.
y
-
data
.
startY
)
/
(
data
.
endY
-
data
.
startY
))
*
rect
.
height
;
...
...
@@ -84,9 +109,13 @@ class ChartPainter {
}
void
_paintScale
(
sky
.
Canvas
canvas
,
Rect
rect
)
{
Paint
paint
=
new
Paint
()..
color
=
const
Color
(
0xFF000000
);
canvas
.
drawText
(
"
${data.startY}
"
,
rect
.
bottomLeft
,
paint
);
canvas
.
drawText
(
"
${data.endY}
"
,
rect
.
topLeft
,
paint
);
// TODO(jackson): Generalize this to draw the whole axis
for
(
ParagraphPainter
painter
in
labels
)
{
painter
.
maxWidth
=
rect
.
width
;
painter
.
layout
();
}
labels
[
0
].
paint
(
canvas
,
rect
.
bottomLeft
.
toOffset
());
labels
[
1
].
paint
(
canvas
,
rect
.
topLeft
.
toOffset
());
}
void
paint
(
sky
.
Canvas
canvas
,
Rect
rect
)
{
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment