X-Git-Url: https://git.llucax.com/z.facultad/75.42/plaqui.git/blobdiff_plain/60478d9e7985b9df7436c232301e124074948935..179b67ed3b055a4c0b9014928724f34480bd03e7:/Client/src/item_codo.cpp?ds=sidebyside diff --git a/Client/src/item_codo.cpp b/Client/src/item_codo.cpp index 639e635..3dc290e 100644 --- a/Client/src/item_codo.cpp +++ b/Client/src/item_codo.cpp @@ -16,6 +16,7 @@ ViewCodo::ViewCodo(Glib::ustring _name, int orientacion):ViewItem(_name) case 3: image.set(PACKAGE_DATA_DIR"/plaqui-client/pixmaps/codo_s.png"); } + m_or = orientacion; image.show(); set_size_request(); } @@ -24,3 +25,39 @@ ViewCodo::~ViewCodo() { } +bool ViewCodo::on_image_expose_event(GdkEventExpose *e) +{ + Glib::RefPtr colormap = Gtk::Widget::get_default_colormap(); + colormap->alloc_color(color); + 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); + 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); + 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); + 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); + image.get_window()->draw_line(gc, 16, 64-16, 16, 64); + image.get_window()->draw_line(gc, 64-16, 16, 64, 16); + } + return true; +} +