ruby_mapnik 0.1.2 → 0.1.3
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/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
|