def atom_arrow_head(point, align, style)
points = Array.new(4) {point.clone}
result = Array.new
if align == :xarrow
points[1].x -= style.arrow_head_size
points[1].y += style.arrow_head_size*0.4
points[3].x -= style.arrow_head_size
points[3].y -= style.arrow_head_size*0.4
points[2].x -= style.arrow_head_size*0.75
else
points[1].y -= style.arrow_head_size
points[1].x += style.arrow_head_size*0.4
points[3].y -= style.arrow_head_size
points[3].x -= style.arrow_head_size*0.4
points[2].y -= style.arrow_head_size*0.75
end
points.each do |point|
temp = transform(point)
result << temp.x
result << temp.y
end
applystyle(@gc, style, :area)
@gc.polygon(*result)
end