Skip to content
Snippets Groups Projects
Commit 5e07d081 authored by stepan's avatar stepan
Browse files

Keep the private versions of SVG functions for backward compatibility

parent 10909673
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