---
 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

Reply via email to