+ make comp_op non-optional ( default: src-over)

+ move ctors implementations into *.cpp
This commit is contained in:
Artem Pavlenko 2012-05-10 12:05:40 +01:00
parent ab73f13525
commit 8cd898ce35
2 changed files with 32 additions and 29 deletions

View file

@ -43,27 +43,8 @@ class Map;
class MAPNIK_DECL symbolizer_base
{
public:
symbolizer_base()
: properties_(),
properties_complete_(),
writer_name_(),
writer_ptr_(),
clip_(true),
smooth_value_(0.0)
{
affine_transform_[0] = 1.0;
affine_transform_[1] = 0.0;
affine_transform_[2] = 0.0;
affine_transform_[3] = 1.0;
affine_transform_[4] = 0.0;
affine_transform_[5] = 0.0;
}
symbolizer_base(symbolizer_base const& other)
: comp_op_(other.comp_op_),
affine_transform_(other.affine_transform_),
clip_(other.clip_),
smooth_value_(other.smooth_value_) {}
symbolizer_base();
symbolizer_base(symbolizer_base const& other);
/** Add a metawriter to this symbolizer using a name. */
void add_metawriter(std::string const& name, metawriter_properties const& properties);
@ -99,7 +80,7 @@ public:
/** Get metawriter name. */
std::string const& get_metawriter_name() const { return writer_name_; }
void set_comp_op(composite_mode_e comp_op);
boost::optional<composite_mode_e> comp_op() const;
composite_mode_e comp_op() const;
void set_transform(transform_type const& );
transform_type const& get_transform() const;
std::string get_transform_string() const;
@ -112,7 +93,7 @@ private:
metawriter_properties properties_complete_;
std::string writer_name_;
metawriter_ptr writer_ptr_;
boost::optional<composite_mode_e> comp_op_;
composite_mode_e comp_op_;
transform_type affine_transform_;
bool clip_;
double smooth_value_;

View file

@ -26,6 +26,31 @@
namespace mapnik {
// default ctor
symbolizer_base::symbolizer_base()
: properties_(),
properties_complete_(),
writer_name_(),
writer_ptr_(),
comp_op_(src_over),
clip_(true),
smooth_value_(0.0)
{
affine_transform_[0] = 1.0;
affine_transform_[1] = 0.0;
affine_transform_[2] = 0.0;
affine_transform_[3] = 1.0;
affine_transform_[4] = 0.0;
affine_transform_[5] = 0.0;
}
// copy ctor
symbolizer_base::symbolizer_base(symbolizer_base const& other)
: comp_op_(other.comp_op_),
affine_transform_(other.affine_transform_),
clip_(other.clip_),
smooth_value_(other.smooth_value_) {}
void symbolizer_base::add_metawriter(std::string const& name, metawriter_properties const& properties)
{
writer_name_ = name;
@ -74,7 +99,7 @@ void symbolizer_base::set_comp_op(composite_mode_e comp_op)
comp_op_ = comp_op;
}
boost::optional<composite_mode_e> symbolizer_base::comp_op() const
composite_mode_e symbolizer_base::comp_op() const
{
return comp_op_;
}
@ -122,7 +147,7 @@ double symbolizer_base::smooth() const
symbolizer_with_image::symbolizer_with_image(path_expression_ptr file)
: image_filename_( file ),
image_opacity_(1.0f)
image_opacity_(1.0f)
{
image_transform_[0] = 1.0;
image_transform_[1] = 0.0;
@ -159,7 +184,7 @@ float symbolizer_with_image::get_opacity() const
return image_opacity_;
}
void symbolizer_with_image::set_image_transform(transform_type const& tr)
void symbolizer_with_image::set_image_transform(transform_type const& tr)
{
image_transform_ = tr;
}
@ -179,6 +204,3 @@ std::string symbolizer_with_image::get_image_transform_string() const
}
} // end of namespace mapnik