1. exposed fill_opacity property in PolygonSymbolizer

2. added default ctors to {Point,Line,Polygon}Symbolizers
This commit is contained in:
Artem Pavlenko 2006-05-31 21:25:21 +00:00
parent 1cacabdc2b
commit 024f501903
8 changed files with 82 additions and 70 deletions

View file

@ -32,10 +32,13 @@ void export_line_symbolizer()
{
using namespace boost::python;
class_<line_symbolizer>("LineSymbolizer",init<stroke const&>("TODO"))
.def(init<Color const& ,float>())
.add_property("stroke",make_function
(&line_symbolizer::get_stroke,return_value_policy<reference_existing_object>()),
&line_symbolizer::set_stroke)
class_<line_symbolizer>("LineSymbolizer",
init<>("Default LineSymbolizer - 1px solid black"))
.def(init<stroke const&>("TODO"))
.def(init<Color const& ,float>())
.add_property("stroke",make_function
(&line_symbolizer::get_stroke,
return_value_policy<reference_existing_object>()),
&line_symbolizer::set_stroke)
;
}

View file

@ -30,8 +30,10 @@ void export_point_symbolizer()
{
using namespace boost::python;
class_<point_symbolizer>("PointSymbolizer",init<std::string const&,
std::string const&,unsigned,unsigned>("TODO"))
;
class_<point_symbolizer>("PointSymbolizer",
init<>("Default Point Symbolizer - 4x4 black square"))
.def (init<std::string const&,
std::string const&,unsigned,unsigned>("TODO"))
;
}

View file

@ -32,11 +32,15 @@ void export_polygon_symbolizer()
using namespace boost::python;
class_<polygon_symbolizer>("PolygonSymbolizer",
init<Color const&>("TODO"))
.add_property("fill",make_function
(&polygon_symbolizer::get_fill,
return_value_policy<reference_existing_object>()),
&polygon_symbolizer::set_fill)
;
init<>("Default PolygonSymbolizer - solid fill grey"))
.def(init<Color const&>("TODO"))
.add_property("fill",make_function
(&polygon_symbolizer::get_fill,
return_value_policy<reference_existing_object>()),
&polygon_symbolizer::set_fill)
.add_property("fill_opacity",
&polygon_symbolizer::get_opacity,
&polygon_symbolizer::set_opacity)
;
}

View file

@ -31,6 +31,6 @@ void export_raster_symbolizer()
using namespace boost::python;
class_<raster_symbolizer>("RasterSymbolizer",
init<>("TODO"))
init<>("Default ctor"))
;
}

View file

@ -59,28 +59,28 @@ void export_rule()
;
class_<rule_type>("Rule",init<>("default constructor"))
.def(init<std::string const&,
boost::python::optional<std::string const&,double,double> >())
.add_property("name",make_function
(&rule_type::get_name,
return_value_policy<copy_const_reference>()),
&rule_type::set_name)
.add_property("title",make_function
(&rule_type::get_title,return_value_policy<copy_const_reference>()),
&rule_type::set_title)
.add_property("abstract",make_function
(&rule_type::get_abstract,return_value_policy<copy_const_reference>()),
&rule_type::set_abstract)
.add_property("filter",make_function
(&rule_type::get_filter,return_value_policy<copy_const_reference>()),
&rule_type::set_filter)
.add_property("min_scale",&rule_type::get_min_scale,&rule_type::set_min_scale)
.add_property("max_scale",&rule_type::get_max_scale,&rule_type::set_max_scale)
.def("set_else",&rule_type::set_else)
.def("has_else",&rule_type::has_else_filter)
.def("active",&rule_type::active)
.add_property("symbols",make_function
(&rule_type::get_symbolizers,return_value_policy<reference_existing_object>()))
;
.def(init<std::string const&,
boost::python::optional<std::string const&,double,double> >())
.add_property("name",make_function
(&rule_type::get_name,
return_value_policy<copy_const_reference>()),
&rule_type::set_name)
.add_property("title",make_function
(&rule_type::get_title,return_value_policy<copy_const_reference>()),
&rule_type::set_title)
.add_property("abstract",make_function
(&rule_type::get_abstract,return_value_policy<copy_const_reference>()),
&rule_type::set_abstract)
.add_property("filter",make_function
(&rule_type::get_filter,return_value_policy<copy_const_reference>()),
&rule_type::set_filter)
.add_property("min_scale",&rule_type::get_min_scale,&rule_type::set_min_scale)
.add_property("max_scale",&rule_type::get_max_scale,&rule_type::set_max_scale)
.def("set_else",&rule_type::set_else)
.def("has_else",&rule_type::has_else_filter)
.def("active",&rule_type::active)
.add_property("symbols",make_function
(&rule_type::get_symbolizers,return_value_policy<reference_existing_object>()))
;
}

View file

@ -30,26 +30,26 @@ void export_stroke ()
using namespace boost::python;
enum_<line_cap_e>("line_cap")
.value("BUTT_CAP",BUTT_CAP)
.value("SQUARE_CAP",SQUARE_CAP)
.value("ROUND_CAP",ROUND_CAP)
;
.value("BUTT_CAP",BUTT_CAP)
.value("SQUARE_CAP",SQUARE_CAP)
.value("ROUND_CAP",ROUND_CAP)
;
enum_<line_join_e>("line_join")
.value("MITER_JOIN",MITER_JOIN)
.value("MITER_REVERT_JOIN",MITER_REVERT_JOIN)
.value("ROUND_JOIN",ROUND_JOIN)
.value("BEVEL_JOIN",BEVEL_JOIN)
;
.value("MITER_JOIN",MITER_JOIN)
.value("MITER_REVERT_JOIN",MITER_REVERT_JOIN)
.value("ROUND_JOIN",ROUND_JOIN)
.value("BEVEL_JOIN",BEVEL_JOIN)
;
class_<stroke>("Stroke",init<>())
.def(init<Color,float>())
.add_property("color",make_function
(&stroke::get_color,return_value_policy<reference_existing_object>()),
&stroke::set_color)
.add_property("width",&stroke::get_width,&stroke::set_width)
.add_property("opacity",&stroke::get_opacity,&stroke::set_opacity)
.add_property("line_cap",&stroke::get_line_cap,&stroke::set_line_cap)
.add_property("line_join",&stroke::get_line_join,&stroke::set_line_join)
.def("add_dash",&stroke::add_dash)
;
.def(init<Color,float>())
.add_property("color",make_function
(&stroke::get_color,return_value_policy<reference_existing_object>()),
&stroke::set_color)
.add_property("width",&stroke::get_width,&stroke::set_width)
.add_property("opacity",&stroke::get_opacity,&stroke::set_opacity)
.add_property("line_cap",&stroke::get_line_cap,&stroke::set_line_cap)
.add_property("line_join",&stroke::get_line_join,&stroke::set_line_join)
.def("add_dash",&stroke::add_dash)
;
}

View file

@ -30,19 +30,22 @@ namespace mapnik
{
struct MAPNIK_DECL line_symbolizer
{
line_symbolizer(stroke const& stroke)
: stroke_(stroke) {}
explicit line_symbolizer()
: stroke_() {}
line_symbolizer(stroke const& stroke)
: stroke_(stroke) {}
line_symbolizer(const Color& pen,float width=1.0)
: stroke_(pen,width) {}
stroke const& get_stroke() const
{
return stroke_;
}
void set_stroke(stroke const& stroke)
{
stroke_ = stroke;
}
line_symbolizer(const Color& pen,float width=1.0)
: stroke_(pen,width) {}
stroke const& get_stroke() const
{
return stroke_;
}
void set_stroke(stroke const& stroke)
{
stroke_ = stroke;
}
private:
stroke stroke_;

View file

@ -57,7 +57,7 @@ namespace mapnik
line_join_e line_join_;
dash_array dash_;
public:
stroke()
explicit stroke()
: c_(0,0,0),
width_(1.0),
opacity_(1.0),