Blake Thompson
d7f7bc18c1
A large set of changes that help allow WKT for int64_t type geometeries, modified some strategies, made it so that the clipper would use mapnik geometries.
2015-04-21 09:34:52 -05:00
Dane Springmeyer
3fb41e865a
fix outline drawing in debugsymbolizer ring mode
2015-04-14 15:33:05 +02:00
Dane Springmeyer
cdb9a2ead4
add debug symbolizer mode for visualizing exterior and interior rings and their winding order
2015-04-14 02:44:14 +02:00
Blake Thompson
f98fd0da7c
Added tests for non standard projections, forcing use of proj4.
2015-04-10 14:05:58 -05:00
Blake Thompson
2392c7eb12
Added geometry_reprojection_impl
2015-04-10 10:55:30 -05:00
Blake Thompson
87fb41907a
Added template to geometries
2015-04-09 15:22:51 -05:00
artemp
2bc2e6b85e
use geometry_to_path to convert geometry
2015-04-08 18:48:41 +02:00
artemp
310865a0c3
help compiler to apply RVO ( return the same object by value)
2015-04-08 13:10:22 +02:00
Blake Thompson
431c581759
Added a lot of additional tests for geometry_reprojection
2015-04-07 18:37:30 -05:00
Blake Thompson
c5d5a1f22e
Added several unit tests around reprojection.
2015-04-07 17:20:29 -05:00
Blake Thompson
0fec41a87e
Updated reprojection code
2015-04-07 11:55:45 -05:00
artemp
54d8746aa8
svg_renderer - add generate_path vertex processor (work-in-progress)
2015-04-07 15:46:06 +02:00
Blake Thompson
6be658f5b5
Moved geometry envelope to an impl
2015-04-06 11:00:03 -05:00
artemp
3be0074c20
bug fix - add missing break statement
2015-04-02 14:58:05 +02:00
Blake Thompson
5ca850a17e
Added proper use of auto in several for loops
2015-04-01 17:55:36 -05:00
Blake Thompson
78835c9d87
Initial commit for new method to provide geometry reprojection
2015-04-01 16:18:05 -05:00
artemp
390fff5bb4
ensure we're returning the same object from multiple return paths
...
from_wkb now returns geometry::geometry_empty instead of throwing
update cpp_tests
2015-04-01 15:04:05 +02:00
Dane Springmeyer
b88aaed491
wkb: use 'mapnik::geometry::correct'
2015-03-31 12:30:05 -07:00
artemp
74fb3ddde0
Merge branch 'master' into mapnik-geometry
2015-03-25 16:19:02 +01:00
artemp
dc6f1924fa
split multi geometries before applying placement algos
2015-03-25 14:20:47 +01:00
artemp
389d00d442
make geometry methods templated to allow using modified geometry types ( e.g variant<reference_wrapper<T>..>
...
symbolizer_helper - store geometries in custom varaint using reference_wrapper<T const>
2015-03-25 12:58:50 +01:00
Dane Springmeyer
b87e09c147
fix memory datasource accumulate_extent
2015-03-24 14:46:26 -07:00
Dane Springmeyer
dcc5632f82
svg_renderer is broken, disable temporarily
2015-03-24 14:15:57 -07:00
Blake Thompson
3270d42b74
Standardizing on the output of a boolean to string is true or false rather then 0 or 1.
2015-03-24 14:32:25 -05:00
artemp
4389c80d84
and finaly, rename 'new_geometry' namespace to 'geometry'
2015-03-24 14:21:28 +01:00
artemp
7e03d41606
rename geometry_impl.hpp to geometry.hpp
2015-03-24 13:32:05 +01:00
artemp
323fdd5212
rename geometry -> path ( geometry_type -> path_type)
2015-03-24 13:17:07 +01:00
artemp
ac1ffa2bfb
move geometry.hpp into path.hpp and update code base to reflect this change
2015-03-24 12:42:09 +01:00
artemp
1cf0a897ac
move datasource::geometry_t into separate header and rename -> datasource_geometry_t to avoid cyclic dependencies issue
...
to_ds_type - return actual datasource_geometry_t (remove optional)
update across datasources
experssions - revert to using
2015-03-24 12:13:31 +01:00
artemp
9352d69987
refactor local pattern alignment calc
2015-03-20 10:43:42 +01:00
artemp
360f920924
Merge branch 'master' into mapnik-geometry
2015-03-20 09:51:59 +01:00
Blake Thompson
08a3911b0a
Added the introduction of an image_view_null, this could possibly fix windows build issues
2015-03-19 21:28:16 -05:00
Dane Springmeyer
c1d7fe3a8f
fix compile error on windows: error C2065: 'M_PI': undeclared identifier
2015-03-19 12:14:24 -07:00
artemp
8a0b4a6b6e
Merge branch 'master' into mapnik-geometry
2015-03-19 19:17:01 +01:00
artemp
3bbb9a24f1
debug_symbolizer - update to use mapnik-geometry
2015-03-19 12:30:21 +01:00
Dane Springmeyer
85b20f45d7
Merge pull request #2682 from mapycz/fix-enum-word-separator
...
fix enum word separator
2015-03-19 00:22:31 -07:00
artemp
28fe4847b9
csv.input - correct
WKT geometry to be consistent
...
symbolizer_helper - handle geometry types in VERTEX_PLACEMENT
2015-03-18 16:18:44 +01:00
artemp
6a8e78ab9c
fix group_symbolizer_helper
2015-03-18 13:50:15 +01:00
Matt Amos
dd5f6ea739
Use correct bounding box for avoid-edges check.
...
This was previously using `query_extent_`, which is in
world-space, but it should have been using `dims_`, which is the
extent of the rendered area in pixel-space, as the calculations
for collisions are all done in pixel-space.
2015-03-18 11:57:21 +00:00
artemp
1bb06d89fa
group_symbolizer - update to mapnik-geometry
2015-03-18 12:10:21 +01:00
artemp
ab5116df8d
dot_symbolizer - update to use mapnik-geometry
2015-03-17 16:53:28 +01:00
artemp
beb705acb3
Merge branch 'master' into mapnik-geometry
2015-03-17 09:45:19 +01:00
Blake Thompson
5a49842952
Moved image_null into a header
2015-03-16 12:18:07 -05:00
artemp
71c9c04e92
Merge branch 'master' into mapnik-geometry
2015-03-16 16:20:46 +01:00
Dane Springmeyer
dc31d53cdc
fix labeling on polygons (allows kurdish-text visual test to pass)
2015-03-16 00:32:25 -07:00
Blake Thompson
46ea6a5b1a
Added impl for image_view_any and fix to benchmark that was missing include for mapnik/color.hpp
2015-03-13 17:28:22 -05:00
Blake Thompson
64ee848445
Forgot to add src/image_vew.cpp
2015-03-13 16:48:45 -05:00
Blake Thompson
29099ece46
Added image_view implementation
2015-03-13 16:34:49 -05:00
Blake Thompson
bf61a033d3
Intial commit for impl
2015-03-13 10:52:39 -05:00
artemp
914b8dbd76
Merge branch 'master' into mapnik-geometry
2015-03-12 15:14:45 +01:00
Artem Pavlenko
9117e7d9ff
Merge pull request #2621 from mapycz/markers-upright
...
marker direction
2015-03-12 14:58:16 +01:00
artemp
50ca6fcbe8
Merge branch 'master' into mapnik-geometry
2015-03-12 14:55:45 +01:00
artemp
6d13454f72
reinstate 'from_wkt' interface
2015-03-12 14:12:53 +01:00
artemp
f3edf2dfc0
wkt_grammar - update to use mapnik-geometry and optimise(minimise) memory allocations
2015-03-11 11:55:43 +01:00
Blake Thompson
fe01d52845
Removed unused resolution data from grids
2015-03-10 23:19:30 -05:00
Dane Springmeyer
c8e56f1128
fix high zoom crash in line pattern rendering - closes #2726
2015-03-10 18:16:04 -07:00
Blake Thompson
bb08020d1d
Updated image reader so that it would throw an exception rather then returning a 0 pointer.
2015-03-10 10:05:50 -05:00
artemp
c3284aa958
Merge branch 'master' into mapnik-geometry
2015-03-10 11:17:53 +01:00
artemp
6df5ef4ac9
grod_renderer - update to use mapnik-geometry
2015-03-10 11:16:16 +01:00
Blake Thompson
7ee9745a8f
Updated param to allow value_boolean
2015-03-09 16:33:20 -05:00
artemp
e7843ba471
use sequencial catch blocks
2015-03-09 18:48:41 +01:00
artemp
397655cc16
use apply_vertex_converter
2015-03-09 16:59:34 +01:00
artemp
a958f5bda2
use mapnik-geometry
2015-03-09 16:59:00 +01:00
artemp
72e31d2768
update to use mapnik-geometry
2015-03-09 16:57:19 +01:00
artemp
54f87b40d2
use sequencial catch blocks
2015-03-09 16:30:10 +01:00
artemp
317e9c497f
Merge branch 'master' into mapnik-geometry
2015-03-09 14:59:45 +01:00
Blake Thompson
61abe608ee
Added the ability to get_type from an image, fixed possible bugs associated with image copy.
2015-03-06 17:24:23 -06:00
artemp
174bc5969a
text symbolizer update to mapnik-geometry (partial)
2015-03-06 12:17:02 +01:00
Blake Thompson
ea6677df37
A fix to the jpeg driver making it operate with parameters like the other file formats.
2015-03-05 21:51:48 -06:00
Blake Thompson
34e02bec38
A fix for jpeg saving, as it wasn't properly dealing with a colon for saving with quality.
2015-03-05 09:37:22 -06:00
artemp
aa5ae6b843
update markers_symbolizer to work with mapnik-geometry (work-in-progress)
2015-03-05 15:07:23 +01:00
artemp
24a586415c
expose wkbByteOrder in wkb.hpp
2015-03-05 10:44:40 +01:00
Dane Springmeyer
d5e3dba3df
scons: cross compilation fixes
2015-03-04 16:25:15 -08:00
Dane Springmeyer
7f597233c9
better exception when boost regex cannot initialize ICU support - closes #2722
2015-03-04 12:38:45 -08:00
artemp
cd15d8f2b3
revive polygon/line pattern rendering
2015-03-04 18:39:31 +01:00
artemp
f4a1e9368b
wkb_reader/json input grammar - correct polygons to have CCW exterioir/CW interior
2015-03-04 12:09:08 +01:00
artemp
3ddfe34aa5
Merge branch 'master' into mapnik-geometry
2015-03-04 10:30:08 +01:00
artemp
ec7f2f3f0c
feature_generator - adapt to new geometry generator
2015-03-04 09:23:57 +01:00
Dane Springmeyer
4afcac5563
try to solve #2714
2015-02-26 11:12:19 -08:00
artemp
c58a5b4151
json : geometry_generator_grammar for mapnik-geometry (TODO)
2015-02-26 16:24:07 +01:00
artemp
78c72ee389
topojson.input - update to mapnik-geometry
2015-02-24 15:59:26 +01:00
artemp
102fd539f9
generic way to apply vertex converters to mapnik-geometry
2015-02-24 15:18:46 +01:00
artemp
0885dfb15a
rename polygon3 -> polygon
2015-02-24 14:13:00 +01:00
artemp
8400be91c7
generic box2d<double> envelope(geometry const& )
2015-02-24 10:42:33 +01:00
artemp
ab151a095e
Merge branch 'master' into mapnik-geometry
2015-02-24 09:30:02 +01:00
Dane Springmeyer
7152c7c621
do not call dlclose on plugins linking libgdal
2015-02-23 14:56:18 -08:00
artemp
fca584de1b
json grammar - start porting to mapnik-geometry
2015-02-23 12:19:00 +01:00
artemp
d8dfe69952
add support for reading geometry_collection
2015-02-20 17:21:40 +01:00
artemp
7031099b76
Merge branch 'master' into mapnik-geometry
2015-02-20 17:03:46 +01:00
artemp
bd6c90bf00
remove CoordArray and read points directly into line_string or linear_ring
2015-02-19 17:13:43 +01:00
artemp
87d60620c2
mapnik-geometry : update wkb reader
2015-02-19 16:04:14 +01:00
artemp
fec1d75e8e
add basic cairo support
2015-02-19 12:03:15 +01:00
Dane Springmeyer
dd0b8459f5
insert_marker to take rvalue it if is moved inside the function
2015-02-19 01:37:45 -08:00
Dane Springmeyer
2aa23eca43
fix type of raster_marker_render_thunk'
2015-02-19 01:37:19 -08:00
Dane Springmeyer
cb869e60f3
no need for templated 'raster_marker_render_thunk'
2015-02-19 01:36:43 -08:00
Blake Thompson
744dc4472f
Merge branch 'release/image_data_any' of github.com:mapnik/mapnik into release/image_data_any
2015-02-18 23:02:34 -06: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
artemp
133f7d04ef
agg_renderer - support multi_line_strings
2015-02-18 14:26:11 +01:00
artemp
604d7b08af
use reserve
to pre-allocate line_strings + cleanups
2015-02-18 13:48:05 +01:00
artemp
2e4e1f71b8
adapt to use mapnik::new_geometry::geometry (shape.input only)
2015-02-18 13:21:16 +01:00
artemp
a1f7017d45
new geometry implementation - initial barebone framework
2015-02-18 11:07:26 +01:00
Dane Springmeyer
842e4bebe6
start fixing windows compile - refs #2708
2015-02-16 18:48:14 -08:00
Blake Thompson
0cd9c1fc34
Updated image_any building switch statement to support all the correct types, added tests for all the new data formats with get and set in python.
2015-02-16 14:23:55 -06:00
Dane Springmeyer
89a58c5879
Merge branch 'master' of github.com:mapnik/mapnik into release/image_data_any
2015-02-11 10:01:42 -08:00
artemp
109e104971
Merge branch 'master' into vertex_adapter
2015-02-10 15:13:23 +01:00
Jiri Drbalek
310011a8b9
prefer stl over boost
2015-02-10 12:46:10 +00:00
Dane Springmeyer
41ed56df14
Merge branch 'master' of github.com:mapnik/mapnik into vertex_adapter
2015-02-09 18:16:57 -08:00
Dane Springmeyer
0e137cd6ee
iwyu
2015-02-09 14:18:15 -08:00
artemp
960794b7a0
fix copyright
2015-02-09 13:47:29 +01:00
artemp
1ecf3f0889
use const ref when iterating over geometries in feature
2015-02-09 13:46:01 +01:00
artemp
146dc1c094
fix copyright
2015-02-09 11:38:08 +01:00
artemp
2ece72658a
Merge branch 'master' into vertex_adapter
2015-02-09 10:05:02 +01:00
Jiri Drbalek
1cd5e69b3a
add direction property for markers
2015-02-07 12:23:35 +00:00
Jiri Drbalek
87cc1347c7
move normalize_angle to utils
2015-02-07 12:23:17 +00:00
Blake Thompson
9875335fb8
Renamed image_cast to image_copy
2015-02-06 15:27:19 -06:00
artemp
0f22fb596b
enforce geometry_type const by removing ``inline geometry_type& get_geometry(std::size_t index)
``
2015-02-06 17:13:41 +01:00
Jiri Drbalek
1bb1653e69
prefer STL implementation
2015-02-06 16:13:31 +00:00
artemp
e19fdad3a6
implement vertex interface in vertex_adapter and make mapnik::geometry_type immutable
2015-02-06 16:45:51 +01:00
Jiri Drbalek
5418b8ea40
prefer hyphens as word separator for enum values
2015-02-06 15:37:28 +00:00
Blake Thompson
06ef081282
Another set of fixes for the compare SSE code, added test where it was failing
2015-02-04 18:26:18 -06:00
Blake Thompson
c0fcf48019
Fixed issues with SSE compare when the threshold is greater then zero. Added several new SSE methods for unsigned integers.
2015-02-04 17:46:18 -06:00
Blake Thompson
ffb34544e6
Merge branch 'master' into release/image_data_any
2015-02-04 15:46:54 -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
Jiri Drbalek
1fcbdc3e98
add upright value auto-down
2015-02-03 16:08:36 +00:00
artemp
9f282af61a
json - instantiate grammars using Iterator = char const* to avoid potentially expensive std::string allocations
2015-02-03 13:37:39 +01:00
Dane Springmeyer
71e7faed0d
Merge branch 'master' of github.com:mapnik/mapnik into release/image_data_any
...
Conflicts:
tests/python_tests/image_test.py
tests/python_tests/image_tiff_test.py
tests/visual_tests/images/tiff-opaque-edge-raster2-600-400-1.0-agg-reference.png
tests/visual_tests/images/tiff-opaque-edge-raster2-600-400-2.0-agg-reference.png
2015-02-03 00:05:15 -08:00
Blake Thompson
5a4f9321d0
A few updates to attempt to fix pixel getting and setting
2015-01-29 16:10:56 -07:00
Blake Thompson
826e13f911
Renamed background to fill, added numeric casting to fill utility, changed clog uses to MAPNIK_LOG, changed the implementation of fill some so that it only used a single template
2015-01-29 13:27:42 -07:00
artemp
e3c96666c4
json - make feature_collection_grammar "on-feature" callback based
2015-01-29 12:33:18 +01:00
Blake Thompson
de99180a44
Added new image_cast method and added its bindings to python, added two new properities to images: offset and scaling. Added way to cast between image types with offset and scaling. Added new unit tests for color and casting. Made it so that pixel setting doesn't result in overflows or underflows. Made the return of get_pixel, dynamic based on what is passed to it. Added new methods for setting pixels that are doubles and ints.
2015-01-28 20:20:14 -06:00
Dane Springmeyer
f8523ef728
scons: hack to make sure makefile pre-build does not break if grid renderer is not enabled
2015-01-27 22:18:25 -08:00
Dane Springmeyer
4e5fa8490a
scons: hack to make sure makefile pre-build does not break if grid or cairo renderers are not enabled
2015-01-27 22:17:30 -08:00
Dane Springmeyer
cbb364085f
move aside variant io
2015-01-27 21:52:05 -08:00
Dane Springmeyer
dfb6116786
Merge branch 'master' of github.com:mapnik/mapnik into release/image_data_any
...
Conflicts:
tests/python_tests/pgraster_test.py
2015-01-27 15:19:12 -08:00
Robert Coup
65ef3bc625
Handle bounds reprojections which cross the anti-meridian. #2648
...
When doing an envelope-points reprojection to a geographic CS, check
the points stay in clockwise order. Otherwise expand the resulting bounds
to include the world.
Includes visual test. Cairo tests aren't finding differences, but the renderer
is doing the right thing.
2015-01-28 11:18:16 +13: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
b090882902
Added compare utility to python bindings and image_util, modified set_grayscale_to_alpha to take a color optionally.
2015-01-27 11:41:05 -06:00
Dane Springmeyer
48982c0619
Merge branch 'master' of github.com:mapnik/mapnik into release/image_data_any
...
Conflicts:
tests/python_tests/image_tiff_test.py
2015-01-26 20:09:00 -08:00
Dane Springmeyer
89118c2fcb
tiff_reader: only gaurd against over-allocation at read time
2015-01-26 16:33:30 -08:00
Blake Thompson
5d9f047002
Fixed some issues in color and bindings where you could create a color and premultiplied was not set and it was resulting in it being assigned randomly, causing some issues at runtime.
...
Updated some images in visual tests that were orginally set prior to all tiffs being premultiplied, this was causing a slight difference in a few pixels.
Updated the tiff tests a lot.
Fixed tiff reader so that it always considers everything read from RGB or RGBA as premultiplied. This is due to the fact that RGBA reader always premultiplies the alpha no matter its original form.
Put in a fix so that the file does not exist no longer shows up in the test running.
Fixed some failing tests in the c++ test due to tiffs now always being premultiplied for RGB(A)
2015-01-24 20:48:15 -06:00
Blake Thompson
a100b2fe1f
Fixed the issues associated with TIFFs, now they always will return as premultiplied in the event they are rgba8 due to the way that the TIFF reader operates. Also added premultiply as a flag inside color class and exposed many of its components, made it so that setting and getting pixels took into consideration the state of the color and the image when dealing with the two.
2015-01-23 18:08:59 -06:00
Blake Thompson
490645d2e3
Perhaps a solution to TIFF IO problems
2015-01-22 20:36:45 -06:00
Blake Thompson
51172c8fdf
Move image_data.hpp to image.hpp and renamed most everything from image_data to image alone. This might lead to the need to clean up some variables that are currently named image through out the code at some time, but I think in the long term is much better as image is a better name for the base class.
2015-01-22 11:39:37 -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
93f835177b
Removed all the code for the previous type of image and image_32. Ref #2633
2015-01-21 17:57:16 -06:00
Blake Thompson
b57b1c12d6
Some smaller fixes that cause the proper operator to be called in visitor_create_marker. All tests now passing. Ref #2633
2015-01-21 17:09:53 -06:00
Dane Springmeyer
df9613369e
temp fix: copy rather than move image_data inside marker to avoid mutating marker
2015-01-20 20:38:22 -08:00
Blake Thompson
9fda26f859
Merge branch 'release/image_data_any' of github.com:mapnik/mapnik into release/image_data_any
2015-01-20 18:33:50 -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
Dane Springmeyer
97869f7dc1
minor include cleanup for image_utils
2015-01-20 09:06:21 -08:00
Blake Thompson
2439f1b298
A whole lot of changes. #Ref 2633
2015-01-20 10:48:33 -06:00
Blake Thompson
aa03cf4f7c
Implemented a new get_pixel method to go along with the set_pixel method in image_util. Ref #2633
2015-01-16 22:15:33 -06:00
Blake Thompson
a002139e18
Added set_pixel to visitor pattern and moved it to image_util. Added exception throwing in composite only if debug flags are on.
...
Ref #2633
2015-01-16 18:26:56 -06:00
Blake Thompson
1470bea9cb
Migrated composite_pixel out of image_32, it is now in image_utils. Ref #2633
2015-01-16 16:48:43 -06:00
Blake Thompson
a7b8ca2888
Moved set_rectangle out of image_32 into image_util.
...
Ref #2633
2015-01-16 15:36:53 -06:00
Blake Thompson
35be6117c8
Merge branch 'master' into release/image_data_any
2015-01-16 13:09:25 -06:00
Blake Thompson
aebb6fee58
Removed the background and set/get background from image_32 class. Removed clear method from image_32. Added new fill method for image_data_any, that allows many generic types to fill an image.
...
Ref #2633
2015-01-16 13:06:52 -06:00
Blake Thompson
33ccc12355
Moved set_color_to_alpha and set_grayscale_to_alpha to image_util.
...
Ref # 2633
2015-01-15 20:26:20 -06:00
Blake Thompson
3b1c99ff1b
Moved set_alpha to src/image_util.cpp and out of image_32. Added a boolean response to premultiply_alpha and demultiply_alpha so that if it is changed in set_alpha and other locations like the python bindings for composite that the image can be restored to its original state. Removed blend from python bindings.
...
Ref #2633
2015-01-15 17:57:21 -06:00
Blake Thompson
4d3145991d
Removed some commented out code in src/image.cpp
2015-01-15 11:00:58 -06:00
Blake Thompson
73d9c60168
Small fix for is solid to work with image_view_any and image_data_any properly.
2015-01-15 10:53:21 -06:00
Dane Springmeyer
cf646030f3
move is_solid to hpp for now to avoid linking errors
2015-01-15 10:21:11 -06:00
Blake Thompson
7ce7416999
Added is_solid to image_utils. It is currently built to support the eventual use of image_view_any and image_data_any, but for a limited time supports the passing of image_view_rgba8 and image_data_rgba8.
...
Ref #2633
2015-01-15 10:14:00 -06:00
Dane Springmeyer
364fb4961b
fix handling of premultiplied pixels during rendering
2015-01-14 21:04:05 -08:00
Dane Springmeyer
b55d5def0d
sync with latest master/3.x
2015-01-14 18:35:40 -08:00
Blake Thompson
202a0e8e5f
Added a lot of premultiply_alpha functions to attempt to have proper premultiplication of data prior to compositing. There still seem to be some errors in the resulting images, but I am not quite sure what they are yet.
2015-01-14 18:29:00 -06:00
Blake Thompson
42c7d7ddf2
Merge branch 'release/image_data_any' into feature/premultiply_demultiply_move
2015-01-14 15:37:06 -06:00
Blake Thompson
03440c0108
Merge branch 'master' into release/image_data_any
2015-01-14 15:36:03 -06:00
Blake Thompson
cbc76f7361
Some minor corrections to allow for the source to build properly with out linking errors with vis to hidden.
2015-01-14 15:24:16 -06:00
Blake Thompson
4184f75011
Moved premultiply and demultiply out of image_32 and other parts of the code. The image_data object is now responsible for keeping track of its own premultiplied_alpha status. Created a new utility method in image_util to preform premultiplication.
...
Added visitor pattern to several different methods as well to prepare for image_data_any including compositing.
Ref #2633
2015-01-14 12:42:30 -06:00
artemp
235326c8db
image_32 : add image_32(image_data_rgba8 &&) ctor
2015-01-13 11:44:24 +01:00
Dane Springmeyer
056feb4daa
add text-transform:reverse + full test coverage for text-transform uppercase/lowercase/capitalize - closes #2634
2015-01-12 15:38:21 -08:00
Blake Thompson
f58f65ee4c
Merge branch 'master' into release/image_data_any
2015-01-12 15:07:00 -06:00
Blake Thompson
7a16ebe7fa
Merge remote-tracking branch 'origin/image' into release/image_data_any
2015-01-12 14:51:08 -06:00
Blake Thompson
42ee4ec90d
Moved cairo out of the image_util.*pp files and now have created a cairo_io.*pp files.
...
Ref #2622
2015-01-09 16:49:31 -05:00
Dane Springmeyer
c7bb16fcd9
amend/partially revert #2609
2015-01-09 12:11:41 -08:00
Dane Springmeyer
2a5dd5e924
pack mapnik::gradient to save 8 bytes (128 -> 120) - refs #2631
2015-01-09 11:43:17 -08:00
Blake Thompson
08c675e1a4
Merge branch 'master' into bugfix/image_util_impl
...
Conflicts:
include/mapnik/image_view.hpp
src/image_util.cpp
2015-01-08 20:25:15 -05:00
Blake Thompson
094d0ec3e1
Another large set of modifications, finally allow this branch to build. Mostly modifications to the image_util_* files. Different processing based on the image type is now possible, and save_to_stream now could possibly accept grayscale with out breaking existing code.
2015-01-08 19:31:14 -05:00
Blake Thompson
035557450d
Split out the process for tiff, webp, and jpeg into their own util folders. Added the intial concepts for an image_view_any variant.
2015-01-08 16:55:51 -05:00
Dane Springmeyer
d22ad11b09
remove unneeded image_32 signatures for save_to_string/file after fbecd5f
2015-01-08 13:55:25 -08:00
Dane Springmeyer
acb3bb0821
trim down image_32 - refs #2627
2015-01-08 13:16:32 -08:00
Blake Thompson
472e41966d
Added new scaling trait for image_32 as it is a part of image_data_any
2015-01-08 11:52:44 -05:00
Blake Thompson
81ef4225ac
Continuing to modify various areas of image_util so that save_to_stream will be provided an image_data_any object.
2015-01-08 11:30:02 -05:00
Blake Thompson
847682d783
Some more minor changes
2015-01-08 10:17:07 -05:00
Blake Thompson
cc0a27f2f0
More stuff to break it all
2015-01-08 10:17:07 -05:00
Blake Thompson
454326df17
An intial commit of a large set of changes attempting to clean up the way that saving images is processed in image_util.hpp and image_util.cpp.
...
* Changed the passing of rgba_palette to a shared_ptr in order to better facilitate the use of a visitor pattern.
* Moved PNG util processing into its own set of files so that image_util_impl.hpp would not have to depend on HAVE_PNG.
2015-01-08 10:13:06 -05:00
artemp
8db7f58e8f
image_compositing - fix composite method signature to composite(T & dst, T const& src,...) via providing const_rendering_buffer adapter
2015-01-08 12:45:04 +01:00
artemp
515491ab70
image_compositing - fix composite method signature to composite(T & dst, T const& src,...) via providing const_rendering_buffer adapter
2015-01-08 12:42:38 +01:00
Blake Thompson
6df688160c
More stuff to break it all
2015-01-07 18:16:38 -05:00
Blake Thompson
a3f6a989de
An intial commit of a large set of changes attempting to clean up the way that saving images is processed in image_util.hpp and image_util.cpp.
...
* Changed the passing of rgba_palette to a shared_ptr in order to better facilitate the use of a visitor pattern.
* Moved PNG util processing into its own set of files so that image_util_impl.hpp would not have to depend on HAVE_PNG.
2015-01-07 15:44:31 -05:00
artemp
00a20b78da
add initial support for writing image_data_gray16 ( only TIFF supported )
2015-01-07 18:17:44 +01:00
artemp
cd0ac2d0f6
Merge branch 'master' into image
2015-01-07 17:49:51 +01:00
artemp
5361d21beb
move mapnik::noncopyable to mapnik::util::noncopyable where it belongs
2015-01-07 13:11:09 +01:00
artemp
18554ec0b1
remove static_visitor usage and rely on automatic result type deduction
...
(NOTE: expression_evaluator requires ```using result_type = T1;``` )
Conflicts:
src/image.cpp
2015-01-07 11:39:06 +01:00
artemp
c2ea32feac
remove static_visitor usage and rely on automatic result type deduction
...
(NOTE: expression_evaluator requires ```using result_type = T1;``` )
2015-01-07 11:35:21 +01:00
artemp
b0b89e76d1
image class - containing image_data_any and initial basic python interface
2015-01-06 12:44:28 +01:00
Dane Springmeyer
2a33ead4cc
finish centralizing boost::filesystem usage to single cpp file - refs #1177
2015-01-06 00:33:33 -08:00
artemp
132507571b
template feature_generator_grammar on FeatureType - ref #2546
2014-12-22 15:56:46 +01:00
artemp
f1373883c2
json feature_generator_grammar - re-factor properties_generator_grammar into separate compilation unit - ref #2546
2014-12-22 11:52:13 +01:00
Dane Springmeyer
dc8253ec2a
support expressions in text-placements - closes #2597
2014-12-19 19:05:54 -08:00
Dane Springmeyer
5e9009a86b
fix windows compile
2014-12-18 21:26:31 -08:00
Dane Springmeyer
b235910895
fix conditional dlopen support
2014-12-18 21:13:47 -08:00
Dane Springmeyer
387b8f85d5
new dot symbolizer for fast rendering of points - refs #1651 mapbox/mapnik-vector-tile#62 #2612
2014-12-17 12:01:28 -08:00
Dane Springmeyer
fe58aabe55
markers: support restyling svg stroke and fill without limit - closes #2609 - refs mapnik/mapnik-support#27
2014-12-17 12:01:04 -08:00
Dane Springmeyer
f8bedf4f65
support building without dlopen support
...
Conflicts:
SConstruct
2014-12-17 11:55:22 -08:00
artemp
12eb56d96a
better names + unbuffered io + use image_data_xxx for allocating strip
...
e# 2x2.png
2014-12-17 18:34:47 +01:00
artemp
137bd0ba3b
format
2014-12-17 14:54:31 +01:00
artemp
78fbc6df17
expose warp_image templated method
2014-12-17 14:24:58 +01:00
artemp
1df88908e4
refactor warping code to work with different pixel_types and minimise code duplication
2014-12-16 12:04:18 +01:00
artemp
c3e7b12238
fix nasty typo + refactor more
2014-12-16 12:02:40 +01:00
artemp
110841fc55
image_scaling - re-factor set_scaling_method for re-use accross code base
2014-12-16 10:37:50 +01:00
artemp
ecf9a686a3
c++11 - use constexpr
2014-12-16 10:17:05 +01:00
artemp
979d706c26
move image_scaling traits into separate header to enable code sharing
2014-12-16 10:13:40 +01:00
Blake Thompson
0d2eb9cb5f
Updates for Ref #2594 and #2592 (Related to #2491 )
...
* Added support for scanline, stripped and tiled
* Added new configuration options for TIFF:
- method
- tile_height (Default 0)
- tile_width (Default 0)
- rows_per_strip (Default 0)
* Removed 'scanline' configuration option for TIFF.
* Changed RGBA TIFFs to be ASSOCALPHA rather then UNASSOCALPHA
2014-12-15 02:52:32 +00:00
artemp
85d954ab6a
make composite method templated and fix visibility issue
...
(reverts 1ff4125e92
)
2014-12-12 11:39:36 +01:00
artemp
3cbe969f03
fix external visibility issue for explicit instantiations of scale_image_agg - ref #2587
2014-12-12 11:09:52 +01:00
artemp
72f437c52a
tiff_reader - fix
...
( "...where the -Sy is due the reversal of direction from J increasing- down in raster space to Y increasing-up in model space.")
2014-12-12 10:18:34 +01:00
artemp
5dd87de782
template scale_image_agg on image_data_type to squash code duplication
2014-12-11 18:54:32 +01:00
artemp
b38ac5c2ca
add no-op gray8 scaling
2014-12-11 11:06:44 +01:00
artemp
f921e1eef4
raster_colorizer - template colorize method on image_data type
2014-12-11 10:10:32 +01:00
artemp
dd22d34d07
formatting
2014-12-11 09:39:25 +01:00
artemp
218b22fba9
remove cast
2014-12-11 09:38:58 +01:00
artemp
5021a4e122
tiff_reader - fix end_y calc in read_stripped
2014-12-10 18:11:41 +01:00
artemp
74c96f0bda
make bounding_box return optional<box2d<double>> to be consistent with current behavour
2014-12-10 12:53:39 +01:00
artemp
2efde962aa
image_reader - add bounding_box virtual method
2014-12-10 10:44:51 +01:00
Dane Springmeyer
93c6207153
repack tiff_reader to avoid slop (saves 16 bytes)
2014-12-09 08:34:13 -05:00
artemp
303d625b7c
tiff_reader - fix reading tiled tiffs + flip vertically output from TIFFReadRGBATile + cleaups
2014-12-09 12:25:21 +01:00
Dane Springmeyer
36d7e455ed
tiff io: disable strip chopping to ensure we fail fast on 'tiff_dos_strip_chop.tif' from gdal autotests
2014-12-09 00:39:19 -05:00
Dane Springmeyer
fcf71c36d9
tiff io: avoid over-allocation + add more tests
2014-12-09 00:17:02 -05:00
Dane Springmeyer
8b0ba79d2a
more debugging output for failed read_tile
2014-12-08 20:39:44 -05:00
Dane Springmeyer
24a9816913
test tiff photometric setting
2014-12-08 17:16:56 -05:00
Dane Springmeyer
f121d805a9
no need for TIFFRGBAImageOK
2014-12-08 17:12:44 -05:00
Dane Springmeyer
6ca1cd6c74
avoid crashing on images with alpha
2014-12-08 16:43:32 -05:00
Dane Springmeyer
cb3771fbe5
fix reading of tiled tiff tile dimensions for gray32f
2014-12-08 15:23:06 -05:00
Dane Springmeyer
bc3f59af12
new c++ tiff tests - refs #2491
2014-12-08 14:52:52 -05:00
artemp
7fcc4a0846
use TIFFReadTile (or TIFFReadEncodedTile) instead of TIFFReadRGBATile to have consistent orientation
...
(FIXME: python tests failures)
2014-12-08 18:55:40 +01:00
artemp
912771b8fd
generic read_tiled<ImageData> initial implementation + read PHOTOMETRIC_RGB using high-level RGBA expanding interface
2014-12-08 15:51:00 +01:00
Dane Springmeyer
96baff431f
use c++ style casts im tiff_reader
2014-12-05 13:59:20 -05:00
artemp
ce605e3982
use RAII for resource management
2014-12-05 18:01:45 +01:00
artemp
902858e55f
tiff_reader: initial support for reading gray8/gray16/gray32f/rgba8/rgba16/rgba32f data
...
Note: current code only works with image data organized in strips. Tile-orientated reading needs implementing
2014-12-05 17:35:26 +01:00
Dane Springmeyer
d6e9126132
fix linking of scale_image_agg - refs #2587
2014-12-05 09:43:57 -05:00
Blake Thompson
bf5c532269
Series of changes for the tiff encoder:
...
* Added configuration options for the TIFF encoder. The options are:
- compression: adobe_deflate(default), deflate, lzw, none
- zlevel: 0-9
- scanline: 1,0 (Forces scanline encoding)
* Fixed bug in encoder with scanline where memory was being modified
* by TIFFWriteScanline. A buffer is now created for each row to prevent
* modification of the underlying image_data.
2014-12-04 17:11:33 -05: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
3b3e255f5e
add comment
2014-12-04 10:31:56 +01:00
Dane Springmeyer
f82d57f497
work in progress: start enhancing tiff reader to handle bits per sample
2014-12-03 18:37:27 -05:00
Dane Springmeyer
954d0db46c
Merge branch 'master' of github.com:mapnik/mapnik into image_data_any
2014-12-03 13:53:14 -05:00
artemp
de7a268333
read single band as int16 then agg_scale and colorize in gray16 color space, output rgb8 (aka image_data_32)
...
NOTE: proof-of-concept needed re-factoring/duplicate code removal
2014-12-03 18:19:44 +01:00
artemp
802428712e
initial image_data_any read(...) implementation - always read into image_data_32
2014-12-03 10:56:19 +01:00
artemp
1df9d89a70
add to image_reader and implement empty (placeholder)
...
```image_data_any read(unsigned x, unsigned y, unsigned width, unsigned height) final```
in png/jpeg/webp/tiff readers
2014-12-03 10:44:56 +01:00
Dane Springmeyer
1ff4125e92
fix visibility of mapnik::composite function to python bindings - refs #2587
2014-12-03 00:43:04 -05:00
Dane Springmeyer
4d39d2aac1
iwyu
2014-12-02 14:40:03 -05:00
Dane Springmeyer
946434002f
handle/throw on invalid encoding for ucnv_open
2014-12-02 14:21:36 -05:00
artemp
19e3ce9035
gdal : experimenting with fetching gray scale single band as image_data_float32
2014-12-02 15:56:40 +01:00
artemp
6fec43bf9e
gdal - read single band as image_data_float32
...
(scaling/compositing FIXME)
2014-11-28 12:51:23 +01:00
artemp
bf9c99e3d3
initial image_data_any implentation (work-in-progress)
2014-11-26 12:22:36 +01:00
artemp
333965b588
update copyright year
2014-11-20 15:25:50 +01:00
artemp
5e2a53bac9
c++ mapnik style
2014-11-20 14:35:50 +01:00
artemp
4f3521ac24
image_data: use std::size_t + various cleanups
2014-11-20 12:46:16 +01:00
Jiri Drbalek
cb46131bc5
move text-specific inverted y axis logic from vertex_cache to placement_finder
2014-11-13 12:51:36 +00:00
Jiri Drbalek
69fc93d87a
add move constructor to vertex_cache
2014-11-13 12:51:36 +00:00
Jiri Drbalek
3013197de7
move vertex_cache and tolerance_iterator from text directory
2014-11-13 12:51:36 +00:00
Dane Springmeyer
437d486bbd
fix building with PLUGIN_LINKING=static
2014-11-11 14:42:53 -08:00
Dane Springmeyer
3cbde2dc54
map.remove_all should clear other containers
2014-11-07 19:50:18 -05:00
Dane Springmeyer
183f182ef7
remove duplicate check for .woff font type
2014-11-07 19:04:50 -05:00
Dane Springmeyer
22bd30230a
remove unneeded option
2014-11-04 11:41:23 -05:00
Dane Springmeyer
d6b74443a7
use non static ref to global memory font cache
2014-11-04 11:41:23 -05:00
Dane Springmeyer
808e820164
smarter type handling for Map parameters
2014-10-27 09:24:33 -07: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
Jordan Hollinger
1b15e53b63
Refactor markers dispatchers to use a common base class to share code.
2014-10-27 07:46:43 -04:00
Dane Springmeyer
ecb529cba2
handle boost::spirit::qi::expectation_failure
2014-10-24 21:36:19 -07:00
Dane Springmeyer
a1314935af
fix initialization order in proj_transform
2014-10-22 15:34:17 -07:00
Dane Springmeyer
ca3078938c
simplify and install mapnik wkt and json libs
2014-10-22 00:09:22 -07:00
Dane Springmeyer
46a41f3ae1
initialize proj_transform::is_source_equal_dest_
2014-10-22 00:08:48 -07:00
Dane Springmeyer
aae4a20ec9
fix various -Wunused-parameter warnings
2014-10-21 20:23:17 -07:00
Dane Springmeyer
d25f0c316a
silence more warnings
2014-10-21 17:44:47 -07:00
Dane Springmeyer
7acaa3068a
silence warning in font_engine_freetype
2014-10-21 16:54:46 -07:00
Dane Springmeyer
83588937b9
silence boost warnings
2014-10-21 16:37:27 -07:00
artemp
295f15bd51
ImageData -> image_data (remove camel-case)
2014-10-21 16:06:27 +01:00
Dane Springmeyer
18183aed2a
fix a few -Wunused-parameter warnings
2014-10-20 22:28:40 -07:00
Dane Springmeyer
02b7537d6d
remove unused/supported second arg to parse_expression
2014-10-20 22:20:04 -07:00
artemp
6eb65434c5
upgrade to new get<value_type, keys::key>
2014-10-17 20:45:15 +01:00
artemp
bbdc136b5b
fix names + update property_meta_type tuple
2014-10-17 18:44:26 +01:00
Dane Springmeyer
dac7170616
break out topojson parsing grammar
2014-10-15 18:59:39 -07:00
artemp
0aac586f7c
use enclosing namespaces in core lib
2014-10-15 15:14:21 +01:00
Dane Springmeyer
52e9531179
always return a value from evaluate_displacement
2014-10-14 21:35:20 -07:00
Dane Springmeyer
09f91a24a0
Merge pull request #2523 from mapycz/halign-adjust-immutable
...
halign adjust with immutability of style objects in mind
2014-10-13 18:47:37 -07:00
Dane Springmeyer
9a78c6dfe1
improve register_datasources + drop filesystem v2 support since v3 is default in boost >= 1.46
2014-10-13 17:43:14 -07:00
artemp
1e3b82a245
add new line
2014-10-13 14:23:06 +01:00
Jiri Drbalek
1252369292
add horizontal-alignment="adjust" with immutability of style objects in
...
mind
2014-10-13 12:16:48 +00:00
Dane Springmeyer
9dae68ebbf
add builds scripts for json/wkt grammars
2014-10-13 01:07:11 -07:00
Dane Springmeyer
44bc5b59d6
break out wkt/json grammars into separate libraries
2014-10-13 01:06:36 -07: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
38b944aef7
break apart expression+transform grammars - refs #2526
2014-10-12 16:36:33 -07:00
Dane Springmeyer
a9f58c70b4
shuffle complexity into layout constructor
...
- should reduce mistakes in refactoring
- gives top level ownership of evaluated_format_properties_ptr to a layout node (#2516 )
- not sure ^^ if this actually keeps it in scope enough for rendering?
- moves data transformation functions off of text_symbolizer_properties
2014-10-12 16:07:26 -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
4e7feaf747
move glyph_positions to new cpp
2014-10-12 13:46:35 -07:00
Dane Springmeyer
39ff0945ef
in place construction of pixel_positions
2014-10-12 13:38:18 -07:00
Dane Springmeyer
e4c895d4c1
zero copy usage of text_line
2014-10-12 13:23:03 -07:00
Dane Springmeyer
a648538bcd
add more code comments to placement_finder to help explain layouts
2014-10-12 12:18:59 -07:00
Dane Springmeyer
a8c8ea9ac4
reserve space for glyph_pos in renderer prepare_glyphs
2014-10-11 22:59:56 -07:00
Dane Springmeyer
3d142c2712
move evaluate_text_properties to standalone function - refs #2516
2014-10-11 22:48:00 -07:00
Dane Springmeyer
e6a66aaaba
finish work to pass font_feature_settings by value - refs #2516
2014-10-11 22:39:40 -07:00
Dane Springmeyer
a61364d263
revert halign support - refs #2426
2014-10-11 20:03:56 -07:00
Dane Springmeyer
477d6cc7ee
zero-copy text_item insertion
2014-10-11 19:12:15 -07:00
Dane Springmeyer
eabdf46118
drop unwise glyph_info caching - reverts 99a46f6910
- re-opens #2334
2014-10-11 17:32:41 -07:00
Dane Springmeyer
d4f0d51a91
cairo text rendering: avoid double call of set_character_sizes for text and halo
2014-10-11 16:59:22 -07:00
Dane Springmeyer
ba285aa9fa
remove unused (after 8bc7a56cda
) font_face::char_height_
2014-10-11 15:55:15 -07:00
Dane Springmeyer
b275144004
make cairo_context.add_text more like agg::text_renderer
2014-10-11 13:08:28 -07:00
Dane Springmeyer
51620e2b4d
cairo: avoid creating evaluated_format_properties_ptr on stack
2014-10-11 11:37:16 -07:00
Dane Springmeyer
e1eb9fa5b1
reduce pointer usage in text renderer - refs #2516
2014-10-10 18:01:24 -07:00
Dane Springmeyer
8bc7a56cda
use real max glyph height
...
- avoids breakage on fonts lacking an `X` glyph (#2506 )
- avoids needing to create and mutate a temporary glyph (#2516 )
- lots of minor visual changes - mostly improvements notably more correct collision boxes for lines with tall glyphs
2014-10-10 15:18:11 -07:00
artemp
74e872c48b
avoid storing evaluated text properties in text_symbolizer_properties (all style related strucures must be read-only)
...
make process(..) method const
2014-10-10 12:38:06 +01:00
Dane Springmeyer
c6ed108a72
start marking as much of the text structures as const as possible - refs #2516
2014-10-09 23:00:39 -07:00
Dane Springmeyer
2d88f736fe
remove uneeded access to format tree
2014-10-09 20:51:43 -07:00
Dane Springmeyer
c26c60e48e
remove set_old_style_expression
2014-10-09 20:51:43 -07:00
Dane Springmeyer
364af033a2
stash work on trying to convert font_feature_settings to be passed by value
2014-10-09 19:23:11 -07:00
Dane Springmeyer
536b23bfde
fix uneeded pointer indirection with glyph_info/glyph_position
2014-10-09 18:38:29 -07:00
Dane Springmeyer
aed5243302
avoid creating evaluated_format_properties on the stack
2014-10-09 18:24:39 -07:00
Dane Springmeyer
38567d8213
font_set: explicitly initialize face_names_ member
2014-10-09 17:36:51 -07:00
Dane Springmeyer
1fead3396b
cleanup unused clipped_ member of base_symbolizer_helper after 9835057b0f
2014-10-09 11:40:30 -07:00
Dane Springmeyer
c4857c640b
clean up string handling in font_set::add_face_name
2014-10-08 16:46:48 -07:00
Dane Springmeyer
1f29ce7d3d
back to using shared_ptr for holding text_placement_info
2014-10-08 16:28:07 -07:00
Dane Springmeyer
a24b29624a
remove unused include
2014-10-08 16:27:38 -07:00
Dane Springmeyer
65438f17aa
further tests of path expressions for shields
2014-10-08 08:00:59 -07:00
Dane Springmeyer
41009bfeb3
fix font caching logic
2014-10-07 00:21:52 -07:00
Dane Springmeyer
c2fe4a14be
drop useless template usage for has_key
2014-10-06 23:21:13 -07:00
Dane Springmeyer
934f0dec1d
warn if duplicate attribute - closes #2508
2014-10-06 23:20:43 -07:00
Dane Springmeyer
7ce776a79c
fix handling of shield-text-opacity/text-opacity - closes #2507
2014-10-06 21:52:29 -07:00
Dane Springmeyer
51f62ad083
dodge #2505 by avoiding registering gdal/ogr plugin
2014-10-06 18:19:52 -07:00
Dane Springmeyer
1ae43a25ff
text_properties code cleanup - pregame for #2504
2014-10-06 16:59:49 -07:00
Dane Springmeyer
f733c7f2ac
comment debug code
2014-10-06 14:31:11 -07:00
Dane Springmeyer
1670fdabf0
fix line symbolizer 'rasterizer' property - closes #2503
2014-10-06 14:10:43 -07:00
Dane Springmeyer
737c299341
fix back compat for text-placement-type:dummy - closes #2502
2014-10-06 11:37:39 -07:00
jhollinger2
5ca07a26d1
Refactor marker helpers for agg and grid renderer.
2014-10-06 14:03:48 -04:00
Dane Springmeyer
e0ba9e9a8c
use common dispatch for symbolizers
2014-10-03 19:07:08 -07:00
Dane Springmeyer
2cf3990e0d
warn if fontset not found and load_map is not in strict mode - closes #1791
2014-10-03 17:43:44 -07:00
Dane Springmeyer
ebf7a61135
fix unsafe return of temporary - closes #2493
2014-10-03 16:39:25 -07:00
Dane Springmeyer
2925a70046
c++ style / delay std::string creation in xml loading
2014-10-03 16:39:25 -07:00
Dane Springmeyer
b09df2fa13
Merge pull request #2490 from MapQuest/group-margin
...
Use margin attribute in group symbolizer
2014-10-03 12:19:02 -07:00
jhollinger2
4dfa76a0fc
Update group symbolizer collision to use margin instead of minimum-distance. Add test case.
2014-10-03 13:46:23 -04:00
artemp
e8b3083a6a
remove std::function usage in text_properties
2014-10-03 16:00:05 +01:00
Dane Springmeyer
f81fc53cbc
fix compile on windows of font_feature_settings.cpp - refs #2489
2014-10-02 16:31:16 -07:00
Dane Springmeyer
109b45a0ad
c++ style
2014-10-02 15:37:55 -07:00
Dane Springmeyer
dfaa860522
Revert "min compiler is g++ 4.8 - refs #2486 "
...
This reverts commit 612b4a0207
.
2014-10-02 13:23:35 -07:00
Jiri Drbalek
47c9d77f8f
Merge pull request #2485 from mapycz/fix-text-layout-wrap-char
...
add wrap-character support to Layout node of TextSymbolizer
2014-10-02 21:36:31 +02:00
Dane Springmeyer
612b4a0207
min compiler is g++ 4.8 - refs #2486
2014-10-02 12:04:32 -07:00
Jiri Drbalek
5861980f91
add wrap-character support to Layout node of TextSymbolizer
2014-10-02 18:34:37 +00:00
artemp
2bab0512ff
refactor vertex_cache to use unique_ptr's and less copying
2014-10-02 16:36:50 +01:00
artemp
a04276d90a
use c++11 features over boost when available
2014-10-02 15:09:17 +01:00
Jiri Drbalek
667b6e3adc
fix compile on ubuntu precise
2014-10-02 12:18:39 +00:00
Dane Springmeyer
66889d32f9
only memcache local fonts if not already globally known and not already cached (avoid extra io for ttc)
2014-10-02 00:47:32 -07:00
Dane Springmeyer
0efb6964ef
per map load cache if a fonts is known as valid
2014-10-01 20:59:05 -07:00
Dane Springmeyer
687a33575c
fast, non-caching check if a font can be opened and read
2014-10-01 20:32:03 -07:00
Dane Springmeyer
ad7e619ba3
remove state from freetype_engine - now fully static
2014-10-01 20:03:03 -07:00
Dane Springmeyer
898d58c4f5
face_set_ptr can be unique rather than shared
2014-10-01 19:01:26 -07:00
Dane Springmeyer
d29add9db3
use face_manager_freetype typedef everywhere
2014-10-01 18:54:11 -07:00
Dane Springmeyer
767c51cea2
add missing stdexcept include
2014-10-01 18:51:17 -07:00
Dane Springmeyer
d96093d3aa
rebase with master
2014-10-01 18:45:28 -07:00
Dane Springmeyer
23cb5dd47d
new util::file class wrapping cstdio + more library usage
2014-10-01 18:31:04 -07:00
Dane Springmeyer
e6fe3cd8a6
new font_library raii class
2014-10-01 18:19:26 -07:00
Dane Springmeyer
83533c16c6
fix add_layer move signature - refs #2453
2014-10-01 14:20:58 -07:00
Dane Springmeyer
aae56fa387
avoid style, layer, and fontset copies in load_map - refs #2453
2014-10-01 14:09:09 -07:00
Dane Springmeyer
32f80b2b3e
fix layer buffer default
2014-10-01 14:08:08 -07:00
Dane Springmeyer
9b2c14466c
explicit move ctor for feature_type_style
2014-10-01 13:54:44 -07:00
Dane Springmeyer
ed3bc1d411
explicitly initialize all members of layer class in ctor
2014-10-01 13:53:12 -07:00
Dane Springmeyer
9ecdc839b5
c++ style
2014-10-01 11:24:41 -07:00
artemp
745d45bb68
remove std::function from placement loop
...
(std::function incurs overhead of polymorphic dispatch internally and relatively expensive - avoid using in performance critic code)
2014-10-01 11:26:14 +01:00
Dane Springmeyer
e9e5ec4a6b
quick fix for #2451
2014-09-30 21:29:55 -07:00
Dane Springmeyer
4c07585312
fix #2464
2014-09-30 21:16:29 -07:00
Dane Springmeyer
4cbc139689
remove boost::format usage
2014-09-30 18:35:07 -07:00
Dane Springmeyer
ad43b37672
Merge branch 'master' of github.com:mapnik/mapnik into localized-font-cache
2014-09-30 14:42:15 -07:00
Dane Springmeyer
09b02ddc17
Merge branch 'master' of github.com:mapnik/mapnik into localized-font-cache
...
Conflicts:
src/build.py
2014-09-30 14:42:01 -07:00
Dane Springmeyer
f34d12094c
new files
2014-09-30 12:50:42 -07:00
Dane Springmeyer
822d3a5bce
break apart symbolizer.hpp + fwd declars + svg output grammar impl
2014-09-30 12:50:08 -07:00
Dane Springmeyer
8752271910
code cleanup
2014-09-29 19:59:59 -07:00
Dane Springmeyer
40a1189357
chip away at complexity of marker_helpers.hpp
2014-09-29 19:32:22 -07:00
Dane Springmeyer
dc57849b7d
geometry container typedef fixing
2014-09-29 18:40:57 -07:00
Dane Springmeyer
d0b167affc
iwyu shuffle
2014-09-29 17:14:40 -07:00
Dane Springmeyer
3ee609112a
using pimpl to isolate boost::regex headers - refs #2439
2014-09-29 16:48:19 -07:00
Dane Springmeyer
aaec8058fa
fix property name in error message
2014-09-29 16:32:46 -07:00
Dane Springmeyer
848370c678
speed up compile / move iomanip to cpp - refs #2439
2014-09-29 13:49:56 -07:00
Dane Springmeyer
89f64f6b97
avoid spirit usage in function_call.hpp - refs #2439
2014-09-29 13:12:46 -07:00
Dane Springmeyer
b7b39d4444
add missing file
2014-09-29 12:11:03 -07:00
Dane Springmeyer
688e97e148
move dasharray parser to cpp file - refs #2439
2014-09-29 12:07:15 -07:00
artemp
95d13e0b3d
Merge branch 'master' into vertex-converter
2014-09-29 12:34:54 +01:00
artemp
4f67ec0fc7
update cairo and grid renderers to use new vertex_converters
2014-09-29 12:25:34 +01:00
Dane Springmeyer
4541a2207b
simplify code in create_face
2014-09-28 23:54:24 -07:00
Dane Springmeyer
11d8f40342
add code comments to create_face
2014-09-28 23:32:29 -07:00
Dane Springmeyer
0a1906f7a6
cleanup
2014-09-28 23:32:02 -07:00
Dane Springmeyer
5f0b5ddafd
ignore font cache in map assignment and comparison
2014-09-28 23:31:48 -07:00
Dane Springmeyer
7b97e3ace8
unique_ptr for font_face_set
2014-09-28 22:35:08 -07:00
Dane Springmeyer
e21e8b6696
c++ style
2014-09-28 22:20:59 -07:00
Dane Springmeyer
d1adabf7d5
3.x port of localized font caching and then some
2014-09-26 19:54:07 -07:00