z_index_t sym_zindex(struct osm_object *o, struct style_info *si, double default_mzi)
{
double zi = 0;
- style_get_number(si, PROP_Z_INDEX, &zi);
+
+ // FIXME: Hack
+ if (default_mzi == 2)
+ style_get_number(si, PROP_CASING_Z_INDEX, &zi);
+ else
+ style_get_number(si, PROP_Z_INDEX, &zi);
+
+ // FIXME: Hack
+ double fixup = 0;
+ style_get_number(si, PROP_Z_INDEX_FIXUP, &fixup);
+ zi += fixup;
+
double zi2 = CLAMP(zi, -100, 100);
if (zi2 != zi)
osm_obj_warn(o, "z-index clipped from %.6g to %.6g", zi, zi2);
}
else
style_get_number(si, PROP_MAJOR_Z_INDEX, &mzi);
+
+ // FIXME: Hack
+ fixup = 0;
+ style_get_number(si, PROP_MAJOR_Z_INDEX_FIXUP, &fixup);
+ mzi += fixup;
+
double mzi2 = CLAMP(mzi, -100, 100);
if (mzi2 != mzi)
osm_obj_warn(o, "major-z-index clipped from %.6g to %.6g", mzi, mzi2);