X-Git-Url: https://git.llucax.com/z.facultad/75.42/plaqui.git/blobdiff_plain/43fc1b3f57852f2af098fa7411e83220015aaa6f..0cc3f92a0c6e8234a182fd4ffd99c67f9adad774:/Client/src/item_pump.cpp?ds=sidebyside diff --git a/Client/src/item_pump.cpp b/Client/src/item_pump.cpp index 201ce2d..70201be 100644 --- a/Client/src/item_pump.cpp +++ b/Client/src/item_pump.cpp @@ -5,11 +5,28 @@ ViewPump::ViewPump(Glib::ustring _name, int orientacion):ViewItem(_name) { switch (orientacion) { case 0: - image.set("bomba_e.png"); + image.set(PACKAGE_DATA_DIR"/plaqui-client/pixmaps/bomba_e.png"); + in_x = 96-16; + in_y = 0; + out_x = in_x; + out_y = 32; + offset_x = 0; + offset_y = 0; + item_offset_x = 0; + item_offset_y = -15; break; case 1: - image.set("bomba_o.png"); + image.set(PACKAGE_DATA_DIR"/plaqui-client/pixmaps/bomba_o.png"); + in_x = 16; + in_y = 0; + out_x = 16; + out_y = 32; + offset_x = 0; + offset_y = 0; + item_offset_x = 0; + item_offset_y = -15; } + m_or = orientacion; image.show(); set_size_request(); } @@ -18,3 +35,25 @@ ViewPump::~ViewPump() { } +bool ViewPump::on_image_expose_event(GdkEventExpose *e) +{ + Glib::RefPtr colormap = Gtk::Widget::get_default_colormap(); + if (!colormap->alloc_color(color, true, true)) { + std::cout << name << ": Error alocando color!" << std::endl; + } + + gc->set_foreground(color); + gc->set_background(color); + gc->set_line_attributes(6, Gdk::LINE_SOLID, Gdk::CAP_NOT_LAST, Gdk::JOIN_MITER); + if (actual_flow == 0) return true; + switch (m_or) { + case 0: + image.get_window()->draw_arc(gc, 1, 8, 8, 16, 16, 0, 360*64); + image.get_window()->draw_line(gc, 16, 16, 96, 16); + break; + case 1: + image.get_window()->draw_arc(gc, 1, 72, 8, 16, 16, 0, 360*64); + image.get_window()->draw_line(gc, 80, 16, 0, 16); + } + return true; +}