bool ViewCodo::on_image_expose_event(GdkEventExpose *e)
{
- Glib::RefPtr<Gdk::Colormap> colormap = image.get_colormap();
- Gdk::Color blanco = Gdk::Color("white");
- colormap->alloc_color(blanco);
+ Glib::RefPtr<Gdk::Colormap> colormap = Gtk::Widget::get_default_colormap();
colormap->alloc_color(color);
- gc->set_foreground(blanco);
- gc->set_background(blanco);
+ gc->set_foreground(color);
+ gc->set_background(color);
gc->set_line_attributes(6, Gdk::LINE_SOLID, Gdk::CAP_NOT_LAST, Gdk::JOIN_MITER);
int w,h;
w = image.get_width();
h = image.get_height();
// TODO : hacer que dibuje arcos en el sentido del codo!
+ if (actual_flow == 0) return true;
switch (m_or) {
case 0:
image.get_window()->draw_arc(gc, 0, -16, 16, w, h, 0, 90*64);
- gc->set_line_attributes(4, Gdk::LINE_SOLID, Gdk::CAP_NOT_LAST, Gdk::JOIN_MITER);
- gc->set_foreground(color);
- image.get_window()->draw_arc(gc, 0, -16, 16, w, h, 0, 90*64);
+ image.get_window()->draw_line(gc, 0, 16, 16, 16);
+ image.get_window()->draw_line(gc, 64-16, 64-16, 64-16, 64);
break;
case 1:
image.get_window()->draw_arc(gc, 0, -16, -16, w, h, 0*64, -90*64);
- gc->set_line_attributes(4, Gdk::LINE_SOLID, Gdk::CAP_NOT_LAST, Gdk::JOIN_MITER);
- gc->set_foreground(color);
- image.get_window()->draw_arc(gc, 0, -16, -16, w, h, 0*64, -90*64);
+ image.get_window()->draw_line(gc, 64-16, 0, 64-16, 16);
+ image.get_window()->draw_line(gc, 0, 64-16, 16, 64-16);
break;
case 2:
image.get_window()->draw_arc(gc, 0, 16, -16, w, h, -90*64, -90*64);
- gc->set_line_attributes(4, Gdk::LINE_SOLID, Gdk::CAP_NOT_LAST, Gdk::JOIN_MITER);
- gc->set_foreground(color);
- image.get_window()->draw_arc(gc, 0, 16, -16, w, h, -90*64, -90*64);
+ image.get_window()->draw_line(gc, 16, 0, 16, 16);
+ image.get_window()->draw_line(gc, 64-16, 64-16, 64, 64-16);
break;
case 3:
image.get_window()->draw_arc(gc, 0, 16, 16, w, h, 90*64, 90*64);
- gc->set_line_attributes(4, Gdk::LINE_SOLID, Gdk::CAP_NOT_LAST, Gdk::JOIN_MITER);
- gc->set_foreground(color);
- image.get_window()->draw_arc(gc, 0, 16, 16, w, h, 90*64, 90*64);
+ image.get_window()->draw_line(gc, 16, 64-16, 16, 64);
+ image.get_window()->draw_line(gc, 64-16, 16, 64, 16);
}
+ return true;
}