
meta   
{
	title: "Simple roof tags";
	author: "heilbron"; 
	version: "1.14_2021-06-21"; 
	description: "Visualize the presence of some simple roof tags (shape & colour)";
	link: "https://josm.openstreetmap.de/wiki/Styles/SimpleRoofTags";
}
	
area[building]
{
	z-index: 1;
	fill-opacity: 0.03; /* let the background, i.e. the roof, be recognizable */
}

area[building]["roof:colour"]
{
	z-index: 1;
	opacity: 0.9;
	color: (tag("roof:colour")); /* if a color is set, use it to color the outline ... */
}

area[building]["roof:colour"=red]
{
	z-index: 1;
	color: #A54040; /* ... but make red (#FF0000) a mixture of  brown and red */
	opacity: 0.7;   /* less intrusive */
}

area[building]["roof:colour"=lightgrey]
{
	color: #CCCCCC; /* ... but make lightgrey (#D3D3D3) a little darker*/
}

area[building]["roof:colour"=grey]
{
	color: #A5A5A5; /* ... but make grey (#BEBEBE) a little darker*/
}

area[building]["roof:colour"=darkgrey]
{
	color: #606060; /* ... but make darkgrey (#A9A9A9) quite darker*/
}

area[building]["roof:colour"=brown]
{
	color: #902525; /* ... but make brown (#A52A2A) darker*/
}

area[building][!"roof:colour"]
{
	z-index: 1;
	color: #101010; /* no roof:colour tag => make the outline look almost black */
}


area|z17-[building][!"roof:shape"] /* no roof shape set? => dash the outline */
{
	z-index: 1;
	width: 4;
	dashes: 3,3; /* any building WITHOUT a roof:shape tag (except fpr garages) gets a 4 pixel outline */
}

area|z17-[building=~/garage.*/], area|z17-[building=carport]  /* almost ignore roof tags for carports and garages, i.e. make them all look the same, ... */
{
	z-index: 0;
	width: 2;
	dashes: 9,2;
	color: #282828; /* garages get a thin, dashed, almost black outline, unless tagged otherwise */
}

area|z17-[building=~/barn/], area|z17-[building=~/hut/] /* ... and make barns and huts also look different from other buildings*/
{
	z-index: 0;
	width: 2;
	dashes: 6,2;
	/* color: #282828; /* barns get a almost black outline, unless tagged otherwise */
}

area|z16-[building]["roof:shape"]
{
        z-index: 1;
        fill-opacity: 0.03; /* let the background, i.e. the roof, be recognizable */
	width: 5; /* any building WITH a roof:shape tag (except for garages) get a 5 pixel thick outline */
        /* ... extend the text tag with information about nthe roof: */
        text: eval(concat( cond(has_tag_key("addr:housenumber"), tag("addr:housenumber"), "."), " - ", get(regexp_match("(....).*", tag("roof:shape")),1)  ,   cond(has_tag_key("roof:orientation")," /","")  ,  cond(has_tag_key("roof:levels"), concat(" (",tag("roof:levels"),")"), "")    ));
        /* font-size: 9; */
        font-weight: bold;
}
