ruby_mapnik 0.1.2 → 0.1.3
Sign up to get free protection for your applications and to get access to all the features.
- data/Manifest.txt +0 -3
- data/README.rdoc +16 -5
- data/ext/ruby_mapnik/_mapnik.cpp +0 -1
- data/ext/ruby_mapnik/_mapnik.h +2 -4
- data/ext/ruby_mapnik/_mapnik_datasource.rb.cpp +5 -0
- data/ext/ruby_mapnik/_mapnik_expression.rb.cpp +1 -1
- data/ext/ruby_mapnik/_mapnik_feature.rb.cpp +31 -4
- data/ext/ruby_mapnik/_mapnik_geometry.rb.cpp +0 -4
- data/ext/ruby_mapnik/_mapnik_layer.rb.cpp +1 -30
- data/ext/ruby_mapnik/_mapnik_rule.rb.cpp +1 -31
- data/ext/ruby_mapnik/_mapnik_shield_symbolizer.rb.cpp +2 -2
- data/ext/ruby_mapnik/_mapnik_symbolizer.rb.cpp +0 -2
- data/ext/ruby_mapnik/_mapnik_text_symbolizer.rb.cpp +3 -38
- data/ext/ruby_mapnik/extconf.rb +6 -3
- data/lib/ruby_mapnik.rb +1 -1
- data/test/test_mapnik_feature.rb +6 -10
- data/test/test_mapnik_geometry.rb +0 -2
- data/test/test_mapnik_layer.rb +0 -16
- data/test/test_mapnik_rule.rb +0 -18
- data/test/test_mapnik_shield_symbolizer.rb +0 -30
- data/test/test_mapnik_text_symbolizer.rb +0 -17
- metadata +25 -16
- data/ext/ruby_mapnik/_mapnik_glyph_symbolizer.rb.cpp +0 -250
- data/ext/ruby_mapnik/_mapnik_glyph_symbolizer.rb.h +0 -32
- data/test/test_mapnik_glyph_symbolizer.rb +0 -96
data/Manifest.txt
CHANGED
@@ -91,8 +91,6 @@ ext/ruby_mapnik/_mapnik_font_engine.rb.cpp
|
|
91
91
|
ext/ruby_mapnik/_mapnik_font_engine.rb.h
|
92
92
|
ext/ruby_mapnik/_mapnik_geometry.rb.cpp
|
93
93
|
ext/ruby_mapnik/_mapnik_geometry.rb.h
|
94
|
-
ext/ruby_mapnik/_mapnik_glyph_symbolizer.rb.cpp
|
95
|
-
ext/ruby_mapnik/_mapnik_glyph_symbolizer.rb.h
|
96
94
|
ext/ruby_mapnik/_mapnik_layer.rb.cpp
|
97
95
|
ext/ruby_mapnik/_mapnik_layer.rb.h
|
98
96
|
ext/ruby_mapnik/_mapnik_line_pattern_symbolizer.rb.cpp
|
@@ -155,7 +153,6 @@ test/test_mapnik_expression.rb
|
|
155
153
|
test/test_mapnik_feature.rb
|
156
154
|
test/test_mapnik_font_engine.rb
|
157
155
|
test/test_mapnik_geometry.rb
|
158
|
-
test/test_mapnik_glyph_symbolizer.rb
|
159
156
|
test/test_mapnik_layer.rb
|
160
157
|
test/test_mapnik_line_symbolizer.rb
|
161
158
|
test/test_mapnik_map.rb
|
data/README.rdoc
CHANGED
@@ -4,8 +4,9 @@ https://github.com/mapnik/Ruby-Mapnik
|
|
4
4
|
|
5
5
|
== Requirements
|
6
6
|
|
7
|
-
*
|
8
|
-
*
|
7
|
+
* Rake
|
8
|
+
* Mapnik 2.x (Currently available at https://github.com/mapnik/mapnik)
|
9
|
+
* Rice >= 1.4.2
|
9
10
|
* rcairo (https://github.com/rcairo/rcairo) (Optional)
|
10
11
|
|
11
12
|
== Description
|
@@ -17,18 +18,28 @@ installed and Mapnik has been compiled with Cairo support.
|
|
17
18
|
|
18
19
|
== Installation
|
19
20
|
|
21
|
+
If you have checked out this local repository code build like:
|
22
|
+
|
23
|
+
rake
|
24
|
+
|
25
|
+
The above command will compile the bindings and run the tests.
|
26
|
+
|
27
|
+
File issues at https://github.com/mapnik/Ruby-Mapnik if you hit any compile errors.
|
28
|
+
|
29
|
+
If you wish to install Ruby-Mapnik from the latest tagged release you can do:
|
30
|
+
|
20
31
|
gem install ruby_mapnik
|
21
32
|
|
22
33
|
Note: on osx the default rake compile will try to build universal, and your
|
23
|
-
mapnik install is unlikely built universal. Check the architecture of
|
34
|
+
mapnik install is unlikely built universal. Check the architecture of libmapnik.dylib like:
|
24
35
|
|
25
|
-
file /usr/local/lib/
|
36
|
+
file /usr/local/lib/libmapnik.dylib
|
26
37
|
|
27
38
|
On a system where your compiler defaults to 64bit you'll see: 'Mach-O 64-bit dynamically linked shared library x86_64'
|
28
39
|
|
29
40
|
So to avoid a linking warning like:
|
30
41
|
|
31
|
-
ld: warning: ignoring file /usr/local/lib/
|
42
|
+
ld: warning: ignoring file /usr/local/lib/libmapnik.dylib, file was built for unsupported file format which is not the architecture being linked (i386)
|
32
43
|
|
33
44
|
You can pass this before rake compile:
|
34
45
|
|
data/ext/ruby_mapnik/_mapnik.cpp
CHANGED
@@ -47,7 +47,6 @@ void register_mapnik(){
|
|
47
47
|
register_raster_colorizer(rb_mapnik);
|
48
48
|
register_point_symbolizer(rb_mapnik);
|
49
49
|
register_polygon_pattern_symbolizer(rb_mapnik);
|
50
|
-
register_glyph_symbolizer(rb_mapnik);
|
51
50
|
register_line_pattern_symbolizer(rb_mapnik);
|
52
51
|
register_markers_symbolizer(rb_mapnik);
|
53
52
|
register_shield_symbolizer(rb_mapnik);
|
data/ext/ruby_mapnik/_mapnik.h
CHANGED
@@ -57,12 +57,10 @@ SOFTWARE.
|
|
57
57
|
#include "_mapnik_raster_symbolizer.rb.h"
|
58
58
|
#include "_mapnik_raster_colorizer.rb.h"
|
59
59
|
#include "_mapnik_point_symbolizer.rb.h"
|
60
|
-
#include "_mapnik_polygon_pattern_symbolizer.rb.h"
|
61
|
-
#include "_mapnik_glyph_symbolizer.rb.h"
|
60
|
+
#include "_mapnik_polygon_pattern_symbolizer.rb.h"
|
62
61
|
#include "_mapnik_line_pattern_symbolizer.rb.h"
|
63
62
|
#include "_mapnik_markers_symbolizer.rb.h"
|
64
|
-
#include "_mapnik_shield_symbolizer.rb.h"
|
65
|
-
|
63
|
+
#include "_mapnik_shield_symbolizer.rb.h"
|
66
64
|
|
67
65
|
void register_mapnik();
|
68
66
|
|
@@ -29,7 +29,7 @@ SOFTWARE.
|
|
29
29
|
|
30
30
|
// Mapnik
|
31
31
|
#include <mapnik/feature.hpp>
|
32
|
-
#include <mapnik/
|
32
|
+
#include <mapnik/expression.hpp>
|
33
33
|
#include <mapnik/expression_node.hpp>
|
34
34
|
#include <mapnik/expression_string.hpp>
|
35
35
|
#include <mapnik/expression_evaluator.hpp>
|
@@ -21,6 +21,8 @@ SOFTWARE.
|
|
21
21
|
*****************************************************************************/
|
22
22
|
#include "_mapnik_feature.rb.h"
|
23
23
|
|
24
|
+
#include <boost/make_shared.hpp>
|
25
|
+
|
24
26
|
// Rice
|
25
27
|
#include <rice/Data_Type.hpp>
|
26
28
|
#include <rice/Constructor.hpp>
|
@@ -30,17 +32,42 @@ SOFTWARE.
|
|
30
32
|
#include <mapnik/wkt/wkt_factory.hpp>
|
31
33
|
#include <mapnik/feature.hpp>
|
32
34
|
|
33
|
-
|
34
|
-
|
35
|
-
|
35
|
+
namespace {
|
36
|
+
|
37
|
+
void add_geometries_from_wkt(mapnik::Feature * self, std::string wkt){
|
38
|
+
bool result = mapnik::from_wkt(wkt, self->paths());
|
39
|
+
if (!result) throw std::runtime_error("Failed to parse WKT");
|
40
|
+
}
|
41
|
+
|
42
|
+
class context_holder {
|
43
|
+
public:
|
44
|
+
mapnik::context_ptr ptr;
|
45
|
+
context_holder(){
|
46
|
+
ptr = boost::make_shared<mapnik::context_type>();
|
47
|
+
}
|
48
|
+
|
49
|
+
int push(std::string const& str){
|
50
|
+
return ptr->push(str);
|
51
|
+
}
|
52
|
+
};
|
53
|
+
|
54
|
+
}
|
55
|
+
template<>
|
56
|
+
mapnik::context_ptr from_ruby<mapnik::context_ptr>(Rice::Object ruby_obj){
|
57
|
+
context_holder ctx = from_ruby<context_holder>(ruby_obj);
|
58
|
+
return ctx.ptr;
|
36
59
|
}
|
37
60
|
|
38
61
|
void register_feature(Rice::Module rb_mapnik){
|
62
|
+
Rice::Data_Type< context_holder > rb_ccontext = Rice::define_class_under< context_holder >(rb_mapnik, "Context");
|
63
|
+
rb_ccontext.define_constructor(Rice::Constructor< context_holder >());
|
64
|
+
rb_ccontext.define_method("push", &context_holder::push);
|
65
|
+
|
39
66
|
/*
|
40
67
|
@@Module_var rb_mapnik = Mapnik
|
41
68
|
*/
|
42
69
|
Rice::Data_Type< mapnik::Feature > rb_cfeature = Rice::define_class_under< mapnik::Feature >(rb_mapnik, "Feature");
|
43
|
-
rb_cfeature.define_constructor(Rice::Constructor< mapnik::Feature,int >());
|
70
|
+
rb_cfeature.define_constructor(Rice::Constructor< mapnik::Feature,mapnik::context_ptr,int >());
|
44
71
|
rb_cfeature.define_method("id", &mapnik::Feature::id);
|
45
72
|
rb_cfeature.define_method("to_s", &mapnik::Feature::to_string);
|
46
73
|
rb_cfeature.define_method("number_of_geometries", &mapnik::Feature::num_geometries);
|
@@ -71,14 +71,10 @@ void register_geometry(Rice::Module rb_mapnik){
|
|
71
71
|
geometry_enum.define_value("Point",mapnik::Point);
|
72
72
|
geometry_enum.define_value("LineString",mapnik::LineString);
|
73
73
|
geometry_enum.define_value("Polygon",mapnik::Polygon);
|
74
|
-
geometry_enum.define_value("MultiPoint",mapnik::MultiPoint);
|
75
|
-
geometry_enum.define_value("MultiLineString",mapnik::MultiLineString);
|
76
|
-
geometry_enum.define_value("MultiPolygon",mapnik::MultiPolygon);
|
77
74
|
|
78
75
|
Rice::Data_Type< mapnik::geometry_type > rb_cgeometry2d = Rice::define_class_under< mapnik::geometry_type >(rb_mapnik, "Geometry2d");
|
79
76
|
rb_cgeometry2d.define_method("envelope", &mapnik::geometry_type::envelope);
|
80
77
|
rb_cgeometry2d.define_method("type", &mapnik::geometry_type::type);
|
81
|
-
rb_cgeometry2d.define_method("area", &mapnik::geometry_type::area);
|
82
78
|
|
83
79
|
Rice::Data_Type< path_type > rb_cpath = Rice::define_class_under< path_type >(rb_mapnik, "Path");
|
84
80
|
rb_cpath.define_singleton_method("from_wkt", &from_wkt_impl, Rice::Arg("wkt"));
|
@@ -90,36 +90,7 @@ void register_layer(Rice::Module rb_mapnik){
|
|
90
90
|
* @return [nil]
|
91
91
|
*/
|
92
92
|
rb_clayer.define_method("name=", &mapnik::layer::set_name, Rice::Arg("new_name"));
|
93
|
-
|
94
|
-
/*
|
95
|
-
* Document-method: title
|
96
|
-
* @return [String] The layer's title
|
97
|
-
*/
|
98
|
-
rb_clayer.define_method("title", &mapnik::layer::title);
|
99
|
-
|
100
|
-
/*
|
101
|
-
* Document-method: title=
|
102
|
-
* call-seq:
|
103
|
-
* title=(new_name)
|
104
|
-
* @param [String]
|
105
|
-
* @return [nil]
|
106
|
-
*/
|
107
|
-
rb_clayer.define_method("title=", &mapnik::layer::set_title, Rice::Arg("new_title"));
|
108
|
-
|
109
|
-
/*
|
110
|
-
* Document-method: abstract
|
111
|
-
* @return [String] the layer's abstract
|
112
|
-
*/
|
113
|
-
rb_clayer.define_method("abstract", &mapnik::layer::abstract);
|
114
|
-
|
115
|
-
/*
|
116
|
-
* Document-method: abstract=
|
117
|
-
* call-seq:
|
118
|
-
* abstract=(new_abstract)
|
119
|
-
* @param [String]
|
120
|
-
*/
|
121
|
-
rb_clayer.define_method("abstract=", &mapnik::layer::set_abstract, Rice::Arg("new_abstract"));
|
122
|
-
|
93
|
+
|
123
94
|
/*
|
124
95
|
* Document-method: srs
|
125
96
|
* @return [String] the layer's srs
|
@@ -41,37 +41,7 @@ void register_rule(Rice::Module rb_mapnik){
|
|
41
41
|
* @return [nil]
|
42
42
|
*/
|
43
43
|
rb_crule.define_method("name=", &mapnik::rule::set_name, Rice::Arg("new_name"));
|
44
|
-
|
45
|
-
/*
|
46
|
-
* Document-method: title
|
47
|
-
* @return [String]
|
48
|
-
*/
|
49
|
-
rb_crule.define_method("title", &mapnik::rule::get_title);
|
50
|
-
|
51
|
-
/*
|
52
|
-
* Document-method: title=
|
53
|
-
* call-seq:
|
54
|
-
* title=(new_title)
|
55
|
-
* @param [String]
|
56
|
-
* @return [nil]
|
57
|
-
*/
|
58
|
-
rb_crule.define_method("title=", &mapnik::rule::set_title, Rice::Arg("new_title"));
|
59
|
-
|
60
|
-
/*
|
61
|
-
* Document-method: abstract
|
62
|
-
* @return [String]
|
63
|
-
*/
|
64
|
-
rb_crule.define_method("abstract", &mapnik::rule::get_abstract);
|
65
|
-
|
66
|
-
/*
|
67
|
-
* Document-method: abstract=
|
68
|
-
* call-seq:
|
69
|
-
* abstract=(new_abstract)
|
70
|
-
* @param [String]
|
71
|
-
* @return [nil]
|
72
|
-
*/
|
73
|
-
rb_crule.define_method("abstract=", &mapnik::rule::set_abstract, Rice::Arg("new_abstract"));
|
74
|
-
|
44
|
+
|
75
45
|
/*
|
76
46
|
* Document-method: filter
|
77
47
|
* @return [Mapnik::Expression]
|
@@ -36,8 +36,8 @@ namespace{
|
|
36
36
|
Rice::Object get_shield_displacement(const mapnik::shield_symbolizer& t){
|
37
37
|
mapnik::position pos = t.get_shield_displacement();
|
38
38
|
Rice::Array out;
|
39
|
-
out.push(
|
40
|
-
out.push(
|
39
|
+
out.push(pos.first);
|
40
|
+
out.push(pos.second);
|
41
41
|
return out;
|
42
42
|
}
|
43
43
|
|
@@ -42,8 +42,6 @@ namespace {
|
|
42
42
|
out = mapnik::symbolizer(from_ruby<mapnik::line_symbolizer>(obj));
|
43
43
|
} else if(class_name == "Mapnik::TextSymbolizer"){
|
44
44
|
out = mapnik::symbolizer(from_ruby<mapnik::text_symbolizer>(obj));
|
45
|
-
} else if(class_name == "Mapnik::GlyphSymbolizer"){
|
46
|
-
out = mapnik::symbolizer(from_ruby<mapnik::glyph_symbolizer>(obj));
|
47
45
|
} else if(class_name == "Mapnik::LinePatternSymbolizer"){
|
48
46
|
out = mapnik::symbolizer(from_ruby<mapnik::line_pattern_symbolizer>(obj));
|
49
47
|
} else if(class_name == "Mapnik::MarkersSymbolizer"){
|
@@ -28,31 +28,16 @@ SOFTWARE.
|
|
28
28
|
#include <rice/Enum.hpp>
|
29
29
|
|
30
30
|
// Mapnik
|
31
|
-
|
31
|
+
//#include <mapnik/text_placements.hpp>
|
32
32
|
#include <mapnik/text_symbolizer.hpp>
|
33
33
|
|
34
34
|
namespace {
|
35
35
|
|
36
|
-
Rice::Object get_anchor(const mapnik::text_symbolizer& t){
|
37
|
-
mapnik::position pos = t.get_anchor();
|
38
|
-
Rice::Array out;
|
39
|
-
out.push(boost::get<0>(pos));
|
40
|
-
out.push(boost::get<1>(pos));
|
41
|
-
return out;
|
42
|
-
}
|
43
|
-
|
44
|
-
void set_anchor(mapnik::text_symbolizer & t, Rice::Array ary) {
|
45
|
-
double x = from_ruby<double>(ary[0]);
|
46
|
-
double y = from_ruby<double>(ary[1]);
|
47
|
-
|
48
|
-
t.set_anchor(x, y);
|
49
|
-
}
|
50
|
-
|
51
36
|
Rice::Object get_text_displacement(const mapnik::text_symbolizer& t){
|
52
37
|
mapnik::position pos = t.get_displacement();
|
53
38
|
Rice::Array out;
|
54
|
-
out.push(
|
55
|
-
out.push(
|
39
|
+
out.push(pos.first);
|
40
|
+
out.push(pos.second);
|
56
41
|
return out;
|
57
42
|
}
|
58
43
|
|
@@ -155,20 +140,6 @@ void register_text_symbolizer(Rice::Module rb_mapnik){
|
|
155
140
|
*/
|
156
141
|
rb_ctext_symbolizer.define_constructor(Rice::Constructor< mapnik::text_symbolizer, mapnik::expression_ptr, std::string, int, mapnik::color >());
|
157
142
|
|
158
|
-
/*
|
159
|
-
* Document-method: anchor
|
160
|
-
* @return [Array] Two element array [x,y]
|
161
|
-
*/
|
162
|
-
rb_ctext_symbolizer.define_method("anchor", &get_anchor);
|
163
|
-
|
164
|
-
/*
|
165
|
-
* Document-method: anchor=
|
166
|
-
* call-seq:
|
167
|
-
* anchor=(new_anchor)
|
168
|
-
* @param [Array] new_anchor Two element array [x,y]
|
169
|
-
*/
|
170
|
-
rb_ctext_symbolizer.define_method("anchor=", &set_anchor);
|
171
|
-
|
172
143
|
/*
|
173
144
|
* Document-method: allow_overlap?
|
174
145
|
* @return [Boolean]
|
@@ -406,12 +377,6 @@ void register_text_symbolizer(Rice::Module rb_mapnik){
|
|
406
377
|
*/
|
407
378
|
rb_ctext_symbolizer.define_method("minimum_padding=", &mapnik::text_symbolizer::set_minimum_padding);
|
408
379
|
|
409
|
-
/*
|
410
|
-
* Document-method: name
|
411
|
-
* @return [Mapnik::Expression]
|
412
|
-
*/
|
413
|
-
rb_ctext_symbolizer.define_method("name", &mapnik::text_symbolizer::get_name);
|
414
|
-
|
415
380
|
/*
|
416
381
|
* Document-method: name=
|
417
382
|
* call-seq:
|
data/ext/ruby_mapnik/extconf.rb
CHANGED
@@ -32,16 +32,16 @@ end
|
|
32
32
|
|
33
33
|
# Check for mapnik-config
|
34
34
|
if %x{which mapnik-config}.length == 0
|
35
|
-
abort("\n***\n mapnik-config is missing!\n Is
|
35
|
+
abort("\n***\n mapnik-config is missing!\n Is mapnik 2.x installed?\n Is mapnik-config in your $PATH?\n***\n\n")
|
36
36
|
end
|
37
37
|
|
38
38
|
LIBDIR = Config::CONFIG['libdir']
|
39
39
|
INCLUDEDIR = Config::CONFIG['includedir']
|
40
40
|
|
41
|
-
$LDFLAGS += " -
|
41
|
+
$LDFLAGS += " " + %x{mapnik-config --libs}.chomp + " "
|
42
42
|
|
43
43
|
# force whitespace padding to avoid: https://github.com/mapnik/Ruby-Mapnik/issues/7
|
44
|
-
$CFLAGS += " " + %x{mapnik-config --cflags} + " "
|
44
|
+
$CFLAGS += " " + %x{mapnik-config --cflags}.chomp + " "
|
45
45
|
|
46
46
|
#------------------------------------------------------------------------------#
|
47
47
|
# Ruby-Mapnik configuration
|
@@ -64,6 +64,9 @@ File.open(mapnik_config_file_path, 'w+') do |file|
|
|
64
64
|
file.write(ruby_mapnik_config)
|
65
65
|
end
|
66
66
|
|
67
|
+
if ENV['CXX']
|
68
|
+
$CXX = ENV['CXX']
|
69
|
+
end
|
67
70
|
|
68
71
|
if RUBY_PLATFORM =~ /darwin/
|
69
72
|
# In order to link the shared library into our bundle with GCC 4.x on OSX, we have to work around a bug:
|
data/lib/ruby_mapnik.rb
CHANGED
data/test/test_mapnik_feature.rb
CHANGED
@@ -1,30 +1,26 @@
|
|
1
1
|
require "test_helper"
|
2
2
|
|
3
3
|
class TestMapnikFeature < Test::Unit::TestCase
|
4
|
-
|
5
|
-
def test_presence
|
6
|
-
assert Mapnik::Feature
|
7
|
-
end
|
8
|
-
|
4
|
+
|
9
5
|
def test_should_instantiate
|
10
6
|
feature_id = 12
|
11
|
-
assert feature = Mapnik::Feature.new(feature_id)
|
7
|
+
assert feature = Mapnik::Feature.new(Mapnik::Context.new, feature_id)
|
12
8
|
assert_equal feature_id, feature.id
|
13
|
-
assert_equal "
|
9
|
+
assert_equal "Feature ( id=#{feature_id})", feature.to_s.gsub("\n", '')
|
14
10
|
end
|
15
11
|
|
16
12
|
def test_should_return_number_of_geometries
|
17
|
-
assert feature = Mapnik::Feature.new(1)
|
13
|
+
assert feature = Mapnik::Feature.new(Mapnik::Context.new, 1)
|
18
14
|
assert_equal 0, feature.number_of_geometries
|
19
15
|
end
|
20
16
|
|
21
17
|
def test_should_return_its_envelope
|
22
|
-
assert feature = Mapnik::Feature.new(1)
|
18
|
+
assert feature = Mapnik::Feature.new(Mapnik::Context.new, 1)
|
23
19
|
assert feature.envelope.kind_of?(Mapnik::Envelope)
|
24
20
|
end
|
25
21
|
|
26
22
|
def test_should_add_a_geometry
|
27
|
-
feature = Mapnik::Feature.new(1)
|
23
|
+
feature = Mapnik::Feature.new(Mapnik::Context.new, 1)
|
28
24
|
assert_equal(0, feature.number_of_geometries)
|
29
25
|
feature.add_geometries_from_wkt("POINT(30 10)")
|
30
26
|
assert_equal(1, feature.number_of_geometries)
|
@@ -10,8 +10,6 @@ class TestMapnikGeometry < Test::Unit::TestCase
|
|
10
10
|
assert Mapnik::GeometryType::Point
|
11
11
|
assert Mapnik::GeometryType::LineString
|
12
12
|
assert Mapnik::GeometryType::Polygon
|
13
|
-
assert Mapnik::GeometryType::MultiPoint
|
14
|
-
assert Mapnik::GeometryType::MultiLineString
|
15
13
|
end
|
16
14
|
|
17
15
|
def test_should_make_point_from_wkt
|
data/test/test_mapnik_layer.rb
CHANGED
@@ -29,22 +29,6 @@ class TestMapnikLayer < Test::Unit::TestCase
|
|
29
29
|
assert_equal new_name, layer.name
|
30
30
|
end
|
31
31
|
|
32
|
-
def test_should_get_and_set_title
|
33
|
-
layer = build_layer
|
34
|
-
title_before = layer.title
|
35
|
-
new_title = title_before + "BUT DIFFERENT"
|
36
|
-
layer.title = new_title
|
37
|
-
assert_equal new_title, layer.title
|
38
|
-
end
|
39
|
-
|
40
|
-
def test_should_get_and_set_abstract
|
41
|
-
layer = build_layer
|
42
|
-
abstract_before = layer.abstract
|
43
|
-
new_abstract = abstract_before + "BUT DIFFERENT"
|
44
|
-
layer.abstract = new_abstract
|
45
|
-
assert_equal new_abstract, layer.abstract
|
46
|
-
end
|
47
|
-
|
48
32
|
def test_should_get_and_set_srs
|
49
33
|
layer = build_layer
|
50
34
|
srs_before = layer.srs
|
data/test/test_mapnik_rule.rb
CHANGED
@@ -18,25 +18,7 @@ class TestMapnikRule < Test::Unit::TestCase
|
|
18
18
|
rule.name = new_name
|
19
19
|
assert_equal new_name, rule.name
|
20
20
|
end
|
21
|
-
|
22
|
-
def test_should_get_and_set_title
|
23
|
-
rule = Mapnik::Rule.new
|
24
|
-
assert_equal("", rule.title)
|
25
|
-
|
26
|
-
new_title = "New title"
|
27
|
-
rule.title = new_title
|
28
|
-
assert_equal new_title, rule.title
|
29
|
-
end
|
30
|
-
|
31
|
-
def test_should_get_and_set_abstract
|
32
|
-
rule = Mapnik::Rule.new
|
33
|
-
assert_equal("", rule.abstract)
|
34
21
|
|
35
|
-
new_abstract = "New abstract"
|
36
|
-
rule.abstract = new_abstract
|
37
|
-
assert_equal new_abstract, rule.abstract
|
38
|
-
end
|
39
|
-
|
40
22
|
def test_should_get_and_set_filter
|
41
23
|
rule = Mapnik::Rule.new
|
42
24
|
expression_string = "([place]='town')"
|
@@ -13,13 +13,6 @@ class TestMapnikShieldSymbolizer < Test::Unit::TestCase
|
|
13
13
|
def test_should_instantiate
|
14
14
|
assert @sym
|
15
15
|
end
|
16
|
-
|
17
|
-
def test_should_get_and_set_anchor
|
18
|
-
assert @sym.anchor
|
19
|
-
new_vals = [1,2]
|
20
|
-
@sym.anchor = new_vals
|
21
|
-
assert_equal new_vals, @sym.anchor
|
22
|
-
end
|
23
16
|
|
24
17
|
def test_should_get_and_set_allow_overlap
|
25
18
|
@sym.allow_overlap = true
|
@@ -142,15 +135,6 @@ class TestMapnikShieldSymbolizer < Test::Unit::TestCase
|
|
142
135
|
assert_equal 1, @sym.minimum_padding
|
143
136
|
end
|
144
137
|
|
145
|
-
def test_should_get_and_set_name
|
146
|
-
assert @sym.name.instance_of?(Mapnik::Expression)
|
147
|
-
new_expression_string = "([place]='towns')"
|
148
|
-
assert_not_equal new_expression_string, @sym.name.to_s
|
149
|
-
new_expression = Mapnik::Expression.parse(new_expression_string)
|
150
|
-
@sym.name = new_expression
|
151
|
-
assert_equal new_expression_string, @sym.name.to_s
|
152
|
-
end
|
153
|
-
|
154
138
|
def test_should_get_and_set_opactiy
|
155
139
|
assert_equal 1, @sym.opacity
|
156
140
|
@sym.opacity = 0
|
@@ -163,18 +147,6 @@ class TestMapnikShieldSymbolizer < Test::Unit::TestCase
|
|
163
147
|
assert_equal 3, @sym.ratio
|
164
148
|
end
|
165
149
|
|
166
|
-
def test_should_get_and_set_text_size
|
167
|
-
assert_equal 12, @sym.size
|
168
|
-
@sym.size = 0
|
169
|
-
assert_equal 0, @sym.size
|
170
|
-
end
|
171
|
-
|
172
|
-
def test_should_get_and_set_wrap_width
|
173
|
-
assert_equal 0, @sym.wrap_width
|
174
|
-
@sym.wrap_width = 30
|
175
|
-
assert_equal 30, @sym.wrap_width
|
176
|
-
end
|
177
|
-
|
178
150
|
def test_should_get_and_set_wrap_character
|
179
151
|
@sym.wrap_character = '|'
|
180
152
|
assert_equal '|', @sym.wrap_character
|
@@ -182,8 +154,6 @@ class TestMapnikShieldSymbolizer < Test::Unit::TestCase
|
|
182
154
|
assert_equal '%', @sym.wrap_character
|
183
155
|
end
|
184
156
|
|
185
|
-
|
186
|
-
|
187
157
|
def test_should_get_and_set_wrap_before
|
188
158
|
assert !@sym.wrap_before
|
189
159
|
@sym.wrap_before = true
|
@@ -36,13 +36,6 @@ class TestMapnikTextSymbolizer < Test::Unit::TestCase
|
|
36
36
|
assert Mapnik::TEXT_TRANSFORM::CAPITALIZE
|
37
37
|
end
|
38
38
|
|
39
|
-
def test_should_get_and_set_anchor
|
40
|
-
assert @symbolizer.anchor
|
41
|
-
new_vals = [1,2]
|
42
|
-
@symbolizer.anchor = new_vals
|
43
|
-
assert_equal new_vals, @symbolizer.anchor
|
44
|
-
end
|
45
|
-
|
46
39
|
def test_should_get_and_set_allow_overlap
|
47
40
|
@symbolizer.allow_overlap = true
|
48
41
|
assert @symbolizer.allow_overlap?
|
@@ -145,7 +138,6 @@ class TestMapnikTextSymbolizer < Test::Unit::TestCase
|
|
145
138
|
assert_equal 1, @symbolizer.line_spacing
|
146
139
|
end
|
147
140
|
|
148
|
-
# TODO: failure here!
|
149
141
|
def test_should_get_and_set_max_char_angle_delta
|
150
142
|
@symbolizer.max_char_angle_delta = 0.5
|
151
143
|
assert_equal 0.5, @symbolizer.max_char_angle_delta
|
@@ -165,15 +157,6 @@ class TestMapnikTextSymbolizer < Test::Unit::TestCase
|
|
165
157
|
assert_equal 1, @symbolizer.minimum_padding
|
166
158
|
end
|
167
159
|
|
168
|
-
def test_should_get_and_set_name
|
169
|
-
assert @symbolizer.name.instance_of?(Mapnik::Expression)
|
170
|
-
new_expression_string = "([place]='towns')"
|
171
|
-
assert_not_equal new_expression_string, @symbolizer.name.to_s
|
172
|
-
new_expression = Mapnik::Expression.parse(new_expression_string)
|
173
|
-
@symbolizer.name = new_expression
|
174
|
-
assert_equal new_expression_string, @symbolizer.name.to_s
|
175
|
-
end
|
176
|
-
|
177
160
|
def test_should_get_and_set_opactiy
|
178
161
|
assert_equal 1, @symbolizer.opacity
|
179
162
|
@symbolizer.opacity = 0
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ruby_mapnik
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 29
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 1
|
9
|
-
-
|
10
|
-
version: 0.1.
|
9
|
+
- 3
|
10
|
+
version: 0.1.3
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Elliot Laster
|
@@ -15,8 +15,7 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date:
|
19
|
-
default_executable:
|
18
|
+
date: 2012-02-14 00:00:00 Z
|
20
19
|
dependencies:
|
21
20
|
- !ruby/object:Gem::Dependency
|
22
21
|
name: rice
|
@@ -49,20 +48,35 @@ dependencies:
|
|
49
48
|
type: :development
|
50
49
|
version_requirements: *id002
|
51
50
|
- !ruby/object:Gem::Dependency
|
52
|
-
name:
|
51
|
+
name: rdoc
|
53
52
|
prerelease: false
|
54
53
|
requirement: &id003 !ruby/object:Gem::Requirement
|
55
54
|
none: false
|
56
55
|
requirements:
|
57
56
|
- - ~>
|
58
57
|
- !ruby/object:Gem::Version
|
59
|
-
hash:
|
58
|
+
hash: 19
|
60
59
|
segments:
|
61
|
-
-
|
62
|
-
-
|
63
|
-
version: "
|
60
|
+
- 3
|
61
|
+
- 10
|
62
|
+
version: "3.10"
|
64
63
|
type: :development
|
65
64
|
version_requirements: *id003
|
65
|
+
- !ruby/object:Gem::Dependency
|
66
|
+
name: hoe
|
67
|
+
prerelease: false
|
68
|
+
requirement: &id004 !ruby/object:Gem::Requirement
|
69
|
+
none: false
|
70
|
+
requirements:
|
71
|
+
- - ~>
|
72
|
+
- !ruby/object:Gem::Version
|
73
|
+
hash: 25
|
74
|
+
segments:
|
75
|
+
- 2
|
76
|
+
- 13
|
77
|
+
version: "2.13"
|
78
|
+
type: :development
|
79
|
+
version_requirements: *id004
|
66
80
|
description: |-
|
67
81
|
A set of bindings between Ruby and Mapnik. Supports many of the common uses for
|
68
82
|
Mapnik, and one day, might support all of them. Rendering is available using
|
@@ -172,8 +186,6 @@ files:
|
|
172
186
|
- ext/ruby_mapnik/_mapnik_font_engine.rb.h
|
173
187
|
- ext/ruby_mapnik/_mapnik_geometry.rb.cpp
|
174
188
|
- ext/ruby_mapnik/_mapnik_geometry.rb.h
|
175
|
-
- ext/ruby_mapnik/_mapnik_glyph_symbolizer.rb.cpp
|
176
|
-
- ext/ruby_mapnik/_mapnik_glyph_symbolizer.rb.h
|
177
189
|
- ext/ruby_mapnik/_mapnik_layer.rb.cpp
|
178
190
|
- ext/ruby_mapnik/_mapnik_layer.rb.h
|
179
191
|
- ext/ruby_mapnik/_mapnik_line_pattern_symbolizer.rb.cpp
|
@@ -236,7 +248,6 @@ files:
|
|
236
248
|
- test/test_mapnik_feature.rb
|
237
249
|
- test/test_mapnik_font_engine.rb
|
238
250
|
- test/test_mapnik_geometry.rb
|
239
|
-
- test/test_mapnik_glyph_symbolizer.rb
|
240
251
|
- test/test_mapnik_layer.rb
|
241
252
|
- test/test_mapnik_line_symbolizer.rb
|
242
253
|
- test/test_mapnik_map.rb
|
@@ -257,7 +268,6 @@ files:
|
|
257
268
|
- yard/lib/yard/parser/generic_parser.rb
|
258
269
|
- yard/lib/yard_generic.rb
|
259
270
|
- .gemtest
|
260
|
-
has_rdoc: true
|
261
271
|
homepage: https://github.com/mapnik/Ruby-Mapnik
|
262
272
|
licenses: []
|
263
273
|
|
@@ -288,7 +298,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
288
298
|
requirements: []
|
289
299
|
|
290
300
|
rubyforge_project: ruby_mapnik
|
291
|
-
rubygems_version: 1.
|
301
|
+
rubygems_version: 1.8.16
|
292
302
|
signing_key:
|
293
303
|
specification_version: 3
|
294
304
|
summary: A set of bindings between Ruby and Mapnik
|
@@ -303,7 +313,6 @@ test_files:
|
|
303
313
|
- test/test_mapnik_feature.rb
|
304
314
|
- test/test_mapnik_font_engine.rb
|
305
315
|
- test/test_mapnik_geometry.rb
|
306
|
-
- test/test_mapnik_glyph_symbolizer.rb
|
307
316
|
- test/test_mapnik_layer.rb
|
308
317
|
- test/test_mapnik_line_symbolizer.rb
|
309
318
|
- test/test_mapnik_map.rb
|
@@ -1,250 +0,0 @@
|
|
1
|
-
/*****************************************************************************
|
2
|
-
Copyright (C) 2011 Elliot Laster
|
3
|
-
|
4
|
-
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
5
|
-
this software and associated documentation files (the ‘Software’), to deal in
|
6
|
-
the Software without restriction, including without limitation the rights to
|
7
|
-
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
|
8
|
-
of the Software, and to permit persons to whom the Software is furnished to do
|
9
|
-
so, subject to the following conditions:
|
10
|
-
|
11
|
-
The above copyright notice and this permission notice shall be included in all
|
12
|
-
copies or substantial portions of the Software.
|
13
|
-
|
14
|
-
THE SOFTWARE IS PROVIDED ‘AS IS’, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
15
|
-
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
16
|
-
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
17
|
-
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
18
|
-
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
19
|
-
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
20
|
-
SOFTWARE.
|
21
|
-
*****************************************************************************/
|
22
|
-
#include "_mapnik_glyph_symbolizer.rb.h"
|
23
|
-
|
24
|
-
// Rice
|
25
|
-
#include <rice/Data_Type.hpp>
|
26
|
-
#include <rice/Constructor.hpp>
|
27
|
-
#include <rice/Class.hpp>
|
28
|
-
#include <rice/Enum.hpp>
|
29
|
-
|
30
|
-
// Mapnik
|
31
|
-
#include <mapnik/glyph_symbolizer.hpp>
|
32
|
-
|
33
|
-
namespace {
|
34
|
-
Rice::Object get_displacement(const mapnik::glyph_symbolizer& t){
|
35
|
-
mapnik::position pos = t.get_displacement();
|
36
|
-
Rice::Array out;
|
37
|
-
out.push(boost::get<0>(pos));
|
38
|
-
out.push(boost::get<1>(pos));
|
39
|
-
return out;
|
40
|
-
}
|
41
|
-
|
42
|
-
void set_displacement(mapnik::glyph_symbolizer & t, Rice::Array ary){
|
43
|
-
double x = from_ruby<double>(ary[0]);
|
44
|
-
double y = from_ruby<double>(ary[1]);
|
45
|
-
|
46
|
-
t.set_displacement(x,y);
|
47
|
-
}
|
48
|
-
|
49
|
-
mapnik::angle_mode_enum get_angle_mode(mapnik::glyph_symbolizer const & self){
|
50
|
-
return self.get_angle_mode();
|
51
|
-
}
|
52
|
-
|
53
|
-
void set_angle_mode(mapnik::glyph_symbolizer & self, mapnik::angle_mode_enum val){
|
54
|
-
self.set_angle_mode(val);
|
55
|
-
}
|
56
|
-
}
|
57
|
-
|
58
|
-
void register_glyph_symbolizer(Rice::Module rb_mapnik){
|
59
|
-
/*
|
60
|
-
@@Module_var rb_mapnik = Mapnik
|
61
|
-
*/
|
62
|
-
Rice::Enum<mapnik::angle_mode_enum> angle_enum = Rice::define_enum<mapnik::angle_mode_enum>("AngleMode", rb_mapnik);
|
63
|
-
angle_enum.define_value("AZIMUTH", mapnik::AZIMUTH);
|
64
|
-
angle_enum.define_value("TRIGONOMETRIC", mapnik::TRIGONOMETRIC);
|
65
|
-
|
66
|
-
|
67
|
-
Rice::Data_Type< mapnik::glyph_symbolizer > rb_cglyph_symbolizer = Rice::define_class_under< mapnik::glyph_symbolizer >(rb_mapnik, "GlyphSymbolizer");
|
68
|
-
|
69
|
-
/*
|
70
|
-
* Document-method: new
|
71
|
-
* call-seq:
|
72
|
-
* new(font_name, expression)
|
73
|
-
*
|
74
|
-
* @param [String] font_name Name of a font registered with the FontEngine
|
75
|
-
* @param [Mapnik::Expression] expression The value expression
|
76
|
-
*
|
77
|
-
* Returns a new Mapnik::GlyphSymbolizer
|
78
|
-
*/
|
79
|
-
rb_cglyph_symbolizer.define_constructor(Rice::Constructor< mapnik::glyph_symbolizer, std::string, mapnik::expression_ptr >());
|
80
|
-
|
81
|
-
/*
|
82
|
-
* Document-method: face_name
|
83
|
-
* @return [String] the font face name
|
84
|
-
*/
|
85
|
-
rb_cglyph_symbolizer.define_method("face_name", &mapnik::glyph_symbolizer::get_face_name);
|
86
|
-
|
87
|
-
/*
|
88
|
-
* Document-method: face_name=
|
89
|
-
* call-seq:
|
90
|
-
* face_name=(new_face_name)
|
91
|
-
* @param [String] The new font face name
|
92
|
-
* @return [nil]
|
93
|
-
*/
|
94
|
-
rb_cglyph_symbolizer.define_method("face_name=", &mapnik::glyph_symbolizer::set_face_name);
|
95
|
-
|
96
|
-
/*
|
97
|
-
* Document-method: char
|
98
|
-
* @return [String]
|
99
|
-
*/
|
100
|
-
rb_cglyph_symbolizer.define_method("char", &mapnik::glyph_symbolizer::get_char);
|
101
|
-
|
102
|
-
/*
|
103
|
-
* Document-method: char=
|
104
|
-
* call-seq:
|
105
|
-
* char=(new_char)
|
106
|
-
* @param [String]
|
107
|
-
* @return [nil]
|
108
|
-
*/
|
109
|
-
rb_cglyph_symbolizer.define_method("char=", &mapnik::glyph_symbolizer::set_char);
|
110
|
-
|
111
|
-
/*
|
112
|
-
* Document-method: allow_overlap?
|
113
|
-
* @return [Boolean] Whether or not glyphs should overlap
|
114
|
-
*/
|
115
|
-
rb_cglyph_symbolizer.define_method("allow_overlap?", &mapnik::glyph_symbolizer::get_allow_overlap);
|
116
|
-
|
117
|
-
/*
|
118
|
-
* Document-method: allow_overlap=
|
119
|
-
* call-seq:
|
120
|
-
* allow_overlap=(new_overlap_value)
|
121
|
-
* @param [Boolean]
|
122
|
-
* @return [nil]
|
123
|
-
*/
|
124
|
-
rb_cglyph_symbolizer.define_method("allow_overlap=", &mapnik::glyph_symbolizer::set_allow_overlap);
|
125
|
-
|
126
|
-
/*
|
127
|
-
* Document-method: displacement?
|
128
|
-
* @return [Array] Two element array of the x-y displacement
|
129
|
-
*/
|
130
|
-
rb_cglyph_symbolizer.define_method("displacement", &get_displacement);
|
131
|
-
|
132
|
-
/*
|
133
|
-
* Document-method: displacement=
|
134
|
-
* call-seq:
|
135
|
-
* displacement=(new_displacement_values)
|
136
|
-
* @param [Array] array in the format [x,y]
|
137
|
-
* @return [nil]
|
138
|
-
*/
|
139
|
-
rb_cglyph_symbolizer.define_method("displacement=", &set_displacement);
|
140
|
-
|
141
|
-
/*
|
142
|
-
* Document-method: avoid_edges?
|
143
|
-
* @return [Boolean] Whether or not glyphs should avoid edges
|
144
|
-
*/
|
145
|
-
rb_cglyph_symbolizer.define_method("avoid_edges?", &mapnik::glyph_symbolizer::get_avoid_edges);
|
146
|
-
|
147
|
-
/*
|
148
|
-
* Document-method: avoid_edges=
|
149
|
-
* call-seq:
|
150
|
-
* avoid_edges=(new_value)
|
151
|
-
* @param [Boolean]
|
152
|
-
* @return [nil]
|
153
|
-
*/
|
154
|
-
rb_cglyph_symbolizer.define_method("avoid_edges=", &mapnik::glyph_symbolizer::set_avoid_edges);
|
155
|
-
|
156
|
-
/*
|
157
|
-
* Document-method: halo_fill
|
158
|
-
* @return [Mapnik::Color] Color of the halo around the text
|
159
|
-
*/
|
160
|
-
rb_cglyph_symbolizer.define_method("halo_fill", &mapnik::glyph_symbolizer::get_halo_fill);
|
161
|
-
|
162
|
-
/*
|
163
|
-
* Document-method: halo_fill=
|
164
|
-
* call-seq:
|
165
|
-
* halo_fill=(color)
|
166
|
-
* @param [Mapnik::Color] The color of the halo around the text.
|
167
|
-
* @return [nil]
|
168
|
-
*/
|
169
|
-
rb_cglyph_symbolizer.define_method("halo_fill=", &mapnik::glyph_symbolizer::set_halo_fill);
|
170
|
-
|
171
|
-
/*
|
172
|
-
* Document-method: halo_radius
|
173
|
-
* @return [Integer] Thickness of the text halo
|
174
|
-
*/
|
175
|
-
rb_cglyph_symbolizer.define_method("halo_radius", &mapnik::glyph_symbolizer::get_halo_radius);
|
176
|
-
|
177
|
-
/*
|
178
|
-
* Document-method: halo_radius=
|
179
|
-
* call-seq:
|
180
|
-
* halo_fill=(color)
|
181
|
-
* @param [Integer] The thickness of the text halo
|
182
|
-
* @return [nil]
|
183
|
-
*/
|
184
|
-
rb_cglyph_symbolizer.define_method("halo_radius=", &mapnik::glyph_symbolizer::set_halo_radius);
|
185
|
-
|
186
|
-
/*
|
187
|
-
* Document-method: size
|
188
|
-
* @return [Mapnik::Expression] Font size of the glyph
|
189
|
-
*/
|
190
|
-
rb_cglyph_symbolizer.define_method("size", &mapnik::glyph_symbolizer::get_size);
|
191
|
-
|
192
|
-
/*
|
193
|
-
* Document-method: size=
|
194
|
-
* call-seq:
|
195
|
-
* size=(size_expression)
|
196
|
-
* @param [Mapnik::Expression] The new size expression
|
197
|
-
* @return [nil]
|
198
|
-
*/
|
199
|
-
rb_cglyph_symbolizer.define_method("size=", &mapnik::glyph_symbolizer::set_size);
|
200
|
-
|
201
|
-
/*
|
202
|
-
* Document-method: angle
|
203
|
-
* @return [Mapnik::Expression]
|
204
|
-
*/
|
205
|
-
rb_cglyph_symbolizer.define_method("angle", &mapnik::glyph_symbolizer::get_angle);
|
206
|
-
|
207
|
-
/*
|
208
|
-
* Document-method: angle=
|
209
|
-
* call-seq:
|
210
|
-
* angle=(angle_expression)
|
211
|
-
* @param [Mapnik::Expression]
|
212
|
-
* @return [nil]
|
213
|
-
*/
|
214
|
-
rb_cglyph_symbolizer.define_method("angle=", &mapnik::glyph_symbolizer::set_angle);
|
215
|
-
|
216
|
-
/*
|
217
|
-
* Document-method: value
|
218
|
-
* @return [Mapnik::Expression]
|
219
|
-
*/
|
220
|
-
rb_cglyph_symbolizer.define_method("value", &mapnik::glyph_symbolizer::get_value);
|
221
|
-
|
222
|
-
/*
|
223
|
-
* Document-method: value=
|
224
|
-
* call-seq:
|
225
|
-
* value=(value_expression)
|
226
|
-
* @param [Mapnik::Expression]
|
227
|
-
* @return [nil]
|
228
|
-
*/
|
229
|
-
rb_cglyph_symbolizer.define_method("value=", &mapnik::glyph_symbolizer::set_value);
|
230
|
-
|
231
|
-
|
232
|
-
rb_cglyph_symbolizer.define_method("angle_mode", &get_angle_mode);
|
233
|
-
rb_cglyph_symbolizer.define_method("angle_mode=", &set_angle_mode);
|
234
|
-
|
235
|
-
/*
|
236
|
-
* Document-method: color
|
237
|
-
* @return [Mapnik::Color] Color of the text
|
238
|
-
*/
|
239
|
-
rb_cglyph_symbolizer.define_method("color", &mapnik::glyph_symbolizer::get_color);
|
240
|
-
|
241
|
-
/*
|
242
|
-
* Document-method: color=
|
243
|
-
* call-seq:
|
244
|
-
* color=(color)
|
245
|
-
* @param [Mapnik::Color] The color of the text.
|
246
|
-
* @return [nil]
|
247
|
-
*/
|
248
|
-
rb_cglyph_symbolizer.define_method("color=", &mapnik::glyph_symbolizer::set_color);
|
249
|
-
|
250
|
-
}
|
@@ -1,32 +0,0 @@
|
|
1
|
-
/*****************************************************************************
|
2
|
-
Copyright (C) 2011 Elliot Laster
|
3
|
-
|
4
|
-
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
5
|
-
this software and associated documentation files (the ‘Software’), to deal in
|
6
|
-
the Software without restriction, including without limitation the rights to
|
7
|
-
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
|
8
|
-
of the Software, and to permit persons to whom the Software is furnished to do
|
9
|
-
so, subject to the following conditions:
|
10
|
-
|
11
|
-
The above copyright notice and this permission notice shall be included in all
|
12
|
-
copies or substantial portions of the Software.
|
13
|
-
|
14
|
-
THE SOFTWARE IS PROVIDED ‘AS IS’, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
15
|
-
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
16
|
-
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
17
|
-
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
18
|
-
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
19
|
-
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
20
|
-
SOFTWARE.
|
21
|
-
*****************************************************************************/
|
22
|
-
#ifndef PIKA2_MAPNIK_GLYPH_SYMBOLIZER
|
23
|
-
#define PIKA2_MAPNIK_GLYPH_SYMBOLIZER
|
24
|
-
|
25
|
-
namespace Rice
|
26
|
-
{
|
27
|
-
class Module;
|
28
|
-
}
|
29
|
-
|
30
|
-
void register_glyph_symbolizer(Rice::Module rb_mapnik);
|
31
|
-
|
32
|
-
#endif
|
@@ -1,96 +0,0 @@
|
|
1
|
-
require "test_helper"
|
2
|
-
|
3
|
-
class TestMapnikGlyphSymbolizer < Test::Unit::TestCase
|
4
|
-
|
5
|
-
def setup
|
6
|
-
expression = Mapnik::Expression.parse("[g]")
|
7
|
-
@sym = Mapnik::GlyphSymbolizer.new("DejaVu Sans Book",expression)
|
8
|
-
end
|
9
|
-
|
10
|
-
def test_presence
|
11
|
-
assert Mapnik::GlyphSymbolizer
|
12
|
-
assert Mapnik::AngleMode::AZIMUTH
|
13
|
-
assert Mapnik::AngleMode::TRIGONOMETRIC
|
14
|
-
end
|
15
|
-
|
16
|
-
def test_should_get_and_set_face_name
|
17
|
-
assert_equal 'DejaVu Sans Book', @sym.face_name
|
18
|
-
new_face_name = 'DejaVu Sans'
|
19
|
-
@sym.face_name = new_face_name
|
20
|
-
assert_equal new_face_name, @sym.face_name
|
21
|
-
end
|
22
|
-
|
23
|
-
def test_should_get_and_set_char
|
24
|
-
assert @sym.char.instance_of?(Mapnik::Expression)
|
25
|
-
@sym.char = Mapnik::Expression.parse("[t]")
|
26
|
-
end
|
27
|
-
|
28
|
-
def test_should_get_and_set_allow_overlap
|
29
|
-
@sym.allow_overlap = true
|
30
|
-
assert @sym.allow_overlap?
|
31
|
-
@sym.allow_overlap = false
|
32
|
-
assert !@sym.allow_overlap?
|
33
|
-
end
|
34
|
-
|
35
|
-
def test_should_get_and_set_avoid_edges
|
36
|
-
@sym.avoid_edges = true
|
37
|
-
assert @sym.avoid_edges?
|
38
|
-
@sym.avoid_edges = false
|
39
|
-
assert !@sym.avoid_edges?
|
40
|
-
end
|
41
|
-
|
42
|
-
def test_should_get_and_set_displacement
|
43
|
-
assert @sym.displacement
|
44
|
-
new_vals = [1,2]
|
45
|
-
@sym.displacement = new_vals
|
46
|
-
assert_equal new_vals, @sym.displacement
|
47
|
-
end
|
48
|
-
|
49
|
-
def test_should_get_and_set_halo_fill
|
50
|
-
assert @sym.halo_fill.instance_of?(Mapnik::Color)
|
51
|
-
white = Mapnik::Color.new("#fff")
|
52
|
-
@sym.halo_fill = white
|
53
|
-
assert_equal white, @sym.halo_fill
|
54
|
-
end
|
55
|
-
|
56
|
-
def test_should_get_and_set_halo_radius
|
57
|
-
assert_equal 0, @sym.halo_radius
|
58
|
-
@sym.halo_radius = 1
|
59
|
-
assert_equal 1, @sym.halo_radius
|
60
|
-
end
|
61
|
-
|
62
|
-
def test_should_get_and_set_size
|
63
|
-
@sym.size = Mapnik::Expression.parse("[12]")
|
64
|
-
assert @sym.size.instance_of?(Mapnik::Expression)
|
65
|
-
end
|
66
|
-
|
67
|
-
def test_should_get_and_set_angle
|
68
|
-
@sym.angle = Mapnik::Expression.parse("[90]")
|
69
|
-
assert @sym.angle.instance_of?(Mapnik::Expression)
|
70
|
-
end
|
71
|
-
|
72
|
-
def test_should_get_and_set_angle_mode
|
73
|
-
@sym.angle_mode = Mapnik::AngleMode::AZIMUTH
|
74
|
-
assert_equal Mapnik::AngleMode::AZIMUTH, @sym.angle_mode
|
75
|
-
@sym.angle_mode = Mapnik::AngleMode::TRIGONOMETRIC
|
76
|
-
assert_equal Mapnik::AngleMode::TRIGONOMETRIC, @sym.angle_mode
|
77
|
-
end
|
78
|
-
|
79
|
-
def test_should_get_and_set_value
|
80
|
-
@sym.value = Mapnik::Expression.parse("[town]")
|
81
|
-
assert @sym.value.instance_of?(Mapnik::Expression)
|
82
|
-
end
|
83
|
-
|
84
|
-
# FIXME: Need Expression equality?
|
85
|
-
def test_should_get_and_set_color
|
86
|
-
@sym.color = Mapnik::Expression.parse("[90, 90, 90]")
|
87
|
-
assert @sym.angle.instance_of?(Mapnik::Expression)
|
88
|
-
end
|
89
|
-
|
90
|
-
# TODO: Colorizer support
|
91
|
-
# def test_should_get_and_set_colorizer
|
92
|
-
# colorizer = Mapnik::RasterColorizer.new
|
93
|
-
# @sym.colorizer = colorizer
|
94
|
-
# end
|
95
|
-
|
96
|
-
end
|