summaryrefslogtreecommitdiffstats
path: root/src/text-editing.cpp
diff options
context:
space:
mode:
authorJohn Smith <john.smith7545@yahoo.com>2012-05-26 00:14:56 +0000
committerJohn Smith <removethis.john.q.public@bigmail.com>2012-05-26 00:14:56 +0000
commit6ee7c590a4e30b3fa5767bbabde8fa31e9f14927 (patch)
tree14a6e68a2dc216d97d5c9d9f0c94c0c55d1eadc7 /src/text-editing.cpp
parentmesh gradient: fix bad indexing (diff)
downloadinkscape-6ee7c590a4e30b3fa5767bbabde8fa31e9f14927.tar.gz
inkscape-6ee7c590a4e30b3fa5767bbabde8fa31e9f14927.zip
Fix for 903772 : Support --export-text-to-path when outputting plain SVG
(bzr r11418)
Diffstat (limited to 'src/text-editing.cpp')
-rw-r--r--src/text-editing.cpp17
1 files changed, 17 insertions, 0 deletions
diff --git a/src/text-editing.cpp b/src/text-editing.cpp
index 8f005d86a..44b323989 100644
--- a/src/text-editing.cpp
+++ b/src/text-editing.cpp
@@ -34,6 +34,7 @@
#include "sp-flowtext.h"
#include "sp-flowdiv.h"
#include "sp-flowregion.h"
+#include "sp-item-group.h"
#include "sp-tref.h"
#include "sp-tspan.h"
@@ -62,6 +63,22 @@ static void te_update_layout_now (SPItem *item)
item->updateRepr();
}
+void te_update_layout_now_recursive(SPItem *item)
+{
+ if (SP_IS_GROUP(item)) {
+ GSList *item_list = sp_item_group_item_list(SP_GROUP(item));
+ for(GSList* elem = item_list; elem; elem = elem->next) {
+ SPItem* list_item = (SPItem*) elem->data;
+ te_update_layout_now_recursive(list_item);
+ }
+ g_slist_free(item_list);
+ } else if (SP_IS_TEXT(item))
+ SP_TEXT(item)->rebuildLayout();
+ else if (SP_IS_FLOWTEXT (item))
+ SP_FLOWTEXT(item)->rebuildLayout();
+ item->updateRepr();
+}
+
bool sp_te_output_is_empty(SPItem const *item)
{
Inkscape::Text::Layout const *layout = te_get_layout(item);