#version 150 compatibility
#extension GL_EXT_geometry_shader4 : enable

uniform float bar_width;

in vec4 colors[];
out vec4 color;

vec4 map_plot_to_screen(in vec2 pnt);

void main()
{
	color = colors[0];

	gl_Position = map_plot_to_screen(vec2(gl_PositionIn[0].x - 0.5*bar_width, 0.0));
	EmitVertex();

	gl_Position = map_plot_to_screen(vec2(gl_PositionIn[0].x + 0.5*bar_width, 0.0));
	EmitVertex();

	gl_Position = map_plot_to_screen(vec2(gl_PositionIn[0].x - 0.5*bar_width, gl_PositionIn[0].y));
	EmitVertex();

	gl_Position = map_plot_to_screen(vec2(gl_PositionIn[0].x + 0.5*bar_width, gl_PositionIn[0].y));
	EmitVertex();
}