00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025 #ifndef SHIELD_SYMBOLIZER_HPP
00026 #define SHIELD_SYMBOLIZER_HPP
00027
00028 #include <boost/shared_ptr.hpp>
00029 #include <mapnik/graphics.hpp>
00030
00031 namespace mapnik
00032 {
00033 struct MAPNIK_DECL shield_symbolizer
00034 {
00035 explicit shield_symbolizer();
00036 shield_symbolizer(std::string const& name,
00037 std::string const& face_name,
00038 unsigned size,
00039 Color const& fill,
00040 std::string const& file,
00041 std::string const& type,
00042 unsigned width,unsigned height);
00043 shield_symbolizer(shield_symbolizer const& rhs);
00044 void set_data (boost::shared_ptr<ImageData32> symbol);
00045 boost::shared_ptr<ImageData32> const& get_data() const;
00046
00047 std::string const& get_name() const;
00048 std::string const& get_face_name() const;
00049
00050 unsigned get_text_size() const;
00051 Color const& get_fill() const;
00052
00053 void set_allow_overlap(bool overlap);
00054 bool get_allow_overlap() const;
00055
00056 void set_avoid_edges(bool avoid);
00057 bool get_avoid_edges() const;
00058 private:
00059 std::string name_;
00060 std::string face_name_;
00061 unsigned size_;
00062 Color fill_;
00063 boost::shared_ptr<ImageData32> symbol_;
00064 bool overlap_;
00065 bool avoid_edges_;
00066 };
00067 }
00068
00069 #endif // SHIELD_SYMBOLIZER_HPP