Skip to content
Snippets Groups Projects
Commit cf24fe26 authored by stepan's avatar stepan Committed by Danilo Ansaloni
Browse files

Keep the private versions of SVG functions for backward compatibility

(cherry picked from commit 5e07d081)
parent db29c86e
No related branches found
No related tags found
No related merge requests found
......@@ -21,38 +21,24 @@
eval(expression({
assignInNs <- function(x, val) {
ns <- asNamespace("grDevices")
unlockBinding(x, ns)
assign(x, val, envir = ns, inherits = T)
lockBinding(x, ns)
}
# This should be preffered way of starting the FastR java device.
# For compatibility reasons, both X11 and awt end up calling C_X11.
# In the future, this function may support extra parameters like a
# reference to java 2D graphics object, which will be used for the drawing.
assignInNs('awt', function(width = NULL, height = NULL, graphicsObj = NULL) {
awt <- function(width = NULL, height = NULL, graphicsObj = NULL)
invisible(.External2(grDevices:::C_X11, ".FASTR.AWT", width, height, graphicsObj))
})
# Allows to get the SVG code from SVG device, it also closes the device,
# but the contents are not saved to the given file.
assignInNs('svg.off', function(which = dev.cur()) {
svg.off <- function(which = dev.cur()) {
if (which == 1) {
stop("cannot shut down device 1 (the null device)")
}
.External(C_devoff, as.integer(-which))
})
}
# Allows to get the SVG code from SVG device without closing it
# the symbol info should be constant
svgStringSymbol <- list(name='svgstring')
assignInNs('svg.string', function() {
.External(svgStringSymbol)
})
# Adds help files for the new public functions
.fastr.addHelpPath('/com/oracle/truffle/r/library/fastrGrid/grDevices/Rd')
svg.string <- function() .External(svgStringSymbol)
# GnuR version only works with "X11cairo" device. Our version of savePlot
# works with "awt" device and "X11cairo", which is for us only alias for
......@@ -103,4 +89,13 @@ eval(expression({
grid:::grid.refresh()
}
}), asNamespace("grDevices"))
\ No newline at end of file
}), asNamespace("grDevices"))
# export new public functions
exports <- asNamespace("grDevices")[[".__NAMESPACE__."]][['exports']]
assign('svg.off', 'svg.off', envir = exports)
assign('svg.string', 'svg.string', envir = exports)
assign('awt', 'awt', envir = exports)
# add help files for the new public functions
.fastr.addHelpPath('/com/oracle/truffle/r/library/fastrGrid/grDevices/Rd')
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment