summaryrefslogtreecommitdiffstats
path: root/oox/source/drawingml/customshapes/generatePresetsData.pl
diff options
context:
space:
mode:
Diffstat (limited to 'oox/source/drawingml/customshapes/generatePresetsData.pl')
-rwxr-xr-xoox/source/drawingml/customshapes/generatePresetsData.pl74
1 files changed, 74 insertions, 0 deletions
diff --git a/oox/source/drawingml/customshapes/generatePresetsData.pl b/oox/source/drawingml/customshapes/generatePresetsData.pl
new file mode 100755
index 000000000..99b2ff153
--- /dev/null
+++ b/oox/source/drawingml/customshapes/generatePresetsData.pl
@@ -0,0 +1,74 @@
+#!/usr/bin/env perl
+#
+# This file is part of the LibreOffice project.
+#
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+#
+
+sub loadData()
+{
+ open (IN, "<custom-shapes.log");
+
+ my %sources;
+
+ while (<IN>)
+ {
+ if (/==csdata== /)
+ {
+ if (/shape name: '/)
+ {
+ chop;
+ s/.*shape name: '([^']+)'.*/$1/;
+ $name = $_;
+ }
+ else
+ {
+ if (/==csdata== begin/)
+ {
+ $inside = true;
+ @code = ();
+ }
+ else
+ {
+ if (/==csdata== end/)
+ {
+ s/^ <\/([^>]+)>/$1/;
+ undef $inside;
+ $sources{$name} = [ @code ];
+ }
+ }
+ }
+ }
+ else
+ {
+ if ($inside)
+ {
+ push @code, $_;
+ }
+ }
+ }
+
+ close (IN);
+
+ return \%sources;
+}
+
+sub generateData
+{
+ my $sources = shift;
+ open (OUT, ">oox-drawingml-cs-presets");
+
+ foreach $shape (sort(keys %$sources))
+ {
+ printf OUT "/* %s */\n", $shape;
+ print OUT @{$sources->{$shape}};
+ }
+
+ close OUT;
+}
+
+generateData(loadData());
+
+# vim:set ft=perl shiftwidth=4 softtabstop=4 expandtab: #