From bb70cc72fc6768d767d208b46719ee2448e0ff31 Mon Sep 17 00:00:00 2001
From: tcarver <tjc>
Date: Mon, 19 Nov 2012 11:49:59 +0000
Subject: [PATCH] add SVG support

---
 .../artemis/components/AlignmentViewer.java   | 22 +++++++++++++++----
 1 file changed, 18 insertions(+), 4 deletions(-)

diff --git a/uk/ac/sanger/artemis/components/AlignmentViewer.java b/uk/ac/sanger/artemis/components/AlignmentViewer.java
index e8d30b680..196669756 100644
--- a/uk/ac/sanger/artemis/components/AlignmentViewer.java
+++ b/uk/ac/sanger/artemis/components/AlignmentViewer.java
@@ -40,6 +40,9 @@ import java.util.Vector;
 import java.util.Comparator;
 import java.util.Arrays;
 import javax.swing.*;
+
+import org.apache.batik.svggen.SVGGraphics2D;
+
 import java.io.FileWriter;
 import java.io.IOException;
 
@@ -1172,14 +1175,25 @@ public class AlignmentViewer extends CanvasPanel
       if(offscreen == null)
         offscreen = createImage(canvas_width, canvas_height);
 
-      Graphics og = offscreen.getGraphics();
-      og.setClip(0,0,canvas_width,canvas_height);
+      final Graphics og;
+      if(!(g instanceof SVGGraphics2D))
+      {
+        og = offscreen.getGraphics();
+        og.setClip(0,0,canvas_width,canvas_height);
+      }
+      else
+        og = g;
+      
       og.setColor(Color.white);
       og.fillRect(0, 0, canvas_width, canvas_height);
       drawAlignments(og);
       drawLabels(og);
-      g.drawImage(offscreen, 0, 0, null);
-      og.dispose();
+       
+      if(!(g instanceof SVGGraphics2D))
+      {
+        g.drawImage(offscreen, 0, 0, null);
+        og.dispose();
+      }
     }
   }
 
-- 
GitLab