+ Sequence::const_iterator start_i = begin();
+ Sequence::const_iterator seq_i = begin();
+ Sequence::const_iterator end_i = end();
+
+ Sequence::const_iterator start_block_i = end();
+ for(; seq_i != end_i; ++seq_i)
+ {
+ // need a better set of characters to serch for
+ if (*seq_i == 'N' or *seq_i == 'n') {
+ if (start_block_i == end_i) {
+ start_block_i = seq_i;
+ }
+ } else {
+ if (start_block_i != end_i) {
+ // we got one.
+ size_type start = start_block_i - start_i;
+ size_type count = seq_i - start_block_i;
+ // add the annotation
+ add_annotation(make_undefined_sequence_annotation(draw, start, count));
+ // reset our counter...
+ start_block_i = end_i;
+ }
+ }
+ }
+ // catch stuff at the end
+ if( start_block_i != end_i ) {
+ size_type start = start_block_i - start_i;
+ size_type count = seq_i - start_block_i;
+ add_annotation(make_undefined_sequence_annotation(draw, start, count));
+ }
+}
+
+
+void GlSequence::setX(float value)
+{
+ seq->drawable()->setX(value);
+}
+
+float GlSequence::x() const
+{
+ return seq->drawable()->x();