diff options
author | Michael Meeks <michael.meeks@suse.com> | 2012-03-02 20:56:55 +0000 |
---|---|---|
committer | Michael Meeks <michael.meeks@suse.com> | 2012-03-02 22:14:24 +0000 |
commit | f59733657fdffbc66b2cc3531791aa0bb7a96b51 (patch) | |
tree | e86ec9b27cc11a363e407738ad07ec85f4a10381 /oox/source/helper | |
parent | 36f8ef7f3f344086f55028f725fb70e488bc3411 (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.cxx | 21 |
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()); |