void GlSeqBrowser::push_sequence(GlSequenceRef gs)
{
- ColorRef default_color(new Color(0.0, 0.8, 0.0));
+ ColorRef default_color(GlSequence::default_gene_color());
GlSequenceRef new_gs(new GlSequence(gs));
new_gs->update_annotation_draw_function("gene", draw_narrow_track, default_color);
// mark where the sequence is
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];
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(),
const ColorRef color() const;
//! return our draw color
ColorRef color();
+ //! return default gene color
+ static ColorRef default_gene_color();
+ //! return default track color
+ static ColorRef default_track_color();
+
//! return our annotation color mapper
AnnotationColorsRef colorMapper() { return color_mapper; }