ctioga2 0.9 → 0.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/Changelog +27 -0
- data/bin/ct2-make-movie +92 -45
- data/lib/ctioga2/commands/doc/html.rb +1 -1
- data/lib/ctioga2/commands/doc/introspection.rb +52 -0
- data/lib/ctioga2/commands/doc/markup.rb +4 -0
- data/lib/ctioga2/commands/general-commands.rb +19 -0
- data/lib/ctioga2/commands/general-functions.rb +8 -1
- data/lib/ctioga2/commands/general-types.rb +14 -3
- data/lib/ctioga2/commands/parsers/file.rb +20 -3
- data/lib/ctioga2/data/backends/backends/math.rb +1 -1
- data/lib/ctioga2/data/backends/backends/text.rb +3 -3
- data/lib/ctioga2/data/point.rb +1 -1
- data/lib/ctioga2/graphics/elements.rb +1 -0
- data/lib/ctioga2/graphics/elements/curve2d.rb +5 -0
- data/lib/ctioga2/graphics/elements/primitive.rb +16 -14
- data/lib/ctioga2/graphics/elements/style-lists.rb +353 -0
- data/lib/ctioga2/graphics/elements/subplot.rb +17 -2
- data/lib/ctioga2/graphics/elements/tangent.rb +16 -17
- data/lib/ctioga2/graphics/styles.rb +1 -0
- data/lib/ctioga2/graphics/styles/axes.rb +63 -0
- data/lib/ctioga2/graphics/styles/base.rb +13 -0
- data/lib/ctioga2/graphics/styles/colorbrewer.rb +316 -0
- data/lib/ctioga2/graphics/styles/colormap.rb +47 -7
- data/lib/ctioga2/graphics/styles/image.rb +83 -0
- data/lib/ctioga2/graphics/styles/plot.rb +43 -7
- data/lib/ctioga2/graphics/styles/sets.rb +47 -5
- data/lib/ctioga2/graphics/styles/sheet.rb +18 -3
- data/lib/ctioga2/graphics/styles/texts.rb +49 -8
- data/lib/ctioga2/graphics/subplot-commands.rb +13 -13
- data/lib/ctioga2/graphics/types.rb +42 -10
- data/lib/ctioga2/graphics/types/boundaries.rb +3 -2
- data/lib/ctioga2/graphics/types/boxes.rb +13 -0
- data/lib/ctioga2/graphics/types/dimensions.rb +4 -1
- data/lib/ctioga2/graphics/types/location.rb +13 -2
- data/lib/ctioga2/graphics/types/point.rb +86 -0
- data/lib/ctioga2/metabuilder/types/styles.rb +2 -2
- data/lib/ctioga2/plotmaker.rb +3 -0
- data/lib/ctioga2/ruby.rb +49 -0
- data/lib/ctioga2/utils.rb +34 -0
- data/lib/ctioga2/version.rb +2 -2
- metadata +8 -4
@@ -240,20 +240,20 @@ larger than the other ones, while the second row is four times larger
|
|
240
240
|
than the first.
|
241
241
|
EOH
|
242
242
|
|
243
|
-
|
244
|
-
|
245
|
-
|
246
|
-
|
247
|
-
|
248
|
-
|
249
|
-
|
250
|
-
|
251
|
-
|
243
|
+
# ZoomCommand =
|
244
|
+
# Cmd.new("zoom-inset",nil,"--zoom-inset",
|
245
|
+
# [
|
246
|
+
# CmdArg.new('box'),
|
247
|
+
# ]) do |plotmaker, box|
|
248
|
+
# subplot = plotmaker.root_object.subplot
|
249
|
+
# subplot.subframe = box
|
250
|
+
# raise YetUnimplemented.new("zooms are not yet implemented !")
|
251
|
+
# end
|
252
252
|
|
253
|
-
|
254
|
-
|
255
|
-
Zooms are currently not implemented yet.
|
256
|
-
EOD
|
253
|
+
# ZoomCommand.describe('Starts an inset ',
|
254
|
+
# <<EOD, SubplotsGroup)
|
255
|
+
# Zooms are currently not implemented yet.
|
256
|
+
# EOD
|
257
257
|
|
258
258
|
|
259
259
|
end
|
@@ -43,7 +43,8 @@ module CTioga2
|
|
43
43
|
Dot_Long_Dash = Line_Type_Dot_Long_Dash
|
44
44
|
Dash_Dot_Dot = Line_Type_Dash_Dot_Dot
|
45
45
|
end
|
46
|
-
|
46
|
+
|
47
|
+
NoRE = /no(ne)?|off/i
|
47
48
|
|
48
49
|
ColorType = CmdType.new('color', {
|
49
50
|
:type => :tioga_color,
|
@@ -61,7 +62,9 @@ EOD
|
|
61
62
|
CmdType.new('color-or-false', {
|
62
63
|
:type => :tioga_color,
|
63
64
|
:namespace => Tioga::ColorConstants,
|
64
|
-
:shortcuts => {
|
65
|
+
:shortcuts => {
|
66
|
+
NoRE => false
|
67
|
+
}
|
65
68
|
}, <<EOD)
|
66
69
|
A {type: color}, or none to say that nothing should be drawn.
|
67
70
|
EOD
|
@@ -91,7 +94,7 @@ EOD
|
|
91
94
|
:type => :tioga_line_style,
|
92
95
|
:namespace => LineStyles,
|
93
96
|
:shortcuts => {
|
94
|
-
|
97
|
+
NoRE => false,
|
95
98
|
}
|
96
99
|
}, <<EOD)
|
97
100
|
A line style, which is one of @solid@, @dots@, @dashes@, @small_dots@,
|
@@ -104,11 +107,9 @@ EOD
|
|
104
107
|
:type => :tioga_marker,
|
105
108
|
:namespace => Tioga::MarkerConstants,
|
106
109
|
:shortcuts => {
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
'off' => 'None',
|
111
|
-
},}, <<EOD)
|
110
|
+
NoRE => 'None'
|
111
|
+
}
|
112
|
+
}, <<EOD)
|
112
113
|
A Tioga Marker, ie either a name from the list at {url:
|
113
114
|
http://tioga.rubyforge.org/doc/Tioga/MarkerConstants.html}, such as
|
114
115
|
@Box@, @Star@, @Spade@ or two or three comma-separated numbers,
|
@@ -140,12 +141,30 @@ EOD
|
|
140
141
|
JustificationType =
|
141
142
|
CmdType.new('justification', {:type => :re_list,
|
142
143
|
:list => JustificationRE}, <<EOD)
|
143
|
-
Horizontal aligment
|
144
|
+
Horizontal aligment of the (with respect to its location). Can be one of:
|
144
145
|
* @l@ or @left@
|
145
146
|
* @c@, @center@
|
146
147
|
* @r@, @right@
|
147
148
|
EOD
|
148
149
|
|
150
|
+
TextAlignType =
|
151
|
+
CmdType.new('text-align',
|
152
|
+
{:type => :re_list,
|
153
|
+
:list => JustificationRE,
|
154
|
+
:shortcut => {
|
155
|
+
NoRE => :no
|
156
|
+
}
|
157
|
+
}, <<EOD)
|
158
|
+
Horizontal aligment for text within its box. Only of use
|
159
|
+
for texts with a given text width.
|
160
|
+
Can be one of:
|
161
|
+
* @l@ or @left@
|
162
|
+
* @c@, @center@
|
163
|
+
* @r@, @right@
|
164
|
+
* @no@ or @none@ to not issue aligning commands, in which case you get
|
165
|
+
full LaTeX-justified paragraphs (probably with a lot of hyphens).
|
166
|
+
EOD
|
167
|
+
|
149
168
|
# Regular expression for vertical alignment
|
150
169
|
AlignmentRE = {
|
151
170
|
/t(op)?/i => Tioga::FigureConstants::ALIGNED_AT_TOP,
|
@@ -222,7 +241,7 @@ EOD
|
|
222
241
|
CmdType.new('axis-decoration', :tioga_axis_type, <<EOD)
|
223
242
|
Kinds of decoration on a axis line, such as nothing, lines, ticks,
|
224
243
|
tick labels. Possible values:
|
225
|
-
* @hidden@
|
244
|
+
* @hidden@, @off@, @no@, @none@: no axis at all
|
226
245
|
* @line@: only a line
|
227
246
|
* @ticks@: only ticks
|
228
247
|
* @major@: only major ticks
|
@@ -264,8 +283,21 @@ where @value@ is a number and unit can be one of @pt@,
|
|
264
283
|
line), @figure@ or @f@ (for figure coordinates, i.e. the coordinates of the
|
265
284
|
plot), @frame@ or @F@ (@1.0 frame@ is the full size of the current subplot) and
|
266
285
|
@page@ or @p@ (@1.0 page@ is the whole height/width of the output file).
|
286
|
+
|
287
|
+
It can also be @auto@, which is 1.0 in frame units (ie the width or
|
288
|
+
the height of the current plot).
|
267
289
|
EOD
|
268
290
|
|
291
|
+
|
292
|
+
DimensionOrNoType =
|
293
|
+
CmdType.new('dimension-or-no', { :type => :dimension,
|
294
|
+
:default => :dy,
|
295
|
+
:shortcuts => {
|
296
|
+
NoRE => false
|
297
|
+
}
|
298
|
+
}, <<EOD)
|
299
|
+
A {type: dimension}, or @no@ or @none@.
|
300
|
+
EOD
|
269
301
|
# Boxes
|
270
302
|
|
271
303
|
BoxType =
|
@@ -69,13 +69,14 @@ module CTioga2
|
|
69
69
|
# Actually, it even works with normal Range elements !
|
70
70
|
def extend(range)
|
71
71
|
# Left/right
|
72
|
+
|
72
73
|
if (! @first.is_a? Float) or @first.nan? or
|
73
|
-
(@first > range.first)
|
74
|
+
(range.first && @first > range.first)
|
74
75
|
@first = range.first
|
75
76
|
end
|
76
77
|
|
77
78
|
if (! @last.is_a? Float) or @last.nan? or
|
78
|
-
(@last < range.last)
|
79
|
+
(range.last && @last < range.last)
|
79
80
|
@last = range.last
|
80
81
|
end
|
81
82
|
|
@@ -84,6 +84,19 @@ module CTioga2
|
|
84
84
|
1 - @right.to_frame(t), @bottom.to_frame(t)]
|
85
85
|
end
|
86
86
|
|
87
|
+
# Converts to output coordinates
|
88
|
+
def to_output(t, fact = 1.0)
|
89
|
+
a = to_frame_coordinates(t)
|
90
|
+
4.times do |i|
|
91
|
+
a[i] = if (i % 2 == 0)
|
92
|
+
fact * t.convert_page_to_output_x(t.convert_frame_to_page_x(a[i]))
|
93
|
+
else
|
94
|
+
fact * t.convert_page_to_output_y(t.convert_frame_to_page_y(a[i]))
|
95
|
+
end
|
96
|
+
end
|
97
|
+
return a
|
98
|
+
end
|
99
|
+
|
87
100
|
# Returns the dimensions composing the MarginsBox, in the
|
88
101
|
# order _left_, _right_, _top_, _bottom_, suitable for feeding
|
89
102
|
# to MarginsBox.new.
|
@@ -137,7 +137,10 @@ module CTioga2
|
|
137
137
|
# _default_ parameter.
|
138
138
|
def self.from_text(text, orientation, default = :figure)
|
139
139
|
# Absolute or :dy dimension
|
140
|
-
|
140
|
+
|
141
|
+
if text =~ /^\s*auto\s*$/i
|
142
|
+
Dimension.new(:frame, 1.0, orientation)
|
143
|
+
elsif text =~ DimensionRegexp
|
141
144
|
value = Utils::txt_to_float($1)
|
142
145
|
unit = $2
|
143
146
|
if ! unit
|
@@ -197,8 +197,17 @@ module CTioga2
|
|
197
197
|
#
|
198
198
|
# So far, no real parsing
|
199
199
|
def self.from_text(str)
|
200
|
-
|
201
|
-
|
200
|
+
loc = nil
|
201
|
+
case str
|
202
|
+
when /^\s*(left|right|top|bottom|at_y_origin|at_x_origin)\s*$/i
|
203
|
+
loc = $1.downcase.to_sym
|
204
|
+
when /^s*(x|y)0\s*$/i
|
205
|
+
loc = "at_#{$1}_origin".downcase.to_sym
|
206
|
+
end
|
207
|
+
if ! loc
|
208
|
+
raise "Unkown spec for axis location: '#{str}'"
|
209
|
+
end
|
210
|
+
return PlotLocation.new(loc)
|
202
211
|
end
|
203
212
|
|
204
213
|
|
@@ -213,6 +222,8 @@ A position on the plot, referenced with respect to the sides. Can be:
|
|
213
222
|
* @right@
|
214
223
|
* @top@
|
215
224
|
* @bottom@
|
225
|
+
* @x0@, for the @x = 0@ position
|
226
|
+
* @y0@, for the @y = 0@ position
|
216
227
|
|
217
228
|
In addition, there will one day be the possibility to specify an
|
218
229
|
offset from these locations. But that is still something to do.
|
@@ -113,6 +113,92 @@ module CTioga2
|
|
113
113
|
end
|
114
114
|
end
|
115
115
|
|
116
|
+
class Rect
|
117
|
+
attr_accessor :tl
|
118
|
+
attr_accessor :br
|
119
|
+
|
120
|
+
def initialize(tl, br)
|
121
|
+
@tl = tl
|
122
|
+
@br = br
|
123
|
+
end
|
124
|
+
|
125
|
+
# Returns the [height, width] of the rectangle in postscript points
|
126
|
+
def dimensions(t)
|
127
|
+
xl, yt = @tl.to_figure_xy(t)
|
128
|
+
xr, yb = @br.to_figure_xy(t)
|
129
|
+
|
130
|
+
return [t.convert_figure_to_output_dx(xr - xl) * 10,
|
131
|
+
t.convert_figure_to_output_dy(yb - yt) * 10]
|
132
|
+
end
|
133
|
+
|
134
|
+
# Returns an array of [ul, ll, lr] coordinates. If an aspect
|
135
|
+
# ratio is specified, the coordinates will be expanded or
|
136
|
+
# contracted to fit the aspect ratio (keeping the center
|
137
|
+
# identical).
|
138
|
+
def make_corners(t, swap = false, ratio_pol = :ignore,
|
139
|
+
ratio = nil)
|
140
|
+
|
141
|
+
ul = @tl.to_figure_xy(t)
|
142
|
+
lr = @br.to_figure_xy(t)
|
143
|
+
|
144
|
+
width, height = *dimensions(t)
|
145
|
+
|
146
|
+
# First, swap the coords
|
147
|
+
if swap
|
148
|
+
if width < 0
|
149
|
+
ul[0], lr[0] = lr[0], ul[0]
|
150
|
+
end
|
151
|
+
if height > 0
|
152
|
+
ul[1], lr[1] = lr[1], ul[1]
|
153
|
+
end
|
154
|
+
end
|
155
|
+
|
156
|
+
# Now, we take the aspect ratio into account
|
157
|
+
if ratio && ratio_pol != :ignore
|
158
|
+
|
159
|
+
xc = 0.5 * (ul[0] + lr[0])
|
160
|
+
yc = 0.5 * (ul[1] + lr[1])
|
161
|
+
dx = lr[0] - ul[0]
|
162
|
+
dy = lr[1] - ul[1]
|
163
|
+
|
164
|
+
fact = ((width/height) / ratio).abs
|
165
|
+
|
166
|
+
what = nil
|
167
|
+
|
168
|
+
if ratio_pol == :expand
|
169
|
+
if fact > 1 # must increase height
|
170
|
+
what = :y
|
171
|
+
else
|
172
|
+
fact = 1/fact
|
173
|
+
what = :x
|
174
|
+
end
|
175
|
+
elsif ratio_pol == :contract
|
176
|
+
if fact > 1 # must decrease width
|
177
|
+
what = :x
|
178
|
+
fact = 1/fact
|
179
|
+
else
|
180
|
+
what = :y
|
181
|
+
end
|
182
|
+
else
|
183
|
+
raise "Unkown aspect ratio policy: #{ratio_pol}"
|
184
|
+
end
|
185
|
+
|
186
|
+
if what == :y
|
187
|
+
lr[1] = yc + fact * 0.5 * dy
|
188
|
+
ul[1] = yc - fact * 0.5 * dy
|
189
|
+
else
|
190
|
+
lr[0] = xc + fact * 0.5 * dx
|
191
|
+
ul[0] = xc - fact * 0.5 * dx
|
192
|
+
end
|
193
|
+
end
|
194
|
+
|
195
|
+
ll = [ul[0], lr[1]]
|
196
|
+
|
197
|
+
return [ul, ll, lr]
|
198
|
+
end
|
199
|
+
|
200
|
+
end
|
201
|
+
|
116
202
|
# A Point, but with alignment facilities.
|
117
203
|
class AlignedPoint < Point
|
118
204
|
# Vertical alignement (:top, :center, :bottom)
|
@@ -141,7 +141,7 @@ module CTioga2
|
|
141
141
|
include Tioga::FigureConstants
|
142
142
|
|
143
143
|
ValidTypes = {
|
144
|
-
/hidden|off/i => AXIS_HIDDEN,
|
144
|
+
/hidden|off|no|none/i => AXIS_HIDDEN,
|
145
145
|
/line/i => AXIS_LINE_ONLY,
|
146
146
|
/ticks/i => AXIS_WITH_TICKS_ONLY,
|
147
147
|
/major/i => AXIS_WITH_MAJOR_TICKS_ONLY,
|
@@ -157,7 +157,7 @@ module CTioga2
|
|
157
157
|
return v
|
158
158
|
end
|
159
159
|
end
|
160
|
-
raise IncorrectInput, "Not an axis
|
160
|
+
raise IncorrectInput, "Not an axis decoration: '#{str}'"
|
161
161
|
end
|
162
162
|
end
|
163
163
|
|
data/lib/ctioga2/plotmaker.rb
CHANGED
data/lib/ctioga2/ruby.rb
ADDED
@@ -0,0 +1,49 @@
|
|
1
|
+
# ruby.rb: interaction with user-supplied Ruby code
|
2
|
+
# copyright (c) 2014 by Vincent Fourmond
|
3
|
+
|
4
|
+
# This program is free software; you can redistribute it and/or modify
|
5
|
+
# it under the terms of the GNU General Public License as published by
|
6
|
+
# the Free Software Foundation; either version 2 of the License, or
|
7
|
+
# (at your option) any later version.
|
8
|
+
|
9
|
+
# This program is distributed in the hope that it will be useful,
|
10
|
+
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
11
|
+
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
12
|
+
# GNU General Public License for more details (in the COPYING file).
|
13
|
+
|
14
|
+
|
15
|
+
module CTioga2
|
16
|
+
|
17
|
+
# The class in charge of the interaction with Ruby code
|
18
|
+
class Ruby
|
19
|
+
|
20
|
+
# Module where all instance methods declared become immediately
|
21
|
+
# class methods.
|
22
|
+
class MetaModule < Module
|
23
|
+
|
24
|
+
include Math
|
25
|
+
|
26
|
+
def method_added(meth)
|
27
|
+
module_function meth
|
28
|
+
end
|
29
|
+
|
30
|
+
end
|
31
|
+
|
32
|
+
@module = MetaModule.new
|
33
|
+
|
34
|
+
def self.run_code(str)
|
35
|
+
@module.send(:module_eval,str)
|
36
|
+
end
|
37
|
+
|
38
|
+
def self.run_file(file)
|
39
|
+
File.open(file) do |f|
|
40
|
+
run_code(f.read)
|
41
|
+
end
|
42
|
+
end
|
43
|
+
|
44
|
+
def self.compute_formula(col, vals, mods = [])
|
45
|
+
return Dobjects::Dvector.compute_formula(col, vals, [@module] + mods)
|
46
|
+
end
|
47
|
+
end
|
48
|
+
end
|
49
|
+
|
data/lib/ctioga2/utils.rb
CHANGED
@@ -141,6 +141,40 @@ module CTioga2
|
|
141
141
|
return formula
|
142
142
|
end
|
143
143
|
|
144
|
+
|
145
|
+
def self.suffix_numeric_sort(strings)
|
146
|
+
strings.sort do |a,b|
|
147
|
+
a =~ /.*?(\d+)$/
|
148
|
+
a_i = $1 ? $1.to_i : nil
|
149
|
+
b =~ /.*?(\d+)$/
|
150
|
+
b_i = $1 ? $1.to_i : nil
|
151
|
+
|
152
|
+
if a_i && b_i
|
153
|
+
a_i <=> b_i
|
154
|
+
else
|
155
|
+
a <=> b
|
156
|
+
end
|
157
|
+
end
|
158
|
+
end
|
159
|
+
|
160
|
+
|
161
|
+
# Groups the given strings by prefixes
|
162
|
+
|
163
|
+
def self.group_by_prefix(strings, pref_re)
|
164
|
+
sets_by_prefix = {}
|
165
|
+
for s in strings
|
166
|
+
pref = s
|
167
|
+
if s =~ pref_re
|
168
|
+
pref = $1
|
169
|
+
end
|
170
|
+
sets_by_prefix[pref] ||= []
|
171
|
+
sets_by_prefix[pref] << s
|
172
|
+
end
|
173
|
+
return sets_by_prefix
|
174
|
+
end
|
175
|
+
|
176
|
+
|
177
|
+
|
144
178
|
NaturalSubdivisions = [1.0, 2.0, 5.0, 10.0]
|
145
179
|
|
146
180
|
# Returns the closest element of the correct power of ten of
|
data/lib/ctioga2/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ctioga2
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: '0.
|
4
|
+
version: '0.10'
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2014-
|
12
|
+
date: 2014-03-16 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: tioga
|
@@ -18,7 +18,7 @@ dependencies:
|
|
18
18
|
requirements:
|
19
19
|
- - ! '>='
|
20
20
|
- !ruby/object:Gem::Version
|
21
|
-
version: '1.
|
21
|
+
version: '1.18'
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
24
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -26,7 +26,7 @@ dependencies:
|
|
26
26
|
requirements:
|
27
27
|
- - ! '>='
|
28
28
|
- !ruby/object:Gem::Version
|
29
|
-
version: '1.
|
29
|
+
version: '1.18'
|
30
30
|
description: ! 'ctioga2 is a command-driven plotting program that produces
|
31
31
|
|
32
32
|
high quality PDF files. It can be used both from the command-line
|
@@ -89,12 +89,14 @@ files:
|
|
89
89
|
- lib/ctioga2/graphics/elements/primitive.rb
|
90
90
|
- lib/ctioga2/graphics/elements/element.rb
|
91
91
|
- lib/ctioga2/graphics/elements/xyz-contour.rb
|
92
|
+
- lib/ctioga2/graphics/elements/style-lists.rb
|
92
93
|
- lib/ctioga2/graphics/elements/curve2d.rb
|
93
94
|
- lib/ctioga2/graphics/elements/subplot.rb
|
94
95
|
- lib/ctioga2/graphics/elements/containers.rb
|
95
96
|
- lib/ctioga2/graphics/styles/arrows.rb
|
96
97
|
- lib/ctioga2/graphics/styles/colormap.rb
|
97
98
|
- lib/ctioga2/graphics/styles/box.rb
|
99
|
+
- lib/ctioga2/graphics/styles/image.rb
|
98
100
|
- lib/ctioga2/graphics/styles/carrays.rb
|
99
101
|
- lib/ctioga2/graphics/styles/location.rb
|
100
102
|
- lib/ctioga2/graphics/styles/contour.rb
|
@@ -106,6 +108,7 @@ files:
|
|
106
108
|
- lib/ctioga2/graphics/styles/sheet.rb
|
107
109
|
- lib/ctioga2/graphics/styles/axes.rb
|
108
110
|
- lib/ctioga2/graphics/styles/base.rb
|
111
|
+
- lib/ctioga2/graphics/styles/colorbrewer.rb
|
109
112
|
- lib/ctioga2/graphics/styles/gradients.rb
|
110
113
|
- lib/ctioga2/graphics/styles/ticks.rb
|
111
114
|
- lib/ctioga2/graphics/styles/legend.rb
|
@@ -153,6 +156,7 @@ files:
|
|
153
156
|
- lib/ctioga2/metabuilder/type.rb
|
154
157
|
- lib/ctioga2/metabuilder/types.rb
|
155
158
|
- lib/ctioga2/plotmaker.rb
|
159
|
+
- lib/ctioga2/ruby.rb
|
156
160
|
- COPYING
|
157
161
|
- Changelog
|
158
162
|
- setup.rb
|