return seq->drawable()->color();
}
+ColorRef GlSequence::default_gene_color()
+{
+ static ColorRef default_color;
+ if (not default_color) {
+ default_color.reset(new Color(0.0, 0.8, 0.0));
+ }
+ return default_color;
+}
+
+ColorRef GlSequence::default_track_color()
+{
+ static ColorRef default_color;
+ if (not default_color) {
+ default_color.reset(new Color(0.0, 0.0, 0.0));
+ }
+ return default_color;
+}
+
int GlSequence::get_viewport_width_in_pixels()
{
GLint viewport[4];
void GlSequence::draw_track(GLfloat left, GLfloat right) const
{
- glColor3fv(color()->get());
// draw main sequence track
+ glColor3fv(color()->get());
draw_box(left, right, x(), x()+Sequence::size(), height(), y(), 0.0, GL_LINE_LOOP);
+
+ glColor3f(0.8, 0.8, 0.8);
+ draw_box(left, right, x(), x()+Sequence::size(), height(), y(), 0.0);
}
void GlSequence::draw_annotations(GLfloat left, GLfloat right) const
assert((*annot_itor)->parent() == seq);
drawable->drawFunction()((*annot_itor), left, right);
} else {
- glColor3f(0.0, 0.8, 0.0);
+ glColor3fv(default_gene_color()->get());
draw_box(left, right, x()+(*annot_itor)->start(), x()+(*annot_itor)->stop(),
height(), y(), annotation_z);
}
float y( (parent_draw) ? parent_draw->y() : 0);
float z( (parent_draw) ? parent_draw->z() : 10 );
float height( (parent_draw) ? parent_draw->height() : default_height );
- Color c( (s->drawable()) ? s->drawable()->color() : Color(0.0, 0.0, 0.0) );
+ Color c( (s->drawable()) ? s->drawable()->color() : *GlSequence::default_track_color() );
glColor3fv(c.get());
float hsmall = height * 0.25;
float y( (parent_draw) ? parent_draw->y() : 0);
float z( (parent_draw) ? parent_draw->z() : 10 );
float height( (parent_draw) ? parent_draw->height() : default_height );
- Color c( (s->drawable()) ? s->drawable()->color() : Color(0.0, 0.0, 0.0) );
+ Color c( (s->drawable()) ? s->drawable()->color() : *GlSequence::default_track_color() );
glColor3fv( c.get() );
GlSequence::draw_box(left, right, x+s->start(), x+s->stop(),