tdf#163913 Implement font-relative margins
[LibreOffice.git] / xmloff / inc / PageMasterStyleMap.hxx
blob746b67f1a13d09f4fe29e6fcca3d54a669e679ad
1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 /*
3 * This file is part of the LibreOffice project.
5 * This Source Code Form is subject to the terms of the Mozilla Public
6 * License, v. 2.0. If a copy of the MPL was not distributed with this
7 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
9 * This file incorporates work covered by the following license notice:
11 * Licensed to the Apache Software Foundation (ASF) under one or more
12 * contributor license agreements. See the NOTICE file distributed
13 * with this work for additional information regarding copyright
14 * ownership. The ASF licenses this file to you under the Apache
15 * License, Version 2.0 (the "License"); you may not use this file
16 * except in compliance with the License. You may obtain a copy of
17 * the License at http://www.apache.org/licenses/LICENSE-2.0 .
20 #pragma once
22 #include <xmloff/maptype.hxx>
23 #include <xmloff/xmltypes.hxx>
24 #include <xmloff/contextid.hxx>
27 #define XML_PM_TYPE_PAGESTYLELAYOUT (XML_PM_TYPES_START + 0)
28 #define XML_PM_TYPE_NUMFORMAT (XML_PM_TYPES_START + 1)
29 #define XML_PM_TYPE_NUMLETTERSYNC (XML_PM_TYPES_START + 2)
30 #define XML_PM_TYPE_PAPERTRAYNUMBER (XML_PM_TYPES_START + 3)
31 #define XML_PM_TYPE_PRINTORIENTATION (XML_PM_TYPES_START + 4)
32 #define XML_PM_TYPE_PRINTANNOTATIONS (XML_PM_TYPES_START + 5)
33 #define XML_PM_TYPE_PRINTCHARTS (XML_PM_TYPES_START + 6)
34 #define XML_PM_TYPE_PRINTDRAWING (XML_PM_TYPES_START + 7)
35 #define XML_PM_TYPE_PRINTFORMULAS (XML_PM_TYPES_START + 8)
36 #define XML_PM_TYPE_PRINTGRID (XML_PM_TYPES_START + 9)
37 #define XML_PM_TYPE_PRINTHEADERS (XML_PM_TYPES_START + 10)
38 #define XML_PM_TYPE_PRINTOBJECTS (XML_PM_TYPES_START + 11)
39 #define XML_PM_TYPE_PRINTZEROVALUES (XML_PM_TYPES_START + 12)
40 #define XML_PM_TYPE_PRINTPAGEORDER (XML_PM_TYPES_START + 13)
41 #define XML_PM_TYPE_FIRSTPAGENUMBER (XML_PM_TYPES_START + 14)
42 #define XML_PM_TYPE_CENTER_HORIZONTAL (XML_PM_TYPES_START + 15)
43 #define XML_PM_TYPE_CENTER_VERTICAL (XML_PM_TYPES_START + 16)
45 // control flags
46 #define CTF_PM_FLAGMASK (XML_PM_CTF_START + 0x0F00)
47 #define CTF_PM_HEADERFLAG (XML_PM_CTF_START + 0x0100)
48 #define CTF_PM_FOOTERFLAG (XML_PM_CTF_START + 0x0200)
49 #define CTF_PM_PRINTMASK (XML_PM_CTF_START + 0x1000)
50 // page master
51 #define CTF_PM_BORDERALL (XML_PM_CTF_START + 0x0001)
52 #define CTF_PM_BORDERTOP (XML_PM_CTF_START + 0x0002)
53 #define CTF_PM_BORDERBOTTOM (XML_PM_CTF_START + 0x0003)
54 #define CTF_PM_BORDERLEFT (XML_PM_CTF_START + 0x0004)
55 #define CTF_PM_BORDERRIGHT (XML_PM_CTF_START + 0x0005)
56 #define CTF_PM_BORDERWIDTHALL (XML_PM_CTF_START + 0x0006)
57 #define CTF_PM_BORDERWIDTHTOP (XML_PM_CTF_START + 0x0007)
58 #define CTF_PM_BORDERWIDTHBOTTOM (XML_PM_CTF_START + 0x0008)
59 #define CTF_PM_BORDERWIDTHLEFT (XML_PM_CTF_START + 0x0009)
60 #define CTF_PM_BORDERWIDTHRIGHT (XML_PM_CTF_START + 0x000A)
61 #define CTF_PM_PADDINGALL (XML_PM_CTF_START + 0x000B)
62 #define CTF_PM_PADDINGTOP (XML_PM_CTF_START + 0x000C)
63 #define CTF_PM_PADDINGBOTTOM (XML_PM_CTF_START + 0x000D)
64 #define CTF_PM_PADDINGLEFT (XML_PM_CTF_START + 0x000E)
65 #define CTF_PM_PADDINGRIGHT (XML_PM_CTF_START + 0x000F)
66 #define CTF_PM_TEXTCOLUMNS (XML_PM_CTF_START + 0x0010)
67 #define CTF_PM_REGISTER_STYLE (XML_PM_CTF_START + 0x0011)
68 #define CTF_PM_PRINT_ANNOTATIONS (CTF_PM_PRINTMASK|(XML_PM_CTF_START + 0x0012))
69 #define CTF_PM_PRINT_CHARTS (CTF_PM_PRINTMASK|(XML_PM_CTF_START + 0x0013))
70 #define CTF_PM_PRINT_DRAWING (CTF_PM_PRINTMASK|(XML_PM_CTF_START + 0x0014))
71 #define CTF_PM_PRINT_FORMULAS (CTF_PM_PRINTMASK|(XML_PM_CTF_START + 0x0015))
72 #define CTF_PM_PRINT_GRID (CTF_PM_PRINTMASK|(XML_PM_CTF_START + 0x0016))
73 #define CTF_PM_PRINT_HEADERS (CTF_PM_PRINTMASK|(XML_PM_CTF_START + 0x0017))
74 #define CTF_PM_PRINT_OBJECTS (CTF_PM_PRINTMASK|(XML_PM_CTF_START + 0x0018))
75 #define CTF_PM_PRINT_ZEROVALUES (CTF_PM_PRINTMASK|(XML_PM_CTF_START + 0x0019))
76 #define CTF_PM_MARGINALL (XML_PM_CTF_START + 0x001A)
77 #define CTF_PM_MARGINTOP (XML_PM_CTF_START + 0x001B)
78 #define CTF_PM_MARGINBOTTOM (XML_PM_CTF_START + 0x001C)
79 #define CTF_PM_MARGINLEFT (XML_PM_CTF_START + 0x001D)
80 #define CTF_PM_MARGINRIGHT (XML_PM_CTF_START + 0x001E)
81 #define CTF_PM_WRITINGMODE (XML_PM_CTF_START + 0x001F)
82 #define CTF_PM_RTLGUTTER (XML_PM_CTF_START + 0x0020)
83 #define CTF_PM_MARGINGUTTER (XML_PM_CTF_START + 0x0021)
85 #define CTF_PM_PAGEUSAGE (XML_PM_CTF_START + 0x0031)
86 #define CTF_PM_GRAPHICPOSITION (XML_PM_CTF_START + 0x0032)
87 #define CTF_PM_GRAPHICFILTER (XML_PM_CTF_START + 0x0033)
88 #define CTF_PM_GRAPHICURL (XML_PM_CTF_START + 0x0034)
90 // Need own entries for PageMasterStyleMap since these get *filtered*
91 // at export time using CTF_PM_FLAGMASK and XML_PM_CTF_START as detector
92 // to find the first entry for header/footer (!), see
93 // SvXMLAutoStylePoolP_Impl::exportXML, look for XmlStyleFamily::PAGE_MASTER
94 #define CTF_PM_REPEAT_OFFSET_X (XML_PM_CTF_START + 0x0037)
95 #define CTF_PM_REPEAT_OFFSET_Y (XML_PM_CTF_START + 0x0038)
96 #define CTF_PM_FILLGRADIENTNAME (XML_PM_CTF_START + 0x0039)
97 #define CTF_PM_FILLHATCHNAME (XML_PM_CTF_START + 0x0040)
98 #define CTF_PM_FILLBITMAPNAME (XML_PM_CTF_START + 0x0041)
99 #define CTF_PM_FILLTRANSNAME (XML_PM_CTF_START + 0x0042)
100 #define CTF_PM_FILLBITMAPMODE (XML_PM_CTF_START + 0x0043)
101 #define CTF_PM_FILL (XML_PM_CTF_START + 0x0044)
102 #define CTF_PM_BACKGROUNDSIZE (XML_PM_CTF_START + 0x0045)
104 #define CTF_PM_SCALETO (XML_PM_CTF_START + 0x0051) // calc specific
105 #define CTF_PM_SCALETOPAGES (XML_PM_CTF_START + 0x0052)
106 #define CTF_PM_SCALETOX (XML_PM_CTF_START + 0x0053)
107 #define CTF_PM_SCALETOY (XML_PM_CTF_START + 0x0054)
108 #define CTF_PM_STANDARD_MODE (XML_PM_CTF_START + 0x0055)
109 #define CTP_PM_GRID_BASE_WIDTH (XML_PM_CTF_START + 0x0056)
110 #define CTP_PM_GRID_SNAP_TO_CHARS (XML_PM_CTF_START + 0x0057)
111 #define CTP_PM_GRID_SNAP_TO (XML_PM_CTF_START + 0x0058)
112 // header
113 #define CTF_PM_HEADERBORDERALL (CTF_PM_HEADERFLAG|CTF_PM_BORDERALL)
114 #define CTF_PM_HEADERBORDERTOP (CTF_PM_HEADERFLAG|CTF_PM_BORDERTOP)
115 #define CTF_PM_HEADERBORDERBOTTOM (CTF_PM_HEADERFLAG|CTF_PM_BORDERBOTTOM)
116 #define CTF_PM_HEADERBORDERLEFT (CTF_PM_HEADERFLAG|CTF_PM_BORDERLEFT)
117 #define CTF_PM_HEADERBORDERRIGHT (CTF_PM_HEADERFLAG|CTF_PM_BORDERRIGHT)
118 #define CTF_PM_HEADERBORDERWIDTHALL (CTF_PM_HEADERFLAG|CTF_PM_BORDERWIDTHALL)
119 #define CTF_PM_HEADERBORDERWIDTHTOP (CTF_PM_HEADERFLAG|CTF_PM_BORDERWIDTHTOP)
120 #define CTF_PM_HEADERBORDERWIDTHBOTTOM (CTF_PM_HEADERFLAG|CTF_PM_BORDERWIDTHBOTTOM)
121 #define CTF_PM_HEADERBORDERWIDTHLEFT (CTF_PM_HEADERFLAG|CTF_PM_BORDERWIDTHLEFT)
122 #define CTF_PM_HEADERBORDERWIDTHRIGHT (CTF_PM_HEADERFLAG|CTF_PM_BORDERWIDTHRIGHT)
123 #define CTF_PM_HEADERPADDINGALL (CTF_PM_HEADERFLAG|CTF_PM_PADDINGALL)
124 #define CTF_PM_HEADERPADDINGTOP (CTF_PM_HEADERFLAG|CTF_PM_PADDINGTOP)
125 #define CTF_PM_HEADERPADDINGBOTTOM (CTF_PM_HEADERFLAG|CTF_PM_PADDINGBOTTOM)
126 #define CTF_PM_HEADERPADDINGLEFT (CTF_PM_HEADERFLAG|CTF_PM_PADDINGLEFT)
127 #define CTF_PM_HEADERPADDINGRIGHT (CTF_PM_HEADERFLAG|CTF_PM_PADDINGRIGHT)
128 #define CTF_PM_HEADERHEIGHT (CTF_PM_HEADERFLAG|(XML_PM_CTF_START + 0x0031))
129 #define CTF_PM_HEADERMINHEIGHT (CTF_PM_HEADERFLAG|(XML_PM_CTF_START + 0x0032))
130 #define CTF_PM_HEADERDYNAMIC (CTF_PM_HEADERFLAG|(XML_PM_CTF_START + 0x0033))
131 #define CTF_PM_HEADERGRAPHICPOSITION (CTF_PM_HEADERFLAG|(XML_PM_CTF_START + 0x0034))
132 #define CTF_PM_HEADERGRAPHICFILTER (CTF_PM_HEADERFLAG|(XML_PM_CTF_START + 0x0035))
133 #define CTF_PM_HEADERGRAPHICURL (CTF_PM_HEADERFLAG|(XML_PM_CTF_START + 0x0036))
134 #define CTF_PM_HEADERMARGINALL (CTF_PM_HEADERFLAG|CTF_PM_MARGINALL)
135 #define CTF_PM_HEADERMARGINTOP (CTF_PM_HEADERFLAG|CTF_PM_MARGINTOP)
136 #define CTF_PM_HEADERMARGINBOTTOM (CTF_PM_HEADERFLAG|CTF_PM_MARGINBOTTOM)
137 #define CTF_PM_HEADERMARGINLEFT (CTF_PM_HEADERFLAG|CTF_PM_MARGINLEFT)
138 #define CTF_PM_HEADERMARGINRIGHT (CTF_PM_HEADERFLAG|CTF_PM_MARGINRIGHT)
140 // Need own entries for PageMasterStyleMap ORed with the CTF_PM_HEADERFLAG
141 #define CTF_PM_HEADERREPEAT_OFFSET_X (CTF_PM_HEADERFLAG|CTF_PM_REPEAT_OFFSET_X)
142 #define CTF_PM_HEADERREPEAT_OFFSET_Y (CTF_PM_HEADERFLAG|CTF_PM_REPEAT_OFFSET_Y)
143 #define CTF_PM_HEADERFILLGRADIENTNAME (CTF_PM_HEADERFLAG|CTF_PM_FILLGRADIENTNAME)
144 #define CTF_PM_HEADERFILLHATCHNAME (CTF_PM_HEADERFLAG|CTF_PM_FILLHATCHNAME)
145 #define CTF_PM_HEADERFILLBITMAPNAME (CTF_PM_HEADERFLAG|CTF_PM_FILLBITMAPNAME)
146 #define CTF_PM_HEADERFILLTRANSNAME (CTF_PM_HEADERFLAG|CTF_PM_FILLTRANSNAME)
148 // footer
149 #define CTF_PM_FOOTERBORDERALL (CTF_PM_FOOTERFLAG|CTF_PM_BORDERALL)
150 #define CTF_PM_FOOTERBORDERTOP (CTF_PM_FOOTERFLAG|CTF_PM_BORDERTOP)
151 #define CTF_PM_FOOTERBORDERBOTTOM (CTF_PM_FOOTERFLAG|CTF_PM_BORDERBOTTOM)
152 #define CTF_PM_FOOTERBORDERLEFT (CTF_PM_FOOTERFLAG|CTF_PM_BORDERLEFT)
153 #define CTF_PM_FOOTERBORDERRIGHT (CTF_PM_FOOTERFLAG|CTF_PM_BORDERRIGHT)
154 #define CTF_PM_FOOTERBORDERWIDTHALL (CTF_PM_FOOTERFLAG|CTF_PM_BORDERWIDTHALL)
155 #define CTF_PM_FOOTERBORDERWIDTHTOP (CTF_PM_FOOTERFLAG|CTF_PM_BORDERWIDTHTOP)
156 #define CTF_PM_FOOTERBORDERWIDTHBOTTOM (CTF_PM_FOOTERFLAG|CTF_PM_BORDERWIDTHBOTTOM)
157 #define CTF_PM_FOOTERBORDERWIDTHLEFT (CTF_PM_FOOTERFLAG|CTF_PM_BORDERWIDTHLEFT)
158 #define CTF_PM_FOOTERBORDERWIDTHRIGHT (CTF_PM_FOOTERFLAG|CTF_PM_BORDERWIDTHRIGHT)
159 #define CTF_PM_FOOTERPADDINGALL (CTF_PM_FOOTERFLAG|CTF_PM_PADDINGALL)
160 #define CTF_PM_FOOTERPADDINGTOP (CTF_PM_FOOTERFLAG|CTF_PM_PADDINGTOP)
161 #define CTF_PM_FOOTERPADDINGBOTTOM (CTF_PM_FOOTERFLAG|CTF_PM_PADDINGBOTTOM)
162 #define CTF_PM_FOOTERPADDINGLEFT (CTF_PM_FOOTERFLAG|CTF_PM_PADDINGLEFT)
163 #define CTF_PM_FOOTERPADDINGRIGHT (CTF_PM_FOOTERFLAG|CTF_PM_PADDINGRIGHT)
164 #define CTF_PM_FOOTERHEIGHT (CTF_PM_FOOTERFLAG|(XML_PM_CTF_START + 0x0031))
165 #define CTF_PM_FOOTERMINHEIGHT (CTF_PM_FOOTERFLAG|(XML_PM_CTF_START + 0x0032))
166 #define CTF_PM_FOOTERDYNAMIC (CTF_PM_FOOTERFLAG|(XML_PM_CTF_START + 0x0033))
167 #define CTF_PM_FOOTERGRAPHICPOSITION (CTF_PM_FOOTERFLAG|(XML_PM_CTF_START + 0x0034))
168 #define CTF_PM_FOOTERGRAPHICFILTER (CTF_PM_FOOTERFLAG|(XML_PM_CTF_START + 0x0035))
169 #define CTF_PM_FOOTERGRAPHICURL (CTF_PM_FOOTERFLAG|(XML_PM_CTF_START + 0x0036))
170 #define CTF_PM_FOOTERMARGINALL (CTF_PM_FOOTERFLAG|CTF_PM_MARGINALL)
171 #define CTF_PM_FOOTERMARGINTOP (CTF_PM_FOOTERFLAG|CTF_PM_MARGINTOP)
172 #define CTF_PM_FOOTERMARGINBOTTOM (CTF_PM_FOOTERFLAG|CTF_PM_MARGINBOTTOM)
173 #define CTF_PM_FOOTERMARGINLEFT (CTF_PM_FOOTERFLAG|CTF_PM_MARGINLEFT)
174 #define CTF_PM_FOOTERMARGINRIGHT (CTF_PM_FOOTERFLAG|CTF_PM_MARGINRIGHT)
176 // Need own entries for PageMasterStyleMap ORed with the CTF_PM_FOOTERFLAG
177 #define CTF_PM_FOOTERREPEAT_OFFSET_X (CTF_PM_FOOTERFLAG|CTF_PM_REPEAT_OFFSET_X)
178 #define CTF_PM_FOOTERREPEAT_OFFSET_Y (CTF_PM_FOOTERFLAG|CTF_PM_REPEAT_OFFSET_Y)
179 #define CTF_PM_FOOTERFILLGRADIENTNAME (CTF_PM_FOOTERFLAG|CTF_PM_FILLGRADIENTNAME)
180 #define CTF_PM_FOOTERFILLHATCHNAME (CTF_PM_FOOTERFLAG|CTF_PM_FILLHATCHNAME)
181 #define CTF_PM_FOOTERFILLBITMAPNAME (CTF_PM_FOOTERFLAG|CTF_PM_FILLBITMAPNAME)
182 #define CTF_PM_FOOTERFILLTRANSNAME (CTF_PM_FOOTERFLAG|CTF_PM_FILLTRANSNAME)
184 #define CTF_PM_FTN_HEIGHT (XML_PM_CTF_START + 0x0060)
185 #define CTF_PM_FTN_LINE_WEIGHT (XML_PM_CTF_START + 0x0061)
186 #define CTF_PM_FTN_LINE_COLOR (XML_PM_CTF_START + 0x0062)
187 #define CTF_PM_FTN_LINE_WIDTH (XML_PM_CTF_START + 0x0063)
188 #define CTF_PM_FTN_LINE_ADJUST (XML_PM_CTF_START + 0x0064)
189 #define CTF_PM_FTN_LINE_DISTANCE (XML_PM_CTF_START + 0x0065)
190 #define CTF_PM_FTN_DISTANCE (XML_PM_CTF_START + 0x0066)
191 #define CTF_PM_FTN_LINE_STYLE (XML_PM_CTF_START + 0x0067)
193 extern const XMLPropertyMapEntry aXMLPageMasterStyleMap[];
194 extern const XMLPropertyMapEntry g_XMLPageMasterDrawingPageStyleMap[];
196 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */