Merge branch 'master' of github.com:gcalderone/Gnuplot.jl

This commit is contained in:
Giorgio Calderone 2020-04-17 14:37:44 +02:00
commit c65c9d5db7
2 changed files with 38 additions and 3 deletions

View File

@ -1267,9 +1267,9 @@ function driver(_args...; is3d=false)
end end
end end
(doDump) && (execall(gp)) # (doDump) && (execall(gp))
return nothing return gp
end end
@ -1461,6 +1461,41 @@ save(sid::Symbol; kw...) = execall(getsession(sid); kw...)
save( file::AbstractString; kw...) = savescript(getsession() , file, kw...) save( file::AbstractString; kw...) = savescript(getsession() , file, kw...)
save(sid::Symbol, file::AbstractString; kw...) = savescript(getsession(sid), file, kw...) save(sid::Symbol, file::AbstractString; kw...) = savescript(getsession(sid), file, kw...)
# ╭───────────────────────────────────────────────────────────────────╮
# │ Interfacing Julia's show │
# ╰───────────────────────────────────────────────────────────────────╯
# --------------------------------------------------------------------
# Define a display that will be used when Gnuplot.jl is used
# in the Julia REPL (see PGFPlotsX.jl).
struct GnuplotDisplay <: AbstractDisplay end
function __init__()
pushdisplay(GnuplotDisplay())
atreplinit(i -> begin
if PlotDisplay() in Base.Multimedia.displays
popdisplay(GnuplotDisplay())
end
pushdisplay(GnuplotDisplay())
end)
end
function Base.display(d::GnuplotDisplay, gp::Session)
execall(gp)
return
end
function Base.show(io::IO, ::MIME"image/svg+xml", gp::Session)
tmpfile = tempname()*".svg"
execall(gp; output=tmpfile, term="svg")
write(io, read(tmpfile))
rm(tmpfile; force=true)
return
end
function Base.show(io::IO, ::MIME"image/png", gp::Session)
tmpfile = tempname()*".png"
execall(gp; output=tmpfile, term="png")
write(io, read(tmpfile))
rm(tmpfile; force=true)
return
end
# ╭───────────────────────────────────────────────────────────────────╮ # ╭───────────────────────────────────────────────────────────────────╮
# │ HIGH LEVEL FACILITIES │ # │ HIGH LEVEL FACILITIES │