Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(64)

Side by Side Diff: charted/lib/charts/chart_theme.dart

Issue 1400473008: Roll Observatory packages and add a roll script (Closed) Base URL: git@github.com:dart-lang/observatory_pub_packages.git@master
Patch Set: Created 5 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « charted/lib/charts/chart_state.dart ('k') | charted/lib/charts/charts.dart » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
1 //
2 // Copyright 2014 Google Inc. All rights reserved.
3 //
4 // Use of this source code is governed by a BSD-style
5 // license that can be found in the LICENSE file or at
6 // https://developers.google.com/open-source/licenses/bsd
7 //
8
9 part of charted.charts;
10
11 /// Theme used to render the chart area, specifically colors and axes.
12 ///
13 /// Typical implementations of ChartTheme also implement theme interfaces
14 /// used by the renderers, tooltips, legends and any other behaviors.
15 abstract class ChartTheme {
16 static ChartTheme current = new QuantumChartTheme();
17
18 /// Column/series when it is disabled, possibly because another is active
19 static const int STATE_INACTIVE = 0;
20
21 /// Column/Series that is normal
22 static const int STATE_NORMAL = 1;
23
24 /// Column/series that is active, possibly by a click
25 static const int STATE_ACTIVE = 2;
26
27 /// Color that can be used for key.
28 /// For a given input key, the output is always the same.
29 String getColorForKey(key, [int state]);
30
31 /// Markup for filters that is added to all chart elements. These filters
32 /// can be referenced using url() in values returned by [getFilterForState].
33 String filters;
34
35 /// Returns any filters that must be applied based on the element's state
36 String getFilterForState(int state);
37
38 /// Color for overflow and other items.
39 /// For example, the collect all bucket used by pie-chart.
40 String getOtherColor([int state]);
41
42 /// Width of the separator between two chart elements.
43 /// Used to separate pies in pie-chart, bars in grouped and stacked charts.
44 int get defaultSeparatorWidth => 1;
45
46 /// Stroke width used by all shapes.
47 int get defaultStrokeWidth => 2;
48
49 /// Default font for computation of text metrics
50 String get defaultFont;
51
52 /// Easing function for the transition
53 EasingFunction get transitionEasingType => Transition.defaultEasingType;
54
55 /// Easing mode for the transition
56 EasingModeFunction get transitionEasingMode => Transition.defaultEasingMode;
57
58 /// Total duration of the transition in milli-seconds
59 int get transitionDurationMilliseconds => 250;
60
61 /// Theme passed to the measure axes - only used by cartesian charts
62 ChartAxisTheme getMeasureAxisTheme([Scale scale]) => null;
63
64 /// Theme passed to the dimension axes - only used by cartesian charts
65 ChartAxisTheme getDimensionAxisTheme([Scale scale]) => null;
66
67 /// Padding around the rendered chart. Defaults to 10px in all directions
68 AbsoluteRect get padding => const AbsoluteRect(10, 10, 10, 10);
69 }
70
71 abstract class ChartAxisTheme {
72 /// Treshold for tick length. Setting [axisTickSize] <= [FILL_RENDER_AREA]
73 /// will make the axis span the entire height/width of the rendering area.
74 static const int FILL_RENDER_AREA = SMALL_INT_MIN;
75
76 /// Number of ticks displayed on the axis - only used when an axis is
77 /// using a quantitative scale.
78 int get axisTickCount;
79
80 /// Size of ticks on the axis. When [measureTickSize] <= [FILL_RENDER_AREA],
81 /// the painted tick will span complete height/width of the rendering area.
82 int get axisTickSize;
83
84 /// Space between axis and label for dimension axes
85 int get axisTickPadding;
86
87 /// Space between the first tick and the measure axes.
88 /// Only used on charts that don't have renderers that use "bands" of space
89 /// on the dimension axes
90 ///
91 /// Represented as a percentage of space between two consecutive ticks. The
92 /// space between two consecutive ticks is also known as the segment size.
93 double get axisOuterPadding;
94
95 /// Space between the two bands in the chart.
96 /// Only used on charts that have renderers that use "bands" of space on the
97 /// dimension axes.
98 ///
99 /// Represented as a percentage of space between two consecutive ticks. The
100 /// space between two consecutive ticks is also known as the segment size.
101 double get axisBandInnerPadding;
102
103 /// Space between the first band and the measure axis.
104 /// Only used on charts that have renderers that use "bands" of space on the
105 /// dimension axes.
106 ///
107 /// Represented as a percentage of space between two consecutive ticks. The
108 /// space between two consecutive ticks is also known as the segment size.
109 double get axisBandOuterPadding;
110
111 /// When set to true, the vertical axes resize to fit the labels.
112 bool get verticalAxisAutoResize => true;
113
114 /// Width of vertical axis when it is not resizing automatically. If
115 /// [autoResizeAxis] is set to true, [verticalAxisWidth] will be used as the
116 /// maximum width of the vertical axis.
117 ///
118 /// Height of vertical axis is automatically computed based on height of the
119 /// visualization.
120 int get verticalAxisWidth => 200;
121
122 /// Height of horizontal axis. Width of horizontal axis is automatically
123 /// computed based on width of the visualization.
124 int get horizontalAxisHeight => 200;
125
126 /// Font used by axis ticks. When specified, axis uses efficient off-screen
127 /// computation of text metrics.
128 ///
129 /// Font string must be of the following form:
130 /// "bold italic 16px Roboto"
131 /// "bold 16px Roboto"
132 /// "italic 16px Roboto"
133 /// "16px Roboto"
134 ///
135 /// When not specified, SVGTextElement's metrics API will be used.
136 String get ticksFont => null;
137 }
OLDNEW
« no previous file with comments | « charted/lib/charts/chart_state.dart ('k') | charted/lib/charts/charts.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698