
importFrom("grid",
           "drawDetails",
           "validDetails",
           "xDetails",
           "yDetails",
           "widthDetails",
           "heightDetails")

export("svgOpen",
       "svgClose",
       "svgStartGroup",
       "svgEndGroup",
       "svgRaster",
       "svgRect",
       "svgLines",
       "svgPolygon",
       "svgPath",
       "svgText",
       "svgCircle",
       "svgScript",
       "svgAnimate",
       "svgStartLink",
       "svgEndLink",
       "svgStyle"
       )

export("animValue",
       "animUnit",
       "as.animValue",
       "as.animUnit")

export("grid.hyperlink",
       "setSVGFonts",
       "getSVGFonts",
       "hyperlinkGrob",
       "grid.animate",
       "animateGrob",
       "grid.garnish",
       "garnishGrob",
       "grid.script",
       "scriptGrob",
       "gridToSVG"
       )

# So other PACKAGES can write translation methods for new grobs
export("grobToDev")
export("primToDev")
export("animate")
export("garnish")

S3method("grobToDev", "grob")
S3method("grobToDev", "gTree")
S3method("grobToDev", "frame")
S3method("grobToDev", "cellGrob")
S3method("grobToDev", "recordedGrob")
# S3method("grobToDev", "linked.grob")
S3method("grobToDev", "script.grob")

S3method("primToDev", "grob")
S3method("primToDev", "gTree")
S3method("primToDev", "lines")
S3method("primToDev", "rastergrob")
S3method("primToDev", "rect")
S3method("primToDev", "segments")
S3method("primToDev", "polygon")
S3method("primToDev", "pathgrob")
S3method("primToDev", "text")
S3method("primToDev", "circle")
S3method("primToDev", "points")
S3method("primToDev", "xaxis")
S3method("primToDev", "yaxis")
S3method("primToDev", "xspline")

S3method("primToDev", "linked.grob")
S3method("primToDev", "animated.grob")
S3method("primToDev", "garnished.grob")

S3method("link", "grob")
S3method("link", "gTree")

S3method("animate", "grob")
S3method("animate", "gTree")

S3method("garnish", "grob")
S3method("garnish", "gTree")

S3method("as.animUnit", "animUnit")
S3method("as.animUnit", "numeric")
S3method("as.animUnit", "unit")
S3method("as.animUnit", "matrix")
S3method("as.animUnit", "list")
S3method("as.animValue", "animValue")
S3method("as.animValue", "numeric")
S3method("as.animValue", "character")
S3method("as.animValue", "matrix")
S3method("as.animValue", "list")

S3method("print", "animValue")
S3method("print", "animUnit")

S3method("toMML", "numeric")
S3method("toMML", "character")
S3method("toMML", "name")
S3method("toMML", "(")
S3method("toMML", "call")
