Compare commits

...

523 Commits

Author SHA1 Message Date
928b3f6b2d Added color selection 2022-12-09 11:04:27 +03:00
4afd068555 Refactoring 2022-12-08 21:24:00 +03:00
41fe473d94 Background generation added 2022-12-08 13:58:03 +03:00
b0d9d27d89 Added generation of wmf file with signature 2022-12-07 22:12:39 +03:00
eb73c4592b Merge pull request #1088 from ONLYOFFICE/fix/bug35023
Fix bug 35023 and other fixes
2022-12-06 10:36:31 +03:00
aa55140bd7 . 2022-12-06 09:53:34 +03:00
b4f7005f7b Merge remote-tracking branch 'origin/fix/refact' into release/v7.3.0 2022-12-06 09:48:19 +03:00
c085828e02 . 2022-12-06 09:29:40 +03:00
147fd5de04 x2t compiled
pptx: pch disabled.
2022-12-06 09:17:43 +03:00
e38498ecba Merge branch 'release/v7.3.0' into fix/refact 2022-12-05 20:28:58 +03:00
fbea298e13 pptx done 2022-12-05 20:27:53 +03:00
e0eecd44cb precompiled - lite mode 2022-12-05 19:20:09 +03:00
a214c3a7cd fix debug build 2022-12-05 19:12:31 +03:00
ce07772680 small refactoring 2022-12-05 17:41:48 +03:00
f38ddc22f1 Merge pull request #1075 from ONLYOFFICE/fix/bug59524
Fix bug 59524
2022-12-05 16:05:45 +03:00
b2e5f6a039 openjpeg support 2022-12-05 16:02:57 +03:00
86dc8b5eb0 . 2022-12-05 15:23:39 +03:00
83060ec8a0 Fixed bug 2022-12-05 15:16:21 +03:00
fab394f33f Removed unnecessary 2022-12-05 15:12:34 +03:00
6506542e35 pptx: Logic/(Runs, Table, Transitions, Path2D)
pch turn off temporarily
2022-12-05 14:34:51 +03:00
d5fa2f3070 Merge pull request #1083 from ONLYOFFICE/fix/bug59250
Fix bug 59250
2022-12-05 09:44:28 +03:00
73116f6375 . 2022-12-05 09:28:44 +03:00
e2d2aba8e5 Merge remote-tracking branch 'origin/fix/refact' into release/v7.3.0 2022-12-05 08:54:52 +03:00
b4820e0e05 fix build linux/macos 2022-12-05 08:21:54 +03:00
46ab617a67 Merge branch 'release/v7.3.0' into fix/refact 2022-12-04 13:35:56 +03:00
3541a01301 Merge pull request #1087 from ONLYOFFICE/fix/x2ttester
Fix bug 60002
2022-12-04 13:33:33 +03:00
bddf255598 pptx: Logic/(Colors, Fills, Media, Path2D) 2022-12-04 13:30:17 +03:00
9b58a31759 Merge remote-tracking branch 'origin/fix/refact' into release/v7.3.0 2022-12-04 10:09:48 +03:00
6d27258090 pptx: Logic/Bullets & Logic/Effects 2022-12-04 00:12:56 +03:00
0507f52a84 Fix bug 60002 2022-12-03 15:54:07 +03:00
2203b9a98e odf pch 2022-12-03 10:26:35 +03:00
96380b314e x2t compiled (debug/release)
debug: compilation speed up
2022-12-02 22:52:40 +03:00
8502c3cea3 Update precompiled.h 2022-12-02 20:42:30 +03:00
c1673b148c Update precompiled.h 2022-12-02 20:40:44 +03:00
04c84c7a9a fix TxtXmlFormatLib + pch files (not final) 2022-12-02 20:38:05 +03:00
53dfc2f2d1 Fixed bugs 2022-12-02 19:06:48 +03:00
2e77b8ef2f Fixed memory leak 2022-12-02 19:05:58 +03:00
eb67c01e34 Merge pull request #1085 from ONLYOFFICE/fix/x2ttester
Fix/x2ttester
2022-12-01 21:37:21 +03:00
0a72a6d1c8 Refactoring 2022-12-01 21:34:49 +03:00
d7d64cbead Refactoring 2022-12-01 21:23:44 +03:00
519e950218 Fixed bug 35023 2022-12-01 17:59:42 +03:00
fb3152fe65 Merge branch 'release/v7.3.0' into fix/refact 2022-12-01 14:43:12 +03:00
4130df7b6c PPTXFormat: Logic (root files)
PPTXFormatLib compiled(release/debug).
x2t compiled.
2022-12-01 14:37:40 +03:00
d529009e26 fix txt 2022-12-01 10:41:59 +03:00
5362ad02db Refactoring 2022-12-01 00:31:38 +03:00
98e3fc20d5 Refactoring 2022-12-01 00:24:09 +03:00
15f10641aa Update x2t readme 2022-12-01 00:12:09 +03:00
572dfd97ce x2t/x2ttester/standardarttester update 2022-12-01 00:08:56 +03:00
d6022efefb Add new algs 2022-11-30 21:48:07 +03:00
de0146e007 Merge pull request #1084 from ONLYOFFICE/fix/bug57911
Fix bug 57911
2022-11-30 19:26:13 +03:00
837b4d5d9b fix 2022-11-30 17:07:39 +03:00
472677cc61 Fix bug 57911
Also partially fixed 58084
2022-11-30 16:44:47 +03:00
641b77da3b minor 2022-11-30 16:19:06 +03:00
583eb8d41e Merge branch 'release/v7.3.0' into fix/refact 2022-11-30 16:04:56 +03:00
ce17a08b17 PPTXFormat: Limit 2022-11-30 16:02:28 +03:00
6cf6013fd6 fix link 2022-11-30 14:57:25 +03:00
e5812bb7c7 Refactoring 2022-11-30 14:50:16 +03:00
239fb5115a . 2022-11-30 14:16:59 +03:00
7f22fa5ce2 fix mac build 2022-11-30 13:10:52 +03:00
712014cfd8 . 2022-11-30 11:40:45 +03:00
a2ac053f85 Merge branch 'release/v7.3.0' into fix/refact 2022-11-30 11:39:10 +03:00
446b8da69a PPTXFormat: ShowPr, Presentation
checked on debug build
2022-11-30 11:33:37 +03:00
27fbc6fa06 . 2022-11-30 11:27:04 +03:00
cc160a50c8 . 2022-11-30 10:56:03 +03:00
ce3aa935d4 build fix after commit 21046ac 2022-11-30 10:09:36 +03:00
8828e9c678 PPTXFormat: Theme, ViewProps 2022-11-30 09:23:02 +03:00
10365d431a unzip fix 2022-11-30 01:43:07 +03:00
def2fb7f85 . 2022-11-29 22:42:58 +03:00
b77268485d . 2022-11-29 22:29:27 +03:00
21046acdd7 . 2022-11-29 22:17:24 +03:00
4a86601909 Merge branch 'release/v7.3.0' into fix/refact 2022-11-29 19:38:35 +03:00
246e62242c fix after merge 2022-11-29 19:27:27 +03:00
9bddef6976 fix namespaces 2022-11-29 19:17:57 +03:00
5f9526d4a0 sync 2022-11-29 18:56:32 +03:00
f382bc9bc8 Merge branch 'release/v7.3.0' into fix/refact 2022-11-29 18:42:55 +03:00
9363fb6e68 PPTXFormat cpp
part 1
2022-11-29 18:32:26 +03:00
566c44a74b revert ppt 2022-11-29 17:09:15 +03:00
a327e4e1fe [x2t] Fix ContentTypes writing for XlsIO library(minfin) 2022-11-29 16:17:34 +03:00
5e37534f4f fix 2022-11-29 14:59:07 +03:00
e1acff706f fix 2022-11-29 13:59:57 +03:00
a87e1d3467 Merge remote-tracking branch 'origin/fix/refact' into release/v7.3.0 2022-11-29 12:42:35 +03:00
7dc713d4fb fix 2022-11-29 12:41:54 +03:00
958badadf9 Merge remote-tracking branch 'origin/fix/refact-ppt' into release/v7.3.0 2022-11-29 11:27:23 +03:00
30f804bfd9 BinDocument refactoring 2022-11-29 09:45:40 +03:00
5399478419 Merge branch 'release/v7.3.0' into fix/refact 2022-11-28 21:10:48 +03:00
b0fe9d0c5b Added .cpp files for all files 2022-11-28 18:49:17 +03:00
adfdac39ef Added .cpp files for all records 2022-11-28 17:37:12 +03:00
9edbe9fee2 fix 2022-11-28 13:57:57 +03:00
502f612aa2 Fix bug 59250 2022-11-28 13:48:21 +03:00
eb5eb69be3 fix bug #59786 2022-11-28 13:32:50 +03:00
ad3faa301d references 2022-11-28 13:14:17 +03:00
dba6f3c705 - unused files 2022-11-27 21:06:01 +03:00
a44a287ca9 . 2022-11-26 11:54:16 +03:00
1b2a57a220 minor 2022-11-26 11:19:09 +03:00
663d780b77 Fix freeze on subfolders 2022-11-26 01:14:35 +03:00
0f929b4a88 build fix after merge 2022-11-25 20:20:45 +03:00
92aa553740 Merge branch 'release/v7.3.0' into fix/refact 2022-11-25 19:01:41 +03:00
f7e0d6e004 OOXML/XlsxFormat done 2022-11-25 18:37:50 +03:00
56fb02d113 externalReference 2022-11-25 17:09:59 +03:00
8958e6e28b Merge pull request #1082 from ONLYOFFICE/fix/metafile2svg
Fixed a bug in metafile to svg conversion
2022-11-25 16:38:30 +03:00
624ed0e449 Add new minimal module for openssl 2022-11-25 16:25:30 +03:00
46a71964d1 perm 2022-11-25 15:40:00 +03:00
3f1cc2707d fix win build 2022-11-25 15:08:04 +03:00
566b612613 . 2022-11-25 14:30:23 +03:00
da33dda7dc Merge branch 'release/v7.3.0' of https://github.com/ONLYOFFICE/core into release/v7.3.0 2022-11-25 14:28:32 +03:00
df7390ad2a build fix 2022-11-25 14:11:39 +03:00
cc0baaafec . 2022-11-25 14:09:33 +03:00
810f7dc592 Fix build 2022-11-25 12:58:56 +03:00
783aa4c7be . 2022-11-25 12:14:48 +03:00
16280f1957 . 2022-11-25 11:37:56 +03:00
6593ff5fac Merge remote-tracking branch 'origin/fix/v7.3-fix-bugs-ppt' into fix/v7.3.0-fix 2022-11-25 11:34:13 +03:00
47679d47ba . 2022-11-25 10:43:28 +03:00
524f4cc285 XlsxFormat changes
part 2
2022-11-25 10:17:04 +03:00
4a74b4a934 XlsxFormat changes
part 1
2022-11-24 20:52:35 +03:00
0caa98998f [x2t] Change order of writing font properties to fix OOXML validator errors 2022-11-24 20:12:37 +03:00
01d99fec57 Fix bug 2022-11-24 19:50:11 +03:00
919ab72ece return animation 2022-11-24 18:41:48 +03:00
d7d7596b10 Merge pull request #1081 from ONLYOFFICE/hotfix/v7.2.2
Fix bug 59462
2022-11-24 18:13:47 +03:00
12ef2e6510 Fix bug 59462 2022-11-24 18:11:20 +03:00
f03a7584dc add HashCode10Atom. But it does not calculate hash correct 2022-11-24 13:50:29 +03:00
782c8aad32 Fix build 2022-11-24 10:41:51 +03:00
6cf47b33f4 Fix build 2022-11-24 10:02:10 +03:00
1dd6e91180 fix build (inline)
must be agreed with the top)
2022-11-23 22:52:51 +03:00
92742e8b69 Fix build 2022-11-23 19:25:00 +03:00
d15762cb36 OOXML/DocxFormat done 2022-11-23 19:06:13 +03:00
5fc0a26c59 Merge pull request #1072 from ONLYOFFICE/fix/metafile_to_svg
Fix/metafile to svg
2022-11-23 18:57:40 +03:00
12e2413944 Merge pull request #1076 from ONLYOFFICE/fix/bug59621
Fix bug 59621
2022-11-23 18:55:39 +03:00
e51258029d Add new wmf/emf => svg convertation 2022-11-23 18:52:54 +03:00
78dcd9065c fix JPXStream2 2022-11-23 17:23:57 +03:00
404139b8d0 Merge branch 'fix/metafile_to_svg' of https://github.com/ONLYOFFICE/core into fix/metafile_to_svg 2022-11-23 17:07:00 +03:00
86ac3febbb Fixed bugs 2022-11-23 16:37:44 +03:00
f3da6a7f1b The algorithm for calculating the width of the minimum pen has been changed 2022-11-23 16:37:25 +03:00
7edc38716f Merge pull request #1074 from ONLYOFFICE/release/v7.3.0
Release/v7.3.0
2022-11-23 16:32:34 +03:00
4608620da8 Fix create core in doctrenderer for pdf 2022-11-23 15:02:29 +03:00
7307376d43 Merge branch 'release/v7.3.0' of https://github.com/ONLYOFFICE/core into release/v7.3.0 2022-11-22 21:15:26 +03:00
244dc8e33f . 2022-11-22 21:15:03 +03:00
00d9ed438b docx cpp
+Math, +Media, +Settings
2022-11-22 21:14:38 +03:00
93f935237d Merge pull request #1071 from ONLYOFFICE/feature/pdffile
Feature/pdffile
2022-11-22 20:51:02 +03:00
5029172e12 . 2022-11-22 20:13:39 +03:00
cb52f87188 Refactoring module 2022-11-22 17:42:14 +03:00
b3cbcbf7ad fix wasm 2022-11-22 17:31:39 +03:00
8ee5b43ce0 GetRotate for edit mode 2022-11-22 17:30:00 +03:00
d2dbd64a21 fix bug #59791 2022-11-22 17:22:00 +03:00
2fe7f309af logic to cpp 2022-11-22 16:52:21 +03:00
1cd225e279 Merge remote-tracking branch 'origin/release/v7.3.0' into feature/pdffile 2022-11-22 16:44:13 +03:00
71226b6b37 comments 2022-11-22 16:29:34 +03:00
6a1e2a8e05 . 2022-11-22 15:41:35 +03:00
27cc65a08a fix vba 2022-11-22 15:13:54 +03:00
07f1c63459 create separate States 2022-11-22 13:30:09 +03:00
0f50633f87 . 2022-11-22 13:25:48 +03:00
37daa3f56a Revert bad commit 2022-11-22 13:23:47 +03:00
bae1da1f1e refactoring and fix empty p:bldLst 2022-11-22 11:10:00 +03:00
53a33cfb19 Merge remote-tracking branch 'origin/fix/v7.3.0-fix' into release/v7.3.0 2022-11-22 10:18:16 +03:00
7e515862a5 build fix 2022-11-22 00:06:36 +03:00
194f2f6b26 . 2022-11-21 23:53:48 +03:00
b2665a2e68 . 2022-11-21 23:10:02 +03:00
4fa833bac2 DocxFormat Opt
to cpp:
- Diagram
- Drawing
- External
- Logic

Without core_release:
145MB -> 129MB
2022-11-21 23:00:31 +03:00
6275bc8fa2 Refactoring 2022-11-21 21:42:13 +03:00
34afdf71e3 . 2022-11-21 20:45:03 +03:00
968002fb2a . 2022-11-21 20:38:55 +03:00
6035597060 trying to throw exeption when timing_2010 isn't actual 2022-11-21 19:47:54 +03:00
5e8e20fbed . 2022-11-21 18:55:27 +03:00
6430a9394f fix nativegraphics and drawingfile 2022-11-21 18:46:43 +03:00
513301aeae . 2022-11-21 17:51:36 +03:00
edd5d6aead fix another project without Mode 2022-11-21 16:18:26 +03:00
4b0ca24396 . 2022-11-21 15:32:23 +03:00
14541b9ee4 Merge pull request #1070 from ONLYOFFICE/feature/x2ttester
Feature/x2ttester
2022-11-21 15:03:06 +03:00
b3b0a158a7 Refactoring 2022-11-21 15:01:18 +03:00
d36b6038a2 PdfReader and PdfWriter moved entirely to PdfFile 2022-11-21 14:12:22 +03:00
45e89465d1 . 2022-11-21 14:04:57 +03:00
4cef6d3f68 . 2022-11-21 13:51:47 +03:00
9ecee62d94 . 2022-11-21 13:01:33 +03:00
8f5baab348 fix 2022-11-21 12:05:14 +03:00
d090b6cd70 . 2022-11-21 11:23:52 +03:00
b8b98795b4 Merge branch 'fix/refact' into fix/v7.3.0-fix 2022-11-21 11:22:35 +03:00
3fb845fc97 SetCore 2022-11-21 10:43:29 +03:00
e0c0166faf Update x2ttester README 2022-11-21 02:12:29 +03:00
64308d7cf0 Update x2ttester 2022-11-21 01:55:34 +03:00
06d0754982 Fix build ios 2022-11-20 21:42:51 +03:00
9af65f4e39 Refactoring formfields 2022-11-20 16:55:40 +03:00
8085865daa Fix CRecordBuildListSubContainer problem and FillBuildNodeBase ref missing 2022-11-20 12:19:08 +03:00
687836b781 Add correct animation spid searcher and checker. Found CRecordBuildListSubContainer problem 2022-11-20 11:52:42 +03:00
e7854cdf40 Fix ios build 2022-11-18 23:25:05 +03:00
9a91a1695b Fix build 2022-11-18 23:11:04 +03:00
6b8804ec27 Fix build 2022-11-18 22:20:51 +03:00
bbe72674e2 create SetCore for pdf 59621 2022-11-18 18:26:14 +03:00
12c93209a3 x2t compiled
- short project names
- win32 projects
- ASCOfficeDocxFile2Lib->BinDocument
- minor fixes
2022-11-18 18:06:15 +03:00
101b79ea49 add animation rejection 2022-11-18 17:01:23 +03:00
abab3dc3d6 Fixed bugs 2022-11-18 15:44:59 +03:00
4f19fca2ed Big refactoring
new project scheme
2022-11-18 15:01:21 +03:00
c667dd6624 fix bug #59786 2022-11-18 14:28:41 +03:00
b1831a0467 Merge pull request #1069 from ONLYOFFICE/hotfix/v7.2.2
Hotfix/v7.2.2
2022-11-18 12:47:10 +03:00
da3a6b3189 Fix bugs with cache 2022-11-18 12:20:05 +03:00
ab849cc03d Fixed bugs 2022-11-17 22:10:51 +03:00
81e03f64db Add support print custom pages in pdf/xps/djvu 2022-11-17 19:24:11 +03:00
a267039f5b fix bug #59716 2022-11-17 14:17:13 +03:00
75ac8dae17 Fix bug 59523 2022-11-17 11:27:43 +03:00
0aed94b748 Fix ios/android build 2022-11-17 10:19:34 +03:00
cc7644bc36 Timing_2010 restructed to control converter of animation 2022-11-16 18:56:01 +03:00
f6cc44d386 Added implementation of EMFPLUS_DRAWDRIVERSTRING in metafile->svg conversion 2022-11-16 18:16:41 +03:00
6a61318513 the heart of the matter 2022-11-16 18:16:14 +03:00
0d5a478949 Added clips support in metafile->svg conversion and refactoring 2022-11-16 18:15:40 +03:00
aee82236cc fix bug #59716 2022-11-16 17:44:11 +03:00
559f274677 fix bug #59719 2022-11-16 17:43:42 +03:00
13c6b18c3f Include Timing_2010.Convert(), no anim correction 2022-11-16 16:47:11 +03:00
ecd3aeed88 Fix second file from 5 9 5 2 3 2022-11-16 15:08:08 +03:00
d2f8669552 refactoring 2022-11-16 15:07:03 +03:00
8ba3ab030d fix bug #59708 2022-11-16 13:02:41 +03:00
503f916d54 Added raw code base for class Timing_2010 2022-11-15 18:54:08 +03:00
7aca8b1d7b for bug #48897 2022-11-15 15:46:26 +03:00
f28221336c Fixed bugs 2022-11-14 20:26:43 +03:00
ed07e856e4 start Timing_2010 mainSeq convertation 2022-11-14 18:34:00 +03:00
9b5c153e64 add class Timing_2010 and tag p:BldLst 2022-11-14 15:56:32 +03:00
c937c57160 minor 2022-11-14 14:55:52 +03:00
1dab4b08d5 Merge pull request #1067 from ONLYOFFICE/fix/v7.3.0-refactoring
Fix/v7.3.0 refactoring
2022-11-12 21:11:09 +03:00
2db34852ea . 2022-11-12 21:08:36 +03:00
de62b3b383 Merge remote-tracking branch 'origin/fix/cpp' into fix/v7.3.0-refactoring 2022-11-12 21:06:17 +03:00
a83cdd6e7f fix bug #59691 2022-11-12 20:38:01 +03:00
805f1d1214 . 2022-11-12 17:53:09 +03:00
3f1960eee3 DocxFormat/Drawing to cpp 2022-11-12 17:14:01 +03:00
1e7c85d310 fix bug #59692 2022-11-12 17:10:25 +03:00
6fd694af1f DocxFormat/Diagram to cpp 2022-11-12 15:36:43 +03:00
3c570883e0 Merge pull request #1066 from ONLYOFFICE/fix/v7.3.0-refactoring
Fix/v7.3.0 refactoring
2022-11-12 13:13:59 +03:00
e8a134c14a . 2022-11-12 13:09:05 +03:00
bb85447946 Merge branch 'fix/txt' into fix/cpp 2022-11-12 09:05:53 +03:00
703893e3f3 Merge remote-tracking branch 'origin/fix/txt' into fix/v7.3.0-refactoring 2022-11-11 22:51:44 +03:00
94cbb259cf Added clip support in metafile to svg conversion and fixed bugs 2022-11-11 19:02:24 +03:00
8b4aae06e6 Fix compile on linux/macos 2022-11-11 18:52:03 +03:00
e025ec2b8e #1 2022-11-11 16:46:06 +03:00
3b7454007a for merge 2022-11-11 16:31:36 +03:00
3f446a7e47 x2t done 2022-11-11 11:28:12 +03:00
8b45546ebd fix bug #59639 2022-11-11 09:57:05 +03:00
1ce6307a56 Compiled version 2022-11-10 23:25:20 +03:00
a989422bca refactoring: Timing_1995 2022-11-10 19:50:02 +03:00
acce41ba3e withot SimpleTypes templates 2022-11-10 18:43:48 +03:00
88bab0600c fix old animation: groupDelay 2022-11-10 16:37:43 +03:00
14cb9c60c1 rollback for default values 2022-11-10 16:36:54 +03:00
e2aad28114 fix old animation <p:timing> struct 2022-11-10 15:16:23 +03:00
f60727c480 Refactoring
without templates
2022-11-10 13:02:22 +03:00
a757b69f03 fix bug #59613 2022-11-10 12:12:43 +03:00
31c852f4f0 Refactoring
Ready TxtXmlFormatLib build with "no-template" changes (Vml, Shared, OMath, Word, Drawing, Spreadsheet)
2022-11-10 09:36:58 +03:00
4264dfdf67 Fixed bugs 2022-11-09 20:13:54 +03:00
49095378d7 Added transparency support for stroke and fill in metafile -> svg conversion and refactoring 2022-11-09 19:40:43 +03:00
057c217457 trying to fix pld animation 2022-11-09 19:06:35 +03:00
558c0ea251 Fixed bugs 2022-11-09 19:02:52 +03:00
ffbc5d2baf Added support for converting pie records to svg 2022-11-09 19:01:26 +03:00
e756e269a4 Added hatched fills to wmf -> svg conversion 2022-11-09 19:00:16 +03:00
ddb082e106 Merge pull request #1065 from ONLYOFFICE/fix/v7.3-fix-bugs-cfcpp
clsid null init
2022-11-09 16:57:02 +03:00
08b93a69af clsid null init 2022-11-09 16:50:31 +03:00
12960e474e add some lost source files 2022-11-09 16:33:03 +03:00
ad0b19caf4 .. 2022-11-09 14:27:45 +03:00
aec81dd7dd Refactoring
preparing a common assembly without templates
2022-11-09 11:47:03 +03:00
875eca3fc0 . 2022-11-09 11:16:32 +03:00
cb30e1362c Refactoring
Ready TxtXmlFormatLib build with "no-template" changes (Vml, Shared, OMath, Word, Drawing)
2022-11-08 23:17:07 +03:00
70e07e3ce1 fix part of 1995 animation bug 2022-11-08 19:56:20 +03:00
6ea4d86ab2 fix bug #59632 2022-11-08 18:41:39 +03:00
da26208a1f fix empty font family_name 2022-11-08 17:49:14 +03:00
75b406e010 Update VmlOfficeDrawing.h 2022-11-08 12:59:58 +03:00
a3491ee217 Refactoring
Word templates with FromStringA
2022-11-08 12:01:49 +03:00
133d86fff5 Refactoring
Ready TxtXmlFormatLib (8.5MB->4MB) build with "no-template" changes (Vml, Shared, OMath, Word).
To be continued.
2022-11-08 10:59:59 +03:00
9d2bd72cfd updated macros 2022-11-08 08:56:37 +03:00
b7bd889049 Word-> DEFINE_SIMPLE_TYPE 2022-11-08 01:06:05 +03:00
acb46e412d Add reformated converter Timiming_1995 with Animation_1995 2022-11-07 22:53:02 +03:00
4be596506d Update SimpleTypes_Vml.h 2022-11-07 20:38:25 +03:00
420d8170dc Refactoring
Ready TxtXmlFormatLib build with "no-template" changes (Vml, Shared, OMath).
To be continued.
2022-11-07 20:36:21 +03:00
bdfcbe65bb Edited hatcheds in the conversion MetafileToSvg and refactoring 2022-11-07 19:37:35 +03:00
c3d5a5a886 fix PdfWriter 2022-11-07 18:43:43 +03:00
52d7a1d14f fix bug #59631 2022-11-07 17:05:45 +03:00
4564f4302a fix empty reader and writer 2022-11-07 13:50:48 +03:00
9e29ea719e Shared -> DEFINE_SIMPLE_TYPE 2022-11-06 17:19:49 +03:00
d7ccf0b95e Added support for some hatched fills when converting a metafile to svg 2022-11-06 12:38:39 +03:00
15c931783f Vml -> DEFINE_SIMPLE_TYPE 2022-11-06 11:40:39 +03:00
0fd3ea574e OMath -> DEFINE_SIMPLE_TYPE 2022-11-06 10:42:50 +03:00
a7137cfc4d Comlex definitions 2022-11-05 10:42:18 +03:00
0c5d24171a Merge pull request #1063 from ONLYOFFICE/feature/docbuilder.com
Feature/docbuilder.com
2022-11-04 22:20:01 +03:00
dffe7aa55e docbuilder.com 2015 build fix 2022-11-04 19:33:22 +03:00
42d7ee8d8f Merge pull request #1062 from ONLYOFFICE/feature/docbuilder.com
Feature/docbuilder.com
2022-11-04 10:42:37 +03:00
53814fddbf Remove pch 2022-11-04 10:41:06 +03:00
3ecd57c8b4 Fix compile project for vs2015 2022-11-04 10:38:37 +03:00
69a40508b7 Add defines in docbuilder.com 2022-11-04 02:51:21 +03:00
71d875e0b5 ComplexTypes cpp 2022-11-03 21:23:49 +03:00
af2f11bff2 Added support for some hatched fills when converting a metafile to svg 2022-11-03 19:08:26 +03:00
80f2dce1b3 Animation reformation. Add head logic to Converter::Animation_1995 2022-11-03 18:40:06 +03:00
70225b2ca6 Merge pull request #1061 from ONLYOFFICE/hotfix/v7.2.2
Hotfix/v7.2.2
2022-11-03 17:56:56 +03:00
f44d81f706 fix GetApplicationFonts 2022-11-03 17:50:48 +03:00
d70d4d50f0 fix PdfReader and PdfWriter, fix BUILDING_WASM_MODULE 2022-11-03 17:47:16 +03:00
4a898653ae Add docbuilder.net defines file 2022-11-03 02:52:43 +03:00
e1168478cd Animation reformation. Add header of old animation parser 2022-11-02 19:12:00 +03:00
e27a20f9ae new PdfReader and PdfWriter for PdfFile 2022-11-02 17:50:50 +03:00
d89679d394 Disable x32 arches by default for ios 2022-11-02 17:00:28 +03:00
b0a891c7ba . 2022-11-02 13:06:36 +03:00
2764479c11 Refactoring... 2022-11-02 13:03:22 +03:00
5be41c5892 Fix bug 2022-11-02 00:04:50 +03:00
ad3a1dbd8f Refactoring 2022-11-01 23:38:10 +03:00
2da365690e Added support for some hatched fills when converting a metafile to svg 2022-11-01 21:05:04 +03:00
c2f6f2d1b5 PdfFile using 2022-11-01 18:36:01 +03:00
21470d1711 Animation reformation was started 2022-11-01 18:30:48 +03:00
58d3c2a914 . 2022-11-01 14:23:38 +03:00
ed3cfd6c55 . 2022-11-01 14:20:37 +03:00
de35674fdc fix copyrights 2022-11-01 14:00:35 +03:00
a36e31ab0f Create test onescript 2022-11-01 13:03:36 +03:00
24c136c1e1 . 2022-10-31 20:05:30 +03:00
77132ec0a2 . 2022-10-31 20:03:30 +03:00
b5bec4339f Merge remote-tracking branch 'origin/feature/lib_cfcpp3' into develop
fix
2022-10-31 19:56:31 +03:00
0daf5042d9 fix pdf info time 2022-10-31 18:08:11 +03:00
675b6a2acc CFStorage's includes was hidden 2022-10-31 18:03:31 +03:00
ed3a8f7916 Indents fix 2022-10-31 17:44:16 +03:00
df48636232 make.py defaults fix 2022-10-31 17:39:31 +03:00
445850393f make.py fix 2022-10-31 17:36:29 +03:00
c9f2320e39 Add dotnet test, refactoring 2022-10-31 17:36:12 +03:00
c66424204d Stream's classes was hidden 2022-10-31 17:30:40 +03:00
b607481860 Rename: int -> _INT32 2022-10-31 15:43:27 +03:00
fb6f0ac83d Merge remote-tracking branch 'origin/fix/v7.3-fix-bugs-ppt' into develop 2022-10-31 15:40:22 +03:00
7da913775f Added a line break when a character is encountered in svg conversion 2022-10-31 14:59:34 +03:00
941ec4b354 Merge remote-tracking branch 'origin/develop' into feature/pdffile
# Conflicts:
#	PdfReader/PdfReader.h
#	PdfReader/PdfReader.pro
2022-10-31 13:18:43 +03:00
bda5c3bbb9 test fix 2022-10-31 13:09:20 +03:00
32d0357e1f Refactoring 2022-10-31 11:56:41 +03:00
6f18cc2c60 correct unit tests 2022-10-31 11:54:42 +03:00
f936175708 Fix ios build 2022-10-31 11:46:00 +03:00
96d5940126 Developing 2022-10-29 10:48:55 +03:00
6803651681 . 2022-10-29 09:15:01 +03:00
5ea8a3ba5e Changed the minimum width of the pen when converting to svg 2022-10-28 20:23:59 +03:00
a090c47c05 Improving gradients when converting to svg 2022-10-28 20:15:23 +03:00
f83cbee774 Edited the position of the rotated text when converting to svg 2022-10-28 20:14:19 +03:00
23d500eca4 Add CreateTypedArray
Fix memory leak
2022-10-28 16:45:18 +03:00
addabe9fca update to new compound in crypt 2022-10-28 13:09:13 +03:00
a8d819694d . 2022-10-28 10:53:01 +03:00
5a3a5a37ab fix build 2022-10-28 10:32:48 +03:00
f1fe7ea410 Refactoring 2022-10-27 21:47:20 +03:00
d39df6d82d Fix bug
it finally works!
2022-10-27 19:15:22 +03:00
f4326c0cd7 Svg added support for embedded emf+ metafiles 2022-10-27 19:12:41 +03:00
be08660d01 PdfFile multiple inheritance 2022-10-27 18:36:32 +03:00
33890472f3 . 2022-10-27 17:47:25 +03:00
0f9730814b cf 2022-10-27 17:13:55 +03:00
b28acbabe8 no message 2022-10-27 15:52:54 +03:00
fbb533200f Increase DEPLOYMENT_TARGET value for ios 2022-10-27 12:37:00 +03:00
f5f2a38c7e . 2022-10-27 10:27:58 +03:00
71768d09a6 Merge remote-tracking branch 'origin/feature/lib_cfcpp2' into feature/cf_merge 2022-10-27 09:22:39 +03:00
bb0d3e72e9 fix bug #59365 2022-10-27 08:58:31 +03:00
780c66ef5b Test update 2022-10-26 21:38:25 +03:00
4e63672518 fix part of 59405 2022-10-26 18:43:58 +03:00
d985f924a3 tests 2022-10-26 15:23:11 +03:00
4a587e96d4 fix bug #59365 2022-10-26 10:32:31 +03:00
aa490d4dd3 docbuilder.com beginning 2022-10-26 00:56:07 +03:00
99a4f2f5df fix bug #59496 2022-10-25 21:09:13 +03:00
515cde9544 Vertical refactoring 2022-10-25 19:04:07 +03:00
8959a61c33 without XMLConverter::DictToXml 2022-10-25 18:39:14 +03:00
8f368ad64c Unit tests were corrected and refactored 2022-10-25 18:04:19 +03:00
3e1f2135f5 fix bug #58982 2022-10-25 16:57:58 +03:00
ce7eec890b correct compund file header write possition 2022-10-24 23:00:19 +03:00
ab4eba01a3 Increased the number of supported emf+ records 2022-10-24 20:39:26 +03:00
968b8b6ec6 create DictToCDictObject 2022-10-24 18:02:09 +03:00
50db6f16cb refactoring: transition 2022-10-21 20:43:48 +03:00
8f161b09ee Start of emf+ to svg support 2022-10-21 15:45:04 +03:00
1d118aa59d Merge pull request #1060 from ONLYOFFICE/feature/x2ttester
Feature/x2ttester
2022-10-20 22:03:35 +03:00
60a5242758 fix bug #59412 2022-10-20 21:16:05 +03:00
3b7ea8504f Add waiting to subfolders 2022-10-20 20:42:29 +03:00
15e001ee35 Add subfolders support
- Subfolders creating
- Fix bug
- Add start logo
2022-10-20 20:21:59 +03:00
a20e5fe003 Fix stroke width 2022-10-19 18:35:38 +03:00
2f20d4a3c7 [x2t] Fix bug 59350 2022-10-19 17:28:28 +03:00
0c91d6b648 Changed the work with the META_DIBBITBLT record 2022-10-19 16:15:52 +03:00
f4eb7ac3d0 Fixed merge issues 2022-10-19 15:58:26 +03:00
d3231b89ec Merge branch 'fix/metafile_bugs' into fix/metafile_to_svg 2022-10-19 15:09:03 +03:00
12f6d9407c Refactoring 2022-10-19 14:40:03 +03:00
28ab074cbe Output formats fix 2022-10-19 00:09:53 +03:00
13d4f7e8b7 small changes. Tag a:srgbClr val toupper. Tag a:endParaRPr sz arg replaced 2022-10-18 23:33:10 +03:00
200fba5615 Merge pull request #1057 from ONLYOFFICE/feature/x2ttester
Feature/x2ttester
2022-10-18 23:12:24 +03:00
b85f72b992 Add subfolders 2022-10-18 22:29:19 +03:00
1d25169cc6 x2tTester update
PDF -> docx, images
2022-10-18 22:22:43 +03:00
e36a0296c8 x2tTester fix bug
Add CS for working with files & folders
Update output
2022-10-18 22:00:01 +03:00
0960534d01 Fixed a problem with dibpattern 2022-10-18 19:12:03 +03:00
8887978540 merge correction 2022-10-18 17:53:45 +03:00
1d60f40d03 Merge pull request #1056 from ONLYOFFICE/feature/x2ttester
Feature/x2ttester
2022-10-18 15:10:46 +03:00
613a3a8507 refactoring: transition 2022-10-18 14:28:17 +03:00
04fdec16ca Refactoring 2022-10-18 01:47:07 +03:00
dd1bbb7c01 Fix bug 2022-10-18 01:15:04 +03:00
5acf726115 Fix bug
Now x2ttester waiting for creating folders and files
2022-10-18 00:41:03 +03:00
f1e45a5ab9 Fix bug
now folders create in CConverter
2022-10-18 00:02:42 +03:00
9f77442c23 Add error if config is not exist 2022-10-17 21:00:30 +03:00
42db0d787e fix bug #59361 2022-10-17 17:54:31 +03:00
ce87bb8461 Update x2tTester 2022-10-17 17:37:42 +03:00
117131b03d for bug #59360 2022-10-17 15:58:02 +03:00
56521b789f Merge branch 'develop' into fix/metafile_to_svg 2022-10-17 12:46:51 +03:00
6c4b0c9c86 Merge pull request #1052 from ONLYOFFICE/hotfix/v7.2.1
Hotfix/v7.2.1
2022-10-16 22:09:02 +03:00
c785e7f3a7 Merge pull request #1051 from ONLYOFFICE/feature/x2ttester
Feature/x2ttester
2022-10-16 19:58:04 +03:00
ae26d32681 Fix bugs in x2ttester 2022-10-16 19:55:24 +03:00
ed962804e3 Update formats
update pdf format
add new formats
2022-10-16 19:31:17 +03:00
eb323157f2 Formats fix & configuration update
add errorsOnly node
Refactoring
2022-10-16 05:13:33 +03:00
dd7573a745 Rename node name 2022-10-15 22:06:04 +03:00
e15a1a92fe Fix compile for linux/macos 2022-10-15 22:04:51 +03:00
9cee4a6696 Add more formats 2022-10-15 15:05:04 +03:00
08073f5c08 Refactoring 2022-10-14 19:55:51 +03:00
b49d7331ff Added support for EMR_SCALEWINDOWEXTEX and EMR_SCALEVIEWPORTEXTEX records 2022-10-14 19:37:44 +03:00
58fc9d7bcb small changes 2022-10-14 19:08:13 +03:00
2f553229a9 x2tTester README update 2022-10-14 17:52:54 +03:00
6d3729a132 x2tTester configuration update 2022-10-14 17:48:55 +03:00
7132984ebf Merge remote-tracking branch 'origin/feature/vba-forms' into develop 2022-10-14 12:53:15 +03:00
bb8c58c84b Merge remote-tracking branch 'origin/hotfix/v7.2.1' into develop 2022-10-14 12:51:58 +03:00
81535011fb Create x2t readme file 2022-10-12 16:56:29 +03:00
a97e7ef52d Fixed bugs and refactoring 2022-10-12 15:19:57 +03:00
96f6c8a510 Fixed bugs 2022-10-11 18:41:53 +03:00
d06c4a5104 Changed the algorithm for calculating the minimum width of the pen and editing bugs 2022-10-10 20:43:29 +03:00
9d47eef3e9 vba form 2022-10-10 14:47:36 +03:00
38b693c7fd x2tTester update
- update config
- add multitasking
2022-10-08 20:21:00 +03:00
40d2f8d11d xml configuration update 2022-10-07 16:36:24 +03:00
30a36f315c Changed the equation for calculating the minimum width of the pen 2022-10-06 20:47:25 +03:00
d77af73a75 Merge pull request #1047 from ONLYOFFICE/hotfix/v7.2.1
Hotfix/v7.2.1
2022-10-06 20:28:17 +03:00
b6cdf0e002 rename internal vars 2022-10-06 16:37:25 +03:00
63cd907eba Refactoring 2022-10-06 11:14:27 +03:00
56e02231db remove comments 2022-10-05 15:14:23 +03:00
42518d300e readme update 2022-10-04 20:46:00 +03:00
a2a8d85cd4 x2tTester update 2022-10-04 20:41:40 +03:00
bb1dc3c8b4 null as default value for all vars in headers 2022-10-04 18:24:23 +03:00
5750ef2687 fix write large stream 2022-10-04 18:08:18 +03:00
290531e5d4 Added support for EMR_PAITRGN recording and bug fixes 2022-10-03 19:54:21 +03:00
9b963ae9cf Add minimal test 2022-10-03 18:14:41 +03:00
8e70be5415 Typos removed 2022-10-03 14:33:11 +03:00
8beb92191c fix creating new large files 2022-10-02 21:48:19 +03:00
5dca22470f add test 2022-09-30 14:46:53 +03:00
a9e7c6794b Added support for embedded WMF file in EMF file, fixed bugs 2022-09-29 19:14:06 +03:00
b9c467142f small changes 2022-09-29 10:02:04 +03:00
aca965565e add functions 2022-09-28 18:53:13 +03:00
08c9874687 Merge pull request #1043 from ONLYOFFICE/feature/hyphen
Feature/hyphen
2022-09-28 11:38:07 +03:00
e273f78465 add test copy large file and the same fix 2022-09-27 23:01:35 +03:00
fd6259fed4 Refactoring 2022-09-26 23:55:24 +03:00
9e95aece26 fix 2022-09-26 22:02:41 +03:00
6f93961f67 hyphen test update 2022-09-26 19:38:55 +03:00
a2c4b69bae Changed bitmap rendering in emf+ and refactoring 2022-09-26 19:19:19 +03:00
2e952f0550 add large stream write test and fix compoundFile::Ver_4 2022-09-26 11:31:03 +03:00
83ba081ebb Refactoring 2022-09-25 22:55:32 +03:00
c9d77f53da Hyphen update 2022-09-24 03:34:22 +03:00
93caa36664 Small refactoring 2022-09-23 23:29:51 +03:00
cb27880fd0 Update loading dictionaries 2022-09-23 22:43:25 +03:00
c591ed20cc Indents refactoring 2022-09-23 22:18:42 +03:00
f94e98e09d Hyphen update 2022-09-23 22:12:09 +03:00
029908f8a1 General refactoring 2022-09-23 21:59:32 +03:00
71929b726e Fix bug #43995
Added support for embedded Emf file to Wmf file
2022-09-23 13:27:55 +03:00
8669c75795 fix PdfReader without PdfWriter 2022-09-23 12:27:47 +03:00
35cbbe2fb1 Add combobox in js test 2022-09-22 21:53:34 +03:00
a0970d0963 add utc file timestamp 2022-09-22 20:07:09 +03:00
14756b05b7 Fixed minor bugs 2022-09-22 18:38:14 +03:00
316c85f0ce Fixed minor bugs 2022-09-22 17:28:27 +03:00
98798e39c6 fix creating compoundfile 2022-09-22 00:16:46 +03:00
82b5b08dfc Hyphen refactoring 2022-09-21 19:43:27 +03:00
9205100eb3 Hyphen update + refactoring 2022-09-21 19:28:08 +03:00
af318a7c79 Fixed minor bugs 2022-09-21 17:22:29 +03:00
8f043e88fd Fix bug #40328 2022-09-21 17:21:21 +03:00
212c1466f7 create test for PdfFile 2022-09-21 17:19:04 +03:00
046e54f3f5 Add test and fix std::shared_from_this: protected -> public 2022-09-21 13:17:42 +03:00
62f1eb1967 Merge remote-tracking branch 'origin/release/v7.2.0' into feature/lib_cfcpp2 2022-09-20 20:29:43 +03:00
de4c288490 Hyphen update
Add load dictionaries
Add HyphenApplication
Add load dictionaries from stream
2022-09-20 16:53:58 +03:00
3e06b085b7 Refactoring 2022-09-20 15:30:00 +03:00
3344987b6e Merge pull request #1039 from ONLYOFFICE/release/v7.2.0
Release/v7.2.0
2022-09-20 12:19:31 +03:00
07dd157167 create PdfFile 2022-09-19 17:42:15 +03:00
50870e499b JSON for make.py add 2022-09-19 16:42:01 +03:00
59cad91a22 HyphenUtils add 2022-09-19 16:23:37 +03:00
1eaefde012 Added experimental red-black tree output iterator. Fixed compoundfile Delete() 2022-09-16 22:54:30 +03:00
a3d82f82de Add delete test 2022-09-16 21:57:27 +03:00
433656c178 Fixed bugs with text and incorrect Transform 2022-09-16 18:42:13 +03:00
40033e4482 Fixed AddStream() 2022-09-16 00:05:58 +03:00
cb90b1d92a Correct CompundFile test 2022-09-15 23:56:20 +03:00
b01dd7eefc Hyphen test update 2022-09-15 18:08:08 +03:00
34a2091dfc Hyphen js+wasm test add 2022-09-15 15:14:01 +03:00
fef9e77478 fix NullifyChildNodes() and not zero empty CFItem size 2022-09-14 18:08:02 +03:00
4716b633e2 Hyphen test add 2022-09-14 18:01:46 +03:00
d90357944e New SVector: wrapped shared vector 2022-09-06 19:48:22 +03:00
bdb90074b0 Fixed: stream seek, GetDataBySID(), shared_from_this(), empty dirRepository and replaced children-> to getter 2022-09-02 16:46:15 +03:00
e489ec84de renamed cppcf -> cfcpp 2022-09-02 14:53:37 +03:00
aee00012ab trying to fix addStream()/addStorage(). SVector copy constructor problem 2022-09-01 18:46:24 +03:00
81b6f331c6 fixed empty dirRepository and replaced children-> to getter 2022-08-30 17:43:02 +03:00
0655ef49e5 fixed shared_from_this() 2022-08-30 17:10:20 +03:00
179ad9a61e fixed small problems and found setRight() problem 2022-08-29 18:38:54 +03:00
e48072bcae fix GetDataBySID() 2022-08-26 17:11:18 +03:00
1d0e88553e Fixed stream seek problem. Fixed CompoundFile::Save() 2022-08-25 16:51:41 +03:00
85b3ccafc4 stream no seek problem 2022-08-24 20:26:50 +03:00
5ff9863b8d Fixed bugs 2022-08-23 19:39:30 +03:00
287f3b39e0 fix compoundfile read 2022-08-23 16:13:01 +03:00
36ce9c0be6 Added hatching support and fixed bugs 2022-08-19 19:53:29 +03:00
b52466e4c7 Fixed bugs and refactoring 2022-08-18 13:49:48 +03:00
b5431fab8f Fixed an extra fill bug 2022-08-16 19:44:07 +03:00
97bde00af7 Added implementation of EMR_FILLPATH entry 2022-08-16 18:48:36 +03:00
998ef28451 Fixed bugs and refactoring 2022-08-16 17:06:02 +03:00
17fdfc6741 Refactoring 2022-08-12 21:50:45 +03:00
c3143cbd79 Added support for EMR_FILLRGN records and implemented combining multiple records in <g> 2022-08-12 18:42:14 +03:00
89afbf2bc1 Fixed bugs and refactoring 2022-08-12 18:00:12 +03:00
0949f112d0 Merge pull request #1007 from ONLYOFFICE/release/v7.2.0
Release/v7.2.0
2022-08-12 16:54:54 +03:00
04ea2ce07d Refactoring 2022-08-11 19:19:34 +03:00
e91e1d7f71 The principle of working with transform has been changed, as well as text conversion has been improved 2022-08-10 17:26:30 +03:00
dc358d4244 Fixed a bug in Bezier curves 2022-08-08 19:53:10 +03:00
58f2b9d3f0 new Stream for StreamView 2022-08-03 17:23:53 +03:00
ad10681ba0 small fixes for CompoundFile 2022-08-02 00:15:42 +03:00
7e56083ec9 comeback fstream and add some usefull function for path correcting 2022-08-01 21:19:29 +03:00
8f74b9362a Revert "test NSFile::CFileBinary as Stream"
This reverts commit 54261fd1a1.
2022-08-01 19:41:46 +03:00
54261fd1a1 test NSFile::CFileBinary as Stream 2022-08-01 19:37:43 +03:00
fa16a17aec added dependens(base.pri) for cfcpp library 2022-07-29 00:25:19 +03:00
c6fb020fda added and passed Header and DirectoryEntry tests 2022-07-27 22:36:56 +03:00
7859d6ef03 added and passed StreamRW tests 2022-07-26 19:31:25 +03:00
d29966342b add googletest and correct partof class StreamRW 2022-07-25 18:47:10 +03:00
bbb8b19ee3 fix std::copy() using 2022-07-25 14:15:35 +03:00
42b155cd92 correct headers 2022-07-22 20:25:37 +03:00
a34aa4109a remove not working CFStorage/CFStrem constructor's invocation 2022-07-20 17:08:01 +03:00
26e21b5207 added event , removed BinaryReader, correct some metods of CompoundFile 2022-07-20 00:35:15 +03:00
975f73115d Merge pull request #984 from ONLYOFFICE/release/v7.2.0
Release/v7.2.0
2022-07-18 17:46:10 +03:00
274976815c add class CFStream 2022-07-15 23:55:21 +03:00
ae4ecd4667 advanced C++11. Add std::function, std::iterator 2022-07-13 21:19:06 +03:00
f42206b55f add class CFStorage 2022-07-12 18:49:46 +03:00
f78048d617 add part of class CFStorage 2022-07-11 19:14:14 +03:00
1ce32462e0 add CFItem 2022-07-08 16:40:38 +03:00
ff99d9bbb9 correct SVector 2022-07-05 22:51:06 +03:00
b739a465a5 add some methods in compoundfile for class CFStorage 2022-07-04 23:03:48 +03:00
98c72833c4 writed all case methods GetSectorChain() in compundfile 2022-07-01 19:34:22 +03:00
9e948c0c37 refactoring class DirectoryEntry 2022-06-30 17:24:01 +03:00
446d694b1d add class DirectoryEntry with IRBNode realization and RBTree 2022-06-30 00:58:11 +03:00
f4991f5e0d add class DirectoryEntry without IRBNode realization 2022-06-24 16:02:44 +03:00
98cd78c3a4 add part of class compoundfile. Save/Load 2022-06-22 00:26:27 +03:00
c3e060d13b add part of class compoundfile 2022-06-16 23:29:48 +03:00
014c219089 add class SVector like C sharp List 2022-06-15 20:53:40 +03:00
d0a03fa9aa add class streamview 2022-06-15 15:21:44 +03:00
e25a2b267d add part of class streamview 2022-06-14 19:41:12 +03:00
e049cff2ed add sectorcollection 2022-06-10 15:28:59 +03:00
87c3d6cf9d trying to add sectorcollection 2022-06-09 20:54:21 +03:00
e49127b686 added class Header 2022-06-03 20:38:30 +03:00
b72955c5db add class Sector 2022-05-31 19:49:35 +03:00
9900 changed files with 1047092 additions and 1011012 deletions

1
.gitignore vendored
View File

@ -42,3 +42,4 @@ Thumbs.db
.vs
DesktopEditor/fontengine/js/common/freetype-2.10.4
*_resource.rc

View File

@ -1,177 +0,0 @@
/*
* (c) Copyright Ascensio System SIA 2010-2019
*
* 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 20A-12 Ernesta Birznieka-Upisha
* street, Riga, Latvia, EU, LV-1050.
*
* 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
#if defined(_WIN32) || defined(_WIN64)
#include <tchar.h>
#endif
#include "../../DesktopEditor/common/ASCVariant.h"
namespace OpenXmlContentTypes
{
// default content types
static const wchar_t* Xml = L"application/xml";
// package content types
static const wchar_t* Relationships = L"application/vnd.openxmlformats-package.relationships+xml";
static const wchar_t* CoreProperties = L"application/vnd.openxmlformats-package.core-properties+xml";
// general office document content types
static const wchar_t* ExtendedProperties = L"application/vnd.openxmlformats-officedocument.extended-properties+xml";
static const wchar_t* Theme = L"application/vnd.openxmlformats-officedocument.theme+xml";
static const wchar_t* CustomXmlProperties = L"application/vnd.openxmlformats-officedocument.customXmlProperties+xml";
static const wchar_t* OleObject = L"application/vnd.openxmlformats-officedocument.oleObject";
static const wchar_t* Vml = L"application/vnd.openxmlformats-officedocument.vmlDrawing";
static const wchar_t* Drawing = L"application/vnd.openxmlformats-officedocument.drawing+xml";
static const wchar_t* MSWordDocx = L"application/vnd.openxmlformats-officedocument.wordprocessingml.document";
static const wchar_t* MSExcel = L"application/vnd.ms-excel";
static const wchar_t* MSWord = L"application/msword";
static const wchar_t* MSPowerpoint = L"application/vnd.ms-powerpoint";
static const wchar_t* Emf = L"image/x-emf";
static const wchar_t* Jpeg = L"image/jpeg";
static const wchar_t* Png = L"image/png";
static const wchar_t* Tiff = L"image/tiff";
static const wchar_t* Wmf = L"image/x-wmf";
static const wchar_t* Bmp = L"image/bmp";
static const wchar_t* Pcz = L"image/x-pcz";
}
namespace DocPrContentTypes
{
static const wchar_t* App = L"application/vnd.openxmlformats-officedocument.extended-properties+xml";
static const wchar_t* Core = L"application/vnd.openxmlformats-package.core-properties+xml";
}
namespace WordprocessingMLContentTypes
{
// WordprocessingML content types
static const wchar_t* MainDocument = L"application/vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml";
static const wchar_t* MainDocumentMacro = L"application/vnd.ms-word.document.macroEnabled.main+xml";
static const wchar_t* MainDocumentTemplate = L"application/vnd.openxmlformats-officedocument.wordprocessingml.template.main+xml";
static const wchar_t* MainDocumentMacroTemplate = L"application/vnd.ms-word.template.macroEnabledTemplate.main+xml";
static const wchar_t* Styles = L"application/vnd.openxmlformats-officedocument.wordprocessingml.styles+xml";
static const wchar_t* Numbering = L"application/vnd.openxmlformats-officedocument.wordprocessingml.numbering+xml";
static const wchar_t* FontTable = L"application/vnd.openxmlformats-officedocument.wordprocessingml.fontTable+xml";
static const wchar_t* WebSettings = L"application/vnd.openxmlformats-officedocument.wordprocessingml.webSettings+xml";
static const wchar_t* Settings = L"application/vnd.openxmlformats-officedocument.wordprocessingml.settings+xml";
static const wchar_t* Comments = L"application/vnd.openxmlformats-officedocument.wordprocessingml.comments+xml";
static const wchar_t* CommentsExtended = L"application/vnd.openxmlformats-officedocument.wordprocessingml.commentsExtended+xml";
static const wchar_t* Footnotes = L"application/vnd.openxmlformats-officedocument.wordprocessingml.footnotes+xml";
static const wchar_t* Endnotes = L"application/vnd.openxmlformats-officedocument.wordprocessingml.endnotes+xml";
static const wchar_t* Header = L"application/vnd.openxmlformats-officedocument.wordprocessingml.header+xml";
static const wchar_t* Footer = L"application/vnd.openxmlformats-officedocument.wordprocessingml.footer+xml";
static const wchar_t* Glossary = L"application/vnd.openxmlformats-officedocument.wordprocessingml.document.glossary+xml";
}
namespace MicrosoftWordContentTypes
{
static const wchar_t* KeyMapCustomization = L"application/vnd.ms-word.keyMapCustomizations+xml";
static const wchar_t* VbaProject = L"application/vnd.ms-office.vbaProject";
static const wchar_t* VbaData = L"application/vnd.ms-word.vbaData+xml";
static const wchar_t* Toolbars = L"application/vnd.ms-word.attachedToolbars";
}
namespace OpenXmlNamespaces
{
// package namespaces
static const wchar_t* ContentTypes = L"http://schemas.openxmlformats.org/package/2006/content-types";
static const wchar_t* RelationshipsPackage = L"http://schemas.openxmlformats.org/package/2006/relationships";
static const wchar_t* Relationships = L"http://schemas.openxmlformats.org/officeDocument/2006/relationships";
// Drawing ML namespaces
static const wchar_t* DrawingML = L"http://schemas.openxmlformats.org/drawingml/2006/main";
static const wchar_t* DrawingMLPicture = L"http://schemas.openxmlformats.org/drawingml/2006/picture";
// WordprocessingML namespaces
static const wchar_t* WordprocessingML = L"http://schemas.openxmlformats.org/wordprocessingml/2006/main";
static const wchar_t* WordprocessingDrawingML = L"http://schemas.openxmlformats.org/drawingml/2006/wordprocessingDrawing";
static const wchar_t* VectorML = L"urn:schemas-microsoft-com:vml";
static const wchar_t* MicrosoftWordML = L"http://schemas.microsoft.com/office/word/2006/wordml";
// PresentationML namespaces
static const wchar_t* PresentationML = L"http://schemas.openxmlformats.org/presentationml/2006/main";
// SpreadsheetML Namespaces
static const wchar_t* SharedStringML = L"http://schemas.openxmlformats.org/spreadsheetml/2006/main";
static const wchar_t* WorkBookML = L"http://schemas.openxmlformats.org/spreadsheetml/2006/main";
static const wchar_t* StylesML = L"http://schemas.openxmlformats.org/spreadsheetml/2006/main";
//Office
static const wchar_t* Office = L"urn:schemas-microsoft-com:office:office";
static const wchar_t* OfficeWord = L"urn:schemas-microsoft-com:office:word";
}
namespace OpenXmlRelationshipTypes
{
static const wchar_t* CoreProperties = L"http://schemas.openxmlformats.org/package/2006/relationships/metadata/core-properties";
static const wchar_t* ExtendedProperties = L"http://schemas.openxmlformats.org/officeDocument/2006/relationships/extended-properties";
static const wchar_t* Theme = L"http://schemas.openxmlformats.org/officeDocument/2006/relationships/theme";
static const wchar_t* OfficeDocument = L"http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument";
static const wchar_t* Styles = L"http://schemas.openxmlformats.org/officeDocument/2006/relationships/styles";
static const wchar_t* FontTable = L"http://schemas.openxmlformats.org/officeDocument/2006/relationships/fontTable";
static const wchar_t* Numbering = L"http://schemas.openxmlformats.org/officeDocument/2006/relationships/numbering";
static const wchar_t* WebSettings = L"http://schemas.openxmlformats.org/officeDocument/2006/relationships/webSettings";
static const wchar_t* Settings = L"http://schemas.openxmlformats.org/officeDocument/2006/relationships/settings";
static const wchar_t* CustomXml = L"http://schemas.openxmlformats.org/officeDocument/2006/relationships/customXml";
static const wchar_t* CustomXmlProperties = L"http://schemas.openxmlformats.org/officeDocument/2006/relationships/customXmlProps";
static const wchar_t* Comments = L"http://schemas.openxmlformats.org/officeDocument/2006/relationships/comments";
static const wchar_t* CommentsExtended = L"http://schemas.microsoft.com/office/2011/relationships/commentsExtended";
static const wchar_t* Footnotes = L"http://schemas.openxmlformats.org/officeDocument/2006/relationships/footnotes";
static const wchar_t* Endnotes = L"http://schemas.openxmlformats.org/officeDocument/2006/relationships/endnotes";
static const wchar_t* Header = L"http://schemas.openxmlformats.org/officeDocument/2006/relationships/header";
static const wchar_t* Footer = L"http://schemas.openxmlformats.org/officeDocument/2006/relationships/footer";
static const wchar_t* Image = L"http://schemas.openxmlformats.org/officeDocument/2006/relationships/image";
static const wchar_t* OleObject = L"http://schemas.openxmlformats.org/officeDocument/2006/relationships/oleObject";
static const wchar_t* GlossaryDocument = L"http://schemas.openxmlformats.org/officeDocument/2006/relationships/glossaryDocument";
static const wchar_t* Package = L"http://schemas.openxmlformats.org/officeDocument/2006/relationships/package";
static const wchar_t* VbaProject = L"http://schemas.microsoft.com/office/2006/relationships/vbaProject";
static const wchar_t* Hyperlink = L"http://schemas.openxmlformats.org/officeDocument/2006/relationships/hyperlink";
}
namespace MicrosoftWordRelationshipTypes
{
static const wchar_t* KeyMapCustomizations = L"http://schemas.microsoft.com/office/2006/relationships/keyMapCustomizations";
static const wchar_t* VbaProject = L"http://schemas.microsoft.com/office/2006/relationships/vbaProject";
static const wchar_t* VbaData = L"http://schemas.microsoft.com/office/2006/relationships/wordVbaData";
static const wchar_t* Toolbars = L"http://schemas.microsoft.com/office/2006/relationships/attachedToolbars";
}

View File

@ -1,135 +0,0 @@
/*
* (c) Copyright Ascensio System SIA 2010-2019
*
* 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 20A-12 Ernesta Birznieka-Upisha
* street, Riga, Latvia, EU, LV-1050.
*
* 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
*
*/
#include "Converter.h"
#include "WordDocument.h"
#include "TableMapping.h"
#include "StyleSheetMapping.h"
#include "FontTableMapping.h"
#include "FootnotesMapping.h"
#include "EndnotesMapping.h"
#include "NumberingMapping.h"
#include "CommentsMapping.h"
#include "SettingsMapping.h"
#include "MainDocumentMapping.h"
#include "WordprocessingDocument.h"
#include "ConversionContext.h"
namespace DocFileFormat
{
Converter::Converter() : m_nUserLCID(-1)
{
}
Converter::~Converter()
{
}
}
namespace DocFileFormat
{
_UINT32 Converter::Convert(WordDocument* doc, WordprocessingDocument* docx)
{
if (!doc || !docx) return S_FALSE;
ConversionContext context( doc, docx );
//Write fontTable.xml
if (doc->FontTable)
{
FontTableMapping fontTableMapping( &context );
doc->FontTable->Convert( &fontTableMapping );
}
//Write styles.xml
if (doc->Styles)
{
StyleSheetMapping styleSheetMapping( &context );
doc->Styles->Convert( &styleSheetMapping );
}
//write document.xml and the header and footers
MainDocumentMapping mainDocMapping( &context);
doc->Convert( &mainDocMapping );
//Write numbering.xml
if (doc->listTable)
{
NumberingMapping numberingMapping( &context );
doc->listTable->Convert( &numberingMapping );
}
//write the footnotes
FootnotesMapping footnotesMapping( &context );
doc->Convert( &footnotesMapping );
//write the endnotes
EndnotesMapping endnotesMapping( &context );
doc->Convert( &endnotesMapping );
//write the comments
CommentsMapping commentsMapping( &context );
doc->Convert( &commentsMapping );
//write settings.xml at last because of the rsid list
if (doc->DocProperties)
{
SettingsMapping settingsMapping( &context );
doc->DocProperties->Convert( &settingsMapping );
}
return S_OK;
}
_UINT32 Converter::LoadAndConvert(const std::wstring& strSrcFile, const std::wstring& strDstDirectory, const std::wstring& password, bool &bMacros)
{
WordDocument doc(m_sTempFolder, m_nUserLCID);
WordprocessingDocument docx(strDstDirectory, &doc);
_UINT32 result = doc.LoadDocument(strSrcFile, password);
if (result == 0)
{
result = Convert(&doc, &docx);
if (result == 0)
{
result = docx.SaveDocument(bMacros);
}
}
return result;
}
}

View File

@ -1,56 +0,0 @@
/*
* (c) Copyright Ascensio System SIA 2010-2019
*
* 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 20A-12 Ernesta Birznieka-Upisha
* street, Riga, Latvia, EU, LV-1050.
*
* 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
#include <string>
#include "../../Common/DocxFormat/Source/Base/Types_32.h"
namespace DocFileFormat
{
class WordDocument;
class WordprocessingDocument;
class Converter
{
public:
Converter();
~Converter();
std::wstring m_sTempFolder;
int m_nUserLCID;
_UINT32 LoadAndConvert(const std::wstring & strSrcFile, const std::wstring & strDstDirectory, const std::wstring & password, bool &bMacros);
private:
_UINT32 Convert(WordDocument* doc, WordprocessingDocument* docx);
};
}

View File

@ -1,198 +0,0 @@
/*
* (c) Copyright Ascensio System SIA 2010-2019
*
* 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 20A-12 Ernesta Birznieka-Upisha
* street, Riga, Latvia, EU, LV-1050.
*
* 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
#include "OfficeDrawing/RecordFactory.h"
#include "OfficeDrawing/DrawingContainer.h"
#include "OfficeDrawing/DrawingRecord.h"
#include "OfficeDrawing/DrawingGroup.h"
#include "OfficeDrawing/GroupContainer.h"
#include "OfficeDrawing/Shape.h"
namespace DocFileFormat
{
class OfficeArtContent
{
private:
enum DrawingType
{
MainDocument,
Header
};
struct OfficeArtWordDrawing
{
DrawingType dgglbl;
DrawingContainer* container;
};
public:
OfficeArtContent (const FileInformationBlock* pFIB, POLE::Stream* pStream): m_pDrawingGroupData(NULL), m_pBackgroud(NULL), m_uLastShapeId(1024)
{
VirtualStreamReader oStearmReader(pStream, 0 , pFIB->m_nWordVersion);
if (pFIB->m_FibWord97.fcDggInfo > oStearmReader.GetSize()) return;
oStearmReader.Seek (pFIB->m_FibWord97.fcDggInfo, 0/*STREAM_SEEK_SET*/);
if (pFIB->m_FibWord97.lcbDggInfo > 0)
{
unsigned int maxPosition = (int)(pFIB->m_FibWord97.fcDggInfo + pFIB->m_FibWord97.lcbDggInfo);
// read the DrawingGroupData
m_pDrawingGroupData = static_cast<DrawingGroup*>(RecordFactory::ReadRecord (&oStearmReader, 0));
while (oStearmReader.GetPosition() < maxPosition)
{
OfficeArtWordDrawing drawing;
drawing.dgglbl = (DrawingType)oStearmReader.ReadByte();
drawing.container = static_cast<DrawingContainer*>(RecordFactory::ReadRecord (&oStearmReader, 0));
for (size_t i = 0; i < drawing.container->Children.size(); ++i)
{
Record* groupChild = drawing.container->Children[i];
if (groupChild)
{
if (GroupContainer::TYPE_CODE_0xF003 == groupChild->TypeCode)
{
GroupContainer* group = static_cast<GroupContainer*>(groupChild);
if (group)
{
group->Index = (int)i;
}
}
else if (ShapeContainer::TYPE_CODE_0xF004 == groupChild->TypeCode)
{
ShapeContainer* shape = static_cast<ShapeContainer*>(groupChild);
if (shape)
{
shape->m_nIndex = (int)i;
if (shape->m_bBackground)
{
m_pBackgroud = shape;
}
}
}
else if (DrawingRecord::TYPE_CODE_0xF008 == groupChild->TypeCode)
{
DrawingRecord* dr = static_cast<DrawingRecord*>(groupChild);
if (dr)
{
m_uLastShapeId = dr->spidCur;
}
}
}
}
m_arrDrawings.push_back( drawing );
}
}
}
~OfficeArtContent()
{
RELEASEOBJECT (m_pDrawingGroupData);
for ( std::list<OfficeArtWordDrawing>::iterator iter = m_arrDrawings.begin(); iter != m_arrDrawings.end(); ++iter)
RELEASEOBJECT(iter->container);
}
inline ShapeContainer* GetShapeBackgound()
{
return m_pBackgroud;
}
inline ShapeContainer* GetShapeContainer (int spid)
{
ShapeContainer* ret = NULL;
for (std::list<OfficeArtWordDrawing>::iterator iter = m_arrDrawings.begin(); iter != m_arrDrawings.end(); ++iter)
{
GroupContainer* group = iter->container->FirstChildWithType<GroupContainer>();
if (group)
{
for (size_t i = 1; i < group->Children.size(); ++i)
{
Record* groupChild = group->Children[i];
if ( groupChild->TypeCode == GroupContainer::TYPE_CODE_0xF003)
{
//It's a group of shapes
GroupContainer* subgroup = static_cast<GroupContainer*>(groupChild);
//the referenced shape must be the first shape in the group
ShapeContainer* container = static_cast<ShapeContainer*>(subgroup->Children[0]);
Shape* shape = static_cast<Shape*>(container->Children[1]);
if (shape->GetShapeID() == spid)
{
ret = container;
break;
}
}
else if ( groupChild->TypeCode == ShapeContainer::TYPE_CODE_0xF004 )
{
//It's a singe shape
ShapeContainer* container = static_cast<ShapeContainer*>(groupChild);
Shape* shape = static_cast<Shape*>(container->Children[0]);
if (shape->GetShapeID() == spid)
{
ret = container;
break;
}
}
}
}
else
{
continue;
}
if (ret)
break;
}
return ret;
}
inline const DrawingGroup* GetDrawingGroup () const
{
return m_pDrawingGroupData;
}
unsigned int m_uLastShapeId;
private:
ShapeContainer* m_pBackgroud;
DrawingGroup* m_pDrawingGroupData;
std::list<OfficeArtWordDrawing> m_arrDrawings;
};
}

View File

@ -1,60 +0,0 @@
/*
* (c) Copyright Ascensio System SIA 2010-2019
*
* 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 20A-12 Ernesta Birznieka-Upisha
* street, Riga, Latvia, EU, LV-1050.
*
* 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
#include "RegularContainer.h"
namespace DocFileFormat
{
class BlipStoreContainer: public RegularContainer
{
public:
static const unsigned short TYPE_CODE_0xF001 = 0xF001;
BlipStoreContainer () : RegularContainer()
{
}
BlipStoreContainer (IBinaryReader* _reader, unsigned int size, unsigned int typeCode, unsigned int version, unsigned int instance) : RegularContainer (_reader, size, typeCode, version, instance)
{
}
virtual ~BlipStoreContainer()
{
}
virtual Record* NewObject (IBinaryReader* _reader, unsigned int bodySize, unsigned int typeCode, unsigned int version, unsigned int instance)
{
return new BlipStoreContainer( _reader, bodySize, typeCode, version, instance );
}
};
}

View File

@ -1,137 +0,0 @@
/*
* (c) Copyright Ascensio System SIA 2010-2019
*
* 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 20A-12 Ernesta Birznieka-Upisha
* street, Riga, Latvia, EU, LV-1050.
*
* 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
#include "RecordFactory.h"
#include "../Global.h"
namespace DocFileFormat
{
class BlipStoreEntry: public Record // OfficeArtFBSE
{
friend class VMLShapeMapping;
public:
static const unsigned short TYPE_CODE_0xF007 = 0xF007;
/// Required type on Win32
Global::BlipType btWin32;
/// Required type on Mac
Global::BlipType btMacOS;
Record* Blip;
private:
/// Identifier of blip
unsigned char* rgbUid;
/// currently unused
short tag;
/// Blip size in stream
unsigned int size;
/// Reference count on the blip
unsigned int cRef;
unsigned int foDelay; // File offset in the delay stream
/// How this blip is used (MSOBLIPUSAGE)
Global::BlipUsage usage;
/// length of the blip name
unsigned char cbName;
/// for the future
unsigned char unused2;
/// for the future
unsigned char unused3;
/// The primary UID - this defaults to 0, in which case the primary ID is that of the internal data.
/// NOTE!: The primary UID is only saved to disk if (blip_instance ^ blip_signature == 1).
/// Blip_instance is MSOFBH.inst and blip_signature is one of the values defined in MSOBI
unsigned char* m_rgbUid;
/// optional based on the above check.
unsigned char* m_rgbUidPrimary;
unsigned char m_bTag;
/// Cache of the metafile size
short m_cb;
//RECT m_rcBounds; // Boundary of metafile drawing commands
//POINT m_ptSize; // Size of metafile in EMUs
/// Cache of saved size (size of m_pvBits)
short m_cbSave;
/// Compression
unsigned char m_fCompression;
/// always msofilterNone
unsigned char m_fFilter;
public:
BlipStoreEntry() : Record(), btWin32(Global::msoblipERROR), btMacOS(Global::msoblipERROR), rgbUid(NULL), tag(0), size(0), cRef(0),
foDelay(0), usage(Global::msoblipUsageDefault), cbName(0), unused2(0), unused3(0), m_rgbUid(NULL), m_rgbUidPrimary(NULL),
m_bTag(0), m_cb(0), m_cbSave(0), m_fCompression(0), m_fFilter(0), Blip(NULL)
{
}
BlipStoreEntry(IBinaryReader* _reader, unsigned int size, unsigned int typeCode, unsigned int version, unsigned int instance ):
Record( _reader, size, typeCode, version, instance ), btWin32(Global::msoblipERROR), btMacOS(Global::msoblipERROR), rgbUid(NULL), tag(0), size(0), cRef(0),
foDelay(0), usage(Global::msoblipUsageDefault), cbName(0), unused2(0), unused3(0), m_rgbUid(NULL), m_rgbUidPrimary(NULL),
m_bTag(0), m_cb(0), m_cbSave(0), m_fCompression(0), m_fFilter(0), Blip(NULL)
{
btWin32 = (Global::BlipType)Reader->ReadByte();
btMacOS = (Global::BlipType)Reader->ReadByte();
rgbUid = Reader->ReadBytes(16, true);
tag = Reader->ReadInt16();
size = Reader->ReadUInt32();
cRef = Reader->ReadUInt32();
foDelay = Reader->ReadUInt32();
usage = (Global::BlipUsage) Reader->ReadByte();
cbName = Reader->ReadByte();
unused2 = Reader->ReadByte();
unused3 = Reader->ReadByte();
if (btMacOS != btWin32)
{
btWin32 = btMacOS = (Global::BlipType)this->Instance;
}
if (BodySize > 0x24)
{
Blip = RecordFactory::ReadRecord(Reader, 0);
}
}
virtual ~BlipStoreEntry()
{
RELEASEARRAYOBJECTS(rgbUid);
RELEASEARRAYOBJECTS(m_rgbUid);
RELEASEARRAYOBJECTS(m_rgbUidPrimary);
RELEASEOBJECT(Blip);
}
virtual Record* NewObject( IBinaryReader* _reader, unsigned int bodySize, unsigned int typeCode, unsigned int version, unsigned int instance )
{
return new BlipStoreEntry( _reader, bodySize, typeCode, version, instance );
}
};
}

View File

@ -1,84 +0,0 @@
/*
* (c) Copyright Ascensio System SIA 2010-2019
*
* 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 20A-12 Ernesta Birznieka-Upisha
* street, Riga, Latvia, EU, LV-1050.
*
* 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
#include "Record.h"
namespace DocFileFormat
{
class ChildAnchor: public Record
{
public:
static const unsigned short TYPE_CODE_0xF00F = 0xF00F;
ChildAnchor() : Record(), rcgBounds(), Left(0), Top(0), Right(0), Bottom(0)
{
}
ChildAnchor (IBinaryReader* _reader, unsigned int size, unsigned int typeCode, unsigned int version, unsigned int instance) : Record (_reader, size, typeCode, version, instance), rcgBounds(), Left(0), Top(0), Right(0), Bottom(0)
{
Left = Reader->ReadInt32();
Top = Reader->ReadInt32();
Right = Reader->ReadInt32();
Bottom = Reader->ReadInt32();
POINT _point;
_point.x = Left;
_point.y = Top;
SIZE _size;
_size.cx = Right - Left;
_size.cy = Bottom - Top;
rcgBounds = DocFileFormat::Rectangle (_point, _size);
}
virtual ~ChildAnchor()
{
}
virtual Record* NewObject( IBinaryReader* _reader, unsigned int bodySize, unsigned int typeCode, unsigned int version, unsigned int instance )
{
return new ChildAnchor( _reader, bodySize, typeCode, version, instance );
}
public:
/// Rectangle that describes the bounds of the anchor
DocFileFormat::Rectangle rcgBounds;
int Left;
int Top;
int Right;
int Bottom;
};
}

View File

@ -1,63 +0,0 @@
/*
* (c) Copyright Ascensio System SIA 2010-2019
*
* 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 20A-12 Ernesta Birznieka-Upisha
* street, Riga, Latvia, EU, LV-1050.
*
* 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
#include "Record.h"
namespace DocFileFormat
{
class ClientAnchor: public Record
{
public:
static const unsigned short TYPE_CODE_0xF010 = 0xF010;
ClientAnchor() : Record(), value(0)
{
}
ClientAnchor (IBinaryReader* _reader, unsigned int size, unsigned int typeCode, unsigned int version, unsigned int instance) : Record (_reader, size, typeCode, version, instance), value(0)
{
value = Reader->ReadInt32(); //index PlcfSpa
}
virtual ~ClientAnchor()
{
}
virtual Record* NewObject (IBinaryReader* _reader, unsigned int bodySize, unsigned int typeCode, unsigned int version, unsigned int instance)
{
return new ClientAnchor (_reader, bodySize, typeCode, version, instance);
}
unsigned int value;
};
}

View File

@ -1,62 +0,0 @@
/*
* (c) Copyright Ascensio System SIA 2010-2019
*
* 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 20A-12 Ernesta Birznieka-Upisha
* street, Riga, Latvia, EU, LV-1050.
*
* 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
#include "RegularContainer.h"
namespace DocFileFormat
{
class DrawingContainer: public RegularContainer
{
public:
static const unsigned short TYPE_CODE_0xF002 = 0xF002;
DrawingContainer():
RegularContainer()
{
}
DrawingContainer( IBinaryReader* _reader, unsigned int size, unsigned int typeCode, unsigned int version, unsigned int instance ):
RegularContainer( _reader, size, typeCode, version, instance )
{
}
virtual ~DrawingContainer()
{
}
virtual Record* NewObject( IBinaryReader* _reader, unsigned int bodySize, unsigned int typeCode, unsigned int version, unsigned int instance )
{
return new DrawingContainer( _reader, bodySize, typeCode, version, instance );
}
};
}

View File

@ -1,60 +0,0 @@
/*
* (c) Copyright Ascensio System SIA 2010-2019
*
* 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 20A-12 Ernesta Birznieka-Upisha
* street, Riga, Latvia, EU, LV-1050.
*
* 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
#include "RegularContainer.h"
namespace DocFileFormat
{
class DrawingGroup: public RegularContainer
{
public:
static const unsigned short TYPE_CODE_0xF000 = 0xF000;
DrawingGroup(): RegularContainer()
{
}
DrawingGroup (IBinaryReader* _reader, unsigned int size, unsigned int typeCode, unsigned int version, unsigned int instance) : RegularContainer( _reader, size, typeCode, version, instance )
{
}
virtual ~DrawingGroup()
{
}
virtual Record* NewObject (IBinaryReader* _reader, unsigned int bodySize, unsigned int typeCode, unsigned int version, unsigned int instance)
{
return new DrawingGroup (_reader, bodySize, typeCode, version, instance);
}
};
}

View File

@ -1,67 +0,0 @@
/*
* (c) Copyright Ascensio System SIA 2010-2019
*
* 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 20A-12 Ernesta Birznieka-Upisha
* street, Riga, Latvia, EU, LV-1050.
*
* 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
#include "Record.h"
namespace DocFileFormat
{
class DrawingRecord: public Record
{
public:
static const unsigned short TYPE_CODE_0xF008 = 0xF008;
unsigned int csp; // The number of shapes in this drawing
unsigned int spidCur; // The last MSOSPID given to an SP in this DG
DrawingRecord():
Record(), csp(0), spidCur(0)
{
}
DrawingRecord( IBinaryReader* _reader, unsigned int size, unsigned int typeCode, unsigned int version, unsigned int instance ):
Record( _reader, size, typeCode, version, instance )
{
csp = Reader->ReadUInt32();
spidCur = Reader->ReadInt32();
}
virtual ~DrawingRecord()
{
}
virtual Record* NewObject( IBinaryReader* _reader, unsigned int bodySize, unsigned int typeCode, unsigned int version, unsigned int instance )
{
return new DrawingRecord( _reader, bodySize, typeCode, version, instance );
}
};
}

View File

@ -1,64 +0,0 @@
/*
* (c) Copyright Ascensio System SIA 2010-2019
*
* 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 20A-12 Ernesta Birznieka-Upisha
* street, Riga, Latvia, EU, LV-1050.
*
* 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
#include "Record.h"
namespace DocFileFormat
{
class OfficeArtClientTextbox : public Record
{
public:
static const unsigned short TYPE_CODE_0xF00D = 0xF00D;
OfficeArtClientTextbox () : Record()
{
}
OfficeArtClientTextbox (IBinaryReader* reader, unsigned int size, unsigned int typeCode, unsigned int version, unsigned int instance) : Record(reader, size, typeCode, version, instance), m_nIndex(0)
{
unsigned int number = Reader->ReadUInt16();
m_nIndex = Reader->ReadUInt16();
}
virtual ~OfficeArtClientTextbox()
{
}
virtual Record* NewObject(IBinaryReader* reader, unsigned int bodySize, unsigned int typeCode, unsigned int version, unsigned int instance)
{
return new OfficeArtClientTextbox(reader, bodySize, typeCode, version, instance);
}
int m_nIndex = 0;
};
}

View File

@ -1,130 +0,0 @@
/*
* (c) Copyright Ascensio System SIA 2010-2019
*
* 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 20A-12 Ernesta Birznieka-Upisha
* street, Riga, Latvia, EU, LV-1050.
*
* 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
#include "Record.h"
#include "ShapeTypeFactory.h"
namespace DocFileFormat
{
class Shape: public Record
{
public:
int spid;
bool fGroup;
bool fChild;
bool fPatriarch; // This is the topmost group shape. Exactly one of these per drawing.
bool fDeleted; // The shape has been deleted
bool fOleShape; // The shape is an OLE object
bool fHaveMaster;
bool fFlipH;
bool fFlipV;
bool fConnector;
bool fHaveAnchor;
bool fBackground;
bool fHaveSpt;
ShapeType* shapeType;
public:
static const unsigned short TYPE_CODE_0xF00A = 0xF00A;
Shape():
Record(), spid(0), fGroup(false), fChild(false), fPatriarch(false), fDeleted(false), fOleShape(false),
fHaveMaster(false), fFlipH(false), fFlipV(false), fConnector(false), fHaveAnchor(false), fBackground(false),
fHaveSpt(false), shapeType(NULL)
{
}
virtual ~Shape()
{
RELEASEOBJECT( shapeType );
}
Shape( IBinaryReader* _reader, unsigned int size, unsigned int typeCode, unsigned int version, unsigned int instance ):
Record( _reader, size, typeCode, version, instance ), spid(0), fGroup(false), fChild(false), fPatriarch(false), fDeleted(false), fOleShape(false),
fHaveMaster(false), fFlipH(false), fFlipV(false), fConnector(false), fHaveAnchor(false), fBackground(false),
fHaveSpt(false), shapeType(NULL)
{
spid = Reader->ReadInt32();
unsigned int flag = Reader->ReadUInt32();
fGroup = FormatUtils::BitmaskToBool( flag, 0x1 );
fChild = FormatUtils::BitmaskToBool( flag, 0x2 );
fPatriarch = FormatUtils::BitmaskToBool( flag, 0x4 );
fDeleted = FormatUtils::BitmaskToBool( flag, 0x8 );
fOleShape = FormatUtils::BitmaskToBool( flag, 0x10 );
fHaveMaster = FormatUtils::BitmaskToBool( flag, 0x20 );
fFlipH = FormatUtils::BitmaskToBool( flag, 0x40 );
fFlipV = FormatUtils::BitmaskToBool( flag, 0x80 );
fConnector = FormatUtils::BitmaskToBool( flag, 0x100 );
fHaveAnchor = FormatUtils::BitmaskToBool( flag, 0x200 );
fBackground = FormatUtils::BitmaskToBool( flag, 0x400 );
fHaveSpt = FormatUtils::BitmaskToBool( flag, 0x800 );
if (Instance > 0)
shapeType = ShapeTypeFactory::NewShapeType((MSOSPT)Instance);
else if (!fHaveSpt)
{
shapeType = ShapeTypeFactory::NewShapeType(msosptNotPrimitive);
}
}
virtual Record* NewObject( IBinaryReader* _reader, unsigned int bodySize, unsigned int typeCode, unsigned int version, unsigned int instance )
{
return new Shape( _reader, bodySize, typeCode, version, instance );
}
inline int GetShapeID() const
{
return spid;
}
inline ShapeType* GetShapeType() const
{
return shapeType;
}
template<class T> bool is() const
{
bool isResult = false;
if ( shapeType != NULL )
{
isResult = ( typeid(*shapeType) == typeid(T) );
}
return isResult;
}
};
}

View File

@ -1,144 +0,0 @@
/*
* (c) Copyright Ascensio System SIA 2010-2019
*
* 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 20A-12 Ernesta Birznieka-Upisha
* street, Riga, Latvia, EU, LV-1050.
*
* 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
#include "RegularContainer.h"
#include "ShapeOptions.h"
#include "Shape.h"
#include "ClientAnchor.h"
namespace DocFileFormat
{
class ShapeContainer: public RegularContainer
{
public:
static const unsigned short TYPE_CODE_0xF004 = 0xF004;
int m_nIndex;
unsigned int m_nShapeType;
bool m_bBackground;
bool m_bOLE;
bool m_bOleInPicture;
bool m_bSkip;
ShapeContainer():
RegularContainer(), m_nIndex(0), m_nShapeType(0), m_bSkip(false), m_bBackground(false), m_bOLE(false), m_bOleInPicture(false)
{
}
ShapeContainer( IBinaryReader* _reader, unsigned int size, unsigned int typeCode, unsigned int version, unsigned int instance ) :
m_bSkip(false), m_bBackground(false), m_bOLE(false), m_nIndex(0), m_nShapeType(0), RegularContainer( _reader, size, typeCode, version, instance )
{
for ( size_t i = 0; i < this->Children.size(); ++i )
{
ClientAnchor *clientAnchor = dynamic_cast<ClientAnchor*>( this->Children[i] );
//if ( (clientAnchor) && (clientAnchor->value == 0x80000000))
// m_bSkip = true; //О реорганизации территориальных органов ПФР с 01.11.2018.doc
Shape* sh = dynamic_cast<Shape*>( this->Children[i] );
if (sh)
{
m_bBackground = sh->fBackground;
m_bOLE = sh->fOleShape;
if (sh->shapeType)
{
m_nShapeType = sh->shapeType->GetTypeCode();
}
else
{
for ( size_t j = 0; j < this->Children.size(); ++j)
{
ShapeOptions* sh_options = dynamic_cast<ShapeOptions*>( this->Children[j] );
if (sh_options)
{
if (sh_options->OptionsByID.end() != sh_options->OptionsByID.find(ODRAW::pib))
{
m_nShapeType = msosptPictureFrame;
}
}
}
}
}
}
}
virtual ~ShapeContainer()
{
}
virtual Record* NewObject( IBinaryReader* _reader, unsigned int bodySize, unsigned int typeCode, unsigned int version, unsigned int instance )
{
return new ShapeContainer( _reader, bodySize, typeCode, version, instance );
}
ODRAW::OfficeArtFOPTEPtr ExtractOption(const ODRAW::ePropertyId & prop) const
{
ODRAW::OfficeArtFOPTEPtr ret;
for ( size_t i = 0; i < this->Children.size(); ++i )
{
ShapeOptions* opt = dynamic_cast<ShapeOptions*>( this->Children[i] );
if ( opt == NULL ) continue;
std::map<ODRAW::ePropertyId, ODRAW::OfficeArtFOPTEPtr>::iterator pFind = opt->OptionsByID.find(prop);
if (pFind != opt->OptionsByID.end())
{
ret = pFind->second;
}
}
return ret;
}
std::vector<ODRAW::OfficeArtFOPTEPtr> ExtractOptions() const
{
std::vector<ODRAW::OfficeArtFOPTEPtr> ret;
//build the list of all option entries of this shape
for ( size_t i = 0; i < this->Children.size(); ++i )
{
ShapeOptions* opt = dynamic_cast<ShapeOptions*>( this->Children[i] );
if ( opt == NULL ) continue;
for ( size_t i = 0; i < opt->Options.size(); i++)
{
ret.push_back( opt->Options[i]);
}
}
return ret;
}
};
}

View File

@ -1,353 +0,0 @@
/*
* (c) Copyright Ascensio System SIA 2010-2019
*
* 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 20A-12 Ernesta Birznieka-Upisha
* street, Riga, Latvia, EU, LV-1050.
*
* 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
#include "../IVisitable.h"
#include "../../Common/XmlTools.h"
#include <boost/shared_ptr.hpp>
namespace ODRAW
{
class OfficeArtFOPTE;
typedef boost::shared_ptr<OfficeArtFOPTE> OfficeArtFOPTEPtr;
}
namespace DocFileFormat
{
enum MSOSPT
{
msosptNotPrimitive = 0x00000000, // ( - ) A shape that has no preset geometry, and is drawn with custom geometry instead. For example, freeform shapes drawn by users fall into this category.
msosptRectangle = 0x00000001, // A rectangle shape.
msosptRoundRectangle = 0x00000002, // A rectangle shape with rounded corners.
msosptEllipse = 0x00000003, // An ellipse shape.
msosptDiamond = 0x00000004, // A diamond shape.
msosptIsocelesTriangle = 0x00000005, // An isosceles triangle shape.
msosptRightTriangle = 0x00000006, // A right triangle shape.
msosptParallelogram = 0x00000007, // A parallelogram shape.
msosptTrapezoid = 0x00000008, // A trapezoid shape.
msosptHexagon = 0x00000009, // A hexagon shape.
msosptOctagon = 0x0000000A, // An octagon shape.
msosptPlus = 0x0000000B, // A plus shape.
msosptStar = 0x0000000C, // A star shape.
msosptArrow = 0x0000000D, // An arrow shape.
msosptThickArrow = 0x0000000E, // ( - ) This value SHOULD NOT be used.
msosptHomePlate = 0x0000000F, // An irregular pentagon shape.
msosptCube = 0x00000010, // A cube shape.
msosptBalloon = 0x00000011, // ( - ) A speech balloon shape.
msosptSeal = 0x00000012, // ( - ) A seal shape.
msosptArc = 0x00000013, // A curved arc shape.
msosptLine = 0x00000014, // A line shape.
msosptPlaque = 0x00000015, // A plaque shape.
msosptCan = 0x00000016, // A cylinder shape.
msosptDonut = 0x00000017, // A donut shape.
msosptTextSimple = 0x00000018, // A simple text shape. Text SHOULD be drawn on a straight line.
msosptTextOctagon = 0x00000019, // An octagonal text shape. Text SHOULD be drawn within an octagonal boundary.
msosptTextHexagon = 0x0000001A, // A hexagonal text shape. Text SHOULD be drawn within a hexagonal boundary.
msosptTextCurve = 0x0000001B, // A curved text shape. Text SHOULD be drawn on a curved line.
msosptTextWave = 0x0000001C, // A wavy text shape. Text SHOULD be drawn on a wavy line.
msosptTextRing = 0x0000001D, // A ringed text shape. Text SHOULD be drawn within a semicircular arc.
msosptTextOnCurve = 0x0000001E, // A text shape that draws text on a curve. Text SHOULD be drawn on a curved line.
msosptTextOnRing = 0x0000001F, // A text shape that draws text on a ring. Text SHOULD be drawn on a semicircular arc.
msosptStraightConnector1 = 0x00000020, // A straight connector shape.
msosptBentConnector2 = 0x00000021, // A bent connector shape.
msosptBentConnector3 = 0x00000022, // A bent connector shape.
msosptBentConnector4 = 0x00000023, // A bent connector shape.
msosptBentConnector5 = 0x00000024, // A bent connector shape.
msosptCurvedConnector2 = 0x00000025, // A curved connector shape.
msosptCurvedConnector3 = 0x00000026, // A curved connector shape.
msosptCurvedConnector4 = 0x00000027, // A curved connector shape.
msosptCurvedConnector5 = 0x00000028, // A curved connector shape.
msosptCallout1 = 0x00000029, // A callout shape.
msosptCallout2 = 0x0000002A, // A callout shape.
msosptCallout3 = 0x0000002B, // A callout shape.
msosptAccentCallout1 = 0x0000002C, // A callout shape with side accent.
msosptAccentCallout2 = 0x0000002D, // A callout shape with side accent.
msosptAccentCallout3 = 0x0000002E, // A callout shape with side accent.
msosptBorderCallout1 = 0x0000002F, // A callout shape with border.
msosptBorderCallout2 = 0x00000030, // A callout shape with border.
msosptBorderCallout3 = 0x00000031, // A callout shape with border.
msosptAccentBorderCallout1 = 0x00000032, // A callout shape with border and side accent.
msosptAccentBorderCallout2 = 0x00000033, // A callout shape with border and side accent.
msosptAccentBorderCallout3 = 0x00000034, // A callout shape with border and side accent.
msosptRibbon = 0x00000035, // A ribbon shape.
msosptRibbon2 = 0x00000036, // A ribbon shape.
msosptChevron = 0x00000037, // A chevron shape.
msosptPentagon = 0x00000038, // A regular pentagon shape.
msosptNoSmoking = 0x00000039, // A circle-slash shape.
msosptSeal8 = 0x0000003A, // A seal shape with eight points.
msosptSeal16 = 0x0000003B, // A seal shape with sixteen points.
msosptSeal32 = 0x0000003C, // A seal shape with thirty-two points.
msosptWedgeRectCallout = 0x0000003D, // A rectangular callout shape.
msosptWedgeRRectCallout = 0x0000003E, // A rectangular callout shape with rounded corners.
msosptWedgeEllipseCallout = 0x0000003F, // An elliptical callout shape.
msosptWave = 0x00000040, // A wave shape.
msosptFoldedCorner = 0x00000041, // A rectangular shape with a folded corner.
msosptLeftArrow = 0x00000042, // An arrow shape pointing left.
msosptDownArrow = 0x00000043, // An arrow shape pointing down.
msosptUpArrow = 0x00000044, // An arrow shape pointing up.
msosptLeftRightArrow = 0x00000045, // An arrow shape pointing left and right.
msosptUpDownArrow = 0x00000046, // An arrow shape pointing down and up.
msosptIrregularSeal1 = 0x00000047, // An irregular seal shape.
msosptIrregularSeal2 = 0x00000048, // An irregular seal shape.
msosptLightningBolt = 0x00000049, // A lightning bolt shape.
msosptHeart = 0x0000004A, // A heart shape.
msosptPictureFrame = 0x0000004B, // A frame shape.
msosptQuadArrow = 0x0000004C, // A shape with arrows pointing down, left, right, and up.
msosptLeftArrowCallout = 0x0000004D, // A callout shape with an arrow pointing left.
msosptRightArrowCallout = 0x0000004E, // A callout shape with an arrow pointing right.
msosptUpArrowCallout = 0x0000004F, // A callout shape with an arrow pointing up.
msosptDownArrowCallout = 0x00000050, // A callout shape with an arrow pointing down.
msosptLeftRightArrowCallout = 0x00000051, // A callout shape with arrows pointing left and right.
msosptUpDownArrowCallout = 0x00000052, // A callout shape with arrows pointing down and up.
msosptQuadArrowCallout = 0x00000053, // A callout shape with arrows pointing down, left, right, and up.
msosptBevel = 0x00000054, // A beveled rectangle shape.
msosptLeftBracket = 0x00000055, // An opening bracket shape.
msosptRightBracket = 0x00000056, // A closing bracket shape.
msosptLeftBrace = 0x00000057, // An opening brace shape.
msosptRightBrace = 0x00000058, // A closing brace shape.
msosptLeftUpArrow = 0x00000059, // An arrow shape pointing left and up.
msosptBentUpArrow = 0x0000005A, // A bent arrow shape with its base on the left, pointing up.
msosptBentArrow = 0x0000005B, // A curved arrow shape with its base on the bottom, pointing right.
msosptSeal24 = 0x0000005C, // A seal shape with twenty-four points.
msosptStripedRightArrow = 0x0000005D, // A striped arrow shape pointing right.
msosptNotchedRightArrow = 0x0000005E, // A notched arrow shape pointing right.
msosptBlockArc = 0x0000005F, // A semicircular arc shape.
msosptSmileyFace = 0x00000060, // A smiling face shape.
msosptVerticalScroll = 0x00000061, // A scroll shape opened vertically.
msosptHorizontalScroll = 0x00000062, // A scroll shape opened horizontally.
msosptCircularArrow = 0x00000063, // A semicircular arrow shape.
msosptNotchedCircularArrow = 0x00000064, // This value SHOULD NOT be used.
msosptUturnArrow = 0x00000065, // A semicircular arrow shape with a straight tail.
msosptCurvedRightArrow = 0x00000066, // An arrow shape that curves to the right.
msosptCurvedLeftArrow = 0x00000067, // An arrow shape that curves to the left.
msosptCurvedUpArrow = 0x00000068, // An arrow shape that curves upward.
msosptCurvedDownArrow = 0x00000069, // An arrow shape that curves downward.
msosptCloudCallout = 0x0000006A, // A cloud-shaped callout.
msosptEllipseRibbon = 0x0000006B, // An elliptical ribbon shape.
msosptEllipseRibbon2 = 0x0000006C, // An elliptical ribbon shape.
msosptFlowChartProcess = 0x0000006D, // A process shape for flowcharts.
msosptFlowChartDecision = 0x0000006E, // A decision shape for flowcharts.
msosptFlowChartInputOutput = 0x0000006F, // An input-output shape for flowcharts.
msosptFlowChartPredefinedProcess = 0x00000070, // A predefined process shape for flowcharts.
msosptFlowChartInternalStorage = 0x00000071, // An internal storage shape for flowcharts.
msosptFlowChartDocument = 0x00000072, // A document shape for flowcharts.
msosptFlowChartMultidocument = 0x00000073, // A multidocument shape for flowcharts.
msosptFlowChartTerminator = 0x00000074, // A terminator shape for flowcharts.
msosptFlowChartPreparation = 0x00000075, // A preparation shape for flowcharts.
msosptFlowChartManualInput = 0x00000076, // A manual input shape for flowcharts.
msosptFlowChartManualOperation = 0x00000077, // A manual operation shape for flowcharts.
msosptFlowChartConnector = 0x00000078, // A connector shape for flowcharts.
msosptFlowChartPunchedCard = 0x00000079, // A punched card shape for flowcharts.
msosptFlowChartPunchedTape = 0x0000007A, // A punched tape shape for flowcharts.
msosptFlowChartSummingJunction = 0x0000007B, // A summing junction shape for flowcharts.
msosptFlowChartOr = 0x0000007C, // An OR shape for flowcharts.
msosptFlowChartCollate = 0x0000007D, // A collation shape for flowcharts.
msosptFlowChartSort = 0x0000007E, // A sorting shape for flowcharts.
msosptFlowChartExtract = 0x0000007F, // An extraction shape for flowcharts.
msosptFlowChartMerge = 0x00000080, // A merging shape for flowcharts.
msosptFlowChartOfflineStorage = 0x00000081, // An offline storage shape for flowcharts.
msosptFlowChartOnlineStorage = 0x00000082, // An online storage shape for flowcharts.
msosptFlowChartMagneticTape = 0x00000083, // A magnetic tape shape for flowcharts.
msosptFlowChartMagneticDisk = 0x00000084, // A magnetic disk shape for flowcharts.
msosptFlowChartMagneticDrum = 0x00000085, // A magnetic drum shape for flowcharts.
msosptFlowChartDisplay = 0x00000086, // A display shape for flowcharts.
msosptFlowChartDelay = 0x00000087, // A delay shape for flowcharts.
msosptTextPlainText = 0x00000088, // A plain text shape.
msosptTextStop = 0x00000089, // An octagonal text shape.
msosptTextTriangle = 0x0000008A, // A triangular text shape pointing upwards.
msosptTextTriangleInverted = 0x0000008B, // A triangular text shape pointing downwards.
msosptTextChevron = 0x0000008C, // A chevron text shape pointing upwards.
msosptTextChevronInverted = 0x0000008D, // A chevron text shape pointing downwards.
msosptTextRingInside = 0x0000008E, // A circular text shape, as if reading an inscription on the inside of a ring.
msosptTextRingOutside = 0x0000008F, // A circular text shape, as if reading an inscription on the outside of a ring.
msosptTextArchUpCurve = 0x00000090, // An upward arching curved text shape.
msosptTextArchDownCurve = 0x00000091, // A downward arching curved text shape.
msosptTextCircleCurve = 0x00000092, // A circular text shape.
msosptTextButtonCurve = 0x00000093, // A text shape that resembles a button.
msosptTextArchUpPour = 0x00000094, // An upward arching text shape.
msosptTextArchDownPour = 0x00000095, // A downward arching text shape.
msosptTextCirclePour = 0x00000096, // A circular text shape.
msosptTextButtonPour = 0x00000097, // A text shape that resembles a button.
msosptTextCurveUp = 0x00000098, // An upward curving text shape.
msosptTextCurveDown = 0x00000099, // A downward curving text shape.
msosptTextCascadeUp = 0x0000009A, // A cascading text shape pointed upwards.
msosptTextCascadeDown = 0x0000009B, // A cascading text shape pointed downwards.
msosptTextWave1 = 0x0000009C, // A wavy text shape.
msosptTextWave2 = 0x0000009D, // A wavy text shape.
msosptTextWave3 = 0x0000009E, // A wavy text shape.
msosptTextWave4 = 0x0000009F, // A wavy text shape.
msosptTextInflate = 0x000000A0, // A text shape that expands vertically in the middle.
msosptTextDeflate = 0x000000A1, // A text shape that shrinks vertically in the middle.
msosptTextInflateBottom = 0x000000A2, // A text shape that expands downward in the middle.
msosptTextDeflateBottom = 0x000000A3, // A text shape that shrinks upwards in the middle.
msosptTextInflateTop = 0x000000A4, // A text shape that expands upward in the middle.
msosptTextDeflateTop = 0x000000A5, // A text shape that shrinks downward in the middle.
msosptTextDeflateInflate = 0x000000A6, // A text shape where lower lines expand upward. Upper lines shrink to compensate.
msosptTextDeflateInflateDeflate = 0x000000A7, // A text shape where lines in the center expand vertically. Upper and lower lines shrink to compensate.
msosptTextFadeRight = 0x000000A8, // A text shape that shrinks vertically on the right side.
msosptTextFadeLeft = 0x000000A9, // A text shape that shrinks vertically on the left side.
msosptTextFadeUp = 0x000000AA, // A text shape that shrinks horizontally on top.
msosptTextFadeDown = 0x000000AB, // A text shape that shrinks horizontally on bottom.
msosptTextSlantUp = 0x000000AC, // An upward slanted text shape.
msosptTextSlantDown = 0x000000AD, // A downward slanted text shape.
msosptTextCanUp = 0x000000AE, // A text shape that is curved upwards as if being read on the side of a can.
msosptTextCanDown = 0x000000AF, // A text shape that is curved downwards as if being read on the side of a can.
msosptFlowChartAlternateProcess = 0x000000B0, // An alternate process shape for flowcharts.
msosptFlowChartOffpageConnector = 0x000000B1, // An off page connector shape for flowcharts.
msosptCallout90 = 0x000000B2, // A callout shape.
msosptAccentCallout90 = 0x000000B3, // A callout shape.
msosptBorderCallout90 = 0x000000B4, // A callout shape with border.
msosptAccentBorderCallout90 = 0x000000B5, // A callout shape with border.
msosptLeftRightUpArrow = 0x000000B6, // A shape with arrows pointing left, right, and up.
msosptSun = 0x000000B7, // A sun shape.
msosptMoon = 0x000000B8, // A moon shape.
msosptBracketPair = 0x000000B9, // A shape enclosed in brackets.
msosptBracePair = 0x000000BA, // A shape enclosed in braces.
msosptSeal4 = 0x000000BB, // A seal shape with four points.
msosptDoubleWave = 0x000000BC, // A double wave shape.
msosptActionButtonBlank = 0x000000BD, // A blank button shape.
msosptActionButtonHome = 0x000000BE, // A home button shape.
msosptActionButtonHelp = 0x000000BF, // A help button shape.
msosptActionButtonInformation = 0x000000C0, // An information button shape.
msosptActionButtonForwardNext = 0x000000C1, // A forward or next button shape.
msosptActionButtonBackPrevious = 0x000000C2, // A back or previous button shape.
msosptActionButtonEnd = 0x000000C3, // An end button shape.
msosptActionButtonBeginning = 0x000000C4, // A beginning button shape.
msosptActionButtonReturn = 0x000000C5, // A return button shape.
msosptActionButtonDocument = 0x000000C6, // A document button shape.
msosptActionButtonSound = 0x000000C7, // A sound button shape.
msosptActionButtonMovie = 0x000000C8, // A movie button shape.
msosptHostControl = 0x000000C9, // This value SHOULD NOT be used.
msosptTextBox = 0x000000CA // A text box shape.
};
typedef enum _JoinStyle
{
miter,
round,
bevel
} JoinStyle;
static const wchar_t JoinStyleMap[3][6] =
{
L"miter" ,
L"round" ,
L"bevel"
};
class Handle
{
public:
Handle()
{
}
Handle(std::wstring pos, std::wstring xRange)
{
position = pos;
xrange = xRange;
}
std::wstring position;
std::wstring xrange;
std::wstring switchHandle;
std::wstring yrange;
std::wstring polar;
std::wstring radiusrange;
};
class ShapeType: public IVisitable
{
public:
ShapeType (unsigned int typeCode) : Filled(true), Stroked(true), TypeCode(typeCode), Joins(miter), ShapeConcentricFill(false)
{
}
virtual ~ShapeType()
{
}
unsigned int GetTypeCode() const
{
return TypeCode;
}
/// This string describes a sequence of commands that define the shapes path.
/// This string describes both the pSegmentInfo array and pVertices array in the shapes geometry properties.
std::wstring Path;
/// This specifies a list of formulas whose calculated values are referenced by other properties.
/// Each formula is listed on a separate line. Formulas are ordered, with the first formula having index 0.
/// This section can be omitted if the shape doesnt need any guides.
std::list<std::wstring> Formulas;
/// Specifies a comma-delimited list of parameters, or adjustment values,
/// used to define values for a parameterized formula.
/// These values represent the location of an adjust handle and may be
/// referenced by the geometry of an adjust handle or as a parameter guide function.
std::wstring AdjustmentValues;
/// These values specify the location of connection points on the shapes path.
/// The connection points are defined by a string consisting of pairs of x and y values, delimited by commas.
std::wstring ConnectorLocations;
/// This section specifies the properties of each adjust handle on the shape.
/// One adjust handle is specified per line.
/// The properties for each handle correspond to values of the ADJH structure
/// contained in the pAdjustHandles array in the shapes geometry properties.
std::list<Handle> Handles;
/// Specifies one or more text boxes inscribed inside the shape.
/// A textbox is defined by one or more sets of numbers specifying (in order) the left, top, right, and bottom points of the rectangle.
/// Multiple sets are delimited by a semicolon.
/// If omitted, the text box is the same as the geometrys bounding box.
std::wstring TextBoxRectangle;
bool ShapeConcentricFill;
/// Specifies what join style the shape has.
/// Since there is no UI for changing the join style,
/// all shapes of this type will always have the specified join style.
JoinStyle Joins;
/// Specifies the (x,y) coordinates of the limo stretch point.
/// Some shapes that have portions that should be constrained to a fixed aspect ratio, are designed with limo-stretch to keep those portions at the fixed aspect ratio.
std::wstring Limo;
/// Associated with each connection site, there is a direction which specifies at what angle elbow and curved connectors should attach to it
std::wstring ConnectorAngles;
/// Specifies if a shape of this type is filled by default
bool Filled;
/// Specifies if a shape of this type is stroked by default
bool Stroked;
/// Speicfies the locked properties of teh shape.
/// By default nothing is locked.
ODRAW::OfficeArtFOPTEPtr Lock;
///
std::wstring Textpath;
protected:
unsigned int TypeCode;
};
}

View File

@ -1,69 +0,0 @@
/*
* (c) Copyright Ascensio System SIA 2010-2019
*
* 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 20A-12 Ernesta Birznieka-Upisha
* street, Riga, Latvia, EU, LV-1050.
*
* 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
#include "../ShapeType.h"
namespace DocFileFormat
{
class BevelType : public ShapeType
{
public:
BevelType () : ShapeType(msosptBevel)
{
ShapeConcentricFill = true;
Joins = miter;
Path = (L"m,l,21600r21600,l21600,xem@0@0nfl@0@2@1@2@1@0xem,nfl@0@0em,21600nfl@0@2em21600,21600nfl@1@2em21600,nfl@1@0e");
Formulas.push_back((L"val #0"));
Formulas.push_back((L"sum width 0 #0"));
Formulas.push_back((L"sum height 0 #0"));
Formulas.push_back((L"prod width 1 2"));
Formulas.push_back((L"prod height 1 2"));
Formulas.push_back((L"prod #0 1 2"));
Formulas.push_back((L"prod #0 3 2"));
Formulas.push_back((L"sum @1 @5 0"));
Formulas.push_back((L"sum @2 @5 0"));
AdjustmentValues = (L"2700");
ConnectorLocations = (L"0,@4;@0,@4;@3,21600;@3,@2;21600,@4;@1,@4;@3,0;@3,@0");
TextBoxRectangle = (L"@0,@0,@1,@2");
Handle one;
one.position = (L"#0,topLeft");
one.xrange = (L"0,10800");
Handles.push_back (one);
Limo = (L"10800,10800");
}
};
}

View File

@ -1,102 +0,0 @@
/*
* (c) Copyright Ascensio System SIA 2010-2019
*
* 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 20A-12 Ernesta Birznieka-Upisha
* street, Riga, Latvia, EU, LV-1050.
*
* 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
#include "../ShapeType.h"
namespace DocFileFormat
{
class BlockArcType : public ShapeType
{
public:
BlockArcType () : ShapeType(msosptBlockArc)
{
ShapeConcentricFill = false;
Joins = miter;
Path = (L"al10800,10800@0@0@2@14,10800,10800,10800,10800@3@15xe");
Formulas.push_back((L"val #1"));
Formulas.push_back((L"val #0"));
Formulas.push_back((L"sum 0 0 #0"));
Formulas.push_back((L"sumangle #0 0 180"));
Formulas.push_back((L"sumangle #0 0 90"));
Formulas.push_back((L"prod @4 2 1"));
Formulas.push_back((L"sumangle #0 90 0"));
Formulas.push_back((L"prod @6 2 1"));
Formulas.push_back((L"abs #0"));
Formulas.push_back((L"sumangle @8 0 90"));
Formulas.push_back((L"if @9 @7 @5"));
Formulas.push_back((L"sumangle @10 0 360"));
Formulas.push_back((L"if @10 @11 @10"));
Formulas.push_back((L"sumangle @12 0 360"));
Formulas.push_back((L"if @12 @13 @12"));
Formulas.push_back((L"sum 0 0 @14"));
Formulas.push_back((L"val 10800"));
Formulas.push_back((L"sum 10800 0 #1"));
Formulas.push_back((L"prod #1 1 2"));
Formulas.push_back((L"sum @18 5400 0"));
Formulas.push_back((L"cos @19 #0"));
Formulas.push_back((L"sin @19 #0"));
Formulas.push_back((L"sum @20 10800 0"));
Formulas.push_back((L"sum @21 10800 0"));
Formulas.push_back((L"sum 10800 0 @20"));
Formulas.push_back((L"sum #1 10800 0"));
Formulas.push_back((L"if @9 @17 @25"));
Formulas.push_back((L"if @9 0 21600"));
Formulas.push_back((L"cos 10800 #0"));
Formulas.push_back((L"sin 10800 #0"));
Formulas.push_back((L"sin #1 #0"));
Formulas.push_back((L"sum @28 10800 0"));
Formulas.push_back((L"sum @29 10800 0"));
Formulas.push_back((L"sum @30 10800 0"));
Formulas.push_back((L"if @4 0 @31"));
Formulas.push_back((L"if #0 @34 0"));
Formulas.push_back((L"if @6 @35 @31"));
Formulas.push_back((L"sum 21600 0 @36"));
Formulas.push_back((L"if @4 0 @33"));
Formulas.push_back((L"if #0 @38 @32"));
Formulas.push_back((L"if @6 @39 0"));
Formulas.push_back((L"if @4 @32 21600"));
Formulas.push_back((L"if @6 @41 @33"));
AdjustmentValues = (L"11796480,5400");
ConnectorLocations = (L"10800,@27;@22,@23;10800,@26;@24,@23");
TextBoxRectangle = (L"@36,@40,@37,@42");
Handle one;
one.position = (L"#1,#0");
one.polar = (L"10800,10800");
one.radiusrange = (L"0,10800");
Handles.push_back (one);
}
};
}

View File

@ -1,72 +0,0 @@
/*
* (c) Copyright Ascensio System SIA 2010-2019
*
* 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 20A-12 Ernesta Birznieka-Upisha
* street, Riga, Latvia, EU, LV-1050.
*
* 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
#include "../ShapeType.h"
namespace DocFileFormat
{
class CanType: public ShapeType
{
public:
CanType():
ShapeType(msosptCan)
{
this->ShapeConcentricFill = true;
this->Joins = round;
this->Path = L"m10800,qx0@1l0@2qy10800,21600,21600@2l21600@1qy10800,xem0@1qy10800@0,21600@1nfe";
this->Formulas.push_back( L"val #0" );
this->Formulas.push_back( L"prod #0 1 2" );
this->Formulas.push_back( L"sum height 0 @1" );
this->AdjustmentValues = L"5400";
this->ConnectorLocations = L"10800,@0;10800,0;0,10800;10800,21600;21600,10800";
this->ConnectorAngles = L"270,270,180,90,0";
this->TextBoxRectangle = L"0,@0,21600,@2";
Handle HandleOne;
HandleOne.position = L"center,#0";
HandleOne.yrange = L"0,10800";
this->Handles.push_back( HandleOne );
}
virtual ~CanType()
{
}
};
}

View File

@ -1,79 +0,0 @@
/*
* (c) Copyright Ascensio System SIA 2010-2019
*
* 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 20A-12 Ernesta Birznieka-Upisha
* street, Riga, Latvia, EU, LV-1050.
*
* 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
#include "../ShapeType.h"
namespace DocFileFormat
{
class CubeType: public ShapeType
{
public:
CubeType():
ShapeType(msosptCube)
{
this->ShapeConcentricFill = true;
this->Joins = miter;
this->Path = L"m@0,l0@0,,21600@1,21600,21600@2,21600,xem0@0nfl@1@0,21600,em@1@0nfl@1,21600e";
this->Formulas.push_back( L"val #0");
this->Formulas.push_back( L"sum width 0 #0");
this->Formulas.push_back( L"sum height 0 #0");
this->Formulas.push_back( L"mid height #0");
this->Formulas.push_back( L"prod @1 1 2");
this->Formulas.push_back( L"prod @2 1 2");
this->Formulas.push_back( L"mid width #0");
this->AdjustmentValues = L"5400";
this->ConnectorLocations = L"@6,0;@4,@0;0,@3;@4,21600;@1,@3;21600,@5";
this->ConnectorAngles = L"270,270,180,90,0,0";
this->TextBoxRectangle = L"0,@0,@1,21600";
Handle HandleOne;
HandleOne.position = L"topLeft,#0";
HandleOne.switchHandle = L"true";
HandleOne.yrange = L"0,21600";
this->Handles.push_back( HandleOne );
this->Limo = L"10800,10800";
}
virtual ~CubeType()
{
}
};
}

View File

@ -1,59 +0,0 @@
/*
* (c) Copyright Ascensio System SIA 2010-2019
*
* 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 20A-12 Ernesta Birznieka-Upisha
* street, Riga, Latvia, EU, LV-1050.
*
* 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
#include "../ShapeType.h"
namespace DocFileFormat
{
class DiamondType: public ShapeType
{
public:
DiamondType():
ShapeType(msosptDiamond)
{
this->ShapeConcentricFill = true;
this->Joins = miter;
this->Path = L"m10800,l,10800,10800,21600,21600,10800xe";
this->ConnectorLocations = L"Rectangle";
this->TextBoxRectangle = L"5400,5400,16200,16200";
}
virtual ~DiamondType()
{
}
};
}

View File

@ -1,64 +0,0 @@
/*
* (c) Copyright Ascensio System SIA 2010-2019
*
* 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 20A-12 Ernesta Birznieka-Upisha
* street, Riga, Latvia, EU, LV-1050.
*
* 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
#include "../ShapeType.h"
namespace DocFileFormat
{
class DonutType: public ShapeType
{
public:
DonutType() : ShapeType(msosptDonut)
{
ShapeConcentricFill = false;
Joins = round;
Path = L"m,10800qy10800,,21600,10800,10800,21600,,10800xm@0,10800qy10800@2@1,10800,10800@0@0,10800xe";
Formulas.push_back(L"val #0" ) ;
Formulas.push_back(L"sum width 0 #0" ) ;
Formulas.push_back(L"sum height 0 #0" );
Formulas.push_back(L"prod @0 2929 10000" );
Formulas.push_back(L"sum width 0 @3" ) ;
Formulas.push_back(L"sum height 0 @3" );
AdjustmentValues = L"5400";
ConnectorLocations = L"10800,0;3163,3163;0,10800;3163,18437;10800,21600;18437,18437;21600,10800;18437,3163";
TextBoxRectangle = L"3163,3163,18437,18437";
Handle HandleOne;
HandleOne.position = L"#0,center";
HandleOne.xrange = L"0,10800";
Handles.push_back(HandleOne);
}
};
}

View File

@ -1,53 +0,0 @@
/*
* (c) Copyright Ascensio System SIA 2010-2019
*
* 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 20A-12 Ernesta Birznieka-Upisha
* street, Riga, Latvia, EU, LV-1050.
*
* 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
#include "../ShapeType.h"
namespace DocFileFormat
{
class HeartType : public ShapeType
{
public:
HeartType () : ShapeType(msosptHeart)
{
ShapeConcentricFill = true;
Joins = miter;
Path = (L"m10860,2187c10451,1746,9529,1018,9015,730,7865,152,6685,,5415,,4175,152,2995,575,1967,1305,1150,2187,575,3222,242,4220,,5410,242,6560,575,7597l10860,21600,20995,7597v485,-1037,605,-2187,485,-3377c21115,3222,20420,2187,19632,1305,18575,575,17425,152,16275,,15005,,13735,152,12705,730v-529,288,-1451,1016,-1845,1457xe" );
AdjustmentValues = (L"21600" );
ConnectorLocations = (L"10860,2187;2928,10800;10860,21600;18672,10800" );
ConnectorAngles = (L"270,180,90,0" );
TextBoxRectangle = (L"5037,2277,16557,13677" );
}
};
}

View File

@ -1,73 +0,0 @@
/*
* (c) Copyright Ascensio System SIA 2010-2019
*
* 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 20A-12 Ernesta Birznieka-Upisha
* street, Riga, Latvia, EU, LV-1050.
*
* 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
#include "../ShapeType.h"
namespace DocFileFormat
{
class HexagonType: public ShapeType
{
public:
HexagonType():
ShapeType(msosptHexagon)
{
this->ShapeConcentricFill = true;
this->Joins = miter;
this->Path = L"m@0,l,10800@0,21600@1,21600,21600,10800@1,xe";
this->Formulas.push_back( L"val #0");
this->Formulas.push_back( L"sum width 0 #0");
this->Formulas.push_back( L"sum height 0 #0");
this->Formulas.push_back( L"prod @0 2929 10000");
this->Formulas.push_back( L"sum width 0 @3");
this->Formulas.push_back( L"sum height 0 @3");
this->AdjustmentValues = L"5400";
this->ConnectorLocations = L"Rectangle";
this->TextBoxRectangle = L"1800,1800,19800,19800;3600,3600,18000,18000;6300,6300,15300,15300";
Handle HandleOne;
HandleOne.position = L"#0,topLeft";
HandleOne.xrange = L"0,10800";
Handles.push_back( HandleOne );
}
virtual ~HexagonType()
{
}
};
}

View File

@ -1,69 +0,0 @@
/*
* (c) Copyright Ascensio System SIA 2010-2019
*
* 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 20A-12 Ernesta Birznieka-Upisha
* street, Riga, Latvia, EU, LV-1050.
*
* 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
#include "../ShapeType.h"
namespace DocFileFormat
{
class IsoscelesTriangleType: public ShapeType
{
public:
IsoscelesTriangleType():
ShapeType(msosptIsocelesTriangle)
{
this->ShapeConcentricFill = true;
this->Joins = miter;
this->Path = L"m@0,l,21600r21600,xe" ;
this->Formulas.push_back( L"val #0" );
this->Formulas.push_back( L"prod #0 1 2" );
this->Formulas.push_back( L"sum @1 10800 0");
this->AdjustmentValues = L"10800" ;
this->ConnectorLocations = L"@0,0;@1,10800;0,21600;10800,21600;21600,21600;@2,10800";
this->TextBoxRectangle = L"0,10800,10800,18000;5400,10800,16200,18000;10800,10800,21600,18000;0,7200,7200,21600;7200,7200,14400,21600;14400,7200,21600,21600";
Handle HandleOne;
HandleOne.position = L"#0,topLeft";
HandleOne.xrange = L"0,21600";
this->Handles.push_back( HandleOne );
}
virtual ~IsoscelesTriangleType()
{
}
};
}

View File

@ -1,53 +0,0 @@
/*
* (c) Copyright Ascensio System SIA 2010-2019
*
* 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 20A-12 Ernesta Birznieka-Upisha
* street, Riga, Latvia, EU, LV-1050.
*
* 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
#include "../ShapeType.h"
namespace DocFileFormat
{
class LightningBoltType : public ShapeType
{
public:
LightningBoltType () : ShapeType(msosptLightningBolt)
{
ShapeConcentricFill = true;
Joins = miter;
Path = L"m8472,l,3890,7602,8382,5022,9705r7200,4192l10012,14915r11588,6685l14767,12877r1810,-870l11050,6797r1810,-717xe";
//AdjustmentValues = L"2700" );
ConnectorLocations = L"8472,0;0,3890;5022,9705;10012,14915;21600,21600;16577,12007;12860,6080";
ConnectorAngles = L"270,270,180,180,90,0,0";
TextBoxRectangle = L"8757,7437,13917,14277";
}
};
}

View File

@ -1,50 +0,0 @@
/*
* (c) Copyright Ascensio System SIA 2010-2019
*
* 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 20A-12 Ernesta Birznieka-Upisha
* street, Riga, Latvia, EU, LV-1050.
*
* 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
#include "../ShapeType.h"
namespace DocFileFormat
{
class LineType: public ShapeType
{
public:
LineType():
ShapeType(msosptLine)
{
}
virtual ~LineType()
{
}
};
}

View File

@ -1,76 +0,0 @@
/*
* (c) Copyright Ascensio System SIA 2010-2019
*
* 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 20A-12 Ernesta Birznieka-Upisha
* street, Riga, Latvia, EU, LV-1050.
*
* 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
#include "../ShapeType.h"
namespace DocFileFormat
{
class MoonType : public ShapeType
{
public:
MoonType () : ShapeType(msosptMoon)
{
ShapeConcentricFill = true;
Joins = miter;
Path = (L"m21600,qx,10800,21600,21600wa@0@10@6@11,21600,21600,21600,xe");
Formulas.push_back((L"val #0"));
Formulas.push_back((L"sum 21600 0 #0"));
Formulas.push_back((L"prod #0 #0 @1"));
Formulas.push_back((L"prod 21600 21600 @1"));
Formulas.push_back((L"prod @3 2 1"));
Formulas.push_back((L"sum @4 0 @2"));
Formulas.push_back((L"sum @5 0 #0"));
Formulas.push_back((L"prod @5 1 2"));
Formulas.push_back((L"sum @7 0 #0"));
Formulas.push_back((L"prod @8 1 2"));
Formulas.push_back((L"sum 10800 0 @9"));
Formulas.push_back((L"sum @9 10800 0"));
Formulas.push_back((L"prod #0 9598 32768"));
Formulas.push_back((L"sum 21600 0 @12"));
Formulas.push_back((L"ellipse @13 21600 10800"));
Formulas.push_back((L"sum 10800 0 @14"));
Formulas.push_back((L"sum @14 10800 0"));
AdjustmentValues = (L"10800");
ConnectorLocations = (L"21600,0;0,10800;21600,21600;@0,10800");
ConnectorAngles = (L"270,180,90,0");
TextBoxRectangle = (L"@12,@15,@0,@16");
Handle one;
one.position = (L"#0,center");
one.xrange = (L"0,18900");
Handles.push_back (one);
}
};
}

View File

@ -1,75 +0,0 @@
/*
* (c) Copyright Ascensio System SIA 2010-2019
*
* 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 20A-12 Ernesta Birznieka-Upisha
* street, Riga, Latvia, EU, LV-1050.
*
* 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
#include "../ShapeType.h"
namespace DocFileFormat
{
class NoSmokingType : public ShapeType
{
public:
NoSmokingType () : ShapeType(msosptNoSmoking)
{
ShapeConcentricFill = true;
Joins = miter;
Path = (L"m,10800qy10800,,21600,10800,10800,21600,,10800xar@0@0@16@16@12@14@15@13xar@0@0@16@16@13@15@14@12xe");
Formulas.push_back((L"val #0" ));
Formulas.push_back((L"prod @0 2 1" ));
Formulas.push_back((L"sum 21600 0 @1" ));
Formulas.push_back((L"prod @2 @2 1" ));
Formulas.push_back((L"prod @0 @0 1" ));
Formulas.push_back((L"sum @3 0 @4" ));
Formulas.push_back((L"prod @5 1 8" ));
Formulas.push_back((L"sqrt @6" ));
Formulas.push_back((L"prod @4 1 8" ));
Formulas.push_back((L"sqrt @8" ));
Formulas.push_back((L"sum @7 @9 0" ));
Formulas.push_back((L"sum @7 0 @9" ));
Formulas.push_back((L"sum @10 10800 0" ));
Formulas.push_back((L"sum 10800 0 @10" ));
Formulas.push_back((L"sum @11 10800 0" ));
Formulas.push_back((L"sum 10800 0 @11" ));
Formulas.push_back((L"sum 21600 0 @0" ));
AdjustmentValues = (L"2700" );
ConnectorLocations = (L"10800,0;3163,3163;0,10800;3163,18437;10800,21600;18437,18437;21600,10800;18437,3163" );
TextBoxRectangle = (L"3163,3163,18437,18437" );
Handle one;
one.position = L"#0,center";
one.xrange = L"0,7200";
Handles.push_back (one);
}
};
}

View File

@ -1,80 +0,0 @@
/*
* (c) Copyright Ascensio System SIA 2010-2019
*
* 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 20A-12 Ernesta Birznieka-Upisha
* street, Riga, Latvia, EU, LV-1050.
*
* 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
#include "../ShapeType.h"
namespace DocFileFormat
{
class OctagonType: public ShapeType
{
public:
OctagonType():
ShapeType(msosptOctagon)
{
this->ShapeConcentricFill = true;
this->Joins = miter;
this->Path = L"m@0,l0@0,0@2@0,21600@1,21600,21600@2,21600@0@1,xe";
this->Formulas.push_back( L"val #0");
this->Formulas.push_back( L"sum width 0 #0");
this->Formulas.push_back( L"sum height 0 #0");
this->Formulas.push_back( L"prod @0 2929 10000");
this->Formulas.push_back( L"sum width 0 @3");
this->Formulas.push_back( L"sum height 0 @3");
this->Formulas.push_back( L"val width");
this->Formulas.push_back( L"val height");
this->Formulas.push_back( L"prod width 1 2");
this->Formulas.push_back( L"prod height 1 2");
this->AdjustmentValues = L"6326";
this->ConnectorLocations = L"@8,0;0,@9;@8,@7;@6,@9";
this->TextBoxRectangle = L"0,0,21600,21600;2700,2700,18900,18900;5400,5400,16200,16200";
Handle HandleOne;
HandleOne.position = L"#0,topLeft";
HandleOne.switchHandle = L"true";
HandleOne.xrange = L"0,10800";
this->Handles.push_back( HandleOne );
this->Limo = L"10800,10800";
}
virtual ~OctagonType()
{
}
};
}

View File

@ -1,80 +0,0 @@
/*
* (c) Copyright Ascensio System SIA 2010-2019
*
* 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 20A-12 Ernesta Birznieka-Upisha
* street, Riga, Latvia, EU, LV-1050.
*
* 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
#include "../ShapeType.h"
namespace DocFileFormat
{
class ParallelogramType: public ShapeType
{
public:
ParallelogramType():
ShapeType(msosptParallelogram)
{
this->ShapeConcentricFill = true;
this->Joins = miter;
this->Path = L"m@0,l,21600@1,21600,21600,xe";
this->Formulas.push_back( L"val #0");
this->Formulas.push_back( L"sum width 0 #0");
this->Formulas.push_back( L"prod #0 1 2");
this->Formulas.push_back( L"sum width 0 @2");
this->Formulas.push_back( L"mid #0 width");
this->Formulas.push_back( L"mid @1 0");
this->Formulas.push_back( L"prod height width #0");
this->Formulas.push_back( L"prod @6 1 2");
this->Formulas.push_back( L"sum height 0 @7");
this->Formulas.push_back( L"prod width 1 2");
this->Formulas.push_back( L"sum #0 0 @9");
this->Formulas.push_back( L"if @10 @8 0");
this->Formulas.push_back( L"if @10 @7 height");
this->AdjustmentValues = L"5400";
this->ConnectorLocations = L"@4,0;10800,@11;@3,10800;@5,21600;10800,@12;@2,10800";
this->TextBoxRectangle = L"1800,1800,19800,19800;8100,8100,13500,13500;10800,10800,10800,10800";
Handle HandleOne;
HandleOne.position = L"#0,topLeft";
HandleOne.xrange = L"0,21600";
this->Handles.push_back( HandleOne );
}
virtual ~ParallelogramType()
{
}
};
}

View File

@ -1,56 +0,0 @@
/*
* (c) Copyright Ascensio System SIA 2010-2019
*
* 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 20A-12 Ernesta Birznieka-Upisha
* street, Riga, Latvia, EU, LV-1050.
*
* 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
#include "../ShapeType.h"
namespace DocFileFormat
{
class PentagonType : public ShapeType
{
public:
PentagonType () : ShapeType(msosptPentagon)
{
ShapeConcentricFill = true;
Joins = miter;
Path = L"m10800,l,8259,4200,21600r13200,l21600,8259xe";
ConnectorLocations = L"10800,0;0,8259;4200,21600;10800,21600;17400,21600;21600,8259";
ConnectorAngles = L"270,180,90,90,90,0" ;
TextBoxRectangle = L"4200,5077,17400,21600";
}
virtual ~PentagonType()
{
}
};
}

View File

@ -1,75 +0,0 @@
/*
* (c) Copyright Ascensio System SIA 2010-2019
*
* 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 20A-12 Ernesta Birznieka-Upisha
* street, Riga, Latvia, EU, LV-1050.
*
* 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
#include "../ShapeType.h"
namespace DocFileFormat
{
class PlaqueType: public ShapeType
{
public:
PlaqueType():
ShapeType(msosptPlaque)
{
this->ShapeConcentricFill = true;
this->Joins = miter;
this->Path = L"m@0,qy0@0l0@2qx@0,21600l@1,21600qy21600@2l21600@0qx@1,xe";
this->Formulas.push_back( L"val #0");
this->Formulas.push_back( L"sum width 0 #0");
this->Formulas.push_back( L"sum height 0 #0");
this->Formulas.push_back( L"prod @0 7071 10000");
this->Formulas.push_back( L"sum width 0 @3");
this->Formulas.push_back( L"sum height 0 @3");
this->Formulas.push_back( L"val width");
this->Formulas.push_back( L"val height");
this->Formulas.push_back( L"prod width 1 2");
this->Formulas.push_back( L"prod height 1 2");
this->AdjustmentValues = L"3600";
this->ConnectorLocations = L"@8,0;0,@9;@8,@7;@6,@9";
this->TextBoxRectangle = L"@3,@3,@4,@5";
Handle HandleOne;
HandleOne.position = L"#0,topLeft";
HandleOne.switchHandle = L"true";
HandleOne.xrange = L"0,10800";
this->Handles.push_back( HandleOne );
this->Limo = L"10800,10800";
}
virtual ~PlaqueType()
{
}
};
}

View File

@ -1,80 +0,0 @@
/*
* (c) Copyright Ascensio System SIA 2010-2019
*
* 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 20A-12 Ernesta Birznieka-Upisha
* street, Riga, Latvia, EU, LV-1050.
*
* 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
#include "../ShapeType.h"
namespace DocFileFormat
{
class PlusType: public ShapeType
{
public:
PlusType():
ShapeType(msosptPlus)
{
this->ShapeConcentricFill = true;
this->Joins = miter;
this->Path = L"m@0,l@0@0,0@0,0@2@0@2@0,21600@1,21600@1@2,21600@2,21600@0@1@0@1,xe";
this->Formulas.push_back( L"val #0" );
this->Formulas.push_back( L"sum width 0 #0" );
this->Formulas.push_back( L"sum height 0 #0" );
this->Formulas.push_back( L"prod @0 2929 10000" );
this->Formulas.push_back( L"sum width 0 @3" );
this->Formulas.push_back( L"sum height 0 @3" );
this->Formulas.push_back( L"val width" );
this->Formulas.push_back( L"val height" );
this->Formulas.push_back( L"prod width 1 2" );
this->Formulas.push_back( L"prod height 1 2" );
this->AdjustmentValues = L"5400";
this->ConnectorLocations = L"@8,0;0,@9;@8,@7;@6,@9";
this->TextBoxRectangle = L"0,0,21600,21600;5400,5400,16200,16200;10800,10800,10800,10800";
Handle HandleOne;
HandleOne.position = L"#0,topLeft";
HandleOne.switchHandle = L"true";
HandleOne.xrange = L"0,10800";
this->Handles.push_back( HandleOne );
this->Limo = L"10800,10800";
}
virtual ~PlusType()
{
}
};
}

View File

@ -1,55 +0,0 @@
/*
* (c) Copyright Ascensio System SIA 2010-2019
*
* 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 20A-12 Ernesta Birznieka-Upisha
* street, Riga, Latvia, EU, LV-1050.
*
* 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
#include "../ShapeType.h"
namespace DocFileFormat
{
class RectangleType: public ShapeType
{
public:
RectangleType():
ShapeType(msosptRectangle)
{
this->ShapeConcentricFill = true;
this->Joins = miter;
this->Path = L"m,l,21600r21600,l21600,xe";
}
virtual ~RectangleType()
{
}
};
}

View File

@ -1,59 +0,0 @@
/*
* (c) Copyright Ascensio System SIA 2010-2019
*
* 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 20A-12 Ernesta Birznieka-Upisha
* street, Riga, Latvia, EU, LV-1050.
*
* 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
#include "../ShapeType.h"
namespace DocFileFormat
{
class RightTriangleType: public ShapeType
{
public:
RightTriangleType():
ShapeType(msosptRightTriangle)
{
this->ShapeConcentricFill = true;
this->Joins = miter;
this->Path = L"m,l,21600r21600,xe";
this->ConnectorLocations = L"0,0;0,10800;0,21600;10800,21600;21600,21600;10800,10800";
this->TextBoxRectangle = L"1800,12600,12600,19800";
}
virtual ~RightTriangleType()
{
}
};
}

View File

@ -1,53 +0,0 @@
/*
* (c) Copyright Ascensio System SIA 2010-2019
*
* 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 20A-12 Ernesta Birznieka-Upisha
* street, Riga, Latvia, EU, LV-1050.
*
* 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
#include "RectangleType.h"
namespace DocFileFormat
{
class RoundedRectangleType: public RectangleType
{
public:
RoundedRectangleType() : RectangleType()
{
TypeCode = msosptRoundRectangle;
Joins = round;
AdjustmentValues = L"5400";
}
virtual ~RoundedRectangleType()
{
}
};
}

View File

@ -1,62 +0,0 @@
/*
* (c) Copyright Ascensio System SIA 2010-2019
*
* 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 20A-12 Ernesta Birznieka-Upisha
* street, Riga, Latvia, EU, LV-1050.
*
* 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
#include "../ShapeType.h"
namespace DocFileFormat
{
class SmileyFaceType : public ShapeType
{
public:
SmileyFaceType () : ShapeType(msosptSmileyFace)
{
ShapeConcentricFill = true;
Joins = miter;
Path = L"m10800,qx,10800,10800,21600,21600,10800,10800,xem7340,6445qx6215,7570,7340,8695,8465,7570,7340,6445xnfem14260,6445qx13135,7570,14260,8695,15385,7570,14260,6445xnfem4960@0c8853@3,12747@3,16640@0nfe";
Formulas.push_back(L"sum 33030 0 #0" );
Formulas.push_back(L"prod #0 4 3" );
Formulas.push_back(L"prod @0 1 3" );
Formulas.push_back(L"sum @1 0 @2" );
AdjustmentValues = L"17520";
ConnectorLocations = L"10800,0;3163,3163;0,10800;3163,18437;10800,21600;18437,18437;21600,10800;18437,3163" ;
TextBoxRectangle = L"3163,3163,18437,18437" ;
Handle one;
one.position = L"center,#0";
one.xrange = L"15510,17520";
Handles.push_back (one);
}
};
}

View File

@ -1,79 +0,0 @@
/*
* (c) Copyright Ascensio System SIA 2010-2019
*
* 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 20A-12 Ernesta Birznieka-Upisha
* street, Riga, Latvia, EU, LV-1050.
*
* 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
#include "../ShapeType.h"
namespace DocFileFormat
{
class SunType : public ShapeType
{
public:
SunType () : ShapeType(msosptSun)
{
ShapeConcentricFill = true;
Joins = miter;
Path = L"m21600,10800l@15@14@15@18xem18436,3163l@17@12@16@13xem10800,l@14@10@18@10xem3163,3163l@12@13@13@12xem,10800l@10@18@10@14xem3163,18436l@13@16@12@17xem10800,21600l@18@15@14@15xem18436,18436l@16@17@17@16xem10800@19qx@19,10800,10800@20@20,10800,10800@19xe";
Formulas.push_back(L"sum 10800 0 #0");
Formulas.push_back(L"prod @0 30274 32768");
Formulas.push_back(L"prod @0 12540 32768");
Formulas.push_back(L"sum @1 10800 0");
Formulas.push_back(L"sum @2 10800 0");
Formulas.push_back(L"sum 10800 0 @1");
Formulas.push_back(L"sum 10800 0 @2");
Formulas.push_back(L"prod @0 23170 32768");
Formulas.push_back(L"sum @7 10800 0");
Formulas.push_back(L"sum 10800 0 @7");
Formulas.push_back(L"prod @5 3 4");
Formulas.push_back(L"prod @6 3 4");
Formulas.push_back(L"sum @10 791 0");
Formulas.push_back(L"sum @11 791 0");
Formulas.push_back(L"sum @11 2700 0");
Formulas.push_back(L"sum 21600 0 @10");
Formulas.push_back(L"sum 21600 0 @12");
Formulas.push_back(L"sum 21600 0 @13");
Formulas.push_back(L"sum 21600 0 @14");
Formulas.push_back(L"val #0");
Formulas.push_back(L"sum 21600 0 #0");
AdjustmentValues = L"5400";
ConnectorLocations = L"0,@4;@0,@4;@3,21600;@3,@2;21600,@4;@1,@4;@3,0;@3,@0";
TextBoxRectangle = L"@9,@9,@8,@8";
Handle one;
one.position = L"#0,center";
one.xrange = L"2700,10125";
Handles.push_back (one);
}
};
}

View File

@ -1,54 +0,0 @@
/*
* (c) Copyright Ascensio System SIA 2010-2019
*
* 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 20A-12 Ernesta Birznieka-Upisha
* street, Riga, Latvia, EU, LV-1050.
*
* 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
#include "../ShapeType.h"
namespace DocFileFormat
{
class TextboxType: public ShapeType
{
public:
TextboxType () : ShapeType(msosptTextBox)
{
ShapeConcentricFill = true;
Joins = miter;
Path = L"m,l,21600r21600,l21600,xe";
}
virtual ~TextboxType()
{
}
};
}

View File

@ -1,78 +0,0 @@
/*
* (c) Copyright Ascensio System SIA 2010-2019
*
* 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 20A-12 Ernesta Birznieka-Upisha
* street, Riga, Latvia, EU, LV-1050.
*
* 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
#include "../ShapeType.h"
namespace DocFileFormat
{
class TrapezoidType : public ShapeType
{
public:
TrapezoidType () : ShapeType(msosptTrapezoid)
{
ShapeConcentricFill = true;
Joins = miter;
Path = L"m,l@0,21600@1,21600,21600,xe";
Formulas.push_back( L"val #0");
Formulas.push_back( L"sum width 0 #0");
Formulas.push_back( L"prod #0 1 2");
Formulas.push_back( L"sum width 0 @2");
Formulas.push_back( L"mid #0 width");
Formulas.push_back( L"mid @1 0");
Formulas.push_back( L"prod height width #0");
Formulas.push_back( L"prod @6 1 2");
Formulas.push_back( L"sum height 0 @7");
Formulas.push_back( L"prod width 1 2");
Formulas.push_back( L"sum #0 0 @9");
Formulas.push_back( L"if @10 @8 0");
Formulas.push_back( L"if @10 @7 height");
AdjustmentValues = L"5400";
ConnectorLocations = L"@3,10800;10800,21600;@2,10800;10800,0";
TextBoxRectangle = L"1800,1800,19800,19800;4500,4500,17100,17100;7200,7200,14400,14400";
Handle one;
one.position = L"#0,bottomRight";
one.xrange = L"0,10800";
Handles.push_back (one);
}
virtual ~TrapezoidType()
{
}
};
}

View File

@ -1,90 +0,0 @@
/*
* (c) Copyright Ascensio System SIA 2010-2019
*
* 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 20A-12 Ernesta Birznieka-Upisha
* street, Riga, Latvia, EU, LV-1050.
*
* 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
#include "IVisitable.h"
#include "PictureDescriptor.h"
namespace DocFileFormat
{
class WordDocument;
class OleObject: public IVisitable
{
friend class OleObjectMapping;
public:
enum LinkUpdateOption
{
NoLink = 0,
Always = 1,
OnCall = 3
};
int nWordVersion;
bool bLinked; // The the value is true, the object is a linked object
std::wstring ObjectId;
std::wstring ClassId;
std::wstring UserType; // Display name of the linked object or embedded object.
std::wstring ClipboardFormat;
std::wstring Link;
std::wstring Program;
LinkUpdateOption updateMode;
std::wstring UpdateMode;
bool isEquation;
bool isEmbedded;
std::string emeddedData;
PictureDescriptor pictureDesciptor;
OleObject( const CharacterPropertyExceptions* chpx, WordDocument* document);
virtual ~OleObject() {}
private:
POLE::Storage *oleStorage;
bool processLinkInfoStream ( const std::wstring& linkStream );
void processEquationNativeStream( const std::wstring& eqStream );
void processPICStream ( const std::wstring& picStream );
void processMETAStream ( const std::wstring& metaStream );
bool processCompObjStream ( const std::wstring& compStream );
bool processOleStream ( const std::wstring& oleStreamName );
void processOleStream ( VirtualStreamReader& reader );
void processLinkInfoStream ( VirtualStreamReader& reader );
void processCompObjStream ( VirtualStreamReader& reader );
std::wstring getOleEntryName ( const CharacterPropertyExceptions* chpx );
};
}

View File

@ -1,125 +0,0 @@
/*
* (c) Copyright Ascensio System SIA 2010-2019
*
* 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 20A-12 Ernesta Birznieka-Upisha
* street, Riga, Latvia, EU, LV-1050.
*
* 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
#include "ByteStructure.h"
#include "DrawingPrimitives.h"
class VirtualStreamReader;
namespace DocFileFormat
{
typedef enum AnchorType
{
MARGIN,
PAGE,
TEXT
} AnchorType;
class Spa : public ByteStructure
{
public:
friend class VMLShapeMapping;
friend class DocumentMapping;
static const int STRUCTURE_SIZE = 26;
static const int STRUCTURE_SIZE_OLD = 6;
static const int GetSize(int nWordVersion)
{
return (nWordVersion > 0) ? STRUCTURE_SIZE_OLD : STRUCTURE_SIZE;
}
Spa();
virtual ~Spa();
virtual ByteStructure* ConstructObject(VirtualStreamReader* reader, int length);
inline int GetShapeID() const
{
return spid;
}
private:
/// Shape Identifier. Used in conjunction with the office art data
/// (found via fcDggInfo in the FIB) to find the actual data for newObject shape.
int spid;
/// Left of rectangle enclosing shape relative to the origin of the shape
int xaLeft;
/// Top of rectangle enclosing shape relative to the origin of the shape
int yaTop;
/// Right of rectangle enclosing shape relative to the origin of the shape
int xaRight;
/// Bottom of the rectangle enclosing shape relative to the origin of the shape
int yaBottom;
/// true in the undo doc when shape is from the header doc
/// false otherwise (undefined when not in the undo doc)
bool fHdr;
/// X position of shape relative to anchor CP
/// 0 relative to page margin
/// 1 relative to top of page
/// 2 relative to text (column for horizontal text; paragraph for vertical text)
/// 3 reserved for future use
AnchorType bx;
/// Y position of shape relative to anchor CP
/// 0 relative to page margin
/// 1 relative to top of page
/// 2 relative to text (column for horizontal text; paragraph for vertical text)
/// 3 reserved for future use
AnchorType by;
/// Text wrapping mode
/// 0 like 2, but doesnt require absolute object
/// 1 no text next to shape
/// 2 wrap around absolute object
/// 3 wrap as if no object present
/// 4 wrap tightly around object
/// 5 wrap tightly, but allow holes
/// 6-15 reserved for future use
unsigned short wr;
/// Text wrapping mode type (valid only for wrapping modes 2 and 4)
/// 0 wrap both sides
/// 1 wrap only on left
/// 2 wrap only on right
/// 3 wrap only on largest side
unsigned short wrk;
/// When set, temporarily overrides bx, by,
/// forcing the xaLeft, xaRight, yaTop, and yaBottom fields
/// to all be page relative.
bool fRcaSimple;
bool fBelowText; // true: shape is below text
bool fAnchorLock; // true: anchor is locked
int cTxbx; // Count of textboxes in shape (undo doc only)
DrawingPrimitives primitives;
void read_primitives(Spa* pSpa, VirtualStreamReader* reader, int length);
};
}

View File

@ -1,268 +0,0 @@
#-------------------------------------------------
#
# Project created by QtCreator 2014-12-16T18:28:23
#
#-------------------------------------------------
QT -= core gui
TARGET = DocFormatLib
TEMPLATE = lib
CONFIG += staticlib
CORE_ROOT_DIR = $$PWD/../../..
PWD_ROOT_DIR = $$PWD
CONFIG += core_x2t
include(../../../Common/base.pri)
#BOOST
include($$PWD/../../../Common/3dParty/boost/boost.pri)
DEFINES += UNICODE \
_UNICODE \
DONT_WRITE_EMBEDDED_FONTS
core_mac {
#QMAKE_MAC_SDK = macosx10.11
}
SOURCES += \
../DocFormatLib.cpp \
../../../Common/3dParty/pole/pole.cpp \
../../DocDocxConverter/EncryptionHeader.cpp \
../../DocDocxConverter/DrawingPrimitives.cpp \
../../DocDocxConverter/Spa.cpp \
../../DocDocxConverter/OleObject.cpp
core_release {
SOURCES += \
docformatlib_converter.cpp
}
core_debug {
SOURCES += \
../../DocDocxConverter/AnnotationReferenceDescriptor.cpp \
../../DocDocxConverter/CharacterPropertiesMapping.cpp \
../../DocDocxConverter/Converter.cpp \
../../DocDocxConverter/DocumentMapping.cpp \
../../DocDocxConverter/DocumentProperties.cpp \
../../DocDocxConverter/FontFamilyName.cpp \
../../DocDocxConverter/FontTableMapping.cpp \
../../DocDocxConverter/FooterMapping.cpp \
../../DocDocxConverter/FormattedDiskPageCHPX.cpp \
../../DocDocxConverter/FormattedDiskPagePAPX.cpp \
../../DocDocxConverter/HeaderAndFooterTable.cpp \
../../DocDocxConverter/HeaderMapping.cpp \
../../DocDocxConverter/LanguageIdMapping.cpp \
../../DocDocxConverter/ListData.cpp \
../../DocDocxConverter/ListLevel.cpp \
../../DocDocxConverter/ListTable.cpp \
../../DocDocxConverter/MainDocumentMapping.cpp \
../../DocDocxConverter/NumberingMapping.cpp \
../../DocDocxConverter/OpenXmlPackage.cpp \
../../DocDocxConverter/ParagraphHeight.cpp \
../../DocDocxConverter/ParagraphPropertiesMapping.cpp \
../../DocDocxConverter/ParagraphPropertyExceptions.cpp \
../../DocDocxConverter/PictureDescriptor.cpp \
../../DocDocxConverter/PieceTable.cpp \
../../DocDocxConverter/PropertiesMapping.cpp \
../../DocDocxConverter/PropertyExceptions.cpp \
../../DocDocxConverter/RevisionData.cpp \
../../DocDocxConverter/SectionPropertiesMapping.cpp \
../../DocDocxConverter/SettingsMapping.cpp \
../../DocDocxConverter/SinglePropertyModifier.cpp \
../../DocDocxConverter/StyleSheet.cpp \
../../DocDocxConverter/StyleSheetDescription.cpp \
../../DocDocxConverter/StyleSheetInformation.cpp \
../../DocDocxConverter/StyleSheetMapping.cpp \
../../DocDocxConverter/TableCellPropertiesMapping.cpp \
../../DocDocxConverter/TableMapping.cpp \
../../DocDocxConverter/TablePropertiesMapping.cpp \
../../DocDocxConverter/TableRowPropertiesMapping.cpp \
../../DocDocxConverter/TextboxMapping.cpp \
../../DocDocxConverter/VMLPictureMapping.cpp \
../../DocDocxConverter/VMLShapeMapping.cpp \
../../DocDocxConverter/VMLShapeTypeMapping.cpp \
../../DocDocxConverter/WordDocument.cpp \
../../DocDocxConverter/WordprocessingDocument.cpp \
../../DocDocxConverter/FormFieldData.cpp \
../../DocDocxConverter/OfficeDrawing/Record.cpp \
../../DocDocxConverter/OfficeDrawing/RecordFactory.cpp \
../../DocDocxConverter/OfficeDrawing/ShapeTypeFactory.cpp
}
HEADERS += \
../DocFormatLib.h \
../../Common/Aggregat.h \
../../Common/FormatUtils.h \
../../Common/IOperand.h \
../../Common/IVirtualConstructor.h \
../../Common/LanguageCodes.h \
../../Common/Singleton.h \
../../Common/SPRMCodes.h \
../../Common/TargetOptions.h \
../../Common/TextMark.h \
../../Common/utf8.h \
../../Common/XmlTools.h \
../../DocDocxConverter/AbstractOpenXmlMapping.h \
../../DocDocxConverter/AnnotationOwnerList.h \
../../DocDocxConverter/AnnotationReferenceDescriptor.h \
../../DocDocxConverter/AutoSummaryInfo.h \
../../DocDocxConverter/BookmarkFirst.h \
../../DocDocxConverter/BorderCode.h \
../../DocDocxConverter/ByteStructure.h \
../../DocDocxConverter/CharacterPropertiesMapping.h \
../../DocDocxConverter/CharacterPropertyExceptions.h \
../../DocDocxConverter/CharacterRange.h \
../../DocDocxConverter/CommentsMapping.h \
../../DocDocxConverter/ContentTypes.h \
../../DocDocxConverter/ConversionContext.h \
../../DocDocxConverter/Converter.h \
../../DocDocxConverter/DateAndTime.h \
../../DocDocxConverter/DocumentMapping.h \
../../DocDocxConverter/DocumentProperties.h \
../../DocDocxConverter/DocumentTypographyInfo.h \
../../DocDocxConverter/DrawingObjectGrid.h \
../../DocDocxConverter/EmuValue.h \
../../DocDocxConverter/EndnoteDescriptor.h \
../../DocDocxConverter/EndnotesMapping.h \
../../DocDocxConverter/FieldCharacter.h \
../../DocDocxConverter/FileInformationBlock.h \
../../DocDocxConverter/FixedPointNumber.h \
../../DocDocxConverter/FontFamilyName.h \
../../DocDocxConverter/FontTableMapping.h \
../../DocDocxConverter/FooterMapping.h \
../../DocDocxConverter/FootnoteDescriptor.h \
../../DocDocxConverter/FootnotesMapping.h \
../../DocDocxConverter/FormattedDiskPage.h \
../../DocDocxConverter/FormattedDiskPageCHPX.h \
../../DocDocxConverter/FormattedDiskPagePAPX.h \
../../DocDocxConverter/Global.h \
../../DocDocxConverter/HeaderAndFooterTable.h \
../../DocDocxConverter/HeaderMapping.h \
../../DocDocxConverter/IBinaryReader.h \
../../DocDocxConverter/IMapping.h \
../../DocDocxConverter/IVisitable.h \
../../DocDocxConverter/LanguageId.h \
../../DocDocxConverter/LanguageIdMapping.h \
../../DocDocxConverter/LineSpacingDescriptor.h \
../../DocDocxConverter/ListData.h \
../../DocDocxConverter/ListFormatOverride.h \
../../DocDocxConverter/ListFormatOverrideLevel.h \
../../DocDocxConverter/ListFormatOverrideTable.h \
../../DocDocxConverter/ListLevel.h \
../../DocDocxConverter/ListTable.h \
../../DocDocxConverter/MainDocumentMapping.h \
../../DocDocxConverter/MemoryStream.h \
../../DocDocxConverter/NumberingMapping.h \
../../DocDocxConverter/OfficeArtContent.h \
../../DocDocxConverter/OleObject.h \
../../DocDocxConverter/OleObjectMapping.h \
../../DocDocxConverter/OpenXmlPackage.h \
../../DocDocxConverter/ParagraphHeight.h \
../../DocDocxConverter/ParagraphPropertiesMapping.h \
../../DocDocxConverter/ParagraphPropertyExceptions.h \
../../DocDocxConverter/PictureDescriptor.h \
../../DocDocxConverter/PieceDescriptor.h \
../../DocDocxConverter/PieceTable.h \
../../DocDocxConverter/Plex.h \
../../DocDocxConverter/PropertiesMapping.h \
../../DocDocxConverter/PropertyExceptions.h \
../../DocDocxConverter/RevisionData.h \
../../DocDocxConverter/RGBColor.h \
../../DocDocxConverter/SectionDescriptor.h \
../../DocDocxConverter/SectionPropertiesMapping.h \
../../DocDocxConverter/SectionPropertyExceptions.h \
../../DocDocxConverter/SettingsMapping.h \
../../DocDocxConverter/ShadingDescriptor.h \
../../DocDocxConverter/SinglePropertyModifier.h \
../../DocDocxConverter/Spa.h \
../../DocDocxConverter/SprmTDefTable.h \
../../DocDocxConverter/StringTable.h \
../../DocDocxConverter/StructuredStorageReader.h \
../../DocDocxConverter/StyleSheet.h \
../../DocDocxConverter/StyleSheetDescription.h \
../../DocDocxConverter/StyleSheetInformation.h \
../../DocDocxConverter/StyleSheetMapping.h \
../../DocDocxConverter/TabDescriptor.h \
../../DocDocxConverter/TableCellPropertiesMapping.h \
../../DocDocxConverter/TableInfo.h \
../../DocDocxConverter/TableMapping.h \
../../DocDocxConverter/TablePropertiesMapping.h \
../../DocDocxConverter/TablePropertyExceptions.h \
../../DocDocxConverter/TableRowPropertiesMapping.h \
../../DocDocxConverter/Tbkd.h \
../../DocDocxConverter/TextboxMapping.h \
../../DocDocxConverter/TwipsValue.h \
../../DocDocxConverter/VirtualStreamReader.h \
../../DocDocxConverter/VMLPictureMapping.h \
../../DocDocxConverter/VMLShapeMapping.h \
../../DocDocxConverter/VMLShapeTypeMapping.h \
../../DocDocxConverter/WideString.h \
../../DocDocxConverter/WordDocument.h \
../../DocDocxConverter/WordprocessingDocument.h \
../../DocDocxConverter/OfficeDrawing/BitmapBlip.h \
../../DocDocxConverter/OfficeDrawing/BlipStoreContainer.h \
../../DocDocxConverter/OfficeDrawing/BlipStoreEntry.h \
../../DocDocxConverter/OfficeDrawing/ChildAnchor.h \
../../DocDocxConverter/OfficeDrawing/ClientAnchor.h \
../../DocDocxConverter/OfficeDrawing/ClientData.h \
../../DocDocxConverter/OfficeDrawing/DrawingContainer.h \
../../DocDocxConverter/OfficeDrawing/DrawingGroup.h \
../../DocDocxConverter/OfficeDrawing/DrawingGroupRecord.h \
../../DocDocxConverter/OfficeDrawing/DrawingRecord.h \
../../DocDocxConverter/OfficeDrawing/GroupContainer.h \
../../DocDocxConverter/OfficeDrawing/GroupShapeRecord.h \
../../DocDocxConverter/OfficeDrawing/MetafilePictBlip.h \
../../DocDocxConverter/OfficeDrawing/OfficeArtClientTextbox.h \
../../DocDocxConverter/OfficeDrawing/PathParser.h \
../../DocDocxConverter/OfficeDrawing/PathSegment.h \
../../DocDocxConverter/OfficeDrawing/Record.h \
../../DocDocxConverter/OfficeDrawing/RecordFactory.h \
../../DocDocxConverter/OfficeDrawing/RegularContainer.h \
../../DocDocxConverter/OfficeDrawing/Shape.h \
../../DocDocxConverter/OfficeDrawing/ShapeContainer.h \
../../DocDocxConverter/OfficeDrawing/ShapeOptions.h \
../../DocDocxConverter/OfficeDrawing/ShapeType.h \
../../DocDocxConverter/OfficeDrawing/ShapeTypeFactory.h \
../../DocDocxConverter/OfficeDrawing/SplitMenuColorContainer.h \
../../DocDocxConverter/OfficeDrawing/UnknownRecord.h \
../../DocDocxConverter/OfficeDrawing/Shapetypes/ArcType.h \
../../DocDocxConverter/OfficeDrawing/Shapetypes/ArrowType.h \
../../DocDocxConverter/OfficeDrawing/Shapetypes/BevelType.h \
../../DocDocxConverter/OfficeDrawing/Shapetypes/BlockArcType.h \
../../DocDocxConverter/OfficeDrawing/Shapetypes/BracketsType.h \
../../DocDocxConverter/OfficeDrawing/Shapetypes/CalloutsType.h \
../../DocDocxConverter/OfficeDrawing/Shapetypes/CanType.h \
../../DocDocxConverter/OfficeDrawing/Shapetypes/Connector.h \
../../DocDocxConverter/OfficeDrawing/Shapetypes/CubeType.h \
../../DocDocxConverter/OfficeDrawing/Shapetypes/DiamondType.h \
../../DocDocxConverter/OfficeDrawing/Shapetypes/DonutType.h \
../../DocDocxConverter/OfficeDrawing/Shapetypes/FlowChartType.h \
../../DocDocxConverter/OfficeDrawing/Shapetypes/FoldedCornerlType.h \
../../DocDocxConverter/OfficeDrawing/Shapetypes/HeartType.h \
../../DocDocxConverter/OfficeDrawing/Shapetypes/HexagonType.h \
../../DocDocxConverter/OfficeDrawing/Shapetypes/IsoscelesTriangleType.h \
../../DocDocxConverter/OfficeDrawing/Shapetypes/LightningBoltType.h \
../../DocDocxConverter/OfficeDrawing/Shapetypes/LineType.h \
../../DocDocxConverter/OfficeDrawing/Shapetypes/MoonType.h \
../../DocDocxConverter/OfficeDrawing/Shapetypes/NoSmokingType.h \
../../DocDocxConverter/OfficeDrawing/Shapetypes/OctagonType.h \
../../DocDocxConverter/OfficeDrawing/Shapetypes/OvalType.h \
../../DocDocxConverter/OfficeDrawing/Shapetypes/ParallelogramType.h \
../../DocDocxConverter/OfficeDrawing/Shapetypes/PentagonType.h \
../../DocDocxConverter/OfficeDrawing/Shapetypes/PictureFrameType.h \
../../DocDocxConverter/OfficeDrawing/Shapetypes/PlaqueType.h \
../../DocDocxConverter/OfficeDrawing/Shapetypes/PlusType.h \
../../DocDocxConverter/OfficeDrawing/Shapetypes/RectangleType.h \
../../DocDocxConverter/OfficeDrawing/Shapetypes/RightTriangleType.h \
../../DocDocxConverter/OfficeDrawing/Shapetypes/RoundedRectangleType.h \
../../DocDocxConverter/OfficeDrawing/Shapetypes/SmileyFaceType.h \
../../DocDocxConverter/OfficeDrawing/Shapetypes/StarType.h \
../../DocDocxConverter/OfficeDrawing/Shapetypes/SunType.h \
../../DocDocxConverter/OfficeDrawing/Shapetypes/TextboxType.h \
../../DocDocxConverter/OfficeDrawing/Shapetypes/TrapezoidType.h \
../../../Common/3dParty/pole/pole.h \
../../DocDocxConverter/EncryptionHeader.h \
../../DocDocxConverter/DrawingPrimitives.h

View File

@ -1,80 +0,0 @@
/*
* (c) Copyright Ascensio System SIA 2010-2019
*
* 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 20A-12 Ernesta Birznieka-Upisha
* street, Riga, Latvia, EU, LV-1050.
*
* 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
*
*/
#include "../../DocDocxConverter/AnnotationReferenceDescriptor.cpp"
#include "../../DocDocxConverter/CharacterPropertiesMapping.cpp"
#include "../../DocDocxConverter/Converter.cpp"
#include "../../DocDocxConverter/DocumentMapping.cpp"
#include "../../DocDocxConverter/DocumentProperties.cpp"
#include "../../DocDocxConverter/FontFamilyName.cpp"
#include "../../DocDocxConverter/FontTableMapping.cpp"
#include "../../DocDocxConverter/FooterMapping.cpp"
#include "../../DocDocxConverter/FormattedDiskPageCHPX.cpp"
#include "../../DocDocxConverter/FormattedDiskPagePAPX.cpp"
#include "../../DocDocxConverter/HeaderAndFooterTable.cpp"
#include "../../DocDocxConverter/HeaderMapping.cpp"
#include "../../DocDocxConverter/LanguageIdMapping.cpp"
#include "../../DocDocxConverter/ListData.cpp"
#include "../../DocDocxConverter/ListLevel.cpp"
#include "../../DocDocxConverter/ListTable.cpp"
#include "../../DocDocxConverter/MainDocumentMapping.cpp"
#include "../../DocDocxConverter/NumberingMapping.cpp"
#include "../../DocDocxConverter/OpenXmlPackage.cpp"
#include "../../DocDocxConverter/ParagraphHeight.cpp"
#include "../../DocDocxConverter/ParagraphPropertiesMapping.cpp"
#include "../../DocDocxConverter/ParagraphPropertyExceptions.cpp"
#include "../../DocDocxConverter/PictureDescriptor.cpp"
#include "../../DocDocxConverter/PieceTable.cpp"
#include "../../DocDocxConverter/PropertiesMapping.cpp"
#include "../../DocDocxConverter/PropertyExceptions.cpp"
#include "../../DocDocxConverter/RevisionData.cpp"
#include "../../DocDocxConverter/SectionPropertiesMapping.cpp"
#include "../../DocDocxConverter/SettingsMapping.cpp"
#include "../../DocDocxConverter/SinglePropertyModifier.cpp"
#include "../../DocDocxConverter/StyleSheet.cpp"
#include "../../DocDocxConverter/StyleSheetDescription.cpp"
#include "../../DocDocxConverter/StyleSheetInformation.cpp"
#include "../../DocDocxConverter/StyleSheetMapping.cpp"
#include "../../DocDocxConverter/TableCellPropertiesMapping.cpp"
#include "../../DocDocxConverter/TableMapping.cpp"
#include "../../DocDocxConverter/TablePropertiesMapping.cpp"
#include "../../DocDocxConverter/TableRowPropertiesMapping.cpp"
#include "../../DocDocxConverter/TextboxMapping.cpp"
#include "../../DocDocxConverter/VMLPictureMapping.cpp"
#include "../../DocDocxConverter/VMLShapeMapping.cpp"
#include "../../DocDocxConverter/VMLShapeTypeMapping.cpp"
#include "../../DocDocxConverter/WordDocument.cpp"
#include "../../DocDocxConverter/WordprocessingDocument.cpp"
#include "../../DocDocxConverter/FormFieldData.cpp"
#include "../../DocDocxConverter/OfficeDrawing/Record.cpp"
#include "../../DocDocxConverter/OfficeDrawing/RecordFactory.cpp"
#include "../../DocDocxConverter/OfficeDrawing/ShapeTypeFactory.cpp"

View File

@ -1,885 +0,0 @@
// !$*UTF8*$!
{
archiveVersion = 1;
classes = {
};
objectVersion = 46;
objects = {
/* Begin PBXBuildFile section */
6967B2F91E27C26800A129E2 /* DocFormatLib.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6967B2F71E27C26800A129E2 /* DocFormatLib.cpp */; };
6967B3E11E27C2D500A129E2 /* pole.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6967B3DF1E27C2D500A129E2 /* pole.cpp */; };
6967B4C31E27C52700A129E2 /* AnnotationReferenceDescriptor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6967B3E71E27C52700A129E2 /* AnnotationReferenceDescriptor.cpp */; };
6967B4C41E27C52700A129E2 /* CharacterPropertiesMapping.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6967B3ED1E27C52700A129E2 /* CharacterPropertiesMapping.cpp */; };
6967B4C51E27C52700A129E2 /* Converter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6967B3F41E27C52700A129E2 /* Converter.cpp */; };
6967B4C61E27C52700A129E2 /* DocumentMapping.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6967B3F71E27C52700A129E2 /* DocumentMapping.cpp */; };
6967B4C71E27C52700A129E2 /* DocumentProperties.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6967B3F91E27C52700A129E2 /* DocumentProperties.cpp */; };
6967B4C81E27C52700A129E2 /* DrawingPrimitives.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6967B3FD1E27C52700A129E2 /* DrawingPrimitives.cpp */; };
6967B4C91E27C52700A129E2 /* EncryptionHeader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6967B4001E27C52700A129E2 /* EncryptionHeader.cpp */; };
6967B4CA1E27C52700A129E2 /* FontFamilyName.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6967B4071E27C52700A129E2 /* FontFamilyName.cpp */; };
6967B4CB1E27C52700A129E2 /* FontTableMapping.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6967B4091E27C52700A129E2 /* FontTableMapping.cpp */; };
6967B4CC1E27C52700A129E2 /* FooterMapping.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6967B40B1E27C52700A129E2 /* FooterMapping.cpp */; };
6967B4CD1E27C52700A129E2 /* FormattedDiskPageCHPX.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6967B4101E27C52700A129E2 /* FormattedDiskPageCHPX.cpp */; };
6967B4CE1E27C52700A129E2 /* FormattedDiskPagePAPX.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6967B4121E27C52700A129E2 /* FormattedDiskPagePAPX.cpp */; };
6967B4CF1E27C52700A129E2 /* HeaderAndFooterTable.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6967B4151E27C52700A129E2 /* HeaderAndFooterTable.cpp */; };
6967B4D01E27C52700A129E2 /* HeaderMapping.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6967B4171E27C52700A129E2 /* HeaderMapping.cpp */; };
6967B4D11E27C52700A129E2 /* LanguageIdMapping.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6967B41D1E27C52700A129E2 /* LanguageIdMapping.cpp */; };
6967B4D21E27C52700A129E2 /* ListData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6967B4201E27C52700A129E2 /* ListData.cpp */; };
6967B4D31E27C52700A129E2 /* ListLevel.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6967B4251E27C52700A129E2 /* ListLevel.cpp */; };
6967B4D41E27C52700A129E2 /* ListTable.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6967B4271E27C52700A129E2 /* ListTable.cpp */; };
6967B4D51E27C52700A129E2 /* MainDocumentMapping.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6967B4291E27C52700A129E2 /* MainDocumentMapping.cpp */; };
6967B4D61E27C52700A129E2 /* NumberingMapping.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6967B42C1E27C52700A129E2 /* NumberingMapping.cpp */; };
6967B4DA1E27C52700A129E2 /* OleObject.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6967B47A1E27C52700A129E2 /* OleObject.cpp */; };
6967B4DB1E27C52700A129E2 /* OpenXmlPackage.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6967B47D1E27C52700A129E2 /* OpenXmlPackage.cpp */; };
6967B4DC1E27C52700A129E2 /* ParagraphHeight.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6967B47F1E27C52700A129E2 /* ParagraphHeight.cpp */; };
6967B4DD1E27C52700A129E2 /* ParagraphPropertiesMapping.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6967B4811E27C52700A129E2 /* ParagraphPropertiesMapping.cpp */; };
6967B4DE1E27C52700A129E2 /* ParagraphPropertyExceptions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6967B4831E27C52700A129E2 /* ParagraphPropertyExceptions.cpp */; };
6967B4DF1E27C52700A129E2 /* PictureDescriptor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6967B4851E27C52700A129E2 /* PictureDescriptor.cpp */; };
6967B4E01E27C52700A129E2 /* PieceTable.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6967B4881E27C52700A129E2 /* PieceTable.cpp */; };
6967B4E11E27C52700A129E2 /* PropertiesMapping.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6967B48B1E27C52700A129E2 /* PropertiesMapping.cpp */; };
6967B4E21E27C52700A129E2 /* PropertyExceptions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6967B48D1E27C52700A129E2 /* PropertyExceptions.cpp */; };
6967B4E31E27C52700A129E2 /* RevisionData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6967B48F1E27C52700A129E2 /* RevisionData.cpp */; };
6967B4E41E27C52700A129E2 /* SectionPropertiesMapping.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6967B4931E27C52700A129E2 /* SectionPropertiesMapping.cpp */; };
6967B4E51E27C52700A129E2 /* SettingsMapping.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6967B4961E27C52700A129E2 /* SettingsMapping.cpp */; };
6967B4E61E27C52700A129E2 /* SinglePropertyModifier.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6967B4991E27C52700A129E2 /* SinglePropertyModifier.cpp */; };
6967B4E71E27C52700A129E2 /* Spa.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6967B49B1E27C52700A129E2 /* Spa.cpp */; };
6967B4E81E27C52700A129E2 /* StyleSheet.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6967B4A01E27C52700A129E2 /* StyleSheet.cpp */; };
6967B4E91E27C52700A129E2 /* StyleSheetDescription.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6967B4A21E27C52700A129E2 /* StyleSheetDescription.cpp */; };
6967B4EA1E27C52700A129E2 /* StyleSheetInformation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6967B4A41E27C52700A129E2 /* StyleSheetInformation.cpp */; };
6967B4EB1E27C52700A129E2 /* StyleSheetMapping.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6967B4A61E27C52700A129E2 /* StyleSheetMapping.cpp */; };
6967B4EC1E27C52700A129E2 /* TableCellPropertiesMapping.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6967B4A91E27C52700A129E2 /* TableCellPropertiesMapping.cpp */; };
6967B4ED1E27C52700A129E2 /* TableMapping.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6967B4AC1E27C52700A129E2 /* TableMapping.cpp */; };
6967B4EE1E27C52700A129E2 /* TablePropertiesMapping.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6967B4AE1E27C52700A129E2 /* TablePropertiesMapping.cpp */; };
6967B4EF1E27C52700A129E2 /* TableRowPropertiesMapping.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6967B4B11E27C52700A129E2 /* TableRowPropertiesMapping.cpp */; };
6967B4F01E27C52700A129E2 /* TextboxMapping.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6967B4B41E27C52700A129E2 /* TextboxMapping.cpp */; };
6967B4F11E27C52700A129E2 /* VMLPictureMapping.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6967B4B81E27C52700A129E2 /* VMLPictureMapping.cpp */; };
6967B4F21E27C52700A129E2 /* VMLShapeMapping.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6967B4BA1E27C52700A129E2 /* VMLShapeMapping.cpp */; };
6967B4F31E27C52700A129E2 /* VMLShapeTypeMapping.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6967B4BC1E27C52700A129E2 /* VMLShapeTypeMapping.cpp */; };
6967B4F41E27C52700A129E2 /* WordDocument.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6967B4BF1E27C52700A129E2 /* WordDocument.cpp */; };
6967B4F51E27C52700A129E2 /* WordprocessingDocument.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6967B4C11E27C52700A129E2 /* WordprocessingDocument.cpp */; };
8A1BC15322DF34920084799E /* ShapeTypeFactory.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8A1BC11622DF34900084799E /* ShapeTypeFactory.cpp */; };
8A1BC15422DF34920084799E /* Record.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8A1BC14922DF34920084799E /* Record.cpp */; };
8A1BC15522DF34920084799E /* RecordFactory.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8A1BC15222DF34920084799E /* RecordFactory.cpp */; };
/* End PBXBuildFile section */
/* Begin PBXCopyFilesBuildPhase section */
6967B2E91E27C23A00A129E2 /* CopyFiles */ = {
isa = PBXCopyFilesBuildPhase;
buildActionMask = 2147483647;
dstPath = "include/$(PRODUCT_NAME)";
dstSubfolderSpec = 16;
files = (
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXCopyFilesBuildPhase section */
/* Begin PBXFileReference section */
6967B2EB1E27C23A00A129E2 /* libDocFormatLib.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libDocFormatLib.a; sourceTree = BUILT_PRODUCTS_DIR; };
6967B2F71E27C26800A129E2 /* DocFormatLib.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = DocFormatLib.cpp; path = ../../DocFormatLib.cpp; sourceTree = "<group>"; };
6967B2F81E27C26800A129E2 /* DocFormatLib.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = DocFormatLib.h; path = ../../DocFormatLib.h; sourceTree = "<group>"; };
6967B2FB1E27C2A100A129E2 /* Aggregat.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Aggregat.h; sourceTree = "<group>"; };
6967B2FC1E27C2A100A129E2 /* Callback.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Callback.h; sourceTree = "<group>"; };
6967B2FD1E27C2A100A129E2 /* FormatUtils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FormatUtils.h; sourceTree = "<group>"; };
6967B2FE1E27C2A100A129E2 /* IOperand.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOperand.h; sourceTree = "<group>"; };
6967B2FF1E27C2A100A129E2 /* IVirtualConstructor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IVirtualConstructor.h; sourceTree = "<group>"; };
6967B3001E27C2A100A129E2 /* LanguageCodes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LanguageCodes.h; sourceTree = "<group>"; };
6967B3011E27C2A100A129E2 /* Singleton.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Singleton.h; sourceTree = "<group>"; };
6967B3021E27C2A100A129E2 /* SPRMCodes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SPRMCodes.h; sourceTree = "<group>"; };
6967B3031E27C2A100A129E2 /* TargetOptions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TargetOptions.h; sourceTree = "<group>"; };
6967B3041E27C2A100A129E2 /* TextMark.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TextMark.h; sourceTree = "<group>"; };
6967B3051E27C2A100A129E2 /* utf8.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = utf8.h; sourceTree = "<group>"; };
6967B3061E27C2A100A129E2 /* XmlTools.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = XmlTools.h; sourceTree = "<group>"; };
6967B3DF1E27C2D500A129E2 /* pole.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = pole.cpp; path = ../../../../Common/3dParty/pole/pole.cpp; sourceTree = "<group>"; };
6967B3E01E27C2D500A129E2 /* pole.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = pole.h; path = ../../../../Common/3dParty/pole/pole.h; sourceTree = "<group>"; };
6967B3E51E27C52700A129E2 /* AbstractOpenXmlMapping.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AbstractOpenXmlMapping.h; sourceTree = "<group>"; };
6967B3E61E27C52700A129E2 /* AnnotationOwnerList.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AnnotationOwnerList.h; sourceTree = "<group>"; };
6967B3E71E27C52700A129E2 /* AnnotationReferenceDescriptor.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AnnotationReferenceDescriptor.cpp; sourceTree = "<group>"; };
6967B3E81E27C52700A129E2 /* AnnotationReferenceDescriptor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AnnotationReferenceDescriptor.h; sourceTree = "<group>"; };
6967B3E91E27C52700A129E2 /* AutoSummaryInfo.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AutoSummaryInfo.h; sourceTree = "<group>"; };
6967B3EA1E27C52700A129E2 /* BookmarkFirst.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BookmarkFirst.h; sourceTree = "<group>"; };
6967B3EB1E27C52700A129E2 /* BorderCode.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BorderCode.h; sourceTree = "<group>"; };
6967B3EC1E27C52700A129E2 /* ByteStructure.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ByteStructure.h; sourceTree = "<group>"; };
6967B3ED1E27C52700A129E2 /* CharacterPropertiesMapping.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CharacterPropertiesMapping.cpp; sourceTree = "<group>"; };
6967B3EE1E27C52700A129E2 /* CharacterPropertiesMapping.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CharacterPropertiesMapping.h; sourceTree = "<group>"; };
6967B3EF1E27C52700A129E2 /* CharacterPropertyExceptions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CharacterPropertyExceptions.h; sourceTree = "<group>"; };
6967B3F01E27C52700A129E2 /* CharacterRange.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CharacterRange.h; sourceTree = "<group>"; };
6967B3F11E27C52700A129E2 /* CommentsMapping.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CommentsMapping.h; sourceTree = "<group>"; };
6967B3F21E27C52700A129E2 /* ContentTypes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ContentTypes.h; sourceTree = "<group>"; };
6967B3F31E27C52700A129E2 /* ConversionContext.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ConversionContext.h; sourceTree = "<group>"; };
6967B3F41E27C52700A129E2 /* Converter.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Converter.cpp; sourceTree = "<group>"; };
6967B3F51E27C52700A129E2 /* Converter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Converter.h; sourceTree = "<group>"; };
6967B3F61E27C52700A129E2 /* DateAndTime.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DateAndTime.h; sourceTree = "<group>"; };
6967B3F71E27C52700A129E2 /* DocumentMapping.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DocumentMapping.cpp; sourceTree = "<group>"; };
6967B3F81E27C52700A129E2 /* DocumentMapping.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DocumentMapping.h; sourceTree = "<group>"; };
6967B3F91E27C52700A129E2 /* DocumentProperties.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DocumentProperties.cpp; sourceTree = "<group>"; };
6967B3FA1E27C52700A129E2 /* DocumentProperties.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DocumentProperties.h; sourceTree = "<group>"; };
6967B3FB1E27C52700A129E2 /* DocumentTypographyInfo.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DocumentTypographyInfo.h; sourceTree = "<group>"; };
6967B3FC1E27C52700A129E2 /* DrawingObjectGrid.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DrawingObjectGrid.h; sourceTree = "<group>"; };
6967B3FD1E27C52700A129E2 /* DrawingPrimitives.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DrawingPrimitives.cpp; sourceTree = "<group>"; };
6967B3FE1E27C52700A129E2 /* DrawingPrimitives.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DrawingPrimitives.h; sourceTree = "<group>"; };
6967B3FF1E27C52700A129E2 /* EmuValue.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EmuValue.h; sourceTree = "<group>"; };
6967B4001E27C52700A129E2 /* EncryptionHeader.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = EncryptionHeader.cpp; sourceTree = "<group>"; };
6967B4011E27C52700A129E2 /* EncryptionHeader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EncryptionHeader.h; sourceTree = "<group>"; };
6967B4021E27C52700A129E2 /* EndnoteDescriptor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EndnoteDescriptor.h; sourceTree = "<group>"; };
6967B4031E27C52700A129E2 /* EndnotesMapping.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EndnotesMapping.h; sourceTree = "<group>"; };
6967B4041E27C52700A129E2 /* FieldCharacter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FieldCharacter.h; sourceTree = "<group>"; };
6967B4051E27C52700A129E2 /* FileInformationBlock.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FileInformationBlock.h; sourceTree = "<group>"; };
6967B4061E27C52700A129E2 /* FixedPointNumber.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FixedPointNumber.h; sourceTree = "<group>"; };
6967B4071E27C52700A129E2 /* FontFamilyName.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = FontFamilyName.cpp; sourceTree = "<group>"; };
6967B4081E27C52700A129E2 /* FontFamilyName.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FontFamilyName.h; sourceTree = "<group>"; };
6967B4091E27C52700A129E2 /* FontTableMapping.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = FontTableMapping.cpp; sourceTree = "<group>"; };
6967B40A1E27C52700A129E2 /* FontTableMapping.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FontTableMapping.h; sourceTree = "<group>"; };
6967B40B1E27C52700A129E2 /* FooterMapping.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = FooterMapping.cpp; sourceTree = "<group>"; };
6967B40C1E27C52700A129E2 /* FooterMapping.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FooterMapping.h; sourceTree = "<group>"; };
6967B40D1E27C52700A129E2 /* FootnoteDescriptor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FootnoteDescriptor.h; sourceTree = "<group>"; };
6967B40E1E27C52700A129E2 /* FootnotesMapping.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FootnotesMapping.h; sourceTree = "<group>"; };
6967B40F1E27C52700A129E2 /* FormattedDiskPage.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FormattedDiskPage.h; sourceTree = "<group>"; };
6967B4101E27C52700A129E2 /* FormattedDiskPageCHPX.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = FormattedDiskPageCHPX.cpp; sourceTree = "<group>"; };
6967B4111E27C52700A129E2 /* FormattedDiskPageCHPX.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FormattedDiskPageCHPX.h; sourceTree = "<group>"; };
6967B4121E27C52700A129E2 /* FormattedDiskPagePAPX.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = FormattedDiskPagePAPX.cpp; sourceTree = "<group>"; };
6967B4131E27C52700A129E2 /* FormattedDiskPagePAPX.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FormattedDiskPagePAPX.h; sourceTree = "<group>"; };
6967B4141E27C52700A129E2 /* Global.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Global.h; sourceTree = "<group>"; };
6967B4151E27C52700A129E2 /* HeaderAndFooterTable.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = HeaderAndFooterTable.cpp; sourceTree = "<group>"; };
6967B4161E27C52700A129E2 /* HeaderAndFooterTable.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HeaderAndFooterTable.h; sourceTree = "<group>"; };
6967B4171E27C52700A129E2 /* HeaderMapping.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = HeaderMapping.cpp; sourceTree = "<group>"; };
6967B4181E27C52700A129E2 /* HeaderMapping.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HeaderMapping.h; sourceTree = "<group>"; };
6967B4191E27C52700A129E2 /* IBinaryReader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IBinaryReader.h; sourceTree = "<group>"; };
6967B41A1E27C52700A129E2 /* IMapping.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IMapping.h; sourceTree = "<group>"; };
6967B41B1E27C52700A129E2 /* IVisitable.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IVisitable.h; sourceTree = "<group>"; };
6967B41C1E27C52700A129E2 /* LanguageId.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LanguageId.h; sourceTree = "<group>"; };
6967B41D1E27C52700A129E2 /* LanguageIdMapping.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = LanguageIdMapping.cpp; sourceTree = "<group>"; };
6967B41E1E27C52700A129E2 /* LanguageIdMapping.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LanguageIdMapping.h; sourceTree = "<group>"; };
6967B41F1E27C52700A129E2 /* LineSpacingDescriptor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LineSpacingDescriptor.h; sourceTree = "<group>"; };
6967B4201E27C52700A129E2 /* ListData.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ListData.cpp; sourceTree = "<group>"; };
6967B4211E27C52700A129E2 /* ListData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ListData.h; sourceTree = "<group>"; };
6967B4221E27C52700A129E2 /* ListFormatOverride.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ListFormatOverride.h; sourceTree = "<group>"; };
6967B4231E27C52700A129E2 /* ListFormatOverrideLevel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ListFormatOverrideLevel.h; sourceTree = "<group>"; };
6967B4241E27C52700A129E2 /* ListFormatOverrideTable.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ListFormatOverrideTable.h; sourceTree = "<group>"; };
6967B4251E27C52700A129E2 /* ListLevel.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ListLevel.cpp; sourceTree = "<group>"; };
6967B4261E27C52700A129E2 /* ListLevel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ListLevel.h; sourceTree = "<group>"; };
6967B4271E27C52700A129E2 /* ListTable.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ListTable.cpp; sourceTree = "<group>"; };
6967B4281E27C52700A129E2 /* ListTable.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ListTable.h; sourceTree = "<group>"; };
6967B4291E27C52700A129E2 /* MainDocumentMapping.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MainDocumentMapping.cpp; sourceTree = "<group>"; };
6967B42A1E27C52700A129E2 /* MainDocumentMapping.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MainDocumentMapping.h; sourceTree = "<group>"; };
6967B42B1E27C52700A129E2 /* MemoryStream.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MemoryStream.h; sourceTree = "<group>"; };
6967B42C1E27C52700A129E2 /* NumberingMapping.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = NumberingMapping.cpp; sourceTree = "<group>"; };
6967B42D1E27C52700A129E2 /* NumberingMapping.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NumberingMapping.h; sourceTree = "<group>"; };
6967B42E1E27C52700A129E2 /* OfficeArtContent.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OfficeArtContent.h; sourceTree = "<group>"; };
6967B47A1E27C52700A129E2 /* OleObject.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = OleObject.cpp; sourceTree = "<group>"; };
6967B47B1E27C52700A129E2 /* OleObject.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OleObject.h; sourceTree = "<group>"; };
6967B47C1E27C52700A129E2 /* OleObjectMapping.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OleObjectMapping.h; sourceTree = "<group>"; };
6967B47D1E27C52700A129E2 /* OpenXmlPackage.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = OpenXmlPackage.cpp; sourceTree = "<group>"; };
6967B47E1E27C52700A129E2 /* OpenXmlPackage.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OpenXmlPackage.h; sourceTree = "<group>"; };
6967B47F1E27C52700A129E2 /* ParagraphHeight.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ParagraphHeight.cpp; sourceTree = "<group>"; };
6967B4801E27C52700A129E2 /* ParagraphHeight.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ParagraphHeight.h; sourceTree = "<group>"; };
6967B4811E27C52700A129E2 /* ParagraphPropertiesMapping.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ParagraphPropertiesMapping.cpp; sourceTree = "<group>"; };
6967B4821E27C52700A129E2 /* ParagraphPropertiesMapping.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ParagraphPropertiesMapping.h; sourceTree = "<group>"; };
6967B4831E27C52700A129E2 /* ParagraphPropertyExceptions.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ParagraphPropertyExceptions.cpp; sourceTree = "<group>"; };
6967B4841E27C52700A129E2 /* ParagraphPropertyExceptions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ParagraphPropertyExceptions.h; sourceTree = "<group>"; };
6967B4851E27C52700A129E2 /* PictureDescriptor.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PictureDescriptor.cpp; sourceTree = "<group>"; };
6967B4861E27C52700A129E2 /* PictureDescriptor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PictureDescriptor.h; sourceTree = "<group>"; };
6967B4871E27C52700A129E2 /* PieceDescriptor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PieceDescriptor.h; sourceTree = "<group>"; };
6967B4881E27C52700A129E2 /* PieceTable.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PieceTable.cpp; sourceTree = "<group>"; };
6967B4891E27C52700A129E2 /* PieceTable.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PieceTable.h; sourceTree = "<group>"; };
6967B48A1E27C52700A129E2 /* Plex.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Plex.h; sourceTree = "<group>"; };
6967B48B1E27C52700A129E2 /* PropertiesMapping.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PropertiesMapping.cpp; sourceTree = "<group>"; };
6967B48C1E27C52700A129E2 /* PropertiesMapping.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PropertiesMapping.h; sourceTree = "<group>"; };
6967B48D1E27C52700A129E2 /* PropertyExceptions.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PropertyExceptions.cpp; sourceTree = "<group>"; };
6967B48E1E27C52700A129E2 /* PropertyExceptions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PropertyExceptions.h; sourceTree = "<group>"; };
6967B48F1E27C52700A129E2 /* RevisionData.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = RevisionData.cpp; sourceTree = "<group>"; };
6967B4901E27C52700A129E2 /* RevisionData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RevisionData.h; sourceTree = "<group>"; };
6967B4911E27C52700A129E2 /* RGBColor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RGBColor.h; sourceTree = "<group>"; };
6967B4921E27C52700A129E2 /* SectionDescriptor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SectionDescriptor.h; sourceTree = "<group>"; };
6967B4931E27C52700A129E2 /* SectionPropertiesMapping.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SectionPropertiesMapping.cpp; sourceTree = "<group>"; };
6967B4941E27C52700A129E2 /* SectionPropertiesMapping.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SectionPropertiesMapping.h; sourceTree = "<group>"; };
6967B4951E27C52700A129E2 /* SectionPropertyExceptions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SectionPropertyExceptions.h; sourceTree = "<group>"; };
6967B4961E27C52700A129E2 /* SettingsMapping.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SettingsMapping.cpp; sourceTree = "<group>"; };
6967B4971E27C52700A129E2 /* SettingsMapping.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SettingsMapping.h; sourceTree = "<group>"; };
6967B4981E27C52700A129E2 /* ShadingDescriptor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ShadingDescriptor.h; sourceTree = "<group>"; };
6967B4991E27C52700A129E2 /* SinglePropertyModifier.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SinglePropertyModifier.cpp; sourceTree = "<group>"; };
6967B49A1E27C52700A129E2 /* SinglePropertyModifier.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SinglePropertyModifier.h; sourceTree = "<group>"; };
6967B49B1E27C52700A129E2 /* Spa.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Spa.cpp; sourceTree = "<group>"; };
6967B49C1E27C52700A129E2 /* Spa.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Spa.h; sourceTree = "<group>"; };
6967B49D1E27C52700A129E2 /* SprmTDefTable.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SprmTDefTable.h; sourceTree = "<group>"; };
6967B49E1E27C52700A129E2 /* StringTable.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = StringTable.h; sourceTree = "<group>"; };
6967B49F1E27C52700A129E2 /* StructuredStorageReader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = StructuredStorageReader.h; sourceTree = "<group>"; };
6967B4A01E27C52700A129E2 /* StyleSheet.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = StyleSheet.cpp; sourceTree = "<group>"; };
6967B4A11E27C52700A129E2 /* StyleSheet.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = StyleSheet.h; sourceTree = "<group>"; };
6967B4A21E27C52700A129E2 /* StyleSheetDescription.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = StyleSheetDescription.cpp; sourceTree = "<group>"; };
6967B4A31E27C52700A129E2 /* StyleSheetDescription.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = StyleSheetDescription.h; sourceTree = "<group>"; };
6967B4A41E27C52700A129E2 /* StyleSheetInformation.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = StyleSheetInformation.cpp; sourceTree = "<group>"; };
6967B4A51E27C52700A129E2 /* StyleSheetInformation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = StyleSheetInformation.h; sourceTree = "<group>"; };
6967B4A61E27C52700A129E2 /* StyleSheetMapping.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = StyleSheetMapping.cpp; sourceTree = "<group>"; };
6967B4A71E27C52700A129E2 /* StyleSheetMapping.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = StyleSheetMapping.h; sourceTree = "<group>"; };
6967B4A81E27C52700A129E2 /* TabDescriptor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TabDescriptor.h; sourceTree = "<group>"; };
6967B4A91E27C52700A129E2 /* TableCellPropertiesMapping.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = TableCellPropertiesMapping.cpp; sourceTree = "<group>"; };
6967B4AA1E27C52700A129E2 /* TableCellPropertiesMapping.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TableCellPropertiesMapping.h; sourceTree = "<group>"; };
6967B4AB1E27C52700A129E2 /* TableInfo.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TableInfo.h; sourceTree = "<group>"; };
6967B4AC1E27C52700A129E2 /* TableMapping.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = TableMapping.cpp; sourceTree = "<group>"; };
6967B4AD1E27C52700A129E2 /* TableMapping.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TableMapping.h; sourceTree = "<group>"; };
6967B4AE1E27C52700A129E2 /* TablePropertiesMapping.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = TablePropertiesMapping.cpp; sourceTree = "<group>"; };
6967B4AF1E27C52700A129E2 /* TablePropertiesMapping.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TablePropertiesMapping.h; sourceTree = "<group>"; };
6967B4B01E27C52700A129E2 /* TablePropertyExceptions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TablePropertyExceptions.h; sourceTree = "<group>"; };
6967B4B11E27C52700A129E2 /* TableRowPropertiesMapping.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = TableRowPropertiesMapping.cpp; sourceTree = "<group>"; };
6967B4B21E27C52700A129E2 /* TableRowPropertiesMapping.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TableRowPropertiesMapping.h; sourceTree = "<group>"; };
6967B4B31E27C52700A129E2 /* Tbkd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Tbkd.h; sourceTree = "<group>"; };
6967B4B41E27C52700A129E2 /* TextboxMapping.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = TextboxMapping.cpp; sourceTree = "<group>"; };
6967B4B51E27C52700A129E2 /* TextboxMapping.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TextboxMapping.h; sourceTree = "<group>"; };
6967B4B61E27C52700A129E2 /* TwipsValue.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TwipsValue.h; sourceTree = "<group>"; };
6967B4B71E27C52700A129E2 /* VirtualStreamReader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = VirtualStreamReader.h; sourceTree = "<group>"; };
6967B4B81E27C52700A129E2 /* VMLPictureMapping.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = VMLPictureMapping.cpp; sourceTree = "<group>"; };
6967B4B91E27C52700A129E2 /* VMLPictureMapping.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = VMLPictureMapping.h; sourceTree = "<group>"; };
6967B4BA1E27C52700A129E2 /* VMLShapeMapping.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = VMLShapeMapping.cpp; sourceTree = "<group>"; };
6967B4BB1E27C52700A129E2 /* VMLShapeMapping.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = VMLShapeMapping.h; sourceTree = "<group>"; };
6967B4BC1E27C52700A129E2 /* VMLShapeTypeMapping.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = VMLShapeTypeMapping.cpp; sourceTree = "<group>"; };
6967B4BD1E27C52700A129E2 /* VMLShapeTypeMapping.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = VMLShapeTypeMapping.h; sourceTree = "<group>"; };
6967B4BE1E27C52700A129E2 /* WideString.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WideString.h; sourceTree = "<group>"; };
6967B4BF1E27C52700A129E2 /* WordDocument.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WordDocument.cpp; sourceTree = "<group>"; };
6967B4C01E27C52700A129E2 /* WordDocument.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WordDocument.h; sourceTree = "<group>"; };
6967B4C11E27C52700A129E2 /* WordprocessingDocument.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WordprocessingDocument.cpp; sourceTree = "<group>"; };
6967B4C21E27C52700A129E2 /* WordprocessingDocument.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WordprocessingDocument.h; sourceTree = "<group>"; };
8A1BC11122DF348F0084799E /* ClientAnchor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ClientAnchor.h; sourceTree = "<group>"; };
8A1BC11222DF34900084799E /* ShapeTypeFactory.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ShapeTypeFactory.h; sourceTree = "<group>"; };
8A1BC11322DF34900084799E /* OfficeArtClientTextbox.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OfficeArtClientTextbox.h; sourceTree = "<group>"; };
8A1BC11422DF34900084799E /* DiagramBooleanProperties.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DiagramBooleanProperties.h; sourceTree = "<group>"; };
8A1BC11522DF34900084799E /* MetafilePictBlip.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MetafilePictBlip.h; sourceTree = "<group>"; };
8A1BC11622DF34900084799E /* ShapeTypeFactory.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ShapeTypeFactory.cpp; sourceTree = "<group>"; };
8A1BC11722DF34900084799E /* DrawingContainer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DrawingContainer.h; sourceTree = "<group>"; };
8A1BC11822DF34900084799E /* UnknownRecord.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UnknownRecord.h; sourceTree = "<group>"; };
8A1BC11922DF34900084799E /* Record.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Record.h; sourceTree = "<group>"; };
8A1BC11A22DF34900084799E /* BitmapBlip.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BitmapBlip.h; sourceTree = "<group>"; };
8A1BC11B22DF34910084799E /* OfficeArtFRITContainer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OfficeArtFRITContainer.h; sourceTree = "<group>"; };
8A1BC11C22DF34910084799E /* DrawingGroup.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DrawingGroup.h; sourceTree = "<group>"; };
8A1BC11D22DF34910084799E /* ShapeContainer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ShapeContainer.h; sourceTree = "<group>"; };
8A1BC11E22DF34910084799E /* ShapeType.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ShapeType.h; sourceTree = "<group>"; };
8A1BC12022DF34910084799E /* PlaqueType.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PlaqueType.h; sourceTree = "<group>"; };
8A1BC12122DF34910084799E /* CubeType.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CubeType.h; sourceTree = "<group>"; };
8A1BC12222DF34910084799E /* LightningBoltType.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LightningBoltType.h; sourceTree = "<group>"; };
8A1BC12322DF34910084799E /* OvalType.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OvalType.h; sourceTree = "<group>"; };
8A1BC12422DF34910084799E /* CalloutsType.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CalloutsType.h; sourceTree = "<group>"; };
8A1BC12522DF34910084799E /* TextboxType.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TextboxType.h; sourceTree = "<group>"; };
8A1BC12622DF34910084799E /* HexagonType.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HexagonType.h; sourceTree = "<group>"; };
8A1BC12722DF34910084799E /* NoSmokingType.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NoSmokingType.h; sourceTree = "<group>"; };
8A1BC12822DF34910084799E /* OctagonType.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OctagonType.h; sourceTree = "<group>"; };
8A1BC12922DF34910084799E /* ArcType.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ArcType.h; sourceTree = "<group>"; };
8A1BC12A22DF34910084799E /* CanType.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CanType.h; sourceTree = "<group>"; };
8A1BC12B22DF34910084799E /* PictureFrameType.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PictureFrameType.h; sourceTree = "<group>"; };
8A1BC12C22DF34910084799E /* BevelType.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BevelType.h; sourceTree = "<group>"; };
8A1BC12D22DF34910084799E /* MoonType.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MoonType.h; sourceTree = "<group>"; };
8A1BC12E22DF34910084799E /* FoldedCornerlType.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FoldedCornerlType.h; sourceTree = "<group>"; };
8A1BC12F22DF34910084799E /* PentagonType.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PentagonType.h; sourceTree = "<group>"; };
8A1BC13022DF34910084799E /* BracketsType.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BracketsType.h; sourceTree = "<group>"; };
8A1BC13122DF34910084799E /* IsoscelesTriangleType.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IsoscelesTriangleType.h; sourceTree = "<group>"; };
8A1BC13222DF34910084799E /* StarType.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = StarType.h; sourceTree = "<group>"; };
8A1BC13322DF34910084799E /* DonutType.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DonutType.h; sourceTree = "<group>"; };
8A1BC13422DF34910084799E /* RectangleType.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RectangleType.h; sourceTree = "<group>"; };
8A1BC13522DF34910084799E /* TrapezoidType.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TrapezoidType.h; sourceTree = "<group>"; };
8A1BC13622DF34910084799E /* ArrowType.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ArrowType.h; sourceTree = "<group>"; };
8A1BC13722DF34910084799E /* SmileyFaceType.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SmileyFaceType.h; sourceTree = "<group>"; };
8A1BC13822DF34910084799E /* PlusType.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PlusType.h; sourceTree = "<group>"; };
8A1BC13922DF34910084799E /* RightTriangleType.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RightTriangleType.h; sourceTree = "<group>"; };
8A1BC13A22DF34910084799E /* HeartType.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HeartType.h; sourceTree = "<group>"; };
8A1BC13B22DF34910084799E /* SunType.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SunType.h; sourceTree = "<group>"; };
8A1BC13C22DF34910084799E /* Connector.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Connector.h; sourceTree = "<group>"; };
8A1BC13D22DF34910084799E /* RoundedRectangleType.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RoundedRectangleType.h; sourceTree = "<group>"; };
8A1BC13E22DF34910084799E /* BlockArcType.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BlockArcType.h; sourceTree = "<group>"; };
8A1BC13F22DF34910084799E /* WordArtText.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WordArtText.h; sourceTree = "<group>"; };
8A1BC14022DF34910084799E /* FlowChartType.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FlowChartType.h; sourceTree = "<group>"; };
8A1BC14122DF34910084799E /* LineType.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LineType.h; sourceTree = "<group>"; };
8A1BC14222DF34910084799E /* DiamondType.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DiamondType.h; sourceTree = "<group>"; };
8A1BC14322DF34910084799E /* ParallelogramType.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ParallelogramType.h; sourceTree = "<group>"; };
8A1BC14422DF34910084799E /* ClientData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ClientData.h; sourceTree = "<group>"; };
8A1BC14522DF34910084799E /* GroupShapeRecord.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GroupShapeRecord.h; sourceTree = "<group>"; };
8A1BC14622DF34910084799E /* Shape.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Shape.h; sourceTree = "<group>"; };
8A1BC14722DF34910084799E /* BlipStoreEntry.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BlipStoreEntry.h; sourceTree = "<group>"; };
8A1BC14822DF34920084799E /* DrawingGroupRecord.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DrawingGroupRecord.h; sourceTree = "<group>"; };
8A1BC14922DF34920084799E /* Record.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Record.cpp; sourceTree = "<group>"; };
8A1BC14A22DF34920084799E /* SplitMenuColorContainer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SplitMenuColorContainer.h; sourceTree = "<group>"; };
8A1BC14B22DF34920084799E /* ShapeOptions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ShapeOptions.h; sourceTree = "<group>"; };
8A1BC14C22DF34920084799E /* RegularContainer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RegularContainer.h; sourceTree = "<group>"; };
8A1BC14D22DF34920084799E /* BlipStoreContainer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BlipStoreContainer.h; sourceTree = "<group>"; };
8A1BC14E22DF34920084799E /* RecordFactory.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RecordFactory.h; sourceTree = "<group>"; };
8A1BC14F22DF34920084799E /* DrawingRecord.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DrawingRecord.h; sourceTree = "<group>"; };
8A1BC15022DF34920084799E /* GroupContainer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GroupContainer.h; sourceTree = "<group>"; };
8A1BC15122DF34920084799E /* ChildAnchor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ChildAnchor.h; sourceTree = "<group>"; };
8A1BC15222DF34920084799E /* RecordFactory.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = RecordFactory.cpp; sourceTree = "<group>"; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
6967B2E81E27C23A00A129E2 /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXFrameworksBuildPhase section */
/* Begin PBXGroup section */
6967B2E21E27C23A00A129E2 = {
isa = PBXGroup;
children = (
6967B2ED1E27C23A00A129E2 /* DocFormatLib */,
6967B2EC1E27C23A00A129E2 /* Products */,
);
sourceTree = "<group>";
};
6967B2EC1E27C23A00A129E2 /* Products */ = {
isa = PBXGroup;
children = (
6967B2EB1E27C23A00A129E2 /* libDocFormatLib.a */,
);
name = Products;
sourceTree = "<group>";
};
6967B2ED1E27C23A00A129E2 /* DocFormatLib */ = {
isa = PBXGroup;
children = (
6967B3E41E27C52700A129E2 /* DocDocxConverter */,
6967B3E21E27C2D700A129E2 /* pole */,
6967B2FA1E27C2A100A129E2 /* Common */,
6967B2F71E27C26800A129E2 /* DocFormatLib.cpp */,
6967B2F81E27C26800A129E2 /* DocFormatLib.h */,
);
path = DocFormatLib;
sourceTree = "<group>";
};
6967B2FA1E27C2A100A129E2 /* Common */ = {
isa = PBXGroup;
children = (
6967B2FB1E27C2A100A129E2 /* Aggregat.h */,
6967B2FC1E27C2A100A129E2 /* Callback.h */,
6967B2FD1E27C2A100A129E2 /* FormatUtils.h */,
6967B2FE1E27C2A100A129E2 /* IOperand.h */,
6967B2FF1E27C2A100A129E2 /* IVirtualConstructor.h */,
6967B3001E27C2A100A129E2 /* LanguageCodes.h */,
6967B3011E27C2A100A129E2 /* Singleton.h */,
6967B3021E27C2A100A129E2 /* SPRMCodes.h */,
6967B3031E27C2A100A129E2 /* TargetOptions.h */,
6967B3041E27C2A100A129E2 /* TextMark.h */,
6967B3051E27C2A100A129E2 /* utf8.h */,
6967B3061E27C2A100A129E2 /* XmlTools.h */,
);
name = Common;
path = ../../../Common;
sourceTree = "<group>";
};
6967B3E21E27C2D700A129E2 /* pole */ = {
isa = PBXGroup;
children = (
6967B3DF1E27C2D500A129E2 /* pole.cpp */,
6967B3E01E27C2D500A129E2 /* pole.h */,
);
name = pole;
sourceTree = "<group>";
};
6967B3E41E27C52700A129E2 /* DocDocxConverter */ = {
isa = PBXGroup;
children = (
6967B3E51E27C52700A129E2 /* AbstractOpenXmlMapping.h */,
6967B3E61E27C52700A129E2 /* AnnotationOwnerList.h */,
6967B3E71E27C52700A129E2 /* AnnotationReferenceDescriptor.cpp */,
6967B3E81E27C52700A129E2 /* AnnotationReferenceDescriptor.h */,
6967B3E91E27C52700A129E2 /* AutoSummaryInfo.h */,
6967B3EA1E27C52700A129E2 /* BookmarkFirst.h */,
6967B3EB1E27C52700A129E2 /* BorderCode.h */,
6967B3EC1E27C52700A129E2 /* ByteStructure.h */,
6967B3ED1E27C52700A129E2 /* CharacterPropertiesMapping.cpp */,
6967B3EE1E27C52700A129E2 /* CharacterPropertiesMapping.h */,
6967B3EF1E27C52700A129E2 /* CharacterPropertyExceptions.h */,
6967B3F01E27C52700A129E2 /* CharacterRange.h */,
6967B3F11E27C52700A129E2 /* CommentsMapping.h */,
6967B3F21E27C52700A129E2 /* ContentTypes.h */,
6967B3F31E27C52700A129E2 /* ConversionContext.h */,
6967B3F41E27C52700A129E2 /* Converter.cpp */,
6967B3F51E27C52700A129E2 /* Converter.h */,
6967B3F61E27C52700A129E2 /* DateAndTime.h */,
6967B3F71E27C52700A129E2 /* DocumentMapping.cpp */,
6967B3F81E27C52700A129E2 /* DocumentMapping.h */,
6967B3F91E27C52700A129E2 /* DocumentProperties.cpp */,
6967B3FA1E27C52700A129E2 /* DocumentProperties.h */,
6967B3FB1E27C52700A129E2 /* DocumentTypographyInfo.h */,
6967B3FC1E27C52700A129E2 /* DrawingObjectGrid.h */,
6967B3FD1E27C52700A129E2 /* DrawingPrimitives.cpp */,
6967B3FE1E27C52700A129E2 /* DrawingPrimitives.h */,
6967B3FF1E27C52700A129E2 /* EmuValue.h */,
6967B4001E27C52700A129E2 /* EncryptionHeader.cpp */,
6967B4011E27C52700A129E2 /* EncryptionHeader.h */,
6967B4021E27C52700A129E2 /* EndnoteDescriptor.h */,
6967B4031E27C52700A129E2 /* EndnotesMapping.h */,
6967B4041E27C52700A129E2 /* FieldCharacter.h */,
6967B4051E27C52700A129E2 /* FileInformationBlock.h */,
6967B4061E27C52700A129E2 /* FixedPointNumber.h */,
6967B4071E27C52700A129E2 /* FontFamilyName.cpp */,
6967B4081E27C52700A129E2 /* FontFamilyName.h */,
6967B4091E27C52700A129E2 /* FontTableMapping.cpp */,
6967B40A1E27C52700A129E2 /* FontTableMapping.h */,
6967B40B1E27C52700A129E2 /* FooterMapping.cpp */,
6967B40C1E27C52700A129E2 /* FooterMapping.h */,
6967B40D1E27C52700A129E2 /* FootnoteDescriptor.h */,
6967B40E1E27C52700A129E2 /* FootnotesMapping.h */,
6967B40F1E27C52700A129E2 /* FormattedDiskPage.h */,
6967B4101E27C52700A129E2 /* FormattedDiskPageCHPX.cpp */,
6967B4111E27C52700A129E2 /* FormattedDiskPageCHPX.h */,
6967B4121E27C52700A129E2 /* FormattedDiskPagePAPX.cpp */,
6967B4131E27C52700A129E2 /* FormattedDiskPagePAPX.h */,
6967B4141E27C52700A129E2 /* Global.h */,
6967B4151E27C52700A129E2 /* HeaderAndFooterTable.cpp */,
6967B4161E27C52700A129E2 /* HeaderAndFooterTable.h */,
6967B4171E27C52700A129E2 /* HeaderMapping.cpp */,
6967B4181E27C52700A129E2 /* HeaderMapping.h */,
6967B4191E27C52700A129E2 /* IBinaryReader.h */,
6967B41A1E27C52700A129E2 /* IMapping.h */,
6967B41B1E27C52700A129E2 /* IVisitable.h */,
6967B41C1E27C52700A129E2 /* LanguageId.h */,
6967B41D1E27C52700A129E2 /* LanguageIdMapping.cpp */,
6967B41E1E27C52700A129E2 /* LanguageIdMapping.h */,
6967B41F1E27C52700A129E2 /* LineSpacingDescriptor.h */,
6967B4201E27C52700A129E2 /* ListData.cpp */,
6967B4211E27C52700A129E2 /* ListData.h */,
6967B4221E27C52700A129E2 /* ListFormatOverride.h */,
6967B4231E27C52700A129E2 /* ListFormatOverrideLevel.h */,
6967B4241E27C52700A129E2 /* ListFormatOverrideTable.h */,
6967B4251E27C52700A129E2 /* ListLevel.cpp */,
6967B4261E27C52700A129E2 /* ListLevel.h */,
6967B4271E27C52700A129E2 /* ListTable.cpp */,
6967B4281E27C52700A129E2 /* ListTable.h */,
6967B4291E27C52700A129E2 /* MainDocumentMapping.cpp */,
6967B42A1E27C52700A129E2 /* MainDocumentMapping.h */,
6967B42B1E27C52700A129E2 /* MemoryStream.h */,
6967B42C1E27C52700A129E2 /* NumberingMapping.cpp */,
6967B42D1E27C52700A129E2 /* NumberingMapping.h */,
6967B42E1E27C52700A129E2 /* OfficeArtContent.h */,
6967B42F1E27C52700A129E2 /* OfficeDrawing */,
6967B47A1E27C52700A129E2 /* OleObject.cpp */,
6967B47B1E27C52700A129E2 /* OleObject.h */,
6967B47C1E27C52700A129E2 /* OleObjectMapping.h */,
6967B47D1E27C52700A129E2 /* OpenXmlPackage.cpp */,
6967B47E1E27C52700A129E2 /* OpenXmlPackage.h */,
6967B47F1E27C52700A129E2 /* ParagraphHeight.cpp */,
6967B4801E27C52700A129E2 /* ParagraphHeight.h */,
6967B4811E27C52700A129E2 /* ParagraphPropertiesMapping.cpp */,
6967B4821E27C52700A129E2 /* ParagraphPropertiesMapping.h */,
6967B4831E27C52700A129E2 /* ParagraphPropertyExceptions.cpp */,
6967B4841E27C52700A129E2 /* ParagraphPropertyExceptions.h */,
6967B4851E27C52700A129E2 /* PictureDescriptor.cpp */,
6967B4861E27C52700A129E2 /* PictureDescriptor.h */,
6967B4871E27C52700A129E2 /* PieceDescriptor.h */,
6967B4881E27C52700A129E2 /* PieceTable.cpp */,
6967B4891E27C52700A129E2 /* PieceTable.h */,
6967B48A1E27C52700A129E2 /* Plex.h */,
6967B48B1E27C52700A129E2 /* PropertiesMapping.cpp */,
6967B48C1E27C52700A129E2 /* PropertiesMapping.h */,
6967B48D1E27C52700A129E2 /* PropertyExceptions.cpp */,
6967B48E1E27C52700A129E2 /* PropertyExceptions.h */,
6967B48F1E27C52700A129E2 /* RevisionData.cpp */,
6967B4901E27C52700A129E2 /* RevisionData.h */,
6967B4911E27C52700A129E2 /* RGBColor.h */,
6967B4921E27C52700A129E2 /* SectionDescriptor.h */,
6967B4931E27C52700A129E2 /* SectionPropertiesMapping.cpp */,
6967B4941E27C52700A129E2 /* SectionPropertiesMapping.h */,
6967B4951E27C52700A129E2 /* SectionPropertyExceptions.h */,
6967B4961E27C52700A129E2 /* SettingsMapping.cpp */,
6967B4971E27C52700A129E2 /* SettingsMapping.h */,
6967B4981E27C52700A129E2 /* ShadingDescriptor.h */,
6967B4991E27C52700A129E2 /* SinglePropertyModifier.cpp */,
6967B49A1E27C52700A129E2 /* SinglePropertyModifier.h */,
6967B49B1E27C52700A129E2 /* Spa.cpp */,
6967B49C1E27C52700A129E2 /* Spa.h */,
6967B49D1E27C52700A129E2 /* SprmTDefTable.h */,
6967B49E1E27C52700A129E2 /* StringTable.h */,
6967B49F1E27C52700A129E2 /* StructuredStorageReader.h */,
6967B4A01E27C52700A129E2 /* StyleSheet.cpp */,
6967B4A11E27C52700A129E2 /* StyleSheet.h */,
6967B4A21E27C52700A129E2 /* StyleSheetDescription.cpp */,
6967B4A31E27C52700A129E2 /* StyleSheetDescription.h */,
6967B4A41E27C52700A129E2 /* StyleSheetInformation.cpp */,
6967B4A51E27C52700A129E2 /* StyleSheetInformation.h */,
6967B4A61E27C52700A129E2 /* StyleSheetMapping.cpp */,
6967B4A71E27C52700A129E2 /* StyleSheetMapping.h */,
6967B4A81E27C52700A129E2 /* TabDescriptor.h */,
6967B4A91E27C52700A129E2 /* TableCellPropertiesMapping.cpp */,
6967B4AA1E27C52700A129E2 /* TableCellPropertiesMapping.h */,
6967B4AB1E27C52700A129E2 /* TableInfo.h */,
6967B4AC1E27C52700A129E2 /* TableMapping.cpp */,
6967B4AD1E27C52700A129E2 /* TableMapping.h */,
6967B4AE1E27C52700A129E2 /* TablePropertiesMapping.cpp */,
6967B4AF1E27C52700A129E2 /* TablePropertiesMapping.h */,
6967B4B01E27C52700A129E2 /* TablePropertyExceptions.h */,
6967B4B11E27C52700A129E2 /* TableRowPropertiesMapping.cpp */,
6967B4B21E27C52700A129E2 /* TableRowPropertiesMapping.h */,
6967B4B31E27C52700A129E2 /* Tbkd.h */,
6967B4B41E27C52700A129E2 /* TextboxMapping.cpp */,
6967B4B51E27C52700A129E2 /* TextboxMapping.h */,
6967B4B61E27C52700A129E2 /* TwipsValue.h */,
6967B4B71E27C52700A129E2 /* VirtualStreamReader.h */,
6967B4B81E27C52700A129E2 /* VMLPictureMapping.cpp */,
6967B4B91E27C52700A129E2 /* VMLPictureMapping.h */,
6967B4BA1E27C52700A129E2 /* VMLShapeMapping.cpp */,
6967B4BB1E27C52700A129E2 /* VMLShapeMapping.h */,
6967B4BC1E27C52700A129E2 /* VMLShapeTypeMapping.cpp */,
6967B4BD1E27C52700A129E2 /* VMLShapeTypeMapping.h */,
6967B4BE1E27C52700A129E2 /* WideString.h */,
6967B4BF1E27C52700A129E2 /* WordDocument.cpp */,
6967B4C01E27C52700A129E2 /* WordDocument.h */,
6967B4C11E27C52700A129E2 /* WordprocessingDocument.cpp */,
6967B4C21E27C52700A129E2 /* WordprocessingDocument.h */,
);
name = DocDocxConverter;
path = ../../../DocDocxConverter;
sourceTree = "<group>";
};
6967B42F1E27C52700A129E2 /* OfficeDrawing */ = {
isa = PBXGroup;
children = (
8A1BC11A22DF34900084799E /* BitmapBlip.h */,
8A1BC14D22DF34920084799E /* BlipStoreContainer.h */,
8A1BC14722DF34910084799E /* BlipStoreEntry.h */,
8A1BC15122DF34920084799E /* ChildAnchor.h */,
8A1BC11122DF348F0084799E /* ClientAnchor.h */,
8A1BC14422DF34910084799E /* ClientData.h */,
8A1BC11422DF34900084799E /* DiagramBooleanProperties.h */,
8A1BC11722DF34900084799E /* DrawingContainer.h */,
8A1BC11C22DF34910084799E /* DrawingGroup.h */,
8A1BC14822DF34920084799E /* DrawingGroupRecord.h */,
8A1BC14F22DF34920084799E /* DrawingRecord.h */,
8A1BC15022DF34920084799E /* GroupContainer.h */,
8A1BC14522DF34910084799E /* GroupShapeRecord.h */,
8A1BC11522DF34900084799E /* MetafilePictBlip.h */,
8A1BC11322DF34900084799E /* OfficeArtClientTextbox.h */,
8A1BC11B22DF34910084799E /* OfficeArtFRITContainer.h */,
8A1BC14922DF34920084799E /* Record.cpp */,
8A1BC11922DF34900084799E /* Record.h */,
8A1BC15222DF34920084799E /* RecordFactory.cpp */,
8A1BC14E22DF34920084799E /* RecordFactory.h */,
8A1BC14C22DF34920084799E /* RegularContainer.h */,
8A1BC14622DF34910084799E /* Shape.h */,
8A1BC11D22DF34910084799E /* ShapeContainer.h */,
8A1BC14B22DF34920084799E /* ShapeOptions.h */,
8A1BC11E22DF34910084799E /* ShapeType.h */,
8A1BC11622DF34900084799E /* ShapeTypeFactory.cpp */,
8A1BC11222DF34900084799E /* ShapeTypeFactory.h */,
8A1BC11F22DF34910084799E /* Shapetypes */,
8A1BC14A22DF34920084799E /* SplitMenuColorContainer.h */,
8A1BC11822DF34900084799E /* UnknownRecord.h */,
);
path = OfficeDrawing;
sourceTree = "<group>";
};
8A1BC11F22DF34910084799E /* Shapetypes */ = {
isa = PBXGroup;
children = (
8A1BC12022DF34910084799E /* PlaqueType.h */,
8A1BC12122DF34910084799E /* CubeType.h */,
8A1BC12222DF34910084799E /* LightningBoltType.h */,
8A1BC12322DF34910084799E /* OvalType.h */,
8A1BC12422DF34910084799E /* CalloutsType.h */,
8A1BC12522DF34910084799E /* TextboxType.h */,
8A1BC12622DF34910084799E /* HexagonType.h */,
8A1BC12722DF34910084799E /* NoSmokingType.h */,
8A1BC12822DF34910084799E /* OctagonType.h */,
8A1BC12922DF34910084799E /* ArcType.h */,
8A1BC12A22DF34910084799E /* CanType.h */,
8A1BC12B22DF34910084799E /* PictureFrameType.h */,
8A1BC12C22DF34910084799E /* BevelType.h */,
8A1BC12D22DF34910084799E /* MoonType.h */,
8A1BC12E22DF34910084799E /* FoldedCornerlType.h */,
8A1BC12F22DF34910084799E /* PentagonType.h */,
8A1BC13022DF34910084799E /* BracketsType.h */,
8A1BC13122DF34910084799E /* IsoscelesTriangleType.h */,
8A1BC13222DF34910084799E /* StarType.h */,
8A1BC13322DF34910084799E /* DonutType.h */,
8A1BC13422DF34910084799E /* RectangleType.h */,
8A1BC13522DF34910084799E /* TrapezoidType.h */,
8A1BC13622DF34910084799E /* ArrowType.h */,
8A1BC13722DF34910084799E /* SmileyFaceType.h */,
8A1BC13822DF34910084799E /* PlusType.h */,
8A1BC13922DF34910084799E /* RightTriangleType.h */,
8A1BC13A22DF34910084799E /* HeartType.h */,
8A1BC13B22DF34910084799E /* SunType.h */,
8A1BC13C22DF34910084799E /* Connector.h */,
8A1BC13D22DF34910084799E /* RoundedRectangleType.h */,
8A1BC13E22DF34910084799E /* BlockArcType.h */,
8A1BC13F22DF34910084799E /* WordArtText.h */,
8A1BC14022DF34910084799E /* FlowChartType.h */,
8A1BC14122DF34910084799E /* LineType.h */,
8A1BC14222DF34910084799E /* DiamondType.h */,
8A1BC14322DF34910084799E /* ParallelogramType.h */,
);
path = Shapetypes;
sourceTree = "<group>";
};
/* End PBXGroup section */
/* Begin PBXNativeTarget section */
6967B2EA1E27C23A00A129E2 /* DocFormatLib */ = {
isa = PBXNativeTarget;
buildConfigurationList = 6967B2F41E27C23A00A129E2 /* Build configuration list for PBXNativeTarget "DocFormatLib" */;
buildPhases = (
6967B2E71E27C23A00A129E2 /* Sources */,
6967B2E81E27C23A00A129E2 /* Frameworks */,
6967B2E91E27C23A00A129E2 /* CopyFiles */,
);
buildRules = (
);
dependencies = (
);
name = DocFormatLib;
productName = DocFormatLib;
productReference = 6967B2EB1E27C23A00A129E2 /* libDocFormatLib.a */;
productType = "com.apple.product-type.library.static";
};
/* End PBXNativeTarget section */
/* Begin PBXProject section */
6967B2E31E27C23A00A129E2 /* Project object */ = {
isa = PBXProject;
attributes = {
LastUpgradeCheck = 0820;
ORGANIZATIONNAME = OnlyOffce;
TargetAttributes = {
6967B2EA1E27C23A00A129E2 = {
CreatedOnToolsVersion = 8.2;
DevelopmentTeam = 2WH24U26GJ;
ProvisioningStyle = Automatic;
};
};
};
buildConfigurationList = 6967B2E61E27C23A00A129E2 /* Build configuration list for PBXProject "DocFormatLib" */;
compatibilityVersion = "Xcode 3.2";
developmentRegion = English;
hasScannedForEncodings = 0;
knownRegions = (
English,
en,
);
mainGroup = 6967B2E21E27C23A00A129E2;
productRefGroup = 6967B2EC1E27C23A00A129E2 /* Products */;
projectDirPath = "";
projectRoot = "";
targets = (
6967B2EA1E27C23A00A129E2 /* DocFormatLib */,
);
};
/* End PBXProject section */
/* Begin PBXSourcesBuildPhase section */
6967B2E71E27C23A00A129E2 /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
6967B4D11E27C52700A129E2 /* LanguageIdMapping.cpp in Sources */,
6967B4E61E27C52700A129E2 /* SinglePropertyModifier.cpp in Sources */,
6967B4C91E27C52700A129E2 /* EncryptionHeader.cpp in Sources */,
6967B4ED1E27C52700A129E2 /* TableMapping.cpp in Sources */,
6967B4F31E27C52700A129E2 /* VMLShapeTypeMapping.cpp in Sources */,
6967B4E31E27C52700A129E2 /* RevisionData.cpp in Sources */,
6967B4D41E27C52700A129E2 /* ListTable.cpp in Sources */,
6967B4F41E27C52700A129E2 /* WordDocument.cpp in Sources */,
6967B4CD1E27C52700A129E2 /* FormattedDiskPageCHPX.cpp in Sources */,
6967B4F11E27C52700A129E2 /* VMLPictureMapping.cpp in Sources */,
6967B4D21E27C52700A129E2 /* ListData.cpp in Sources */,
6967B4E21E27C52700A129E2 /* PropertyExceptions.cpp in Sources */,
6967B4C31E27C52700A129E2 /* AnnotationReferenceDescriptor.cpp in Sources */,
6967B4D31E27C52700A129E2 /* ListLevel.cpp in Sources */,
8A1BC15322DF34920084799E /* ShapeTypeFactory.cpp in Sources */,
6967B4CB1E27C52700A129E2 /* FontTableMapping.cpp in Sources */,
6967B4EC1E27C52700A129E2 /* TableCellPropertiesMapping.cpp in Sources */,
6967B4C61E27C52700A129E2 /* DocumentMapping.cpp in Sources */,
6967B4CA1E27C52700A129E2 /* FontFamilyName.cpp in Sources */,
6967B4F21E27C52700A129E2 /* VMLShapeMapping.cpp in Sources */,
6967B4C71E27C52700A129E2 /* DocumentProperties.cpp in Sources */,
6967B4EF1E27C52700A129E2 /* TableRowPropertiesMapping.cpp in Sources */,
8A1BC15422DF34920084799E /* Record.cpp in Sources */,
6967B4E01E27C52700A129E2 /* PieceTable.cpp in Sources */,
6967B4E81E27C52700A129E2 /* StyleSheet.cpp in Sources */,
6967B4EA1E27C52700A129E2 /* StyleSheetInformation.cpp in Sources */,
6967B4D01E27C52700A129E2 /* HeaderMapping.cpp in Sources */,
6967B4DA1E27C52700A129E2 /* OleObject.cpp in Sources */,
6967B4D61E27C52700A129E2 /* NumberingMapping.cpp in Sources */,
6967B4CE1E27C52700A129E2 /* FormattedDiskPagePAPX.cpp in Sources */,
6967B4DF1E27C52700A129E2 /* PictureDescriptor.cpp in Sources */,
6967B4C41E27C52700A129E2 /* CharacterPropertiesMapping.cpp in Sources */,
6967B4F01E27C52700A129E2 /* TextboxMapping.cpp in Sources */,
6967B4DC1E27C52700A129E2 /* ParagraphHeight.cpp in Sources */,
6967B4DD1E27C52700A129E2 /* ParagraphPropertiesMapping.cpp in Sources */,
6967B4E11E27C52700A129E2 /* PropertiesMapping.cpp in Sources */,
6967B4C51E27C52700A129E2 /* Converter.cpp in Sources */,
6967B4E91E27C52700A129E2 /* StyleSheetDescription.cpp in Sources */,
6967B4E41E27C52700A129E2 /* SectionPropertiesMapping.cpp in Sources */,
8A1BC15522DF34920084799E /* RecordFactory.cpp in Sources */,
6967B4EE1E27C52700A129E2 /* TablePropertiesMapping.cpp in Sources */,
6967B4D51E27C52700A129E2 /* MainDocumentMapping.cpp in Sources */,
6967B4E51E27C52700A129E2 /* SettingsMapping.cpp in Sources */,
6967B4DB1E27C52700A129E2 /* OpenXmlPackage.cpp in Sources */,
6967B4CF1E27C52700A129E2 /* HeaderAndFooterTable.cpp in Sources */,
6967B4F51E27C52700A129E2 /* WordprocessingDocument.cpp in Sources */,
6967B2F91E27C26800A129E2 /* DocFormatLib.cpp in Sources */,
6967B4CC1E27C52700A129E2 /* FooterMapping.cpp in Sources */,
6967B4C81E27C52700A129E2 /* DrawingPrimitives.cpp in Sources */,
6967B4E71E27C52700A129E2 /* Spa.cpp in Sources */,
6967B3E11E27C2D500A129E2 /* pole.cpp in Sources */,
6967B4EB1E27C52700A129E2 /* StyleSheetMapping.cpp in Sources */,
6967B4DE1E27C52700A129E2 /* ParagraphPropertyExceptions.cpp in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXSourcesBuildPhase section */
/* Begin XCBuildConfiguration section */
6967B2F21E27C23A00A129E2 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
CLANG_ANALYZER_NONNULL = YES;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
CLANG_CXX_LIBRARY = "libc++";
CLANG_ENABLE_MODULES = YES;
CLANG_ENABLE_OBJC_ARC = YES;
CLANG_WARN_BOOL_CONVERSION = YES;
CLANG_WARN_CONSTANT_CONVERSION = YES;
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES;
CLANG_WARN_INFINITE_RECURSION = YES;
CLANG_WARN_INT_CONVERSION = YES;
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
CLANG_WARN_SUSPICIOUS_MOVE = YES;
CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
COPY_PHASE_STRIP = NO;
DEBUG_INFORMATION_FORMAT = dwarf;
ENABLE_STRICT_OBJC_MSGSEND = YES;
ENABLE_TESTABILITY = YES;
GCC_C_LANGUAGE_STANDARD = gnu99;
GCC_DYNAMIC_NO_PIC = NO;
GCC_NO_COMMON_BLOCKS = YES;
GCC_OPTIMIZATION_LEVEL = 0;
GCC_PREPROCESSOR_DEFINITIONS = (
"DEBUG=1",
"$(inherited)",
);
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
GCC_WARN_UNDECLARED_SELECTOR = YES;
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 10.2;
MTL_ENABLE_DEBUG_INFO = YES;
ONLY_ACTIVE_ARCH = YES;
SDKROOT = iphoneos;
};
name = Debug;
};
6967B2F31E27C23A00A129E2 /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
CLANG_ANALYZER_NONNULL = YES;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
CLANG_CXX_LIBRARY = "libc++";
CLANG_ENABLE_MODULES = YES;
CLANG_ENABLE_OBJC_ARC = YES;
CLANG_WARN_BOOL_CONVERSION = YES;
CLANG_WARN_CONSTANT_CONVERSION = YES;
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES;
CLANG_WARN_INFINITE_RECURSION = YES;
CLANG_WARN_INT_CONVERSION = YES;
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
CLANG_WARN_SUSPICIOUS_MOVE = YES;
CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
COPY_PHASE_STRIP = NO;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
ENABLE_NS_ASSERTIONS = NO;
ENABLE_STRICT_OBJC_MSGSEND = YES;
GCC_C_LANGUAGE_STANDARD = gnu99;
GCC_NO_COMMON_BLOCKS = YES;
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
GCC_WARN_UNDECLARED_SELECTOR = YES;
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 10.2;
MTL_ENABLE_DEBUG_INFO = NO;
SDKROOT = iphoneos;
VALIDATE_PRODUCT = YES;
};
name = Release;
};
6967B2F51E27C23A00A129E2 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
DEVELOPMENT_TEAM = 2WH24U26GJ;
HEADER_SEARCH_PATHS = (
"$(inherited)",
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include,
/usr/include/,
/usr/include/libxml2/,
"$(PROJECT_DIR)/../../../DesktopEditor/freetype-2.5.2/include",
"$(PROJECT_DIR)/../../../DesktopEditor/freetype-2.5.2/devel",
"$(PROJECT_DIR)/../../../DesktopEditor/agg-2.4/include",
"$(PROJECT_DIR)/../../../Common/3dParty/pole",
"$(PROJECT_DIR)/../../../Common/3dParty/boost/boost_1_58_0",
);
OTHER_LDFLAGS = "-ObjC";
PRODUCT_NAME = "$(TARGET_NAME)";
SKIP_INSTALL = YES;
};
name = Debug;
};
6967B2F61E27C23A00A129E2 /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
DEVELOPMENT_TEAM = 2WH24U26GJ;
HEADER_SEARCH_PATHS = (
"$(inherited)",
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include,
/usr/include/,
/usr/include/libxml2/,
"$(PROJECT_DIR)/../../../DesktopEditor/freetype-2.5.2/include",
"$(PROJECT_DIR)/../../../DesktopEditor/freetype-2.5.2/devel",
"$(PROJECT_DIR)/../../../DesktopEditor/agg-2.4/include",
"$(PROJECT_DIR)/../../../Common/3dParty/pole",
"$(PROJECT_DIR)/../../../Common/3dParty/boost/boost_1_58_0",
);
OTHER_LDFLAGS = "-ObjC";
PRODUCT_NAME = "$(TARGET_NAME)";
SKIP_INSTALL = YES;
};
name = Release;
};
/* End XCBuildConfiguration section */
/* Begin XCConfigurationList section */
6967B2E61E27C23A00A129E2 /* Build configuration list for PBXProject "DocFormatLib" */ = {
isa = XCConfigurationList;
buildConfigurations = (
6967B2F21E27C23A00A129E2 /* Debug */,
6967B2F31E27C23A00A129E2 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
6967B2F41E27C23A00A129E2 /* Build configuration list for PBXNativeTarget "DocFormatLib" */ = {
isa = XCConfigurationList;
buildConfigurations = (
6967B2F51E27C23A00A129E2 /* Debug */,
6967B2F61E27C23A00A129E2 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
/* End XCConfigurationList section */
};
rootObject = 6967B2E31E27C23A00A129E2 /* Project object */;
}

View File

@ -1,7 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<Workspace
version = "1.0">
<FileRef
location = "self:DocFormatLib.xcodeproj">
</FileRef>
</Workspace>

View File

@ -1,8 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>IDEDidComputeMac32BitWarning</key>
<true/>
</dict>
</plist>

View File

@ -1 +0,0 @@
DO NOT REMOVE FOLDER FOR XCODE

View File

@ -1,381 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{C5371405-338F-4B70-83BD-2A5CDF64F383}</ProjectGuid>
<RootNamespace>DocFormatLib</RootNamespace>
<Keyword>Win32Proj</Keyword>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<PlatformToolset>v140</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
<WholeProgramOptimization>true</WholeProgramOptimization>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<PlatformToolset>v140</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<PlatformToolset>v140</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
<WholeProgramOptimization>true</WholeProgramOptimization>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<PlatformToolset>v140</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup>
<_ProjectFileVersion>14.0.23107.0</_ProjectFileVersion>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<OutDir>$(SolutionDir)$(Configuration)\</OutDir>
<IntDir>$(Configuration)\</IntDir>
<IncludePath>..\..\..\Common\3dParty\boost\build\win_32\include;$(IncludePath)</IncludePath>
<LibraryPath>..\..\..\Common\3dParty\boost\build\win_32\lib;$(LibraryPath)</LibraryPath>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<OutDir>$(SolutionDir)$(Platform)\$(Configuration)\</OutDir>
<IntDir>$(Platform)\$(Configuration)\</IntDir>
<IncludePath>..\..\..\Common\3dParty\boost\build\win_64\include;$(IncludePath)</IncludePath>
<LibraryPath>..\..\..\Common\3dParty\boost\build\win_64\lib;$(LibraryPath)</LibraryPath>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<OutDir>$(SolutionDir)$(Configuration)\</OutDir>
<IntDir>$(Configuration)\</IntDir>
<IncludePath>..\..\..\Common\3dParty\boost\build\win_32\include;$(VC_IncludePath);$(WindowsSDK_IncludePath);</IncludePath>
<LibraryPath>..\..\..\Common\3dParty\boost\build\win_32\lib;$(VC_LibraryPath_x86);$(WindowsSDK_LibraryPath_x86);$(NETFXKitsDir)Lib\um\x86</LibraryPath>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<OutDir>$(SolutionDir)$(Platform)\$(Configuration)\</OutDir>
<IntDir>$(Platform)\$(Configuration)\</IntDir>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_DEBUG;_LIB;_USE_LIBXML2_READER_;LIBXML_READER_ENABLED;USE_LITE_READER;_USE_XMLLITE_READER_;PPTX_DEF;PPT_DEF;ENABLE_PPT_TO_PPTX_CONVERT;AVS_USE_CONVERT_PPTX_TOCUSTOM_VML;DONT_WRITE_EMBEDDED_FONTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MinimalRebuild>true</MinimalRebuild>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
<PrecompiledHeader />
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>EditAndContinue</DebugInformationFormat>
<DisableSpecificWarnings>4005;4311;4312;%(DisableSpecificWarnings)</DisableSpecificWarnings>
</ClCompile>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<Midl>
<TargetEnvironment>X64</TargetEnvironment>
</Midl>
<ClCompile>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>_DEBUG;_LIB;_USE_LIBXML2_READER_;LIBXML_READER_ENABLED;USE_LITE_READER;_USE_XMLLITE_READER_;PPTX_DEF;PPT_DEF;ENABLE_PPT_TO_PPTX_CONVERT;AVS_USE_CONVERT_PPTX_TOCUSTOM_VML;DONT_WRITE_EMBEDDED_FONTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MinimalRebuild>true</MinimalRebuild>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
<PrecompiledHeader />
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
</ClCompile>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<PreprocessorDefinitions>WIN32;NDEBUG;_LIB;_USE_LIBXML2_READER_;LIBXML_READER_ENABLED;USE_LITE_READER;_USE_XMLLITE_READER_;PPTX_DEF;PPT_DEF;ENABLE_PPT_TO_PPTX_CONVERT;AVS_USE_CONVERT_PPTX_TOCUSTOM_VML;DONT_WRITE_EMBEDDED_FONTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<PrecompiledHeader />
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<EnableParallelCodeGeneration>true</EnableParallelCodeGeneration>
</ClCompile>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<Midl>
<TargetEnvironment>X64</TargetEnvironment>
</Midl>
<ClCompile>
<AdditionalIncludeDirectories>..\..\..\Common\DocxFormat\Source\XML\libxml2\XML\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>NDEBUG;_LIB;USE_ATL_CSTRINGS;_USE_LIBXML2_READER_;LIBXML_READER_ENABLED;USE_LITE_READER;_USE_XMLLITE_READER_;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<PrecompiledHeader />
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
</ClCompile>
</ItemDefinitionGroup>
<ItemGroup>
<ClInclude Include="..\..\..\Common\3dParty\pole\pole.h" />
<ClInclude Include="..\..\Common\Aggregat.h" />
<ClInclude Include="..\..\Common\Callback.h" />
<ClInclude Include="..\..\Common\FormatUtils.h" />
<ClInclude Include="..\..\Common\IOperand.h" />
<ClInclude Include="..\..\Common\IVirtualConstructor.h" />
<ClInclude Include="..\..\Common\LanguageCodes.h" />
<ClInclude Include="..\..\Common\Singleton.h" />
<ClInclude Include="..\..\Common\SPRMCodes.h" />
<ClInclude Include="..\..\Common\TargetOptions.h" />
<ClInclude Include="..\..\Common\TextMark.h" />
<ClInclude Include="..\..\Common\utf8.h" />
<ClInclude Include="..\..\Common\XmlTools.h" />
<ClInclude Include="..\..\DocDocxConverter\AbstractOpenXmlMapping.h" />
<ClInclude Include="..\..\DocDocxConverter\AnnotationOwnerList.h" />
<ClInclude Include="..\..\DocDocxConverter\AnnotationReferenceDescriptor.h" />
<ClInclude Include="..\..\DocDocxConverter\AutoSummaryInfo.h" />
<ClInclude Include="..\..\DocDocxConverter\BookmarkFirst.h" />
<ClInclude Include="..\..\DocDocxConverter\BorderCode.h" />
<ClInclude Include="..\..\DocDocxConverter\ByteStructure.h" />
<ClInclude Include="..\..\DocDocxConverter\CharacterPropertiesMapping.h" />
<ClInclude Include="..\..\DocDocxConverter\CharacterPropertyExceptions.h" />
<ClInclude Include="..\..\DocDocxConverter\CharacterRange.h" />
<ClInclude Include="..\..\DocDocxConverter\CommentsMapping.h" />
<ClInclude Include="..\..\DocDocxConverter\ContentTypes.h" />
<ClInclude Include="..\..\DocDocxConverter\ConversionContext.h" />
<ClInclude Include="..\..\DocDocxConverter\Converter.h" />
<ClInclude Include="..\..\DocDocxConverter\DateAndTime.h" />
<ClInclude Include="..\..\DocDocxConverter\DocumentMapping.h" />
<ClInclude Include="..\..\DocDocxConverter\DocumentProperties.h" />
<ClInclude Include="..\..\DocDocxConverter\DocumentTypographyInfo.h" />
<ClInclude Include="..\..\DocDocxConverter\DrawingObjectGrid.h" />
<ClInclude Include="..\..\DocDocxConverter\DrawingPrimitives.h" />
<ClInclude Include="..\..\DocDocxConverter\EmuValue.h" />
<ClInclude Include="..\..\DocDocxConverter\EncryptionHeader.h" />
<ClInclude Include="..\..\DocDocxConverter\EndnoteDescriptor.h" />
<ClInclude Include="..\..\DocDocxConverter\EndnotesMapping.h" />
<ClInclude Include="..\..\DocDocxConverter\FieldCharacter.h" />
<ClInclude Include="..\..\DocDocxConverter\FileInformationBlock.h" />
<ClInclude Include="..\..\DocDocxConverter\FixedPointNumber.h" />
<ClInclude Include="..\..\DocDocxConverter\FontFamilyName.h" />
<ClInclude Include="..\..\DocDocxConverter\FontTableMapping.h" />
<ClInclude Include="..\..\DocDocxConverter\FooterMapping.h" />
<ClInclude Include="..\..\DocDocxConverter\FootnoteDescriptor.h" />
<ClInclude Include="..\..\DocDocxConverter\FootnotesMapping.h" />
<ClInclude Include="..\..\DocDocxConverter\FormattedDiskPage.h" />
<ClInclude Include="..\..\DocDocxConverter\FormattedDiskPageCHPX.h" />
<ClInclude Include="..\..\DocDocxConverter\FormattedDiskPagePAPX.h" />
<ClInclude Include="..\..\DocDocxConverter\FormFieldData.h" />
<ClInclude Include="..\..\DocDocxConverter\FormFieldDataMapping.h" />
<ClInclude Include="..\..\DocDocxConverter\Global.h" />
<ClInclude Include="..\..\DocDocxConverter\HeaderAndFooterTable.h" />
<ClInclude Include="..\..\DocDocxConverter\HeaderMapping.h" />
<ClInclude Include="..\..\DocDocxConverter\IBinaryReader.h" />
<ClInclude Include="..\..\DocDocxConverter\IMapping.h" />
<ClInclude Include="..\..\DocDocxConverter\IVisitable.h" />
<ClInclude Include="..\..\DocDocxConverter\LanguageId.h" />
<ClInclude Include="..\..\DocDocxConverter\LanguageIdMapping.h" />
<ClInclude Include="..\..\DocDocxConverter\LineSpacingDescriptor.h" />
<ClInclude Include="..\..\DocDocxConverter\ListData.h" />
<ClInclude Include="..\..\DocDocxConverter\ListFormatOverride.h" />
<ClInclude Include="..\..\DocDocxConverter\ListFormatOverrideLevel.h" />
<ClInclude Include="..\..\DocDocxConverter\ListFormatOverrideTable.h" />
<ClInclude Include="..\..\DocDocxConverter\ListLevel.h" />
<ClInclude Include="..\..\DocDocxConverter\ListTable.h" />
<ClInclude Include="..\..\DocDocxConverter\MainDocumentMapping.h" />
<ClInclude Include="..\..\DocDocxConverter\MemoryStream.h" />
<ClInclude Include="..\..\DocDocxConverter\NumberingMapping.h" />
<ClInclude Include="..\..\DocDocxConverter\OfficeArtContent.h" />
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\BitmapBlip.h" />
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\BlipStoreContainer.h" />
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\BlipStoreEntry.h" />
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\ChildAnchor.h" />
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\ClientAnchor.h" />
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\ClientData.h" />
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\DrawingContainer.h" />
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\DrawingGroup.h" />
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\DrawingGroupRecord.h" />
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\DrawingRecord.h" />
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\GroupContainer.h" />
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\GroupShapeRecord.h" />
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\MetafilePictBlip.h" />
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\OfficeArtClientTextbox.h" />
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\Record.h" />
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\RecordFactory.h" />
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\RegularContainer.h" />
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\Shape.h" />
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\ShapeContainer.h" />
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\ShapeOptions.h" />
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\ShapeType.h" />
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\ShapeTypeFactory.h" />
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\Shapetypes\ArcType.h" />
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\Shapetypes\ArrowType.h" />
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\Shapetypes\BevelType.h" />
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\Shapetypes\BlockArcType.h" />
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\Shapetypes\BracketsType.h" />
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\Shapetypes\CalloutsType.h" />
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\Shapetypes\CanType.h" />
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\Shapetypes\Connector.h" />
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\Shapetypes\CubeType.h" />
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\Shapetypes\DiamondType.h" />
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\Shapetypes\DonutType.h" />
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\Shapetypes\FlowChartType.h" />
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\Shapetypes\FoldedCornerlType.h" />
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\Shapetypes\HeartType.h" />
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\Shapetypes\HexagonType.h" />
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\Shapetypes\IsoscelesTriangleType.h" />
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\Shapetypes\LightningBoltType.h" />
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\Shapetypes\LineType.h" />
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\Shapetypes\MoonType.h" />
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\Shapetypes\NoSmokingType.h" />
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\Shapetypes\OctagonType.h" />
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\Shapetypes\OvalType.h" />
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\Shapetypes\ParallelogramType.h" />
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\Shapetypes\PentagonType.h" />
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\Shapetypes\PictureFrameType.h" />
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\Shapetypes\PlaqueType.h" />
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\Shapetypes\PlusType.h" />
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\Shapetypes\RectangleType.h" />
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\Shapetypes\RightTriangleType.h" />
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\Shapetypes\RoundedRectangleType.h" />
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\Shapetypes\SmileyFaceType.h" />
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\Shapetypes\StarType.h" />
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\Shapetypes\SunType.h" />
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\Shapetypes\TextboxType.h" />
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\Shapetypes\TrapezoidType.h" />
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\Shapetypes\WordArtText.h" />
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\SplitMenuColorContainer.h" />
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\threeDBooleanProperties.h" />
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\UnknownRecord.h" />
<ClInclude Include="..\..\DocDocxConverter\OleObject.h" />
<ClInclude Include="..\..\DocDocxConverter\OleObjectMapping.h" />
<ClInclude Include="..\..\DocDocxConverter\OpenXmlPackage.h" />
<ClInclude Include="..\..\DocDocxConverter\ParagraphHeight.h" />
<ClInclude Include="..\..\DocDocxConverter\ParagraphPropertiesMapping.h" />
<ClInclude Include="..\..\DocDocxConverter\ParagraphPropertyExceptions.h" />
<ClInclude Include="..\..\DocDocxConverter\PictureDescriptor.h" />
<ClInclude Include="..\..\DocDocxConverter\PieceDescriptor.h" />
<ClInclude Include="..\..\DocDocxConverter\PieceTable.h" />
<ClInclude Include="..\..\DocDocxConverter\Plex.h" />
<ClInclude Include="..\..\DocDocxConverter\PropertiesMapping.h" />
<ClInclude Include="..\..\DocDocxConverter\PropertyExceptions.h" />
<ClInclude Include="..\..\DocDocxConverter\RevisionData.h" />
<ClInclude Include="..\..\DocDocxConverter\RGBColor.h" />
<ClInclude Include="..\..\DocDocxConverter\SectionDescriptor.h" />
<ClInclude Include="..\..\DocDocxConverter\SectionPropertiesMapping.h" />
<ClInclude Include="..\..\DocDocxConverter\SectionPropertyExceptions.h" />
<ClInclude Include="..\..\DocDocxConverter\SettingsMapping.h" />
<ClInclude Include="..\..\DocDocxConverter\ShadingDescriptor.h" />
<ClInclude Include="..\..\DocDocxConverter\SinglePropertyModifier.h" />
<ClInclude Include="..\..\DocDocxConverter\Spa.h" />
<ClInclude Include="..\..\DocDocxConverter\SprmTDefTable.h" />
<ClInclude Include="..\..\DocDocxConverter\StringTable.h" />
<ClInclude Include="..\..\DocDocxConverter\StructuredStorageReader.h" />
<ClInclude Include="..\..\DocDocxConverter\StyleSheet.h" />
<ClInclude Include="..\..\DocDocxConverter\StyleSheetDescription.h" />
<ClInclude Include="..\..\DocDocxConverter\StyleSheetInformation.h" />
<ClInclude Include="..\..\DocDocxConverter\StyleSheetMapping.h" />
<ClInclude Include="..\..\DocDocxConverter\TabDescriptor.h" />
<ClInclude Include="..\..\DocDocxConverter\TableCellPropertiesMapping.h" />
<ClInclude Include="..\..\DocDocxConverter\TableInfo.h" />
<ClInclude Include="..\..\DocDocxConverter\TableMapping.h" />
<ClInclude Include="..\..\DocDocxConverter\TablePropertiesMapping.h" />
<ClInclude Include="..\..\DocDocxConverter\TablePropertyExceptions.h" />
<ClInclude Include="..\..\DocDocxConverter\TableRowPropertiesMapping.h" />
<ClInclude Include="..\..\DocDocxConverter\Tbkd.h" />
<ClInclude Include="..\..\DocDocxConverter\TextboxMapping.h" />
<ClInclude Include="..\..\DocDocxConverter\TwipsValue.h" />
<ClInclude Include="..\..\DocDocxConverter\VirtualStreamReader.h" />
<ClInclude Include="..\..\DocDocxConverter\VMLPictureMapping.h" />
<ClInclude Include="..\..\DocDocxConverter\VMLShapeMapping.h" />
<ClInclude Include="..\..\DocDocxConverter\VMLShapeTypeMapping.h" />
<ClInclude Include="..\..\DocDocxConverter\WideString.h" />
<ClInclude Include="..\..\DocDocxConverter\WordDocument.h" />
<ClInclude Include="..\..\DocDocxConverter\WordprocessingDocument.h" />
<ClInclude Include="..\DocFormatLib.h" />
</ItemGroup>
<ItemGroup>
<ClCompile Include="..\..\..\Common\3dParty\pole\pole.cpp" />
<ClCompile Include="..\..\DocDocxConverter\AnnotationReferenceDescriptor.cpp" />
<ClCompile Include="..\..\DocDocxConverter\CharacterPropertiesMapping.cpp" />
<ClCompile Include="..\..\DocDocxConverter\Converter.cpp" />
<ClCompile Include="..\..\DocDocxConverter\DocumentMapping.cpp" />
<ClCompile Include="..\..\DocDocxConverter\DocumentProperties.cpp" />
<ClCompile Include="..\..\DocDocxConverter\DrawingPrimitives.cpp" />
<ClCompile Include="..\..\DocDocxConverter\EncryptionHeader.cpp" />
<ClCompile Include="..\..\DocDocxConverter\FontFamilyName.cpp" />
<ClCompile Include="..\..\DocDocxConverter\FontTableMapping.cpp" />
<ClCompile Include="..\..\DocDocxConverter\FooterMapping.cpp" />
<ClCompile Include="..\..\DocDocxConverter\FormattedDiskPageCHPX.cpp" />
<ClCompile Include="..\..\DocDocxConverter\FormattedDiskPagePAPX.cpp" />
<ClCompile Include="..\..\DocDocxConverter\FormFieldData.cpp" />
<ClCompile Include="..\..\DocDocxConverter\HeaderAndFooterTable.cpp" />
<ClCompile Include="..\..\DocDocxConverter\HeaderMapping.cpp" />
<ClCompile Include="..\..\DocDocxConverter\LanguageIdMapping.cpp" />
<ClCompile Include="..\..\DocDocxConverter\ListData.cpp" />
<ClCompile Include="..\..\DocDocxConverter\ListLevel.cpp" />
<ClCompile Include="..\..\DocDocxConverter\ListTable.cpp" />
<ClCompile Include="..\..\DocDocxConverter\MainDocumentMapping.cpp" />
<ClCompile Include="..\..\DocDocxConverter\NumberingMapping.cpp" />
<ClCompile Include="..\..\DocDocxConverter\OfficeDrawing\Record.cpp" />
<ClCompile Include="..\..\DocDocxConverter\OfficeDrawing\RecordFactory.cpp" />
<ClCompile Include="..\..\DocDocxConverter\OfficeDrawing\ShapeTypeFactory.cpp" />
<ClCompile Include="..\..\DocDocxConverter\OleObject.cpp" />
<ClCompile Include="..\..\DocDocxConverter\OpenXmlPackage.cpp" />
<ClCompile Include="..\..\DocDocxConverter\ParagraphHeight.cpp" />
<ClCompile Include="..\..\DocDocxConverter\ParagraphPropertiesMapping.cpp" />
<ClCompile Include="..\..\DocDocxConverter\ParagraphPropertyExceptions.cpp" />
<ClCompile Include="..\..\DocDocxConverter\PictureDescriptor.cpp" />
<ClCompile Include="..\..\DocDocxConverter\PieceTable.cpp" />
<ClCompile Include="..\..\DocDocxConverter\PropertiesMapping.cpp" />
<ClCompile Include="..\..\DocDocxConverter\PropertyExceptions.cpp" />
<ClCompile Include="..\..\DocDocxConverter\RevisionData.cpp" />
<ClCompile Include="..\..\DocDocxConverter\SectionPropertiesMapping.cpp" />
<ClCompile Include="..\..\DocDocxConverter\SettingsMapping.cpp" />
<ClCompile Include="..\..\DocDocxConverter\SinglePropertyModifier.cpp" />
<ClCompile Include="..\..\DocDocxConverter\Spa.cpp" />
<ClCompile Include="..\..\DocDocxConverter\StyleSheet.cpp" />
<ClCompile Include="..\..\DocDocxConverter\StyleSheetDescription.cpp" />
<ClCompile Include="..\..\DocDocxConverter\StyleSheetInformation.cpp" />
<ClCompile Include="..\..\DocDocxConverter\StyleSheetMapping.cpp" />
<ClCompile Include="..\..\DocDocxConverter\TableCellPropertiesMapping.cpp" />
<ClCompile Include="..\..\DocDocxConverter\TableMapping.cpp" />
<ClCompile Include="..\..\DocDocxConverter\TablePropertiesMapping.cpp" />
<ClCompile Include="..\..\DocDocxConverter\TableRowPropertiesMapping.cpp" />
<ClCompile Include="..\..\DocDocxConverter\TextboxMapping.cpp" />
<ClCompile Include="..\..\DocDocxConverter\VMLPictureMapping.cpp">
<AdditionalOptions Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">/bigobj %(AdditionalOptions)</AdditionalOptions>
</ClCompile>
<ClCompile Include="..\..\DocDocxConverter\VMLShapeMapping.cpp" />
<ClCompile Include="..\..\DocDocxConverter\VMLShapeTypeMapping.cpp" />
<ClCompile Include="..\..\DocDocxConverter\WordDocument.cpp" />
<ClCompile Include="..\..\DocDocxConverter\WordprocessingDocument.cpp" />
<ClCompile Include="..\DocFormatLib.cpp" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

View File

@ -1,713 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Common">
<UniqueIdentifier>{b71e7e8a-fe3b-470f-aecc-cd46ae338e31}</UniqueIdentifier>
</Filter>
<Filter Include="Common\pole">
<UniqueIdentifier>{08f46501-29da-4691-b19d-2f230e536ee2}</UniqueIdentifier>
</Filter>
<Filter Include="Doc_2_Docx">
<UniqueIdentifier>{0c04a0b9-7265-4e3e-af45-0a86e4d7c49c}</UniqueIdentifier>
</Filter>
<Filter Include="Doc_2_Docx\OfficeDrawing">
<UniqueIdentifier>{bbeff7b2-a7b0-4cab-85a4-893aebfce8a8}</UniqueIdentifier>
</Filter>
<Filter Include="Doc_2_Docx\OfficeDrawing\Shapetypes">
<UniqueIdentifier>{80f3b70c-514b-444d-8a10-21c4ccbea4a1}</UniqueIdentifier>
</Filter>
<Filter Include="Doc_2_Docx\Mapping">
<UniqueIdentifier>{6640ac5f-d20f-4e15-9a1c-230e6d19266e}</UniqueIdentifier>
</Filter>
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\..\Common\Aggregat.h">
<Filter>Common</Filter>
</ClInclude>
<ClInclude Include="..\..\Common\Callback.h">
<Filter>Common</Filter>
</ClInclude>
<ClInclude Include="..\..\Common\FormatUtils.h">
<Filter>Common</Filter>
</ClInclude>
<ClInclude Include="..\..\Common\IOperand.h">
<Filter>Common</Filter>
</ClInclude>
<ClInclude Include="..\..\Common\IVirtualConstructor.h">
<Filter>Common</Filter>
</ClInclude>
<ClInclude Include="..\..\Common\LanguageCodes.h">
<Filter>Common</Filter>
</ClInclude>
<ClInclude Include="..\..\Common\Singleton.h">
<Filter>Common</Filter>
</ClInclude>
<ClInclude Include="..\..\Common\SPRMCodes.h">
<Filter>Common</Filter>
</ClInclude>
<ClInclude Include="..\..\Common\TargetOptions.h">
<Filter>Common</Filter>
</ClInclude>
<ClInclude Include="..\..\Common\TextMark.h">
<Filter>Common</Filter>
</ClInclude>
<ClInclude Include="..\..\Common\utf8.h">
<Filter>Common</Filter>
</ClInclude>
<ClInclude Include="..\..\Common\XmlTools.h">
<Filter>Common</Filter>
</ClInclude>
<ClInclude Include="..\..\..\Common\3dParty\pole\pole.h">
<Filter>Common\pole</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\AnnotationOwnerList.h">
<Filter>Doc_2_Docx</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\AnnotationReferenceDescriptor.h">
<Filter>Doc_2_Docx</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\AutoSummaryInfo.h">
<Filter>Doc_2_Docx</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\BookmarkFirst.h">
<Filter>Doc_2_Docx</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\BorderCode.h">
<Filter>Doc_2_Docx</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\ByteStructure.h">
<Filter>Doc_2_Docx</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\CharacterPropertyExceptions.h">
<Filter>Doc_2_Docx</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\CharacterRange.h">
<Filter>Doc_2_Docx</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\ContentTypes.h">
<Filter>Doc_2_Docx</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\ConversionContext.h">
<Filter>Doc_2_Docx</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\Converter.h">
<Filter>Doc_2_Docx</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\DateAndTime.h">
<Filter>Doc_2_Docx</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\DocumentProperties.h">
<Filter>Doc_2_Docx</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\DocumentTypographyInfo.h">
<Filter>Doc_2_Docx</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\DrawingObjectGrid.h">
<Filter>Doc_2_Docx</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\DrawingPrimitives.h">
<Filter>Doc_2_Docx</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\EmuValue.h">
<Filter>Doc_2_Docx</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\EncryptionHeader.h">
<Filter>Doc_2_Docx</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\EndnoteDescriptor.h">
<Filter>Doc_2_Docx</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\FieldCharacter.h">
<Filter>Doc_2_Docx</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\FileInformationBlock.h">
<Filter>Doc_2_Docx</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\FixedPointNumber.h">
<Filter>Doc_2_Docx</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\FontFamilyName.h">
<Filter>Doc_2_Docx</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\FootnoteDescriptor.h">
<Filter>Doc_2_Docx</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\FormattedDiskPage.h">
<Filter>Doc_2_Docx</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\FormattedDiskPageCHPX.h">
<Filter>Doc_2_Docx</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\FormattedDiskPagePAPX.h">
<Filter>Doc_2_Docx</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\FormFieldData.h">
<Filter>Doc_2_Docx</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\Global.h">
<Filter>Doc_2_Docx</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\HeaderAndFooterTable.h">
<Filter>Doc_2_Docx</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\IBinaryReader.h">
<Filter>Doc_2_Docx</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\IMapping.h">
<Filter>Doc_2_Docx</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\IVisitable.h">
<Filter>Doc_2_Docx</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\LanguageId.h">
<Filter>Doc_2_Docx</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\LineSpacingDescriptor.h">
<Filter>Doc_2_Docx</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\ListData.h">
<Filter>Doc_2_Docx</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\ListFormatOverride.h">
<Filter>Doc_2_Docx</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\ListFormatOverrideLevel.h">
<Filter>Doc_2_Docx</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\ListFormatOverrideTable.h">
<Filter>Doc_2_Docx</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\ListLevel.h">
<Filter>Doc_2_Docx</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\ListTable.h">
<Filter>Doc_2_Docx</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\MemoryStream.h">
<Filter>Doc_2_Docx</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\OfficeArtContent.h">
<Filter>Doc_2_Docx</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\OleObject.h">
<Filter>Doc_2_Docx</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\OpenXmlPackage.h">
<Filter>Doc_2_Docx</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\ParagraphHeight.h">
<Filter>Doc_2_Docx</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\ParagraphPropertyExceptions.h">
<Filter>Doc_2_Docx</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\PictureDescriptor.h">
<Filter>Doc_2_Docx</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\PieceDescriptor.h">
<Filter>Doc_2_Docx</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\PieceTable.h">
<Filter>Doc_2_Docx</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\Plex.h">
<Filter>Doc_2_Docx</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\PropertyExceptions.h">
<Filter>Doc_2_Docx</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\RevisionData.h">
<Filter>Doc_2_Docx</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\RGBColor.h">
<Filter>Doc_2_Docx</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\SectionDescriptor.h">
<Filter>Doc_2_Docx</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\SectionPropertyExceptions.h">
<Filter>Doc_2_Docx</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\ShadingDescriptor.h">
<Filter>Doc_2_Docx</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\SinglePropertyModifier.h">
<Filter>Doc_2_Docx</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\Spa.h">
<Filter>Doc_2_Docx</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\SprmTDefTable.h">
<Filter>Doc_2_Docx</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\StringTable.h">
<Filter>Doc_2_Docx</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\StructuredStorageReader.h">
<Filter>Doc_2_Docx</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\StyleSheet.h">
<Filter>Doc_2_Docx</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\StyleSheetDescription.h">
<Filter>Doc_2_Docx</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\StyleSheetInformation.h">
<Filter>Doc_2_Docx</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\TabDescriptor.h">
<Filter>Doc_2_Docx</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\TableInfo.h">
<Filter>Doc_2_Docx</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\TablePropertyExceptions.h">
<Filter>Doc_2_Docx</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\Tbkd.h">
<Filter>Doc_2_Docx</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\TwipsValue.h">
<Filter>Doc_2_Docx</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\VirtualStreamReader.h">
<Filter>Doc_2_Docx</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\WideString.h">
<Filter>Doc_2_Docx</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\WordDocument.h">
<Filter>Doc_2_Docx</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\WordprocessingDocument.h">
<Filter>Doc_2_Docx</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\BitmapBlip.h">
<Filter>Doc_2_Docx\OfficeDrawing</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\BlipStoreContainer.h">
<Filter>Doc_2_Docx\OfficeDrawing</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\BlipStoreEntry.h">
<Filter>Doc_2_Docx\OfficeDrawing</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\ChildAnchor.h">
<Filter>Doc_2_Docx\OfficeDrawing</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\ClientAnchor.h">
<Filter>Doc_2_Docx\OfficeDrawing</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\ClientData.h">
<Filter>Doc_2_Docx\OfficeDrawing</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\DrawingContainer.h">
<Filter>Doc_2_Docx\OfficeDrawing</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\DrawingGroup.h">
<Filter>Doc_2_Docx\OfficeDrawing</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\DrawingGroupRecord.h">
<Filter>Doc_2_Docx\OfficeDrawing</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\DrawingRecord.h">
<Filter>Doc_2_Docx\OfficeDrawing</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\GroupContainer.h">
<Filter>Doc_2_Docx\OfficeDrawing</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\GroupShapeRecord.h">
<Filter>Doc_2_Docx\OfficeDrawing</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\MetafilePictBlip.h">
<Filter>Doc_2_Docx\OfficeDrawing</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\OfficeArtClientTextbox.h">
<Filter>Doc_2_Docx\OfficeDrawing</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\Record.h">
<Filter>Doc_2_Docx\OfficeDrawing</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\RecordFactory.h">
<Filter>Doc_2_Docx\OfficeDrawing</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\RegularContainer.h">
<Filter>Doc_2_Docx\OfficeDrawing</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\Shape.h">
<Filter>Doc_2_Docx\OfficeDrawing</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\ShapeContainer.h">
<Filter>Doc_2_Docx\OfficeDrawing</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\ShapeOptions.h">
<Filter>Doc_2_Docx\OfficeDrawing</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\ShapeType.h">
<Filter>Doc_2_Docx\OfficeDrawing</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\ShapeTypeFactory.h">
<Filter>Doc_2_Docx\OfficeDrawing</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\SplitMenuColorContainer.h">
<Filter>Doc_2_Docx\OfficeDrawing</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\threeDBooleanProperties.h">
<Filter>Doc_2_Docx\OfficeDrawing</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\UnknownRecord.h">
<Filter>Doc_2_Docx\OfficeDrawing</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\Shapetypes\ArcType.h">
<Filter>Doc_2_Docx\OfficeDrawing\Shapetypes</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\Shapetypes\ArrowType.h">
<Filter>Doc_2_Docx\OfficeDrawing\Shapetypes</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\Shapetypes\BevelType.h">
<Filter>Doc_2_Docx\OfficeDrawing\Shapetypes</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\Shapetypes\BlockArcType.h">
<Filter>Doc_2_Docx\OfficeDrawing\Shapetypes</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\Shapetypes\BracketsType.h">
<Filter>Doc_2_Docx\OfficeDrawing\Shapetypes</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\Shapetypes\CalloutsType.h">
<Filter>Doc_2_Docx\OfficeDrawing\Shapetypes</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\Shapetypes\CanType.h">
<Filter>Doc_2_Docx\OfficeDrawing\Shapetypes</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\Shapetypes\Connector.h">
<Filter>Doc_2_Docx\OfficeDrawing\Shapetypes</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\Shapetypes\CubeType.h">
<Filter>Doc_2_Docx\OfficeDrawing\Shapetypes</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\Shapetypes\DiamondType.h">
<Filter>Doc_2_Docx\OfficeDrawing\Shapetypes</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\Shapetypes\DonutType.h">
<Filter>Doc_2_Docx\OfficeDrawing\Shapetypes</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\Shapetypes\FlowChartType.h">
<Filter>Doc_2_Docx\OfficeDrawing\Shapetypes</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\Shapetypes\FoldedCornerlType.h">
<Filter>Doc_2_Docx\OfficeDrawing\Shapetypes</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\Shapetypes\HeartType.h">
<Filter>Doc_2_Docx\OfficeDrawing\Shapetypes</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\Shapetypes\HexagonType.h">
<Filter>Doc_2_Docx\OfficeDrawing\Shapetypes</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\Shapetypes\IsoscelesTriangleType.h">
<Filter>Doc_2_Docx\OfficeDrawing\Shapetypes</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\Shapetypes\LightningBoltType.h">
<Filter>Doc_2_Docx\OfficeDrawing\Shapetypes</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\Shapetypes\LineType.h">
<Filter>Doc_2_Docx\OfficeDrawing\Shapetypes</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\Shapetypes\MoonType.h">
<Filter>Doc_2_Docx\OfficeDrawing\Shapetypes</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\Shapetypes\NoSmokingType.h">
<Filter>Doc_2_Docx\OfficeDrawing\Shapetypes</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\Shapetypes\OctagonType.h">
<Filter>Doc_2_Docx\OfficeDrawing\Shapetypes</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\Shapetypes\OvalType.h">
<Filter>Doc_2_Docx\OfficeDrawing\Shapetypes</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\Shapetypes\ParallelogramType.h">
<Filter>Doc_2_Docx\OfficeDrawing\Shapetypes</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\Shapetypes\PentagonType.h">
<Filter>Doc_2_Docx\OfficeDrawing\Shapetypes</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\Shapetypes\PictureFrameType.h">
<Filter>Doc_2_Docx\OfficeDrawing\Shapetypes</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\Shapetypes\PlaqueType.h">
<Filter>Doc_2_Docx\OfficeDrawing\Shapetypes</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\Shapetypes\PlusType.h">
<Filter>Doc_2_Docx\OfficeDrawing\Shapetypes</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\Shapetypes\RectangleType.h">
<Filter>Doc_2_Docx\OfficeDrawing\Shapetypes</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\Shapetypes\RightTriangleType.h">
<Filter>Doc_2_Docx\OfficeDrawing\Shapetypes</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\Shapetypes\RoundedRectangleType.h">
<Filter>Doc_2_Docx\OfficeDrawing\Shapetypes</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\Shapetypes\SmileyFaceType.h">
<Filter>Doc_2_Docx\OfficeDrawing\Shapetypes</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\Shapetypes\StarType.h">
<Filter>Doc_2_Docx\OfficeDrawing\Shapetypes</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\Shapetypes\SunType.h">
<Filter>Doc_2_Docx\OfficeDrawing\Shapetypes</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\Shapetypes\TextboxType.h">
<Filter>Doc_2_Docx\OfficeDrawing\Shapetypes</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\Shapetypes\TrapezoidType.h">
<Filter>Doc_2_Docx\OfficeDrawing\Shapetypes</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\Shapetypes\WordArtText.h">
<Filter>Doc_2_Docx\OfficeDrawing\Shapetypes</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\AbstractOpenXmlMapping.h">
<Filter>Doc_2_Docx\Mapping</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\CharacterPropertiesMapping.h">
<Filter>Doc_2_Docx\Mapping</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\CommentsMapping.h">
<Filter>Doc_2_Docx\Mapping</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\DocumentMapping.h">
<Filter>Doc_2_Docx\Mapping</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\EndnotesMapping.h">
<Filter>Doc_2_Docx\Mapping</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\FontTableMapping.h">
<Filter>Doc_2_Docx\Mapping</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\FooterMapping.h">
<Filter>Doc_2_Docx\Mapping</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\FootnotesMapping.h">
<Filter>Doc_2_Docx\Mapping</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\FormFieldDataMapping.h">
<Filter>Doc_2_Docx\Mapping</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\HeaderMapping.h">
<Filter>Doc_2_Docx\Mapping</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\LanguageIdMapping.h">
<Filter>Doc_2_Docx\Mapping</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\MainDocumentMapping.h">
<Filter>Doc_2_Docx\Mapping</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\NumberingMapping.h">
<Filter>Doc_2_Docx\Mapping</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\OleObjectMapping.h">
<Filter>Doc_2_Docx\Mapping</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\ParagraphPropertiesMapping.h">
<Filter>Doc_2_Docx\Mapping</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\PropertiesMapping.h">
<Filter>Doc_2_Docx\Mapping</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\SectionPropertiesMapping.h">
<Filter>Doc_2_Docx\Mapping</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\SettingsMapping.h">
<Filter>Doc_2_Docx\Mapping</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\StyleSheetMapping.h">
<Filter>Doc_2_Docx\Mapping</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\TableCellPropertiesMapping.h">
<Filter>Doc_2_Docx\Mapping</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\TableMapping.h">
<Filter>Doc_2_Docx\Mapping</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\TablePropertiesMapping.h">
<Filter>Doc_2_Docx\Mapping</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\TableRowPropertiesMapping.h">
<Filter>Doc_2_Docx\Mapping</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\TextboxMapping.h">
<Filter>Doc_2_Docx\Mapping</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\VMLPictureMapping.h">
<Filter>Doc_2_Docx\Mapping</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\VMLShapeMapping.h">
<Filter>Doc_2_Docx\Mapping</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\VMLShapeTypeMapping.h">
<Filter>Doc_2_Docx\Mapping</Filter>
</ClInclude>
<ClInclude Include="..\DocFormatLib.h" />
</ItemGroup>
<ItemGroup>
<ClCompile Include="..\..\..\Common\3dParty\pole\pole.cpp">
<Filter>Common\pole</Filter>
</ClCompile>
<ClCompile Include="..\..\DocDocxConverter\AnnotationReferenceDescriptor.cpp">
<Filter>Doc_2_Docx</Filter>
</ClCompile>
<ClCompile Include="..\..\DocDocxConverter\Converter.cpp">
<Filter>Doc_2_Docx</Filter>
</ClCompile>
<ClCompile Include="..\..\DocDocxConverter\DocumentProperties.cpp">
<Filter>Doc_2_Docx</Filter>
</ClCompile>
<ClCompile Include="..\..\DocDocxConverter\DrawingPrimitives.cpp">
<Filter>Doc_2_Docx</Filter>
</ClCompile>
<ClCompile Include="..\..\DocDocxConverter\EncryptionHeader.cpp">
<Filter>Doc_2_Docx</Filter>
</ClCompile>
<ClCompile Include="..\..\DocDocxConverter\FontFamilyName.cpp">
<Filter>Doc_2_Docx</Filter>
</ClCompile>
<ClCompile Include="..\..\DocDocxConverter\FormattedDiskPageCHPX.cpp">
<Filter>Doc_2_Docx</Filter>
</ClCompile>
<ClCompile Include="..\..\DocDocxConverter\FormattedDiskPagePAPX.cpp">
<Filter>Doc_2_Docx</Filter>
</ClCompile>
<ClCompile Include="..\..\DocDocxConverter\FormFieldData.cpp">
<Filter>Doc_2_Docx</Filter>
</ClCompile>
<ClCompile Include="..\..\DocDocxConverter\HeaderAndFooterTable.cpp">
<Filter>Doc_2_Docx</Filter>
</ClCompile>
<ClCompile Include="..\..\DocDocxConverter\ListData.cpp">
<Filter>Doc_2_Docx</Filter>
</ClCompile>
<ClCompile Include="..\..\DocDocxConverter\ListLevel.cpp">
<Filter>Doc_2_Docx</Filter>
</ClCompile>
<ClCompile Include="..\..\DocDocxConverter\ListTable.cpp">
<Filter>Doc_2_Docx</Filter>
</ClCompile>
<ClCompile Include="..\..\DocDocxConverter\OleObject.cpp">
<Filter>Doc_2_Docx</Filter>
</ClCompile>
<ClCompile Include="..\..\DocDocxConverter\OpenXmlPackage.cpp">
<Filter>Doc_2_Docx</Filter>
</ClCompile>
<ClCompile Include="..\..\DocDocxConverter\ParagraphHeight.cpp">
<Filter>Doc_2_Docx</Filter>
</ClCompile>
<ClCompile Include="..\..\DocDocxConverter\ParagraphPropertyExceptions.cpp">
<Filter>Doc_2_Docx</Filter>
</ClCompile>
<ClCompile Include="..\..\DocDocxConverter\PictureDescriptor.cpp">
<Filter>Doc_2_Docx</Filter>
</ClCompile>
<ClCompile Include="..\..\DocDocxConverter\PieceTable.cpp">
<Filter>Doc_2_Docx</Filter>
</ClCompile>
<ClCompile Include="..\..\DocDocxConverter\PropertyExceptions.cpp">
<Filter>Doc_2_Docx</Filter>
</ClCompile>
<ClCompile Include="..\..\DocDocxConverter\RevisionData.cpp">
<Filter>Doc_2_Docx</Filter>
</ClCompile>
<ClCompile Include="..\..\DocDocxConverter\SinglePropertyModifier.cpp">
<Filter>Doc_2_Docx</Filter>
</ClCompile>
<ClCompile Include="..\..\DocDocxConverter\Spa.cpp">
<Filter>Doc_2_Docx</Filter>
</ClCompile>
<ClCompile Include="..\..\DocDocxConverter\StyleSheet.cpp">
<Filter>Doc_2_Docx</Filter>
</ClCompile>
<ClCompile Include="..\..\DocDocxConverter\StyleSheetDescription.cpp">
<Filter>Doc_2_Docx</Filter>
</ClCompile>
<ClCompile Include="..\..\DocDocxConverter\StyleSheetInformation.cpp">
<Filter>Doc_2_Docx</Filter>
</ClCompile>
<ClCompile Include="..\..\DocDocxConverter\WordDocument.cpp">
<Filter>Doc_2_Docx</Filter>
</ClCompile>
<ClCompile Include="..\..\DocDocxConverter\WordprocessingDocument.cpp">
<Filter>Doc_2_Docx</Filter>
</ClCompile>
<ClCompile Include="..\..\DocDocxConverter\OfficeDrawing\Record.cpp">
<Filter>Doc_2_Docx\OfficeDrawing</Filter>
</ClCompile>
<ClCompile Include="..\..\DocDocxConverter\OfficeDrawing\RecordFactory.cpp">
<Filter>Doc_2_Docx\OfficeDrawing</Filter>
</ClCompile>
<ClCompile Include="..\..\DocDocxConverter\OfficeDrawing\ShapeTypeFactory.cpp">
<Filter>Doc_2_Docx\OfficeDrawing</Filter>
</ClCompile>
<ClCompile Include="..\..\DocDocxConverter\CharacterPropertiesMapping.cpp">
<Filter>Doc_2_Docx\Mapping</Filter>
</ClCompile>
<ClCompile Include="..\..\DocDocxConverter\DocumentMapping.cpp">
<Filter>Doc_2_Docx\Mapping</Filter>
</ClCompile>
<ClCompile Include="..\..\DocDocxConverter\FontTableMapping.cpp">
<Filter>Doc_2_Docx\Mapping</Filter>
</ClCompile>
<ClCompile Include="..\..\DocDocxConverter\FooterMapping.cpp">
<Filter>Doc_2_Docx\Mapping</Filter>
</ClCompile>
<ClCompile Include="..\..\DocDocxConverter\HeaderMapping.cpp">
<Filter>Doc_2_Docx\Mapping</Filter>
</ClCompile>
<ClCompile Include="..\..\DocDocxConverter\LanguageIdMapping.cpp">
<Filter>Doc_2_Docx\Mapping</Filter>
</ClCompile>
<ClCompile Include="..\..\DocDocxConverter\MainDocumentMapping.cpp">
<Filter>Doc_2_Docx\Mapping</Filter>
</ClCompile>
<ClCompile Include="..\..\DocDocxConverter\NumberingMapping.cpp">
<Filter>Doc_2_Docx\Mapping</Filter>
</ClCompile>
<ClCompile Include="..\..\DocDocxConverter\ParagraphPropertiesMapping.cpp">
<Filter>Doc_2_Docx\Mapping</Filter>
</ClCompile>
<ClCompile Include="..\..\DocDocxConverter\PropertiesMapping.cpp">
<Filter>Doc_2_Docx\Mapping</Filter>
</ClCompile>
<ClCompile Include="..\..\DocDocxConverter\SectionPropertiesMapping.cpp">
<Filter>Doc_2_Docx\Mapping</Filter>
</ClCompile>
<ClCompile Include="..\..\DocDocxConverter\SettingsMapping.cpp">
<Filter>Doc_2_Docx\Mapping</Filter>
</ClCompile>
<ClCompile Include="..\..\DocDocxConverter\StyleSheetMapping.cpp">
<Filter>Doc_2_Docx\Mapping</Filter>
</ClCompile>
<ClCompile Include="..\..\DocDocxConverter\TableCellPropertiesMapping.cpp">
<Filter>Doc_2_Docx\Mapping</Filter>
</ClCompile>
<ClCompile Include="..\..\DocDocxConverter\TableMapping.cpp">
<Filter>Doc_2_Docx\Mapping</Filter>
</ClCompile>
<ClCompile Include="..\..\DocDocxConverter\TablePropertiesMapping.cpp">
<Filter>Doc_2_Docx\Mapping</Filter>
</ClCompile>
<ClCompile Include="..\..\DocDocxConverter\TableRowPropertiesMapping.cpp">
<Filter>Doc_2_Docx\Mapping</Filter>
</ClCompile>
<ClCompile Include="..\..\DocDocxConverter\TextboxMapping.cpp">
<Filter>Doc_2_Docx\Mapping</Filter>
</ClCompile>
<ClCompile Include="..\..\DocDocxConverter\VMLPictureMapping.cpp">
<Filter>Doc_2_Docx\Mapping</Filter>
</ClCompile>
<ClCompile Include="..\..\DocDocxConverter\VMLShapeMapping.cpp">
<Filter>Doc_2_Docx\Mapping</Filter>
</ClCompile>
<ClCompile Include="..\..\DocDocxConverter\VMLShapeTypeMapping.cpp">
<Filter>Doc_2_Docx\Mapping</Filter>
</ClCompile>
<ClCompile Include="..\DocFormatLib.cpp" />
</ItemGroup>
</Project>

View File

@ -1,201 +0,0 @@
/*
* (c) Copyright Ascensio System SIA 2010-2019
*
* 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 20A-12 Ernesta Birznieka-Upisha
* street, Riga, Latvia, EU, LV-1050.
*
* 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
#include "../Common/Singleton.h"
#include "../pole/pole.h"
namespace ASCDocFileFormat
{
class BinaryStorage
{
struct BinaryStorageData
{
unsigned char* data;
unsigned int size;
BinaryStorageData():
data(NULL), size(0)
{
}
BinaryStorageData( const unsigned char* _data, unsigned int _size ):
data(NULL), size(0)
{
if ( ( _data != NULL ) && ( _size != NULL ) )
{
this->size = _size;
this->data = new unsigned char[this->size];
if ( this->data != NULL )
{
memset( this->data, 0, this->size );
memcpy( this->data, _data, this->size );
}
}
}
BinaryStorageData( const BinaryStorageData& _binaryStorageData ):
data(NULL), size(0)
{
if ( ( _binaryStorageData.data != NULL ) && ( _binaryStorageData.size != NULL ) )
{
this->size = _binaryStorageData.size;
this->data = new unsigned char[this->size];
if ( this->data != NULL )
{
memset( this->data, 0, this->size );
memcpy( this->data, _binaryStorageData.data, this->size );
}
}
}
~BinaryStorageData()
{
RELEASEARRAYOBJECTS (data);
}
};
protected:
POLE::Storage* pIStorage;
POLE::Stream* pIStream;
list<BinaryStorageData> data;
unsigned long offset;
unsigned long startOffset;
bool ownStream;
public:
explicit BinaryStorage( unsigned long _startOffset = 0, POLE::Stream* _pIStream = NULL ):
pIStream(_pIStream), pIStorage(NULL), offset(_startOffset), startOffset(_startOffset), ownStream(false)
{
}
long BindToStorage( POLE::Storage* _pIStorage, const char* _stream_name )
{
HRESULT res = S_FALSE;
pIStorage = _pIStorage;
if ( pIStorage != NULL )
{
if ( ( pIStream != NULL ) && ( this->ownStream ) )
{
delete pIStream;
pIStream = NULL;
}
pIStream = new POLE::Stream(pIStorage,_stream_name,true);
if (pIStream == NULL)return S_FALSE;
//res = this->pIStorage->OpenStream( _stream, NULL, ( STGM_READWRITE | STGM_DIRECT | STGM_SHARE_EXCLUSIVE ), NULL, &(this->pIStream) );
//{
// res = this->pIStorage->CreateStream( _stream, ( STGM_READWRITE | STGM_DIRECT | STGM_SHARE_EXCLUSIVE ), NULL, NULL, &(this->pIStream) );
//}
}
if ( SUCCEEDED( res ) )
{
this->ownStream = true;
}
return res;
}
virtual ~BinaryStorage()
{
if ( ( pIStream != NULL ) && ( ownStream ) )
{
delete pIStream;
pIStream = NULL;
}
}
unsigned long PushData( const unsigned char* _data, unsigned int _size )
{
this->data.push_back( BinaryStorageData( _data, _size ) );
unsigned long dataOffset = this->offset;
this->offset += _size;
return dataOffset;
}
unsigned long ClearData()
{
this->data.clear();
this->offset = this->startOffset;
return this->offset;
}
long WriteData()
{
long res = S_OK;
ULONG writtenSize;
POLE::uint64 pos = startOffset;
if ( pIStream != NULL )
{
for ( list<BinaryStorageData>::const_iterator iter = data.begin(); iter != data.end(); iter++ )
{
pIStream->seek( pos);
writtenSize = pIStream->write( iter->data, iter->size );
pos += iter->size;
}
pIStream->flush();
}
else
{
res = S_FALSE;
}
return res;
}
};
class BinaryStorageSingleton: public Singleton<BinaryStorageSingleton>, public BinaryStorage
{
protected:
BinaryStorageSingleton(): BinaryStorage() {};
virtual ~BinaryStorageSingleton() {};
friend class Singleton<BinaryStorageSingleton>;
};
}

View File

@ -1,109 +0,0 @@
/*
* (c) Copyright Ascensio System SIA 2010-2019
*
* 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 20A-12 Ernesta Birznieka-Upisha
* street, Riga, Latvia, EU, LV-1050.
*
* 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
#include "IParagraphItem.h"
namespace ASCDocFileFormat
{
class BookmarkEnd: public IParagraphItem
{
public:
BookmarkEnd()
{
}
explicit BookmarkEnd (std::wstring& _id) : id (_id)
{
}
virtual ~BookmarkEnd()
{
}
virtual unsigned long GetTextSize() const
{
return 0;
}
virtual std::wstring GetAllText() const
{
return std::wstring();
}
virtual vector<Chpx> GetRunProperties (vector<unsigned int>* runOffsets) const
{
return vector<Chpx>();
}
virtual unsigned int PrlSize() const
{
return 0;
}
virtual vector<IParagraphItemPtr> GetAllRunsCopy( vector<unsigned int>* runOffsets ) const
{
vector<IParagraphItemPtr> paragraphItems;
if ( runOffsets != NULL )
{
paragraphItems.push_back( IParagraphItemPtr( static_cast<IParagraphItem*>(this->Clone()) ) );
runOffsets->push_back( 0 );
}
return paragraphItems;
}
virtual IVirtualConstructor* New() const
{
return new BookmarkEnd();
}
virtual IVirtualConstructor* Clone() const
{
return new BookmarkEnd(*this);
}
//
inline std::wstring GetID() const
{
return id;
}
private:
std::wstring id;
};
}

View File

@ -1,112 +0,0 @@
/*
* (c) Copyright Ascensio System SIA 2010-2019
*
* 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 20A-12 Ernesta Birznieka-Upisha
* street, Riga, Latvia, EU, LV-1050.
*
* 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
#include "IParagraphItem.h"
namespace ASCDocFileFormat
{
class BookmarkStart : public IParagraphItem
{
public:
BookmarkStart()
{
}
explicit BookmarkStart (std::wstring& _id, std::wstring& _name) : id(_id), name(_name)
{
}
virtual ~BookmarkStart()
{
}
virtual unsigned long GetTextSize() const
{
return 0;
}
virtual std::wstring GetAllText() const
{
return std::wstring();
}
virtual vector<Chpx> GetRunProperties( vector<unsigned int>* runOffsets ) const
{
return vector<Chpx>();
}
virtual unsigned int PrlSize () const
{
return 0;
}
virtual vector<IParagraphItemPtr> GetAllRunsCopy( vector<unsigned int>* runOffsets ) const
{
vector<IParagraphItemPtr> paragraphItems;
if ( runOffsets != NULL )
{
paragraphItems.push_back( IParagraphItemPtr( static_cast<IParagraphItem*>(this->Clone()) ) );
runOffsets->push_back( 0 );
}
return paragraphItems;
}
virtual IVirtualConstructor* New() const
{
return new BookmarkStart();
}
virtual IVirtualConstructor* Clone() const
{
return new BookmarkStart(*this);
}
//
inline std::wstring GetID() const
{
return id;
}
inline std::wstring GetName() const
{
return name;
}
private:
std::wstring id;
std::wstring name;
};
}

View File

@ -1,196 +0,0 @@
/*
* (c) Copyright Ascensio System SIA 2010-2019
*
* 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 20A-12 Ernesta Birznieka-Upisha
* street, Riga, Latvia, EU, LV-1050.
*
* 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
#include "COLORREF.h"
namespace ASCDocFileFormat
{
class Brc: public IOperand
{
private:
static const unsigned char SIZE_IN_BYTES = 8;
unsigned char bytes[SIZE_IN_BYTES];
public:
Brc()
{
memset( this->bytes, 0, SIZE_IN_BYTES );
}
explicit Brc( const COLORREF& _cv, unsigned char _dptLineWidth, unsigned char _brcType, unsigned char _dptSpace, bool fShadow, bool fFrame )
{
memset( this->bytes, 0, SIZE_IN_BYTES );
unsigned char cvSize = _cv.Size();
memcpy( this->bytes, (unsigned char*)_cv, cvSize );
unsigned char dptLineWidth = 2;
if ( _dptLineWidth > 2 )
{
dptLineWidth = _dptLineWidth;
}
this->bytes[cvSize] = dptLineWidth;
this->bytes[cvSize + sizeof(dptLineWidth)] = _brcType;
unsigned short dptSpaceAndFlags = 0;
dptSpaceAndFlags |= _dptSpace; //Set dptSpace
if ( fShadow )
{
dptSpaceAndFlags |= 0x20; //Set fShadow
}
if ( fFrame )
{
dptSpaceAndFlags |= 0x40; //Set fFrame
}
FormatUtils::SetBytes( ( this->bytes + cvSize + sizeof(dptLineWidth) + sizeof(_brcType) ), dptSpaceAndFlags );
}
explicit Brc( const unsigned char* _bytes )
{
memset( this->bytes, 0, SIZE_IN_BYTES );
if ( _bytes != NULL )
{
memcpy( this->bytes, _bytes, SIZE_IN_BYTES );
}
}
Brc( const Brc& _brc )
{
memset( this->bytes, 0, SIZE_IN_BYTES );
memcpy( this->bytes, _brc.bytes, SIZE_IN_BYTES );
}
Brc& operator = ( const Brc& _brc )
{
if ( this != &_brc )
{
memset( this->bytes, 0, SIZE_IN_BYTES );
memcpy( this->bytes, _brc.bytes, SIZE_IN_BYTES );
}
return *this;
}
virtual ~Brc()
{
}
virtual operator unsigned char*() const
{
return (unsigned char*)this->bytes;
}
virtual operator const unsigned char*() const
{
return (const unsigned char*)this->bytes;
}
virtual unsigned int Size() const
{
return sizeof(this->bytes);
}
};
class BrcOperand: public IOperand
{
private:
static const unsigned char SIZE_IN_BYTES = 9;
unsigned char bytes[SIZE_IN_BYTES];
public:
BrcOperand()
{
memset( this->bytes, 0, SIZE_IN_BYTES );
this->bytes[0] = ( SIZE_IN_BYTES - 1 );
}
explicit BrcOperand( const Brc& _brc )
{
memset( this->bytes, 0, SIZE_IN_BYTES );
this->bytes[0] = ( SIZE_IN_BYTES - 1 );
memcpy( ( this->bytes + sizeof(unsigned char) ), (unsigned char*)_brc, _brc.Size() );
}
BrcOperand( const BrcOperand& _brcOperand )
{
memset( this->bytes, 0, SIZE_IN_BYTES );
memcpy( this->bytes, _brcOperand.bytes, SIZE_IN_BYTES );
}
BrcOperand& operator = ( const BrcOperand& _brcOperand )
{
if ( this != &_brcOperand )
{
memset( this->bytes, 0, SIZE_IN_BYTES );
memcpy( this->bytes, _brcOperand.bytes, SIZE_IN_BYTES );
}
return *this;
}
virtual ~BrcOperand()
{
}
virtual operator unsigned char*() const
{
return (unsigned char*)this->bytes;
}
virtual operator const unsigned char*() const
{
return (const unsigned char*)this->bytes;
}
virtual unsigned int Size() const
{
return sizeof(this->bytes);
}
};
}

View File

@ -1,133 +0,0 @@
/*
* (c) Copyright Ascensio System SIA 2010-2019
*
* 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 20A-12 Ernesta Birznieka-Upisha
* street, Riga, Latvia, EU, LV-1050.
*
* 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 ASCDocFileFormat
{
union Brc80
{
private:
struct
{
unsigned int dptLineWidth:8;
unsigned int brcType:8;
unsigned int ico:8;
unsigned int dptSpace:5;
unsigned int fShadow:1;
unsigned int fFrame:1;
unsigned int reserved:1;
} Brc80Struct;
unsigned int Brc80Int;
public:
Brc80() : Brc80Int(0xFFFFFFFF)
{
}
explicit Brc80( unsigned int _brc80 ) : Brc80Int(_brc80)
{
}
explicit Brc80( unsigned char _dptLineWidth, unsigned char _brcType, unsigned char _ico, unsigned char _dptSpace, bool fShadow, bool fFrame )
{
if ( _dptLineWidth < 2 )
{
this->Brc80Struct.dptLineWidth = 2;
}
else
{
this->Brc80Struct.dptLineWidth = _dptLineWidth;
}
if ( _brcType == 0x1A )
{
this->Brc80Struct.brcType = 0x18;
}
else if ( _brcType == 0x1B )
{
this->Brc80Struct.brcType = 0x19;
}
else
{
this->Brc80Struct.brcType = _brcType;
}
if ( _ico >= 0x11 )
{
this->Brc80Struct.ico = 0x10;
}
else
{
this->Brc80Struct.ico = _ico;
}
this->Brc80Struct.dptSpace = _dptSpace;
( fShadow ) ? ( this->Brc80Struct.fShadow = 1 ) : ( this->Brc80Struct.fShadow = 0 );
( fFrame ) ? ( this->Brc80Struct.fFrame = 1 ) : ( this->Brc80Struct.fFrame = 0 );
this->Brc80Struct.reserved = 0;
}
operator unsigned int() const
{
return Brc80Int;
}
};
class Brc80MayBeNil
{
private:
Brc80 brc80;
public:
Brc80MayBeNil():
brc80()
{
}
explicit Brc80MayBeNil( unsigned int _brc80MayBeNil ):
brc80(_brc80MayBeNil)
{
}
Brc80MayBeNil( unsigned char _dptLineWidth, unsigned char _brcType, unsigned char _ico, unsigned char _dptSpace, bool fShadow, bool fFrame ): brc80( _dptLineWidth, _brcType, _ico, _dptSpace, fShadow, fFrame )
{
}
operator unsigned int() const
{
return this->brc80;
}
};
}

View File

@ -1,127 +0,0 @@
/*
* (c) Copyright Ascensio System SIA 2010-2019
*
* 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 20A-12 Ernesta Birznieka-Upisha
* street, Riga, Latvia, EU, LV-1050.
*
* 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 ASCDocFileFormat
{
class BxPap: public IStreamWriter
{
public:
static const unsigned char RESERVED_SIZE = 12;
private:
unsigned char bOffset; //An unsigned integer that specifies the offset of a PapxInFkp in a PapxFkp. The offset of the PapxInFkp is bOffset*2.
unsigned char reserved[RESERVED_SIZE];
public:
BxPap():
bOffset(0)
{
memset( this->reserved, 0, RESERVED_SIZE );
}
BxPap( unsigned char _bOffset, const unsigned char* _reserved = NULL ):
bOffset(_bOffset)
{
if ( _reserved != NULL )
{
memcpy( this->reserved, _reserved, RESERVED_SIZE );
}
else
{
memset( this->reserved, 0, RESERVED_SIZE );
}
}
BxPap( const BxPap& bxp ):
bOffset(bxp.bOffset)
{
memcpy( this->reserved, bxp.reserved, RESERVED_SIZE );
}
virtual ~BxPap()
{
}
bool operator == ( const BxPap& bxp )
{
return ( ( this->bOffset == bxp.bOffset ) && ( memcmp( this->reserved, bxp.reserved, RESERVED_SIZE ) == 0 ) );
}
bool operator != ( const BxPap& bxp )
{
return !( *this == bxp );
}
BxPap& operator = ( const BxPap& bxp )
{
if ( *this != bxp )
{
this->bOffset = bxp.bOffset;
memcpy( this->reserved, bxp.reserved, RESERVED_SIZE );
}
return *this;
}
virtual unsigned char* GetBytes( unsigned long* size ) const
{
unsigned char* bytes = NULL;
if ( size != NULL )
{
*size = sizeof(this->bOffset) + RESERVED_SIZE;
bytes = new unsigned char[*size];
if ( bytes != NULL )
{
memset( bytes, 0, *size );
bytes[0] = this->bOffset;
memcpy( ( bytes + sizeof(this->bOffset) ), this->reserved, RESERVED_SIZE );
}
}
return bytes;
}
unsigned long Size() const
{
return ( sizeof(this->bOffset) + RESERVED_SIZE );
}
unsigned char GetOffset() const
{
return this->bOffset;
}
};
}

View File

@ -1,130 +0,0 @@
/*
* (c) Copyright Ascensio System SIA 2010-2019
*
* 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 20A-12 Ernesta Birznieka-Upisha
* street, Riga, Latvia, EU, LV-1050.
*
* 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
#include "../Common/IOperand.h"
namespace ASCDocFileFormat
{
class COLORREF : public IOperand
{
public:
static const int cvAuto = 0xFF000000;
COLORREF() : red(0), green(0), blue(0), fAuto(0xFF)
{
this->bytes[0] = this->red;
this->bytes[1] = this->green;
this->bytes[2] = this->blue;
this->bytes[3] = this->fAuto;
}
explicit COLORREF( unsigned char _red, unsigned char _green, unsigned char _blue, unsigned char _fAuto = 0xFF ) : red(_red), green(_green), blue(_blue), fAuto(_fAuto)
{
this->bytes[0] = this->red;
this->bytes[1] = this->green;
this->bytes[2] = this->blue;
this->bytes[3] = this->fAuto;
}
explicit COLORREF( unsigned int _value ) : red(0), green(0), blue(0), fAuto(0)
{
this->red = ( _value >> 16 ) & 0x000000FF;
this->green = ( _value >> 8 ) & 0x000000FF;
this->blue = _value & 0x000000FF;
this->fAuto = ( _value >> 24 ) & 0x000000FF;
this->bytes[0] = this->red;
this->bytes[1] = this->green;
this->bytes[2] = this->blue;
this->bytes[3] = this->fAuto;
}
COLORREF( const COLORREF& _colorref ) : red(_colorref.red), green(_colorref.green), blue(_colorref.blue), fAuto(_colorref.fAuto)
{
this->bytes[0] = this->red;
this->bytes[1] = this->green;
this->bytes[2] = this->blue;
this->bytes[3] = this->fAuto;
}
unsigned char GetRed() const
{
return this->red;
}
unsigned char GetGreen() const
{
return this->green;
}
unsigned char GetBlue() const
{
return this->blue;
}
unsigned char GetAuto() const
{
return this->fAuto;
}
virtual ~COLORREF()
{
}
virtual operator unsigned char*() const
{
return (unsigned char*)this->bytes;
}
virtual operator const unsigned char*() const
{
return (const unsigned char*)this->bytes;
}
virtual unsigned int Size() const
{
return sizeof(this->bytes);
}
private:
unsigned char red;
unsigned char green;
unsigned char blue;
unsigned char fAuto;
static const unsigned char SIZE_IN_BYTES = 4;
unsigned char bytes[SIZE_IN_BYTES];
};
}

View File

@ -1,108 +0,0 @@
/*
* (c) Copyright Ascensio System SIA 2010-2019
*
* 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 20A-12 Ernesta Birznieka-Upisha
* street, Riga, Latvia, EU, LV-1050.
*
* 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 ASCDocFileFormat
{
class CP
{
private:
unsigned int cp;
public:
CP():
cp(0)
{
}
explicit CP( unsigned int _cp )
{
if ( _cp >= 0x7FFFFFFF )
{
this->cp = 0x7FFFFFFE;
}
else
{
this->cp = _cp;
}
}
~CP()
{
}
bool operator == ( const CP& _cp )
{
return ( this->cp == _cp.cp );
}
bool operator != ( const CP& _cp )
{
return ( this->cp != _cp.cp );
}
bool operator < ( const CP& _cp )
{
return ( this->cp < _cp.cp );
}
bool operator <= ( const CP& _cp )
{
return ( this->cp <= _cp.cp );
}
bool operator > ( const CP& _cp )
{
return ( this->cp > _cp.cp );
}
bool operator >= ( const CP& _cp )
{
return ( this->cp >= _cp.cp );
}
CP& operator = ( const CP& _cp )
{
if ( this != &_cp )
{
this->cp = _cp.cp;
}
return *this;
}
operator unsigned int() const
{
return this->cp;
}
};
}

View File

@ -1,146 +0,0 @@
/*
* (c) Copyright Ascensio System SIA 2010-2019
*
* 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 20A-12 Ernesta Birznieka-Upisha
* street, Riga, Latvia, EU, LV-1050.
*
* 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
#include "ItcFirstLim.h"
#include "Constants.h"
#include "../Common/IOperand.h"
namespace ASCDocFileFormat
{
class CSSA: public IOperand
{
private:
ItcFirstLim itc;
Constants::Fbrc grfbrc;
Constants::Fts ftsWidth;
unsigned short wWidth;
static const unsigned char SIZE_IN_BYTES = 6;
unsigned char bytes[SIZE_IN_BYTES];
public:
explicit CSSA( ItcFirstLim _itc, Constants::Fbrc _grfbrc, Constants::Fts _ftsWidth, unsigned short _wWidth ): itc(_itc), grfbrc(_grfbrc), ftsWidth(_ftsWidth)
{
if ( this->ftsWidth == Constants::ftsNil )
{
this->wWidth = 0;
}
else
{
this->wWidth = _wWidth;
}
memset( this->bytes, 0, sizeof(this->bytes) );
memcpy( this->bytes, (void*)(&this->itc), sizeof(this->itc) );
memcpy( ( this->bytes + sizeof(this->itc) ), &(this->grfbrc), sizeof(unsigned char) );
memcpy( ( this->bytes + sizeof(this->itc) + sizeof(unsigned char) ), &(this->ftsWidth), sizeof(unsigned char) );
memcpy( ( this->bytes + sizeof(this->itc) + sizeof(unsigned char) + sizeof(unsigned char) ), &(this->wWidth), sizeof(this->wWidth) );
}
CSSA( const CSSA& _cssa ):
itc(_cssa.itc), grfbrc(_cssa.grfbrc), ftsWidth(_cssa.ftsWidth), wWidth(_cssa.wWidth)
{
memset( this->bytes, 0, sizeof(this->bytes) );
memcpy( this->bytes, (void*)(&this->itc), sizeof(this->itc) );
memcpy( ( this->bytes + sizeof(this->itc) ), &(this->grfbrc), sizeof(unsigned char) );
memcpy( ( this->bytes + sizeof(this->itc) + sizeof(unsigned char) ), &(this->ftsWidth), sizeof(unsigned char) );
memcpy( ( this->bytes + sizeof(this->itc) + sizeof(unsigned char) + sizeof(unsigned char) ), &(this->wWidth), sizeof(this->wWidth) );
}
virtual ~CSSA()
{
}
virtual operator unsigned char*() const
{
return (unsigned char*)this->bytes;
}
virtual operator const unsigned char*() const
{
return (const unsigned char*)this->bytes;
}
virtual unsigned int Size() const
{
return sizeof(this->bytes);
}
};
class CSSAOperand: public IOperand
{
private:
CSSA cssa;
unsigned char *bytes;
public:
explicit CSSAOperand( const CSSA& _cssa ): cssa(_cssa), bytes(NULL)
{
unsigned char cssaSize = this->cssa.Size();
this->bytes = new unsigned char[cssaSize + 1];
memset( this->bytes, 0, ( cssaSize + 1 ) );
this->bytes[0] = cssaSize;
memcpy( ( this->bytes + sizeof(unsigned char) ), this->cssa, cssaSize );
}
CSSAOperand( const CSSAOperand& _CSSAOperand ): cssa(_CSSAOperand.cssa), bytes(NULL)
{
unsigned char cssaSize = this->cssa.Size();
this->bytes = new unsigned char[cssaSize + 1];
memset( this->bytes, 0, ( cssaSize + 1 ) );
this->bytes[0] = cssaSize;
memcpy( ( this->bytes + sizeof(unsigned char) ), this->cssa, cssaSize );
}
virtual ~CSSAOperand()
{
RELEASEARRAYOBJECTS (bytes);
}
virtual operator unsigned char*() const
{
return this->bytes;
}
virtual operator const unsigned char*() const
{
return (const unsigned char*)this->bytes;
}
virtual unsigned int Size() const
{
return ( this->cssa.Size() + 1 );
}
};
}

View File

@ -1,88 +0,0 @@
/*
* (c) Copyright Ascensio System SIA 2010-2019
*
* 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 20A-12 Ernesta Birznieka-Upisha
* street, Riga, Latvia, EU, LV-1050.
*
* 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 ASCDocFileFormat
{
class CSymbolOperand: public IOperand
{
private:
static const unsigned char SIZE_IN_BYTES = 4;
unsigned char bytes[SIZE_IN_BYTES];
unsigned short ftc;
wchar_t xchar;
public:
CSymbolOperand():
ftc(0), xchar(0)
{
memset( this->bytes, 0, SIZE_IN_BYTES );
}
explicit CSymbolOperand( unsigned short _ftc, wchar_t _xchar ):
ftc(_ftc), xchar(_xchar)
{
memset( this->bytes, 0, SIZE_IN_BYTES );
FormatUtils::SetBytes( this->bytes, this->ftc );
FormatUtils::SetBytes( ( this->bytes + sizeof(this->ftc) ), (unsigned short)this->xchar );
}
CSymbolOperand( const CSymbolOperand& _cSymbolOperand ):
ftc(_cSymbolOperand.ftc), xchar(_cSymbolOperand.xchar)
{
memset( this->bytes, 0, sizeof(this->bytes) );
memcpy( this->bytes, _cSymbolOperand.bytes, sizeof(_cSymbolOperand.bytes) );
}
virtual ~CSymbolOperand()
{
}
virtual operator unsigned char*() const
{
return (unsigned char*)this->bytes;
}
virtual operator const unsigned char*() const
{
return (const unsigned char*)this->bytes;
}
virtual unsigned int Size() const
{
return sizeof(this->bytes);
}
};
}

View File

@ -1,89 +0,0 @@
/*
* (c) Copyright Ascensio System SIA 2010-2019
*
* 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 20A-12 Ernesta Birznieka-Upisha
* street, Riga, Latvia, EU, LV-1050.
*
* 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
#include "ItcFirstLim.h"
#include "Constants.h"
namespace ASCDocFileFormat
{
class CellRangeVertAlign: public IOperand
{
private:
static const unsigned char SIZE_IN_BYTES = 4;
unsigned char bytes[SIZE_IN_BYTES];
public:
CellRangeVertAlign()
{
memset( this->bytes, 0, SIZE_IN_BYTES );
this->bytes[0] = ( SIZE_IN_BYTES - 1 );
}
explicit CellRangeVertAlign( const ItcFirstLim& _itc, Constants::VerticalAlign _valign )
{
memset( this->bytes, 0, SIZE_IN_BYTES );
this->bytes[0] = ( SIZE_IN_BYTES - 1 );
FormatUtils::SetBytes( ( this->bytes + sizeof(unsigned char) ), (short)_itc );
this->bytes[sizeof(unsigned char) + sizeof(short)] = (unsigned char)_valign;
}
CellRangeVertAlign( const CellRangeVertAlign& _cellRangeVertAlign )
{
memset( this->bytes, 0, SIZE_IN_BYTES );
memcpy( this->bytes, _cellRangeVertAlign.bytes, SIZE_IN_BYTES );
}
virtual ~CellRangeVertAlign()
{
}
virtual unsigned int Size() const
{
return (unsigned int)sizeof(this->bytes);
}
virtual operator unsigned char*() const
{
return (unsigned char*)(this->bytes);
}
virtual operator const unsigned char*() const
{
return (const unsigned char*)(this->bytes);
}
};
}

View File

@ -1,169 +0,0 @@
/*
* (c) Copyright Ascensio System SIA 2010-2019
*
* 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 20A-12 Ernesta Birznieka-Upisha
* street, Riga, Latvia, EU, LV-1050.
*
* 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
#include "Prl.h"
#include <vector>
namespace ASCDocFileFormat
{
class Chpx : public IStreamWriter
{
public:
Chpx() : cb(0)
{
}
Chpx(const std::vector<Prl>& _grpprl) : cb(0)
{
for (unsigned int i = 0; i < _grpprl.size(); ++i)
{
unsigned char grpprlSize = (unsigned char)_grpprl[i].Size();
if( this->cb + grpprlSize >= 256 )
break;
this->cb += grpprlSize;
this->grpprl.push_back( _grpprl[i] );
}
}
Chpx(const Chpx& chpx) : cb(0)
{
this->cb = chpx.cb;
for ( unsigned int i = 0; i < chpx.grpprl.size(); i++ )
{
this->grpprl.push_back( chpx.grpprl[i] );
}
}
virtual ~Chpx()
{
}
bool operator == (const Chpx& chpx)
{
if ( ( this->cb != chpx.cb ) || ( this->grpprl.size() != chpx.grpprl.size() ) )
{
return false;
}
else
{
unsigned int minPrlCount = min( this->grpprl.size(), chpx.grpprl.size() );
for ( unsigned int i = 0; i < minPrlCount; i++ )
{
if ( this->grpprl[i] != chpx.grpprl[i] )
{
return false;
}
}
}
return true;
}
bool operator != (const Chpx& chpx)
{
return !( *this == chpx );
}
Chpx& operator = (const Chpx& chpx)
{
if ( *this != chpx )
{
this->cb = chpx.cb;
this->grpprl.clear();
for ( unsigned int i = 0; i < chpx.grpprl.size(); i++ )
{
this->grpprl.push_back( chpx.grpprl[i] );
}
}
return *this;
}
virtual unsigned char* GetBytes(unsigned long* size) const
{
unsigned char* bytes = NULL;
if ( size != NULL )
{
*size = sizeof(this->cb) + this->cb;
bytes = new unsigned char[*size];
if ( bytes != NULL )
{
memset( bytes, 0, *size );
bytes[0] = this->cb;
unsigned char* prlBytes = NULL;
unsigned long prlSize = 0;
unsigned int prlPrevSize = 0;
for ( unsigned int i = 0; i < this->grpprl.size(); i++ )
{
prlBytes = this->grpprl[i].GetBytes( &prlSize );
if ( prlBytes != NULL )
{
memcpy( ( bytes + sizeof(this->cb) + prlPrevSize ), prlBytes, prlSize );
prlPrevSize += prlSize;
RELEASEARRAYOBJECTS (prlBytes);
}
}
}
}
return bytes;
}
unsigned long Size() const
{
return ( sizeof(this->cb) + this->cb );
}
inline size_t GetPrlSize ()
{
return grpprl.size();
}
private:
unsigned char cb; //Size in bytes of the grpprl
std::vector<Prl> grpprl;
};
}

View File

@ -1,171 +0,0 @@
/*
* (c) Copyright Ascensio System SIA 2010-2019
*
* 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 20A-12 Ernesta Birznieka-Upisha
* street, Riga, Latvia, EU, LV-1050.
*
* 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
#include "Chpx.h"
namespace ASCDocFileFormat
{
class ChpxFkp : public IStreamWriter
{
public:
static const unsigned short CHPX_FKP_SIZE = 512;
static const unsigned char CHPX_FKP_MAX_CRUN = 0x65;
ChpxFkp(const vector<unsigned int>& inRgfc, const vector<Chpx>& arrChpxs) : crun(0)
{
crun = arrChpxs.size();
rgfc = inRgfc;
unsigned long chpxSizeInBytes = 0;
chpxs.push_back( arrChpxs[0] );
chpxSizeInBytes = chpxs[0].Size();
rgb.push_back( (unsigned char)( ( CHPX_FKP_SIZE - 1 - chpxSizeInBytes ) / 2 ) );
for (int i = 1; i < crun; ++i)
{
chpxs.push_back( arrChpxs[i] );
chpxSizeInBytes = chpxs[i].Size();
rgb.push_back( (unsigned char)( rgb[i-1] - 1 - ( chpxSizeInBytes / 2 ) ) );
}
}
virtual ~ChpxFkp()
{
}
//
virtual unsigned char* GetBytes(unsigned long* size) const
{
unsigned char* bytes = NULL;
if ( size != NULL )
{
*size = 512;
bytes = new unsigned char[*size];
if ( bytes != NULL )
{
memset( bytes, 0, *size );
int i = 0;
for (; i < (crun + 1); ++i)
{
FormatUtils::SetBytes((bytes + (i * sizeof(rgfc[i]))), (int)rgfc[i]);
}
i = (crun + 1) * sizeof(rgfc[i]);
unsigned char *chpxsbytes = NULL;
unsigned long chpxssize = 0;
for (int j = 0; j < crun; ++j, ++i)
{
bytes[i] = rgb[j];
unsigned char *chpxsbytes = chpxs[j].GetBytes(&chpxssize);
if ( chpxsbytes != NULL )
{
memcpy((bytes + ( bytes[i] * 2 ) ), chpxsbytes, chpxssize);
RELEASEARRAYOBJECTS (chpxsbytes);
}
}
bytes[511] = crun;
}
}
return bytes;
}
inline unsigned int GetEndOffset() const
{
return (*(rgfc.end() - 1));
}
//
static vector<ChpxFkp> GetAllChpxFkps(const vector<unsigned int>& inRgfc, const vector<Chpx>& arrChpxs)
{
vector<ChpxFkp> allChpxFkps;
vector<unsigned int> rgfc;
vector<Chpx> chpxs;
rgfc.push_back( inRgfc[0] );
unsigned int allChpxsSize = 0;
unsigned int rgfcCount = 2;
for (unsigned int i = 0; i < arrChpxs.size(); ++i)
{
unsigned int chpxSize = arrChpxs[i].Size();
allChpxsSize += chpxSize;
//Check if all rgfcs and rgbs + Chpxs less then 512 bytes
if ( ( ( rgfcCount * sizeof(unsigned int) + ( rgfcCount - 1 ) * sizeof(unsigned int) ) >= ( CHPX_FKP_SIZE / 2 ) ) ||
( allChpxsSize >= ( CHPX_FKP_SIZE / 2 ) ) )
{
ChpxFkp chpxFkp(rgfc, chpxs);
allChpxFkps.push_back(chpxFkp);
rgfc.clear();
chpxs.clear();
rgfc.push_back(inRgfc[i]);
allChpxsSize = chpxSize;
rgfcCount = 2;
}
rgfc.push_back(inRgfc[i+1]);
chpxs.push_back(arrChpxs[i]);
++rgfcCount;
}
if (!rgfc.empty() && !chpxs.empty())
{
ChpxFkp chpxFkp(rgfc, chpxs);
allChpxFkps.push_back(chpxFkp);
rgfc.clear();
chpxs.clear();
}
return allChpxFkps;
}
private:
unsigned char crun;
vector<unsigned int> rgfc;
vector<unsigned char> rgb;
vector<Chpx> chpxs;
};
}

View File

@ -1,435 +0,0 @@
/*
* (c) Copyright Ascensio System SIA 2010-2019
*
* 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 20A-12 Ernesta Birznieka-Upisha
* street, Riga, Latvia, EU, LV-1050.
*
* 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
#include "Prl.h"
namespace ASCDocFileFormat
{
class PrcData: public IOperand
{
public:
PrcData( const vector<Prl>& _grpPrl ) : cbGrpprl(0), bytes(NULL), sizeInBytes(0)
{
short _cbGrpprl = 0;
for ( vector<Prl>::const_iterator iter = _grpPrl.begin(); iter != _grpPrl.end(); iter++ )
{
_cbGrpprl += (short)iter->Size();
if ( _cbGrpprl > 0x3FA2 )
{
break;
}
this->GrpPrl.push_back( *iter );
this->cbGrpprl = _cbGrpprl;
}
this->sizeInBytes = (unsigned int)( sizeof(this->cbGrpprl) + this->cbGrpprl );
if ( this->sizeInBytes > 0 )
{
this->bytes = new unsigned char[this->sizeInBytes];
if ( this->bytes != NULL )
{
memset( this->bytes, 0, this->sizeInBytes );
FormatUtils::SetBytes( this->bytes, this->cbGrpprl );
unsigned char* prlBytes = NULL;
unsigned long prlSize = 0;
unsigned int prlPrevSize = 0;
for ( unsigned int i = 0; i < this->GrpPrl.size(); i++ )
{
prlBytes = this->GrpPrl[i].GetBytes( &prlSize );
if ( prlBytes != NULL )
{
memcpy( ( this->bytes + sizeof(this->cbGrpprl) + prlPrevSize ), prlBytes, prlSize );
prlPrevSize += prlSize;
RELEASEARRAYOBJECTS (prlBytes);
}
}
}
}
}
PrcData( const PrcData& _prcData ) : cbGrpprl(_prcData.cbGrpprl), GrpPrl(_prcData.GrpPrl), bytes(NULL), sizeInBytes(_prcData.sizeInBytes)
{
if ( this->sizeInBytes != 0 )
{
this->bytes = new unsigned char[this->sizeInBytes];
if ( this->bytes != NULL )
{
memset( this->bytes, 0, this->sizeInBytes );
memcpy( this->bytes, _prcData.bytes, this->sizeInBytes );
}
}
}
virtual ~PrcData()
{
RELEASEARRAYOBJECTS (bytes);
}
virtual operator unsigned char*() const
{
return (unsigned char*)this->bytes;
}
virtual operator const unsigned char*() const
{
return (const unsigned char*)this->bytes;
}
virtual unsigned int Size() const
{
return this->sizeInBytes;
}
private:
short cbGrpprl;
vector<Prl> GrpPrl;
unsigned char* bytes;
unsigned int sizeInBytes;
};
class Prc: public IStreamWriter
{
public:
Prc( const PrcData& _prcData ) : data(_prcData)
{
}
Prc( const Prc& _prc ) : data(_prc.data)
{
}
virtual ~Prc()
{
}
virtual unsigned char* GetBytes( unsigned long* size ) const
{
unsigned char* bytes = NULL;
if ( size != NULL )
{
*size = sizeof(clxt) + this->data.Size();
bytes = new unsigned char[*size];
if ( bytes != NULL )
{
memset( bytes, 0, *size );
bytes[0] = clxt;
memcpy( ( bytes + sizeof(clxt) ), (unsigned char*)this->data, this->data.Size() );
}
}
return bytes;
}
unsigned int Size() const
{
return (unsigned int)( sizeof(clxt) + this->data.Size() );
}
private:
static const unsigned char clxt = 0x01;
PrcData data;
};
union FcCompressed
{
struct
{
unsigned int fc:30;
unsigned int fCompressed:1;
unsigned int r1:1;
} FcCompressedStruct;
unsigned int FcCompressedInt;
FcCompressed( unsigned int _fcCompressedInt ):
FcCompressedInt(_fcCompressedInt)
{
}
static const unsigned int SIZE_IN_BYTES = sizeof(unsigned int);
};
union Prm
{
struct
{
unsigned int fComplex:1; //MUST be 0
unsigned int isprm:7;
unsigned int val:8;
} Prm0Struct;
struct
{
unsigned int fComplex:1; // MUST be 1
unsigned int igrpprl:15;
} Prm1Struct;
short PrmShort;
Prm( short _prmShort):
PrmShort(_prmShort)
{
}
static const unsigned int SIZE_IN_BYTES = sizeof(short);
};
struct Pcd
{
union
{
struct
{
unsigned int fNoParaLast:1;
unsigned int fR1:1;
unsigned int fDirty:1;
unsigned int fR2:13;
} NoParaStruct;
short NoParaShort;
} NoPara;
FcCompressed fc;
Prm prm;
Pcd( bool _fNoParaLast, FcCompressed _fc, Prm _prm ):
fc(_fc), prm(_prm)
{
this->NoPara.NoParaShort = 0;
( _fNoParaLast ) ? ( this->NoPara.NoParaStruct.fNoParaLast = 1 ) : ( this->NoPara.NoParaStruct.fNoParaLast = 0 );
}
static const unsigned int SIZE_IN_BYTES = ( sizeof(short) + FcCompressed::SIZE_IN_BYTES + Prm::SIZE_IN_BYTES );
};
class PlcPcd : public IStreamWriter
{
public:
PlcPcd( const vector<unsigned int>& _aCP, const vector<Pcd>& _aPcd ) : aCP(_aCP), aPcd(_aPcd), sizeInBytes(0)
{
this->sizeInBytes = ( ( this->aCP.size() * sizeof(unsigned int) ) + ( this->aPcd.size() * Pcd::SIZE_IN_BYTES ) );
}
virtual unsigned char* GetBytes( unsigned long* size ) const
{
unsigned char* bytes = NULL;
if ( size != NULL )
{
*size = this->sizeInBytes;
bytes = new unsigned char[*size];
if ( bytes != NULL )
{
memset( bytes, 0, *size );
unsigned int i = 0;
for ( vector<unsigned int>::const_iterator iter = this->aCP.begin(); iter != this->aCP.end(); iter++ )
{
FormatUtils::SetBytes( ( bytes + i ), (int)(*iter) );
i += sizeof(unsigned int);
}
for ( vector<Pcd>::const_iterator iter = this->aPcd.begin(); iter != this->aPcd.end(); iter++ )
{
FormatUtils::SetBytes( ( bytes + i ), iter->NoPara.NoParaShort );
i += sizeof(iter->NoPara.NoParaShort);
FormatUtils::SetBytes( ( bytes + i ), (int)iter->fc.FcCompressedInt );
i += sizeof(iter->fc.FcCompressedInt);
FormatUtils::SetBytes( ( bytes + i ), iter->prm.PrmShort );
i += sizeof(iter->prm.PrmShort);
}
}
}
return bytes;
}
unsigned int Size() const
{
return this->sizeInBytes;
}
private:
vector<unsigned int> aCP;
vector<Pcd> aPcd;
unsigned int sizeInBytes;
};
class Pcdt : public IStreamWriter
{
public:
Pcdt( const PlcPcd& _plcPcd ) : lcb(0), plcPcd(_plcPcd)
{
this->lcb = this->plcPcd.Size();
}
Pcdt( const vector<unsigned int>& _aCP, const vector<Pcd>& _aPcd ): lcb(0), plcPcd( _aCP, _aPcd )
{
this->lcb = this->plcPcd.Size();
}
virtual unsigned char* GetBytes( unsigned long* size ) const
{
unsigned char* bytes = NULL;
if ( size != NULL )
{
*size = ( sizeof(clxt) + sizeof(this->lcb) + this->plcPcd.Size() );
bytes = new unsigned char[*size];
if ( bytes != NULL )
{
memset( bytes, 0, *size );
bytes[0] = clxt;
FormatUtils::SetBytes( ( bytes + sizeof(clxt) ), (int)this->lcb );
unsigned char* plcPcdBytes = NULL;
unsigned long plcPcdSize = 0;
plcPcdBytes = this->plcPcd.GetBytes( &plcPcdSize );
if ( plcPcdBytes != NULL )
{
int size = sizeof(clxt) + sizeof(this->lcb);
memcpy( ( bytes + sizeof(clxt) + sizeof(this->lcb) ), plcPcdBytes, plcPcdSize );
RELEASEARRAYOBJECTS (plcPcdBytes);
}
}
}
return bytes;
}
unsigned int Size() const
{
return ( sizeof(clxt) + sizeof(this->lcb) + this->plcPcd.Size() );
}
private:
static const unsigned char clxt = 0x02;
unsigned int lcb;
PlcPcd plcPcd;
};
class Clx : public IStreamWriter
{
public:
Clx (const vector<Prc>* _rgPrc, const Pcdt& _pcdt ) : pcdt(_pcdt), sizeInBytes(0)
{
if ( _rgPrc != NULL )
{
this->RgPrc = *_rgPrc;
}
this->sizeInBytes = this->pcdt.Size();
for ( vector<Prc>::iterator iter = this->RgPrc.begin(); iter != this->RgPrc.end(); iter++ )
{
this->sizeInBytes += iter->Size();
}
}
virtual unsigned char* GetBytes( unsigned long* size ) const
{
unsigned char* bytes = NULL;
if ( size != NULL )
{
*size = this->sizeInBytes;
bytes = new unsigned char[*size];
if ( bytes != NULL )
{
memset( bytes, 0, *size );
unsigned char* prcBytes = NULL;
unsigned long prcSize = 0;
unsigned int prcPrevSize = 0;
for ( unsigned int i = 0; i < this->RgPrc.size(); i++ )
{
prcBytes = this->RgPrc[i].GetBytes( &prcSize );
if ( prcBytes != NULL )
{
memcpy( ( bytes + prcPrevSize ), prcBytes, prcSize );
prcPrevSize += prcSize;
RELEASEARRAYOBJECTS (prcBytes);
}
}
unsigned char* pcdtBytes = NULL;
unsigned long pcdtSize = 0;
pcdtBytes = this->pcdt.GetBytes( &pcdtSize );
if ( pcdtBytes != NULL )
{
memcpy( ( bytes + prcPrevSize ), pcdtBytes, pcdtSize );
RELEASEARRAYOBJECTS (pcdtBytes);
}
}
}
return bytes;
}
unsigned int Size() const
{
return this->sizeInBytes;
}
private:
vector<Prc> RgPrc;
Pcdt pcdt;
unsigned int sizeInBytes;
};
}

View File

@ -1,428 +0,0 @@
/*
* (c) Copyright Ascensio System SIA 2010-2019
*
* 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 20A-12 Ernesta Birznieka-Upisha
* street, Riga, Latvia, EU, LV-1050.
*
* 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
//For the font character set and a Panose.
namespace ASCDocFileFormat
{
namespace Constants
{
enum HorzMerge
{
horzMergeNotMerged = 0,
horzMergeHorizontallyMerged = 1,
horzMergeFirstCell2 = 2,
horzMergeFirstCell3 = 3
};
enum TextFlow
{
grpfTFlrtb = 0x0000,
grpfTFtbrl = 0x0001,
grpfTFbtlr = 0x0003,
grpfTFlrtbv = 0x0004,
grpfTFtbrlv = 0x0005
};
enum VerticalMergeFlag
{
fvmClear = 0x00,
fvmMerge = 0x01,
fvmRestart = 0x03
};
enum VerticalAlign
{
vaTop = 0x00,
vaCenter = 0x01,
vaBottom = 0x02
};
enum Fts
{
ftsNil = 0x00,
ftsAuto = 0x01,
ftsPercent = 0x02,
ftsDxa = 0x03,
ftsDxaSys = 0x13 //???
};
enum Fbrc
{
fbrcTop = 0x01,
fbrcLeft = 0x02,
fbrcBottom = 0x04,
fbrcRight = 0x08
};
enum Itl
{
itlNil = -1,
itlNone = 0
};
enum CharacterPitch
{
characterPitchDefault = 0x00,
characterPitchFixed = 0x01,
characterPitchVariable = 0x02
};
enum FontFamilyType
{
fontFamilyTypeUnspecified = 0x00,
fontFamilyTypeRomanSerif = 0x01,
fontFamilyTypeSwissSansSerif = 0x02,
fontFamilyTypeModernMonospace = 0x03,
fontFamilyTypeScriptCursive = 0x04,
fontFamilyTypeDecorativeFantasy = 0x05
};
enum StyleType
{
styleTypeParagraph = 1,
styleTypeCharacter = 2,
styleTypeTable = 3,
styleTypeNumbering = 4
};
enum NumberingFormat
{
numberingFormatNone = 0x7FFF,
numberingFormatBlackCircle = 0x0000,
numberingFormatWhiteCircle = 0x0001,
numberingFormatBlackSquare = 0x0002,
numberingFormatWhiteSquare = 0x0003,
numberingFormatFourRhombuses = 0x0004,
numberingFormatRightArrow = 0x0005,
numberingFormatDaw = 0x0006,
numberingFormatArabianNumberDot = 0x0007,
numberingFormatArabianNumberBracket = 0x0008,
numberingFormatLargeRomanNumberDot = 0x0009,
numberingFormatLargeLetterDot = 0x000A,
numberingFormatSmallLetterBracket = 0x000B,
numberingFormatSmallLetterDot = 0x000C,
numberingFormatSmallRomanNumberDot = 0x000D
};
enum MSONFC
{
msonfcArabic = 0x00, //decimal
msonfcUCRoman = 0x01, //upperRoman
msonfcLCRoman = 0x02, //lowerRoman
msonfcUCLetter = 0x03, //upperLetter
msonfcLCLetter = 0x04, //lowerLetter
msonfcOrdinal = 0x05, //ordinal
msonfcCardtext = 0x06, //cardinalText
msonfcOrdtext = 0x07, //ordinalText
msonfcHex = 0x08, //hex
msonfcChiManSty = 0x09, //chicago
msonfcDbNum1 = 0x0A, //ideographDigital
msonfcDbNum2 = 0x0B, //japaneseCounting
msonfcAiueo = 0x0C, //Aiueo
msonfcIroha = 0x0D, //Iroha
msonfcDbChar = 0x0E, //decimalFullWidth
msonfcSbChar = 0x0F, //decimalHalfWidth
msonfcDbNum3 = 0x10, //japaneseLegal
msonfcDbNum4 = 0x11, //japaneseDigitalTenThousand
msonfcCirclenum = 0x12, //decimalEnclosedCircle
msonfcDArabic = 0x13, //decimalFullWidth2
msonfcDAiueo = 0x14, //aiueoFullWidth
msonfcDIroha = 0x15, //irohaFullWidth
msonfcArabicLZ = 0x16, //decimalZero
msonfcBullet = 0x17, //bullet
msonfcGanada = 0x18, //ganada
msonfcChosung = 0x19, //chosung
msonfcGB1 = 0x1A, //decimalEnclosedFullstop
msonfcGB2 = 0x1B, //decimalEnclosedParen
msonfcGB3 = 0x1C, //decimalEnclosedCircleChinese
msonfcGB4 = 0x1D, //ideographEnclosedCircle
msonfcZodiac1 = 0x1E, //ideographTraditional
msonfcZodiac2 = 0x1F, //ideographZodiac
msonfcZodiac3 = 0x20, //ideographZodiacTraditional
msonfcTpeDbNum1 = 0x21, //taiwaneseCounting
msonfcTpeDbNum2 = 0x22, //ideographLegalTraditional
msonfcTpeDbNum3 = 0x23, //taiwaneseCountingThousand
msonfcTpeDbNum4 = 0x24, //taiwaneseDigital
msonfcChnDbNum1 = 0x25, //chineseCounting
msonfcChnDbNum2 = 0x26, //chineseLegalSimplified
msonfcChnDbNum3 = 0x27, //chineseCountingThousand
msonfcChnDbNum4 = 0x28, //decimal
msonfcKorDbNum1 = 0x29, //koreanDigital
msonfcKorDbNum2 = 0x2A, //koreanCounting
msonfcKorDbNum3 = 0x2B, //koreanLegal
msonfcKorDbNum4 = 0x2C, //koreanDigital2
msonfcHebrew1 = 0x2D, //hebrew1
msonfcArabic1 = 0x2E, //arabicAlpha
msonfcHebrew2 = 0x2F, //hebrew2
msonfcArabic2 = 0x30, //arabicAbjad
msonfcHindi1 = 0x31, //hindiVowels
msonfcHindi2 = 0x32, //hindiConsonants
msonfcHindi3 = 0x33, //hindiNumbers
msonfcHindi4 = 0x34, //hindiCounting
msonfcThai1 = 0x35, //thaiLetters
msonfcThai2 = 0x36, //thaiNumbers
msonfcThai3 = 0x37, //thaiCounting
msonfcViet1 = 0x38, //vietnameseCounting
msonfcNumInDash = 0x39, //numberInDash
msonfcLCRus = 0x3A, //russianLower
msonfcUCRus = 0x3B, //russianUpper
msonfcNone = 0xFF //Specifies that the sequence shall not display any numbering.
};
enum LevelJustification
{
levelJustificationLeft = 0x0,
levelJustificationCenter = 0x1,
levelJustificationRight = 0x2
};
enum CharacterFollows
{
characterFollowsTab = 0x0,
characterFollowsSpace = 0x1,
characterFollowsNothing = 0x2
};
enum LFOField
{
lfoFieldNotUsed00 = 0x00,
lfoFieldAUTONUMLGL = 0xFC,
lfoFieldAUTONUMOUT = 0xFD,
lfoFieldAUTONUM = 0xFE,
lfoFieldNotUsedFF = 0xFF
};
enum SBkcOperand
{
bkcContinuous = 0x00, //Continuous section break. The next section starts on the next line.
bkcNewColumn = 0x01, //New column section break. The next section starts in the next column.
bkcNewPage = 0x02, //New page section break. The next section starts on the next page.
bkcEvenPage = 0x03, //Even page section break. The next section starts on an even page.
bkcOddPage = 0x04 //Odd page section break. The next section starts on an odd page.
};
enum SBOrientationOperand
{
dmOrientPortrait = 0x01, //Portrait orientation.
dmOrientLandscape = 0x02 //Landscape orientation.
};
enum SClmOperand
{
clmUseDefault = 0x0000, //Specifies that document grid is disabled.
clmCharsAndLines = 0x0001, //Specifies a document grid enforcing both character spacing and line pitch. The line pitch and character spacing are specified by sprmSDyaLinePitch and sprmSDxtCharSpace respectively.
clmLinesOnly = 0x0002, //Specifies a document grid enforcing only line pitch. Line pitch is specified by sprmSDyaLinePitch.
clmEnforceGrid = 0x0003 //Specifies a document grid enforcing both character spacing and line pitch. The line pitch and character spacing are specified by sprmSDyaLinePitch and sprmSDxtCharSpace respectively. Each full-width character MUST occupy its own grid square.
};
enum PictureDataFormat
{
MM_SHAPE = 0x0064, //Shape object
MM_SHAPEFILE = 0x0066 //Shape file
};
enum SuperSubScript
{
superSubScriptNormalText = 0x00,
superSubScriptSuperscript = 0x01,
superSubScriptSubscript = 0x02
};
enum BordersToApply
{
bordersToApplyTopBorder = 0x01,
bordersToApplyLogicalLeftBorder = 0x02,
bordersToApplyBottomBorder = 0x04,
bordersToApplyLogicalRightBorder = 0x08,
bordersToApplyFromTopLeftToBottomRight = 0x10,
bordersToApplyFromTopRightToBottomLeft = 0x20
};
enum flt
{
fltUnable = 0x01, //Specifies that the field was unable to be parsed.
fltREFKeywordOmitted = 0x02, //Specifies that the field represents a REF field where the keyword has been omitted.
fltREF = 0x03,
fltFTNREF = 0x05,
fltSET = 0x06,
fltIF = 0x07,
fltINDEX = 0x08,
fltSTYLEREF = 0x0A,
fltSEQ = 0x0C,
fltTOC = 0x0D,
fltINFO = 0x0E,
fltTITLE = 0x0F,
fltSUBJECT = 0x10,
fltAUTHOR = 0x11,
fltKEYWORDS = 0x12,
fltCOMMENTS = 0x13,
fltLASTSAVEDBY = 0x14,
fltCREATEDATE = 0x15,
fltSAVEDATE = 0x16,
fltPRINTDATE = 0x17,
fltREVNUM = 0x18,
fltEDITTIME = 0x19,
fltNUMPAGES = 0x1A,
fltNUMWORDS = 0x1B,
fltNUMCHARS = 0x1C,
fltFILENAME = 0x1D,
fltTEMPLATE = 0x1E,
fltDATE = 0x1F,
fltTIME = 0x20,
fltPAGE = 0x21,
fltEqual = 0x22,
fltQUOTE = 0x23,
fltINCLUDE = 0x24,
fltPAGEREF = 0x25,
fltASK = 0x26,
fltFILLIN = 0x27,
fltDATA = 0x28,
fltNEXT = 0x29,
fltNEXTIF = 0x2A,
fltSKIPIF = 0x2B,
fltMERGEREC = 0x2C,
fltDDE = 0x2D,
fltDDEAUTO = 0x2E,
fltGLOSSARY = 0x2F,
fltPRINT = 0x30,
fltEQ = 0x31,
fltGOTOBUTTON = 0x32,
fltMACROBUTTON = 0x33,
fltAUTONUMOUT = 0x34,
fltAUTONUMLGL = 0x35,
fltAUTONUM = 0x36,
fltIMPORT = 0x37,
fltLINK = 0x38,
fltSYMBOL = 0x39,
fltEMBED = 0x3A,
fltMERGEFIELD = 0x3B,
fltUSERNAME = 0x3C,
fltUSERINITIALS = 0x3D,
fltUSERADDRESS = 0x3E,
fltBARCODE = 0x3F,
fltDOCVARIABLE = 0x40,
fltSECTION = 0x41,
fltSECTIONPAGES = 0x42,
fltINCLUDEPICTURE = 0x43,
fltINCLUDETEXT = 0x44,
fltFILESIZE = 0x45,
fltFORMTEXT = 0x46,
fltFORMCHECKBOX = 0x47,
fltNOTEREF = 0x48,
fltTOA = 0x49,
fltMERGESEQ = 0x4B,
fltAUTOTEXT = 0x4F,
fltCOMPARE = 0x50,
fltADDIN = 0x51,
fltFORMDROPDOWN = 0x53,
fltADVANCE = 0x54,
fltDOCPROPERTY = 0x55,
fltCONTROL = 0x57,
fltHYPERLINK = 0x58,
fltAUTOTEXTLIST = 0x59,
fltLISTNUM = 0x5A,
fltHTMLCONTROL = 0x5B,
fltBIDIOUTLINE = 0x5C,
fltADDRESSBLOCK = 0x5D,
fltGREETINGLINE = 0x5E,
fltSHAPE = 0x5F
};
enum fpc
{
fpcEndOfSection = 0,
fpcBottomMargin = 1,
fpcLastLine = 2
};
enum rncFtn
{
rncFtnPreviousSection = 0,
rncFtnUniqueSection = 1,
rncFtnUniquePage = 2
};
enum rncEdn
{
rncEdnPreviousSection = 0,
rncEdnUniqueSection = 1,
rncEdnUniquePage = 2
};
enum epc
{
epcEndOfSection = 0,
epcEndofTheCurrentDocument = 3
};
enum ViewingMode
{
viewingModeNone = 0,
viewingModePrint = 1,
viewingModeOutline = 2,
viewingModeMasterPages = 3,
viewingModeNormal = 4,
viewingModeWeb = 5
};
enum ZoomType
{
zoomTypeNone = 0,
zoomTypeFullPage = 1,
zoomTypeBestFit = 2,
zoomTypeTextFit = 3
};
enum TabJC
{
jcLeft = 0x0, //Left justification
jcCenter = 0x1, //Center justification
jcRight = 0x2, //Right justification
jcDecimal = 0x3, //Specifies that the current tab stop results in a location in the document where all following text is aligned around the first decimal separator in the following text runs. If there is no decimal separator, text is aligned around the implicit decimal separator after the last digit of the first numerical value appearing in the following text. All text runs before the first decimal character appear before the tab stop, all text runs after it appear after the tab stop location.
jcBar = 0x4, //Specifies that the current tab is a bar tab.
jcList = 0x6 //Specifies that the current tab is a list tab.
};
enum TabLC
{
tlcNone = 0x0, //No leader.
tlcDot = 0x1, //Dot leader.
tlcHyphen = 0x2, //Dashed leader.
tlcUnderscore = 0x3, //Underscore leader.
tlcHeavy = 0x4, //Same as tlcUnderscore.
tlcMiddleDot = 0x5, //Centered dot leader.
tlcDefault = 0x7 //Same as tlcNone.
};
}
}

View File

@ -1,95 +0,0 @@
/*
* (c) Copyright Ascensio System SIA 2010-2019
*
* 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 20A-12 Ernesta Birznieka-Upisha
* street, Riga, Latvia, EU, LV-1050.
*
* 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 ASCDocFileFormat
{
union Copts60
{
private:
struct
{
unsigned short fNoTabForInd:1;
unsigned short fNoSpaceRaiseLower:1;
unsigned short fSuppressSpBfAfterPgBrk:1;
unsigned short fWrapTrailSpaces:1;
unsigned short fMapPrintTextColor:1;
unsigned short fNoColumnBalance:1;
unsigned short fConvMailMergeEsc:1;
unsigned short fSuppressTopSpacing:1;
unsigned short fOrigWordTableRules:1;
unsigned short unused14:1;
unsigned short fShowBreaksInFrames:1;
unsigned short fSwapBordersFacingPgs:1;
unsigned short fLeaveBackslashAlone:1;
unsigned short fExpShRtn:1;
unsigned short fDntULTrlSpc:1;
unsigned short fDntBlnSbDbWid:1;
} Copts60Struct;
unsigned short Copts60Short;
public:
explicit Copts60( unsigned short _copts60 = 0 ):
Copts60Short(_copts60)
{
}
Copts60( bool _fNoTabForInd, bool _fNoSpaceRaiseLower, bool _fSuppressSpBfAfterPgBrk, bool _fWrapTrailSpaces,
bool _fMapPrintTextColor, bool _fNoColumnBalance, bool _fConvMailMergeEsc, bool _fSuppressTopSpacing,
bool _fOrigWordTableRules, bool _fShowBreaksInFrames, bool _fSwapBordersFacingPgs, bool _fLeaveBackslashAlone,
bool _fExpShRtn, bool _fDntULTrlSpc, bool _fDntBlnSbDbWid ):
Copts60Short(0)
{
this->Copts60Struct.fNoTabForInd = ( ( _fNoTabForInd ) ? (1) : (0) );
this->Copts60Struct.fNoSpaceRaiseLower = ( ( _fNoSpaceRaiseLower ) ? (1) : (0) );
this->Copts60Struct.fSuppressSpBfAfterPgBrk = ( ( _fSuppressSpBfAfterPgBrk ) ? (1) : (0) );
this->Copts60Struct.fWrapTrailSpaces = ( ( _fWrapTrailSpaces ) ? (1) : (0) );
this->Copts60Struct.fMapPrintTextColor = ( ( _fMapPrintTextColor ) ? (1) : (0) );
this->Copts60Struct.fNoColumnBalance = ( ( _fNoColumnBalance ) ? (1) : (0) );
this->Copts60Struct.fConvMailMergeEsc = ( ( _fConvMailMergeEsc ) ? (1) : (0) );
this->Copts60Struct.fSuppressTopSpacing = ( ( _fSuppressTopSpacing ) ? (1) : (0) );
this->Copts60Struct.fOrigWordTableRules = ( ( _fOrigWordTableRules ) ? (1) : (0) );
this->Copts60Struct.unused14 = 0;
this->Copts60Struct.fShowBreaksInFrames = ( ( _fShowBreaksInFrames ) ? (1) : (0) );
this->Copts60Struct.fSwapBordersFacingPgs = ( ( _fSwapBordersFacingPgs ) ? (1) : (0) );
this->Copts60Struct.fLeaveBackslashAlone = ( ( _fLeaveBackslashAlone ) ? (1) : (0) );
this->Copts60Struct.fExpShRtn = ( ( _fExpShRtn ) ? (1) : (0) );
this->Copts60Struct.fDntULTrlSpc = ( ( _fDntULTrlSpc ) ? (1) : (0) );
this->Copts60Struct.fDntBlnSbDbWid = ( ( _fDntBlnSbDbWid ) ? (1) : (0) );
}
operator unsigned short () const
{
return this->Copts60Short;
}
};
}

View File

@ -1,72 +0,0 @@
/*
* (c) Copyright Ascensio System SIA 2010-2019
*
* 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 20A-12 Ernesta Birznieka-Upisha
* street, Riga, Latvia, EU, LV-1050.
*
* 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 ASCDocFileFormat
{
union DTTM
{
private:
struct
{
unsigned int mint:6;
unsigned int hr:5;
unsigned int dom:5;
unsigned int mon:4;
unsigned int yr:9;
unsigned int wdy:3;
} DTTMStruct;
unsigned int DTTMUnsignedInt;
public:
explicit DTTM( unsigned int _dttm = 0 ):
DTTMUnsignedInt(_dttm)
{
}
DTTM( unsigned char _mint, unsigned char _hr, unsigned char _dom, unsigned char _mon, unsigned short _yr, unsigned char _wdy ):
DTTMUnsignedInt(0)
{
this->DTTMStruct.mint = _mint;
this->DTTMStruct.hr = _hr;
this->DTTMStruct.dom = _dom;
this->DTTMStruct.mon = _mon;
this->DTTMStruct.yr = _yr;
this->DTTMStruct.wdy = _wdy;
}
operator unsigned int () const
{
return this->DTTMUnsignedInt;
}
};
}

View File

@ -1,125 +0,0 @@
/*
* (c) Copyright Ascensio System SIA 2010-2019
*
* 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 20A-12 Ernesta Birznieka-Upisha
* street, Riga, Latvia, EU, LV-1050.
*
* 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
#include "Shd80.h"
namespace ASCDocFileFormat
{
class DefTableShd80Operand: public IOperand
{
private:
unsigned char* bytes;
unsigned int sizeInBytes;
public:
DefTableShd80Operand():
bytes(0), sizeInBytes(1)
{
if ( this->sizeInBytes != 0 )
{
this->bytes = new unsigned char[this->sizeInBytes];
if ( this->bytes != NULL )
{
memset( this->bytes, 0, this->sizeInBytes );
}
}
}
explicit DefTableShd80Operand( const vector<Shd80>& _rgShd80 ):
bytes(NULL), sizeInBytes(0)
{
this->sizeInBytes = ( ( _rgShd80.size() * 2 ) + sizeof(unsigned char) );
if ( this->sizeInBytes != 0 )
{
this->bytes = new unsigned char[this->sizeInBytes];
if ( this->bytes != NULL )
{
memset( this->bytes, 0, this->sizeInBytes );
this->bytes[0] = ( this->sizeInBytes - sizeof(unsigned char) );
unsigned int offset = sizeof(unsigned char);
for ( vector<Shd80>::const_iterator iter = _rgShd80.begin(); iter != _rgShd80.end(); iter++ )
{
unsigned short value = (unsigned short)(*iter);
memcpy( ( this->bytes + offset ), &value, sizeof(unsigned short) );
offset += sizeof(unsigned short);
}
}
}
}
DefTableShd80Operand( const DefTableShd80Operand& _defTableShd80Operand ):
bytes(NULL), sizeInBytes(_defTableShd80Operand.sizeInBytes)
{
if ( this->sizeInBytes != 0 )
{
this->bytes = new unsigned char[this->sizeInBytes];
if ( this->bytes != NULL )
{
memset( this->bytes, 0, this->sizeInBytes );
memcpy( this->bytes, _defTableShd80Operand.bytes, this->sizeInBytes );
}
}
}
virtual ~DefTableShd80Operand()
{
RELEASEARRAYOBJECTS (bytes);
}
virtual operator unsigned char*() const
{
return this->bytes;
}
virtual operator const unsigned char*() const
{
return (const unsigned char*)this->bytes;
}
virtual unsigned int Size() const
{
return this->sizeInBytes;
}
};
}

View File

@ -1,121 +0,0 @@
/*
* (c) Copyright Ascensio System SIA 2010-2019
*
* 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 20A-12 Ernesta Birznieka-Upisha
* street, Riga, Latvia, EU, LV-1050.
*
* 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
#include "SHDOperand.h"
namespace ASCDocFileFormat
{
class DefTableShdOperand: public IOperand
{
private:
unsigned char* bytes;
unsigned int sizeInBytes;
public:
DefTableShdOperand() : bytes(0), sizeInBytes(1)
{
if ( this->sizeInBytes != 0 )
{
this->bytes = new unsigned char[this->sizeInBytes];
if ( this->bytes != NULL )
{
memset( this->bytes, 0, this->sizeInBytes );
}
}
}
explicit DefTableShdOperand( const vector<Shd>& _rgShd ) : bytes(NULL), sizeInBytes(0)
{
if ( _rgShd.size() <= 22 )
{
this->sizeInBytes = ( ( _rgShd.size() * 10 ) + sizeof(unsigned char) );
if ( this->sizeInBytes != 0 )
{
this->bytes = new unsigned char[this->sizeInBytes];
if ( this->bytes != NULL )
{
memset( this->bytes, 0, this->sizeInBytes );
this->bytes[0] = ( this->sizeInBytes - sizeof(unsigned char) );
unsigned int offset = sizeof(unsigned char);
for ( vector<Shd>::const_iterator iter = _rgShd.begin(); iter != _rgShd.end(); iter++ )
{
memcpy( ( this->bytes + offset ), (unsigned char*)(*iter), iter->Size() );
offset += iter->Size();
}
}
}
}
}
DefTableShdOperand( const DefTableShdOperand& _defTableShdOperand ) : bytes(NULL), sizeInBytes(_defTableShdOperand.sizeInBytes)
{
if ( this->sizeInBytes != 0 )
{
this->bytes = new unsigned char[this->sizeInBytes];
if ( this->bytes != NULL )
{
memset( this->bytes, 0, this->sizeInBytes );
memcpy( this->bytes, _defTableShdOperand.bytes, this->sizeInBytes );
}
}
}
virtual ~DefTableShdOperand()
{
RELEASEARRAYOBJECTS (bytes);
}
virtual operator unsigned char*() const
{
return this->bytes;
}
virtual operator const unsigned char*() const
{
return (const unsigned char*)this->bytes;
}
virtual unsigned int Size() const
{
return this->sizeInBytes;
}
};
}

View File

@ -1,102 +0,0 @@
/*
* (c) Copyright Ascensio System SIA 2010-2019
*
* 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 20A-12 Ernesta Birznieka-Upisha
* street, Riga, Latvia, EU, LV-1050.
*
* 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 ASCDocFileFormat
{
namespace FIB_OFFSET
{
enum FIB
{
csw = 32,
cslw = 62,
cbRgFcLcb = 152
};
enum FibBase
{
wIdent = 0,
nFib = 2,
lid = 6,
pnNext = 8,
nFibBack = 12,
lKey = 14,
envr = 18
};
enum FibRgLw97
{
cbMac = 64,
ccpText = 76,
ccpFtn = 80,
ccpHdd = 84,
ccpAtn = 92,
ccpEdn = 96,
ccpTxbx = 100,
ccpHdrTxbx = 104
};
enum FibRgFcLcb97 // FibRgFcLcb97
{
fcStshfOrig = 154, // This value is undefined and MUST be ignored.
lcbStshfOrig = 158, // This value is undefined and MUST be ignored.
fcStshf = 162, // specifies the style sheet for this document begins at this offset
lcbStshf = 166, // An unsigned integer that specifies the size, in bytes, of the STSH that begins at offset fcStshf in the Table Stream. This MUST be a nonzero value
fcPlcfSed = 202,
lcbPlcfSed = 206,
fcSttbfFfn = 274,
lcbSttbfFfn = 278,
fcDop = 402, // An unsigned integer that specifies an offset in the Table Stream. A Dopbegins at this offset.
lcbDop = 406, // An unsigned integer that specifies the size, in bytes, of the Dopat fcDop. This value MUST NOT be zero.
fcClx = 418, // An unsigned integer that specifies an offset in the Table Stream. A Clx begins at this offset.
lcbClx = 422, // An unsigned integer that specifies the size, in bytes, of the Clx at offset fcClx in the Table Stream. This value MUST be greater than zero.
fcPlcSpaMom = 474, // An unsigned integer that specifies an offset in the Table Stream. A PlcfSpa begins at this offset. The PlcfSpa contains shape information for the Main Document
lcbPlcSpaMom = 478, // An unsigned integer that specifies the size, in bytes, of the PlcfSpa at offset fcPlcSpaMom
fcPlcSpaHdr = 482, // A PlcfSpa begins at this offset. The PlcfSpa contains shape information for the Header Document.
lcbPlcSpaHdr = 486, // An unsigned integer that specifies the size, in bytes, of the PlcfSpa at the offset fcPlcSpaHdr
fcDggInfo = 554, // An OfficeArtContent that contains information about the drawings in the document begins at this offset.
lcbDggInfo = 558, // An unsigned integer that specifies the size, in bytes, of the OfficeArtContent at the offset fcDggInfo. If lcbDggInfo is zero, there MUST NOT be any drawings in the document.
fcPlcftxbxTxt = 602, //
lcbPlcftxbxTxt = 606,
fcPlcfHdrtxbxTxt = 618,
lcbPlcfHdrtxbxTxt = 622,
fcPlcfTxbxBkd = 754, // смещение в стриме для структур описывающих текст в автофигурах (main document)
lcbPlcfTxbxBkd = 758,
fcPlcfTxbxHdrBkd = 762, // смещение в стриме для структур описывающих текст в автофигурах (header)
lcbPlcfTxbxHdrBkd = 766
};
}
}

File diff suppressed because it is too large Load Diff

View File

@ -1,225 +0,0 @@
/*
* (c) Copyright Ascensio System SIA 2010-2019
*
* 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 20A-12 Ernesta Birznieka-Upisha
* street, Riga, Latvia, EU, LV-1050.
*
* 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
#include "Defines.h"
#include "Paragraph.h"
#include "ChpxFkp.h"
#include "PapxFkp.h"
#include "PlcBteChpx.h"
#include "PlcBtePapx.h"
#include "Clx.h"
#include "Table.h"
#include "DefTableShdOperand.h"
#include "DefTableShd80Operand.h"
#include "CellRangeVertAlign.h"
#include "Shd80.h"
#include "SttbfFfn.h"
#include "SttbfBkmk.h"
#include "LID.h"
#include "STSH.h"
#include "LSPD.h"
#include "ListFormattingInformation.h"
#include "PlfLfo.h"
#include "List.h"
#include "PlcfSed.h"
#include "Plcfbkf.h"
#include "SectionProperties.h"
#include "YAS.h"
#include "PositionCodeOperand.h"
#include "PChgTabs.h"
#include "Run.h"
#include "Hyperlink.h"
#include "BookmarkStart.h"
#include "BookmarkEnd.h"
#include "InlineShape.h"
#include "DopBase.h"
#include "PlcfSpa.h"
#include "ShapeBuilder.h"
#include "WordStreamWriter.h"
namespace ASCDocFileFormat
{
typedef PLC<EmptyPLCData> Plcfhdd;
class CDocFile
{
public:
CDocFile();
~CDocFile();
HRESULT SaveToFile (const CString& sFileName);
void AddTextItem( const ITextItem& textItem );
void AddFootnote( const Footnote& footnote );
void AddEndnote( const Endnote& endnote );
void AddSectionProperties( const SectionProperties& _sectionProperties );
wstring GetMainDocumentText() const;
unsigned long GetMainDocumentTextItemsCount() const;
wstring GetAllText() const;
unsigned long GetAllTextSize() const;
unsigned long GetAllTextItemsCount() const;
inline void SetFontTable(const SttbfFfn& oFontTable)
{
m_oFontTable = oFontTable;
}
inline void SetListFormattingInformation (const ListFormattingInformation& oFormatInfo)
{
listFormatInfo = oFormatInfo;
}
inline void SetListFormattingOverrideInformation (const PlfLfo& oInfo)
{
listFormatOverrideInfo = oInfo;
}
inline void SetStyleSheet (const STSH& oStyleSheet)
{
m_oStyleSheet = oStyleSheet;
}
inline const STSH& GetStyleSheet() const
{
return m_oStyleSheet;
}
protected:
CP OffsetToCP( unsigned int offset ) const;
long WriteInformationBlock ();
long WriteDocument();
long WriteFontTable();
long WriteStyleSheet();
long WriteNumbering();
void WriteSectionProperties();
long WriteMainDocument(unsigned int* _textPosition, vector<CP>* _AllFootnotesReferences, vector<CP>* _AllEndnotesReferences);
void AddFldCharsData(unsigned int nTextPos, const TextItem& oItem, map<CP, Fld>* cpFldMap);
void AddHyperlinksData(unsigned int nTextPos, const TextItem& oItem, map<CP, Fld>* cpFldMap);
void AddInlineShapesData(unsigned int nTextPos, const TextItem& oItem, map<CP, Fld>* cpFldMap);
long WriteMainDocumentFields(const map<CP, Fld>& _cpFldMap);
long WriteFootnoteDocumentFields(const map<CP, Fld>& _cpFldMap);
long WriteEndnoteDocumentFields(const map<CP, Fld>& _cpFldMap);
long WriteHeadersAndFootersDocumentFields(const map<CP, Fld>& _cpFldMap);
long WriteBookmarks(const vector<pair<CP, wstring>>& _bookmarksStartsCPsWithIDs, const vector<pair<CP, wstring>>& _bookmarksEndsCPsWithIDs, const vector<wstring>& _bookmarksNames);
short GetBookmarkIndexByID(const wstring& _id, const vector<pair<CP, wstring>>& _bookmarksCPsWithIDs);
long WriteFootnoteDocument(unsigned int* _textPosition, vector<CP>* _AllFootnotesReferences);
long WriteEndnoteDocument(unsigned int* _textPosition, vector<CP>* _AllEndnotesReferences);
wstring GetHeadersOrFootersProperties(const ITextItem* _headerOrFooter, unsigned int& _headersOrFootersOffset, unsigned int* _headerOrFooterOffset, map<CP, Fld>* cpFldMap);
long WriteHeadersAndFootersDocument(unsigned int* _textPosition);
//
int WriteFibRgLw97();
int GetFibRgLw97_ccpText(); // колличество всех символов обычного текста
int GetFibRgLw97_ccpTxbx(); // колличество всех символов текстовых надписей в документе
int GetFibRgLw97_ccpHdrTxbx (); // колличество всех символов текстовых надписей в колонтитулах
// OFFICE ART
int WriteFibMainTBRefs();
int WriteFibHeadTBRefs();
int CalculateOffTbRefs (long nBuffPos); // Индексация символов
int WriteStrTbRefs (long nBuffPos); // Запись символов текста в основной поток
void CalculateMainSpa (); // настройка позиций в тексте для якорей автофигур или flow картинок (MAINDOC)
void CalculateHeaderSpa (); // настройка позиций в тексте для якорей автофигур или flow картинок (HEADER)
long WriteOfficeDrawings (); // запись всей информации по автофигурам и flow картинкам
// Helpers
bool InitStream(const CStringA& stName, POLE::Stream*& pStream, bool bDefaultSizes);
long Write (POLE::Stream* stream, unsigned long position, const void* data, ULONG size, ULONG* writtenSize);
long Write (POLE::Stream* stream, unsigned long position, const void* data, ULONG size);
long ReloadFromFileBuffer (CString strFileData, DWORD dwOffTbID, DWORD dwSizefTbID);
long ReloadStreamFileBuffer (CString strFileData, POLE::Stream* pStream);
private:
POLE::Storage* m_pIStorage;
POLE::Stream* m_pTableStream;
POLE::Stream* m_pSummaryInformationStream;
POLE::Stream* m_pDocumentSummaryInformationStream;
unsigned long m_nBuffOk;
unsigned int m_nTextCurPos;
STSH m_oStyleSheet;
int ccpText; // FibRgLw97
int ccpFtn; // FibRgLw97
int ccpHdd; // FibRgLw97
int ccpAtn; // FibRgLw97
int ccpEdn; // FibRgLw97
int ccpTxbx; // FibRgLw97
int ccpHdrTxbx; // FibRgLw97
vector <Chpx> m_arChpx;
vector <unsigned int> m_arRunsOffsets;
vector <PapxInFkp> m_arPapxInFkp;
vector <unsigned int> m_arParagraphsOffSets;
COArtStorage* m_oartStorage;
// позиции якорей в тексте документа (индексы символов)
vector <unsigned int> m_aSpaCP;
vector <unsigned int> m_aHeadSpaCP;
vector <unsigned int> m_arTxbxCP;
vector <unsigned int> m_arTxbxHdrCP;
vector <unsigned int> m_arTxbxBkdCP;
vector <unsigned int> m_arTxbxHdrBkdCP;
//
list<TextItem> textItems;
list<TextItem> m_Footnotes;
list<TextItem> endnotes;
SttbfFfn m_oFontTable;
ListFormattingInformation listFormatInfo;
PlfLfo listFormatOverrideInfo;
list<SectionProperties> sectionProperties;
};
}

View File

@ -1,459 +0,0 @@
/*
* (c) Copyright Ascensio System SIA 2010-2019
*
* 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 20A-12 Ernesta Birznieka-Upisha
* street, Riga, Latvia, EU, LV-1050.
*
* 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
#include "Constants.h"
#include "Copts60.h"
#include "DTTM.h"
namespace ASCDocFileFormat
{
class DopBase: public IOperand
{
private:
bool fFacingPages;
bool fPMHMainDoc;
Constants::fpc fpc;
Constants::rncFtn rncFtn;
short nFtn;
bool fSplAllDone;
bool fSplAllClean;
bool fSplHideErrors;
bool fGramHideErrors;
bool fLabelDoc;
bool fHyphCapitals;
bool fAutoHyphen;
bool fFormNoFields;
bool fLinkStyles;
bool fRevMarking;
bool fExactCWords;
bool fPagHidden;
bool fPagResults;
bool fLockAtn;
bool fMirrorMargins;
bool fWord97Compat;
bool fProtEnabled;
bool fDispFormFldSel;
bool fRMView;
bool fRMPrint;
bool fLockVbaProj;
bool fLockRev;
bool fEmbedFonts;
Copts60 copts60;
short dxaTab;
short cpgWebOpt;
short dxaHotZ;
short cConsecHypLim;
DTTM dttmCreated;
DTTM dttmRevised;
DTTM dttmLastPrint;
short nRevision;
int tmEdited;
int cWords;
int cCh;
short cPg;
int cParas;
Constants::rncEdn rncEdn;
short nEdn;
Constants::epc epc;
bool fPrintFormData;
bool fSaveFormData;
bool fShadeFormData;
bool fShadeMergeFields;
bool fIncludeSubdocsInStats;
int cLines;
int cWordsWithSubdocs;
int cChWithSubdocs;
short cPgWithSubdocs;
int cParasWithSubdocs;
int cLinesWithSubdocs;
int lKeyProtDoc;
Constants::ViewingMode wvkoSaved;
unsigned short pctWwdSaved;
Constants::ZoomType zkSaved;
bool iGutterPos;
static const unsigned char SIZE_IN_BYTES = 84;
mutable unsigned char bytes[SIZE_IN_BYTES];
void SetBytes() const
{
BitSet bitSet( SIZE_IN_BYTES );
unsigned int bitOffset = 0;
bitSet.SetBit( this->fFacingPages, 0 );
bitSet.SetBit( this->fPMHMainDoc, 2 );
bitSet.SetBits<Constants::fpc>( this->fpc, 5, 2 );
memset( this->bytes, 0, SIZE_IN_BYTES );
memcpy( this->bytes, bitSet.GetBytes(), bitSet.GetSize() );
}
public:
DopBase()
{
this->SetDefaults();
}
void SetDefaults()
{
}
virtual ~DopBase()
{
}
void SetFacingPages( bool _fFacingPages )
{
this->fFacingPages = _fFacingPages;
}
void SetMailMergeMainDocument( bool _fPMHMainDoc )
{
this->fPMHMainDoc = _fPMHMainDoc;
}
void SetFootnotesPlace( Constants::fpc _fpc )
{
this->fpc = _fpc;
}
void SetFootnotesNumbering( Constants::rncFtn _rncFtn )
{
this->rncFtn = _rncFtn;
}
void SetFootnotesStartingNumber( short _nFtn )
{
this->nFtn = _nFtn;
}
void SetSpellCheckingDone( bool _fSplAllDone )
{
this->fSplAllDone = _fSplAllDone;
}
void SetSpellingCorrectly( bool _fSplAllClean )
{
this->fSplAllClean = _fSplAllClean;
}
void SetSpellingHideError( bool _fSplHideErrors )
{
this->fSplHideErrors = _fSplHideErrors;
}
void SetGrammarHideError( bool _fGramHideErrors )
{
this->fGramHideErrors = _fGramHideErrors;
}
void SetMailMergeLabelsDocument( bool _fLabelDoc )
{
this->fLabelDoc = _fLabelDoc;
}
void SetCapitalLettersHyphenated( bool _fHyphCapitals )
{
this->fHyphCapitals = _fHyphCapitals;
}
void SetAutoHyphen( bool _fAutoHyphen )
{
this->fAutoHyphen = _fAutoHyphen;
}
void SetNoEditableRegions( bool _fFormNoFields )
{
this->fFormNoFields = _fFormNoFields;
}
void SetLinkStyles( bool _fLinkStyles )
{
this->fLinkStyles = _fLinkStyles;
}
void SetRevisionMarking( bool _fRevMarking )
{
this->fRevMarking = _fRevMarking;
}
void SetExactCWords( bool _fExactCWords )
{
this->fExactCWords = _fExactCWords;
}
void SetPagHidden( bool _fPagHidden )
{
this->fPagHidden = _fPagHidden;
}
void SetPagResults( bool _fPagResults )
{
this->fPagResults = _fPagResults;
}
void SetLockComments( bool _fLockAtn )
{
this->fLockAtn = _fLockAtn;
}
void SetMirrorMargins( bool _fMirrorMargins )
{
this->fMirrorMargins = _fMirrorMargins;
}
void SetWord97CompatibilityMode( bool _fWord97Compat )
{
this->fWord97Compat = _fWord97Compat;
}
void SetProtectionEnabled( bool _fProtEnabled )
{
this->fProtEnabled = _fProtEnabled;
}
void SetDisplayFormFieldSelection( bool _fDispFormFldSel )
{
this->fDispFormFldSel = _fDispFormFldSel;
}
void SetShowAnyRevisionMarkup( bool _fRMView )
{
this->fRMView = _fRMView;
}
void SetPrintAnyRevisionMarkup( bool _fRMPrint )
{
this->fRMPrint = _fRMPrint;
}
void SetLockVBAProject( bool _fLockVbaProj )
{
this->fLockVbaProj = _fLockVbaProj;
}
void SetLockRevisions( bool _fLockRev )
{
this->fLockRev = _fLockRev;
}
void SetTrueTypeFontsEmbedded( bool _fEmbedFonts )
{
this->fEmbedFonts = _fEmbedFonts;
}
void SetCompatibilityOptions( Copts60 _copts60 )
{
this->copts60 = _copts60;
}
void SetTheDefaultTabStopIntervalInTwips( short _dxaTab )
{
this->dxaTab = _dxaTab;
}
void SetHTMLSavingCodePage( short _cpgWebOpt )
{
this->cpgWebOpt = _cpgWebOpt;
}
void SetMaximumAmountOfWhiteSpaceInTwips( short _dxaHotZ )
{
this->dxaHotZ = _dxaHotZ;
}
void SetConsecutiveHyphenationLimit( short _cConsecHypLim )
{
this->cConsecHypLim = _cConsecHypLim;
}
void SetDocumentCreationDateAndTime( DTTM _dttmCreated )
{
this->dttmCreated = _dttmCreated;
}
void SetDocumentLastSaveDateAndTime( DTTM _dttmRevised )
{
this->dttmRevised = _dttmRevised;
}
void SetDocumentLastPrintDateAndTime( DTTM _dttmLastPrint )
{
this->dttmLastPrint = _dttmLastPrint;
}
void SetRevisionNumber( short _nRevision )
{
this->nRevision = _nRevision;
}
void SetEditingNumber( int _tmEdited )
{
this->tmEdited = _tmEdited;
}
void SetCountOfWords( int _cWords )
{
this->cWords = _cWords;
}
void SetCountOfCharacters( int _cCh )
{
this->cCh = _cCh;
}
void SetCountOfPages( short _cPg )
{
this->cPg = _cPg;
}
void SetCountOfParagraphs( int _cParas )
{
this->cParas = _cParas;
}
void SetEndnoteNumbering( Constants::rncEdn _rncEdn )
{
this->rncEdn = _rncEdn;
}
void SetEndnotesStartingNumber( short _nEdn )
{
this->nEdn = _nEdn;
}
void SetEndnotesPlace( Constants::epc _epc )
{
this->epc = _epc;
}
void SetPrintFormData( bool _fPrintFormData )
{
this->fPrintFormData = _fPrintFormData;
}
void SetSaveFormData( bool _fSaveFormData )
{
this->fSaveFormData = _fSaveFormData;
}
void SetShadeFormData( bool _fShadeFormData )
{
this->fShadeFormData = _fShadeFormData;
}
void SetShadeMergeFields( bool _fShadeMergeFields )
{
this->fShadeMergeFields = _fShadeMergeFields;
}
void SetIncludeSubdocsInStats( bool _fIncludeSubdocsInStats )
{
this->fIncludeSubdocsInStats = _fIncludeSubdocsInStats;
}
void SetCountOfLines( int _cLines )
{
this->cLines = _cLines;
}
void SetWordsWithSubdocs( int _cWordsWithSubdocs )
{
this->cWordsWithSubdocs = _cWordsWithSubdocs;
}
void SetCharactersWithSubdocs( int _cChWithSubdocs )
{
this->cChWithSubdocs = _cChWithSubdocs;
}
void SetPagesWithSubdocs( short _cPgWithSubdocs )
{
this->cPgWithSubdocs = _cPgWithSubdocs;
}
void SetParagraphsWithSubdocs( int _cParasWithSubdocs )
{
this->cParasWithSubdocs = _cParasWithSubdocs;
}
void SetLinesWithSubdocs( int _cLinesWithSubdocs )
{
this->cLinesWithSubdocs = _cLinesWithSubdocs;
}
void SetKeyProtectionDocument( int _lKeyProtDoc )
{
this->lKeyProtDoc = _lKeyProtDoc;
}
void SetSavedDocumentViewingMode( Constants::ViewingMode _wvkoSaved )
{
this->wvkoSaved = _wvkoSaved;
}
void SetSavedDocumentZoom( unsigned short _pctWwdSaved )
{
this->pctWwdSaved = _pctWwdSaved;
}
void SetSavedDocumentZoomType( Constants::ZoomType _zkSaved )
{
this->zkSaved = _zkSaved;
}
void SetGutterTopPosition( bool _iGutterPos )
{
this->iGutterPos = _iGutterPos;
}
virtual operator unsigned char*() const
{
this->SetBytes();
return (unsigned char*)this->bytes;
}
virtual operator const unsigned char*() const
{
this->SetBytes();
return (const unsigned char*)this->bytes;
}
virtual unsigned int Size() const
{
return sizeof(this->bytes);
}
};
}

View File

@ -1,238 +0,0 @@
/*
* (c) Copyright Ascensio System SIA 2010-2019
*
* 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 20A-12 Ernesta Birznieka-Upisha
* street, Riga, Latvia, EU, LV-1050.
*
* 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
*
*/
#include "Endnote.h"
namespace ASCDocFileFormat
{
Endnote::Endnote( short _aFtnIdx ) : endnoteItemsOffset(0), aFtnIdx(_aFtnIdx)
{
}
Endnote::Endnote( const Endnote& _endnote ) : endnoteItemsOffset(_endnote.endnoteItemsOffset), aFtnIdx(_endnote.aFtnIdx)
{
for ( list<EndnoteItemWithOffset>::const_iterator iter = _endnote.textItems.begin(); iter != _endnote.textItems.end(); iter++ )
{
this->textItems.push_back( EndnoteItemWithOffset( TextItemPtr( static_cast<ITextItem*>( iter->endnoteItem->Clone() ) ), iter->endnoteItemOffset ) );
}
}
void Endnote::AddTextItem( const ITextItem& _textItem )
{
ITextItem* textItem = static_cast<ITextItem*>( _textItem.Clone() );
if ( textItem != NULL )
{
this->textItems.push_back( EndnoteItemWithOffset( TextItemPtr( textItem ), this->endnoteItemsOffset ) );
this->endnoteItemsOffset += ( sizeof(wchar_t) * textItem->GetAllText().size() );
}
}
short Endnote::GetIndex() const
{
return this->aFtnIdx;
}
Endnote::~Endnote()
{
}
wstring Endnote::GetAllText() const
{
wstring allText;
for ( list<EndnoteItemWithOffset>::const_iterator iter = this->textItems.begin(); iter != this->textItems.end(); iter++ )
{
allText += iter->endnoteItem->GetAllText();
}
return allText;
}
Endnote::operator wstring() const
{
wstring allText;
for ( list<EndnoteItemWithOffset>::const_iterator iter = this->textItems.begin(); iter != this->textItems.end(); iter++ )
{
allText += *(iter->endnoteItem);
}
return allText;
}
vector<TextItemPtr> Endnote::GetAllParagraphsCopy() const
{
vector<TextItemPtr> allParagraphs;
for ( list<EndnoteItemWithOffset>::const_iterator iter = this->textItems.begin(); iter != this->textItems.end(); iter++ )
{
vector<TextItemPtr> textItemParagraphs = iter->endnoteItem->GetAllParagraphsCopy();
for ( vector<TextItemPtr>::const_iterator textItemParagraphsIter = textItemParagraphs.begin(); textItemParagraphsIter != textItemParagraphs.end(); textItemParagraphsIter++ )
{
allParagraphs.push_back( TextItemPtr( static_cast<ITextItem*>( (*textItemParagraphsIter)->Clone() ) ) );
}
}
return allParagraphs;
}
vector<ITextItem*> Endnote::GetAllParagraphs()
{
vector<ITextItem*> allParagraphs;
for (std::list<EndnoteItemWithOffset>::iterator iter = textItems.begin(); iter != textItems.end(); ++iter)
{
vector<ITextItem*> textItemParagraphs = iter->endnoteItem->GetAllParagraphs();
for ( vector<ITextItem*>::iterator textItemParagraphsIter = textItemParagraphs.begin(); textItemParagraphsIter != textItemParagraphs.end(); textItemParagraphsIter++ )
{
allParagraphs.push_back( *textItemParagraphsIter );
}
}
return allParagraphs;
}
vector<PapxInFkp> Endnote::GetAllParagraphsProperties( vector<unsigned int>* allParagraphsOffsets ) const
{
vector<PapxInFkp> allParagraphsProperties;
unsigned int paragraphOffset = 0;
if ( allParagraphsOffsets != NULL )
{
for ( list<EndnoteItemWithOffset>::const_iterator iter = this->textItems.begin(); iter != this->textItems.end(); iter++ )
{
vector<unsigned int> endnoteItemParagraphsOffsets;
vector<PapxInFkp> endnoteItemParagraphsProperties = iter->endnoteItem->GetAllParagraphsProperties( &endnoteItemParagraphsOffsets );
for ( unsigned int i = 0; i < endnoteItemParagraphsProperties.size(); i++ )
{
allParagraphsProperties.push_back( endnoteItemParagraphsProperties[i] );
allParagraphsOffsets->push_back( paragraphOffset + endnoteItemParagraphsOffsets[i] );
}
paragraphOffset += ( sizeof(wchar_t) * iter->endnoteItem->GetAllText().size() );
}
}
return allParagraphsProperties;
}
vector<Chpx> Endnote::GetAllRunProperties( vector<unsigned int>* allRunsOffsets ) const
{
vector<Chpx> allRunsProperties;
unsigned int runOffset = 0;
if ( allRunsOffsets != NULL )
{
for ( list<EndnoteItemWithOffset>::const_iterator iter = this->textItems.begin(); iter != this->textItems.end(); iter++ )
{
vector<unsigned int> endnoteItemRunsOffsets;
vector<Chpx> endnoteItemRunsProperties = iter->endnoteItem->GetAllRunProperties( &endnoteItemRunsOffsets );
for ( unsigned int i = 0; i < endnoteItemRunsProperties.size(); i++ )
{
allRunsProperties.push_back( endnoteItemRunsProperties[i] );
allRunsOffsets->push_back( runOffset + endnoteItemRunsOffsets[i] );
}
runOffset += ( sizeof(wchar_t) * iter->endnoteItem->GetAllText().size() );
}
}
return allRunsProperties;
}
vector<IParagraphItemPtr> Endnote::GetAllRunsCopy( vector<unsigned int>* allRunsOffsets ) const
{
vector<IParagraphItemPtr> allRuns;
if ( allRunsOffsets != NULL )
{
unsigned int runOffset = 0;
for ( list<EndnoteItemWithOffset>::const_iterator iter = this->textItems.begin(); iter != this->textItems.end(); iter++ )
{
vector<unsigned int> allTextItemRunsOffsets;
vector<IParagraphItemPtr> allTextItemRuns = iter->endnoteItem->GetAllRunsCopy( &allTextItemRunsOffsets );
for ( unsigned int i = 0; i < allTextItemRuns.size(); i++ )
{
allRuns.push_back( IParagraphItemPtr( static_cast<IParagraphItem*>(allTextItemRuns[i]->Clone()) ) );
allRunsOffsets->push_back( runOffset + allTextItemRunsOffsets[i] );
}
runOffset += ( sizeof(wchar_t) * iter->endnoteItem->GetAllText().size() );
}
}
return allRuns;
}
vector<IParagraphItemPtr> Endnote::GetAllParagraphItemsCopy( vector<unsigned int>* allParagraphItemsOffsets ) const
{
vector<IParagraphItemPtr> allParagraphItems;
if ( allParagraphItemsOffsets != NULL )
{
unsigned int textItemOffset = 0;
for ( list<EndnoteItemWithOffset>::const_iterator iter = this->textItems.begin(); iter != this->textItems.end(); iter++ )
{
vector<unsigned int> allTextItemParagraphItemsOffsets;
vector<IParagraphItemPtr> allTextItemParagraphItems = iter->endnoteItem->GetAllParagraphItemsCopy( &allTextItemParagraphItemsOffsets );
for ( unsigned int i = 0; i < allTextItemParagraphItems.size(); i++ )
{
allParagraphItems.push_back( IParagraphItemPtr( static_cast<IParagraphItem*>(allTextItemParagraphItems[i]->Clone()) ) );
allParagraphItemsOffsets->push_back( textItemOffset + allTextItemParagraphItemsOffsets[i] );
}
textItemOffset += ( sizeof(wchar_t) * iter->endnoteItem->GetAllText().size() );
}
}
return allParagraphItems;
}
IVirtualConstructor* Endnote::New() const
{
return new Endnote();
}
IVirtualConstructor* Endnote::Clone() const
{
return new Endnote(*this);
}
}

View File

@ -1,84 +0,0 @@
/*
* (c) Copyright Ascensio System SIA 2010-2019
*
* 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 20A-12 Ernesta Birznieka-Upisha
* street, Riga, Latvia, EU, LV-1050.
*
* 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
#include "ITextItem.h"
#include "EndnoteRef.h"
#include "EndnoteReference.h"
#include "PLC.h"
namespace ASCDocFileFormat
{
typedef PLC<EmptyPLCData> PlcfendTxt;
typedef PLC<short> PlcfendRef;
class Endnote: public ITextItem
{
struct EndnoteItemWithOffset
{
TextItemPtr endnoteItem;
unsigned int endnoteItemOffset;
EndnoteItemWithOffset():
endnoteItem(), endnoteItemOffset(0)
{
}
EndnoteItemWithOffset( const TextItemPtr& _endnoteItem, unsigned int _endnoteItemOffset ):
endnoteItem(_endnoteItem), endnoteItemOffset(_endnoteItemOffset)
{
}
};
private:
list<EndnoteItemWithOffset> textItems;
unsigned int endnoteItemsOffset;
short aFtnIdx;
public:
explicit Endnote( short _aFtnIdx = 0 );
Endnote( const Endnote& _endnote );
void AddTextItem( const ITextItem& _textItem );
short GetIndex() const;
virtual ~Endnote();
virtual wstring GetAllText() const;
virtual operator wstring() const;
virtual vector<TextItemPtr> GetAllParagraphsCopy() const;
virtual vector<ITextItem*> GetAllParagraphs();
virtual vector<PapxInFkp> GetAllParagraphsProperties( vector<unsigned int>* allParagraphsOffsets ) const;
virtual vector<Chpx> GetAllRunProperties( vector<unsigned int>* allRunsOffsets ) const;
virtual vector<IParagraphItemPtr> GetAllRunsCopy( vector<unsigned int>* allRunsOffsets ) const;
virtual vector<IParagraphItemPtr> GetAllParagraphItemsCopy( vector<unsigned int>* allParagraphItemsOffsets ) const;
virtual IVirtualConstructor* New() const;
virtual IVirtualConstructor* Clone() const;
};
}

View File

@ -1,115 +0,0 @@
/*
* (c) Copyright Ascensio System SIA 2010-2019
*
* 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 20A-12 Ernesta Birznieka-Upisha
* street, Riga, Latvia, EU, LV-1050.
*
* 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
#include "IRunItem.h"
#include "CSymbolOperand.h"
#include "Constants.h"
namespace ASCDocFileFormat
{
class EndnoteRef: public IRunItem
{
private:
static const unsigned char CFSpec = 1;
short aEndIdx;
wstring text;
list<Prl> properties;
public:
explicit EndnoteRef (short _aEndIdx = 0, unsigned short _ftc = 0, wchar_t _xchar = 0x0000) : aEndIdx(_aEndIdx)
{
if ( this->aEndIdx == 0 )
{
//!!!TODO!!!
this->properties.push_back( Prl( (short)DocFileFormat::sprmCSymbol, (unsigned char*)CSymbolOperand( _ftc, _xchar ) ) );
}
else
{
this->text = wstring( &TextMark::AutoNumberedEndnoteReference );
this->properties.push_back( Prl( (short)DocFileFormat::sprmCFSpec, (unsigned char*)(&CFSpec) ) );
}
}
EndnoteRef (const EndnoteRef& _endnoteRef) : aEndIdx(_endnoteRef.aEndIdx), text(_endnoteRef.text), properties(_endnoteRef.properties)
{
}
short GetIndex() const
{
return this->aEndIdx;
}
virtual ~EndnoteRef()
{
}
virtual IVirtualConstructor* New() const
{
return new EndnoteRef();
}
virtual IVirtualConstructor* Clone() const
{
return new EndnoteRef(*this);
}
virtual unsigned long GetTextSize() const
{
return text.size();
}
virtual wstring GetAllText() const
{
return text;
}
virtual vector<Prl> GetRunProperties() const
{
vector<Prl> prls;
for ( list<Prl>::const_iterator iter = this->properties.begin(); iter != this->properties.end(); iter++ )
{
prls.push_back( *iter );
}
return prls;
}
virtual unsigned int PrlSize () const
{
return (unsigned int) properties.size();
}
};
}

View File

@ -1,116 +0,0 @@
/*
* (c) Copyright Ascensio System SIA 2010-2019
*
* 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 20A-12 Ernesta Birznieka-Upisha
* street, Riga, Latvia, EU, LV-1050.
*
* 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
#include "IRunItem.h"
#include "CSymbolOperand.h"
#include "Constants.h"
namespace ASCDocFileFormat
{
class EndnoteReference: public IRunItem
{
private:
static const unsigned char CFSpec = 1;
short aEndIdx;
wstring text;
list<Prl> properties;
public:
explicit EndnoteReference( short _aEndIdx = 0, unsigned short _ftc = 0, wchar_t _xchar = 0x0000 ):
aEndIdx(_aEndIdx)
{
if ( this->aEndIdx == 0 )
{
//!!!TODO!!!
this->properties.push_back( Prl( (short)DocFileFormat::sprmCSymbol, (unsigned char*)CSymbolOperand( _ftc, _xchar ) ) );
}
else
{
this->text = wstring( &TextMark::AutoNumberedEndnoteReference );
this->properties.push_back( Prl( (short)DocFileFormat::sprmCFSpec, (unsigned char*)(&CFSpec) ) );
}
}
EndnoteReference( const EndnoteReference& _endnoteReference ):
aEndIdx(_endnoteReference.aEndIdx), text(_endnoteReference.text), properties(_endnoteReference.properties)
{
}
short GetIndex() const
{
return this->aEndIdx;
}
virtual ~EndnoteReference()
{
}
virtual IVirtualConstructor* New() const
{
return new EndnoteReference();
}
virtual IVirtualConstructor* Clone() const
{
return new EndnoteReference(*this);
}
virtual unsigned long GetTextSize() const
{
return this->text.size();
}
virtual wstring GetAllText() const
{
return this->text;
}
virtual vector<Prl> GetRunProperties() const
{
vector<Prl> prls;
for ( list<Prl>::const_iterator iter = this->properties.begin(); iter != this->properties.end(); iter++ )
{
prls.push_back( *iter );
}
return prls;
}
virtual unsigned int PrlSize () const
{
return (unsigned int)properties.size();
}
};
}

File diff suppressed because it is too large Load Diff

View File

@ -1,235 +0,0 @@
/*
* (c) Copyright Ascensio System SIA 2010-2019
*
* 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 20A-12 Ernesta Birznieka-Upisha
* street, Riga, Latvia, EU, LV-1050.
*
* 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
#include "DocFile.h"
#include "../../Common/DocxFormat/Source/DocxFormat/Docx.h"
//#include "../../Common/DocxFormat/Source/Utility/Parse.h"
#include "../../Common/DocxFormat/Source/Utility/Unit.h"
#include "InternalElements.h"
#include "TableUtils.h"
#include "../Common/Callback.h"
namespace DOCXTODOC
{
class CPrCopier
{
public:
CPrCopier(PrlList* dest, PrlList* source): m_dest(dest), m_source(source)
{
if ((NULL != m_dest) && (NULL != m_source))
{
AddOrReplaceProperties();
}
}
private:
inline void AddOrReplaceProperties()
{
for (vector<ASCDocFileFormat::Prl>::const_iterator iter = m_source->begin(); iter != m_source->end(); ++iter)
{
RemovePropertyByCode(iter->GetSprmCode());
m_dest->push_back(*iter);
}
}
inline void RemovePropertyByCode(unsigned short sprm)
{
for (vector<ASCDocFileFormat::Prl>::iterator iter = m_dest->begin(); iter != m_dest->end(); ++iter)
{
if (iter->GetSprmCode() == sprm)
{
m_dest->erase(iter);
RemovePropertyByCode(sprm);
break;
}
}
}
private:
PrlList* m_dest;
PrlList* m_source;
};
class CFileTransformer
{
public:
CFileTransformer ();
~CFileTransformer();
long Convert(const wchar_t* ooxFolder, const wchar_t* docFile, const ProgressCallback* ffCallBack);
private:
bool UpdateProgress (const ProgressCallback* ffCallBack, long nComplete);
void ConvertDocument (const OOX::Document& oXmlDoc);
void ConvertContent (const vector<OOX::Logic::TextItem>& oItems);
template<class T> ASCDocFileFormat::Paragraph ConvertParagraph (const OOX::Logic::Paragraph& oXmlParagraph);
// Document
std::wstring GetFontNameByThemeName(const std::wstring& themeName);
vector<ASCDocFileFormat::XAS> BuildXASs(const OOX::Logic::Table& docxTable, const vector<OOX::Logic::TableCell>& tableCells);
bool ValidParagraph (const OOX::Logic::Paragraph& oXmlParagraph);
template<class T> ASCDocFileFormat::Hyperlink ConvertHyperlink( const OOX::Logic::Hyperlink& docxHyperlink, const PrlList& styleDocRunProperties);
template<class T> void UpdateItemByCondition( T* docItem, const wstring& condition);
const PrlList ConvertRunProperties (const OOX::Logic::RunProperty& docxRunProperties);
const PrlList ConvertParagraphProperties( const OOX::Logic::ParagraphProperty& docxParagraphProperties);
PrlList ConvertTableProperties( const OOX::Logic::TableProperty& docxTableProperties, unsigned int cellsCount = 0);
ASCDocFileFormat::Constants::VerticalMergeFlag ConvertTableVerticalMergeFlag( const nullable<OOX::Logic::VMerge>& vMerge);
template<class T> void ConvertFldSimple( const OOX::Logic::FldSimple& fldSimpleDocx, const PrlList& styleDocRunProperties, ASCDocFileFormat::Paragraph& docParagraph, wstring& runType);
// настройки страниц документа
ASCDocFileFormat::SectionProperties ConvertSectionProperties (const OOX::Logic::SectorProperty& oSection);
bool AddLineNumberingSettings (const OOX::Logic::SectorProperty& oSection, PrlList& arrSettings);
// верхний колонтитул
ASCDocFileFormat::Header ConvertHeader (const OOX::Header& oHeader);
// нижний колонтитул
ASCDocFileFormat::Footer ConvertFooter (const OOX::Footer& oFooter);
// Table
template<class T> ASCDocFileFormat::Table CreateTable (const OOX::Logic::Table& oXmlTable);
const PrlList ConvertTableRowCellsProperties(const OOX::Logic::Table& oXmlTable, int nY, int nCY, const vector<OOX::Logic::TableCell>& docxTableCells, const OOX::Styles::Style& oStyle);
const PrlList ConvertTableRowProperties(int nY, const OOX::Logic::TableRowProperties& oXmlRow);
// Fonts
void AddInternalFont(const std::wstring& strFontName);
void ConvertFontTable(const OOX::FontTable& oFontTable);
ASCDocFileFormat::PANOSE ConvertPanose (const std::wstring& strPanose);
// Styles
PrlList GetParagraphPropertiesFromStyleHierarchy (const string& styleID, PrlList* styleDocRunLinkProperties);
PrlList GetRunPropertiesFromStyleHierarchy (const string& styleID);
PrlList GetTablePropertiesFromStyleHierarchy (const string& styleID);
void ConvertStyleSheet (const OOX::Styles& oStyleSheet);
vector<ASCDocFileFormat::LSD> ConvertLatentStyles (/*const OOX::Styles::LattentStyles& latentStyles*/);
vector<ASCDocFileFormat::LPStd> ConvertStyleDefinitions (const vector<OOX::Styles::Style>& arrStyles);
std::string GetStyleID (const OOX::Logic::Paragraph& oXmlParagraph);
// Numbering
const vector<ASCDocFileFormat::LSTF> ConvertAbstractNums (const vector<OOX::Numbering::AbstractNum>& arrNums);
const vector<ASCDocFileFormat::LVL> ConvertLVLs (const OOX::Numbering& numbering, const vector<OOX::Numbering::AbstractNum>& _abstractNums);
const ASCDocFileFormat::LVL ConvertLVL (const OOX::Numbering::Level& _level);
const ASCDocFileFormat::Xst ConvertLvlText (const std::wstring& _lvlText, ASCDocFileFormat::Constants::MSONFC _nfc);
void ConvertNumbering (const OOX::Numbering& _numbering);
const ASCDocFileFormat::PlfLfo ConvertNums (const vector<OOX::Numbering::Num>& _nums);
int FindAbstractNumIdWithStyleRef (const OOX::Numbering& numbering, const std::wstring& refLink);
// run rule transform
template<class T> ASCDocFileFormat::Run ConvertRun(const OOX::Logic::Run& oXml, const PrlList& styleDocRunProperties, std::wstring& strRunType);
template<class T> bool TextXmlRunTransform (const OOX::Logic::Text& oXml, ASCDocFileFormat::Run& oBinRun);
template<class T> bool FldCharXmlRunTransform (const OOX::Logic::FldChar& oXml, ASCDocFileFormat::Run& oBinRun, std::wstring& strRunType);
template<class T> bool InstrTextXmlRunTransform (const OOX::Logic::InstrText& oXml, ASCDocFileFormat::Run& oBinRun, std::wstring& strRunType);
template<class T> bool DrawingXmlRunTransform (const OOX::Logic::Drawing& oDrawing, ASCDocFileFormat::Run& oBinRun);
template<class T> bool PictXmlRunTransform (const OOX::Logic::Pict& oXml, ASCDocFileFormat::Run& oBinRun);
template<class T> bool DelTextXmlRunTransform (const OOX::Logic::DelText& oXml, ASCDocFileFormat::Run& oBinRun);
template<class T> bool SymbolXmlRunTransform (const OOX::Logic::Symbol& oXml, ASCDocFileFormat::Run& oBinRun);
template<class T> bool BreakXmlRunTransform (const OOX::Logic::Break& oXml, ASCDocFileFormat::Run& oBinRun);
template<class T> bool TabXmlRunTransform (const OOX::Logic::Tab& oXml, ASCDocFileFormat::Run& oBinRun);
template<class T> bool FootnoteReferenceXmlRunTransform (const OOX::Logic::FootnoteReference& oXml, ASCDocFileFormat::Run& oBinRun);
template<class T> bool FootnoteRefXmlRunTransform (const OOX::Logic::FootnoteRef& oXml, ASCDocFileFormat::Run& oBinRun);
template<class T> bool EndnoteReferenceXmlRunTransform (const OOX::Logic::EndnoteReference& oXml, ASCDocFileFormat::Run& oBinRun);
template<class T> bool EndnoteRefXmlRunTransform (const OOX::Logic::EndnoteRef& oXml, ASCDocFileFormat::Run& oBinRun);
// Images
template <class T, class TXmlImage> OOX::Image* GetImageDOCX (const TXmlImage* pXmlImage);
template <class T> bool CreateImage (const OOX::Logic::Pict& oPicture, ASCDocFileFormat::Run& oBinRun);
template <class T> OOX::Image* GetImageWithId(const OOX::RId& nID);
template<class T> bool CreateTextureFillShape (const OOX::Logic::Pict& oXml, ASCDocFileFormat::Run& oBinRun);
// Group
template<class T> ASCDocFileFormat::COArtGroup* CreateGroup(const OOX::Logic::Group& oXmlGroup);
template<class T> bool PictGroupXmlTransform (const OOX::Logic::Pict& oXml, ASCDocFileFormat::Run& oBinRun);
// TextBox
bool BuildContentTbRef (const OOX::Logic::Pict& oXml);
bool TransformTb (const std::vector<OOX::Logic::TextItem>& oXmlItems, std::vector<ASCDocFileFormat::TextItem>& oTextItems);
private:
std::map<std::wstring, short> m_mapFontTableMap;
std::vector<std::wstring> m_arrInternalFonts;
map<string, ASCDocFileFormat::LID> lidMap;
map<string, ASCDocFileFormat::StyleID> predefinedStyleIDMap;
std::map<string, short> m_mapStyleSheetMap;
map<string, ASCDocFileFormat::Constants::StyleType> styleTypeMap;
map<string, ASCDocFileFormat::Constants::MSONFC> numFmtMap;
map<int, int> idLsidMap;
map<int, short> idIndexMap;
map<string, unsigned char> kulMap;
map<string, ASCDocFileFormat::Constants::SBkcOperand> sectionBreakTypeMap;
map<string, unsigned char> verticalPositionCodeMap;
map<string, unsigned char> horizontalPositionCodeMap;
map<string, unsigned char> textFrameWrappingMap;
map<string, ASCDocFileFormat::Constants::Fts> tableCellWidthMap;
map<string, ASCDocFileFormat::Constants::TabJC> customTabStopAlignment;
map<string, ASCDocFileFormat::Constants::TabLC> customTabStopLeader;
Docx::Folder m_docxInputFile;
ASCDocFileFormat::CDocFile* m_pDocFile;
bool m_bHaveSeparateFldChar;
bool m_bIsInlineShape;
ASCDocFileFormat::COArtBuilder m_oOArtBuilder; // Office Drawing Binary File Format - Builder
ASCDocFileFormat::InlineShape m_oInlineShape;
bool m_bIsHaveRunPr;
};
}

View File

@ -1,145 +0,0 @@
/*
* (c) Copyright Ascensio System SIA 2010-2019
*
* 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 20A-12 Ernesta Birznieka-Upisha
* street, Riga, Latvia, EU, LV-1050.
*
* 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
#include "IRunItem.h"
#include "Constants.h"
#include "Plcfld.h"
namespace ASCDocFileFormat
{
static const wchar_t* FldCharTypeBegin = _T("begin");
static const wchar_t* FldCharTypeSeparate = _T("separate");
static const wchar_t* FldCharTypeEnd = _T("end");
class FldChar : public IRunItem
{
public:
static const unsigned char FldCharBegin = 0x13;
static const unsigned char FldCharSeparate = 0x14;
static const unsigned char FldCharEnd = 0x15;
public:
FldChar () : fld()
{
text = wstring(&TextMark::FieldBeginMark);
properties.push_back(Prl((short)DocFileFormat::sprmCFSpec, (unsigned char*)(&CFSpec)));
}
explicit FldChar (const wstring& charType, unsigned char grffld = 0)
{
if (charType == wstring (FldCharTypeBegin))
{
text = wstring (&TextMark::FieldBeginMark);
fld = Fld (FldCharBegin, grffld);
}
if (charType == wstring (FldCharTypeSeparate))
{
text = wstring (&TextMark::FieldSeparator);
fld = Fld (FldCharSeparate, grffld);
}
if (charType == wstring (FldCharTypeEnd))
{
text = wstring(&TextMark::FieldEndMark);
fld = Fld (FldCharEnd, grffld);
}
properties.push_back (Prl((short)DocFileFormat::sprmCFSpec, (unsigned char*)(&CFSpec)));
}
virtual ~FldChar()
{
}
inline const Fld& GetField() const
{
return fld;
}
inline unsigned char CharType () const
{
return fld.GetFieldCharacterType();
}
inline void SetFieldCharacterProperties (unsigned char grffld)
{
fld.SetProperties(grffld);
}
// IRunItem
virtual IVirtualConstructor* New() const
{
return new FldChar();
}
virtual IVirtualConstructor* Clone() const
{
return new FldChar(*this);
}
virtual unsigned long GetTextSize() const
{
return text.size();
}
virtual wstring GetAllText() const
{
return text;
}
virtual vector<Prl> GetRunProperties() const
{
vector<Prl> prls;
for (list<Prl>::const_iterator iter = properties.begin(); iter != this->properties.end(); ++iter)
prls.push_back( *iter );
return prls;
}
virtual unsigned int PrlSize () const
{
return (unsigned int)properties.size();
}
private:
static const unsigned char CFSpec = 1;
wstring text;
list<Prl> properties;
Fld fld;
};
}

View File

@ -1,254 +0,0 @@
/*
* (c) Copyright Ascensio System SIA 2010-2019
*
* 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 20A-12 Ernesta Birznieka-Upisha
* street, Riga, Latvia, EU, LV-1050.
*
* 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
*
*/
#include "Footer.h"
namespace ASCDocFileFormat
{
Footer::Footer() : footerItemsOffset(0)
{
Paragraph paragraph;
paragraph.AddParagraphItem( Run() );
this->textItems.push_back( FooterItemWithOffset( TextItemPtr( static_cast<ITextItem*>(paragraph.Clone()) ), this->footerItemsOffset ) );
this->footerItemsOffset += ( sizeof(wchar_t) * paragraph.GetAllText().size() );
}
Footer::Footer( const Footer& _footer ) : footerItemsOffset(_footer.footerItemsOffset)
{
for ( list<FooterItemWithOffset>::const_iterator iter = _footer.textItems.begin(); iter != _footer.textItems.end(); iter++ )
{
this->textItems.push_back( FooterItemWithOffset( TextItemPtr( static_cast<ITextItem*>( iter->footerItem->Clone() ) ), iter->footerItemOffset ) );
}
}
void Footer::AddTextItem( const ITextItem& _textItem )
{
ITextItem* textItem = static_cast<ITextItem*>( _textItem.Clone() );
if ( !this->textItems.empty() )
{
list<FooterItemWithOffset>::iterator iter = this->textItems.begin();
for ( unsigned int i = 0; i < ( this->textItems.size() - 1 ); i++, iter++ );
this->textItems.erase( iter );
this->footerItemsOffset -= sizeof(wchar_t);
}
if ( textItem != NULL )
{
this->textItems.push_back( FooterItemWithOffset( TextItemPtr( textItem ), this->footerItemsOffset ) );
this->footerItemsOffset += ( sizeof(wchar_t) * textItem->GetAllText().size() );
Paragraph paragraph;
paragraph.AddParagraphItem( Run() );
this->textItems.push_back( FooterItemWithOffset( TextItemPtr( static_cast<ITextItem*>(paragraph.Clone()) ), this->footerItemsOffset ) );
this->footerItemsOffset += ( sizeof(wchar_t) * paragraph.GetAllText().size() );
}
}
Footer::~Footer()
{
}
wstring Footer::GetAllText() const
{
wstring allText;
for ( list<FooterItemWithOffset>::const_iterator iter = this->textItems.begin(); iter != this->textItems.end(); iter++ )
{
allText += iter->footerItem->GetAllText();
}
return allText;
}
Footer::operator wstring() const
{
wstring allText;
for ( list<FooterItemWithOffset>::const_iterator iter = this->textItems.begin(); iter != this->textItems.end(); iter++ )
{
allText += *(iter->footerItem);
}
return allText;
}
vector<TextItemPtr> Footer::GetAllParagraphsCopy() const
{
vector<TextItemPtr> allParagraphs;
for ( list<FooterItemWithOffset>::const_iterator iter = this->textItems.begin(); iter != this->textItems.end(); iter++ )
{
vector<TextItemPtr> textItemParagraphs = iter->footerItem->GetAllParagraphsCopy();
for ( vector<TextItemPtr>::const_iterator textItemParagraphsIter = textItemParagraphs.begin(); textItemParagraphsIter != textItemParagraphs.end(); textItemParagraphsIter++ )
{
allParagraphs.push_back( TextItemPtr( static_cast<ITextItem*>( (*textItemParagraphsIter)->Clone() ) ) );
}
}
return allParagraphs;
}
vector<ITextItem*> Footer::GetAllParagraphs()
{
vector<ITextItem*> allParagraphs;
for ( list<FooterItemWithOffset>::const_iterator iter = this->textItems.begin(); iter != this->textItems.end(); iter++ )
{
ITextItem* item = (ITextItem*)iter->footerItem.operator->();
vector<ITextItem*> textItemParagraphs = item->GetAllParagraphs();
for ( vector<ITextItem*>::iterator textItemParagraphsIter = textItemParagraphs.begin(); textItemParagraphsIter != textItemParagraphs.end(); textItemParagraphsIter++ )
{
allParagraphs.push_back( *textItemParagraphsIter );
}
}
return allParagraphs;
}
vector<PapxInFkp> Footer::GetAllParagraphsProperties( vector<unsigned int>* allParagraphsOffsets ) const
{
vector<PapxInFkp> allParagraphsProperties;
unsigned int paragraphOffset = 0;
if ( allParagraphsOffsets != NULL )
{
for ( list<FooterItemWithOffset>::const_iterator iter = this->textItems.begin(); iter != this->textItems.end(); iter++ )
{
vector<unsigned int> footerItemParagraphsOffsets;
vector<PapxInFkp> footerItemParagraphsProperties = iter->footerItem->GetAllParagraphsProperties( &footerItemParagraphsOffsets );
for ( unsigned int i = 0; i < footerItemParagraphsProperties.size(); i++ )
{
allParagraphsProperties.push_back( footerItemParagraphsProperties[i] );
allParagraphsOffsets->push_back( paragraphOffset + footerItemParagraphsOffsets[i] );
}
paragraphOffset += ( sizeof(wchar_t) * iter->footerItem->GetAllText().size() );
}
}
return allParagraphsProperties;
}
vector<Chpx> Footer::GetAllRunProperties( vector<unsigned int>* allRunsOffsets ) const
{
vector<Chpx> allRunsProperties;
unsigned int runOffset = 0;
if ( allRunsOffsets != NULL )
{
for ( list<FooterItemWithOffset>::const_iterator iter = this->textItems.begin(); iter != this->textItems.end(); iter++ )
{
vector<unsigned int> footerItemRunsOffsets;
vector<Chpx> footerItemRunsProperties = iter->footerItem->GetAllRunProperties( &footerItemRunsOffsets );
for ( unsigned int i = 0; i < footerItemRunsProperties.size(); i++ )
{
allRunsProperties.push_back( footerItemRunsProperties[i] );
allRunsOffsets->push_back( runOffset + footerItemRunsOffsets[i] );
}
runOffset += ( sizeof(wchar_t) * iter->footerItem->GetAllText().size() );
}
}
return allRunsProperties;
}
vector<IParagraphItemPtr> Footer::GetAllRunsCopy( vector<unsigned int>* allRunsOffsets ) const
{
vector<IParagraphItemPtr> allRuns;
if ( allRunsOffsets != NULL )
{
unsigned int runOffset = 0;
for ( list<FooterItemWithOffset>::const_iterator iter = this->textItems.begin(); iter != this->textItems.end(); iter++ )
{
vector<unsigned int> allTextItemRunsOffsets;
vector<IParagraphItemPtr> allTextItemRuns = iter->footerItem->GetAllRunsCopy( &allTextItemRunsOffsets );
for ( unsigned int i = 0; i < allTextItemRuns.size(); i++ )
{
allRuns.push_back( IParagraphItemPtr( static_cast<IParagraphItem*>(allTextItemRuns[i]->Clone()) ) );
allRunsOffsets->push_back( runOffset + allTextItemRunsOffsets[i] );
}
runOffset += ( sizeof(wchar_t) * iter->footerItem->GetAllText().size() );
}
}
return allRuns;
}
vector<IParagraphItemPtr> Footer::GetAllParagraphItemsCopy( vector<unsigned int>* allParagraphItemsOffsets ) const
{
vector<IParagraphItemPtr> allParagraphItems;
if ( allParagraphItemsOffsets != NULL )
{
unsigned int textItemOffset = 0;
for ( list<FooterItemWithOffset>::const_iterator iter = this->textItems.begin(); iter != this->textItems.end(); iter++ )
{
vector<unsigned int> allTextItemParagraphItemsOffsets;
vector<IParagraphItemPtr> allTextItemParagraphItems = iter->footerItem->GetAllParagraphItemsCopy( &allTextItemParagraphItemsOffsets );
for ( unsigned int i = 0; i < allTextItemParagraphItems.size(); i++ )
{
allParagraphItems.push_back( IParagraphItemPtr( static_cast<IParagraphItem*>(allTextItemParagraphItems[i]->Clone()) ) );
allParagraphItemsOffsets->push_back( textItemOffset + allTextItemParagraphItemsOffsets[i] );
}
textItemOffset += ( sizeof(wchar_t) * iter->footerItem->GetAllText().size() );
}
}
return allParagraphItems;
}
IVirtualConstructor* Footer::New() const
{
return new Footer();
}
IVirtualConstructor* Footer::Clone() const
{
return new Footer( *this );
}
}

View File

@ -1,76 +0,0 @@
/*
* (c) Copyright Ascensio System SIA 2010-2019
*
* 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 20A-12 Ernesta Birznieka-Upisha
* street, Riga, Latvia, EU, LV-1050.
*
* 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
#include "Paragraph.h"
namespace ASCDocFileFormat
{
class Footer: public ITextItem
{
struct FooterItemWithOffset
{
TextItemPtr footerItem;
unsigned int footerItemOffset;
FooterItemWithOffset() : footerItem(), footerItemOffset(0)
{
}
FooterItemWithOffset(const TextItemPtr& _footerItem, unsigned int _footerItemOffset) : footerItem(_footerItem), footerItemOffset(_footerItemOffset)
{
}
};
private:
list<FooterItemWithOffset> textItems;
unsigned int footerItemsOffset;
public:
explicit Footer();
Footer( const Footer& _footer );
void AddTextItem( const ITextItem& _textItem );
virtual ~Footer();
virtual wstring GetAllText() const;
virtual operator wstring() const;
virtual vector<TextItemPtr> GetAllParagraphsCopy() const;
virtual vector<ITextItem*> GetAllParagraphs();
virtual vector<PapxInFkp> GetAllParagraphsProperties( vector<unsigned int>* allParagraphsOffsets ) const;
virtual vector<Chpx> GetAllRunProperties( vector<unsigned int>* allRunsOffsets ) const;
virtual vector<IParagraphItemPtr> GetAllRunsCopy( vector<unsigned int>* allRunsOffsets ) const;
virtual vector<IParagraphItemPtr> GetAllParagraphItemsCopy( vector<unsigned int>* allParagraphItemsOffsets ) const;
virtual IVirtualConstructor* New() const;
virtual IVirtualConstructor* Clone() const;
};
}

View File

@ -1,240 +0,0 @@
/*
* (c) Copyright Ascensio System SIA 2010-2019
*
* 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 20A-12 Ernesta Birznieka-Upisha
* street, Riga, Latvia, EU, LV-1050.
*
* 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
*
*/
#include "Footnote.h"
namespace ASCDocFileFormat
{
Footnote::Footnote( short _aFtnIdx ) : footnoteItemsOffset(0), aFtnIdx(_aFtnIdx)
{
}
Footnote::Footnote( const Footnote& _footnote ) : footnoteItemsOffset(_footnote.footnoteItemsOffset), aFtnIdx(_footnote.aFtnIdx)
{
for ( list<FootnoteItemWithOffset>::const_iterator iter = _footnote.textItems.begin(); iter != _footnote.textItems.end(); iter++ )
{
this->textItems.push_back( FootnoteItemWithOffset( TextItemPtr( static_cast<ITextItem*>( iter->footnoteItem->Clone() ) ), iter->footnoteItemOffset ) );
}
}
void Footnote::AddTextItem( const ITextItem& _textItem )
{
ITextItem* textItem = static_cast<ITextItem*>( _textItem.Clone() );
if ( textItem != NULL )
{
this->textItems.push_back( FootnoteItemWithOffset( TextItemPtr( textItem ), this->footnoteItemsOffset ) );
this->footnoteItemsOffset += ( sizeof(wchar_t) * textItem->GetAllText().size() );
}
}
short Footnote::GetIndex() const
{
return this->aFtnIdx;
}
Footnote::~Footnote()
{
}
wstring Footnote::GetAllText() const
{
wstring allText;
for ( list<FootnoteItemWithOffset>::const_iterator iter = this->textItems.begin(); iter != this->textItems.end(); iter++ )
{
allText += iter->footnoteItem->GetAllText();
}
return allText;
}
Footnote::operator wstring() const
{
wstring allText;
for ( list<FootnoteItemWithOffset>::const_iterator iter = this->textItems.begin(); iter != this->textItems.end(); iter++ )
{
allText += *(iter->footnoteItem);
}
return allText;
}
vector<TextItemPtr> Footnote::GetAllParagraphsCopy() const
{
vector<TextItemPtr> allParagraphs;
for ( list<FootnoteItemWithOffset>::const_iterator iter = this->textItems.begin(); iter != this->textItems.end(); iter++ )
{
vector<TextItemPtr> textItemParagraphs = iter->footnoteItem->GetAllParagraphsCopy();
for ( vector<TextItemPtr>::const_iterator textItemParagraphsIter = textItemParagraphs.begin(); textItemParagraphsIter != textItemParagraphs.end(); textItemParagraphsIter++ )
{
allParagraphs.push_back( TextItemPtr( static_cast<ITextItem*>( (*textItemParagraphsIter)->Clone() ) ) );
}
}
return allParagraphs;
}
vector<ITextItem*> Footnote::GetAllParagraphs()
{
vector<ITextItem*> allParagraphs;
for ( list<FootnoteItemWithOffset>::const_iterator iter = this->textItems.begin(); iter != this->textItems.end(); iter++ )
{
ITextItem* item = (ITextItem*)iter->footnoteItem.operator->();
vector<ITextItem*> textItemParagraphs = item->GetAllParagraphs();
for ( vector<ITextItem*>::iterator textItemParagraphsIter = textItemParagraphs.begin(); textItemParagraphsIter != textItemParagraphs.end(); textItemParagraphsIter++ )
{
allParagraphs.push_back( *textItemParagraphsIter );
}
}
return allParagraphs;
}
vector<PapxInFkp> Footnote::GetAllParagraphsProperties( vector<unsigned int>* allParagraphsOffsets ) const
{
vector<PapxInFkp> allParagraphsProperties;
unsigned int paragraphOffset = 0;
if ( allParagraphsOffsets != NULL )
{
for ( list<FootnoteItemWithOffset>::const_iterator iter = this->textItems.begin(); iter != this->textItems.end(); iter++ )
{
vector<unsigned int> footnoteItemParagraphsOffsets;
vector<PapxInFkp> footnoteItemParagraphsProperties = iter->footnoteItem->GetAllParagraphsProperties( &footnoteItemParagraphsOffsets );
for ( unsigned int i = 0; i < footnoteItemParagraphsProperties.size(); i++ )
{
allParagraphsProperties.push_back( footnoteItemParagraphsProperties[i] );
allParagraphsOffsets->push_back( paragraphOffset + footnoteItemParagraphsOffsets[i] );
}
paragraphOffset += ( sizeof(wchar_t) * iter->footnoteItem->GetAllText().size() );
}
}
return allParagraphsProperties;
}
vector<Chpx> Footnote::GetAllRunProperties( vector<unsigned int>* allRunsOffsets ) const
{
vector<Chpx> allRunsProperties;
unsigned int runOffset = 0;
if ( allRunsOffsets != NULL )
{
for ( list<FootnoteItemWithOffset>::const_iterator iter = this->textItems.begin(); iter != this->textItems.end(); iter++ )
{
vector<unsigned int> footnoteItemRunsOffsets;
vector<Chpx> footnoteItemRunsProperties = iter->footnoteItem->GetAllRunProperties( &footnoteItemRunsOffsets );
for ( unsigned int i = 0; i < footnoteItemRunsProperties.size(); i++ )
{
allRunsProperties.push_back( footnoteItemRunsProperties[i] );
allRunsOffsets->push_back( runOffset + footnoteItemRunsOffsets[i] );
}
runOffset += ( sizeof(wchar_t) * iter->footnoteItem->GetAllText().size() );
}
}
return allRunsProperties;
}
vector<IParagraphItemPtr> Footnote::GetAllRunsCopy( vector<unsigned int>* allRunsOffsets ) const
{
vector<IParagraphItemPtr> allRuns;
if ( allRunsOffsets != NULL )
{
unsigned int runOffset = 0;
for ( list<FootnoteItemWithOffset>::const_iterator iter = this->textItems.begin(); iter != this->textItems.end(); iter++ )
{
vector<unsigned int> allTextItemRunsOffsets;
vector<IParagraphItemPtr> allTextItemRuns = iter->footnoteItem->GetAllRunsCopy( &allTextItemRunsOffsets );
for ( unsigned int i = 0; i < allTextItemRuns.size(); i++ )
{
allRuns.push_back( IParagraphItemPtr( static_cast<IParagraphItem*>(allTextItemRuns[i]->Clone()) ) );
allRunsOffsets->push_back( runOffset + allTextItemRunsOffsets[i] );
}
runOffset += ( sizeof(wchar_t) * iter->footnoteItem->GetAllText().size() );
}
}
return allRuns;
}
vector<IParagraphItemPtr> Footnote::GetAllParagraphItemsCopy( vector<unsigned int>* allParagraphItemsOffsets ) const
{
vector<IParagraphItemPtr> allParagraphItems;
if ( allParagraphItemsOffsets != NULL )
{
unsigned int textItemOffset = 0;
for ( list<FootnoteItemWithOffset>::const_iterator iter = this->textItems.begin(); iter != this->textItems.end(); iter++ )
{
vector<unsigned int> allTextItemParagraphItemsOffsets;
vector<IParagraphItemPtr> allTextItemParagraphItems = iter->footnoteItem->GetAllParagraphItemsCopy( &allTextItemParagraphItemsOffsets );
for ( unsigned int i = 0; i < allTextItemParagraphItems.size(); i++ )
{
allParagraphItems.push_back( IParagraphItemPtr( static_cast<IParagraphItem*>(allTextItemParagraphItems[i]->Clone()) ) );
allParagraphItemsOffsets->push_back( textItemOffset + allTextItemParagraphItemsOffsets[i] );
}
textItemOffset += ( sizeof(wchar_t) * iter->footnoteItem->GetAllText().size() );
}
}
return allParagraphItems;
}
IVirtualConstructor* Footnote::New() const
{
return new Footnote();
}
IVirtualConstructor* Footnote::Clone() const
{
return new Footnote( *this );
}
}

View File

@ -1,84 +0,0 @@
/*
* (c) Copyright Ascensio System SIA 2010-2019
*
* 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 20A-12 Ernesta Birznieka-Upisha
* street, Riga, Latvia, EU, LV-1050.
*
* 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
#include "ITextItem.h"
#include "FootnoteRef.h"
#include "FootnoteReference.h"
#include "PLC.h"
namespace ASCDocFileFormat
{
typedef PLC<EmptyPLCData> PlcffndTxt;
typedef PLC<short> PlcffndRef;
class Footnote : public ITextItem
{
struct FootnoteItemWithOffset
{
TextItemPtr footnoteItem;
unsigned int footnoteItemOffset;
FootnoteItemWithOffset():
footnoteItem(), footnoteItemOffset(0)
{
}
FootnoteItemWithOffset( const TextItemPtr& _footnoteItem, unsigned int _footnoteItemOffset ):
footnoteItem(_footnoteItem), footnoteItemOffset(_footnoteItemOffset)
{
}
};
private:
list<FootnoteItemWithOffset> textItems;
unsigned int footnoteItemsOffset;
short aFtnIdx;
public:
explicit Footnote( short _aFtnIdx = 0 );
Footnote( const Footnote& _footnote );
void AddTextItem( const ITextItem& _textItem );
short GetIndex() const;
virtual ~Footnote();
virtual wstring GetAllText() const;
virtual operator wstring() const;
virtual vector<TextItemPtr> GetAllParagraphsCopy() const;
virtual vector<ITextItem*> GetAllParagraphs();
virtual vector<PapxInFkp> GetAllParagraphsProperties( vector<unsigned int>* allParagraphsOffsets ) const;
virtual vector<Chpx> GetAllRunProperties( vector<unsigned int>* allRunsOffsets ) const;
virtual vector<IParagraphItemPtr> GetAllRunsCopy( vector<unsigned int>* allRunsOffsets ) const;
virtual vector<IParagraphItemPtr> GetAllParagraphItemsCopy( vector<unsigned int>* allParagraphItemsOffsets ) const;
virtual IVirtualConstructor* New() const;
virtual IVirtualConstructor* Clone() const;
};
}

View File

@ -1,116 +0,0 @@
/*
* (c) Copyright Ascensio System SIA 2010-2019
*
* 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 20A-12 Ernesta Birznieka-Upisha
* street, Riga, Latvia, EU, LV-1050.
*
* 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
#include "IRunItem.h"
#include "CSymbolOperand.h"
#include "Constants.h"
namespace ASCDocFileFormat
{
class FootnoteRef: public IRunItem
{
private:
static const unsigned char CFSpec = 1;
short aFtnIdx;
wstring text;
list<Prl> properties;
public:
explicit FootnoteRef( short _aFtnIdx = 0, unsigned short _ftc = 0, wchar_t _xchar = 0x0000 ):
aFtnIdx(_aFtnIdx)
{
if ( this->aFtnIdx == 0 )
{
//!!!TODO!!!
this->properties.push_back( Prl( (short)DocFileFormat::sprmCSymbol, (unsigned char*)CSymbolOperand( _ftc, _xchar ) ) );
}
else
{
this->text = wstring( &TextMark::AutoNumberedFootnoteReference );
this->properties.push_back( Prl( (short)DocFileFormat::sprmCFSpec, (unsigned char*)(&CFSpec) ) );
}
}
FootnoteRef( const FootnoteRef& _footnoteRef ):
aFtnIdx(_footnoteRef.aFtnIdx), text(_footnoteRef.text), properties(_footnoteRef.properties)
{
}
short GetIndex() const
{
return this->aFtnIdx;
}
virtual ~FootnoteRef()
{
}
virtual IVirtualConstructor* New() const
{
return new FootnoteRef();
}
virtual IVirtualConstructor* Clone() const
{
return new FootnoteRef(*this);
}
virtual unsigned long GetTextSize() const
{
return this->text.size();
}
virtual wstring GetAllText() const
{
return this->text;
}
virtual vector<Prl> GetRunProperties() const
{
vector<Prl> prls;
for ( list<Prl>::const_iterator iter = this->properties.begin(); iter != this->properties.end(); iter++ )
{
prls.push_back( *iter );
}
return prls;
}
virtual unsigned int PrlSize () const
{
return (unsigned int)properties.size();
}
};
}

View File

@ -1,116 +0,0 @@
/*
* (c) Copyright Ascensio System SIA 2010-2019
*
* 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 20A-12 Ernesta Birznieka-Upisha
* street, Riga, Latvia, EU, LV-1050.
*
* 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
#include "IRunItem.h"
#include "CSymbolOperand.h"
#include "Constants.h"
namespace ASCDocFileFormat
{
class FootnoteReference: public IRunItem
{
private:
static const unsigned char CFSpec = 1;
short aFtnIdx;
wstring text;
list<Prl> properties;
public:
explicit FootnoteReference( short _aFtnIdx = 0, unsigned short _ftc = 0, wchar_t _xchar = 0x0000 ):
aFtnIdx(_aFtnIdx)
{
if ( this->aFtnIdx == 0 )
{
//!!!TODO!!!
this->properties.push_back( Prl( (short)DocFileFormat::sprmCSymbol, (unsigned char*)CSymbolOperand( _ftc, _xchar ) ) );
}
else
{
this->text = wstring( &TextMark::AutoNumberedFootnoteReference );
this->properties.push_back( Prl( (short)DocFileFormat::sprmCFSpec, (unsigned char*)(&CFSpec) ) );
}
}
FootnoteReference( const FootnoteReference& _footnoteReference ):
aFtnIdx(_footnoteReference.aFtnIdx), text(_footnoteReference.text), properties(_footnoteReference.properties)
{
}
short GetIndex() const
{
return this->aFtnIdx;
}
virtual ~FootnoteReference()
{
}
virtual IVirtualConstructor* New() const
{
return new FootnoteReference();
}
virtual IVirtualConstructor* Clone() const
{
return new FootnoteReference(*this);
}
virtual unsigned long GetTextSize() const
{
return this->text.size();
}
virtual wstring GetAllText() const
{
return this->text;
}
virtual vector<Prl> GetRunProperties() const
{
vector<Prl> prls;
for ( list<Prl>::const_iterator iter = this->properties.begin(); iter != this->properties.end(); iter++ )
{
prls.push_back( *iter );
}
return prls;
}
virtual unsigned int PrlSize() const
{
return (unsigned int)properties.size();
}
};
}

View File

@ -1,283 +0,0 @@
/*
* (c) Copyright Ascensio System SIA 2010-2019
*
* 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 20A-12 Ernesta Birznieka-Upisha
* street, Riga, Latvia, EU, LV-1050.
*
* 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
#include "Constants.h"
namespace ASCDocFileFormat
{
class FtsWWidth_Table: public IOperand
{
private:
Constants::Fts ftsWidth;
unsigned short wWidth;
static const unsigned char SIZE_IN_BYTES = 3;
unsigned char bytes[SIZE_IN_BYTES];
public:
explicit FtsWWidth_Table( Constants::Fts _ftsWidth, unsigned short _wWidth = 0 )
{
if ( _ftsWidth == Constants::ftsDxaSys )
{
this->ftsWidth = Constants::ftsNil;
}
else
{
this->ftsWidth = _ftsWidth;
}
if ( ( this->ftsWidth == Constants::ftsNil ) || ( this->ftsWidth == Constants::ftsAuto ) )
{
this->wWidth = 0;
}
else if ( this->ftsWidth == Constants::ftsPercent )
{
if ( _wWidth > 30000 )
{
this->wWidth = 30000;
}
else
{
this->wWidth = _wWidth;
}
}
else if ( this->ftsWidth == Constants::ftsDxa )
{
if ( _wWidth > 31680 )
{
this->wWidth = 31680;
}
else
{
this->wWidth = _wWidth;
}
}
memset( this->bytes, 0, SIZE_IN_BYTES );
this->bytes[0] = this->ftsWidth;
memcpy( ( this->bytes + sizeof(unsigned char) ), &(this->wWidth), sizeof(this->wWidth) );
}
FtsWWidth_Table( const FtsWWidth_Table& ftsWWidth_Table ):
ftsWidth(ftsWWidth_Table.ftsWidth), wWidth(ftsWWidth_Table.wWidth)
{
memset( this->bytes, 0, SIZE_IN_BYTES );
this->bytes[0] = this->ftsWidth;
memcpy( ( this->bytes + sizeof(unsigned char) ), &(this->wWidth), sizeof(this->wWidth) );
}
virtual ~FtsWWidth_Table()
{
}
virtual unsigned int Size() const
{
return SIZE_IN_BYTES;
}
virtual operator unsigned char*() const
{
return (unsigned char*)(this->bytes);
}
virtual operator const unsigned char*() const
{
return (const unsigned char*)(this->bytes);
}
};
class FtsWWidth_TablePart: public IOperand
{
private:
Constants::Fts ftsWidth;
unsigned short wWidth;
static const unsigned char SIZE_IN_BYTES = 3;
unsigned char bytes[SIZE_IN_BYTES];
public:
explicit FtsWWidth_TablePart( Constants::Fts _ftsWidth, unsigned short _wWidth = 0 )
{
if ( _ftsWidth == Constants::ftsDxaSys )
{
this->ftsWidth = Constants::ftsNil;
}
else if(_ftsWidth == Constants::ftsDxa && 0 == _wWidth)
{
this->ftsWidth = Constants::ftsAuto;
}
else
{
this->ftsWidth = _ftsWidth;
}
if ( ( this->ftsWidth == Constants::ftsNil ) || ( this->ftsWidth == Constants::ftsAuto ) )
{
this->wWidth = 0;
}
else if ( this->ftsWidth == Constants::ftsPercent )
{
if ( _wWidth > 5000 )
{
this->wWidth = 5000;
}
else
{
this->wWidth = _wWidth;
}
}
else if ( this->ftsWidth == Constants::ftsDxa )
{
if ( _wWidth > 31680 )
{
this->wWidth = 31680;
}
else
{
this->wWidth = _wWidth;
}
}
memset( this->bytes, 0, SIZE_IN_BYTES );
this->bytes[0] = this->ftsWidth;
memcpy( ( this->bytes + sizeof(unsigned char) ), &(this->wWidth), sizeof(this->wWidth) );
}
FtsWWidth_TablePart( const FtsWWidth_TablePart& ftsWWidth_TablePart ):
ftsWidth(ftsWWidth_TablePart.ftsWidth), wWidth(ftsWWidth_TablePart.wWidth)
{
memset( this->bytes, 0, SIZE_IN_BYTES );
this->bytes[0] = this->ftsWidth;
memcpy( ( this->bytes + sizeof(unsigned char) ), &(this->wWidth), sizeof(this->wWidth) );
}
virtual ~FtsWWidth_TablePart()
{
}
virtual unsigned int Size() const
{
return SIZE_IN_BYTES;
}
virtual operator unsigned char*() const
{
return (unsigned char*)(this->bytes);
}
virtual operator const unsigned char*() const
{
return (const unsigned char*)(this->bytes);
}
};
class FtsWWidth_Indent: public IOperand
{
private:
Constants::Fts ftsWidth;
short wWidth;
static const unsigned char SIZE_IN_BYTES = 3;
unsigned char bytes[SIZE_IN_BYTES];
public:
explicit FtsWWidth_Indent( Constants::Fts _ftsWidth, short _wWidth = 0 )
{
if ( ( _ftsWidth == Constants::ftsPercent ) || ( _ftsWidth == Constants::ftsDxaSys ) )
{
this->ftsWidth = Constants::ftsNil;
}
else
{
this->ftsWidth = _ftsWidth;
}
if ( ( this->ftsWidth == Constants::ftsNil ) || ( this->ftsWidth == Constants::ftsAuto ) )
{
this->wWidth = 0;
}
else if ( this->ftsWidth == Constants::ftsDxa )
{
if ( _wWidth > 31680 )
{
this->wWidth = 31680;
}
else if ( _wWidth < -31560 )
{
this->wWidth = -31560;
}
else
{
this->wWidth = _wWidth;
}
}
memset( this->bytes, 0, SIZE_IN_BYTES );
this->bytes[0] = this->ftsWidth;
memcpy( ( this->bytes + sizeof(unsigned char) ), &(this->wWidth), sizeof(this->wWidth) );
}
FtsWWidth_Indent( const FtsWWidth_Indent& ftsWWidth_Indent ):
ftsWidth(ftsWWidth_Indent.ftsWidth), wWidth(ftsWWidth_Indent.wWidth)
{
memset( this->bytes, 0, SIZE_IN_BYTES );
this->bytes[0] = this->ftsWidth;
memcpy( ( this->bytes + sizeof(unsigned char) ), &(this->wWidth), sizeof(this->wWidth) );
}
virtual ~FtsWWidth_Indent()
{
}
virtual unsigned int Size() const
{
return SIZE_IN_BYTES;
}
virtual operator unsigned char*() const
{
return (unsigned char*)(this->bytes);
}
virtual operator const unsigned char*() const
{
return (const unsigned char*)(this->bytes);
}
};
}

View File

@ -1,94 +0,0 @@
/*
* (c) Copyright Ascensio System SIA 2010-2019
*
* 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 20A-12 Ernesta Birznieka-Upisha
* street, Riga, Latvia, EU, LV-1050.
*
* 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 ASCDocFileFormat
{
union GRFSTD
{
private:
struct
{
unsigned short fAutoRedef:1;
unsigned short fHidden:1;
unsigned short f97LidsSet:1;
unsigned short fCopyLang:1;
unsigned short fPersonalCompose:1;
unsigned short fPersonalReply:1;
unsigned short fPersonal:1;
unsigned short fNoHtmlExport:1;
unsigned short fSemiHidden:1;
unsigned short fLocked:1;
unsigned short fInternalUse:1;
unsigned short fUnhideWhenUsed:1;
unsigned short fQFormat:1;
unsigned short fReserved:3;
} GRFSTDStruct;
unsigned short GRFSTDUnsignedShort;
public:
GRFSTD():
GRFSTDUnsignedShort(0)
{
}
explicit GRFSTD( unsigned short _grfstd ):
GRFSTDUnsignedShort(_grfstd)
{
}
explicit GRFSTD( bool _fAutoRedef, bool _fHidden, bool _fPersonalCompose, bool _fPersonalReply, bool _fPersonal,
bool _fSemiHidden, bool _fLocked, bool _fUnhideWhenUsed, bool _fQFormat ):
GRFSTDUnsignedShort(0)
{
( _fAutoRedef ) ? ( this->GRFSTDStruct.fAutoRedef = 1 ) : ( this->GRFSTDStruct.fAutoRedef = 0 );
( _fHidden ) ? ( this->GRFSTDStruct.fHidden = 1 ) : ( this->GRFSTDStruct.fHidden = 0 );
this->GRFSTDStruct.f97LidsSet = 0;
this->GRFSTDStruct.fCopyLang = 0;
( _fPersonalCompose ) ? ( this->GRFSTDStruct.fPersonalCompose = 1 ) : ( this->GRFSTDStruct.fPersonalCompose = 0 );
( _fPersonalReply ) ? ( this->GRFSTDStruct.fPersonalReply = 1 ) : ( this->GRFSTDStruct.fPersonal = 0 );
( _fPersonal ) ? ( this->GRFSTDStruct.fPersonal = 1 ) : ( this->GRFSTDStruct.fPersonal = 0 );
this->GRFSTDStruct.fNoHtmlExport = 0;
( _fSemiHidden ) ? ( this->GRFSTDStruct.fSemiHidden = 1 ) : ( this->GRFSTDStruct.fSemiHidden = 0 );
( _fLocked ) ? ( this->GRFSTDStruct.fLocked = 1 ) : ( this->GRFSTDStruct.fLocked = 0 );
this->GRFSTDStruct.fInternalUse = 0;
( _fUnhideWhenUsed ) ? ( this->GRFSTDStruct.fUnhideWhenUsed = 1 ) : ( this->GRFSTDStruct.fUnhideWhenUsed = 0 );
( _fQFormat ) ? ( this->GRFSTDStruct.fQFormat = 1 ) : ( this->GRFSTDStruct.fQFormat = 0 );
this->GRFSTDStruct.fReserved = 0;
}
operator unsigned short() const
{
return this->GRFSTDUnsignedShort;
}
};
}

View File

@ -1,608 +0,0 @@
/*
* (c) Copyright Ascensio System SIA 2010-2019
*
* 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 20A-12 Ernesta Birznieka-Upisha
* street, Riga, Latvia, EU, LV-1050.
*
* 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
#include "LPUpxPapx.h"
#include "LPUpxChpx.h"
#include "LPUpxTapx.h"
#include "Constants.h"
namespace ASCDocFileFormat
{
//!!!TODO: The revision-marking information and formatting for the style.!!!
class StkParaGRLPUPX: public IOperand
{
private:
LPUpxPapx lPUpxPapx;
LPUpxChpx lPUpxChpx;
unsigned char* bytes;
unsigned int sizeInBytes;
unsigned int sizeInBytesWithoutPadding;
public:
StkParaGRLPUPX () : lPUpxPapx(), lPUpxChpx(), bytes(NULL), sizeInBytes(0), sizeInBytesWithoutPadding(0)
{
}
explicit StkParaGRLPUPX( const LPUpxPapx& _lPUpxPapx, const LPUpxChpx& _lPUpxChpx ) : lPUpxPapx(_lPUpxPapx), lPUpxChpx(_lPUpxChpx), bytes(NULL), sizeInBytes(0), sizeInBytesWithoutPadding(0)
{
this->sizeInBytes = ( _lPUpxPapx.Size() + _lPUpxChpx.Size() );
this->sizeInBytesWithoutPadding = ( _lPUpxPapx.SizeWithoutPadding() + _lPUpxChpx.SizeWithoutPadding() );
if ( this->sizeInBytes > 0 )
{
this->bytes = new unsigned char[this->sizeInBytes];
if ( this->bytes != NULL )
{
memset( this->bytes, 0, this->sizeInBytes );
memcpy( this->bytes, (unsigned char*)_lPUpxPapx, _lPUpxPapx.Size() );
memcpy( ( this->bytes + _lPUpxPapx.Size() ), (unsigned char*)_lPUpxChpx, _lPUpxChpx.Size() );
}
}
}
StkParaGRLPUPX( const StkParaGRLPUPX& _stkParaGRLPUPX ) : lPUpxPapx(_stkParaGRLPUPX.lPUpxPapx), lPUpxChpx(_stkParaGRLPUPX.lPUpxChpx), bytes(NULL), sizeInBytes(_stkParaGRLPUPX.sizeInBytes), sizeInBytesWithoutPadding(_stkParaGRLPUPX.sizeInBytesWithoutPadding)
{
if ( this->sizeInBytes > 0 )
{
this->bytes = new unsigned char[this->sizeInBytes];
if ( this->bytes != NULL )
{
memset( this->bytes, 0, this->sizeInBytes );
memcpy( this->bytes, _stkParaGRLPUPX.bytes, this->sizeInBytes );
}
}
}
virtual ~StkParaGRLPUPX()
{
RELEASEARRAYOBJECTS (bytes);
}
const vector<Prl> GetProperties() const
{
vector<Prl> chpxProperties = this->lPUpxChpx.GetProperties();
vector<Prl> papxProperties = this->lPUpxPapx.GetProperties();
vector<Prl> properties;
for ( vector<Prl>::const_iterator iter = chpxProperties.begin(); iter != chpxProperties.end(); iter++ )
{
properties.push_back( *iter );
}
for ( vector<Prl>::const_iterator iter = papxProperties.begin(); iter != papxProperties.end(); iter++ )
{
properties.push_back( *iter );
}
return properties;
}
virtual operator unsigned char*() const
{
return this->bytes;
}
virtual operator const unsigned char*() const
{
return (const unsigned char*)this->bytes;
}
virtual unsigned int Size() const
{
return this->sizeInBytes;
}
unsigned int SizeWithoutPadding() const
{
return this->sizeInBytesWithoutPadding;
}
};
//!!!TODO: The revision-marking information and formatting for the style.!!!
class StkCharGRLPUPX: public IOperand
{
private:
LPUpxChpx lPUpxChpx;
unsigned char* bytes;
unsigned int sizeInBytes;
unsigned int sizeInBytesWithoutPadding;
public:
StkCharGRLPUPX() : lPUpxChpx(), bytes(NULL), sizeInBytes(0), sizeInBytesWithoutPadding(0)
{
}
explicit StkCharGRLPUPX( const LPUpxChpx& _lPUpxChpx ) : lPUpxChpx(_lPUpxChpx), bytes(NULL), sizeInBytes(0), sizeInBytesWithoutPadding(0)
{
this->sizeInBytes = _lPUpxChpx.Size();
this->sizeInBytesWithoutPadding = _lPUpxChpx.SizeWithoutPadding();
if ( this->sizeInBytes > 0 )
{
this->bytes = new unsigned char[this->sizeInBytes];
if ( this->bytes != NULL )
{
memset( this->bytes, 0, this->sizeInBytes );
memcpy( this->bytes, (unsigned char*)_lPUpxChpx, _lPUpxChpx.Size() );
}
}
}
StkCharGRLPUPX( const StkCharGRLPUPX& _stkCharGRLPUPX ) : lPUpxChpx(_stkCharGRLPUPX.lPUpxChpx), bytes(NULL), sizeInBytes(_stkCharGRLPUPX.sizeInBytes), sizeInBytesWithoutPadding(_stkCharGRLPUPX.sizeInBytesWithoutPadding)
{
if ( this->sizeInBytes > 0 )
{
this->bytes = new unsigned char[this->sizeInBytes];
if ( this->bytes != NULL )
{
memset( this->bytes, 0, this->sizeInBytes );
memcpy( this->bytes, _stkCharGRLPUPX.bytes, this->sizeInBytes );
}
}
}
virtual ~StkCharGRLPUPX()
{
RELEASEARRAYOBJECTS (bytes);
}
const vector<Prl> GetProperties() const
{
return this->lPUpxChpx.GetProperties();
}
virtual operator unsigned char*() const
{
return this->bytes;
}
virtual operator const unsigned char*() const
{
return (const unsigned char*)this->bytes;
}
virtual unsigned int Size() const
{
return this->sizeInBytes;
}
unsigned int SizeWithoutPadding() const
{
return this->sizeInBytesWithoutPadding;
}
};
class StkTableGRLPUPX: public IOperand
{
private:
LPUpxTapx lPUpxTapx;
LPUpxPapx lPUpxPapx;
LPUpxChpx lPUpxChpx;
unsigned char* bytes;
unsigned int sizeInBytes;
unsigned int sizeInBytesWithoutPadding;
public:
StkTableGRLPUPX():
lPUpxTapx(), lPUpxPapx(), lPUpxChpx(), bytes(NULL), sizeInBytes(0), sizeInBytesWithoutPadding(0)
{
}
explicit StkTableGRLPUPX( const LPUpxTapx& _lPUpxTapx, const LPUpxPapx& _lPUpxPapx, const LPUpxChpx& _lPUpxChpx ):
lPUpxTapx(_lPUpxTapx), lPUpxPapx(_lPUpxPapx), lPUpxChpx(_lPUpxChpx), bytes(NULL), sizeInBytes(0), sizeInBytesWithoutPadding(0)
{
this->sizeInBytes = ( _lPUpxTapx.Size() + _lPUpxPapx.Size() + _lPUpxChpx.Size() );
this->sizeInBytesWithoutPadding = ( _lPUpxTapx.SizeWithoutPadding() + _lPUpxPapx.SizeWithoutPadding() + _lPUpxChpx.SizeWithoutPadding() );
if ( this->sizeInBytes > 0 )
{
this->bytes = new unsigned char[this->sizeInBytes];
if ( this->bytes != NULL )
{
memset( this->bytes, 0, this->sizeInBytes );
memcpy( this->bytes, (unsigned char*)_lPUpxTapx, _lPUpxTapx.Size() );
memcpy( ( this->bytes + _lPUpxTapx.Size() ), (unsigned char*)_lPUpxPapx, _lPUpxPapx.Size() );
memcpy( ( this->bytes + _lPUpxTapx.Size() + _lPUpxPapx.Size() ), (unsigned char*)_lPUpxChpx, _lPUpxChpx.Size() );
}
}
}
StkTableGRLPUPX( const StkTableGRLPUPX& _stkTableGRLPUPX ):
lPUpxTapx(_stkTableGRLPUPX.lPUpxTapx), lPUpxPapx(_stkTableGRLPUPX.lPUpxPapx), lPUpxChpx(_stkTableGRLPUPX.lPUpxChpx), bytes(NULL), sizeInBytes(_stkTableGRLPUPX.sizeInBytes), sizeInBytesWithoutPadding(_stkTableGRLPUPX.sizeInBytesWithoutPadding)
{
if ( this->sizeInBytes > 0 )
{
this->bytes = new unsigned char[this->sizeInBytes];
if ( this->bytes != NULL )
{
memset( this->bytes, 0, this->sizeInBytes );
memcpy( this->bytes, _stkTableGRLPUPX.bytes, this->sizeInBytes );
}
}
}
virtual ~StkTableGRLPUPX()
{
RELEASEARRAYOBJECTS (bytes);
}
const vector<Prl> GetProperties() const
{
vector<Prl> chpxProperties = this->lPUpxChpx.GetProperties();
vector<Prl> papxProperties = this->lPUpxPapx.GetProperties();
vector<Prl> tapxProperties = this->lPUpxTapx.GetProperties();
vector<Prl> properties;
for ( vector<Prl>::const_iterator iter = chpxProperties.begin(); iter != chpxProperties.end(); iter++ )
{
properties.push_back( *iter );
}
for ( vector<Prl>::const_iterator iter = papxProperties.begin(); iter != papxProperties.end(); iter++ )
{
properties.push_back( *iter );
}
for ( vector<Prl>::const_iterator iter = tapxProperties.begin(); iter != tapxProperties.end(); iter++ )
{
properties.push_back( *iter );
}
return properties;
}
virtual operator unsigned char*() const
{
return this->bytes;
}
virtual operator const unsigned char*() const
{
return (const unsigned char*)this->bytes;
}
virtual unsigned int Size() const
{
return this->sizeInBytes;
}
unsigned int SizeWithoutPadding() const
{
return this->sizeInBytesWithoutPadding;
}
};
class StkListGRLPUPX: public IOperand
{
private:
LPUpxPapx lPUpxPapx;
unsigned char* bytes;
unsigned int sizeInBytes;
unsigned int sizeInBytesWithoutPadding;
public:
StkListGRLPUPX():
lPUpxPapx(), bytes(NULL), sizeInBytes(0), sizeInBytesWithoutPadding(0)
{
}
explicit StkListGRLPUPX( const LPUpxPapx& _lPUpxPapx ):
lPUpxPapx(_lPUpxPapx), bytes(NULL), sizeInBytes(0), sizeInBytesWithoutPadding(0)
{
this->sizeInBytes = _lPUpxPapx.Size();
this->sizeInBytesWithoutPadding = _lPUpxPapx.SizeWithoutPadding();
if ( this->sizeInBytes > 0 )
{
this->bytes = new unsigned char[this->sizeInBytes];
if ( this->bytes != NULL )
{
memset( this->bytes, 0, this->sizeInBytes );
memcpy( this->bytes, (unsigned char*)_lPUpxPapx, _lPUpxPapx.Size() );
}
}
}
StkListGRLPUPX( const StkListGRLPUPX& _stkListGRLPUPX ):
lPUpxPapx(_stkListGRLPUPX.lPUpxPapx), bytes(NULL), sizeInBytes(_stkListGRLPUPX.sizeInBytes), sizeInBytesWithoutPadding(_stkListGRLPUPX.sizeInBytesWithoutPadding)
{
if ( this->sizeInBytes > 0 )
{
this->bytes = new unsigned char[this->sizeInBytes];
if ( this->bytes != NULL )
{
memset( this->bytes, 0, this->sizeInBytes );
memcpy( this->bytes, _stkListGRLPUPX.bytes, this->sizeInBytes );
}
}
}
virtual ~StkListGRLPUPX()
{
RELEASEARRAYOBJECTS (bytes);
}
const vector<Prl> GetProperties() const
{
return this->lPUpxPapx.GetProperties();
}
virtual operator unsigned char*() const
{
return this->bytes;
}
virtual operator const unsigned char*() const
{
return (const unsigned char*)this->bytes;
}
virtual unsigned int Size() const
{
return this->sizeInBytes;
}
unsigned int SizeWithoutPadding() const
{
return this->sizeInBytesWithoutPadding;
}
};
class GrLPUpxSw: public IOperand
{
public:
GrLPUpxSw() : bytes(NULL), sizeInBytes(0), sizeInBytesWithoutPadding(0)
{
}
explicit GrLPUpxSw( const StkParaGRLPUPX& _stkParaGRLPUPX ) : bytes(NULL), sizeInBytes(0), sizeInBytesWithoutPadding(0)
{
this->sizeInBytes = _stkParaGRLPUPX.Size();
this->sizeInBytesWithoutPadding = _stkParaGRLPUPX.SizeWithoutPadding();
this->properties = _stkParaGRLPUPX.GetProperties();
if ( this->sizeInBytes > 0 )
{
this->bytes = new unsigned char[this->sizeInBytes];
if ( this->bytes != NULL )
{
memset( this->bytes, 0, this->sizeInBytes );
memcpy( this->bytes, (unsigned char*)_stkParaGRLPUPX, _stkParaGRLPUPX.Size() );
}
}
}
explicit GrLPUpxSw( const StkCharGRLPUPX& _stkCharGRLPUPX ) : bytes(NULL), sizeInBytes(0), sizeInBytesWithoutPadding(0)
{
this->sizeInBytes = _stkCharGRLPUPX.Size();
this->sizeInBytesWithoutPadding = _stkCharGRLPUPX.SizeWithoutPadding();
this->properties = _stkCharGRLPUPX.GetProperties();
if ( this->sizeInBytes > 0 )
{
this->bytes = new unsigned char[this->sizeInBytes];
if ( this->bytes != NULL )
{
memset( this->bytes, 0, this->sizeInBytes );
memcpy( this->bytes, (unsigned char*)_stkCharGRLPUPX, _stkCharGRLPUPX.Size() );
}
}
}
explicit GrLPUpxSw( const StkTableGRLPUPX& _stkTableGRLPUPX ) : bytes(NULL), sizeInBytes(0), sizeInBytesWithoutPadding(0)
{
this->sizeInBytes = _stkTableGRLPUPX.Size();
this->sizeInBytesWithoutPadding = _stkTableGRLPUPX.SizeWithoutPadding();
this->properties = _stkTableGRLPUPX.GetProperties();
if ( this->sizeInBytes > 0 )
{
this->bytes = new unsigned char[this->sizeInBytes];
if ( this->bytes != NULL )
{
memset( this->bytes, 0, this->sizeInBytes );
memcpy( this->bytes, (unsigned char*)_stkTableGRLPUPX, _stkTableGRLPUPX.Size() );
}
}
}
explicit GrLPUpxSw( const StkListGRLPUPX& _stkListGRLPUPX ) : bytes(NULL), sizeInBytes(0), sizeInBytesWithoutPadding(0)
{
this->sizeInBytes = _stkListGRLPUPX.Size();
this->sizeInBytesWithoutPadding = _stkListGRLPUPX.SizeWithoutPadding();
this->properties = _stkListGRLPUPX.GetProperties();
if ( this->sizeInBytes > 0 )
{
this->bytes = new unsigned char[this->sizeInBytes];
if ( this->bytes != NULL )
{
memset( this->bytes, 0, this->sizeInBytes );
memcpy( this->bytes, (unsigned char*)_stkListGRLPUPX, _stkListGRLPUPX.Size() );
}
}
}
explicit GrLPUpxSw( const Constants::StyleType _styleType, const ASCDocFileFormat::LPUpxPapx& _lPUpxPapx, const ASCDocFileFormat::LPUpxChpx& _lPUpxChpx, const ASCDocFileFormat::LPUpxTapx& _lPUpxTapx ) : bytes(NULL), sizeInBytes(0), sizeInBytesWithoutPadding(0)
{
switch ( _styleType )
{
case Constants::styleTypeParagraph:
{
*this = GrLPUpxSw( ASCDocFileFormat::StkParaGRLPUPX( _lPUpxPapx, _lPUpxChpx ) );
}
break;
case Constants::styleTypeCharacter:
{
*this = GrLPUpxSw( ASCDocFileFormat::StkCharGRLPUPX( _lPUpxChpx ) );
}
break;
case Constants::styleTypeTable:
{
*this = GrLPUpxSw( ASCDocFileFormat::StkTableGRLPUPX( _lPUpxTapx, _lPUpxPapx, _lPUpxChpx ) );
}
break;
case Constants::styleTypeNumbering:
{
*this = GrLPUpxSw( ASCDocFileFormat::StkListGRLPUPX( _lPUpxPapx ) );
}
break;
}
}
GrLPUpxSw( const GrLPUpxSw& _grLPUpxSw ) : properties(_grLPUpxSw.properties), bytes(NULL), sizeInBytes(_grLPUpxSw.sizeInBytes), sizeInBytesWithoutPadding(_grLPUpxSw.sizeInBytesWithoutPadding)
{
if ( this->sizeInBytes > 0 )
{
this->bytes = new unsigned char[this->sizeInBytes];
if ( this->bytes != NULL )
{
memset( this->bytes, 0, this->sizeInBytes );
memcpy( this->bytes, _grLPUpxSw.bytes, this->sizeInBytes );
}
}
}
bool operator == ( const GrLPUpxSw& _grLPUpxSw )
{
return ( ( this->sizeInBytes == _grLPUpxSw.sizeInBytes ) &&
( this->sizeInBytesWithoutPadding == _grLPUpxSw.sizeInBytesWithoutPadding ) &&
( memcmp( this->bytes, _grLPUpxSw.bytes, this->sizeInBytes ) == 0 ) );
}
bool operator != ( const GrLPUpxSw& _grLPUpxSw )
{
return !( this->operator == ( _grLPUpxSw ) );
}
GrLPUpxSw& operator = ( const GrLPUpxSw& _grLPUpxSw )
{
if ( *this != _grLPUpxSw )
{
RELEASEARRAYOBJECTS (bytes);
this->sizeInBytes = _grLPUpxSw.sizeInBytes;
this->sizeInBytesWithoutPadding = _grLPUpxSw.sizeInBytesWithoutPadding;
this->properties = _grLPUpxSw.properties;
if ( this->sizeInBytes > 0 )
{
this->bytes = new unsigned char[this->sizeInBytes];
if ( this->bytes != NULL )
{
memset( this->bytes, 0, this->sizeInBytes );
memcpy( this->bytes, _grLPUpxSw.bytes, this->sizeInBytes );
}
}
}
return *this;
}
virtual ~GrLPUpxSw()
{
RELEASEARRAYOBJECTS (bytes);
}
const vector<Prl> GetProperties() const
{
return this->properties;
}
virtual operator unsigned char*() const
{
return this->bytes;
}
virtual operator const unsigned char*() const
{
return (const unsigned char*)this->bytes;
}
virtual unsigned int Size() const
{
return this->sizeInBytes;
}
unsigned int SizeWithoutPadding() const
{
return this->sizeInBytesWithoutPadding;
}
private:
vector<Prl> properties;
unsigned char* bytes;
unsigned int sizeInBytes;
unsigned int sizeInBytesWithoutPadding;
};
}

View File

@ -1,182 +0,0 @@
/*
* (c) Copyright Ascensio System SIA 2010-2019
*
* 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 20A-12 Ernesta Birznieka-Upisha
* street, Riga, Latvia, EU, LV-1050.
*
* 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
#include "Prl.h"
namespace ASCDocFileFormat
{
class GrpPrlAndIstd: public IStreamWriter
{
public:
GrpPrlAndIstd() : istd(0), grpprlSize(0)
{
}
GrpPrlAndIstd( short _istd, const vector<Prl>& _grpprl ) : istd(_istd), grpprlSize(0)
{
for ( unsigned int i = 0; i < _grpprl.size(); i++ )
{
this->grpprlSize += (unsigned short)_grpprl[i].Size();
this->grpprl.push_back( _grpprl[i] );
}
}
GrpPrlAndIstd( const GrpPrlAndIstd& gpai ) : istd(0), grpprlSize(0)
{
this->istd = gpai.istd;
this->grpprlSize = gpai.grpprlSize;
for ( unsigned int i = 0; i < gpai.grpprl.size(); i++ )
{
this->grpprl.push_back( gpai.grpprl[i] );
}
}
virtual ~GrpPrlAndIstd()
{
}
inline bool operator == ( const GrpPrlAndIstd& gpai )
{
if ( ( this->istd != gpai.istd ) || ( this->grpprlSize != gpai.grpprlSize ) || ( this->grpprl.size() != gpai.grpprl.size() ) )
{
return false;
}
else
{
unsigned int minPrlCount = min( this->grpprl.size(), gpai.grpprl.size() );
for ( unsigned int i = 0; i < minPrlCount; i++ )
{
if ( this->grpprl[i] != gpai.grpprl[i] )
{
return false;
}
}
}
return true;
}
inline bool operator != ( const GrpPrlAndIstd& gpai )
{
return !( *this == gpai );
}
inline GrpPrlAndIstd& operator = ( const GrpPrlAndIstd& gpai )
{
if ( *this != gpai )
{
this->istd = gpai.istd;
this->grpprlSize = gpai.grpprlSize;
this->grpprl.clear();
for ( unsigned int i = 0; i < gpai.grpprl.size(); i++ )
{
this->grpprl.push_back( gpai.grpprl[i] );
}
}
return *this;
}
inline unsigned long Size() const
{
return ( sizeof(this->istd) + this->grpprlSize );
}
inline Prl operator[] ( unsigned int index ) const
{
return this->grpprl[index];
}
inline unsigned int GetPrlCount() const
{
return (unsigned int)this->grpprl.size();
}
inline vector<Prl> GetPrls() const
{
return this->grpprl;
}
inline short GetIstd() const
{
return istd;
}
// IStreamWriter
virtual unsigned char* GetBytes(unsigned long* size) const
{
unsigned char* bytes = NULL;
if ( size != NULL )
{
*size = sizeof(this->istd) + this->grpprlSize;
bytes = new unsigned char[*size];
if ( bytes != NULL )
{
memset( bytes, 0, *size );
FormatUtils::SetBytes( bytes, this->istd );
unsigned char* prlBytes = NULL;
unsigned long prlSize = 0;
unsigned int prlPrevSize = 0;
for ( unsigned int i = 0; i < this->grpprl.size(); i++ )
{
prlBytes = this->grpprl[i].GetBytes( &prlSize );
if ( prlBytes != NULL )
{
memcpy( ( bytes + sizeof(this->istd) + prlPrevSize ), prlBytes, prlSize );
prlPrevSize += prlSize;
RELEASEARRAYOBJECTS (prlBytes);
}
}
}
}
return bytes;
}
private:
short istd; //The style applied to this paragraph, cell marker or table row marker.
vector<Prl> grpprl;
unsigned short grpprlSize;
};
}

View File

@ -1,282 +0,0 @@
/*
* (c) Copyright Ascensio System SIA 2010-2019
*
* 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 20A-12 Ernesta Birznieka-Upisha
* street, Riga, Latvia, EU, LV-1050.
*
* 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
*
*/
#include "Header.h"
namespace ASCDocFileFormat
{
Header::Header()
{
headerItemsOffset = 0;
Paragraph paragraph;
paragraph.AddParagraphItem( Run() );
this->textItems.push_back( HeaderItemWithOffset( TextItemPtr( static_cast<ITextItem*>(paragraph.Clone()) ), this->headerItemsOffset ) );
this->headerItemsOffset += ( sizeof(wchar_t) * paragraph.GetAllText().size() );
}
/*========================================================================================================*/
Header::Header( const Header& _header ):
headerItemsOffset(_header.headerItemsOffset)
{
for ( list<HeaderItemWithOffset>::const_iterator iter = _header.textItems.begin(); iter != _header.textItems.end(); iter++ )
{
this->textItems.push_back( HeaderItemWithOffset( TextItemPtr( static_cast<ITextItem*>( iter->headerItem->Clone() ) ), iter->headerItemOffset ) );
}
}
/*========================================================================================================*/
void Header::AddTextItem( const ITextItem& _textItem )
{
ITextItem* textItem = static_cast<ITextItem*>( _textItem.Clone() );
if ( !this->textItems.empty() )
{
list<HeaderItemWithOffset>::iterator iter = this->textItems.begin();
for ( unsigned int i = 0; i < ( this->textItems.size() - 1 ); i++, iter++ );
this->textItems.erase( iter );
this->headerItemsOffset -= sizeof(wchar_t);
}
if ( textItem != NULL )
{
this->textItems.push_back( HeaderItemWithOffset( TextItemPtr( textItem ), this->headerItemsOffset ) );
this->headerItemsOffset += ( sizeof(wchar_t) * textItem->GetAllText().size() );
Paragraph paragraph;
paragraph.AddParagraphItem( Run() );
this->textItems.push_back( HeaderItemWithOffset( TextItemPtr( static_cast<ITextItem*>(paragraph.Clone()) ), this->headerItemsOffset ) );
this->headerItemsOffset += ( sizeof(wchar_t) * paragraph.GetAllText().size() );
}
}
/*========================================================================================================*/
Header::~Header()
{
}
/*========================================================================================================*/
wstring Header::GetAllText() const
{
wstring allText;
for ( list<HeaderItemWithOffset>::const_iterator iter = this->textItems.begin(); iter != this->textItems.end(); iter++ )
{
allText += iter->headerItem->GetAllText();
}
return allText;
}
/*========================================================================================================*/
Header::operator wstring() const
{
wstring allText;
for ( list<HeaderItemWithOffset>::const_iterator iter = this->textItems.begin(); iter != this->textItems.end(); iter++ )
{
allText += *(iter->headerItem);
}
return allText;
}
/*========================================================================================================*/
vector<TextItemPtr> Header::GetAllParagraphsCopy() const
{
vector<TextItemPtr> allParagraphs;
for ( list<HeaderItemWithOffset>::const_iterator iter = this->textItems.begin(); iter != this->textItems.end(); iter++ )
{
vector<TextItemPtr> textItemParagraphs = iter->headerItem->GetAllParagraphsCopy();
for ( vector<TextItemPtr>::const_iterator textItemParagraphsIter = textItemParagraphs.begin(); textItemParagraphsIter != textItemParagraphs.end(); textItemParagraphsIter++ )
{
allParagraphs.push_back( TextItemPtr( static_cast<ITextItem*>( (*textItemParagraphsIter)->Clone() ) ) );
}
}
return allParagraphs;
}
/*========================================================================================================*/
vector<ITextItem*> Header::GetAllParagraphs()
{
vector<ITextItem*> allParagraphs;
for ( list<HeaderItemWithOffset>::const_iterator iter = this->textItems.begin(); iter != this->textItems.end(); iter++ )
{
ITextItem* item = (ITextItem*)iter->headerItem.operator->();
vector<ITextItem*> textItemParagraphs = item->GetAllParagraphs();
for ( vector<ITextItem*>::iterator textItemParagraphsIter = textItemParagraphs.begin(); textItemParagraphsIter != textItemParagraphs.end(); textItemParagraphsIter++ )
{
allParagraphs.push_back( *textItemParagraphsIter );
}
}
return allParagraphs;
}
/*========================================================================================================*/
vector<PapxInFkp> Header::GetAllParagraphsProperties( vector<unsigned int>* allParagraphsOffsets ) const
{
vector<PapxInFkp> allParagraphsProperties;
unsigned int paragraphOffset = 0;
if ( allParagraphsOffsets != NULL )
{
for ( list<HeaderItemWithOffset>::const_iterator iter = this->textItems.begin(); iter != this->textItems.end(); iter++ )
{
vector<unsigned int> headerItemParagraphsOffsets;
vector<PapxInFkp> headerItemParagraphsProperties = iter->headerItem->GetAllParagraphsProperties( &headerItemParagraphsOffsets );
for ( unsigned int i = 0; i < headerItemParagraphsProperties.size(); i++ )
{
allParagraphsProperties.push_back( headerItemParagraphsProperties[i] );
allParagraphsOffsets->push_back( paragraphOffset + headerItemParagraphsOffsets[i] );
}
paragraphOffset += ( sizeof(wchar_t) * iter->headerItem->GetAllText().size() );
}
}
return allParagraphsProperties;
}
/*========================================================================================================*/
vector<Chpx> Header::GetAllRunProperties( vector<unsigned int>* allRunsOffsets ) const
{
vector<Chpx> allRunsProperties;
unsigned int runOffset = 0;
if ( allRunsOffsets != NULL )
{
for ( list<HeaderItemWithOffset>::const_iterator iter = this->textItems.begin(); iter != this->textItems.end(); iter++ )
{
vector<unsigned int> headerItemRunsOffsets;
vector<Chpx> headerItemRunsProperties = iter->headerItem->GetAllRunProperties( &headerItemRunsOffsets );
for ( unsigned int i = 0; i < headerItemRunsProperties.size(); i++ )
{
allRunsProperties.push_back( headerItemRunsProperties[i] );
allRunsOffsets->push_back( runOffset + headerItemRunsOffsets[i] );
}
runOffset += ( sizeof(wchar_t) * iter->headerItem->GetAllText().size() );
}
}
return allRunsProperties;
}
/*========================================================================================================*/
vector<IParagraphItemPtr> Header::GetAllRunsCopy( vector<unsigned int>* allRunsOffsets ) const
{
vector<IParagraphItemPtr> allRuns;
if ( allRunsOffsets != NULL )
{
unsigned int runOffset = 0;
for ( list<HeaderItemWithOffset>::const_iterator iter = this->textItems.begin(); iter != this->textItems.end(); iter++ )
{
vector<unsigned int> allTextItemRunsOffsets;
vector<IParagraphItemPtr> allTextItemRuns = iter->headerItem->GetAllRunsCopy( &allTextItemRunsOffsets );
for ( unsigned int i = 0; i < allTextItemRuns.size(); i++ )
{
allRuns.push_back( IParagraphItemPtr( static_cast<IParagraphItem*>(allTextItemRuns[i]->Clone()) ) );
allRunsOffsets->push_back( runOffset + allTextItemRunsOffsets[i] );
}
runOffset += ( sizeof(wchar_t) * iter->headerItem->GetAllText().size() );
}
}
return allRuns;
}
/*========================================================================================================*/
vector<IParagraphItemPtr> Header::GetAllParagraphItemsCopy( vector<unsigned int>* allParagraphItemsOffsets ) const
{
vector<IParagraphItemPtr> allParagraphItems;
if ( allParagraphItemsOffsets != NULL )
{
unsigned int textItemOffset = 0;
for ( list<HeaderItemWithOffset>::const_iterator iter = this->textItems.begin(); iter != this->textItems.end(); iter++ )
{
vector<unsigned int> allTextItemParagraphItemsOffsets;
vector<IParagraphItemPtr> allTextItemParagraphItems = iter->headerItem->GetAllParagraphItemsCopy( &allTextItemParagraphItemsOffsets );
for ( unsigned int i = 0; i < allTextItemParagraphItems.size(); i++ )
{
allParagraphItems.push_back( IParagraphItemPtr( static_cast<IParagraphItem*>(allTextItemParagraphItems[i]->Clone()) ) );
allParagraphItemsOffsets->push_back( textItemOffset + allTextItemParagraphItemsOffsets[i] );
}
textItemOffset += ( sizeof(wchar_t) * iter->headerItem->GetAllText().size() );
}
}
return allParagraphItems;
}
/*========================================================================================================*/
IVirtualConstructor* Header::New() const
{
return new Header();
}
/*========================================================================================================*/
IVirtualConstructor* Header::Clone() const
{
return new Header( *this );
}
}

View File

@ -1,76 +0,0 @@
/*
* (c) Copyright Ascensio System SIA 2010-2019
*
* 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 20A-12 Ernesta Birznieka-Upisha
* street, Riga, Latvia, EU, LV-1050.
*
* 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
#include "Paragraph.h"
namespace ASCDocFileFormat
{
class Header: public ITextItem
{
struct HeaderItemWithOffset
{
TextItemPtr headerItem;
unsigned int headerItemOffset;
HeaderItemWithOffset():
headerItem(), headerItemOffset(0)
{
}
HeaderItemWithOffset( const TextItemPtr& _headerItem, unsigned int _headerItemOffset ):
headerItem(_headerItem), headerItemOffset(_headerItemOffset)
{
}
};
private:
list<HeaderItemWithOffset> textItems;
unsigned int headerItemsOffset;
public:
explicit Header();
Header( const Header& _header );
void AddTextItem( const ITextItem& _textItem );
virtual ~Header();
virtual wstring GetAllText() const;
virtual operator wstring() const;
virtual vector<TextItemPtr> GetAllParagraphsCopy() const;
virtual vector<ITextItem*> GetAllParagraphs();
virtual vector<PapxInFkp> GetAllParagraphsProperties( vector<unsigned int>* allParagraphsOffsets ) const;
virtual vector<Chpx> GetAllRunProperties( vector<unsigned int>* allRunsOffsets ) const;
virtual vector<IParagraphItemPtr> GetAllRunsCopy( vector<unsigned int>* allRunsOffsets ) const;
virtual vector<IParagraphItemPtr> GetAllParagraphItemsCopy( vector<unsigned int>* allParagraphItemsOffsets ) const;
virtual IVirtualConstructor* New() const;
virtual IVirtualConstructor* Clone() const;
};
}

View File

@ -1,402 +0,0 @@
/*
* (c) Copyright Ascensio System SIA 2010-2019
*
* 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 20A-12 Ernesta Birznieka-Upisha
* street, Riga, Latvia, EU, LV-1050.
*
* 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
*
*/
#include "Hyperlink.h"
namespace ASCDocFileFormat
{
Hyperlink::Hyperlink ()
{
}
Hyperlink::Hyperlink (const vector<Run>& runs)
{
for (size_t i = 0; i < runs.size(); ++i)
{
textRuns.push_back(ParagraphItem(runs[i]));
}
}
Hyperlink::~Hyperlink()
{
}
}
namespace ASCDocFileFormat
{
void Hyperlink::BuildUrlRuns() const
{
std::wstring text;
specialRuns.clear();
text.push_back( TextMark::FieldBeginMark );
ASCDocFileFormat::Run fieldBeginRun( ASCDocFileFormat::Text( text.c_str() ) );
fieldBeginRun.AddProperty( (short)DocFileFormat::sprmCFSpec, (void*)&CFSpec );
text = wstring( _T( " HYPERLINK" ) );
if ( !url.empty() )
{
text += wstring( _T( " \"" ) );
text += url;
text.push_back( _T( '"' ) );
text.push_back( _T( ' ' ) );
}
if ( !locationInTheFile.empty() )
{
text += wstring( _T( " \\l \"" ) );
text += locationInTheFile;
text.push_back( _T( '"' ) );
}
ASCDocFileFormat::Run specialRun (ASCDocFileFormat::Text(text.c_str()));
text.clear();
text.push_back( TextMark::FieldSeparator );
ASCDocFileFormat::Run fieldSeperatorRun( ASCDocFileFormat::Text( text.c_str() ) );
fieldSeperatorRun.AddProperty( (short)DocFileFormat::sprmCFSpec, (void*)&CFSpec );
text.clear();
text.push_back( TextMark::FieldEndMark );
ASCDocFileFormat::Run fieldEndRun( ASCDocFileFormat::Text( text.c_str() ) );
fieldEndRun.AddProperty( (short)DocFileFormat::sprmCFSpec, (void*)&CFSpec );
specialRuns.push_back( ParagraphItem( fieldBeginRun ) );
specialRuns.push_back( ParagraphItem( specialRun ) );
specialRuns.push_back( ParagraphItem( fieldSeperatorRun ) );
specialRuns.push_back( ParagraphItem( fieldEndRun ) );
}
/*========================================================================================================*/
void Hyperlink::AddRun( const Run& _run )
{
textRuns.push_back( ParagraphItem( _run ) );
}
/*========================================================================================================*/
void Hyperlink::SetURL( const wchar_t* _url )
{
if ( _url != NULL )
{
url = wstring( _url );
}
}
wstring Hyperlink::GetURL() const
{
return url;
}
/*========================================================================================================*/
void Hyperlink::SetLocationInTheFile( const wchar_t* _locationInTheFile )
{
if ( _locationInTheFile != NULL )
{
locationInTheFile = wstring( _locationInTheFile );
}
}
wstring Hyperlink::GetLocationInTheFile() const
{
return locationInTheFile;
}
/*========================================================================================================*/
wstring Hyperlink::GetHyperlinkText() const
{
wstring hyperlinkText;
for (list<ParagraphItem>::const_iterator iter = textRuns.begin(); iter != textRuns.end(); ++iter)
{
hyperlinkText += (*iter)->GetAllText();
}
return hyperlinkText;
}
/*========================================================================================================*/
unsigned long Hyperlink::GetTextSize() const
{
return (unsigned long)GetAllText().size();
}
/*========================================================================================================*/
wstring Hyperlink::GetAllText() const
{
BuildUrlRuns();
wstring allText;
for (unsigned int i = 0; i < specialRuns.size() - 1; ++i)
{
allText += specialRuns[i]->GetAllText();
}
allText += GetHyperlinkText();
allText += specialRuns.back()->GetAllText();
return allText;
}
/*========================================================================================================*/
vector<Chpx> Hyperlink::GetRunProperties( vector<unsigned int>* runOffsets ) const
{
vector<Chpx> allRunsProperties;
if ( runOffsets != NULL )
{
unsigned int allRunsOffset = 0;
this->BuildUrlRuns();
for ( unsigned int i = 0; i < ( this->specialRuns.size() - 1 ); i++ )
{
vector<unsigned int> runOffset;
vector<Chpx> runProperties = this->specialRuns[i]->GetRunProperties( &runOffset );
for ( unsigned int j = 0; j < runProperties.size(); j++ )
{
allRunsProperties.push_back( runProperties[j] );
runOffsets->push_back( allRunsOffset + runOffset[j] );
}
allRunsOffset += ( sizeof(wchar_t) * this->specialRuns[i]->GetTextSize() );
}
for ( list<ParagraphItem>::const_iterator iter = this->textRuns.begin(); iter != this->textRuns.end(); iter++ )
{
vector<unsigned int> runOffset;
vector<Chpx> runProperties = (*iter)->GetRunProperties( &runOffset );
for ( unsigned int i = 0; i < runProperties.size(); i++ )
{
allRunsProperties.push_back( runProperties[i] );
runOffsets->push_back( allRunsOffset + runOffset[i] );
}
allRunsOffset += ( sizeof(wchar_t) * (*iter)->GetTextSize() );
}
vector<unsigned int> runOffset;
vector<Chpx> runProperties = this->specialRuns.back()->GetRunProperties( &runOffset );
for ( unsigned int i = 0; i < runProperties.size(); i++ )
{
allRunsProperties.push_back( runProperties[i] );
runOffsets->push_back( allRunsOffset + runOffset[i] );
}
allRunsOffset += ( sizeof(wchar_t) * this->specialRuns.back()->GetTextSize() );
}
return allRunsProperties;
}
/*========================================================================================================*/
unsigned int Hyperlink::PrlSize () const
{
vector<unsigned int> runOffsets;
return (unsigned int)GetRunProperties( &runOffsets ).size();
}
/*========================================================================================================*/
vector<IParagraphItemPtr> Hyperlink::GetAllRunsCopy( vector<unsigned int>* runOffsets ) const
{
vector<IParagraphItemPtr> allRunsCopy;
if ( runOffsets != NULL )
{
this->BuildUrlRuns();
unsigned int runOffset = 0;
for ( unsigned int i = 0; i < ( this->specialRuns.size() - 1 ); i++ )
{
allRunsCopy.push_back( IParagraphItemPtr( static_cast<IParagraphItem*>(this->specialRuns[i]->Clone()) ) );
runOffsets->push_back( runOffset );
runOffset += ( sizeof(wchar_t) * this->specialRuns[i]->GetTextSize() );
}
for ( list<ParagraphItem>::const_iterator iter = this->textRuns.begin(); iter != this->textRuns.end(); iter++ )
{
allRunsCopy.push_back( IParagraphItemPtr( static_cast<IParagraphItem*>((*iter)->Clone()) ) );
runOffsets->push_back( runOffset );
runOffset += ( sizeof(wchar_t) * (*iter)->GetTextSize() );
}
allRunsCopy.push_back( IParagraphItemPtr( static_cast<IParagraphItem*>(this->specialRuns.back()->Clone()) ) );
runOffsets->push_back( runOffset );
runOffset += ( sizeof(wchar_t) * this->specialRuns.back()->GetTextSize() );
}
return allRunsCopy;
}
/*========================================================================================================*/
IVirtualConstructor* Hyperlink::New() const
{
return new Hyperlink();
}
/*========================================================================================================*/
IVirtualConstructor* Hyperlink::Clone() const
{
return new Hyperlink( *this );
}
/*========================================================================================================*/
vector<CP> Hyperlink::GetFieldCharactersPositions() const
{
vector<CP> fieldCharactersPositions;
BuildUrlRuns();
fieldCharactersPositions.push_back ( CP( 0 ) );
fieldCharactersPositions.push_back ( CP( specialRuns[0]->GetTextSize() + specialRuns[1]->GetTextSize() ) );
fieldCharactersPositions.push_back ( CP( specialRuns[0]->GetTextSize() + specialRuns[1]->GetTextSize() + specialRuns[2]->GetTextSize() + GetHyperlinkText().size() ) );
//int m0 = specialRuns[0]->GetTextSize();
//int m1 = specialRuns[1]->GetTextSize();
//int m2 = specialRuns[2]->GetTextSize();
//int m3 = specialRuns[3]->GetTextSize();
//int m4 = GetHyperlinkText().size();
//fieldCharactersPositions.push_back ( CP( 0 ) );
//fieldCharactersPositions.push_back ( CP( specialRuns[0]->GetTextSize() + specialRuns[1]->GetTextSize()) );
//fieldCharactersPositions.push_back ( CP(
// //specialRuns[0]->GetTextSize()
// specialRuns[1]->GetTextSize() + 2
// //+ specialRuns[2]->GetTextSize()
// //+ specialRuns[3]->GetTextSize()
// + GetHyperlinkText().size()
// ));
return fieldCharactersPositions;
}
/*========================================================================================================*/
vector<Fld> Hyperlink::GetFieldCharactersProperties() const
{
vector<Fld> fieldCharactersProperties;
fieldCharactersProperties.push_back (Fld (FldChar::FldCharBegin, Constants::fltHYPERLINK ) );
fieldCharactersProperties.push_back (Fld (FldChar::FldCharSeparate, 0 ) );
fieldCharactersProperties.push_back (Fld (FldChar::FldCharEnd, (unsigned char)grffldEnd( false, false, false, false, false, false, false, true ) ) );
return fieldCharactersProperties;
}
}
namespace ASCDocFileFormat
{
Hyperlink::const_iterator Hyperlink::begin() const
{
return textRuns.begin();
}
Hyperlink::const_iterator Hyperlink::end() const
{
return textRuns.end();
}
Hyperlink::iterator Hyperlink::begin()
{
return textRuns.begin();
}
Hyperlink::iterator Hyperlink::end()
{
return textRuns.end();
}
Hyperlink::const_reverse_iterator Hyperlink::rbegin() const
{
return textRuns.rbegin();
}
Hyperlink::const_reverse_iterator Hyperlink::rend() const
{
return textRuns.rend();
}
Hyperlink::reverse_iterator Hyperlink::rbegin()
{
return textRuns.rbegin();
}
Hyperlink::reverse_iterator Hyperlink::rend()
{
return textRuns.rend();
}
Hyperlink::const_reference Hyperlink::front() const
{
return *begin();
}
Hyperlink::const_reference Hyperlink::back() const
{
return *(--end());
}
Hyperlink::reference Hyperlink::front()
{
return *begin();
}
Hyperlink::reference Hyperlink::back()
{
return *(--end());
}
}

View File

@ -1,97 +0,0 @@
/*
* (c) Copyright Ascensio System SIA 2010-2019
*
* 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 20A-12 Ernesta Birznieka-Upisha
* street, Riga, Latvia, EU, LV-1050.
*
* 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
#include "Run.h"
#include "ParagraphItem.h"
#include "CP.h"
namespace ASCDocFileFormat
{
class Hyperlink : public IParagraphItem
{
public:
typedef list<ParagraphItem>::const_iterator const_iterator;
typedef list<ParagraphItem>::iterator iterator;
typedef list<ParagraphItem>::const_reverse_iterator const_reverse_iterator;
typedef list<ParagraphItem>::reverse_iterator reverse_iterator;
typedef list<ParagraphItem>::const_reference const_reference;
typedef list<ParagraphItem>::reference reference;
public:
Hyperlink();
explicit Hyperlink( const vector<Run>& _runs );
protected:
void BuildUrlRuns() const;
public:
const_iterator begin() const;
const_iterator end() const;
iterator begin();
iterator end();
const_reverse_iterator rbegin() const;
const_reverse_iterator rend() const;
reverse_iterator rbegin();
reverse_iterator rend();
const_reference front() const;
const_reference back() const;
reference front();
reference back();
public:
void AddRun( const Run& _run );
void SetURL( const wchar_t* _url );
wstring GetURL() const;
void SetLocationInTheFile( const wchar_t* _locationInTheFile );
wstring GetLocationInTheFile() const;
wstring GetHyperlinkText() const;
virtual ~Hyperlink();
virtual unsigned long GetTextSize() const;
virtual std::wstring GetAllText() const;
virtual vector<Chpx> GetRunProperties( vector<unsigned int>* runOffsets ) const;
virtual unsigned int PrlSize() const;
virtual vector<IParagraphItemPtr> GetAllRunsCopy( vector<unsigned int>* runOffsets ) const;
virtual IVirtualConstructor* New() const;
virtual IVirtualConstructor* Clone() const;
vector<CP> GetFieldCharactersPositions() const;
vector<Fld> GetFieldCharactersProperties() const;
private:
static const unsigned char CFSpec = 1;
std::list<ParagraphItem> textRuns;
mutable std::vector<ParagraphItem> specialRuns;
std::wstring url;
std::wstring locationInTheFile;
};
}

View File

@ -1,55 +0,0 @@
/*
* (c) Copyright Ascensio System SIA 2010-2019
*
* 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 20A-12 Ernesta Birznieka-Upisha
* street, Riga, Latvia, EU, LV-1050.
*
* 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
#include "Chpx.h"
#include "../../Common/DocxFormat/Source/Base/SmartPtr.h"
#include "../Common/IVirtualConstructor.h"
namespace ASCDocFileFormat
{
class IParagraphItem;
typedef NSCommon::smart_ptr<IParagraphItem> IParagraphItemPtr;
class IParagraphItem : public IVirtualConstructor
{
public:
virtual unsigned long GetTextSize() const = 0;
virtual std::wstring GetAllText() const = 0;
virtual vector<Chpx> GetRunProperties( vector<unsigned int>* runOffsets ) const = 0;
virtual unsigned int PrlSize () const = 0;
virtual vector<IParagraphItemPtr> GetAllRunsCopy( vector<unsigned int>* runOffsets ) const = 0;
virtual ~IParagraphItem() {}
};
}

View File

@ -1,47 +0,0 @@
/*
* (c) Copyright Ascensio System SIA 2010-2019
*
* 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 20A-12 Ernesta Birznieka-Upisha
* street, Riga, Latvia, EU, LV-1050.
*
* 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
#include "Prl.h"
#include "../Common/IVirtualConstructor.h"
namespace ASCDocFileFormat
{
struct IRunItem : public IVirtualConstructor
{
virtual unsigned long GetTextSize() const = 0;
virtual wstring GetAllText() const = 0;
virtual vector<Prl> GetRunProperties() const = 0;
virtual unsigned int PrlSize () const = 0;
virtual ~IRunItem() {}
};
}

View File

@ -1,69 +0,0 @@
/*
* (c) Copyright Ascensio System SIA 2010-2019
*
* 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 20A-12 Ernesta Birznieka-Upisha
* street, Riga, Latvia, EU, LV-1050.
*
* 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
#include "../pole/pole.h"
#include "../../DesktopEditor/common/Types.h"
namespace ASCDocFileFormat
{
struct IStreamWriter
{
virtual ~IStreamWriter()
{
}
virtual long WriteToStream(POLE::Stream* pStream, unsigned long offset = 0) const
{
HRESULT hr = S_FALSE;
unsigned long size = 0;
ULONG writtenSize = 0;
unsigned char* bytes = GetBytes(&size);
if (NULL != bytes)
{
pStream->seek(offset/*, STREAM_SEEK_SET*/);
writtenSize = pStream->write(bytes, size );
RELEASEARRAYOBJECTS (bytes);
}
return hr;
}
//
virtual unsigned char* GetBytes(unsigned long* size) const = 0;
};
}

View File

@ -1,43 +0,0 @@
/*
* (c) Copyright Ascensio System SIA 2010-2019
*
* 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 20A-12 Ernesta Birznieka-Upisha
* street, Riga, Latvia, EU, LV-1050.
*
* 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
#include "ITextItem.h"
namespace AVSDocFileFormat
{
struct ITableItem: public ITextItem
{
virtual vector<PapxInFkp> GetAllMarkersProperties( vector<unsigned int>* allMarkersOffsets ) const = 0;
virtual ~ITableItem() {};
};
}

View File

@ -1,56 +0,0 @@
/*
* (c) Copyright Ascensio System SIA 2010-2019
*
* 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 20A-12 Ernesta Birznieka-Upisha
* street, Riga, Latvia, EU, LV-1050.
*
* 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
#include "PapxInFkp.h"
#include "Run.h"
namespace ASCDocFileFormat
{
struct ITextItem;
typedef NSCommon::smart_ptr<ITextItem> TextItemPtr;
struct ITextItem : public IVirtualConstructor
{
virtual wstring GetAllText() const = 0;
virtual operator wstring() const = 0;
virtual vector<PapxInFkp> GetAllParagraphsProperties( vector<unsigned int>* allParagraphsOffsets ) const = 0;
virtual vector<Chpx> GetAllRunProperties( vector<unsigned int>* allRunsOffsets ) const = 0;
virtual vector<TextItemPtr> GetAllParagraphsCopy() const = 0;
virtual vector<ITextItem*> GetAllParagraphs() = 0;
virtual vector<IParagraphItemPtr> GetAllRunsCopy( vector<unsigned int>* allRunsOffsets ) const = 0;
virtual vector<IParagraphItemPtr> GetAllParagraphItemsCopy( vector<unsigned int>* allParagraphItemsOffsets ) const = 0;
virtual ~ITextItem() {}
};
}

Some files were not shown because too many files have changed in this diff Show More