- gtk_selection_data_set (selection_data, selection_data->target, 10, (const guchar*)"item_codo.png", 13);
+ gtk_selection_data_set (selection_data, selection_data->target, 10, (const guchar*)"item_codo.png", 13);
+}
+
+bool Constructor::can_drop(CItem *item, int x, int y)
+{
+ std::list<CItem*>::iterator i = listaItems.begin();
+ while( i != listaItems.end() ) {
+ CItem *temp = *i;
+ if ( temp->get_id() != item->get_id() ) {
+ if ( (temp->is_occupied_area(x, y)) ||
+ ( temp->is_occupied_area(x+item->get_image()->get_width()-1, y+item->get_image()->get_height()-1)) ||
+ ( temp->is_occupied_area(x, y+item->get_image()->get_height()-1)) ||
+ ( temp->is_occupied_area(x+item->get_image()->get_width()-1, y) ) )
+ return false;
+ else i++;
+ }
+ else i++;
+ }
+ return true;