Merge pull request #1931 from apalugniok/gr-titles3d

Add 3D axes guides for GR (Fixes #743)
This commit is contained in:
Josef Heinen 2019-02-27 12:25:18 +01:00 committed by GitHub
commit 8f381e2611
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -925,27 +925,31 @@ function gr_display(sp::Subplot{GRBackend}, w, h, viewport_canvas)
GR.settextalign(halign, GR.TEXT_VALIGN_TOP) GR.settextalign(halign, GR.TEXT_VALIGN_TOP)
gr_text(xpos, viewport_subplot[4], sp[:title]) gr_text(xpos, viewport_subplot[4], sp[:title])
end end
if is3d(sp)
if xaxis[:guide] != ""
gr_set_font(guidefont(xaxis)) gr_set_font(guidefont(xaxis))
if xaxis[:guide_position] == :top || (xaxis[:guide_position] == :auto && xaxis[:mirror] == true) GR.titles3d(xaxis[:guide], yaxis[:guide], zaxis[:guide])
GR.settextalign(GR.TEXT_HALIGN_CENTER, GR.TEXT_VALIGN_TOP) else
gr_text(gr_view_xcenter(), viewport_subplot[4], xaxis[:guide]) if xaxis[:guide] != ""
else gr_set_font(guidefont(xaxis))
GR.settextalign(GR.TEXT_HALIGN_CENTER, GR.TEXT_VALIGN_BOTTOM) if xaxis[:guide_position] == :top || (xaxis[:guide_position] == :auto && xaxis[:mirror] == true)
gr_text(gr_view_xcenter(), viewport_subplot[3], xaxis[:guide]) GR.settextalign(GR.TEXT_HALIGN_CENTER, GR.TEXT_VALIGN_TOP)
gr_text(gr_view_xcenter(), viewport_subplot[4], xaxis[:guide])
else
GR.settextalign(GR.TEXT_HALIGN_CENTER, GR.TEXT_VALIGN_BOTTOM)
gr_text(gr_view_xcenter(), viewport_subplot[3], xaxis[:guide])
end
end end
end
if yaxis[:guide] != "" if yaxis[:guide] != ""
gr_set_font(guidefont(yaxis)) gr_set_font(guidefont(yaxis))
GR.setcharup(-1, 0) GR.setcharup(-1, 0)
if yaxis[:guide_position] == :right || (yaxis[:guide_position] == :auto && yaxis[:mirror] == true) if yaxis[:guide_position] == :right || (yaxis[:guide_position] == :auto && yaxis[:mirror] == true)
GR.settextalign(GR.TEXT_HALIGN_CENTER, GR.TEXT_VALIGN_BOTTOM) GR.settextalign(GR.TEXT_HALIGN_CENTER, GR.TEXT_VALIGN_BOTTOM)
gr_text(viewport_subplot[2], gr_view_ycenter(), yaxis[:guide]) gr_text(viewport_subplot[2], gr_view_ycenter(), yaxis[:guide])
else else
GR.settextalign(GR.TEXT_HALIGN_CENTER, GR.TEXT_VALIGN_TOP) GR.settextalign(GR.TEXT_HALIGN_CENTER, GR.TEXT_VALIGN_TOP)
gr_text(viewport_subplot[1], gr_view_ycenter(), yaxis[:guide]) gr_text(viewport_subplot[1], gr_view_ycenter(), yaxis[:guide])
end
end end
end end
GR.restorestate() GR.restorestate()