[dia] [substitute] Convert to Path for 'Standard - Beziergon'
- From: Hans Breuer <hans src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [dia] [substitute] Convert to Path for 'Standard - Beziergon'
- Date: Wed, 3 Oct 2012 20:04:37 +0000 (UTC)
commit 49dc6555330b8c99be2894c2048262446e39d160
Author: Hans Breuer <hans breuer org>
Date: Tue Oct 2 23:09:05 2012 +0200
[substitute] Convert to Path for 'Standard - Beziergon'
objects/standard/beziergon.c | 22 ++++++++++++++++++++++
1 files changed, 22 insertions(+), 0 deletions(-)
---
diff --git a/objects/standard/beziergon.c b/objects/standard/beziergon.c
index 5533866..de39b1e 100644
--- a/objects/standard/beziergon.c
+++ b/objects/standard/beziergon.c
@@ -490,6 +490,27 @@ beziergon_set_corner_type_callback (DiaObject *obj, Point *clicked, gpointer dat
return change;
}
+/*!
+ * \brief Convert _Beziergon to _Path
+ * \memberof _Beziergon
+ */
+static ObjectChange *
+_beziergon_convert_to_path_callback (DiaObject *obj, Point *clicked, gpointer data)
+{
+ Beziergon *beziergon = (Beziergon *) obj;
+ BezierShape *bez = &beziergon->bezier;
+ DiaObject *path = NULL;
+
+ if (bez->bezier.num_points > 1)
+ path = create_standard_path (bez->bezier.num_points, bez->bezier.points);
+
+ if (path)
+ return object_substitute (obj, path);
+
+ /* just an empty change */
+ return change_list_create ();
+}
+
static DiaMenuItem beziergon_menu_items[] = {
{ N_("Add Segment"), beziergon_add_segment_callback, NULL, 1 },
{ N_("Delete Segment"), beziergon_delete_segment_callback, NULL, 1 },
@@ -500,6 +521,7 @@ static DiaMenuItem beziergon_menu_items[] = {
GINT_TO_POINTER(BEZ_CORNER_SMOOTH), 1 },
{ N_("Cusp control"), beziergon_set_corner_type_callback,
GINT_TO_POINTER(BEZ_CORNER_CUSP), 1 },
+ { N_("Convert to Path"), _beziergon_convert_to_path_callback, NULL, DIAMENU_ACTIVE }
};
static DiaMenu beziergon_menu = {
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]