- // future functionality - featureType == null means mark columns
- // containing all displayed features
- if (sf != null && (featureType.equals(sf.getType())))
- {
- // optimisation - could consider 'spos,apos' like cursor argument
- // - findIndex wastes time by starting from first character and
- // counting
-
- int i = sq.findIndex(sf.getBegin());
- int j = sq.findIndex(sf.getEnd());
- if (j < startPosition || i > endPosition)
- {
- // feature is outside selected region
- continue;
- }
- sequenceHasFeature = true;
- if (i < startPosition)
- {
- i = startPosition;
- }
- if (i < ist)
- {
- i = ist;
- }
- if (j > endPosition)
- {
- j = endPosition;
- }
- for (; i <= j; i++)
- {
- bs.set(i - 1); // convert to base 0
- }
- }