DocumentServer/ActiveX/ASCOfficeDocxFile2/BinWriter/BinReaderWriterDefines.h
nikolay ivanov a8be6b9e72 init repo
2014-07-05 18:22:49 +00:00

798 lines
15 KiB
C++

/*
* (c) Copyright Ascensio System SIA 2010-2014
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
* version 3 as published by the Free Software Foundation. In accordance with
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
* that Ascensio System SIA expressly excludes the warranty of non-infringement
* of any third-party rights.
*
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at Lubanas st. 125a-25, Riga, Latvia,
* EU, LV-1021.
*
* The interactive user interfaces in modified source and object code versions
* of the Program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU AGPL version 3.
*
* Pursuant to Section 7(b) of the License you must retain the original Product
* logo when distributing the program. Pursuant to Section 7(e) we decline to
* grant you any rights under trademark law for use of our trademarks.
*
* All the Product's GUI elements, including illustrations and icon sets, as
* well as technical writing content are licensed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
#pragma once
namespace BinDocxRW
{
const double eps = 0.001;
const int Page_Width = 210;
const int Page_Height = 297;
const int X_Left_Margin = 30;
const int X_Right_Margin = 15;
const int Y_Bottom_Margin = 20;
const int Y_Top_Margin = 20;
const double Y_Default_Header = 12.5;
const double Y_Default_Footer = 12.5;
const int shd_Clear = 0;
const int shd_Nil = 1;
const int g_tabtype_left = 0;
const int g_tabtype_right = 1;
const int g_tabtype_center = 2;
const int g_tabtype_clear = 3;
const int border_None = 0x0000;
const int border_Single = 0x0001;
const int heightrule_AtLeast = 0x00;
const int heightrule_Auto = 0x01;
const int heightrule_Exact = 0x02;
const int vertalign_Baseline = 0;
const int vertalign_SuperScript = 1;
const int vertalign_SubScript = 2;
const int align_Right = 0;
const int align_Left = 1;
const int align_Center = 2;
const int align_Justify = 3;
const int vertalignjc_Top = 0x00;
const int vertalignjc_Center = 0x01;
const int vertalignjc_Bottom = 0x02;
const int vmerge_Restart = 0x01;
const int vmerge_Continue = 0x02;
const int linerule_AtLeast = 0;
const int linerule_Auto = 1;
const int linerule_Exact = 2;
const int orientation_Portrait = 0x00;
const int orientation_Landscape = 0x01;
const int numbering_numfmt_None = 0x0000;
const int numbering_numfmt_Bullet = 0x1001;
const int numbering_numfmt_Decimal = 0x2002;
const int numbering_numfmt_LowerRoman = 0x2003;
const int numbering_numfmt_UpperRoman = 0x2004;
const int numbering_numfmt_LowerLetter = 0x2005;
const int numbering_numfmt_UpperLetter = 0x2006;
const int numbering_numfmt_DecimalZero = 0x2007;
const int numbering_suff_Tab = 1;
const int numbering_suff_Space = 2;
const int numbering_suff_Nothing = 3;
const int tblwidth_Auto = 0x00;
const int tblwidth_Mm = 0x01;
const int tblwidth_Nil = 0x02;
const int tblwidth_Pct = 0x03;
const int fontstyle_mask_regular = 1;
const int fontstyle_mask_italic = 2;
const int fontstyle_mask_bold = 4;
const int fontstyle_mask_bolditalic = 8;
const int styletype_Character = 0x01;
const int styletype_Numbering = 0x02;
const int styletype_Paragraph = 0x03;
const int styletype_Table = 0x04;
const int fieldstruct_none = 0;
const int fieldstruct_toc = 1;
const int fieldstruct_pagenum = 2;
const int fieldstruct_hyperlink = 3;
const int fieldstruct_locallink = 4;
const double g_dKoef_mm_to_pt = 72 / (2.54 * 10);
const double g_dKoef_mm_to_twips = 20 * g_dKoef_mm_to_pt;
const double g_dKoef_mm_to_emu = 36000;
const double g_dKoef_mm_to_eightpoint = 8 * g_dKoef_mm_to_pt;
const double g_dKoef_mm_to_hps = 2 * g_dKoef_mm_to_pt;
const static TCHAR* g_sFormatSignature = _T("DOCY");
const int g_nFormatVersion = 4;
namespace c_oAscWrapStyle{enum c_oSerFormat
{
Inline = 0,
Flow = 1
};}
namespace c_oSerConstants{enum c_oSerConstants
{
ErrorFormat = -2,
ErrorUnknown = -1,
ReadOk = 0,
ReadUnknown = 1,
ErrorStream = 0x55
};}
namespace c_oSerTableTypes{enum c_oSerTableTypes
{
Signature = 0,
Info = 1,
Media = 2,
Numbering = 3,
HdrFtr = 4,
Style = 5,
Document = 6,
Other = 7,
Comments = 8,
Settings = 9
};}
namespace c_oSerSigTypes{enum c_oSerSigTypes
{
Version = 0
};}
namespace c_oSerHdrFtrTypes{enum c_oSerHdrFtrTypes
{
Header = 0,
Footer = 1,
HdrFtr_First = 2,
HdrFtr_Even = 3,
HdrFtr_Odd = 4,
HdrFtr_Content = 5,
HdrFtr_Y2 = 6,
HdrFtr_Y = 7
};}
namespace c_oSerNumTypes{enum c_oSerNumTypes
{
AbstractNums = 0,
AbstractNum = 1,
AbstractNum_Id = 2,
AbstractNum_Type = 3,
AbstractNum_Lvls = 4,
Lvl = 5,
lvl_Format = 6,
lvl_Jc = 7,
lvl_LvlText = 8,
lvl_LvlTextItem = 9,
lvl_LvlTextItemText = 10,
lvl_LvlTextItemNum = 11,
lvl_Restart = 12,
lvl_Start = 13,
lvl_Suff = 14,
lvl_ParaPr = 15,
lvl_TextPr = 16,
Nums = 17,
Num = 18,
Num_ANumId = 19,
Num_NumId = 20,
lvl_PStyle = 21,
NumStyleLink = 22,
StyleLink = 23
};}
namespace c_oSerOtherTableTypes{enum c_oSerOtherTableTypes
{
ImageMap = 0,
ImageMap_Src = 1,
EmbeddedFonts = 2,
DocxTheme = 3
};}
namespace c_oSerFontsTypes{enum c_oSerFontsTypes
{
Name = 0
};}
namespace c_oSerImageMapTypes{enum c_oSerImageMapTypes
{
Src = 0
};}
namespace c_oSerStyleTypes{enum c_oSerStyleTypes
{
Name = 0,
BasedOn = 1,
Next = 2
};}
namespace c_oSerPropLenType{enum c_oSerPropLenType
{
Null = 0,
Byte = 1,
Short = 2,
Three = 3,
Long = 4,
Double = 5,
Variable = 6
};}
namespace c_oSer_st{enum c_oSer_st
{
DefpPr = 0,
DefrPr = 1,
Styles = 2
};}
namespace c_oSer_sts{enum c_oSer_sts
{
Style = 0,
Style_Id = 1,
Style_Name = 2,
Style_BasedOn = 3,
Style_Next = 4,
Style_TextPr = 5,
Style_ParaPr = 6,
Style_TablePr = 7,
Style_Default = 8,
Style_Type = 9,
Style_qFormat = 10,
Style_uiPriority = 11,
Style_hidden = 12,
Style_semiHidden = 13,
Style_unhideWhenUsed = 14,
Style_RowPr = 15,
Style_CellPr = 16,
Style_TblStylePr = 17
};}
namespace c_oSerProp_tblStylePrType{enum c_oSerProp_tblStylePrType
{
TblStylePr = 0,
Type = 1,
RunPr = 2,
ParPr = 3,
TblPr = 4,
TrPr = 5,
TcPr = 6
};}
namespace c_oSerProp_tblPrType{enum c_oSerProp_tblPrType
{
Rows = 0,
Cols = 1,
Jc = 2,
TableInd = 3,
TableW = 4,
TableCellMar = 5,
TableBorders = 6,
Shd = 7,
tblpPr = 8,
Look = 9,
Style = 10,
tblpPr2 = 11,
Layout = 12
};}
namespace c_oSer_tblpPrType{enum c_oSer_tblpPrType
{
Page = 0,
X = 1,
Y = 2,
Paddings = 3
};}
namespace c_oSer_tblpPrType2{enum c_oSer_tblpPrType2
{
HorzAnchor = 0,
TblpX = 1,
TblpXSpec = 2,
VertAnchor = 3,
TblpY = 4,
TblpYSpec = 5,
Paddings = 6
};}
namespace c_oSerProp_pPrType{enum c_oSerProp_pPrType
{
ContextualSpacing = 0,
Ind = 1,
Ind_Left = 2,
Ind_Right = 3,
Ind_FirstLine = 4,
Jc = 5,
KeepLines = 6,
KeepNext = 7,
PageBreakBefore = 8,
Spacing = 9,
Spacing_Line = 10,
Spacing_LineRule = 11,
Spacing_Before = 12,
Spacing_After = 13,
Shd = 14,
Tab = 17,
Tab_Item = 18,
Tab_Item_Pos = 19,
Tab_Item_Val = 20,
ParaStyle = 21,
numPr = 22,
numPr_lvl = 23,
numPr_id = 24,
WidowControl = 25,
pPr_rPr = 26,
pBdr = 27,
Spacing_BeforeAuto = 28,
Spacing_AfterAuto = 29,
FramePr = 30
};}
namespace c_oSerProp_rPrType{enum c_oSerProp_rPrType
{
Bold = 0,
Italic = 1,
Underline = 2,
Strikeout = 3,
FontAscii = 4,
FontHAnsi = 5,
FontAE = 6,
FontCS = 7,
FontSize = 8,
Color = 9,
VertAlign = 10,
HighLight = 11,
HighLightTyped = 12,
RStyle = 13,
Spacing = 14,
DStrikeout = 15,
Caps = 16,
SmallCaps = 17,
Position = 18,
FontHint = 19,
BoldCs = 20,
ItalicCs = 21,
FontSizeCs = 22,
Cs = 23,
Rtl = 24,
Lang = 25,
LangBidi = 26,
LangEA = 27
};}
namespace c_oSerProp_rowPrType{enum c_oSerProp_rowPrType
{
CantSplit = 0,
GridAfter = 1,
GridBefore = 2,
Jc = 3,
TableCellSpacing = 4,
Height = 5,
Height_Rule = 6,
Height_Value = 7,
WAfter = 8,
WBefore = 9,
WAfterBefore_W = 10,
WAfterBefore_Type = 11,
After = 12,
Before = 13,
TableHeader = 14
};}
namespace c_oSerProp_cellPrType{enum c_oSerProp_cellPrType
{
GridSpan = 0,
Shd = 1,
TableCellBorders = 2,
TableCellW = 3,
VAlign = 4,
VMerge = 5,
CellMar = 6
};}
namespace c_oSerProp_secPrType{enum c_oSerProp_secPrType
{
pgSz = 0,
pgMar = 1,
setting = 2
};}
namespace c_oSerProp_secPrSettingsType{enum c_oSerProp_secPrSettingsType
{
titlePg = 0,
EvenAndOddHeaders = 1
};}
namespace c_oSerParType{enum c_oSerParType
{
Par = 0,
pPr = 1,
Content = 2,
Table = 3,
sectPr = 4,
Run = 5,
CommentStart = 6,
CommentEnd = 7,
OMathPara = 8,
OMath = 9
};}
namespace c_oSerDocTableType{enum c_oSerDocTableType
{
tblPr = 0,
tblGrid = 1,
tblGrid_Item = 2,
Content = 3,
Row = 4,
Row_Pr = 4,
Row_Content = 5,
Cell = 6,
Cell_Pr = 7,
Cell_Content = 8
};}
namespace c_oSerRunType{enum c_oSerRunType
{
run = 0,
rPr = 1,
tab = 2,
pagenum = 3,
pagebreak = 4,
linebreak = 5,
image = 6,
table = 7,
Content = 8,
fldstart = 9,
fldend = 10,
CommentReference = 11,
pptxDrawing = 12
};}
namespace c_oSerImageType{enum c_oSerImageType
{
MediaId = 0,
Type = 1,
Width = 2,
Height = 3,
X = 4,
Y = 5,
Page = 6,
Padding = 7
};}
namespace c_oSerImageType2{enum c_oSerImageType2
{
Type = 0,
PptxData = 1,
AllowOverlap = 2,
BehindDoc = 3,
DistB = 4,
DistL = 5,
DistR = 6,
DistT = 7,
Hidden = 8,
LayoutInCell = 9,
Locked = 10,
RelativeHeight = 11,
BSimplePos = 12,
EffectExtent = 13,
Extent = 14,
PositionH = 15,
PositionV = 16,
SimplePos = 17,
WrapNone = 18,
WrapSquare = 19,
WrapThrough = 20,
WrapTight = 21,
WrapTopAndBottom = 22,
Chart = 23,
ChartImg = 24
};}
namespace c_oSerEffectExtent{enum c_oSerEffectExtent
{
Left = 0,
Top = 1,
Right = 2,
Bottom = 3
};}
namespace c_oSerExtent{enum c_oSerExtent
{
Cx = 0,
Cy = 1
};}
namespace c_oSerPosHV{enum c_oSerPosHV
{
RelativeFrom = 0,
Align = 1,
PosOffset = 2
};}
namespace c_oSerSimplePos{enum c_oSerSimplePos
{
X = 0,
Y = 1
};}
namespace c_oSerWrapSquare{enum c_oSerWrapSquare
{
DistL = 0,
DistT = 1,
DistR = 2,
DistB = 3,
WrapText = 4,
EffectExtent = 5
};}
namespace c_oSerWrapThroughTight{enum c_oSerWrapThroughTight
{
DistL = 0,
DistR = 1,
WrapText = 2,
WrapPolygon = 3
};}
namespace c_oSerWrapTopBottom{enum c_oSerWrapTopBottom
{
DistT = 0,
DistB = 1,
EffectExtent = 2
};}
namespace c_oSerWrapPolygon{enum c_oSerWrapPolygon
{
Edited = 0,
Start = 1,
ALineTo = 2,
LineTo = 3
};}
namespace c_oSerPoint2D{enum c_oSerPoint2D
{
X = 0,
Y = 1
};}
namespace c_oSerBorderType{enum c_oSerBorderType
{
Color = 0,
Space = 1,
Size = 2,
Value = 3
};}
namespace c_oSerShdType{enum c_oSerShdType
{
Value = 0,
Color = 1
};}
namespace c_oSerPaddingType{enum c_oSerPaddingType
{
left = 0,
top = 1,
right = 2,
bottom = 3
};}
namespace c_oSerMarginsType{enum c_oSerMarginsType
{
left = 0,
top = 1,
right = 2,
bottom = 3
};}
namespace c_oSerBordersType{enum c_oSerBordersType
{
left = 0,
top = 1,
right = 2,
bottom = 3,
insideV = 4,
insideH = 5,
start = 6,
end = 7,
tl2br = 8,
tr2bl = 9,
bar = 10,
between = 11
};}
namespace c_oSerWidthType{enum c_oSerWidthType
{
Type = 0,
W = 1,
WDocx = 2
};}
namespace c_oSer_pgSzType{enum c_oSer_pgSzType
{
W = 0,
H = 1,
Orientation = 2
};}
namespace c_oSer_pgMarType{enum c_oSer_pgMarType
{
Left = 0,
Top = 1,
Right = 2,
Bottom = 3,
Header = 4,
Footer = 5
};}
namespace c_oSer_ColorType{enum c_oSer_ColorType
{
None = 0,
Auto = 1
};}
namespace c_oSer_CommentsType{enum c_oSer_CommentsType
{
Comment = 0,
Id = 1,
Initials = 2,
UserName = 3,
UserId = 4,
Date = 5,
Text = 6,
QuoteText = 7,
Solved = 8,
Replies = 9
};}
namespace c_oSer_SettingsType{enum c_oSer_SettingsType
{
ClrSchemeMapping = 0,
DefaultTabStop = 1,
MathPr = 2
};}
namespace c_oSer_MathPrType{enum c_oSer_SettingsType
{
BrkBin = 0,
BrkBinSub = 1,
DefJc = 2,
DispDef = 3,
InterSp = 4,
IntLim = 5,
IntraSp = 6,
LMargin = 7,
MathFont = 8,
NaryLim = 9,
PostSp = 10,
PreSp = 11,
RMargin = 12,
SmallFrac = 13,
WrapIndent = 14,
WrapRight = 15
};}
namespace c_oSer_ClrSchemeMappingType{enum c_oSer_ClrSchemeMappingType
{
Accent1 = 0,
Accent2 = 1,
Accent3 = 2,
Accent4 = 3,
Accent5 = 4,
Accent6 = 5,
Bg1 = 6,
Bg2 = 7,
FollowedHyperlink = 8,
Hyperlink = 9,
T1 = 10,
T2 = 11
};}
namespace c_oSer_OMathBottomNodesType{enum c_oSer_OMathBottomNodesType
{
Aln = 0,
AlnScr = 1,
ArgSz = 2,
BaseJc = 3,
BegChr = 4,
Brk = 5,
CGp = 6,
CGpRule = 7,
Chr = 8,
Count = 9,
CSp = 10,
CtrlPr = 11,
DegHide = 12,
Diff = 13,
EndChr = 14,
Grow = 15,
HideBot = 16,
HideLeft = 17,
HideRight = 18,
HideTop = 19,
MJc = 20,
LimLoc = 21,
Lit = 22,
MaxDist = 23,
McJc = 24,
Mcs = 25,
NoBreak = 26,
Nor = 27,
ObjDist = 28,
OpEmu = 29,
PlcHide = 30,
Pos = 31,
RSp = 32,
RSpRule = 33,
Scr = 34,
SepChr = 35,
Show = 36,
Shp = 37,
StrikeBLTR = 38,
StrikeH = 39,
StrikeTLBR = 40,
StrikeV = 41,
Sty = 42,
SubHide = 43,
SupHide = 44,
Transp = 45,
Type = 46,
VertJc = 47,
ZeroAsc = 48,
ZeroDesc = 49,
ZeroWid = 50,
Column = 51,
Row = 52
};}
namespace c_oSer_OMathBottomNodesValType{enum c_oSer_OMathBottomNodesValType
{
Val = 0,
AlnAt = 1
};}
namespace c_oSer_OMathContentType{enum c_oSer_OMathContentType
{
Acc = 0,
AccPr = 1,
ArgPr = 2,
Bar = 3,
BarPr = 4,
BorderBox = 5,
BorderBoxPr = 6,
Box = 7,
BoxPr = 8,
Deg = 9,
Den = 10,
Delimiter = 11,
DelimiterPr = 12,
Element = 13,
EqArr = 14,
EqArrPr = 15,
FName = 16,
Fraction = 17,
FPr = 18,
Func = 19,
FuncPr = 20,
GroupChr = 21,
GroupChrPr = 22,
Lim = 23,
LimLow = 24,
LimLowPr = 25,
LimUpp = 26,
LimUppPr = 27,
Matrix = 28,
MathPr = 29,
Mc = 30,
McPr = 31,
MPr = 32,
Mr = 33,
Nary = 34,
NaryPr = 35,
Num = 36,
OMath = 37,
OMathPara = 38,
OMathParaPr = 39,
Phant = 40,
PhantPr = 41,
MRun = 42,
Rad = 43,
RadPr = 44,
RPr = 45,
MRPr = 46,
SPre = 47,
SPrePr = 48,
SSub = 49,
SSubPr = 50,
SSubSup = 51,
SSubSupPr = 52,
SSup = 53,
SSupPr = 54,
Sub = 55,
Sup = 56,
MText = 57,
CtrlPr = 58
};}
namespace c_oSer_FramePrType{ enum c_oSer_FramePrType
{
DropCap = 0,
H = 1,
HAnchor = 2,
HRule = 3,
HSpace = 4,
Lines = 5,
VAnchor = 6,
VSpace = 7,
W = 8,
Wrap = 9,
X = 10,
XAlign = 11,
Y = 12,
YAlign = 13
};}
}