2006-03-31 12:32:02 +02:00
|
|
|
/*****************************************************************************
|
2012-02-02 02:53:35 +01:00
|
|
|
*
|
2006-03-31 12:32:02 +02:00
|
|
|
* This file is part of Mapnik (c++ mapping toolkit)
|
2006-01-23 14:24:41 +01:00
|
|
|
*
|
2011-10-23 15:04:25 +02:00
|
|
|
* Copyright (C) 2011 Artem Pavlenko
|
2006-01-23 14:24:41 +01:00
|
|
|
*
|
2006-03-31 12:32:02 +02:00
|
|
|
* This library is free software; you can redistribute it and/or
|
|
|
|
* modify it under the terms of the GNU Lesser General Public
|
|
|
|
* License as published by the Free Software Foundation; either
|
|
|
|
* version 2.1 of the License, or (at your option) any later version.
|
|
|
|
*
|
|
|
|
* This library is distributed in the hope that it will be useful,
|
2006-01-23 14:24:41 +01:00
|
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
2006-03-31 12:32:02 +02:00
|
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
|
|
* Lesser General Public License for more details.
|
|
|
|
*
|
|
|
|
* You should have received a copy of the GNU Lesser General Public
|
|
|
|
* License along with this library; if not, write to the Free Software
|
|
|
|
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
2006-01-23 14:24:41 +01:00
|
|
|
*
|
2006-03-31 12:32:02 +02:00
|
|
|
*****************************************************************************/
|
2006-01-23 14:24:41 +01:00
|
|
|
//$Id$
|
2009-12-16 21:02:06 +01:00
|
|
|
|
2006-10-04 13:22:18 +02:00
|
|
|
// mapnik
|
|
|
|
#include <mapnik/polygon_pattern_symbolizer.hpp>
|
2006-01-23 14:24:41 +01:00
|
|
|
|
|
|
|
namespace mapnik
|
|
|
|
{
|
2012-02-02 02:53:35 +01:00
|
|
|
|
2010-06-21 00:36:49 +02:00
|
|
|
static const char * pattern_alignment_strings[] = {
|
|
|
|
"local", // feature
|
|
|
|
"global", // map
|
|
|
|
""
|
|
|
|
};
|
2009-12-16 21:02:06 +01:00
|
|
|
|
2011-04-01 08:24:57 +02:00
|
|
|
IMPLEMENT_ENUM( pattern_alignment_e, pattern_alignment_strings )
|
2012-01-13 18:20:03 +01:00
|
|
|
|
|
|
|
polygon_pattern_symbolizer::polygon_pattern_symbolizer(path_expression_ptr file)
|
2012-02-02 02:53:35 +01:00
|
|
|
: symbolizer_with_image(file), symbolizer_base(),
|
|
|
|
alignment_(LOCAL_ALIGNMENT),
|
|
|
|
gamma_(1.0),
|
|
|
|
gamma_method_(GAMMA_POWER) {}
|
2010-06-21 00:36:49 +02:00
|
|
|
|
|
|
|
polygon_pattern_symbolizer::polygon_pattern_symbolizer(polygon_pattern_symbolizer const& rhs)
|
2010-08-10 14:43:21 +02:00
|
|
|
: symbolizer_with_image(rhs), symbolizer_base(rhs),
|
2011-06-29 00:37:35 +02:00
|
|
|
alignment_(rhs.alignment_),
|
2012-01-13 18:20:03 +01:00
|
|
|
gamma_(rhs.gamma_),
|
|
|
|
gamma_method_(rhs.gamma_method_) {}
|
2010-06-21 00:36:49 +02:00
|
|
|
|
|
|
|
pattern_alignment_e polygon_pattern_symbolizer::get_alignment() const
|
2009-12-16 21:02:06 +01:00
|
|
|
{
|
2010-06-21 00:36:49 +02:00
|
|
|
return alignment_;
|
2009-12-16 21:02:06 +01:00
|
|
|
}
|
|
|
|
|
2010-06-21 00:36:49 +02:00
|
|
|
void polygon_pattern_symbolizer::set_alignment(pattern_alignment_e align)
|
|
|
|
{
|
|
|
|
alignment_ = align;
|
|
|
|
}
|
2009-12-16 21:02:06 +01:00
|
|
|
|
2011-06-29 00:37:35 +02:00
|
|
|
double polygon_pattern_symbolizer::get_gamma() const
|
|
|
|
{
|
|
|
|
return gamma_;
|
|
|
|
}
|
|
|
|
|
|
|
|
void polygon_pattern_symbolizer::set_gamma(double gamma)
|
|
|
|
{
|
|
|
|
gamma_ = gamma;
|
|
|
|
}
|
|
|
|
|
2012-01-19 18:45:24 +01:00
|
|
|
void polygon_pattern_symbolizer::set_gamma_method(gamma_method_e gamma_method)
|
2012-01-13 18:20:03 +01:00
|
|
|
{
|
|
|
|
gamma_method_ = gamma_method;
|
|
|
|
}
|
|
|
|
|
2012-01-19 18:45:24 +01:00
|
|
|
gamma_method_e polygon_pattern_symbolizer::get_gamma_method() const
|
2012-01-13 18:20:03 +01:00
|
|
|
{
|
|
|
|
return gamma_method_;
|
|
|
|
}
|
|
|
|
|
2006-01-23 14:24:41 +01:00
|
|
|
}
|
2007-09-25 20:47:12 +02:00
|
|
|
|