Commit graph

59 commits

Author SHA1 Message Date
artemp
333ef9fde1 update copyright year 2017-05-05 13:02:01 +02:00
Mickey Rose
8292edaa1a strip boost::optional from non-optional marker ptr 2017-02-22 13:37:52 +01:00
artemp
f13848e210 move box2.hpp and related files into geometry dir 2017-01-26 09:51:37 +01:00
artemp
28c51df986 more fix GCC shadows a member warning [-Wshadow] 2017-01-13 09:38:54 +01:00
Mickey Rose
ca89c587bd can't store noncopyable list in std::vector
std::list can have a throwing move constructor.
std::vector of such lists makes copies when growing its storage array,
it doesn't move them.
render_thunk_list is noncopyable (because render_thunk is noncopyable),
and so can't be stored in std::vector in some STL implementations.
2017-01-03 21:43:14 +01:00
Mickey Rose
962bcf84c5 change render_thunk_list to std::list<render_thunk>
Wrapping render_thunk in std::unique_ptr is one extra allocation per
element, with no purpose. The somewhat costly xyz_render_thunk move
constructor is only called once upon insertion, regardless of whether
we're emplacing render_thunk or unique_ptr.
2017-01-03 20:53:55 +01:00
artemp
5745bedbd9 update copyright year to 2016 2016-12-20 17:57:22 +01:00
artemp
8ce7a1c43d refactor souce code files with the following rule: the physical filesytem path matches namespace structure
e.g `mapnik::geometry::centroid()` -> `$(MAPNIK_SOURCE)/include/mapnik/geometry/centroid.hpp`
2016-10-11 18:01:29 +02:00
Jiri Drbalek
cfc6b37d71 fix passing scale factor to evaluate_transform() 2016-05-03 12:09:39 +00:00
Dane Springmeyer
341db51aa7 finish wrapping boost includes to suppress warnings - add agg wrapper - refs #2907 2016-03-09 16:42:15 -08:00
Mickey Rose
489631ca34 remove reference on template parameter Detector 2016-03-03 00:17:41 +01:00
Mickey Rose
c8e3a0d549 refactor render_markers_symbolizer_visitor
- extract some common code into functions
- for cleaner dif: git show -w --patience
2016-03-03 00:07:18 +01:00
artemp
65da617ec0 re-use vector_converter + move apply_marker_multi into *.cpp 2016-03-02 16:20:10 +01:00
Mickey Rose
66e7ef58d7 refactor markers_placement_finder
- refs #3327

Replace member variant of placement-type implementations with plain
union. The active implementation is chosen at construction time like
before.

Make placement-type implementation classes virtual to allow invoking
the active union member through a base class pointer.
2016-03-02 00:53:45 +01:00
Mickey Rose
4ef8efd554 remove struct member designators from initialization - fixes #3277
- it's C99 syntax, illegal in C++11 braced-init-list
- interestingly it's accepted in C++ by GCC and Clang,
  rejected by MSVC
2016-01-30 20:44:40 +01:00
Mickey Rose
1eb298f48c fix text_render_thunk construction
- this reverts render_thunk_extractor visitation by text/shield
  symbolizer back to how it works in master, only amended to avoid
  passing temporaries to text_symbolizer_helper
2016-01-29 00:12:18 +01:00
Mickey Rose
6d84094f77 move render_markers_symbolizer to separate .cpp 2016-01-29 00:12:18 +01:00
Mickey Rose
f99c0e5a6f refactor render_markers_symbolizer 2016-01-29 00:10:19 +01:00
Mickey Rose
8a55eefbb5 derive virtual_renderer_common from renderer_common 2016-01-29 00:10:19 +01:00
Mickey Rose
a7ecabcde3 move render_group_symbolizer to separate .cpp
- use abstract class render_thunk_list_dispatch for the callback
  instead of template parameter render_thunks
- add class scoped_glyph_positions_offset for temporary shifting
  of glyph positions
- remove render_offset_placements
2016-01-29 00:10:18 +01:00
Mickey Rose
7761d32ec5 split common group symbolizer stuff 2016-01-29 00:10:18 +01:00
Dane Springmeyer
50d1e2fbb3 handle more gcc 4.9 -Wshadow warnings 2015-12-04 14:07:42 -05:00
artemp
7e0c23815e remove boost::ptr_vector usage 2015-06-19 10:45:43 +02:00
artemp
8c6bf0eef6 update copyright notice 2015-06-16 12:49:16 +02:00
Dane Springmeyer
29c9e97d76 minor code cleanup in process_group_symbolizer 2015-06-06 08:09:06 -07:00
artemp
470da20d53 fix remanining cAmEl case names 2015-05-04 12:49:11 +02:00
artemp
081cf02dcf fix method signitures to use std::size_t
rename getSize() -> size(), getRowSize() -> row_size
2015-05-04 10:57:57 +02:00
artemp
fd1bcbbeba remove unused includes 2015-04-29 11:35:44 +02:00
artemp
1bb06d89fa group_symbolizer - update to mapnik-geometry 2015-03-18 12:10:21 +01:00
Dane Springmeyer
cb869e60f3 no need for templated 'raster_marker_render_thunk' 2015-02-19 01:36:43 -08:00
Blake Thompson
390fbaac92 BOOM SHAKALAKA:
This update is in Ref #2649. It provides an update to markers and their processing such that:

 * All shared_ptrs are no longer required around markers
 * Markers are now const
2015-02-18 22:58:33 -06:00
Blake Thompson
2b8bd59d82 A large set of updates:
* Added new gray data types adding those to the variants and updating all the code necessary for them
* Added basic SSE to the image compare method, (only for RGBA) must be enabled with the -DSSE_MATH flag this is not yet put into the build process in any location.
* Fixed the resulting image for some TIFF visual tests, most likely they were incorrect due to fixes in TIFF reader
* Added some MAPNIK_DECL where necessary to grid rendering.
* Added support for more data types in GDAL plugin with grayscale images.
* Added views for all the new gray data types
* Updated python bindings for new gray data types.

Ref #2681
2015-02-04 15:41:58 -06:00
Blake Thompson
bc28c12572 Found more situations where getRowSize should be used over multiplying the width by the pixel size. 2015-01-27 15:29:43 -06:00
Blake Thompson
e353225772 Modified the name of image_data_null to image_null. 2015-01-22 10:58:01 -06:00
Blake Thompson
e01ce5b7d6 Changed image_data_gray* to image_gray* Ref #2633. 2015-01-21 21:08:04 -06:00
Blake Thompson
22a384ef33 Moved image_data_rgba8 to image_rgba8. Ref #2633 2015-01-21 20:31:02 -06:00
Blake Thompson
0f388ed68f Changed the name of image_data_any to image_any. Moved header file for image_data_any to image_any. Ref #2633 2015-01-21 19:40:12 -06:00
Blake Thompson
badb0c9a97 This is a complete removal of code that utilizes image_32 in the library. It is a sweeping change that does some of the following:
* Changes all agg_renderers to use a image_data_any variant (only image_data_rgba8 is implemented currently)
* Changes the marker and marker_cache to use image_data_any images
* Changes the symbolizers so that they must be aware of the source data type they are attempting to render and the render type that is expected to be rendered into.
* Moves many utilities into image_utils, that were previously in image_32.

The kicker is that this still isn't working perfectly yet, but I am commiting so I don't have tears in case everything is lost on my computer.

Ref #2633
2015-01-20 18:30:10 -06:00
Blake Thompson
2439f1b298 A whole lot of changes. #Ref 2633 2015-01-20 10:48:33 -06:00
Dane Springmeyer
b55d5def0d sync with latest master/3.x 2015-01-14 18:35:40 -08:00
artemp
38da080f82 make concrete image_data type names more expressive and explicit about color channels/depth:
image_data_32 -> image_data_rgba8
image_data_8  -> image_data_gray8
image_data_16 -> image_data_gray16
image_data_float32  -> image_data_gray32f

NOTE: currently image_data_gray16::pixel_type = std::int16_t (signed 16 bit int) to match GDAL
should we support unsigned types?
2014-12-04 11:02:42 +01:00
artemp
333965b588 update copyright year 2014-11-20 15:25:50 +01:00
Jordan Hollinger
d524738ad9 Remove point symbolizer support from group symbolizer. 2014-10-27 09:43:42 -04:00
Jordan Hollinger
ee692eea73 Merge branch 'master' of github.com:mapnik/mapnik into group-markers
Conflicts:
	include/mapnik/grid/grid_marker_helpers.hpp
	include/mapnik/marker_helpers.hpp
	include/mapnik/renderer_common/process_group_symbolizer.hpp
	src/cairo/process_markers_symbolizer.cpp
	src/renderer_common/process_group_symbolizer.cpp
	tests/visual_tests/images/group-symbolizer-1-512-512-1.0-agg-reference.png
	tests/visual_tests/images/group-symbolizer-1-512-512-1.0-cairo-reference.png
	tests/visual_tests/images/group-symbolizer-1-512-512-2.0-agg-reference.png
	tests/visual_tests/images/group-symbolizer-1-512-512-2.0-cairo-reference.png
2014-10-27 09:29:45 -04:00
Jordan Hollinger
16b1b5a77c Support markers in group symbolizer. 2014-10-27 07:46:44 -04:00
Dane Springmeyer
885a98f9c1 improve handling of format properties - refs #2516
- changes evaluated_format_properties_ptr to unique_ptr
 - refactors group symbolizer helper to keep scope by
   having each "thunk" own its helper
 - glyph_info can now be noncopyable
 - format node children now need an owner for their
   evaluated_format_ptr so the enclosing parent layout
   now allocates and holds pointers in a deque
 - plus other noncopyable/move constructor fixes
2014-10-12 21:41:59 -07:00
Dane Springmeyer
f3eba54078 noncopyable glyph_info - refs #2516 2014-10-12 14:24:57 -07:00
Dane Springmeyer
2000c1713d in place construction of glyph_positions 2014-10-12 13:54:07 -07:00
Dane Springmeyer
536b23bfde fix uneeded pointer indirection with glyph_info/glyph_position 2014-10-09 18:38:29 -07:00
Dane Springmeyer
822d3a5bce break apart symbolizer.hpp + fwd declars + svg output grammar impl 2014-09-30 12:50:08 -07:00