@@ -673,6 +673,23 @@ void svg_raster(unsigned int *raster, int w, int h,
673
673
stream->flush ();
674
674
}
675
675
676
+ SEXP svg_set_pattern (SEXP pattern, pDevDesc dd) {
677
+ return R_NilValue;
678
+ }
679
+
680
+ void svg_release_pattern (SEXP ref, pDevDesc dd) {}
681
+
682
+ SEXP svg_set_clip_path (SEXP path, SEXP ref, pDevDesc dd) {
683
+ return R_NilValue;
684
+ }
685
+
686
+ void svg_release_clip_path (SEXP ref, pDevDesc dd) {}
687
+
688
+ SEXP svg_set_mask (SEXP path, SEXP ref, pDevDesc dd) {
689
+ return R_NilValue;
690
+ }
691
+
692
+ void svg_release_mask (SEXP ref, pDevDesc dd) {}
676
693
677
694
pDevDesc svg_driver_new (SvgStreamPtr stream, int bg, double width,
678
695
double height, double pointsize,
@@ -708,6 +725,14 @@ pDevDesc svg_driver_new(SvgStreamPtr stream, int bg, double width,
708
725
dd->metricInfo = svg_metric_info;
709
726
dd->cap = NULL ;
710
727
dd->raster = svg_raster;
728
+ #if R_GE_version >= 13
729
+ dd->setPattern = svg_set_pattern;
730
+ dd->releasePattern = svg_release_pattern;
731
+ dd->setClipPath = svg_set_clip_path;
732
+ dd->releaseClipPath = svg_release_clip_path;
733
+ dd->setMask = svg_set_mask;
734
+ dd->releaseMask = svg_release_mask;
735
+ #endif
711
736
712
737
// UTF-8 support
713
738
dd->wantSymbolUTF8 = (Rboolean) 1 ;
@@ -741,6 +766,10 @@ pDevDesc svg_driver_new(SvgStreamPtr stream, int bg, double width,
741
766
dd->haveTransparency = 2 ;
742
767
dd->haveTransparentBg = 2 ;
743
768
769
+ #if R_GE_version >= 13
770
+ dd->deviceVersion = R_GE_definitions;
771
+ #endif
772
+
744
773
dd->deviceSpecific = new SVGDesc (stream, standalone, aliases);
745
774
return dd;
746
775
}
0 commit comments