summaryrefslogtreecommitdiff
path: root/oox/source/helper
diff options
context:
space:
mode:
authorMichael Meeks <michael.meeks@suse.com>2012-03-02 20:56:55 +0000
committerMichael Meeks <michael.meeks@suse.com>2012-03-02 22:14:24 +0000
commitf59733657fdffbc66b2cc3531791aa0bb7a96b51 (patch)
treee86ec9b27cc11a363e407738ad07ec85f4a10381 /oox/source/helper
parent36f8ef7f3f344086f55028f725fb70e488bc3411 (diff)
customshapes: use static integer array for EnhancedCustomShapeSequences
Saves 4% compile time and 200K of space
Diffstat (limited to 'oox/source/helper')
-rw-r--r--oox/source/helper/propertymap.cxx21
1 files changed, 12 insertions, 9 deletions
diff --git a/oox/source/helper/propertymap.cxx b/oox/source/helper/propertymap.cxx
index 1b2e2ea86bc1..334a9214f933 100644
--- a/oox/source/helper/propertymap.cxx
+++ b/oox/source/helper/propertymap.cxx
@@ -574,18 +574,21 @@ static const char* lclDumpAnyValueCode( Any value, int level = 0)
}
return "aAdjSequence";
} else if( value >>= segArray ) {
+ if (segArray.getLength() == 0)
+ return "Sequence< EnhancedCustomShapeSegment >(0)";
+
printLevel (level);
- fprintf (stderr, "Sequence< EnhancedCustomShapeSegment > aSegmentSeq (%" SAL_PRIdINT32 ");\n", segArray.getLength());
- for( int i=0; i<segArray.getLength(); i++ ) {
- printLevel (level);
- fprintf (stderr, "{\n");
- const char *var = lclDumpAnyValueCode (makeAny (segArray[i]), level + 1);
- printLevel (level + 1);
- fprintf (stderr, "aSegmentSeq [%d] = %s;\n", i, var);
+ fprintf (stderr,"static const sal_uInt16 nValues[] = {\n");
+ printLevel (level);
+ fprintf (stderr,"// Command, Count\n");
+ for( int i = 0; i < segArray.getLength(); i++ ) {
printLevel (level);
- fprintf (stderr, "}\n");
+ fprintf (stderr,"\t%d,%d%s\n", segArray[i].Command,
+ segArray[i].Count, i < segArray.getLength() - 1 ? "," : "");
}
- return "aSegmentSeq";
+ printLevel (level);
+ fprintf (stderr,"};\n");
+ return "createCustomShapeSegmentSequence( SAL_N_ELEMENTS( nValues ), nValues )";
} else if( value >>= segTextFrame ) {
printLevel (level);
fprintf (stderr, "Sequence< EnhancedCustomShapeTextFrame > aTextFrameSeq (%" SAL_PRIdINT32 ");\n", segTextFrame.getLength());