---
gschem/include/prototype.h | 1 +
gschem/src/o_basic.c | 29 +++++++++++++++++++++++++++++
2 files changed, 30 insertions(+), 0 deletions(-)
diff --git a/gschem/include/prototype.h b/gschem/include/prototype.h
index f4fe3e1..718c530 100644
--- a/gschem/include/prototype.h
+++ b/gschem/include/prototype.h
@@ -487,6 +487,7 @@ void o_draw_xor(GSCHEM_TOPLEVEL *w_current, int dx, int dy,
OBJECT *object);
void o_list_draw_xor(GSCHEM_TOPLEVEL *w_current, int dx, int dy, OBJECT *list);
void o_glist_draw_xor(GSCHEM_TOPLEVEL *w_current, int dx, int dy, GList *list);
void o_invalidate_rect(GSCHEM_TOPLEVEL *w_current, int x1, int y1, int x2, int
y2);
+void o_erase_grips (GSCHEM_TOPLEVEL *w_current, OBJECT *object);
/* o_box.c */
void o_box_draw(GSCHEM_TOPLEVEL *w_current, OBJECT *o_current);
void o_box_draw_solid(GdkDrawable *w, GdkGC *gc, GdkColor *color, GdkCapStyle
cap, gint filled, gint x, gint y, gint width, gint height, gint line_width,
gint length, gint space);
diff --git a/gschem/src/o_basic.c b/gschem/src/o_basic.c
index 73e1c4b..160ffff 100644
--- a/gschem/src/o_basic.c
+++ b/gschem/src/o_basic.c
@@ -699,3 +699,32 @@ void o_invalidate_rect( GSCHEM_TOPLEVEL *w_current,
rect.height = 1 + abs( y1 - y2 ) + 2 * INVALIDATE_MARGIN;
gdk_window_invalidate_rect( w_current->window, &rect, FALSE );
}
+
+/*! \brief Erase grip marks on object.
+ * \par Function Description
+ * This function erases the grips on the object \a object.
+ *
+ * \param [in] w_current The GSCHEM_TOPLEVEL object.
+ * \param [in] object The object of which to erase the grips.
+ */
+void o_erase_grips (GSCHEM_TOPLEVEL *w_current, OBJECT *object)
+{
+ void (*func) (GSCHEM_TOPLEVEL*, OBJECT*) = NULL;
+
+ g_return_if_fail (object != NULL);
+
+ switch (object->type) {
+ case OBJ_ARC: func = o_arc_erase_grips; break;
+ case OBJ_BOX: func = o_box_erase_grips; break;
+ case OBJ_BUS:
+ case OBJ_LINE:
+ case OBJ_NET:
+ case OBJ_PIN: func = o_line_erase_grips; break;
+ case OBJ_CIRCLE: func = o_circle_erase_grips; break;
+ case OBJ_PICTURE: func = o_picture_erase_grips; break;
+ }
+
+ if (func != NULL) {
+ (*func) (w_current, object);
+ }
+}
--
1.5.6
_______________________________________________
geda-dev mailing list
[email protected]
http://www.seul.org/cgi-bin/mailman/listinfo/geda-dev