X-Git-Url: https://git.llucax.com/z.facultad/75.42/plaqui.git/blobdiff_plain/60478d9e7985b9df7436c232301e124074948935..4341c033f13578b5b3aeb3e08e20d3889cb2d7c7:/Client/src/item_pump.cpp?ds=inline diff --git a/Client/src/item_pump.cpp b/Client/src/item_pump.cpp index 1c25011..70201be 100644 --- a/Client/src/item_pump.cpp +++ b/Client/src/item_pump.cpp @@ -6,10 +6,27 @@ ViewPump::ViewPump(Glib::ustring _name, int orientacion):ViewItem(_name) switch (orientacion) { case 0: 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(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; +}