JAL-2094 first pass with jalview.api.ColorI interface
[jalview.git] / src / jalview / api / FeatureRenderer.java
index 0d0adaa..5477f57 100644 (file)
@@ -23,7 +23,6 @@ package jalview.api;
 import jalview.datamodel.SequenceFeature;
 import jalview.datamodel.SequenceI;
 
-import java.awt.Color;
 import java.util.List;
 import java.util.Map;
 
@@ -48,7 +47,7 @@ public interface FeatureRenderer
    *          - column position
    * @return
    */
-  Color findFeatureColour(Color col, SequenceI sequenceI, int r);
+  ColorI findFeatureColour(ColorI col, SequenceI sequenceI, int r);
 
   /**
    * trigger the feature discovery process for a newly created feature renderer.
@@ -60,17 +59,15 @@ public interface FeatureRenderer
    * @param ft
    * @return display style for a feature
    */
-  Object getFeatureStyle(String ft);
+  FeatureColourI getFeatureStyle(String ft);
 
   /**
    * update the feature style for a particular feature
    * 
-   * @param ft
-   * @param ggc
-   *          - currently allows java.awt.Color and
-   *          jalview.schemes.GraduatedColor
+   * @param featureType
+   * @param featureColour
    */
-  void setColour(String ft, Object ggc);
+  void setColour(String featureType, FeatureColourI featureColour);
 
   AlignViewportI getViewport();
 
@@ -85,7 +82,7 @@ public interface FeatureRenderer
    * 
    * @return
    */
-  Map<String, Object> getFeatureColours();
+  Map<String, FeatureColourI> getFeatureColours();
 
   /**
    * query the alignment view to find all features
@@ -100,7 +97,7 @@ public interface FeatureRenderer
    * 
    * @return
    */
-  Map<String, Object> getDisplayedFeatureCols();
+  Map<String, FeatureColourI> getDisplayedFeatureCols();
 
   /**
    * get all registered groups
@@ -143,25 +140,19 @@ public interface FeatureRenderer
   List<SequenceFeature> findFeaturesAtRes(SequenceI sequence, int res);
 
   /**
+   * get current displayed types, in ordering of rendering (on top last)
    * 
-   * @return true if the rendering platform supports transparency
-   */
-  boolean isTransparencyAvailable();
-
-  /**
-   * get current displayed types
-   * 
-   * @return
+   * @return a (possibly empty) list of feature types
    */
 
-  String[] getDisplayedFeatureTypes();
+  List<String> getDisplayedFeatureTypes();
 
   /**
    * get current displayed groups
    * 
-   * @return
+   * @return a (possibly empty) list of feature groups
    */
-  String[] getDisplayedFeatureGroups();
+  List<String> getDisplayedFeatureGroups();
 
   /**
    * display all features of these types