X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Frenderer%2Fseqfeatures%2FFeatureRenderer.java;h=f8e2cefa0ab217810e5b37362de46ed4ffc1d048;hb=3ab582bfeeab1563bedf60e97994e63e672d2e31;hp=7eda2f7ebb279b505c7ccbfb466412c2b6169305;hpb=c77a1af8ef91918f935bbf493d348eb022fa73f7;p=jalview.git diff --git a/src/jalview/renderer/seqfeatures/FeatureRenderer.java b/src/jalview/renderer/seqfeatures/FeatureRenderer.java index 7eda2f7..f8e2cef 100644 --- a/src/jalview/renderer/seqfeatures/FeatureRenderer.java +++ b/src/jalview/renderer/seqfeatures/FeatureRenderer.java @@ -1,7 +1,29 @@ +/* + * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b2) + * Copyright (C) 2015 The Jalview Authors + * + * This file is part of Jalview. + * + * Jalview is free software: you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation, either version 3 + * of the License, or (at your option) any later version. + * + * Jalview is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty + * of MERCHANTABILITY or FITNESS FOR A PARTICULAR + * PURPOSE. See the GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Jalview. If not, see . + * The Jalview Authors are detailed in the 'AUTHORS' file. + */ package jalview.renderer.seqfeatures; +import jalview.api.AlignViewportI; import jalview.datamodel.SequenceFeature; import jalview.datamodel.SequenceI; +import jalview.viewmodel.seqfeatures.FeatureRendererModel; import java.awt.AlphaComposite; import java.awt.Color; @@ -10,8 +32,7 @@ import java.awt.Graphics; import java.awt.Graphics2D; import java.awt.image.BufferedImage; -public class FeatureRenderer extends - jalview.viewmodel.seqfeatures.FeatureRendererModel +public class FeatureRenderer extends FeatureRendererModel { FontMetrics fm; @@ -30,6 +51,18 @@ public class FeatureRenderer extends boolean av_validCharWidth, av_isShowSeqFeatureHeight; + private Integer currentColour; + + /** + * Constructor given a viewport + * + * @param viewport + */ + public FeatureRenderer(AlignViewportI viewport) + { + this.av = viewport; + } + protected void updateAvConfig() { av_charHeight = av.getCharHeight(); @@ -148,17 +181,18 @@ public class FeatureRenderer extends BufferedImage offscreenImage; + @Override public Color findFeatureColour(Color initialCol, SequenceI seq, int res) { return new Color(findFeatureColour(initialCol.getRGB(), seq, res)); } /** - * This is used by the Molecule Viewer and Overview to get the accurate - * colourof the rendered sequence + * This is used by the Molecule Viewer and Overview to get the accurate colour + * of the rendered sequence */ - public synchronized int findFeatureColour(int initialCol, final SequenceI seq, - int column) + public synchronized int findFeatureColour(int initialCol, + final SequenceI seq, int column) { if (!av.isShowSequenceFeatures()) { @@ -225,7 +259,7 @@ public class FeatureRenderer extends } else { - return ((Integer) currentColour).intValue(); + return currentColour.intValue(); } } @@ -316,7 +350,7 @@ public class FeatureRenderer extends } if (offscreenRender && offscreenImage == null) - { + { if (sequenceFeature.begin <= start && sequenceFeature.end >= start) { @@ -349,7 +383,7 @@ public class FeatureRenderer extends else if (showFeature(sequenceFeature)) { if (av_isShowSeqFeatureHeight - && sequenceFeature.score != Float.NaN) + && !Float.isNaN(sequenceFeature.score)) { renderScoreFeature(g, seq, seq.findIndex(sequenceFeature.begin) - 1, @@ -369,7 +403,7 @@ public class FeatureRenderer extends } - if (transparency != 1.0f && g != null && transparencyAvailable) + if (transparency != 1.0f && g != null) { Graphics2D g2 = (Graphics2D) g; g2.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, @@ -377,24 +411,12 @@ public class FeatureRenderer extends } } - boolean transparencyAvailable = true; - - protected void setTransparencyAvailable(boolean isTransparencyAvailable) - { - transparencyAvailable = isTransparencyAvailable; - } - - @Override - public boolean isTransparencyAvailable() - { - return transparencyAvailable; - } - /** * Called when alignment in associated view has new/modified features to * discover and display. * */ + @Override public void featuresAdded() { lastSeq = null;