def atom_marker(point, style)
point = transform(point).cap
if style.marker == :dot then
applystyle(@gc, style, :line)
@gc.line(point.x, point.y, point.x, point.y)
elsif style.marker == :small_cross
applystyle(@gc, style, :line)
@gc.line(point.x-2, point.y, point.x+2, point.y)
@gc.line(point.x, point.y+2, point.x, point.y-2)
elsif style.marker == :cross
applystyle(@gc, style, :line)
@gc.line(point.x-3, point.y-3, point.x+3, point.y+3)
@gc.line(point.x-3, point.y+3, point.x+3, point.y-3)
elsif style.marker == :square
applystyle(@gc, style, :stroke)
@gc.rectangle(point.x-3, point.y-3, point.x+3, point.y+3)
elsif style.marker == :circle
applystyle(@gc, style, :stroke)
@gc.circle(point.x, point.y, point.x+3, point.y)
elsif style.marker == :image
if style.marker_image
if !@image_cache[style.marker_image]
@image_cache[style.marker_image] = ImageList.new(style.marker_image)
end
img = @image_cache[style.marker_image]
width = img.columns
height = img.rows
@gc.composite(point.x-width/2, point.y-height/2, 0,0, img)
end
end
end