Index: obj_common.c =================================================================== --- obj_common.c (revision 10845) +++ obj_common.c (revision 10846) @@ -133,3 +133,16 @@ return; pcb_attribute_copy_all(&o->Attributes, src); } + +void pcb_obj_center(pcb_any_obj_t *obj, pcb_coord_t *x, pcb_coord_t *y) +{ + switch (obj->type) { + case PCB_OBJ_PIN: + *x = ((pcb_pin_t *)(obj))->X; + *y = ((pcb_pin_t *)(obj))->Y; + break; + default: + *x = (obj->BoundingBox.X1 + obj->BoundingBox.X2) / 2; + *y = (obj->BoundingBox.Y1 + obj->BoundingBox.Y2) / 2; + } +}