ruby-gr 0.73.6.0 → 0.73.17.0
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.
- checksums.yaml +4 -4
- data/README.md +1 -1
- data/lib/gr/ffi.rb +9 -2
- data/lib/gr.rb +3 -3
- data/lib/gr3.rb +1 -1
- data/lib/gr_commons/gr_logger.rb +1 -1
- data/lib/gr_commons/version.rb +1 -1
- data/lib/grm/ffi.rb +17 -2
- data/lib/grm.rb +23 -25
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 51280dfb8fb8ed2385148658651d3c4109307394f31c270cc715595097ccae3a
|
4
|
+
data.tar.gz: d6231ee72a5027eeb587f3b537568774458e07f336e4aa4363472f88b52f8aa4
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 197d1aa2c250e109aae5c56973ff8ae1baa7bbdb963708763c789b286a5810c5a239f166507b72f75efc69f9b440db39a4b5df4c702a7a117ffeca6f4a8c9fc9
|
7
|
+
data.tar.gz: 50f09df9aed163d17b8f5fcea1ebb94f72abfffe28fd83bae262dcd64a706f4a4090203b38e04fc607bb6631ddb6f02c73c823363989e7f549454d110240d19d
|
data/README.md
CHANGED
@@ -2,8 +2,8 @@
|
|
2
2
|
|
3
3
|
[](https://rubygems.org/gems/ruby-gr)
|
4
4
|
[](https://github.com/red-data-tools/GR.rb/actions)
|
5
|
-
[](https://gitter.im/red-data-tools/en)
|
6
5
|
[](https://red-data-tools.github.io/GR.rb/)
|
6
|
+
[](https://tokei.kojix2.net/github/red-data-tools/GR.rb)
|
7
7
|
|
8
8
|
[](examples/rdatasets.rb)
|
9
9
|
[](examples/fast_plots.rb)
|
data/lib/gr/ffi.rb
CHANGED
@@ -125,8 +125,8 @@ module GR
|
|
125
125
|
try_extern 'void gr_inqfillstyle(int *)'
|
126
126
|
try_extern 'void gr_setfillcolorind(int)'
|
127
127
|
try_extern 'void gr_inqfillcolorind(int *)'
|
128
|
-
try_extern 'void
|
129
|
-
try_extern 'void
|
128
|
+
try_extern 'void gr_setnominalsize(double)'
|
129
|
+
try_extern 'void gr_inqnominalsize(double *)'
|
130
130
|
try_extern 'void gr_setcolorrep(int, double, double, double)'
|
131
131
|
try_extern 'void gr_setwindow(double, double, double, double)'
|
132
132
|
try_extern 'void gr_inqwindow(double *, double *, double *, double *)'
|
@@ -212,6 +212,8 @@ module GR
|
|
212
212
|
try_extern 'char *gr_getgraphics(void)'
|
213
213
|
try_extern 'int gr_drawgraphics(char *)'
|
214
214
|
try_extern 'int gr_startlistener(void)'
|
215
|
+
try_extern 'int gr_inqgrplotport(void)'
|
216
|
+
try_extern 'int gr_setgrplotport(int)'
|
215
217
|
try_extern 'void gr_mathtex(double, double, char *)'
|
216
218
|
try_extern 'void gr_inqmathtex(double, double, char *, double *, double *)'
|
217
219
|
try_extern 'void gr_mathtex3d(double, double, double, char *, int)'
|
@@ -223,6 +225,8 @@ module GR
|
|
223
225
|
try_extern 'void gr_moveselection(double, double)'
|
224
226
|
try_extern 'void gr_resizeselection(int, double, double)'
|
225
227
|
try_extern 'void gr_inqbbox(double *, double *, double *, double *)'
|
228
|
+
try_extern 'void gr_setbackground(void)'
|
229
|
+
try_extern 'void gr_clearbackground(void)'
|
226
230
|
try_extern 'double gr_precision(void)'
|
227
231
|
try_extern 'int gr_text_maxsize(void)'
|
228
232
|
try_extern 'void gr_setregenflags(int)'
|
@@ -294,6 +298,7 @@ module GR
|
|
294
298
|
# typedef double (*radius_f)(const data_point3d_t *, const void *);
|
295
299
|
typealias 'kernel_f', 'void*'
|
296
300
|
typealias 'radius_f', 'void*'
|
301
|
+
typealias 'interp2_method_t', 'int'
|
297
302
|
try_extern 'void gr_volume_nogrid(unsigned long, const data_point3d_t *, const void *, int, kernel_f, double *, double *, double, radius_f)'
|
298
303
|
try_extern 'void gr_volume_interp_tri_linear_init(double, double, double)'
|
299
304
|
try_extern 'void gr_volume_interp_gauss_init(double, double *)'
|
@@ -303,6 +308,8 @@ module GR
|
|
303
308
|
try_extern 'void gr_inqmathfont(int *font)'
|
304
309
|
try_extern 'void gr_setclipregion(int region)'
|
305
310
|
try_extern 'void gr_inqclipregion(int *region)'
|
311
|
+
try_extern 'void gr_setclipsector(double start_angle, double end_angle)'
|
312
|
+
try_extern 'void gr_inqclipsector(double *start_angle, double *end_angle)'
|
306
313
|
try_extern 'void gr_settextoffset(double xoff, double yoff)'
|
307
314
|
try_extern 'char *gr_ftoa(char *string, double value, format_reference_t *reference)'
|
308
315
|
try_extern 'void gr_getformat(format_reference_t *result, double origin, double min, double max, double tick_width, int major)'
|
data/lib/gr.rb
CHANGED
@@ -137,7 +137,7 @@ module GR
|
|
137
137
|
# * 371 : Gtk
|
138
138
|
# * 380 : wxWidgets
|
139
139
|
# * 381 : Qt4
|
140
|
-
# * 382 :
|
140
|
+
# * 382 : Scalable Vector Graphics (SVG)
|
141
141
|
# * 390 : Windows Metafile
|
142
142
|
# * 400 : Quartz
|
143
143
|
# * 410 : Socket driver
|
@@ -519,7 +519,7 @@ module GR
|
|
519
519
|
inquiry_int { |pt| super(pt) }
|
520
520
|
end
|
521
521
|
|
522
|
-
#
|
522
|
+
# Specify the marker type for polymarkers.
|
523
523
|
#
|
524
524
|
# @param style [Integer] The polymarker marker type
|
525
525
|
# * 1 : MARKERTYPE_DOT - Smallest displayable dot
|
@@ -732,7 +732,7 @@ module GR
|
|
732
732
|
# * 3 : TEXT_HALIGN_RIGHT - Right justify
|
733
733
|
#
|
734
734
|
# @param vertical [Integer] Vertical text alignment
|
735
|
-
# * 0 : TEXT_VALIGN_NORMAL
|
735
|
+
# * 0 : TEXT_VALIGN_NORMAL
|
736
736
|
# * 1 : TEXT_VALIGN_TOP - Align with the top of the characters
|
737
737
|
# * 2 : TEXT_VALIGN_CAP - Aligned with the cap of the characters
|
738
738
|
# * 3 : TEXT_VALIGN_HALF - Aligned with the half line of the characters
|
data/lib/gr3.rb
CHANGED
@@ -288,7 +288,7 @@ module GR3
|
|
288
288
|
#
|
289
289
|
# This function does not return an error code, because of its asynchronous
|
290
290
|
# nature. If gr3_getpixmap_() returns a GR3_ERROR_OPENGL_ERR, this might be
|
291
|
-
# caused by this function saving
|
291
|
+
# caused by this function saving unusable data into the draw list.
|
292
292
|
#
|
293
293
|
# @param mesh [Integer] The mesh to be drawn
|
294
294
|
# @param n [Integer] The number of meshes to be drawn
|
data/lib/gr_commons/gr_logger.rb
CHANGED
@@ -34,7 +34,7 @@ module GRCommons
|
|
34
34
|
#
|
35
35
|
# @note Mainly used by developers for debugging.
|
36
36
|
#
|
37
|
-
# = How it works
|
37
|
+
# = How it works
|
38
38
|
# It prepend a module named Inspector to the singular class of the FFI module.
|
39
39
|
# It will inspects the GR function call of the FFI module
|
40
40
|
#
|
data/lib/gr_commons/version.rb
CHANGED
data/lib/grm/ffi.rb
CHANGED
@@ -21,7 +21,7 @@ module GRM
|
|
21
21
|
# header files.
|
22
22
|
|
23
23
|
# https://github.com/sciapp/gr/blob/master/lib/grm/include/grm/args.h
|
24
|
-
try_extern 'grm_args_value_iterator_t *grm_arg_value_iter(const
|
24
|
+
try_extern 'grm_args_value_iterator_t *grm_arg_value_iter(const grm_arg_t *arg)'
|
25
25
|
try_extern 'grm_args_t *grm_args_new(void)'
|
26
26
|
try_extern 'void grm_args_delete(grm_args_t *args)'
|
27
27
|
try_extern 'int grm_args_push(grm_args_t *args, const char *key, const char *value_format, ...)'
|
@@ -39,6 +39,9 @@ module GRM
|
|
39
39
|
try_extern 'void grm_dump(const grm_args_t *args, FILE *f)'
|
40
40
|
try_extern 'void grm_dump_json(const grm_args_t *args, FILE *f)'
|
41
41
|
try_extern 'char *grm_dump_json_str(void)'
|
42
|
+
try_extern 'char *grm_dump_html(char *plot_id)'
|
43
|
+
try_extern 'char *grm_dump_html_args(char *plot_id, grm_args_t *args)'
|
44
|
+
try_extern 'void grm_dump_bson(const grm_args_t *args, FILE *f)'
|
42
45
|
|
43
46
|
# https://github.com/sciapp/gr/blob/master/lib/grm/include/grm/event.h
|
44
47
|
typealias 'grm_event_type_t', 'int' # enum
|
@@ -71,7 +74,7 @@ module GRM
|
|
71
74
|
try_extern 'int grm_clear(void)'
|
72
75
|
try_extern 'void grm_dump_graphics_tree(FILE *f)'
|
73
76
|
try_extern 'char *grm_dump_graphics_tree_str(void)'
|
74
|
-
try_extern 'unsigned int
|
77
|
+
try_extern 'unsigned int grm_max_plot_id(void)'
|
75
78
|
try_extern 'int grm_merge(const grm_args_t *args)'
|
76
79
|
try_extern 'int grm_merge_extended(const grm_args_t *args, int hold, const char *identificator)'
|
77
80
|
try_extern 'int grm_merge_hold(const grm_args_t *args)'
|
@@ -82,5 +85,17 @@ module GRM
|
|
82
85
|
try_extern 'int grm_export(const char *file_path)'
|
83
86
|
try_extern 'int grm_switch(unsigned int id)'
|
84
87
|
try_extern 'int grm_load_graphics_tree(FILE *file)'
|
88
|
+
try_extern 'int grm_validate(void)'
|
89
|
+
# The following functions use C++ types that cannot be parsed by Fiddle
|
90
|
+
# try_extern 'std::shared_ptr<GRM::Element> grm_get_document_root(void)'
|
91
|
+
# try_extern 'std::shared_ptr<GRM::Render> grm_get_render(void)'
|
92
|
+
# try_extern 'int grm_iterate_grid(GRM::Grid *grid, const std::shared_ptr<GRM::Element> &parent_dom_element, int plot_id)'
|
93
|
+
# try_extern 'int grm_plot_helper(GRM::GridElement *grid_element, GRM::Slice *slice, const std::shared_ptr<GRM::Element> &parent_dom_element, int plot_id)'
|
94
|
+
# try_extern 'std::shared_ptr<GRM::Element> grm_get_subplot_from_ndc_point_using_dom(double x, double y)'
|
95
|
+
# try_extern 'std::shared_ptr<GRM::Element> grm_get_subplot_from_ndc_points_using_dom(unsigned int n, const double *x, const double *y)'
|
96
|
+
# try_extern 'void grm_set_attribute_on_all_subplots(std::string attribute, int value)'
|
97
|
+
# try_extern 'int grm_get_focus_and_factor_from_dom(const int x1, const int y1, const int x2, const int y2, const int keep_aspect_ratio, double *factor_x, double *factor_y, double *focus_x, double *focus_y, std::shared_ptr<GRM::Element> &subplot_element)'
|
98
|
+
# try_extern 'std::map<std::string, std::list<std::string>> grm_get_context_data()'
|
99
|
+
# try_extern 'std::shared_ptr<GRM::Document> grm_load_graphics_tree_schema(bool with_private_attributes = false)'
|
85
100
|
end
|
86
101
|
end
|
data/lib/grm.rb
CHANGED
@@ -67,15 +67,13 @@ module GRM
|
|
67
67
|
case value
|
68
68
|
when Hash
|
69
69
|
new(**value)
|
70
|
-
else
|
71
|
-
nil
|
72
70
|
end
|
73
71
|
end
|
74
72
|
end
|
75
73
|
|
76
74
|
def initialize(**args)
|
77
75
|
@args = GRM.args_new
|
78
|
-
@args.free = FFI[
|
76
|
+
@args.free = FFI['grm_args_delete']
|
79
77
|
@references = []
|
80
78
|
args.each do |key, value|
|
81
79
|
push(key, value)
|
@@ -86,42 +84,42 @@ module GRM
|
|
86
84
|
key = key.to_s if key.is_a?(Symbol)
|
87
85
|
case value
|
88
86
|
when String
|
89
|
-
GRM.args_push(@args, key,
|
87
|
+
GRM.args_push(@args, key, 's', :const_string, value)
|
90
88
|
when Integer
|
91
|
-
GRM.args_push(@args, key,
|
89
|
+
GRM.args_push(@args, key, 'i', :int, value)
|
92
90
|
when Float
|
93
|
-
GRM.args_push(@args, key,
|
91
|
+
GRM.args_push(@args, key, 'd', :double, value)
|
94
92
|
when Args
|
95
|
-
GRM.args_push(@args, key,
|
93
|
+
GRM.args_push(@args, key, 'a', :voidp, value.address)
|
96
94
|
value.to_gr.free = nil
|
97
95
|
when Array
|
98
96
|
case value[0]
|
99
97
|
when String
|
100
|
-
addresses = value.collect {|v| Fiddle::Pointer[v].to_i}
|
101
|
-
GRM.args_push(@args, key,
|
98
|
+
addresses = value.collect { |v| Fiddle::Pointer[v].to_i }
|
99
|
+
GRM.args_push(@args, key, 'nS',
|
102
100
|
:int, value.size,
|
103
|
-
:voidp, addresses.pack(
|
101
|
+
:voidp, addresses.pack('J*'))
|
104
102
|
when Integer
|
105
|
-
GRM.args_push(@args, key,
|
103
|
+
GRM.args_push(@args, key, 'nI',
|
106
104
|
:int, value.size,
|
107
|
-
:voidp, value.pack(
|
105
|
+
:voidp, value.pack('i*'))
|
108
106
|
when Float
|
109
|
-
GRM.args_push(@args, key,
|
107
|
+
GRM.args_push(@args, key, 'nD',
|
110
108
|
:int, value.size,
|
111
|
-
:voidp, value.pack(
|
109
|
+
:voidp, value.pack('d*'))
|
112
110
|
when Args
|
113
|
-
GRM.args_push(@args, key,
|
111
|
+
GRM.args_push(@args, key, 'nA',
|
114
112
|
:int, value.size,
|
115
|
-
:voidp, value.collect(&:address).pack(
|
113
|
+
:voidp, value.collect(&:address).pack('J*'))
|
116
114
|
value.each do |v|
|
117
115
|
v.to_gr.free = nil
|
118
116
|
end
|
119
117
|
else
|
120
|
-
vs = value.collect {|v| Args.new(**v)}
|
118
|
+
vs = value.collect { |v| Args.new(**v) }
|
121
119
|
@references.concat(vs)
|
122
|
-
GRM.args_push(@args, key,
|
120
|
+
GRM.args_push(@args, key, 'nA',
|
123
121
|
:int, value.size,
|
124
|
-
:voidp, vs.collect(&:address).pack(
|
122
|
+
:voidp, vs.collect(&:address).pack('J*'))
|
125
123
|
vs.each do |v|
|
126
124
|
v.to_gr.free = nil
|
127
125
|
end
|
@@ -129,7 +127,7 @@ module GRM
|
|
129
127
|
else
|
130
128
|
v = Args.new(**value)
|
131
129
|
@references << v
|
132
|
-
GRM.args_push(@args, key,
|
130
|
+
GRM.args_push(@args, key, 'a', :voidp, v.address)
|
133
131
|
v.to_gr.free = nil
|
134
132
|
end
|
135
133
|
end
|
@@ -149,23 +147,23 @@ module GRM
|
|
149
147
|
end
|
150
148
|
|
151
149
|
class << self
|
152
|
-
def merge(args=nil)
|
150
|
+
def merge(args = nil)
|
153
151
|
super(Args.try_convert(args) || args)
|
154
152
|
end
|
155
153
|
|
156
|
-
def merge_extended(args=nil, hold=0,
|
154
|
+
def merge_extended(args = nil, hold = 0, _identifiator = nil)
|
157
155
|
super(Args.try_convert(args) || args, hold, identificator)
|
158
156
|
end
|
159
157
|
|
160
|
-
def merge_hold(args=nil)
|
158
|
+
def merge_hold(args = nil)
|
161
159
|
super(Args.try_convert(args) || args)
|
162
160
|
end
|
163
161
|
|
164
|
-
def merge_named(args=nil,
|
162
|
+
def merge_named(args = nil, _identifiator = nil)
|
165
163
|
super(Args.try_convert(args) || args, identificator)
|
166
164
|
end
|
167
165
|
|
168
|
-
def plot(args=nil)
|
166
|
+
def plot(args = nil)
|
169
167
|
super(Args.try_convert(args) || args)
|
170
168
|
end
|
171
169
|
end
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ruby-gr
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.73.
|
4
|
+
version: 0.73.17.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- kojix2
|
8
8
|
bindir: bin
|
9
9
|
cert_chain: []
|
10
|
-
date:
|
10
|
+
date: 1980-01-02 00:00:00.000000000 Z
|
11
11
|
dependencies:
|
12
12
|
- !ruby/object:Gem::Dependency
|
13
13
|
name: fiddle
|
@@ -99,7 +99,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
99
99
|
- !ruby/object:Gem::Version
|
100
100
|
version: '0'
|
101
101
|
requirements: []
|
102
|
-
rubygems_version: 3.
|
102
|
+
rubygems_version: 3.7.1
|
103
103
|
specification_version: 4
|
104
104
|
summary: GR for Ruby
|
105
105
|
test_files: []
|