1 /************************************************************************/
2 /* */
3 /* Read/Write shadings to/from rtf. */
4 /* */
5 /************************************************************************/
6
7 # include "docRtfConfig.h"
8
9 # include <stdio.h>
10 # include <ctype.h>
11
12 # include <psShading.h>
13 # include <appDebugon.h>
14
15 # include "docRtfWriterImpl.h"
16
17 /************************************************************************/
18 /* */
19 /* Save border definition. */
20 /* */
21 /************************************************************************/
22
docRtfSaveShading(RtfWriter * rwc,const ItemShading * is,const char * const * patTags,int patTagCount,const char * foreTag,const char * backTag,const char * levelTag)23 static void docRtfSaveShading( RtfWriter * rwc,
24 const ItemShading * is,
25 const char * const * patTags,
26 int patTagCount,
27 const char * foreTag,
28 const char * backTag,
29 const char * levelTag )
30 {
31 if ( is->isPattern != DOCspSOLID )
32 {
33 docRtfWriteEnumTag( rwc, patTags, is->isPattern,
34 patTagCount, PSshd_COUNT );
35 }
36
37 if ( is->isForeColor > 0 )
38 { docRtfWriteArgTag( rwc, foreTag, is->isForeColor ); }
39 if ( is->isBackColor > 0 )
40 { docRtfWriteArgTag( rwc, backTag, is->isBackColor ); }
41 if ( is->isLevel > 0 )
42 { docRtfWriteArgTag( rwc, levelTag, is->isLevel ); }
43
44 return;
45 }
46
docRtfSaveShadingByNumber(RtfWriter * rwc,int num,const char * const * patTags,int patTagCount,const char * foreTag,const char * backTag,const char * levelTag)47 void docRtfSaveShadingByNumber( RtfWriter * rwc,
48 int num,
49 const char * const * patTags,
50 int patTagCount,
51 const char * foreTag,
52 const char * backTag,
53 const char * levelTag )
54 {
55 ItemShading is;
56
57 docGetItemShadingByNumber( &is, rwc->rwDocument, num );
58
59 docRtfSaveShading( rwc, &is, patTags, patTagCount,
60 foreTag, backTag, levelTag );
61
62 return;
63 }
64