Compare commits

...

870 Commits

Author SHA1 Message Date
47e5501de7 Update Copyright 2023-03-02 15:37:07 +03:00
e83e025748 fix bug #61318 2023-03-02 14:25:08 +03:00
66ac071c58 fix bug #61412 2023-03-01 12:46:15 +03:00
cd8ce24a70 fix bug #61406 2023-02-28 20:00:50 +03:00
a7c70687c9 for bug #61375 2023-02-28 19:37:01 +03:00
5d0f0875be for bug #61375 2023-02-28 17:21:07 +03:00
365d8bf95a Add test for all systems 2023-02-28 16:29:40 +03:00
313af0b405 Merge pull request #1144 from ONLYOFFICE/fix/bug61383
Fix bug #61383
2023-02-28 14:18:08 +03:00
4aa56f8aa0 For bug #61383 2023-02-28 13:22:12 +03:00
ffe2806bc8 fix bug #61353 2023-02-28 12:48:47 +03:00
7dcbd57aa7 Fix bug #61383 2023-02-28 12:44:41 +03:00
cdb72bab80 fix bug #61375 2023-02-27 18:05:19 +03:00
b15aff55d1 Refactoring socketio websocket realization 2023-02-26 12:42:33 +05:00
d3423f93eb Fix build 2023-02-24 13:55:59 +03:00
0f9cc64520 Fix bug 61302 2023-02-23 21:45:50 +03:00
2309f915b4 Fix bug 61296 2023-02-23 21:42:12 +03:00
60bae43495 Fix bug #61321 2023-02-22 10:08:10 +03:00
77297aedc8 Remove unused code 2023-02-22 09:42:47 +03:00
ecd2a5eba1 fix bug #61294 2023-02-21 12:22:15 +03:00
698def3934 fix bug #61070 2023-02-20 11:51:47 +03:00
00e9550927 . 2023-02-17 10:46:38 +03:00
8e36d60e4b fix bug #61222 2023-02-16 22:17:12 +03:00
daa392556a fix bug #61243 2023-02-16 21:49:22 +03:00
eea5608399 Merge pull request #1143 from ONLYOFFICE/fix/pdfLinks
fix pdf Links
2023-02-16 20:11:28 +03:00
a03b876269 Use sync_close instead of close 2023-02-16 19:23:15 +03:00
eecf268ac9 fix pdf Links
part of 52583
2023-02-16 18:26:21 +03:00
7e767f0f3f fix bug #61031 2023-02-13 13:19:26 +03:00
cf37e1edef fix bug #61054 2023-02-13 11:59:31 +03:00
eedcaa9768 . 2023-02-10 10:43:32 +03:00
c615afa80e . 2023-02-10 10:41:31 +03:00
93435fce9f Merge branch 'hotfix/v7.3.3' of https://github.com/ONLYOFFICE/core into hotfix/v7.3.3 2023-02-10 10:27:41 +03:00
c6d767d8d9 . 2023-02-10 10:27:24 +03:00
8a9861a583 Fix memory leaks. Add ARC in xcode frameworks 2023-02-10 11:32:53 +05:00
e71e4068e4 fix bug #61089 2023-02-09 20:37:28 +03:00
29804158f9 Merge pull request #1142 from ONLYOFFICE/fix/bug61103
Fix bug #61103
2023-02-09 16:21:31 +03:00
9683d6e78c fix bug #61117 2023-02-09 15:40:26 +03:00
4cfe02a387 Fix bug #61103 2023-02-09 15:09:04 +03:00
f79ad969a4 Merge pull request #1140 from ONLYOFFICE/fix/bug61090
Fix bug #61090
2023-02-08 16:31:53 +03:00
916635782d Fixed working with Clip in wmf to svg conversion 2023-02-08 16:23:54 +03:00
96ff2246fa Fix bug #61090 2023-02-08 16:23:17 +03:00
1b10918258 Fix test.pro 2023-02-08 13:50:37 +03:00
11099d2575 Merge pull request #1139 from ONLYOFFICE/feature/android_packages
Added android packages
2023-02-07 13:12:11 +03:00
52071831de Fix crash on using emdedder data in isolates 2023-02-06 11:36:45 +03:00
a133ce4714 Merge pull request #1136 from ONLYOFFICE/fix/pre7.3.3
Fix/pre7.3.3
2023-02-05 20:04:20 +05:00
608b04ca26 For bug 61014 2023-02-05 11:52:22 +03:00
2b6ad83b36 Fix bug 60433 2023-02-04 23:49:41 +03:00
0b9dc3c296 for bug #60963 (change paragraph place) 2023-02-02 13:08:34 +03:00
47e0ccbe29 fix bug #60963 2023-02-02 12:32:50 +03:00
5d720e75f5 . 2023-02-02 11:03:33 +03:00
ad03ae0390 fix group ole/math_equation in sheets from/to ods 2023-02-01 20:06:57 +03:00
90d709972d Merge pull request #1134 from ONLYOFFICE/fix/v7.3.0-fix-bugs
Fix/v7.3.0 fix bugs
2023-02-01 17:59:43 +03:00
f77d3440f6 Merge pull request #1133 from ONLYOFFICE/feature/pre_7.3.1
Add support tls & no tls in socketio (double code)
2023-01-31 23:01:31 +05:00
1b84274673 Add support tls & no tls in socketio (double code) 2023-01-31 18:07:33 +05:00
f601d95d27 package embedding in binary ms 2023-01-31 11:31:26 +03:00
c16d63c011 Merge branch release/v7.3.0 into master 2023-01-31 07:57:44 +00:00
4e0e0265d0 fix bug #51001 2023-01-30 11:36:01 +03:00
bbf661e74e Fix bug 60874 2023-01-27 23:00:04 +03:00
e5253bbf35 Merge pull request #1130 from ONLYOFFICE/fix/v7.3.0-fix-60848
fix bug #60848
2023-01-27 17:15:50 +05:00
c2591eea02 fix bug #60848 2023-01-27 14:02:04 +03:00
cf0e9febe5 Merge pull request #1129 from ONLYOFFICE/fix/v7.3.0-fix-bugs
for bug #60804
2023-01-26 23:35:19 +05:00
a3696b07df for bug #60804 2023-01-26 20:50:27 +03:00
32e1be7493 Fix bug 60858 2023-01-26 20:01:17 +03:00
46a37c9199 [android] Add publish url 2023-01-26 09:35:33 +03:00
aea4996a45 Fix bug 55616 2023-01-25 21:03:23 +03:00
28257fca25 Fix bug 60850 2023-01-25 19:10:26 +03:00
f846881e88 Merge pull request #1128 from ONLYOFFICE/fix/bug60827
Fix bug 60827
2023-01-25 17:30:35 +03:00
961e955ee4 Fix escape characters im pdf metadata 2023-01-25 17:06:13 +03:00
ac7569bc51 Merge pull request #1127 from ONLYOFFICE/fix/bug60827
Fix bug 60827
2023-01-25 14:42:33 +03:00
1cd49c52d2 Fix bug 60827 2023-01-25 14:40:19 +03:00
8338ff75c8 Merge pull request #1124 from ONLYOFFICE/fix/x2ttester
Fix bug 60241
2023-01-25 12:31:10 +03:00
a215476303 fix bug #60823 2023-01-25 11:37:59 +03:00
7e765011b8 fix bug #60739 2023-01-25 11:28:43 +03:00
c2e4fcfebd [android] Add upload to github packages 2023-01-25 11:26:55 +03:00
e649ecb7a0 Fix memory leak 2023-01-25 01:00:33 +03:00
fc45ed4aaf Merge pull request #1126 from ONLYOFFICE/fix/bug60690
fix typo
2023-01-24 18:40:25 +03:00
5c6956b5d5 fix 2023-01-24 18:37:59 +03:00
8a728e2ec9 Merge pull request #1125 from ONLYOFFICE/fix/bug60690
Fix bug 60690
2023-01-24 18:34:41 +03:00
9a515fc99e fix SetChanged 2023-01-24 18:30:53 +03:00
71ab0560f2 fix bDropEmpty 2023-01-24 18:29:20 +03:00
255c8cd547 Fix bug 60690 2023-01-24 18:24:47 +03:00
e36b2bcd93 bDropEmpty path for fill and clip 2023-01-24 16:47:27 +03:00
79aede17c6 test page 2023-01-24 16:36:05 +03:00
23afcb430c Fix bug 60674 2023-01-24 16:24:53 +03:00
5d4d2d817c fix bug #60735 2023-01-24 16:07:34 +03:00
8a2234d2b5 Update README 2023-01-24 13:40:28 +03:00
3526b286c3 . 2023-01-24 11:32:37 +03:00
d0b9a8e052 . 2023-01-24 10:21:35 +03:00
497ec9b2f1 fix bug #60797 2023-01-23 23:15:18 +03:00
7a4353bc4a Merge branch 'release/v7.3.0' of https://github.com/ONLYOFFICE/core into release/v7.3.0 2023-01-23 20:56:53 +03:00
0b2fa174d5 Add ctDocInfo command in check commands 2023-01-23 20:55:34 +03:00
9b0cd732e3 fix bug #60794 2023-01-23 20:52:58 +03:00
062e410efc Merge pull request #1123 from ONLYOFFICE/fix/v7.3.0-fix-bugs
fix bug #60739
2023-01-23 20:37:17 +03:00
1faa2c3f77 fix bug #60739 2023-01-23 20:36:25 +03:00
70c7635af6 Fix bug 60241 2023-01-23 16:17:59 +03:00
7ae87cf15a Merge pull request #1121 from ONLYOFFICE/fix/bug59621
Fix bug 59621
2023-01-23 15:59:28 +03:00
c73e91094f Merge pull request #1120 from ONLYOFFICE/fix/bug60665
Fix bug 60665
2023-01-23 15:58:20 +03:00
98df4659b5 Fix bug 59621 2023-01-23 15:26:01 +03:00
b2e2b06fc2 Fix bug 60665 2023-01-23 14:34:33 +03:00
a039a36b8f fix bug #60725 2023-01-23 12:01:47 +03:00
d6c4b2b95c Merge pull request #1119 from ONLYOFFICE/fix/html-docinfo
Fix html DocInfo
2023-01-23 10:15:36 +03:00
eb34cb7e23 Fix non-clean build 2023-01-22 20:29:16 +05:00
bc26f0bda4 Fix build 2023-01-22 17:50:09 +03:00
210d5ef30d Fix build in modern systems 2023-01-22 17:01:01 +03:00
b174c2c601 fix bug #60726 2023-01-22 15:13:54 +03:00
fa075d0224 Add support bundle_xcframeworks build flag 2023-01-22 13:24:46 +05:00
4a6c0e340b update external 2023-01-20 18:30:44 +03:00
65604849ac fix bug #60338 2023-01-20 18:18:50 +03:00
276de3c7b0 fix fb2 escaping characters 2023-01-20 17:42:09 +03:00
0ccd31865d fix bug #60674 2023-01-20 16:52:08 +03:00
ab2f79bd19 epub fix DocInfo 2023-01-20 16:08:55 +03:00
33ac9e4f5e Merge pull request #1118 from ONLYOFFICE/fix/metafile_bugs
Fix bug in metafile conversion
2023-01-20 15:52:19 +03:00
7f1e2370d2 fb2 fix DocInfo 2023-01-20 14:55:39 +03:00
a2aec43d22 doctrenderer delete asc_getCoreProps and x2t fix fb2/epub 2023-01-20 14:54:22 +03:00
aaae4d7728 [x2t] For bug 60665 2023-01-20 08:45:32 +03:00
2d1e08fbd1 Fix bug 60683 2023-01-19 22:42:10 +03:00
de4e27f5d7 Merge pull request #1117 from ONLYOFFICE/fix/x2ttester
Fix bug 60671
2023-01-19 19:09:53 +03:00
60e79db7b0 Fix misprint 2023-01-19 19:01:31 +03:00
00114714d1 Fix 2023-01-19 18:57:58 +03:00
62f98a8cc5 Fix
substr -> find
2023-01-19 18:42:00 +03:00
c6d9a22d16 Fix bug in metafile conversion 2023-01-19 18:37:00 +03:00
fab1c09db3 Fix 2023-01-19 18:27:09 +03:00
1911f11e51 Fix bug 60671 2023-01-19 18:01:40 +03:00
dfec7cb0bb . 2023-01-19 16:57:19 +03:00
8f11112c43 . 2023-01-19 16:35:55 +03:00
5071a61692 Merge pull request #1116 from ONLYOFFICE/fix/metafile_bugs
Fix metafile bugs
2023-01-19 13:39:48 +03:00
bd2736ab09 Fix bug in metafile conversion 2023-01-19 12:54:09 +03:00
04196de46e . 2023-01-19 12:23:15 +03:00
e4c334e84c Merge branch 'release/v7.3.0' of https://github.com/ONLYOFFICE/core into release/v7.3.0 2023-01-19 10:39:52 +03:00
6214f187e0 fix bug #60510 2023-01-19 10:37:08 +03:00
55857b803a Fix bug 60276 2023-01-18 23:55:31 +03:00
d1c68f38d7 Fix bug in metafile conversion 2023-01-18 19:49:29 +03:00
ab80f5e399 Fix bug in metafile to svg conversion 2023-01-18 18:38:08 +03:00
457e4dadce Merge pull request #1114 from ONLYOFFICE/fix/bug60648
Fix bug 60648
2023-01-18 13:22:15 +03:00
f556fcf3fc fix m_bChanged in vector 2023-01-18 12:45:10 +03:00
fd88dbd7df fix bug #60515 2023-01-18 12:37:58 +03:00
97f440ebab Fix bug 60648
related bug 59523
2023-01-18 11:27:23 +03:00
3dcc8e916d Merge pull request #1113 from ONLYOFFICE/fix/x2ttester
Fix bug 60241
2023-01-18 10:41:44 +03:00
a1a7b903b6 fix bug #60490 2023-01-17 23:25:23 +03:00
a9a7c3fb22 fix bug #59365 2023-01-17 22:51:44 +03:00
c76f50a2f8 Merge pull request #1105 from ONLYOFFICE/fix/bug59621
Fix bug 59621
2023-01-17 16:15:48 +03:00
55c2b426f4 Merge pull request #1112 from ONLYOFFICE/fix/metafile_bugs
Fix metafile bugs
2023-01-17 14:59:06 +03:00
c5729090b3 Merge pull request #1111 from ONLYOFFICE/fix/bug60468
Fix bug #60468
2023-01-17 14:58:34 +03:00
d3a98c0164 Added scaling of patterns in metafile to svg conversion 2023-01-17 14:46:37 +03:00
2bd9d2fdf3 Fix bug #60609 2023-01-17 12:35:57 +03:00
7065c1a563 Merge remote-tracking branch 'origin/fix/v7.3-fix-bugs-ppt2' into release/v7.3.0 2023-01-17 12:20:02 +03:00
866a36448f Fix bug in metafile to svg conversion 2023-01-17 11:57:29 +03:00
02155b0b97 Fix bug #60608 2023-01-17 11:56:46 +03:00
8e15985b83 Fix
Doesnt create any folders, if no output formats
2023-01-17 11:47:50 +03:00
96b5eae285 fix bug #59405 2023-01-17 10:23:25 +03:00
898844453d Fix bug #60468 2023-01-16 19:33:07 +03:00
e9e87d89c9 Merge pull request #1110 from ONLYOFFICE/fix/bug60405
Fix bug #60405
2023-01-16 18:07:01 +03:00
5f31790f7a Fix bug #60405 2023-01-16 17:13:48 +03:00
ff9884b73d Fix 2023-01-16 17:06:41 +03:00
27bf69fd98 Fix bug 60513 2023-01-16 15:25:07 +03:00
e71d04bd9d Merge pull request #1109 from ONLYOFFICE/fix/v7.3.0-fix-bugs
.
2023-01-16 15:10:20 +03:00
3b802bac97 . 2023-01-16 15:09:38 +03:00
2129ed7492 Merge pull request #1108 from ONLYOFFICE/fix/v7.3.0-fix-bugs
Fix/v7.3.0 fix bugs
2023-01-16 15:08:49 +03:00
96a7298071 Merge remote-tracking branch 'origin/fix/v7.3-fix-bugs-ppt2' into fix/v7.3.0-fix-bugs 2023-01-16 15:04:08 +03:00
da6c775fb8 fix bug #55298 2023-01-16 15:03:53 +03:00
a445b973c2 Fix bug 60241 2023-01-16 14:33:29 +03:00
8f5a7218b8 Merge pull request #1106 from ONLYOFFICE/fix/metafile_to_svg
Fix bugs in metafile to svg conversion
2023-01-15 22:53:24 +03:00
c4ea1ee198 Merge pull request #1107 from ONLYOFFICE/fix/metafile_to_raster
Fix bug in metafile to raster conversion
2023-01-15 22:53:00 +03:00
4d678fc7a7 For bug 60488 2023-01-15 22:28:57 +03:00
738fea25e6 Fix bug 60141 2023-01-14 22:03:05 +03:00
349bed9dbc Fix bug #58904 2023-01-13 17:17:37 +03:00
032ec1dffd Merge pull request #1101 from ONLYOFFICE/fix/bug60483
Fix bug 60483
2023-01-13 17:10:49 +03:00
b04bd26758 Merge pull request #1104 from ONLYOFFICE/fix/bug60114
Fix bug 60114
2023-01-13 16:43:30 +03:00
d67a10268a Fix bug 60114 2023-01-13 16:35:38 +03:00
0d1877efb7 fix bug #59407 2023-01-13 15:40:14 +03:00
d43ff48bc6 Fix bug 60114 2023-01-13 14:57:09 +03:00
e02c6e81be Fix bug #60541 2023-01-13 13:30:52 +03:00
d23d795160 Fix bug 60139 2023-01-13 13:20:06 +03:00
2b5ffd05a2 Fix bug #60486 2023-01-13 13:11:01 +03:00
e297f32b31 fix bug #60542 2023-01-13 12:28:02 +03:00
0f64eadedb Fix bug 60511 2023-01-13 11:38:26 +03:00
13d1d3d3e9 x2t fix 2023-01-13 10:37:35 +03:00
1204a9a501 Add getPaths method to zip engine 2023-01-12 23:20:54 +03:00
8e7e317e4b Fix bug in metafile to svg conversion 2023-01-12 13:40:18 +03:00
05ffb10eaa fix part of 59407 bug 2023-01-12 13:36:10 +03:00
b1474a84c4 SetDocumentInfo 2023-01-12 11:05:05 +03:00
454ef30d56 creator 2023-01-11 17:54:12 +03:00
0570672f95 Merge pull request #1100 from ONLYOFFICE/fix/bug58644
Fix bug 58644
2023-01-11 16:11:03 +03:00
cf8b06f9c2 Merge pull request #1103 from ONLYOFFICE/fix/metafile_to_raster
Fixing bugs in converting metafile to raster
2023-01-11 16:09:07 +03:00
ba77b4632c Merge pull request #1102 from ONLYOFFICE/fix/metafile_to_svg
Fixing bugs in converting metafile to svg
2023-01-11 16:08:50 +03:00
40c65b46be Fix bug #60486 2023-01-11 15:53:08 +03:00
a4ec604b1b Fix bug #60485 2023-01-11 15:10:19 +03:00
9ae3d1623c Added a condition to the creation of lines in the metafile conversion to svg 2023-01-11 13:28:29 +03:00
551d356b79 Fixed a bug with creating a pattern in converting a metafile to svg 2023-01-11 13:11:39 +03:00
931e81a8a0 Refactoring 2023-01-11 12:51:16 +03:00
64a1fd5e7b Fixed a bug with inverted text in metafile to svg conversion 2023-01-11 12:47:58 +03:00
25b61c9838 Fixed bug #60480 2023-01-11 12:47:40 +03:00
d1dde6f1a0 Fix bug #60478 2023-01-10 19:29:57 +03:00
57427336fa Fix bug 60483 2023-01-10 15:59:19 +03:00
c2ef4a871c Merge branch 'release/v7.3.0' of https://github.com/ONLYOFFICE/core into release/v7.3.0 2023-01-10 14:24:51 +03:00
cd1e176b1d fix bug #60491 2023-01-10 14:24:39 +03:00
de1339af79 [mobile] Add document protection defines 2023-01-10 14:17:37 +03:00
2171b5530b fix bug #59705 2023-01-10 14:10:39 +03:00
1a6a9b5cb5 Fix bug 58644 2023-01-10 13:34:24 +03:00
3001b0b6d2 Fixed a bug in converting metafile to svg 2023-01-09 21:54:30 +03:00
2011bf6464 Fix bug #60471 2023-01-09 20:20:58 +03:00
f70be27826 Fix bug #60461 2023-01-09 19:29:26 +03:00
27b407ba48 Remove not used websocket engine 2023-01-01 19:51:50 +03:00
ee22dd9b26 . 2022-12-31 00:53:47 +03:00
3941d51d1e add chart animatin. Fix part of 59407 2022-12-30 18:01:02 +03:00
be7a75c7c9 Merge pull request #1099 from ONLYOFFICE/fix/metafile_to_svg
Fix metafile to svg conversion
2022-12-29 18:43:19 +03:00
a8e5a98d5f Fix bug #60398 2022-12-29 18:22:37 +03:00
cac8df19c1 Fix bug #60397 2022-12-29 18:22:14 +03:00
fe04849ca4 Refactoring 2022-12-29 11:47:19 +03:00
419437b1fa Merge pull request #1098 from ONLYOFFICE/fix/bug57911
Fix bug 57911
2022-12-28 20:09:59 +03:00
6e78bc880d refactoring 2022-12-28 17:28:57 +03:00
29ec077815 Refactoring 2022-12-28 16:47:57 +03:00
8a054f5cdf Fix indents 2022-12-28 14:14:01 +03:00
4310394fc7 fix error empty font 2022-12-28 13:51:47 +03:00
bc7aa9d328 fix bug #60361 2022-12-28 13:32:50 +03:00
1cd73fd770 for bug #60323 2022-12-28 11:51:17 +03:00
11ddc810d7 fix place js_get_stream_id 2022-12-28 11:46:04 +03:00
69ff1ca505 Senf ranges to pdf/xps module 2022-12-27 15:44:35 +03:00
848a1762f9 fix bug #60307 2022-12-23 16:13:27 +03:00
492d86393e fix bug #60314 2022-12-23 15:48:58 +03:00
a70e9c63bc Merge pull request #1097 from ONLYOFFICE/fix/bug59025
Fix bug 59025
2022-12-23 13:12:33 +03:00
a90cdc2cdb Fix bug 59025 2022-12-23 12:57:05 +03:00
37d77e458b fix bug #60305 2022-12-22 18:58:04 +03:00
2b1db43259 for bug #60299 2022-12-22 17:59:09 +03:00
5f80804661 fix 2022-12-22 15:34:45 +03:00
fba86b7071 InitializeFontsRanges 2022-12-22 14:52:41 +03:00
539d067dc4 fix bug #60270 2022-12-22 12:41:01 +03:00
54b8c99431 rebase js_get_stream_id 2022-12-21 18:25:28 +03:00
69e0524960 fix bug #59960 2022-12-21 13:37:40 +03:00
36810c9127 oform 2022-12-20 20:16:54 +03:00
e4fa81b16b Merge pull request #1089 from ONLYOFFICE/fix/bug56904
Fix bugs 56130, 56904, 59379
2022-12-20 19:51:23 +03:00
3c2f982bb2 Rebuild module 2022-12-20 18:10:14 +03:00
c6930b4ffd fix IsNeedCMap 2022-12-20 17:36:42 +03:00
abec59d9bf define 2022-12-20 17:14:34 +03:00
86edbdf9a5 fix 56130 2022-12-20 16:42:43 +03:00
b7fc8748d2 fix 2022-12-20 16:12:05 +03:00
e9a116c1c8 Merge pull request #1094 from ONLYOFFICE/fix/x2ttester
Fix bug 60093
2022-12-20 15:04:28 +03:00
cd3b39581d protect (+) 2022-12-20 11:16:30 +03:00
24e04314d8 Merge branch hotfix/v7.2.2 into master 2022-12-20 07:55:40 +00:00
0368fa0f36 fix bug #40946 2022-12-19 21:22:22 +03:00
eb169b49ed setCMap for drawingfile_base 2022-12-19 18:17:07 +03:00
eaf3b7fd9f create IsNeedCMap and three types of getting CMap 2022-12-19 17:53:58 +03:00
cba1724045 Fix bug #59714 2022-12-16 17:52:13 +03:00
77529ecc7e Merge pull request #1095 from ONLYOFFICE/fix/metafileToSvg
Refactoring metafile to svg conversion
2022-12-16 14:07:19 +03:00
902f7a33d1 Fixed typos 2022-12-16 11:53:52 +03:00
48ae9df1cf Fix ignore file 2022-12-16 11:51:30 +03:00
06668af052 Add test app 2022-12-16 11:47:33 +03:00
a6e7d21f80 Fix build 2022-12-16 11:10:18 +03:00
84d1d8a68d Add sources for keychain plugin 2022-12-15 23:17:16 +03:00
5890849e42 Hatches generation has been moved to a separate class 2022-12-15 21:34:16 +03:00
086c0e71cc fix bug #59193 2022-12-15 19:31:10 +03:00
3404bea247 fix bug #59917 2022-12-15 19:06:58 +03:00
a5756e42ce for bug #59496 2022-12-15 16:07:35 +03:00
fb2e149f95 Refactoring and combining code 2022-12-15 16:01:27 +03:00
2c0c356371 . 2022-12-14 16:35:12 +03:00
a7c9bf8f1d . 2022-12-14 16:29:19 +03:00
7b1715cfcf Update readme 2022-12-14 14:31:43 +03:00
22b709b4d7 . 2022-12-14 12:15:58 +03:00
f0ffe097da . 2022-12-14 12:05:04 +03:00
27c918d810 . 2022-12-14 11:49:09 +03:00
de8746898a fix build 2022-12-14 11:34:59 +03:00
7f2e1ed97d Fix bug 60093 2022-12-13 22:19:53 +03:00
4cd3b71c07 fix bug #56631 2022-12-13 20:40:57 +03:00
791c786bf7 Refactoring modules [hash, oform, all] 2022-12-13 18:26:43 +03:00
41a358764f watermark id 2022-12-13 18:25:39 +03:00
3d077122c6 Merge pull request #1093 from ONLYOFFICE/fix/x2ttester
Fix BOM
2022-12-13 17:13:45 +03:00
f3a393080c Fix BOM 2022-12-13 17:11:39 +03:00
71553d5aa4 Merge pull request #1092 from ONLYOFFICE/fix/x2ttester
Fix bugs
2022-12-13 16:33:28 +03:00
e97569a4bb Fix bug 60129 2022-12-13 15:24:21 +03:00
cd56cb6dc8 comments 2022-12-13 14:08:57 +03:00
162e96cebd Developing 2022-12-13 13:02:56 +03:00
6d29cda8ea Add code for engine_base.js 2022-12-13 12:45:08 +03:00
f215c343b4 Merge pull request #1091 from ONLYOFFICE/fix/bug60110
Fix bug #60110
2022-12-13 11:24:12 +03:00
f3b8e8158a Add compiled module 2022-12-13 11:21:49 +03:00
9d31985ae0 Merge pull request #1090 from ONLYOFFICE/fix/x2t
Fix/x2t
2022-12-13 10:01:48 +03:00
28c99c4d4f Fix bug 60118 2022-12-12 22:57:11 +03:00
b31ceac8c9 Fix 2022-12-12 22:49:21 +03:00
e9a17f9593 Fix bug 60120 2022-12-12 22:31:47 +03:00
35b301b382 Fix bug #60110 2022-12-12 20:29:18 +03:00
fdb49b7b69 load CMapData and create CMapToMemory 2022-12-12 18:03:31 +03:00
7f47ac262c fix bug #60112 2022-12-12 18:02:29 +03:00
4325e5f9d3 . 2022-12-12 17:42:58 +03:00
0e604235fb fix bug #60111 2022-12-12 17:39:03 +03:00
4551f1eadc . 2022-12-12 17:24:50 +03:00
eb5180471e Fix compile module 2022-12-12 16:45:13 +03:00
796190157a Optimize code 2022-12-12 16:19:48 +03:00
297f963990 Refactoring oform plugin module 2022-12-12 16:13:14 +03:00
fdf39011dd Refactoring 2022-12-12 16:07:49 +03:00
044c8b59c2 CMap file 2022-12-12 15:28:29 +03:00
f69aab7562 Add methods for sign/keys module 2022-12-12 14:52:33 +03:00
d79a6977dc . 2022-12-11 21:18:14 +03:00
aa20538015 - precompiled odf 2022-12-11 17:15:08 +03:00
36b6e4b5ff . 2022-12-11 16:21:44 +03:00
4eae0651d6 ppt build fix. ready to merge 2022-12-11 16:08:37 +03:00
2fd4e80650 Merge branch 'release/v7.3.0' into fix/refact 2022-12-11 15:48:32 +03:00
99fee71d3a . 2022-12-11 15:05:37 +03:00
291dbbe0bb Merge branch 'release/v7.3.0' into fix/refact 2022-12-11 14:22:25 +03:00
8a49166605 . 2022-12-11 13:57:44 +03:00
8d649c370b fix build 2022-12-11 13:45:59 +03:00
baf917818c Merge branch 'release/v7.3.0' into fix/refact 2022-12-11 13:28:50 +03:00
585d2e5a4a fix build 2022-12-11 13:16:16 +03:00
6ca66fa683 Merge branch 'release/v7.3.0' into fix/refact 2022-12-11 11:51:41 +03:00
ddc20afc2c . 2022-12-11 09:34:25 +03:00
cd7f4e5c1f Merge remote-tracking branch 'origin/fix/refact-ppt3' into release/v7.3.0 2022-12-11 09:19:40 +03:00
d5dbf1b8eb Separate some h and cpp (Reader/Records) 2022-12-10 15:23:36 +03:00
676cdaf04a remove iostream includes and using namespace in header file 2022-12-10 14:54:44 +03:00
3cd9e6d397 add missing license - part 2 2022-12-10 13:42:34 +03:00
ab6424731c add missing license 2022-12-10 13:20:52 +03:00
3870d16cbc PPT_FORMAT -> PPT in all project 2022-12-10 13:16:21 +03:00
e802ed01e1 Fix SSlidePersist build problem 2022-12-10 12:20:34 +03:00
74bac4cec6 Reformat records. SSlidePersist build problem 2022-12-10 11:47:59 +03:00
85a5dcd7ee Merge branch 'release/v7.3.0' into fix/refact 2022-12-10 10:39:24 +03:00
aeaa86c88f odf minor 2022-12-10 10:39:02 +03:00
0da7b35757 rtf include changes 2022-12-09 23:44:55 +03:00
690a75022c sepatate h files. No records 2022-12-09 19:56:49 +03:00
5d57702985 create CMapDirToFile 2022-12-09 18:49:31 +03:00
2d0baac6fe change namespace PPT_FORMAT -> PPT 2022-12-09 18:01:24 +03:00
b1c9245223 Fix compile modules 2022-12-09 17:07:06 +03:00
3685bb311c Add cert engine for oform 2022-12-09 17:03:24 +03:00
4673d68387 . 2022-12-08 18:50:53 +03:00
98175e438f Merge remote-tracking branch 'origin/fix/refact' into release/v7.3.0 2022-12-08 18:22:59 +03:00
8d01de861f ready to merge
rtf format refactored.
x2t compiled.
2022-12-08 17:57:42 +03:00
5aa6386249 Fix bug 60054 2022-12-08 17:39:56 +03:00
2341689208 clear 2022-12-08 17:02:48 +03:00
6823e0e241 fix 2022-12-08 17:01:02 +03:00
31b5771a19 file length comparison 2022-12-08 16:59:58 +03:00
c1b84ee96f Merge branch 'release/v7.3.0' into fix/refact 2022-12-08 14:37:04 +03:00
237d20eed2 RtfFile refact
OOXml/Writer folder
2022-12-08 14:31:37 +03:00
dd988ad3cf RtfFile/Format refact 2022-12-08 13:30:24 +03:00
c609c616f0 . 2022-12-08 09:31:32 +03:00
93cb4b1be3 fix bug #59977 2022-12-07 18:52:34 +03:00
4b1190f54b Merge remote-tracking branch 'origin/fix/refact' into release/v7.3.0 2022-12-07 15:56:22 +03:00
664c14b894 ready to merge
doc format done.
2022-12-07 15:20:44 +03:00
dbb4b67491 Fix previous commit 2022-12-07 15:11:33 +03:00
1c10b51ec2 Merge branch 'release/v7.3.0' into fix/refact 2022-12-07 15:00:58 +03:00
a280d5822c Doc format refactored
x2t compiled.
2022-12-07 15:00:36 +03:00
bf6747d362 Fix previous commit 2022-12-07 14:56:10 +03:00
b96ab6bd1f Fix build 2022-12-07 14:52:18 +03:00
1d61dba795 Merge branch 'release/v7.3.0' of https://github.com/ONLYOFFICE/core into release/v7.3.0 2022-12-07 14:40:32 +03:00
cc522274b6 Change app for server sharing 2022-12-07 14:39:45 +03:00
7bf7e80100 Add missed file 2022-12-07 10:40:17 +03:00
528e3e3e15 Remove unneeded code 2022-12-07 00:10:38 +03:00
d69ff8e495 Add comment 2022-12-06 20:50:22 +03:00
59153b1a38 Fix build for multiply arches at the same time 2022-12-06 19:48:07 +03:00
f1499aeae4 generate autogen 2022-12-06 18:29:15 +03:00
657d04adb2 get binary cmap 2022-12-06 18:24:12 +03:00
c46f81630d Merge remote-tracking branch 'origin/fix/refact' into release/v7.3.0 2022-12-06 17:48:59 +03:00
55d5573e17 Add ignore file 2022-12-06 17:04:50 +03:00
2aed22cd6b FIx previous commit 2022-12-06 16:35:29 +03:00
8796dacf93 Add socketio worked version 2022-12-06 16:33:47 +03:00
24fc302a32 ready to merge
x2t compiled with pptx optimization
2022-12-06 14:26:01 +03:00
5dbfc32c3e Merge branch 'release/v7.3.0' into fix/refact 2022-12-06 13:34:59 +03:00
90283fab8a pptx: optimization on
without AVSINLINE
2022-12-06 13:34:38 +03:00
d809afc62a fix bug #59976 2022-12-06 12:37:02 +03:00
5a7ed95b7e fix bug #60000 2022-12-06 12:21:33 +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
62d6f365cb all CMap for Adobe-GB1 2022-12-02 17:16:14 +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
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
ab849cc03d Fixed bugs 2022-11-17 22:10:51 +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
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
11330 changed files with 963983 additions and 1328734 deletions

4
.gitignore vendored
View File

@ -42,3 +42,7 @@ Thumbs.db
.vs
DesktopEditor/fontengine/js/common/freetype-2.10.4
*_resource.rc
.qtc_clangd
Common/3dParty/openssl/openssl/

View File

@ -1,506 +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 <unordered_map>
#include <list>
#include <boost/shared_ptr.hpp>
#include "../../DesktopEditor/common/File.h"
inline static std::wstring ReplaceString(std::wstring subject, const std::wstring& search, const std::wstring& replace)
{
size_t pos = 0;
while ((pos = subject.find(search, pos)) != std::string::npos)
{
subject.replace(pos, search.length(), replace);
pos += replace.length();
}
return subject;
}
//----------------------------------------------------------------
namespace XMLTools
{
/*========================================================================================================
class XMLAttribute
========================================================================================================*/
class XMLAttribute
{
private:
std::wstring m_Name;
std::wstring m_Value;
public:
XMLAttribute()
{
}
XMLAttribute( const std::wstring & name ) : m_Name(name)
{
}
XMLAttribute( const std::wstring & name, const std::wstring & value ) : m_Name(name), m_Value(value)
{
}
~XMLAttribute()
{
}
void SetValue( const std::wstring & value )
{
m_Value = std::wstring( value );
}
std::wstring GetName() const
{
return m_Name;
}
/*========================================================================================================*/
std::wstring GetValue() const
{
return m_Value;
}
/*========================================================================================================*/
std::wstring GetXMLString()
{
std::wstring xmlString( L"" );
xmlString += m_Name;
xmlString += std::wstring( L"=\"" );
xmlString += m_Value;
xmlString += std::wstring( L"\"" );
return xmlString;
}
};
/*========================================================================================================
class XMLElement
========================================================================================================*/
class XMLElement;
typedef class boost::shared_ptr<XMLElement> XMLElementPtr;
class XMLElement
{
typedef std::pair< std::wstring, std::wstring> AttributeValuePair;
private:
std::wstring m_Name;
std::wstring m_ElementText;
std::unordered_map<std::wstring, std::wstring> m_AttributeMap;
std::unordered_map<std::wstring, int> m_ChildMap; //for uniq
std::list<XMLElement> m_Elements;
typedef std::list<XMLElement>::iterator ElementsIterator;
typedef std::list<XMLElement>::const_iterator ElementsIteratorConst;
typedef std::unordered_map<std::wstring, std::wstring>::iterator AttMapIterator;
typedef std::unordered_map<std::wstring, std::wstring>::const_iterator AttMapIteratorConst;
public:
XMLElement() {}
XMLElement( const std::wstring & name ) : m_Name(name)
{
}
XMLElement( const std::wstring & prefix, const std::wstring & localName ) :
m_Name( std::wstring( prefix ) + std::wstring( L":" ) + std::wstring( localName ) ), m_ElementText( L"" )
{
}
~XMLElement() {}
void AppendText( const std::wstring & text )
{
m_ElementText = std::wstring( text );
}
void AppendTextSymbol( const wchar_t symbol )
{
m_ElementText += std::wstring( &symbol );
}
void AppendAttribute( const XMLAttribute& attribute )
{
AttributeValuePair p( attribute.GetName(), attribute.GetValue() );
m_AttributeMap.insert( p );
}
void AppendAttribute( const std::wstring & name, const std::wstring & value )
{
AttributeValuePair p( name , value );
m_AttributeMap.insert( p );
}
void AppendChild( const XMLElement& element, bool uniq = false)
{
if (m_ChildMap.find(element.GetName()) != m_ChildMap.end())
{
if (uniq) return;
}
else
{
m_ChildMap.insert(m_ChildMap.end(), std::pair<std::wstring, int>(element.GetName(), 0));
}
m_Elements.push_back( element );
}
void AppendChild( XMLElementPtr element, bool uniq = false)
{
if (!element) return;
if (m_ChildMap.find(element->GetName()) != m_ChildMap.end())
{
if (uniq) return;
}
else
{
m_ChildMap.insert(m_ChildMap.end(), std::pair<std::wstring, int>(element->GetName(), 0));
}
m_Elements.push_back( *element.get() );
}
void RemoveChild( const XMLElement& element )
{
m_Elements.remove( element );
}
bool FindChild( const XMLElement& element )
{
bool result = false;
for ( ElementsIterator iter = m_Elements.begin(); iter != m_Elements.end(); iter++ )
{
if ( *iter == element )
{
result = true;
break;
}
}
return result;
}
bool FindChildByName( const std::wstring & elementName ) const
{
bool result = false;
for ( ElementsIteratorConst iter = m_Elements.begin(); iter != m_Elements.end(); iter++ )
{
if ( iter->m_Name == std::wstring( elementName ) )
{
result = true;
break;
}
}
return result;
}
bool RemoveChildByName( const std::wstring& elementName )
{
bool result = false;
for ( ElementsIterator iter = m_Elements.begin(); iter != m_Elements.end(); iter++ )
{
if ( iter->m_Name == elementName )
{
m_Elements.erase( iter );
result = true;
break;
}
}
return result;
}
bool operator == ( const XMLElement& element ) const
{
bool result = false;
result = ( m_Name == element.m_Name );
if ( m_AttributeMap.size() != element.m_AttributeMap.size() )
{
result = false;
}
else
{
AttMapIteratorConst thisIter = m_AttributeMap.begin();
AttMapIteratorConst elementIter = element.m_AttributeMap.begin();
for ( ; thisIter != m_AttributeMap.end(); thisIter++, elementIter++ )
{
if ( ( thisIter->first != elementIter->first ) || ( thisIter->second != elementIter->second ) )
{
result = false;
}
}
}
if ( m_Elements.size() != element.m_Elements.size() )
{
result = false;
}
else
{
ElementsIteratorConst thisIter = m_Elements.begin();
ElementsIteratorConst elementIter = element.m_Elements.begin();
for ( ; thisIter != m_Elements.end(); thisIter++, elementIter++ )
{
if ( !( (*thisIter) == (*elementIter) ) )
{
result = false;
}
}
}
return result;
}
/*========================================================================================================*/
std::wstring GetName() const
{
return m_Name;
}
/*========================================================================================================*/
std::wstring GetXMLString()
{
std::wstring xmlString( L"");
bool bIsNameExists = ( m_Name != std::wstring( L"") );
bool bIsTextExists = ( m_ElementText != std::wstring( L"") );
if ( bIsNameExists )
{
xmlString += std::wstring( L"<" ) + m_Name;
}
if ( ( bIsNameExists ) && ( m_AttributeMap.size() > 0 ) )
{
for ( AttMapIterator iter = m_AttributeMap.begin(); iter != m_AttributeMap.end(); iter++ )
{
xmlString += std::wstring( L" " );
xmlString += iter->first;
xmlString += std::wstring( L"=\"" );
xmlString += iter->second;
xmlString += std::wstring( L"\"" );
}
}
if ( ( m_Elements.size() > 0 ) || ( bIsTextExists ) )
{
if ( bIsNameExists )
{
xmlString += std::wstring( L">" );
}
for ( ElementsIterator iter = m_Elements.begin(); iter != m_Elements.end(); iter++ )
{
xmlString += iter->GetXMLString();
}
if ( bIsTextExists )
{
xmlString += m_ElementText;
}
if ( bIsNameExists )
{
xmlString += std::wstring( L"</" );
xmlString += m_Name;
xmlString += std::wstring( L">" );
}
}
else
{
if ( bIsNameExists )
{
xmlString += std::wstring( L"/>" );
}
}
return xmlString;
}
/*========================================================================================================*/
unsigned int GetAttributeCount() const
{
return (unsigned int)m_AttributeMap.size();
}
/*========================================================================================================*/
unsigned int GetChildCount() const
{
return (unsigned int)m_Elements.size();
}
};
class CStringXmlWriter
{
std::wstring m_str;
public:
CStringXmlWriter(){}
std::wstring GetXmlString()
{
return m_str;
}
void SetXmlString(const std::wstring& strValue)
{
m_str = strValue;
}
void Clear()
{
m_str.clear();
}
bool SaveToFile(const std::wstring& strFilePath, bool bEncodingToUTF8 = false)
{
NSFile::CFileBinary file;
if (!file.CreateFileW(strFilePath)) return false;
if (bEncodingToUTF8)
file.WriteStringUTF8(m_str);
else
{
std::string s(m_str.begin(), m_str.end());
file.WriteFile((unsigned char*)s.c_str(), (DWORD)s.length());
}
file.CloseFile();
return true;
}
void WriteString(const std::wstring & strValue)
{
m_str += strValue;
}
void WriteInteger(int Value, int Base = 10)
{
m_str += std::to_wstring(Value);
}
void WriteDouble(double Value)
{
m_str += std::to_wstring(Value);
}
void WriteBoolean(bool Value)
{
if (Value)
m_str += L"true";
else
m_str += L"false";
}
void WriteNodeBegin(const std::wstring& strNodeName, bool bAttributed = false)
{
m_str += L"<" + strNodeName;
if (!bAttributed)
m_str += L">";
}
void WriteNodeEnd(const std::wstring& strNodeName, bool bEmptyNode = false, bool bEndNode = true)
{
if (bEmptyNode)
{
if (bEndNode)
m_str += L"/>";
else
m_str += L">";
}
else
m_str += L"</" + strNodeName + L">";
}
void WriteNode(const std::wstring& strNodeName, const std::wstring& strNodeValue)
{
if (strNodeValue.length() == 0)
m_str += L"<" + strNodeName + L"/>";
else
m_str += L"<" + strNodeName + L">" + strNodeValue + L"</" + strNodeName + L">";
}
void WriteNode(const std::wstring& strNodeName, int nValue, int nBase = 10, const std::wstring& strTextBeforeValue = L"", const std::wstring& strTextAfterValue = L"")
{
WriteNodeBegin(strNodeName);
WriteString(strTextBeforeValue);
WriteInteger(nValue, nBase);
WriteString(strTextAfterValue);
WriteNodeEnd(strNodeName);
}
void WriteNode(const std::wstring& strNodeName, double dValue)
{
WriteNodeBegin(strNodeName);
WriteDouble(dValue);
WriteNodeEnd(strNodeName);
}
void WriteAttribute(const std::wstring& strAttributeName, const std::wstring& strAttributeValue)
{
m_str += L" " + strAttributeName + L"=\"" + strAttributeValue + L"\"";
}
void WriteAttribute(const std::wstring& strAttributeName, int nValue, int nBase = 10, const std::wstring& strTextBeforeValue = L"", const std::wstring& strTextAfterValue = L"")
{
WriteString(L" " + strAttributeName + L"=");
WriteString(L"\"");
WriteString(strTextBeforeValue);
WriteInteger(nValue, nBase);
WriteString(strTextAfterValue);
WriteString(L"\"");
}
void WriteAttribute(const std::wstring& strAttributeName, double dValue)
{
WriteString(L" " + strAttributeName + L"=");
WriteString(L"\"");
WriteDouble(dValue);
WriteString(L"\"");
}
};
}

View File

@ -1,93 +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 DocFileFormat
{
class AutoSummaryInfo
{
private:
/// True if the ASUMYI is valid
bool fValid;
/// True if AutoSummary View is active
bool fView;
/// Display method for AutoSummary View:
/// 0 = Emphasize in current doc
/// 1 = Reduce doc to summary
/// 2 = Insert into doc
/// 3 = Show in new document
short iViewBy;
/// True if File Properties summary information
/// should be updated after the next summarization
bool fUpdateProps;
/// Dialog summary level
short wDlgLevel;
/// Upper bound for lLevel for sentences in this document
int lHighestLevel;
/// Show document sentences at or below this level
int lCurrentLevel;
public:
virtual ~AutoSummaryInfo()
{
}
AutoSummaryInfo():
fValid(false), fView(false), iViewBy(0), fUpdateProps(false), wDlgLevel(0),
lHighestLevel(0), lCurrentLevel(0)
{
}
/// Parses the bytes to retrieve a AutoSummaryInfo
AutoSummaryInfo( unsigned char* bytes, int size ):
fValid(false), fView(false), iViewBy(0), fUpdateProps(false), wDlgLevel(0),
lHighestLevel(0), lCurrentLevel(0)
{
if ( size == 12 )
{
//split unsigned char 0 and 1 into bits
this->fValid = FormatUtils::GetBitFromBytes( bytes, size, 0 );
this->fView = FormatUtils::GetBitFromBytes( bytes, size, 1 );
this->iViewBy = (short)FormatUtils::GetUIntFromBytesBits( bytes, size, 2, 2 );
this->fUpdateProps = FormatUtils::GetBitFromBytes( bytes, size, 4 );
this->wDlgLevel = FormatUtils::BytesToInt16( bytes, 2, size );
this->lHighestLevel = FormatUtils::BytesToInt32( bytes, 4, size );
this->lCurrentLevel = FormatUtils::BytesToInt32( bytes, 8, size );
}
else
{
//throw new ByteParseException("Cannot parse the struct ASUMYI, the length of the struct doesn't match");
}
}
};
}

View File

@ -1,104 +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 "VirtualStreamReader.h"
#include "ByteStructure.h"
namespace DocFileFormat
{
class BookmarkFirst: public ByteStructure
{
private:
short ibkl;
short bkc;
public:
static const int STRUCTURE_SIZE = 4;
BookmarkFirst()
{
}
short GetIndex() const
{
return this->ibkl;
}
short GetInformation() const
{
return this->bkc;
}
virtual ~BookmarkFirst()
{
}
virtual ByteStructure* ConstructObject( VirtualStreamReader* reader, int length )
{
BookmarkFirst *newObject = new BookmarkFirst();
newObject->ibkl = reader->ReadInt16();
newObject->bkc = reader->ReadInt16();
return static_cast<ByteStructure*>( newObject );
}
};
class AtnBookmarkFirst: public ByteStructure
{
public:
unsigned short bmc;
unsigned int lTag;
static const int STRUCTURE_SIZE = 10;
AtnBookmarkFirst()
{
}
virtual ~AtnBookmarkFirst()
{
}
virtual ByteStructure* ConstructObject( VirtualStreamReader* reader, int length )
{
AtnBookmarkFirst *newObject = new AtnBookmarkFirst();
newObject->bmc = reader->ReadUInt16(); //0x0100
newObject->lTag = reader->ReadUInt32();
unsigned int lTagOld = reader->ReadUInt32();
return static_cast<ByteStructure*>( newObject );
}
};
}

View File

@ -1,207 +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 "Global.h"
namespace DocFileFormat
{
typedef enum _BorderType
{
none = 0,
single,
thick,
Double,
unused,
hairline,
dotted,
dashed,
dotDash,
dotDotDash,
triple,
thinThickSmallGap,
thickThinSmallGap,
thinThickThinSmallGap,
thinThickMediumGap,
thickThinMediumGap,
thinThickThinMediumGap,
thinThickLargeGap,
thickThinLargeGap,
thinThickThinLargeGap,
wave,
doubleWave,
dashSmallGap,
dashDotStroked,
threeDEmboss,
threeDEngrave
} BorderType;
class BorderCode: public IVisitable
{
friend class DocumentMapping;
friend class PropertiesMapping;
friend class VMLPictureMapping;
private:
/// 24-bit border color
int cv;
/// Width of a single line in 1/8pt, max of 32pt
unsigned char dptLineWidth;
/// Border type code:
/// 0 none
/// 1 single
/// 2 thick
/// 3 double
/// 5 hairline
/// 6 dot
/// 7 dash large gap
/// 8 dot dash
/// 9 dot dot dash
/// 10 triple
/// 11 thin-thick small gap
/// 12 tick-thin small gap
/// 13 thin-thick-thin small gap
/// 14 thin-thick medium gap
/// 15 thick-thin medium gap
/// 16 thin-thick-thin medium gap
/// 17 thin-thick large gap
/// 18 thick-thin large gap
/// 19 thin-thick-thin large gap
/// 20 wave
/// 21 double wave
/// 22 dash small gap
/// 23 dash dot stroked
/// 24 emboss 3D
/// 25 engrave 3D
unsigned char brcType;
/// The color of the Border.
/// Unused if cv is set.
std::wstring ico;
/// Width of space to maintain between border and text within border
int dptSpace;
/// When true, border is drawn with shadow. Must be false when BRC is substructure of the TC
bool fShadow;
/// When true, don't reverse the border
bool fFrame;
/// It's a nil BRC, bytes are FFFF.
bool fNil;
public:
/// Creates a new BorderCode with default values
BorderCode(): cv(0), dptLineWidth(0), brcType(0), ico( Global::ColorNameIdentifier[0] ), dptSpace(0), fShadow(false), fFrame(false), fNil(false)
{
}
/// Parses the unsigned char for a BRC
BorderCode( unsigned char* bytes, int size ):
cv(0), dptLineWidth(0), brcType(0), ico( Global::ColorNameIdentifier[0] ), dptSpace(0), fShadow(false), fFrame(false), fNil(false)
{
if ( FormatUtils::ArraySum( bytes, size ) == ( size * 255 ) )
{
fNil = true;
}
else if ( size == 8 )
{
//it's a border code of Word 2000/2003
cv = FormatUtils::BytesToInt32( bytes, 0, size );
ico = std::wstring( Global::ColorIdentifier[0] );
dptLineWidth = bytes[4];
brcType = bytes[5];
short val = FormatUtils::BytesToInt16( bytes, 6, size );
dptSpace = val & 0x001F;
//not sure if this is correct, the values from the spec are definitly wrong:
fShadow = FormatUtils::BitmaskToBool( val, 0x20 );
fFrame = FormatUtils::BitmaskToBool( val, 0x40 );
}
else if ( size == 4 )
{
unsigned short val = FormatUtils::BytesToUInt16( bytes, 0, size );
dptLineWidth = (unsigned char)( val & 0x00FF );
brcType = (unsigned char)( ( val & 0xFF00 ) >> 8 );
val = FormatUtils::BytesToUInt16( bytes, 2, size );
ico = FormatUtils::MapValueToWideString( ( val & 0x00FF ), &Global::ColorNameIdentifier[0][0], 17, 12 );
dptSpace = ( val & 0x1F00 ) >> 8;
}
else if (size == 2)
{
unsigned short val = FormatUtils::BytesToUInt16( bytes, 0, size );
dptLineWidth = GETBITS(val, 0, 2);
brcType = GETBITS(val, 3, 4);
fShadow = GETBIT(val, 5);
ico = FormatUtils::MapValueToWideString(GETBITS(val, 6, 10), &Global::ColorNameIdentifier[0][0], 17, 12 );
dptSpace = GETBITS(val, 11, 15);
}
}
BorderCode( const BorderCode& bc )
{
if ( this != &bc )
{
cv = bc.cv;
dptLineWidth = bc.dptLineWidth;
brcType = bc.brcType;
ico = bc.ico;
dptSpace = bc.dptSpace;
fShadow = bc.fShadow;
fFrame = bc.fFrame;
fNil = bc.fNil;
}
}
bool operator == ( const BorderCode& bc )
{
if ( ( cv == bc.cv ) && ( dptLineWidth == bc.dptLineWidth ) && ( brcType == bc.brcType ) &&
( ico == bc.ico ) && ( dptSpace == bc.dptSpace ) && ( fShadow == bc.fShadow ) &&
( fFrame == bc.fFrame ) && ( fNil == bc.fNil ) )
{
return true;
}
else
{
return false;
}
}
bool operator != ( const BorderCode& bc )
{
return !( *this == bc );
}
};
}

View File

@ -1,222 +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 "PropertyExceptions.h"
namespace DocFileFormat
{
class CharacterPropertyExceptions: public PropertyExceptions
{
public:
/// Creates a CHPX wich doesn't modify anything.
/// The grpprl list is empty
CharacterPropertyExceptions(): PropertyExceptions()
{
}
/// Parses the bytes to retrieve a CHPX
CharacterPropertyExceptions( unsigned char* bytes, int size, int nWordVersion) :
PropertyExceptions( bytes, size, nWordVersion )
{
if (nWordVersion > 1)
{
RELEASEOBJECT( grpprl );
grpprl = new std::list<SinglePropertyModifier>();
MemoryStream oStream(bytes, size);
int pos = 0;
if (nWordVersion == 3)
{
if (pos + 2 > size) return;
unsigned short fChar = oStream.ReadUInt16(); pos += 2;
unsigned char val;
val = GETBIT(fChar, 0); grpprl->push_back(SinglePropertyModifier(sprmOldCFBold, 1, &val));
val = GETBIT(fChar, 1); grpprl->push_back(SinglePropertyModifier(sprmOldCFItalic, 1, &val));
val = GETBIT(fChar, 2); grpprl->push_back(SinglePropertyModifier(sprmOldCFStrike, 1, &val));
val = GETBIT(fChar, 3); grpprl->push_back(SinglePropertyModifier(sprmOldCFOutline, 1, &val));
val = GETBIT(fChar, 4); grpprl->push_back(SinglePropertyModifier(sprmOldCFFldVanish, 1, &val));
val = GETBIT(fChar, 5); grpprl->push_back(SinglePropertyModifier(sprmOldCFSmallCaps, 1, &val));
val = GETBIT(fChar, 6); grpprl->push_back(SinglePropertyModifier(sprmOldCFCaps, 1, &val));
val = GETBIT(fChar, 7); grpprl->push_back(SinglePropertyModifier(sprmOldCFVanish, 1, &val));
val = GETBIT(fChar, 8); grpprl->push_back(SinglePropertyModifier(sprmOldCFRMark, 1, &val));
val = GETBIT(fChar, 9); grpprl->push_back(SinglePropertyModifier(sprmOldCFSpec, 1, &val));
bool fsIco = GETBIT(fChar, 10);
bool fsFtc = GETBIT(fChar, 11);
bool fsHps = GETBIT(fChar, 12);
bool fsKul = GETBIT(fChar, 13);
bool fsPos = GETBIT(fChar, 14);
bool fsSpace = GETBIT(fChar, 15);
if (pos + 2 > size) return;
int fff = oStream.ReadUInt16(); pos += 2;//?????
if (pos + 2 > size) return;
unsigned short ftc = oStream.ReadUInt16(); pos += 2; // Font Code
grpprl->push_back(SinglePropertyModifier(sprmOldCFtc, 2, (unsigned char*)&ftc));
if (pos + 1 > size) return;
unsigned char hps = oStream.ReadByte(); pos += 1; // Font size in half points
if (hps > 0)
{
grpprl->push_back(SinglePropertyModifier(sprmOldCHps, 1, &hps));
}
if (pos + 1 > size) return;
unsigned char hpsPos = oStream.ReadByte(); pos += 1; // Sub/Superscript ( signed number, 0 = normal )
grpprl->push_back(SinglePropertyModifier(sprmOldCHpsPos, 1, &hpsPos));
if (pos + 2 > size) return;
unsigned short fText = oStream.ReadUInt16(); pos += 2;
unsigned short qpsSpace = GETBITS(fText, 0, 5);
unsigned char wSpare2 = GETBITS(fText, 6, 7);
unsigned char ico = GETBITS(fText, 8, 11);
unsigned char kul = GETBITS(fText, 12, 14);
bool fSysVanish = GETBIT(fChar, 15);
grpprl->push_back(SinglePropertyModifier(sprmOldCKul, 1, &kul));
grpprl->push_back(SinglePropertyModifier(sprmOldCIco, 1, &ico));
//sizeof(CHP) == 12 == 0xC
if (pos + 4 > size) return;
unsigned int fcPic = oStream.ReadUInt16(); pos += 4; //pos = 8
grpprl->push_back(SinglePropertyModifier(sprmOldCPicLocation, 4, (BYTE*)&fcPic));
if (pos + 1 > size) return;
unsigned char fnPic = oStream.ReadByte(); pos += 1;
if (pos + 2 > size) return;
unsigned short hpsLargeChp = oStream.ReadUInt16(); pos += 2;// ??? type
}
else if (nWordVersion == 2)
{
if (pos + 2 > size) return;
unsigned short fChar = oStream.ReadUInt16(); pos += 2;
unsigned char val;
val = GETBIT(fChar, 0); grpprl->push_back(SinglePropertyModifier(sprmOldCFBold, 1, &val));
val = GETBIT(fChar, 1); grpprl->push_back(SinglePropertyModifier(sprmOldCFItalic, 1, &val));
val = GETBIT(fChar, 2); grpprl->push_back(SinglePropertyModifier(sprmOldCIbstRMark, 1, &val));
val = GETBIT(fChar, 3); grpprl->push_back(SinglePropertyModifier(sprmOldCFOutline, 1, &val));
val = GETBIT(fChar, 4); grpprl->push_back(SinglePropertyModifier(sprmOldCFFldVanish, 1, &val));
val = GETBIT(fChar, 5); grpprl->push_back(SinglePropertyModifier(sprmOldCFSmallCaps, 1, &val));
val = GETBIT(fChar, 6); grpprl->push_back(SinglePropertyModifier(sprmOldCFCaps, 1, &val));
val = GETBIT(fChar, 7); grpprl->push_back(SinglePropertyModifier(sprmOldCFVanish, 1, &val));
val = GETBIT(fChar, 8); grpprl->push_back(SinglePropertyModifier(sprmOldCFRMark, 1, &val));
val = GETBIT(fChar, 9); grpprl->push_back(SinglePropertyModifier(sprmOldCFSpec, 1, &val));
val = GETBIT(fChar, 10); grpprl->push_back(SinglePropertyModifier(sprmOldCFStrike, 1, &val));
val = GETBIT(fChar, 11); grpprl->push_back(SinglePropertyModifier(sprmOldCFObj, 1, &val));
val = GETBIT(fChar, 12); grpprl->push_back(SinglePropertyModifier(sprmCFBoldBi, 1, &val));
val = GETBIT(fChar, 13); grpprl->push_back(SinglePropertyModifier(sprmCFItalicBi, 1, &val));
val = GETBIT(fChar, 14); grpprl->push_back(SinglePropertyModifier(sprmCFBiDi, 1, &val));
val = GETBIT(fChar, 15); grpprl->push_back(SinglePropertyModifier(sprmCFDiacColor, 1, &val));
if (pos + 2 > size) return;
unsigned short fChar2 = oStream.ReadUInt16(); pos += 2;
bool fsIco = GETBIT(fChar2, 0);
bool fsFtc = GETBIT(fChar2, 1);
bool fsHps = GETBIT(fChar2, 2);
bool fsKul = GETBIT(fChar2, 3);
bool fsPos = GETBIT(fChar2, 4);
bool fsSpace = GETBIT(fChar2, 5);
bool fsLid = GETBIT(fChar2, 6);
bool fsIcoBi = GETBIT(fChar2, 7);
bool fsFtcBi = GETBIT(fChar2, 8);
bool fsHpsBi = GETBIT(fChar2, 9);
bool fsLidBi = GETBIT(fChar2, 10);
if (pos + 2 > size) return;
unsigned short ftc = oStream.ReadUInt16(); pos += 2; // Font Code
grpprl->push_back(SinglePropertyModifier(sprmOldCFtc, 2, (unsigned char*)&ftc));
if (pos + 1 > size) return;
unsigned char hps = oStream.ReadByte(); pos += 1; // Font size in half points
if (hps > 0)
{
grpprl->push_back(SinglePropertyModifier(sprmOldCHps, 1, &hps));
}
if (pos + 1 > size) return;
unsigned char hpsPos = oStream.ReadByte(); pos += 1; // Sub/Superscript ( signed number, 0 = normal )
grpprl->push_back(SinglePropertyModifier(sprmOldCHpsPos, 1, &hpsPos));
if (pos + 2 > size) return;
unsigned short fText = oStream.ReadUInt16(); pos += 2;
unsigned short qpsSpace = GETBITS(fText, 0, 5);
unsigned char wSpare2 = GETBITS(fText, 6, 7);
unsigned char ico = GETBITS(fText, 8, 11);
unsigned char kul = GETBITS(fText, 12, 14);
bool fSysVanish = GETBIT(fChar, 15);
grpprl->push_back(SinglePropertyModifier(sprmOldCKul, 1, &kul));
grpprl->push_back(SinglePropertyModifier(sprmOldCIco, 1, &ico));
//if (pos + 1 > size) return;
//unsigned char icoBi = oStream.ReadUInt16(); pos += 1;//wSpare3
if (pos + 2 > size) return;
unsigned short lid = oStream.ReadUInt16(); pos += 2;
grpprl->push_back(SinglePropertyModifier(sprmOldCLid, 2, (BYTE*)&lid));
if (pos + 2 > size) return;
unsigned short ftcBi = oStream.ReadUInt16(); pos += 2;
grpprl->push_back(SinglePropertyModifier(sprmCFtcBi, 4, (BYTE*)&ftcBi));
//if (pos + 2 > size) return;
//unsigned short hpsBi = oStream.ReadUInt16(); pos += 2;
//grpprl->push_back(SinglePropertyModifier(sprmCHpsBi, 4, (BYTE*)&hpsBi));
//if (pos + 2 > size) return;
//unsigned short lidBi = oStream.ReadUInt16(); pos += 2;
//grpprl->push_back(SinglePropertyModifier(sprmCLidBi, 2, (BYTE*)&lidBi));
if (pos + 4 > size) return;
unsigned int fcPic = oStream.ReadUInt16(); pos += 4; //pos = 8
grpprl->push_back(SinglePropertyModifier(sprmOldCPicLocation, 4, (BYTE*)&fcPic));
if (pos + 1 > size) return;
unsigned char fnPic = oStream.ReadByte(); pos += 1;
if (pos + 2 > size) return;
unsigned short hpsLargeChp = oStream.ReadUInt16(); pos += 2;// ??? type
}
}
}
};
}

View File

@ -1,194 +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 "TableMapping.h"
#include "DocumentMapping.h"
#include "AnnotationReferenceDescriptor.h"
namespace DocFileFormat
{
class CommentsMapping: public DocumentMapping
{
public:
CommentsMapping (ConversionContext* ctx) : DocumentMapping( ctx, this )
{
}
virtual void Apply( IVisitable* visited )
{
m_document = static_cast<WordDocument*>( visited );
_UINT64 x = 0x10000001;
std::vector<std::wstring> arrParaId;
if ( ( m_document != NULL ) && ( m_document->FIB->m_RgLw97.ccpAtn > 0 ) )
{
m_context->_docx->RegisterComments();
m_pXmlWriter->WriteNodeBegin( L"w:comments", TRUE );
m_pXmlWriter->WriteAttribute( L"xmlns:w", OpenXmlNamespaces::WordprocessingML );
m_pXmlWriter->WriteAttribute( L"xmlns:v", OpenXmlNamespaces::VectorML );
m_pXmlWriter->WriteAttribute( L"xmlns:o", OpenXmlNamespaces::Office );
m_pXmlWriter->WriteAttribute( L"xmlns:w10", OpenXmlNamespaces::OfficeWord );
m_pXmlWriter->WriteAttribute( L"xmlns:r", OpenXmlNamespaces::Relationships );
m_pXmlWriter->WriteAttribute( L"xmlns:wpc", L"http://schemas.microsoft.com/office/word/2010/wordprocessingCanvas" );
m_pXmlWriter->WriteAttribute( L"xmlns:cx", L"http://schemas.microsoft.com/office/drawing/2014/chartex" );
m_pXmlWriter->WriteAttribute( L"xmlns:cx1", L"http://schemas.microsoft.com/office/drawing/2015/9/8/chartex" );
m_pXmlWriter->WriteAttribute( L"xmlns:mc", L"http://schemas.openxmlformats.org/markup-compatibility/2006" );
m_pXmlWriter->WriteAttribute( L"xmlns:m", L"http://schemas.openxmlformats.org/officeDocument/2006/math" );
m_pXmlWriter->WriteAttribute( L"xmlns:wp14", L"http://schemas.microsoft.com/office/word/2010/wordprocessingDrawing" );
m_pXmlWriter->WriteAttribute( L"xmlns:wp", L"http://schemas.openxmlformats.org/drawingml/2006/wordprocessingDrawing" );
m_pXmlWriter->WriteAttribute( L"xmlns:w14", L"http://schemas.microsoft.com/office/word/2010/wordml" );
m_pXmlWriter->WriteAttribute( L"xmlns:w15", L"http://schemas.microsoft.com/office/word/2012/wordml" );
m_pXmlWriter->WriteAttribute( L"xmlns:w16se", L"http://schemas.microsoft.com/office/word/2015/wordml/symex" );
m_pXmlWriter->WriteAttribute( L"xmlns:wpg", L"http://schemas.microsoft.com/office/word/2010/wordprocessingGroup" );
m_pXmlWriter->WriteAttribute( L"xmlns:wpi", L"http://schemas.microsoft.com/office/word/2010/wordprocessingInk" );
m_pXmlWriter->WriteAttribute( L"xmlns:wne", L"http://schemas.microsoft.com/office/word/2006/wordml" );
m_pXmlWriter->WriteAttribute( L"xmlns:wps", L"http://schemas.microsoft.com/office/word/2010/wordprocessingShape" );
m_pXmlWriter->WriteAttribute( L"mc:Ignorable", L"w14 w15 w16se wp14");
m_pXmlWriter->WriteNodeEnd( L"", TRUE, FALSE );
int cp = m_document->FIB->m_RgLw97.ccpText + m_document->FIB->m_RgLw97.ccpFtn + m_document->FIB->m_RgLw97.ccpHdr;
size_t count = m_document->AnnotationsReferencePlex->Elements.size();
for (size_t index = 0; index < count; ++index)
{
_paraId.clear();
AnnotationReferenceDescriptor* atrdPre10 = static_cast<AnnotationReferenceDescriptor*>(m_document->AnnotationsReferencePlex->Elements[index]);
m_pXmlWriter->WriteNodeBegin( L"w:comment", TRUE );
m_pXmlWriter->WriteAttribute( L"w:id", FormatUtils::SizeTToWideString(atrdPre10->m_CommentId));
if (atrdPre10->m_AuthorIndex < m_document->AnnotationOwners->size()) //conv_253l2H1CehgKwsxCtNk__docx.doc
{
m_pXmlWriter->WriteAttribute( L"w:author",
FormatUtils::XmlEncode(m_document->AnnotationOwners->at( atrdPre10->m_AuthorIndex ) ));
}
if ((m_document->AnnotationsReferencesEx) && (index < m_document->AnnotationsReferencesEx->m_ReferencesEx.size()))
{
m_pXmlWriter->WriteAttribute( L"w:date", m_document->AnnotationsReferencesEx->m_ReferencesEx[index].nDTTM.getString());
}
m_pXmlWriter->WriteAttribute( L"w:initials", FormatUtils::XmlEncode(atrdPre10->m_UserInitials));
m_pXmlWriter->WriteNodeEnd( L"", TRUE, FALSE );
while ( ( cp - m_document->FIB->m_RgLw97.ccpText - m_document->FIB->m_RgLw97.ccpFtn - m_document->FIB->m_RgLw97.ccpHdr ) < (*m_document->IndividualCommentsPlex)[index + 1] )
{
int fc = m_document->FindFileCharPos(cp);
if (fc < 0) break;
ParagraphPropertyExceptions* papx = findValidPapx(fc);
TableInfo tai(papx, m_document->nWordVersion);
if ( tai.fInTable )
{
//this PAPX is for a table
Table table(this, cp, ( ( tai.iTap > 0 ) ? ( 1 ) : ( 0 ) ));
table.Convert(this);
cp = table.GetCPEnd();
}
else
{
if ((m_document->AnnotationsReferencesEx) && (index < m_document->AnnotationsReferencesEx->m_ReferencesEx.size()))
{
_paraId = XmlUtils::IntToString(x++, L"%08X");
}
cp = writeParagraph(cp, 0x7fffffff);
}
}
if (false == _paraId.empty())
arrParaId.push_back(_paraId);
m_pXmlWriter->WriteNodeEnd(L"w:comment" );
}
m_pXmlWriter->WriteNodeEnd( L"w:comments" );
m_context->_docx->CommentsXML = std::wstring(m_pXmlWriter->GetXmlString());
m_pXmlWriter->Clear();
if (false == arrParaId.empty() && (m_document->AnnotationsReferencesEx) && (false == m_document->AnnotationsReferencesEx->m_ReferencesEx.empty()))
{
m_context->_docx->RegisterCommentsExtended();
m_pXmlWriter->WriteNodeBegin( L"w15:commentsEx", TRUE );
m_pXmlWriter->WriteAttribute( L"xmlns:w", OpenXmlNamespaces::WordprocessingML );
m_pXmlWriter->WriteAttribute( L"xmlns:v", OpenXmlNamespaces::VectorML );
m_pXmlWriter->WriteAttribute( L"xmlns:o", OpenXmlNamespaces::Office );
m_pXmlWriter->WriteAttribute( L"xmlns:w10", OpenXmlNamespaces::OfficeWord );
m_pXmlWriter->WriteAttribute( L"xmlns:r", OpenXmlNamespaces::Relationships );
m_pXmlWriter->WriteAttribute( L"xmlns:wpc", L"http://schemas.microsoft.com/office/word/2010/wordprocessingCanvas" );
m_pXmlWriter->WriteAttribute( L"xmlns:cx", L"http://schemas.microsoft.com/office/drawing/2014/chartex" );
m_pXmlWriter->WriteAttribute( L"xmlns:cx1", L"http://schemas.microsoft.com/office/drawing/2015/9/8/chartex" );
m_pXmlWriter->WriteAttribute( L"xmlns:mc", L"http://schemas.openxmlformats.org/markup-compatibility/2006" );
m_pXmlWriter->WriteAttribute( L"xmlns:m", L"http://schemas.openxmlformats.org/officeDocument/2006/math" );
m_pXmlWriter->WriteAttribute( L"xmlns:wp14", L"http://schemas.microsoft.com/office/word/2010/wordprocessingDrawing" );
m_pXmlWriter->WriteAttribute( L"xmlns:wp", L"http://schemas.openxmlformats.org/drawingml/2006/wordprocessingDrawing" );
m_pXmlWriter->WriteAttribute( L"xmlns:w14", L"http://schemas.microsoft.com/office/word/2010/wordml" );
m_pXmlWriter->WriteAttribute( L"xmlns:w15", L"http://schemas.microsoft.com/office/word/2012/wordml" );
m_pXmlWriter->WriteAttribute( L"xmlns:w16se", L"http://schemas.microsoft.com/office/word/2015/wordml/symex" );
m_pXmlWriter->WriteAttribute( L"xmlns:wpg", L"http://schemas.microsoft.com/office/word/2010/wordprocessingGroup" );
m_pXmlWriter->WriteAttribute( L"xmlns:wpi", L"http://schemas.microsoft.com/office/word/2010/wordprocessingInk" );
m_pXmlWriter->WriteAttribute( L"xmlns:wne", L"http://schemas.microsoft.com/office/word/2006/wordml" );
m_pXmlWriter->WriteAttribute( L"xmlns:wps", L"http://schemas.microsoft.com/office/word/2010/wordprocessingShape" );
m_pXmlWriter->WriteAttribute( L"mc:Ignorable", L"w14 w15 w16se wp14");
m_pXmlWriter->WriteNodeEnd( L"", TRUE, FALSE );
for (size_t index = 0; index < m_document->AnnotationsReferencesEx->m_ReferencesEx.size(); ++index)
{
m_pXmlWriter->WriteNodeBegin( L"w15:commentEx", TRUE );
m_pXmlWriter->WriteAttribute( L"w15:paraId", arrParaId[index]);
if (m_document->AnnotationsReferencesEx->m_ReferencesEx[index].nDepth > 0)
{
m_pXmlWriter->WriteAttribute( L"w15:paraIdParent", arrParaId[index + m_document->AnnotationsReferencesEx->m_ReferencesEx[index].nDiatrdParent]);
}
m_pXmlWriter->WriteAttribute( L"w15:done", L"0");
m_pXmlWriter->WriteNodeEnd( L"", TRUE, FALSE );
m_pXmlWriter->WriteNodeEnd(L"w15:commentEx" );
}
m_pXmlWriter->WriteNodeEnd( L"w15:commentsEx" );
m_context->_docx->CommentsExtendedXML = std::wstring(m_pXmlWriter->GetXmlString());
}
}
}
};
}

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,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 "../Common/FormatUtils.h"
namespace DocFileFormat
{
class DateAndTime
{
protected:
short minutes;
short hour;
short day;
short month;
short year;
/// 0 Sunday
/// 1 Monday
/// 2 Tuesday
/// 3 Wednesday
/// 4 Thursday
/// 5 Friday
/// 6 Saturday
short weekday;
public:
DateAndTime()
{
setDefaultValues();
}
DateAndTime( _UINT32 val )
{
unsigned char* bytes = ((unsigned char*) &val);
minutes = (short)FormatUtils::GetIntFromBits( FormatUtils::BytesToInt32( bytes, 0, 4 ), 0, 6 );
hour = (short)FormatUtils::GetIntFromBits( FormatUtils::BytesToInt32( bytes, 0, 4 ), 6, 5 );
day = (short)FormatUtils::GetIntFromBits( FormatUtils::BytesToInt32( bytes, 0, 4 ), 11, 5 );
month = (short)FormatUtils::GetIntFromBits( FormatUtils::BytesToInt32( bytes, 0, 4 ), 16, 4 );
year = (short)( 1900 + FormatUtils::GetIntFromBits( FormatUtils::BytesToInt32( bytes, 0, 4 ), 20, 9 ) );
weekday = (short)FormatUtils::GetIntFromBits( FormatUtils::BytesToInt32( bytes, 0, 4 ), 29, 3 );
}
DateAndTime( unsigned char* bytes, int size )
{
if ( size == 4 )
{
minutes = (short)FormatUtils::GetIntFromBits( FormatUtils::BytesToInt32( bytes, 0, size ), 0, 6 );
hour = (short)FormatUtils::GetIntFromBits( FormatUtils::BytesToInt32( bytes, 0, size ), 6, 5 );
day = (short)FormatUtils::GetIntFromBits( FormatUtils::BytesToInt32( bytes, 0, size ), 11, 5 );
month = (short)FormatUtils::GetIntFromBits( FormatUtils::BytesToInt32( bytes, 0, size ), 16, 4 );
year = (short)( 1900 + FormatUtils::GetIntFromBits( FormatUtils::BytesToInt32( bytes, 0, size ), 20, 9 ) );
weekday = (short)FormatUtils::GetIntFromBits( FormatUtils::BytesToInt32( bytes, 0, size ), 29, 3 );
}
else
{
//throw new ByteParseException("Cannot parse the struct DTTM, the length of the struct doesn't match");
}
}
DateAndTime& operator=(const DateAndTime& oSrc)
{
minutes = oSrc.minutes;
hour = oSrc.hour;
day = oSrc.day;
month = oSrc.month;
year = oSrc.year;
weekday = oSrc.weekday;
return (*this);
}
std::wstring getString()
{
return std::to_wstring(year) + L"-" + (month < 9 ? L"0" : L"" ) + std::to_wstring(month) + L"-" +
(day < 9 ? L"0" : L"" ) + std::to_wstring(day) + L"T" +
(hour < 9 ? L"0" : L"" ) + std::to_wstring(hour) + L":" +
(minutes < 9 ? L"0" : L"" ) + std::to_wstring(minutes) + L":00Z";
}
private:
void setDefaultValues()
{
day = 0;
hour = 0;
minutes = 0;
month = 0;
weekday = 0;
year = 0;
}
};
}

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 "../Common/FormatUtils.h"
namespace DocFileFormat
{
class DocumentTypographyInfo
{
friend class SettingsMapping;
private:
/// True if we're kerning punctation
bool fKerningPunct;
/// Kinsoku method of justification:
/// 0 = always expand
/// 1 = compress punctation
/// 2 = compress punctation and kana
short iJustification;
/// Level of kinsoku:
/// 0 = level 1
/// 1 = Level 2
/// 2 = Custom
short iLevelOfKinsoku;
/// "2 page on 1" feature is turned on
bool f2on1;
/// Old East Asian feature
bool fOldDefineLineBaseOnGrid;
/// Custom Kinsoku
short iCustomKsu;
/// When set to true, use strict (level 2) Kinsoku rules
bool fJapaneseUseLevel2;
/// Length of rgxchFPunct
short cchFollowingPunct;
/// Length of rgxchLPunct
short cchLeadingPunct;
/// Array of characters that should never appear at the start of a line
std::wstring rgxchFPunct;
/// Array of characters that should never appear at the end of a line
std::wstring rgxchLPunct;
public:
virtual ~DocumentTypographyInfo()
{
}
DocumentTypographyInfo():
fKerningPunct(false), iJustification(0), iLevelOfKinsoku(0), f2on1(false), fOldDefineLineBaseOnGrid(false),
iCustomKsu(0), fJapaneseUseLevel2(false), cchFollowingPunct(0), cchLeadingPunct(0)
{
}
/// Parses the bytes to retrieve a DocumentTypographyInfo
DocumentTypographyInfo( unsigned char* bytes, int size ):
fKerningPunct(false), iJustification(0), iLevelOfKinsoku(0), f2on1(false), fOldDefineLineBaseOnGrid(false),
iCustomKsu(0), fJapaneseUseLevel2(false), cchFollowingPunct(0), cchLeadingPunct(0)
{
if ( size == 310 )
{
//split unsigned char 0 and 1 into bits
this->fKerningPunct = FormatUtils::GetBitFromBytes( bytes, size, 0 );
this->iJustification = (short)FormatUtils::GetUIntFromBytesBits( bytes, size, 1, 2 );
this->iLevelOfKinsoku = (short)FormatUtils::GetUIntFromBytesBits( bytes, size, 3, 2 );
this->f2on1 = FormatUtils::GetBitFromBytes( bytes, size, 5 );
this->fOldDefineLineBaseOnGrid = FormatUtils::GetBitFromBytes( bytes, size, 6 );
this->iCustomKsu = (short)FormatUtils::GetUIntFromBytesBits( bytes, size, 7, 3 );
this->fJapaneseUseLevel2 = FormatUtils::GetBitFromBytes( bytes, size, 10 );
this->cchFollowingPunct = FormatUtils::BytesToInt16( bytes, 2, size );
this->cchLeadingPunct = FormatUtils::BytesToInt16( bytes, 4, size );
unsigned char fpunctBytes[202];
memcpy( fpunctBytes, ( bytes + 6 ), 202 );
FormatUtils::GetSTLCollectionFromBytes<std::wstring>( &(this->rgxchFPunct), fpunctBytes, 202, ENCODING_UTF16 );
unsigned char lpunctBytes[102];
memcpy( lpunctBytes, ( bytes + 208 ), 102 );
FormatUtils::GetSTLCollectionFromBytes<std::wstring>( &(this->rgxchLPunct), lpunctBytes, 102, ENCODING_UTF16 );
}
else
{
//throw new ByteParseException("Cannot parse the struct DOPTYPOGRAPHY, the length of the struct doesn't match");
}
}
};
}

View File

@ -1,98 +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 DocFileFormat
{
class DrawingObjectGrid
{
friend class SettingsMapping;
private:
/// x-coordinate of the upper left-hand corner of the grid
short xaGrid;
/// y-coordinate of the upper left-hand corner of the grid
short yaGrid;
/// Width of each grid square
short dxaGrid;
/// Height of each grid square
short dyaGrid;
/// The number of grid squares (in the y direction) between each
/// gridline drawn on the screen. 0 means dont display any
/// gridlines in the y direction.
short dyGridDisplay;
/// Suppress display of gridlines
bool fTurnItOff;
/// The number of grid squares (in the x direction) between each
/// gridline drawn on the screen. 0 means dont display any
/// gridlines in the y direction.
short dxGridDisplay;
/// If true, the grid will start at the left and top margins and
/// ignore xaGrid and yaGrid
bool fFollowMargins;
public:
virtual ~DrawingObjectGrid()
{
}
DrawingObjectGrid():
xaGrid(0), yaGrid(0), dxaGrid(0), dyaGrid(0), dyGridDisplay(0), fTurnItOff(false), dxGridDisplay(0),
fFollowMargins(false)
{
}
/// Parses the bytes to retrieve a DrawingObjectGrid
DrawingObjectGrid( unsigned char* bytes, int size ):
xaGrid(0), yaGrid(0), dxaGrid(0), dyaGrid(0), dyGridDisplay(0), fTurnItOff(false), dxGridDisplay(0),
fFollowMargins(false)
{
if ( size == 10 )
{
this->xaGrid = FormatUtils::BytesToInt16( bytes, 0, size );
this->yaGrid = FormatUtils::BytesToInt16( bytes, 2, size );
this->dxaGrid = FormatUtils::BytesToInt16( bytes, 4, size );
this->dyaGrid = FormatUtils::BytesToInt16( bytes, 6, size );
//split unsigned char 8 and 9 into bits
this->dyGridDisplay = (short)FormatUtils::GetUIntFromBytesBits( ( bytes + 8 ), 2, 0, 7 );
this->fTurnItOff = FormatUtils::GetBitFromBytes( ( bytes + 8 ), 2, 7 );
this->dxGridDisplay = (short)FormatUtils::GetUIntFromBytesBits( ( bytes + 8 ), 2, 8, 7 );
this->fFollowMargins = FormatUtils::GetBitFromBytes( ( bytes + 8 ), 2, 15 );
}
else
{
//throw new ByteParseException("Cannot parse the struct DOGRID, the length of the struct doesn't match");
}
}
};
}

View File

@ -1,107 +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 "ContentTypes.h"
#include "WordDocument.h"
#include "DocumentMapping.h"
namespace DocFileFormat
{
class EndnotesMapping: public DocumentMapping
{
public:
EndnotesMapping (ConversionContext* ctx) : DocumentMapping(ctx, this)
{
}
virtual void Apply( IVisitable* visited )
{
m_document = static_cast<WordDocument*>( visited );
if ( ( m_document != NULL ) && ( m_document->FIB->m_RgLw97.ccpEdn > 0 ) )
{
m_context->_docx->RegisterEndnotes();
int id = 0;
m_pXmlWriter->WriteNodeBegin( L"w:endnotes", TRUE );
//write namespaces
m_pXmlWriter->WriteAttribute( L"xmlns:w", OpenXmlNamespaces::WordprocessingML );
m_pXmlWriter->WriteAttribute( L"xmlns:v", OpenXmlNamespaces::VectorML );
m_pXmlWriter->WriteAttribute( L"xmlns:o", OpenXmlNamespaces::Office );
m_pXmlWriter->WriteAttribute( L"xmlns:w10", OpenXmlNamespaces::OfficeWord );
m_pXmlWriter->WriteAttribute( L"xmlns:r", OpenXmlNamespaces::Relationships );
m_pXmlWriter->WriteNodeEnd( L"", TRUE, FALSE );
int cp = ( m_document->FIB->m_RgLw97.ccpText + m_document->FIB->m_RgLw97.ccpFtn + m_document->FIB->m_RgLw97.ccpHdr + m_document->FIB->m_RgLw97.ccpAtn );
while ( cp <= ( m_document->FIB->m_RgLw97.ccpText + m_document->FIB->m_RgLw97.ccpFtn + m_document->FIB->m_RgLw97.ccpHdr + m_document->FIB->m_RgLw97.ccpAtn + m_document->FIB->m_RgLw97.ccpEdn - 2 ) )
{
m_pXmlWriter->WriteNodeBegin( L"w:endnote", TRUE );
m_pXmlWriter->WriteAttribute( L"w:id", FormatUtils::IntToWideString( id ));
m_pXmlWriter->WriteNodeEnd( L"", TRUE, FALSE );
while ( ( cp - m_document->FIB->m_RgLw97.ccpText - m_document->FIB->m_RgLw97.ccpFtn - m_document->FIB->m_RgLw97.ccpHdr - m_document->FIB->m_RgLw97.ccpAtn ) < (*m_document->IndividualEndnotesPlex)[id + 1] )
{
int fc = m_document->FindFileCharPos(cp);
if (fc < 0) break;
ParagraphPropertyExceptions* papx = findValidPapx( fc );
TableInfo tai( papx, m_document->nWordVersion );
if ( tai.fInTable )
{
//this PAPX is for a table
Table table( this, cp, ( ( tai.iTap > 0 ) ? ( 1 ) : ( 0 ) ) );
table.Convert( this );
cp = table.GetCPEnd();
}
else
{
//this PAPX is for a normal paragraph
cp = writeParagraph( cp, 0x7fffffff );
}
}
m_pXmlWriter->WriteNodeEnd( L"w:endnote");
id++;
}
m_pXmlWriter->WriteNodeEnd( L"w:endnotes");
m_context->_docx->EndnotesXML = std::wstring( m_pXmlWriter->GetXmlString() );
}
}
};
}

File diff suppressed because it is too large Load Diff

View File

@ -1,96 +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 DocFileFormat
{
/// Specifies an approximation of a real number, where the approximation has a fixed number of digits after the radix point.
///
/// This type is specified in [MS-OSHARED] section 2.2.1.6.
///
/// Value of the real number = Integral + ( Fractional / 65536.0 )
///
/// Integral (2 bytes): A signed integer that specifies the integral part of the real number.
/// Fractional (2 bytes): An unsigned integer that specifies the fractional part of the real number.
class FixedPointNumber
{
public:
unsigned short Integral;
unsigned short Fractional;
FixedPointNumber( unsigned short integral = 0, unsigned short fractional = 0 )
{
this->Integral = integral;
this->Fractional = fractional;
}
FixedPointNumber( _UINT32 value )
{
unsigned short* bytes = (unsigned short*)(&value);
this->Integral = bytes[0];
this->Fractional = bytes[1];
}
FixedPointNumber( const unsigned char* bytes, unsigned int size )
{
if ( ( bytes != NULL ) && ( size >= 4 ) )
{
this->Integral = FormatUtils::BytesToUInt16( bytes, 0, size );
this->Fractional = FormatUtils::BytesToUInt16( bytes, 2, size );
}
}
double ToAngle() const
{
if ( this->Fractional != 0 )
{
// negative angle
return ( this->Fractional - 65536.0 );
}
else if ( this->Integral != 0 )
{
//positive angle
return ( 65536.0 - this->Integral );
}
else
{
return 0.0;
}
}
double GetValue() const
{
return (double)( this->Integral + ( (double)this->Fractional / 65536.0 ) );
}
};
}

View File

@ -1,61 +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"
namespace DocFileFormat
{
class FootnoteDescriptor: public ByteStructure
{
public:
static const int STRUCTURE_SIZE = 2;
FootnoteDescriptor() : aFtnIdx(0), bUsed(false) {}
virtual ~FootnoteDescriptor()
{
}
virtual ByteStructure* ConstructObject( VirtualStreamReader* reader, int length )
{
FootnoteDescriptor *newObject = new FootnoteDescriptor();
newObject->aFtnIdx = reader->ReadInt16();
return static_cast<ByteStructure*>( newObject );
}
short aFtnIdx;
bool bUsed;
};
}

View File

@ -1,139 +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 "ContentTypes.h"
#include "WordDocument.h"
#include "DocumentMapping.h"
namespace DocFileFormat
{
class FootnotesMapping: public DocumentMapping
{
public:
FootnotesMapping (ConversionContext* ctx): DocumentMapping( ctx, this )
{
}
virtual void Apply( IVisitable* visited )
{
m_document = static_cast<WordDocument*>( visited );
if ( m_document && ( m_document->FIB->m_RgLw97.ccpFtn > 0 ) )
{
m_context->_docx->RegisterFootnotes();
int id = 0;
m_pXmlWriter->WriteNodeBegin( L"w:footnotes", TRUE );
//write namespaces
m_pXmlWriter->WriteAttribute( L"xmlns:w", OpenXmlNamespaces::WordprocessingML );
m_pXmlWriter->WriteAttribute( L"xmlns:v", OpenXmlNamespaces::VectorML );
m_pXmlWriter->WriteAttribute( L"xmlns:o", OpenXmlNamespaces::Office );
m_pXmlWriter->WriteAttribute( L"xmlns:w10", OpenXmlNamespaces::OfficeWord );
m_pXmlWriter->WriteAttribute( L"xmlns:r", OpenXmlNamespaces::Relationships );
m_pXmlWriter->WriteAttribute( L"xmlns:wpc", L"http://schemas.microsoft.com/office/word/2010/wordprocessingCanvas" );
m_pXmlWriter->WriteAttribute( L"xmlns:mc", L"http://schemas.openxmlformats.org/markup-compatibility/2006");
m_pXmlWriter->WriteAttribute( L"xmlns:wp14", L"http://schemas.microsoft.com/office/word/2010/wordprocessingDrawing");
m_pXmlWriter->WriteAttribute( L"xmlns:wp", L"http://schemas.openxmlformats.org/drawingml/2006/wordprocessingDrawing");
m_pXmlWriter->WriteAttribute( L"xmlns:w14", L"http://schemas.microsoft.com/office/word/2010/wordml" );
m_pXmlWriter->WriteAttribute( L"xmlns:wpg", L"http://schemas.microsoft.com/office/word/2010/wordprocessingGroup" );
m_pXmlWriter->WriteAttribute( L"xmlns:wpi", L"http://schemas.microsoft.com/office/word/2010/wordprocessingInk" );
m_pXmlWriter->WriteAttribute( L"xmlns:wne", L"http://schemas.microsoft.com/office/word/2006/wordml" );
m_pXmlWriter->WriteAttribute( L"xmlns:wps", L"http://schemas.microsoft.com/office/word/2010/wordprocessingShape" );
m_pXmlWriter->WriteAttribute( L"xmlns:a", L"http://schemas.openxmlformats.org/drawingml/2006/main" );
m_pXmlWriter->WriteAttribute( L"xmlns:m", L"http://schemas.openxmlformats.org/officeDocument/2006/math" );
m_pXmlWriter->WriteAttribute( L"mc:Ignorable", L"w14 wp14" );
m_pXmlWriter->WriteNodeEnd( L"", TRUE, FALSE );
//m_pXmlWriter->WriteNodeBegin( L"w:footnote", TRUE );
//m_pXmlWriter->WriteAttribute( L"w:type", L"separator");
//m_pXmlWriter->WriteAttribute( L"w:id", L"-1");
//m_pXmlWriter->WriteNodeEnd( L"", TRUE, FALSE );
//m_pXmlWriter->WriteString(L"<w:p><w:pPr><w:spacing w:lineRule=\"auto\" w:line=\"240\" w:after=\"0\"/></w:pPr><w:r></w:r><w:r><w:separator/></w:r></w:p>");
//m_pXmlWriter->WriteNodeEnd( L"w:footnote");
//m_pXmlWriter->WriteNodeBegin( L"w:footnote", TRUE );
//m_pXmlWriter->WriteAttribute( L"w:type", L"continuationSeparator");
//m_pXmlWriter->WriteAttribute( L"w:id", L"0");
//m_pXmlWriter->WriteNodeEnd( L"", TRUE, FALSE );
//m_pXmlWriter->WriteString(L"<w:p><w:pPr><w:spacing w:lineRule=\"auto\" w:line=\"240\" w:after=\"0\"/></w:pPr><w:r></w:r><w:r><w:continuationSeparator/></w:r></w:p>");
//m_pXmlWriter->WriteNodeEnd( L"w:footnote");
int cp = m_document->FIB->m_RgLw97.ccpText;
while ( cp <= ( m_document->FIB->m_RgLw97.ccpText + m_document->FIB->m_RgLw97.ccpFtn - 2 ) )
{
m_pXmlWriter->WriteNodeBegin( L"w:footnote", TRUE );
m_pXmlWriter->WriteAttribute( L"w:id", FormatUtils::IntToWideString( id ));
m_pXmlWriter->WriteNodeEnd( L"", TRUE, FALSE );
while ( ( cp - m_document->FIB->m_RgLw97.ccpText ) < (*m_document->IndividualFootnotesPlex)[id + 1] )
{
int cpStart = cp;
int fc = m_document->FindFileCharPos(cp);
if (fc < 0) break;
ParagraphPropertyExceptions* papx = findValidPapx( fc );
TableInfo tai( papx, m_document->nWordVersion );
if ( tai.fInTable )
{
//this PAPX is for a table
Table table( this, cp, ( ( tai.iTap > 0 ) ? ( 1 ) : ( 0 ) ) );
table.Convert( this );
cp = table.GetCPEnd();
}
else
{
//this PAPX is for a normal paragraph
cp = writeParagraph( cp, 0x7fffffff );
}
while (cp <= cpStart) //conv_fQioC665ib4ngHkDGY4__docx.doc
cp++;
}
m_pXmlWriter->WriteNodeEnd( L"w:footnote");
id++;
}
m_pXmlWriter->WriteNodeEnd( L"w:footnotes");
m_context->_docx->FootnotesXML = std::wstring(m_pXmlWriter->GetXmlString());
}
}
};
}

View File

@ -1,150 +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 "ConversionContext.h"
#include "FormFieldData.h"
#include "AbstractOpenXmlMapping.h"
#include "IMapping.h"
namespace DocFileFormat
{
class FormFieldDataMapping: public AbstractOpenXmlMapping, public IMapping
{
public:
FormFieldDataMapping(XMLTools::CStringXmlWriter* writer, ConversionContext* context, IMapping* caller)
: AbstractOpenXmlMapping(writer), m_context(NULL),_caller(NULL)
{
m_context = context;
_caller = caller;
}
virtual void Apply(IVisitable* visited)
{
FormFieldData* ffData = static_cast<FormFieldData*>(visited);
if ( ffData == NULL ) return;
if (ffData->FFData.bExist)
{
m_pXmlWriter->WriteNodeBegin( L"w:ffData");
m_pXmlWriter->WriteNodeBegin( L"w:name", true);
m_pXmlWriter->WriteAttribute(L"w:val", XmlUtils::EncodeXmlString(ffData->FFData.xstzName));
m_pXmlWriter->WriteNodeEnd(L"w:name", true, true );
m_pXmlWriter->WriteNodeBegin(L"w:enabled", true);
if (ffData->FFData.fProt)
m_pXmlWriter->WriteAttribute(L"w:val", 0);
m_pXmlWriter->WriteNodeEnd(L"w:enabled", true, true);
m_pXmlWriter->WriteNodeBegin( L"w:calcOnExit", true);
m_pXmlWriter->WriteAttribute(L"w:val", ffData->FFData.fRecalc);
m_pXmlWriter->WriteNodeEnd(L"w:calcOnExit", true, true );
if (false == ffData->FFData.xstzHelpText.empty())
{
m_pXmlWriter->WriteNodeBegin(L"w:helpText", true);
m_pXmlWriter->WriteAttribute(L"w:type", ffData->FFData.fOwnHelp ? L"text" : L"autoText");
m_pXmlWriter->WriteAttribute(L"w:val", XmlUtils::EncodeXmlString(ffData->FFData.xstzHelpText));
m_pXmlWriter->WriteNodeEnd(L"w:helpText", true, true);
}
if (false == ffData->FFData.xstzStatText.empty())
{
m_pXmlWriter->WriteNodeBegin(L"w:statusText", true);
m_pXmlWriter->WriteAttribute(L"w:type", ffData->FFData.fOwnStat ? L"text" : L"autoText");
m_pXmlWriter->WriteAttribute(L"w:val", XmlUtils::EncodeXmlString(ffData->FFData.xstzStatText));
m_pXmlWriter->WriteNodeEnd(L"w:statusText", true, true);
}
if (false == ffData->FFData.xstzEntryMcr.empty())
{
m_pXmlWriter->WriteNodeBegin(L"w:entryMacro", true);
m_pXmlWriter->WriteAttribute(L"w:val", XmlUtils::EncodeXmlString(ffData->FFData.xstzEntryMcr));
m_pXmlWriter->WriteNodeEnd(L"w:entryMacro", true, true);
}
if (false == ffData->FFData.xstzExitMcr.empty())
{
m_pXmlWriter->WriteNodeBegin(L"w:exitMacro", true);
m_pXmlWriter->WriteAttribute(L"w:val", XmlUtils::EncodeXmlString(ffData->FFData.xstzExitMcr));
m_pXmlWriter->WriteNodeEnd(L"w:exitMacro", true, true);
}
if (ffData->FFData.iType == 1)
{
m_pXmlWriter->WriteNodeBegin(L"w:checkBox");
if (ffData->FFData.iSize)
{
m_pXmlWriter->WriteNodeBegin(L"w:size", true);
m_pXmlWriter->WriteAttribute(L"w:val", ffData->FFData.hps);
m_pXmlWriter->WriteNodeEnd(L"w:size", true, true);
}
else
{
m_pXmlWriter->WriteNodeBegin(L"w:sizeAuto", true);
m_pXmlWriter->WriteNodeEnd(L"w:sizeAuto", true, true);
}
m_pXmlWriter->WriteNodeBegin(L"w:default", true);
m_pXmlWriter->WriteAttribute(L"w:val", ffData->FFData.wDef);
m_pXmlWriter->WriteNodeEnd(L"w:default", true, true);
m_pXmlWriter->WriteNodeEnd(L"w:checkBox");
}
else if (ffData->FFData.iType == 2)
{
m_pXmlWriter->WriteNodeBegin(L"w:ddList");
m_pXmlWriter->WriteNodeEnd(L"w:ddList");
}
else
{
m_pXmlWriter->WriteNodeBegin(L"w:textInput");
m_pXmlWriter->WriteNodeBegin(L"w:maxLength", true);
m_pXmlWriter->WriteAttribute(L"w:val", ffData->FFData.cch_field);
m_pXmlWriter->WriteNodeEnd(L"w:maxLength", true, true);
m_pXmlWriter->WriteNodeEnd(L"w:textInput");
}
m_pXmlWriter->WriteNodeEnd( L"w:ffData" );
}
}
private:
ConversionContext* m_context;
IMapping* _caller;
};
}

View File

@ -1,87 +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 "VirtualStreamReader.h"
#include "ListLevel.h"
namespace DocFileFormat
{
class ListFormatOverrideLevel
{
friend class NumberingMapping;
private:
/// Start-at value if fFormatting==false and fStartAt==true.
/// If fFormatting == true, the start is stored in the LVL
int iStartAt;
/// The level to be overridden
unsigned char ilvl;
/// True if the start-at value is overridden
bool fStartAt;
/// True if the formatting is overridden
bool fFormatting;
/// A grfhic that specifies HTML incompatibilities of the level.
unsigned char grfhic;
ListLevel* lvl;
public:
ListFormatOverrideLevel():
iStartAt(0), ilvl(0), fStartAt(false), fFormatting(false), grfhic(0), lvl(NULL)
{
}
virtual ~ListFormatOverrideLevel()
{
RELEASEOBJECT( this->lvl );
}
/// Parses the bytes to retrieve a ListFormatOverrideLevel
ListFormatOverrideLevel( VirtualStreamReader* reader, int length ):
iStartAt(0), ilvl(0), fStartAt(false), fFormatting(false), grfhic(0), lvl(NULL)
{
this->iStartAt = reader->ReadInt32();
unsigned int flag = (int)reader->ReadUInt32();
this->ilvl = (unsigned char)( flag & 0x000F );
this->fStartAt = FormatUtils::BitmaskToBool( flag, 0x0010 );
this->fFormatting = FormatUtils::BitmaskToBool( flag, 0x0020 );
this->grfhic = FormatUtils::GetIntFromBits( flag, 6, 8 );
//it's a complete override, so the fix part is followed by LVL struct
if ( this->fFormatting )
{
this->lvl = new ListLevel( reader, length );
}
}
};
}

View File

@ -1,86 +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 "VirtualStreamReader.h"
#include "FileInformationBlock.h"
#include "ListFormatOverride.h"
namespace DocFileFormat
{
class ListFormatOverrideTable: public std::vector<ListFormatOverride*>
{
private:
static const int LFO_LENGTH = 16;
static const int LFOLVL_LENGTH = 6;
std::vector<unsigned int> cps;
public:
ListFormatOverrideTable( FileInformationBlock* fib, POLE::Stream* tableStream )
{
if ( fib->m_FibWord97.lcbPlfLfo > 0 )
{
VirtualStreamReader reader( tableStream, fib->m_FibWord97.fcPlfLfo, fib->m_nWordVersion);
if (fib->m_FibWord97.fcPlfLfo > reader.GetSize()) return;
//read the count of LFOs
int count = reader.ReadInt32();
//read the LFOs
for ( int i = 0; i < count; i++ )
{
this->push_back( new ListFormatOverride( &reader, LFO_LENGTH ) );
}
//read the LFOLVLs
for ( int i = 0; i < count; i++ )
{
this->cps.push_back( reader.ReadUInt32() );
for ( int j = 0; j < this->at( i )->clfolvl; j++ )
{
this->at( i )->rgLfoLvl[j] = new ListFormatOverrideLevel( &reader, LFOLVL_LENGTH );
}
}
}
}
virtual ~ListFormatOverrideTable()
{
for ( vector<ListFormatOverride*>::iterator iter = this->begin(); iter != this->end(); iter++ )
{
RELEASEOBJECT( *iter );
}
}
};
}

View File

@ -1,215 +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 "IBinaryReader.h"
#include "../Common/FormatUtils.h"
class MemoryStream: public IBinaryReader
{
public:
MemoryStream (unsigned char* data, unsigned long size, bool bMemCopy = true) : m_Data(NULL), m_Size(0), m_Position(0), bMemoryCopy(bMemCopy)
{
if ( ( data != NULL ) && ( size != 0 ) )
{
m_Size = size;
if (bMemoryCopy)
{
m_Data = new unsigned char[m_Size];
if (m_Data)
{
memcpy (m_Data, data, m_Size);
}
}
else
{
m_Data = data;
}
}
}
virtual ~MemoryStream()
{
if (bMemoryCopy)
RELEASEARRAYOBJECTS (m_Data);
}
virtual unsigned short ReadUInt16()
{
unsigned short rdUShort = 0;
if (m_Data)
{
rdUShort = DocFileFormat::FormatUtils::BytesToUInt16 (m_Data, m_Position, m_Size);
m_Position += sizeof(rdUShort);
}
return rdUShort;
}
void WriteUInt16(unsigned short val)
{
if (m_Data && (m_Position + sizeof(unsigned short) <= m_Size))
{
((unsigned short *)(m_Data + m_Position))[0] = val;
m_Position += sizeof(unsigned short);
}
}
virtual short ReadInt16()
{
short rdShort = 0;
if (m_Data)
{
rdShort = DocFileFormat::FormatUtils::BytesToInt16 (m_Data, m_Position, m_Size);
m_Position += sizeof(rdShort);
}
return rdShort;
}
virtual int ReadInt32()
{
int rdInt = 0;
if (m_Data)
{
rdInt = DocFileFormat::FormatUtils::BytesToInt32 (m_Data, m_Position, m_Size);
m_Position += sizeof(rdInt);
}
return rdInt;
}
void WriteInt32(_INT32 val)
{
if (m_Data && (m_Position + sizeof(_INT32) <= m_Size))
{
((_INT32 *)(m_Data + m_Position))[0] = val;
m_Position += sizeof(_INT32);
}
}
virtual unsigned int ReadUInt32()
{
int rdUInt = 0;
if (m_Data )
{
rdUInt = DocFileFormat::FormatUtils::BytesToUInt32 (m_Data, m_Position, m_Size);
m_Position += sizeof(rdUInt);
}
return rdUInt;
}
void WriteByte(unsigned char val)
{
if (m_Data && (m_Position + 1 <= m_Size))
{
m_Data[m_Position] = val;
m_Position += 1;
}
}
void WriteUInt32(_UINT32 val)
{
if (m_Data && (m_Position + sizeof(_UINT32) <= m_Size))
{
((_UINT32 *)(m_Data + m_Position))[0] = val;
m_Position += sizeof(_UINT32);
}
}
virtual unsigned char ReadByte()
{
unsigned char rdByte = 0;
if (m_Data)
{
rdByte = (m_Position < m_Size) ? m_Data[m_Position] : 0;
m_Position += sizeof(rdByte);
}
return rdByte;
}
virtual unsigned char* ReadBytes (unsigned int count, bool isResultNeeded)
{
if (!m_Data) return NULL;
unsigned int size = ( count <= (m_Size - m_Position) ) ? (count) : (m_Size - m_Position);
unsigned char* pBytes = (isResultNeeded && count > 0) ? new unsigned char[count] : NULL;
if (pBytes)
{
memcpy(pBytes, (m_Data + m_Position), size);
}
m_Position += size;
return pBytes;
}
void WriteBytes(unsigned char* pData, int size)
{
if (m_Data && (m_Position + size <= m_Size))
{
memcpy(m_Data + m_Position, pData, size);
m_Position += size;
}
}
virtual unsigned long GetPosition() const
{
return m_Position;
}
virtual unsigned long GetSize() const
{
return m_Size;
}
virtual int Seek (int offset, int origin = 0/*STREAM_SEEK_SET*/)
{
if (origin == 2) offset = m_Position + offset;
if (origin == 1) offset = m_Size - offset;
if ( (m_Data != NULL) && (offset >= 0) && ((unsigned int)offset < m_Size) )
return m_Position = offset;
return 0;
}
private:
unsigned char* m_Data;
unsigned long m_Size;
unsigned long m_Position;
bool bMemoryCopy;
};

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,101 +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 BitmapBlip: public Record
{
public:
static const unsigned short TYPE_CODE_0xF01D = 0xF01D;
static const unsigned short TYPE_CODE_0xF01E = 0xF01E;
static const unsigned short TYPE_CODE_0xF01F = 0xF01F;
static const unsigned short TYPE_CODE_0xF020 = 0xF020;
static const unsigned short TYPE_CODE_0xF021 = 0xF021;
static const unsigned short TYPE_CODE_0xF02A = 0xF02A;
static const unsigned short TYPE_CODE_0xF029 = 0xF029;
public:
BitmapBlip() : Record(), m_rgbUid(NULL), m_rgbUidPrimary(NULL), m_bTag(0), m_pvBits(NULL)
{
}
BitmapBlip(IBinaryReader* _reader, unsigned int size, unsigned int typeCode, unsigned int version, unsigned int instance) :
Record(_reader, size, typeCode, version, instance ), m_rgbUid(NULL), m_rgbUidPrimary(NULL), m_bTag(0), m_pvBits(NULL), pvBitsSize(0)
{
m_rgbUid = Reader->ReadBytes(16, true);
if ((instance == 0x46B) || (instance == 0x6E3) || (instance == 0x6E1) || (instance == 0x7A9) || (instance == 0x6E5))
{
m_rgbUidPrimary = Reader->ReadBytes(16, true);
}
m_bTag = Reader->ReadByte();
pvBitsSize = (size - 17);
if (m_rgbUidPrimary)
{
pvBitsSize -= 16;
}
m_pvBits = Reader->ReadBytes((int)(pvBitsSize), true);
}
virtual ~BitmapBlip()
{
RELEASEARRAYOBJECTS(m_rgbUid);
RELEASEARRAYOBJECTS(m_rgbUidPrimary);
RELEASEARRAYOBJECTS(m_pvBits);
}
virtual Record* NewObject(IBinaryReader* _reader, unsigned int bodySize, unsigned int typeCode, unsigned int version, unsigned int instance)
{
return new BitmapBlip(_reader, bodySize, typeCode, version, instance);
}
public:
/// The secondary, or data, UID - should always be set.
unsigned char* m_rgbUid;
/// 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.finst and blip_signature is one of the values defined in MSOBI
unsigned char* m_rgbUidPrimary;
unsigned char m_bTag;
/// Raster bits of the blip
unsigned char* m_pvBits;
unsigned int pvBitsSize;
};
}

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,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 "ShapeContainer.h"
namespace DocFileFormat
{
class GroupContainer: public RegularContainer
{
public:
static const unsigned short TYPE_CODE_0xF003 = 0xF003;
int Index;
GroupContainer() : RegularContainer(), Index(0)
{
}
GroupContainer(IBinaryReader* _reader, unsigned int size, unsigned int typeCode, unsigned int version, unsigned int instance) : RegularContainer(_reader, size, typeCode, version, instance), Index(0)
{
for ( unsigned int i = 0; i < this->Children.size(); i++ )
{
Record* groupChild = this->Children[i];
if ( groupChild != NULL )
{
if ( groupChild->TypeCode == 0xF003 )
{
// the child is a subgroup
GroupContainer* group = static_cast<GroupContainer*>(groupChild);
group->Index = i;
this->Children[i] = group;
}
else if ( groupChild->TypeCode == 0xF004 )
{
// the child is a shape
ShapeContainer* shape = static_cast<ShapeContainer*>(groupChild);
shape->m_nIndex = i;
this->Children[i] = shape;
}
}
}
}
virtual ~GroupContainer()
{
}
virtual Record* NewObject( IBinaryReader* _reader, unsigned int bodySize, unsigned int typeCode, unsigned int version, unsigned int instance )
{
return new GroupContainer( _reader, bodySize, typeCode, version, instance );
}
};
}

View File

@ -1,82 +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 GroupShapeRecord: public Record
{
public:
static const unsigned short TYPE_CODE_0xF009 = 0xF009;
GroupShapeRecord () : Record(), rcgBounds()
{
}
GroupShapeRecord(IBinaryReader* _reader, unsigned int size, unsigned int typeCode, unsigned int version, unsigned int instance) : Record(_reader, size, typeCode, version, instance), rcgBounds()
{
int left = Reader->ReadInt32();
int top = Reader->ReadInt32();
int right = Reader->ReadInt32();
int bottom = Reader->ReadInt32();
//left = max( 0, left );
//top = max( 0, top );
//right = max( 0, right );
//bottom = max( 0, bottom );
POINT oPoint;
oPoint.x = left;
oPoint.y = top;
SIZE oSize;
oSize.cx = ( right - left );
oSize.cy = ( bottom - top );
rcgBounds = DocFileFormat::Rectangle(oPoint,oSize);
}
virtual ~GroupShapeRecord()
{
}
virtual Record* NewObject( IBinaryReader* _reader, unsigned int bodySize, unsigned int typeCode, unsigned int version, unsigned int instance )
{
return new GroupShapeRecord( _reader, bodySize, typeCode, version, instance );
}
DocFileFormat::Rectangle rcgBounds;
};
}

View File

@ -1,366 +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 "../../../OfficeUtils/src/OfficeUtils.h"
#include "../../../Common/DocxFormat/Source/Base/Types_32.h"
namespace DocFileFormat
{
typedef struct
{
short Left;
short Top;
short Right;
short Bottom;
} PWMFRect16;
typedef struct
{
_UINT32 Key; // GDIP_WMF_PLACEABLEKEY
short Hmf; // Metafile HANDLE number (always 0)
PWMFRect16 BoundingBox; // Coordinates in metafile units
short Inch; // Number of metafile units per inch
_UINT32 Reserved; // Reserved (always 0)
short Checksum; // Checksum value for previous 10 WORDs
} WmfPlaceableFileHeader;
class CMetaHeader
{
public:
DWORD cbSize;
RECT rcBounds;
POINT ptSize;
DWORD cbSave;
BYTE compression;
BYTE filter;
CMetaHeader()
{
cbSize = cbSave = 0;
filter = compression = 0;
ptSize.x = ptSize.y = 0;
rcBounds.bottom = rcBounds.left = rcBounds.right = rcBounds.top = 0;
}
void ToWMFHeader(WmfPlaceableFileHeader* pHeader)
{
if (NULL == pHeader)
return;
pHeader->Key = 0x9AC6CDD7;
pHeader->Hmf = 0;
pHeader->BoundingBox.Left = (short)rcBounds.left;
pHeader->BoundingBox.Top = (short)rcBounds.top;
pHeader->BoundingBox.Right = (short)rcBounds.right;
pHeader->BoundingBox.Bottom = (short)rcBounds.bottom;
pHeader->Inch = 1440; // 1:1
pHeader->Reserved = 0;
pHeader->Checksum = 0;
pHeader->Checksum ^= (pHeader->Key & 0x0000FFFFL);
pHeader->Checksum ^= ((pHeader->Key & 0xFFFF0000L) >> 16);
pHeader->Checksum ^= pHeader->Hmf;
pHeader->Checksum ^= pHeader->BoundingBox.Left;
pHeader->Checksum ^= pHeader->BoundingBox.Top;
pHeader->Checksum ^= pHeader->BoundingBox.Right;
pHeader->Checksum ^= pHeader->BoundingBox.Bottom;
pHeader->Checksum ^= pHeader->Inch;
pHeader->Checksum ^= (pHeader->Reserved & 0x0000FFFFL);
pHeader->Checksum ^= ((pHeader->Reserved & 0xFFFF0000L) >> 16);
}
};
class CMetaFileBuffer
{
public:
bool m_bIsValid;
std::wstring m_sExtension;
private:
BYTE* m_pMetaHeader;
BYTE* m_pMetaFile;
LONG m_lMetaHeaderSize;
LONG m_lMetaFileSize;
public:
CMetaFileBuffer()
{
m_bIsValid = false;
m_pMetaHeader = NULL;
m_pMetaFile = NULL;
m_lMetaHeaderSize = 0;
m_lMetaFileSize = 0;
}
~CMetaFileBuffer()
{
RELEASEARRAYOBJECTS(m_pMetaHeader);
RELEASEARRAYOBJECTS(m_pMetaFile);
}
void SetHeader(BYTE* pHeader, LONG lSize)
{
m_pMetaHeader = pHeader;
m_lMetaHeaderSize = lSize;
}
void SetData(BYTE* pCompress, LONG lCompressSize, LONG lUncompressSize, bool bIsCompressed)
{
if (!bIsCompressed)
{
m_pMetaFile = new BYTE[lCompressSize];
m_lMetaFileSize = lCompressSize;
memcpy(m_pMetaFile, pCompress, lCompressSize);
}
else
{
ULONG lSize = lUncompressSize;
m_pMetaFile = new BYTE[lUncompressSize];
HRESULT res = S_OK;
COfficeUtils* pOfficeUtils = new COfficeUtils(NULL);
if (pOfficeUtils)
{
pOfficeUtils->Uncompress( m_pMetaFile, &lSize, pCompress, lCompressSize );
delete pOfficeUtils;
pOfficeUtils = NULL;
m_lMetaFileSize = (LONG)lSize;
}
else
{
RELEASEARRAYOBJECTS(m_pMetaFile);
m_lMetaFileSize = 0;
}
}
}
int ToBuffer(BYTE *& Data)
{
int sz = 0;
if (NULL != m_pMetaHeader) sz += m_lMetaHeaderSize;
if (NULL != m_pMetaFile) sz += m_lMetaFileSize;
Data = new BYTE[sz];
int pos = 0;
if (NULL != m_pMetaHeader)
{
memcpy(Data, (BYTE*)m_pMetaHeader, m_lMetaHeaderSize);
pos += m_lMetaHeaderSize;
}
if (NULL != m_pMetaFile)
{
memcpy(Data + pos, (BYTE*)m_pMetaFile, m_lMetaFileSize);
}
return sz;
}
void ToFile(NSFile::CFileBinary* pFile)
{
if (NULL != m_pMetaHeader)
{
pFile->WriteFile((BYTE*)m_pMetaHeader, m_lMetaHeaderSize);
}
}
};
typedef enum _BlipCompression
{
BlipCompressionDeflate,
BlipCompressionNone = 254,
BlipCompressionTest = 255
} BlipCompression;
class MetafilePictBlip: public Record
{
private:
/// The secondary, or data, UID - should always be set.
unsigned char* m_rgbUid;
/// 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.finst and blip_signature is one of the values defined in MSOBI
unsigned char* m_rgbUidPrimary;
/// Cache of the metafile size
int m_cb;
RECT m_rcBounds;
/// Boundary of metafile drawing commands
POINT m_ptSize;
/// Cache of saved size (size of m_pvBits)
int m_cbSave;
/// Compression
BlipCompression m_fCompression;
/// always msofilterNone
bool m_fFilter;
/// Compressed bits of metafile.
unsigned char* m_pvBits;
public:
CMetaFileBuffer oMetaFile;
static const unsigned short TYPE_CODE_0xF01A = 0xF01A;
static const unsigned short TYPE_CODE_0xF01B = 0xF01B;
static const unsigned short TYPE_CODE_0xF01C = 0xF01C;
MetafilePictBlip():
Record(), m_rgbUid(NULL), m_rgbUidPrimary(NULL), m_cb(0), m_cbSave(0), m_fCompression(BlipCompressionNone), m_fFilter(false),
m_pvBits(NULL)
{
}
MetafilePictBlip( IBinaryReader* _reader, unsigned int size, unsigned int typeCode, unsigned int version, unsigned int instance ):
Record( _reader, size, typeCode, version, instance ), m_rgbUid(NULL), m_rgbUidPrimary(NULL), m_cb(0), m_cbSave(0),
m_fCompression(BlipCompressionNone), m_fFilter(false), m_pvBits(NULL)
{
m_rgbUid = Reader->ReadBytes( 16, true );
if ( ( instance == 0x3D5 ) || ( instance == 0x217 ) || ( instance == 0x543 ) )
{
m_rgbUidPrimary = Reader->ReadBytes( 16, true );
}
oMetaFile.m_bIsValid = TRUE;
oMetaFile.m_sExtension = L".emf";
CMetaHeader oMetaHeader;
m_cb = Reader->ReadInt32();
m_rcBounds.left = Reader->ReadInt32();
m_rcBounds.top = Reader->ReadInt32();
m_rcBounds.right = Reader->ReadInt32() + m_rcBounds.left;
m_rcBounds.bottom = Reader->ReadInt32() + m_rcBounds.top;
m_ptSize.x = Reader->ReadInt32();
m_ptSize.y = Reader->ReadInt32();
m_cbSave = Reader->ReadInt32();
m_fCompression = (BlipCompression)Reader->ReadByte();
m_fFilter = ( Reader->ReadByte() == 1 ) ? (true) : (false);
int sz = Reader->GetSize() - Reader->GetPosition();
m_pvBits = Reader->ReadBytes( sz/*m_cbSave*/, true );
oMetaHeader.rcBounds = m_rcBounds;
oMetaHeader.cbSize = m_cb;
oMetaHeader.ptSize = m_ptSize;
oMetaHeader.cbSave = m_cbSave ;
oMetaHeader.compression = m_fCompression;
oMetaHeader.filter = m_fFilter;
if (typeCode == 0xf01b)
{
oMetaFile.m_sExtension = L".wmf";
WmfPlaceableFileHeader oWmfHeader = {};
oMetaHeader.ToWMFHeader(&oWmfHeader);
LONG lLenHeader = 22;
BYTE* pMetaHeader = new BYTE[lLenHeader];
memcpy(pMetaHeader, (void*)(&oWmfHeader), lLenHeader);
oMetaFile.SetHeader(pMetaHeader, lLenHeader);
}
if (typeCode == 0xf01c)
{
oMetaFile.m_sExtension = L".pcz";
//decompress???
}
oMetaFile.SetData(m_pvBits, oMetaHeader.cbSave, oMetaHeader.cbSize, 0 == oMetaHeader.compression);
}
virtual ~MetafilePictBlip()
{
RELEASEARRAYOBJECTS( m_rgbUid );
RELEASEARRAYOBJECTS( m_rgbUidPrimary );
RELEASEARRAYOBJECTS( m_pvBits );
}
virtual Record* NewObject( IBinaryReader* _reader, unsigned int bodySize, unsigned int typeCode, unsigned int version, unsigned int instance )
{
return new MetafilePictBlip( _reader, bodySize, typeCode, version, instance );
}
/// Decompresses the bits of the picture if the picture is decompressed.
/// If the picture is not compressed, it returns original unsigned char array.
unsigned long Decompress( unsigned char **buffer )
{
unsigned long uncomprLen = 0;
if ( m_fCompression == BlipCompressionDeflate )
{
uncomprLen = m_cb;
*buffer = new unsigned char[uncomprLen];
HRESULT res = S_OK;
COfficeUtils* pOfficeUtils = new COfficeUtils(NULL);
if (pOfficeUtils)
{
pOfficeUtils->Uncompress( *buffer, &uncomprLen, m_pvBits, m_cbSave );
delete pOfficeUtils;
pOfficeUtils = NULL;
}
}
else if ( m_fCompression == BlipCompressionNone )
{
uncomprLen = m_cbSave;
*buffer = new unsigned char[uncomprLen];
memcpy( *buffer, m_pvBits , m_cbSave );
}
return uncomprLen;
}
};
}

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,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 OfficeArtFRITContainer: public RegularContainer
{
public:
static const unsigned short TYPE_CODE_0xF118 = 0xF118;
OfficeArtFRITContainer () : RegularContainer()
{
}
OfficeArtFRITContainer (IBinaryReader* _reader, unsigned int size, unsigned int typeCode, unsigned int version, unsigned int instance) : RegularContainer (_reader, size, typeCode, version, instance)
{
}
virtual ~OfficeArtFRITContainer()
{
}
virtual Record* NewObject (IBinaryReader* _reader, unsigned int bodySize, unsigned int typeCode, unsigned int version, unsigned int instance)
{
return new OfficeArtFRITContainer( _reader, bodySize, typeCode, version, instance );
}
};
}

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
*
*/
#include "Record.h"
namespace DocFileFormat
{
Record::~Record()
{
RELEASEARRAYOBJECTS( RawData );
RELEASEOBJECT( Reader );
}
/*========================================================================================================*/
Record::Record():
HeaderSize(0), BodySize(0), RawData(NULL), SiblingIdx(0), TypeCode(0), Version(0), Instance(0), Reader(NULL),
_ParentRecord(NULL)
{
}
/*========================================================================================================*/
Record::Record( IBinaryReader* _reader, unsigned int bodySize, unsigned int typeCode, unsigned int version, unsigned int instance ):
HeaderSize(Record::HEADER_SIZE_IN_BYTES), BodySize(bodySize), RawData(NULL), SiblingIdx(0), TypeCode(typeCode), Version(version), Instance(instance), Reader(NULL),
_ParentRecord(NULL)
{
HeaderSize = Record::HEADER_SIZE_IN_BYTES;
int real_size = _reader->GetSize() - _reader->GetPosition();
if (real_size < BodySize)
{
BodySize = real_size;
}
RawData = _reader->ReadBytes( BodySize, true );
Reader = new MemoryStream( RawData, BodySize, false );
}
/*========================================================================================================*/
unsigned int Record::GetTotalSize() const
{
return ( HeaderSize + BodySize );
}
}

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,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 "Record.h"
namespace DocFileFormat
{
class UnknownRecord: public Record
{
public:
unsigned char* _bytes;
unsigned int _size;
UnknownRecord():
Record(), _bytes(NULL), _size(0)
{
}
UnknownRecord( IBinaryReader* _reader, unsigned int size, unsigned int typeCode, unsigned int version, unsigned int instance ):
Record( _reader, size, typeCode, version, instance ), _bytes(NULL), _size(0)
{
this->_size = (unsigned int)( this->Reader->GetSize() - this->Reader->GetPosition() );
if ( this->_size >= size )
{
this->_size = size;
}
this->_bytes = this->Reader->ReadBytes( this->_size, true );
}
virtual ~UnknownRecord()
{
RELEASEARRAYOBJECTS( this->_bytes );
}
virtual Record* NewObject( IBinaryReader* _reader, unsigned int bodySize, unsigned int typeCode, unsigned int version, unsigned int instance )
{
return NULL;//new UnknownRecord( _reader, bodySize, typeCode, version, instance );
}
};
}

View File

@ -1,404 +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 "OleObject.h"
#include "WordDocument.h"
namespace DocFileFormat
{
OleObject::OleObject( const CharacterPropertyExceptions* chpx, WordDocument* document)
: bLinked(false), updateMode(NoLink), isEquation(false), isEmbedded (false), oleStorage(NULL)
{
if (!document) return;
if (!chpx) return;
nWordVersion = document->nWordVersion;
ObjectId = getOleEntryName( chpx );
StructuredStorageReader* docStorage = document->GetStorage();
oleStorage = docStorage->GetStorage();
if (!oleStorage) return;
std::wstring sObjectId( ObjectId.begin(), ObjectId.end() );
std::wstring name = L"ObjectPool/" + sObjectId + L"/";
bool bOle = processOleStream( name + L"Ole" );
bool bCompObj = bLinked ? processLinkInfoStream( name + L"LinkInfo" ):
processCompObjStream( name + L"CompObj" );
if (bOle || bCompObj)
{
processPICStream( name + L"PIC" );
processMETAStream( name + L"META" );
processEquationNativeStream( name + L"Equation Native" );
}
else if (nWordVersion > 0)
{
int fc = pictureDesciptor.GetFcPic( chpx );
if ( fc >= 0 )
{
POLE::Stream* pOleStream = document->GetDocumentStream();
pictureDesciptor.parse( pOleStream, fc, 0xffffff, nWordVersion);
VirtualStreamReader reader(pOleStream, pOleStream->tell(), nWordVersion);
int pos = reader.GetPosition();
short a1 = reader.ReadInt16();
short a2 = reader.ReadInt16();
short a3 = reader.ReadInt16();
int lcb = reader.ReadInt32();
//short a4 = reader.ReadInt16();
//short a5 = reader.ReadInt16();
//short a6 = reader.ReadInt16();
//short a7 = reader.ReadInt16();
int lcb1 = reader.ReadInt32();
ClipboardFormat = Program = reader.ReadLengthPrefixedAnsiString(0xffff);
short a10 = reader.ReadInt16();
short a11 = reader.ReadInt16();
short a12 = reader.ReadInt16();
short a14 = reader.ReadInt16();
//int lcb = 5000;//reader.ReadInt32();
int szHeader = reader.GetPosition() - pos;
int szData = reader.ReadInt32();
if (szData > lcb)
{
szData = szData >> 16;
}
unsigned char* bytes = reader.ReadBytes( szData, true );
if (bytes && szData < 0xffff)
{
emeddedData = std::string((char*)bytes, szData);
delete []bytes;
}
}
}
}
bool OleObject::processLinkInfoStream( const std::wstring& linkStream )
{
try
{
POLE::Stream* pLinkStream = NULL;
HRESULT res = S_OK;
pLinkStream = new POLE::Stream(oleStorage, linkStream);
if ( pLinkStream )
{
VirtualStreamReader reader( pLinkStream, 0, false);
processLinkInfoStream(reader);
delete pLinkStream;
return true;
}
}
catch (...)
{
}
return false;
}
void OleObject::processEquationNativeStream( const std::wstring& eqStream )
{
try
{
POLE::Stream* pCompStream = NULL;
HRESULT res = S_OK;
pCompStream = new POLE::Stream(oleStorage, eqStream);
if ( pCompStream )
{
VirtualStreamReader reader( pCompStream, 0, false);
int sz = reader.GetSize();
unsigned char *Buffer = reader.ReadBytes( sz, true );
if (Buffer && sz > 0)
{
isEquation = true;
delete []Buffer;
}
delete pCompStream;
}
}
catch (...)
{
}
}
void OleObject::processMETAStream( const std::wstring& metaStream )
{
try
{
HRESULT res = S_OK;
POLE::Stream* pMETAStream = new POLE::Stream(oleStorage, metaStream);
if ( pMETAStream )
{
pictureDesciptor.Type = wmf;
VirtualStreamReader reader( pMETAStream, 0, false);
pictureDesciptor.mfp.mm = reader.ReadUInt16();
pictureDesciptor.mfp.xExt = reader.ReadUInt16();
pictureDesciptor.mfp.yExt = reader.ReadUInt16();
pictureDesciptor.mfp.hMf = reader.ReadUInt16();
pictureDesciptor.embeddedDataSize = reader.GetSize() - 8;
pictureDesciptor.embeddedData = reader.ReadBytes( pictureDesciptor.embeddedDataSize, true );
}
}
catch (...)
{
}
}
void OleObject::processPICStream( const std::wstring& picStream )
{
try
{
HRESULT res = S_OK;
POLE::Stream* pPICStream = new POLE::Stream(oleStorage, picStream);
if ( pPICStream )
{
VirtualStreamReader reader( pPICStream, 0, false);
int sz = reader.GetSize();
int cbHeader = reader.ReadUInt32();
unsigned char* bytes = NULL;
pictureDesciptor.mfp.mm = reader.ReadInt16();
pictureDesciptor.mfp.xExt = reader.ReadInt16();
pictureDesciptor.mfp.yExt = reader.ReadInt16();
pictureDesciptor.mfp.hMf = reader.ReadInt16();
int x = reader.ReadUInt32();
int y = reader.ReadUInt32();
pictureDesciptor.dxaGoal = reader.ReadUInt32();
pictureDesciptor.dyaGoal = reader.ReadUInt32();
unsigned char* data = reader.ReadBytes(16, true);
delete []data;
pictureDesciptor.mx = reader.ReadUInt32();
pictureDesciptor.my = reader.ReadUInt32();
pictureDesciptor.dxaCropLeft = reader.ReadInt32();
pictureDesciptor.dyaCropTop = reader.ReadInt32();
pictureDesciptor.dxaCropRight = reader.ReadInt32();
pictureDesciptor.dyaCropBottom = reader.ReadInt32();
// borders
int bytesCount = (nWordVersion > 0) ? 2 : 4;
bytes = reader.ReadBytes( bytesCount, true );
pictureDesciptor.brcTop = new BorderCode( bytes, bytesCount );
RELEASEARRAYOBJECTS( bytes );
bytes = reader.ReadBytes( bytesCount, true );
pictureDesciptor.brcLeft = new BorderCode( bytes, bytesCount );
RELEASEARRAYOBJECTS( bytes );
bytes = reader.ReadBytes( bytesCount, true );
pictureDesciptor.brcBottom = new BorderCode( bytes, bytesCount );
RELEASEARRAYOBJECTS( bytes );
bytes = reader.ReadBytes( bytesCount, true );
pictureDesciptor.brcRight = new BorderCode( bytes, bytesCount );
RELEASEARRAYOBJECTS( bytes );
int etc = sz - reader.GetPosition();
unsigned char* data2 = reader.ReadBytes(etc, true);
delete []data2;
}
}
catch (...)
{
}
}
bool OleObject::processCompObjStream( const std::wstring& compStream )
{
try
{
HRESULT res = S_OK;
POLE::Stream* pCompStream = new POLE::Stream(oleStorage, compStream);
if ( (pCompStream) && (!pCompStream->fail()) )
{
VirtualStreamReader reader( pCompStream, 0, false);
processCompObjStream(reader);
delete pCompStream;
return true;
}
}
catch (...)
{
}
return false;
}
bool OleObject::processOleStream( const std::wstring& oleStreamName )
{
try
{
POLE::Stream* pOleStream;
HRESULT res = S_OK;
pOleStream = new POLE::Stream(oleStorage, oleStreamName);
if ( (pOleStream) && (!pOleStream->fail()))
{
VirtualStreamReader reader( pOleStream, 0, false );
processOleStream(reader);
delete pOleStream;
return true;
}
}
catch (...)
{
}
return false;
}
void OleObject::processOleStream( VirtualStreamReader& reader )
{
//skip version
reader.ReadBytes( 4, false );
//read the embedded/linked flag
int flag = reader.ReadInt32();
bLinked = FormatUtils::BitmaskToBool( flag, 0x1 );
//Link update option
this->updateMode = (LinkUpdateOption)reader.ReadInt32();
switch ( this->updateMode )
{
case NoLink: UpdateMode = L"NoLink"; break;
case Always: UpdateMode = L"Always"; break;
case OnCall: UpdateMode = L"OnCall"; break;
}
}
void OleObject::processLinkInfoStream( VirtualStreamReader& reader )
{
short cch = reader.ReadInt16();
unsigned char* str = reader.ReadBytes( cch, true );
FormatUtils::GetSTLCollectionFromBytes<std::wstring>( &this->Link, str, cch, ENCODING_WINDOWS_1250 );
RELEASEARRAYOBJECTS( str );
//skip the terminating zero of the ANSI string
//even if the characters are ANSI chars, the terminating zero has 2 bytes
reader.ReadBytes( 2, false );
//skip the next 4 bytes (flags?)
reader.ReadBytes( 4, false );
//Read the Unicode version
this->Link.clear();
cch = reader.ReadInt16();
str = reader.ReadBytes( ( cch * 2 ), true );
FormatUtils::GetSTLCollectionFromBytes<std::wstring>( &this->Link, str, ( cch * 2 ), ENCODING_UTF16 );
RELEASEARRAYOBJECTS( str );
//skip the terminating zero of the Unicode string
reader.ReadBytes( 2, false );
}
void OleObject::processCompObjStream( VirtualStreamReader& reader )
{
//skip the CompObjHeader
reader.ReadBytes( 28, false );
unsigned int sz_obj = reader.GetSize() - reader.GetPosition();
if (sz_obj > 4)
{
UserType = reader.ReadLengthPrefixedAnsiString(sz_obj);
sz_obj = reader.GetSize() - reader.GetPosition();
if (sz_obj > 4)
ClipboardFormat = reader.ReadLengthPrefixedAnsiString(sz_obj);
sz_obj = reader.GetSize() - reader.GetPosition();
if (sz_obj > 4)
Program = reader.ReadLengthPrefixedAnsiString(sz_obj);
}
}
std::wstring OleObject::getOleEntryName( const CharacterPropertyExceptions* chpx )
{
std::wstring ret;
if ( chpx != NULL )
{
for ( std::list<SinglePropertyModifier>::const_iterator iter = chpx->grpprl->begin(); iter != chpx->grpprl->end(); iter++ )
{
if ( iter->OpCode == sprmCPicLocation || iter->OpCode == sprmOldCPicLocation)
{
ret = ( L"_" + FormatUtils::IntToWideString( FormatUtils::BytesToUInt32( iter->Arguments, 0, iter->argumentsSize ) ) );
break;
}
}
}
return ret;
}
}

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,190 +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 "ConversionContext.h"
#include "PictureDescriptor.h"
#include "OleObject.h"
#include "AbstractOpenXmlMapping.h"
#include "IMapping.h"
namespace DocFileFormat
{
class OleObjectMapping: public AbstractOpenXmlMapping, public IMapping
{
public:
OleObjectMapping(XMLTools::CStringXmlWriter* writer, ConversionContext* context, PictureDescriptor* pict, IMapping* caller, const std::wstring& shapeId)
:
AbstractOpenXmlMapping(writer), m_context(NULL), _pict(NULL), _caller(NULL), _shapeId(shapeId)
{
m_context = context;
_pict = pict;
_caller = caller;
}
virtual void Apply(IVisitable* visited)
{
OleObject* ole = static_cast<OleObject*>(visited);
if ( ole != NULL )
{
if (ole->isEmbedded)
{
if (ole->isEquation) ole->ClipboardFormat = L"Equation";
else ole->ClipboardFormat = L"MSWordDocx";
ole->Program = L"Word.Document";
}
m_pXmlWriter->WriteNodeBegin( L"o:OLEObject", TRUE );
int relID = -1;
if ( ole->bLinked )
{
relID = m_context->_docx->RegisterExternalOLEObject(_caller, ole->ClipboardFormat, ole->Link);
m_pXmlWriter->WriteAttribute( L"Type", L"Link" );
m_pXmlWriter->WriteAttribute( L"UpdateMode", ole->UpdateMode);
}
else
{
if (ole->isEmbedded)
relID = m_context->_docx->RegisterPackage(_caller, ole->ClipboardFormat);
else
relID = m_context->_docx->RegisterOLEObject(_caller, ole->ClipboardFormat);
m_pXmlWriter->WriteAttribute( L"Type", L"Embed" );
copyEmbeddedObject( ole );
}
m_pXmlWriter->WriteAttribute( L"ProgID", ole->Program);
m_pXmlWriter->WriteAttribute( L"ShapeID", _shapeId);
m_pXmlWriter->WriteAttribute( L"DrawAspect", L"Content" );
m_pXmlWriter->WriteAttribute( L"ObjectID", ole->ObjectId);
m_pXmlWriter->WriteAttribute( L"r:id", L"rId"+ FormatUtils::IntToWideString( relID ) );
m_pXmlWriter->WriteNodeEnd( L"", TRUE, FALSE );
m_pXmlWriter->WriteNodeEnd( L"o:OLEObject" );
}
}
static std::wstring GetTargetExt(const std::wstring& objectType)
{
std::wstring objectExt = L".bin";
if ( objectType == L"Biff8" )
{
objectExt = L".xls";
}
else if ( objectType == L"MSWordDoc" )
{
objectExt = L".doc";
}
else if ( objectType == L"MSPresentation" )
{
objectExt = L".ppt";
}
else if ( objectType == L"MSWordDocx" )
{
objectExt = L".docx";
}
else if ( objectType == L"Equation" )
{
objectExt = L".xml";
}
return objectExt;
}
static std::wstring GetContentType(const std::wstring& objectType)
{
std::wstring objectContentType = OpenXmlContentTypes::OleObject;
if ( objectType == L"Biff8" )
{
objectContentType = OpenXmlContentTypes::MSExcel;
}
else if ( objectType == L"MSWordDoc" )
{
objectContentType = OpenXmlContentTypes::MSWord;
}
else if ( objectType == L"MSPresentation" )
{
objectContentType = OpenXmlContentTypes::MSPowerpoint;
}
else if ( objectType == L"MSWordDocx" )
{
objectContentType = OpenXmlContentTypes::MSWordDocx;
}
else if ( objectType == L"Equation" )
{
objectContentType = OpenXmlContentTypes::Xml;
}
return objectContentType;
}
private:
inline void copyEmbeddedObject( const OleObject* ole )
{
if ( ole == NULL ) return;
std::wstring clsid;
std::wstring exelChart = L"Excel.Chart";
if ( std::search( ole->Program.begin(), ole->Program.end(), exelChart.begin(), exelChart.end() ) == ole->Program.end() )
{
clsid = ole->ClassId;
}
OleObjectFileStructure object_descr(OleObjectMapping::GetTargetExt( ole->ClipboardFormat ), ole->ObjectId, clsid);
if (ole->nWordVersion == 2)
{
object_descr.clsid = ole->ClipboardFormat;
object_descr.bNativeOnly = true;
}
if (ole->isEquation || ole->isEmbedded || ole->nWordVersion == 2)
{
object_descr.data = ole->emeddedData;
}
m_context->_docx->OleObjectsList.push_back(object_descr);
}
ConversionContext* m_context;
PictureDescriptor* _pict;
std::wstring _shapeId;
IMapping* _caller;
};
}

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 "../Common/FormatUtils.h"
namespace DocFileFormat
{
class PieceDescriptor
{
friend class PieceTable;
public:
/// Parses the bytes to retrieve a PieceDescriptor
PieceDescriptor(unsigned char *bytes, unsigned int size, int code_page_) : fc(0), code_page(code_page_), cpStart(0), cpEnd(0)
{
if (8 == size)
{
//get the fc value
unsigned int fcValue = FormatUtils::BytesToUInt32(bytes, 2, size);
//get the flag
bool flag = FormatUtils::BitmaskToBool((int)fcValue, 0x40000000);
//delete the flag
fcValue = fcValue & 0xBFFFFFFF;
//find encoding and offset
if (flag)
{
code_page = ENCODING_WINDOWS_1250;
this->fc = (unsigned int)( fcValue / 2 );
}
else
{
code_page = (code_page == ENCODING_WINDOWS_1250 ? ENCODING_UTF16 : code_page_);
this->fc = fcValue;
}
}
}
public:
/// File offset of beginning of piece.
/// This is relative to the beginning of the WordDocument stream.
unsigned int fc;
/// The encoding of the piece
int code_page;
int cpStart;
int cpEnd;
};
}

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
#include "../../Common/DocxFormat/Source/Base/Types_32.h"
#include <boost/format.hpp>
namespace DocFileFormat
{
typedef enum _ByteOrder
{
RedFirst,
RedLast
} ByteOrder;
class RGBColor
{
private:
unsigned char Red;
unsigned char Green;
unsigned char Blue;
unsigned char Alpha;
public:
std::wstring SixDigitHexCode;
std::wstring EightDigitHexCode;
RGBColor( _UINT32 cv, ByteOrder order )
{
unsigned char bytes[4];
bytes[0] = cv & 0x000000FF;
bytes[1] = (cv >> 8) & 0x000000FF;
bytes[2] = (cv >> 16) & 0x000000FF;
bytes[3] = (cv >> 24) & 0x000000FF;
std::wstringstream rgbColor6, rgbColor8;
if( order == RedFirst )
{
this->Red = bytes[0];
this->Green = bytes[1];
this->Blue = bytes[2];
this->Alpha = bytes[3];
rgbColor6 << boost::wformat( L"%02x%02x%02x" ) % Red % Green % Blue;
rgbColor8 << boost::wformat( L"%02x%02x%02x%02x" ) % Red % Green % Blue % Alpha;
SixDigitHexCode = rgbColor6.str();
EightDigitHexCode = rgbColor8.str();
}
else if ( order == RedLast )
{
this->Red = bytes[2];
this->Green = bytes[1];
this->Blue = bytes[0];
this->Alpha = bytes[3];
rgbColor6 << boost::wformat( L"%02x%02x%02x" ) % Red % Green % Blue;
rgbColor8 << boost::wformat( L"%02x%02x%02x%02x" ) % Red % Green % Blue % Alpha;
SixDigitHexCode = rgbColor6.str();
EightDigitHexCode = rgbColor8.str();
}
}
};
}

View File

@ -1,87 +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 "VirtualStreamReader.h"
#include "ByteStructure.h"
namespace DocFileFormat
{
class SectionDescriptor: public ByteStructure
{
friend class WordDocument;
private:
short fn;
short fnMpr;
int fcMpr;
/// A signed integer that specifies the position in the WordDocument Stream where a Sepx structure is located.
int fcSepx;
static const int STRUCTURE_SIZE = 12;
static const int STRUCTURE_SIZE_OLD = 6;
public:
static const int GetSize(int nWordVersion)
{
return (nWordVersion == 2) ? STRUCTURE_SIZE_OLD : STRUCTURE_SIZE;
}
SectionDescriptor() : fn(0), fnMpr(0), fcMpr(0), fcSepx(0)
{
}
virtual ~SectionDescriptor()
{
}
virtual ByteStructure* ConstructObject( VirtualStreamReader* reader, int length )
{
SectionDescriptor *newObject = new SectionDescriptor();
if (reader->nWordVersion == 2)
{
newObject->fn = reader->ReadInt16();
newObject->fcSepx = reader->ReadInt32();
//newObject->fnMpr = reader->ReadInt16();
//newObject->fcMpr = reader->ReadInt16();
}
else
{
newObject->fn = reader->ReadInt16();
newObject->fcSepx = reader->ReadInt32();
newObject->fnMpr = reader->ReadInt16();
newObject->fcMpr = reader->ReadInt32();
}
return static_cast<ByteStructure*>( newObject );
}
};
}

View File

@ -1,269 +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"
namespace DocFileFormat
{
typedef enum _ShadingPattern
{
Automatic = 0x0000,
Solid = 0x0001,
Percent_5 = 0x0002,
Percent_10 = 0x0003,
Percent_20 = 0x0004,
Percent_25 = 0x0005,
Percent_30 = 0x0006,
Percent_40 = 0x0007,
Percent_50 = 0x0008,
Percent_60 = 0x0009,
Percent_70 = 0x000A,
Percent_75 = 0x000B,
Percent_80 = 0x000C,
Percent_90 = 0x000D,
DarkHorizontal = 0x000E,
DarkVertical = 0x000F,
DarkForwardDiagonal = 0x0010,
DarkBackwardDiagonal = 0x0011,
DarkCross = 0x0012,
DarkDiagonalCross = 0x0013,
Horizontal = 0x0014,
Vertical = 0x0015,
ForwardDiagonal = 0x0016,
BackwardDiagonal = 0x0017,
Cross = 0x0018,
DiagonalCross = 0x0019,
Percent_2_5 = 0x0023,
Percent_7_5 = 0x0024,
Percent_12_5 = 0x0025,
Percent_15 = 0x0026,
Percent_17_5 = 0x0027,
Percent_22_5 = 0x0028,
Percent_27_5 = 0x0029,
Percent_32_5 = 0x002A,
Percent_35 = 0x002B,
Percent_37_5 = 0x002C,
Percent_42_5 = 0x002D,
Percent_45 = 0x002E,
Percent_47_5 = 0x002F,
Percent_52_5 = 0x0030,
Percent_55 = 0x0031,
Percent_57_5 = 0x0032,
Percent_62_5 = 0x0033,
Percent_65 = 0x0034,
Percent_67_5 = 0x0035,
Percent_72_5 = 0x0036,
Percent_77_5 = 0x0037,
Percent_82_5 = 0x0038,
Percent_85 = 0x0039,
Percent_87_5 = 0x003A,
Percent_92_5 = 0x003B,
Percent_95 = 0x003C,
Percent_97_5 = 0x003D,
Nil = 0xFFFF
} ShadingPattern;
enum ShadingType
{
shadingTypeShd,
shadingTypeShd80
};
enum ShadingSpecialValue
{
shadingSpecialValueNormal,
shadingSpecialValueShdAuto,
shadingSpecialValueShdNil,
shadingSpecialValueShd80Nil
};
class ShadingDescriptor: public IVisitable
{
friend class PropertiesMapping;
private:
unsigned int cvFore; // 24-bit foreground color
bool cvForeAuto;
int icoFore; // Foreground color.
unsigned int cvBack;
bool cvBackAuto;
int icoBack;
ShadingPattern ipat;
ShadingType shadingType;
ShadingSpecialValue shadingSpecialValue;
public:
/// Creates a new ShadingDescriptor with default values
ShadingDescriptor()
{
setDefaultValues();
}
/// Parses the bytes to retrieve a ShadingDescriptor.
ShadingDescriptor(unsigned char* bytes, int size)
{
setDefaultValues();
if (NULL != bytes)
{
if (10 == size)
{
//it's a Word 2000/2003 descriptor
unsigned char cvForeBytes[4] = { bytes[2], bytes[1], bytes[0], 0 };
unsigned char cvBackBytes[4] = { bytes[6], bytes[5], bytes[4], 0 };
cvFore = FormatUtils::BytesToUInt32( cvForeBytes, 0, 4 );
if ( bytes[3] == 0xFF )
{
cvForeAuto = true;
}
cvBack = FormatUtils::BytesToUInt32( cvBackBytes, 0, 4 );
if ( bytes[7] == 0xFF )
{
cvBackAuto = true;
}
ipat = (ShadingPattern)FormatUtils::BytesToUInt16( bytes, 8, size );
shadingType = shadingTypeShd;
if ( ( cvFore == 0 ) && ( bytes[3] == 0xFF ) && ( cvBack == 0 ) && ( bytes[7] == 0xFF ) && ( ipat == Automatic ) )
{
shadingSpecialValue = shadingSpecialValueShdAuto;
}
else if ( ( cvFore == 0xFFFFFF ) && ( bytes[3] == 0xFF ) && ( cvBack == 0xFFFFFF ) && ( bytes[7] == 0xFF ) && ( ipat == Automatic ) )
{
shadingSpecialValue = shadingSpecialValueShdNil;
}
}
else if (2 == size)
{
//it's a Word 97 SPRM
short val = FormatUtils::BytesToInt16(bytes, 0, size);
icoFore = GETBITS(val, 0, 4);
icoBack = GETBITS(val, 5, 9);
ipat = (ShadingPattern) GETBITS(val, 10, 15);
shadingType = shadingTypeShd80;
if ((icoFore == 0x1F) && (icoBack == 0x1F) && (ipat == 0x3F))
{
shadingSpecialValue = shadingSpecialValueShd80Nil;
}
else
{
shadingType = shadingTypeShd;
cvForeAuto = false;
cvBackAuto = false;
if (0x00 == icoFore) { cvFore = RGB2 (0x00, 0x00, 0x00); cvForeAuto = true; }
else if (0x01 == icoFore) { cvFore = RGB2 (0x00, 0x00, 0x00); }
else if (0x02 == icoFore) { cvFore = RGB2 (0x00, 0x00, 0xFF); }
else if (0x03 == icoFore) { cvFore = RGB2 (0x00, 0xFF, 0xFF); }
else if (0x04 == icoFore) { cvFore = RGB2 (0x00, 0xFF, 0x00); }
else if (0x05 == icoFore) { cvFore = RGB2 (0xFF, 0x00, 0xFF); }
else if (0x06 == icoFore) { cvFore = RGB2 (0xFF, 0x00, 0x00); }
else if (0x07 == icoFore) { cvFore = RGB2 (0xFF, 0xFF, 0x00); }
else if (0x08 == icoFore) { cvFore = RGB2 (0xFF, 0xFF, 0xFF); }
else if (0x09 == icoFore) { cvFore = RGB2 (0x00, 0x00, 0x80); }
else if (0x0A == icoFore) { cvFore = RGB2 (0x00, 0x80, 0x80); }
else if (0x0B == icoFore) { cvFore = RGB2 (0x00, 0x80, 0x00); }
else if (0x0C == icoFore) { cvFore = RGB2 (0x80, 0x00, 0x80); }
else if (0x0D == icoFore) { cvFore = RGB2 (0x80, 0x00, 0x80); }
else if (0x0E == icoFore) { cvFore = RGB2 (0x80, 0x80, 0x00); }
else if (0x0F == icoFore) { cvFore = RGB2 (0x80, 0x80, 0x80); }
else if (0x10 == icoFore) { cvFore = RGB2 (0xC0, 0xC0, 0xC0); }
if (0x00 == icoBack) { cvBack = RGB2 (0xFF, 0xFF, 0xFF); cvBackAuto = true; }
else if (0x01 == icoBack) { cvBack = RGB2 (0x00, 0x00, 0x00); }
else if (0x02 == icoBack) { cvBack = RGB2 (0x00, 0x00, 0xFF); }
else if (0x03 == icoBack) { cvBack = RGB2 (0x00, 0xFF, 0xFF); }
else if (0x04 == icoBack) { cvBack = RGB2 (0x00, 0xFF, 0x00); }
else if (0x05 == icoBack) { cvBack = RGB2 (0xFF, 0x00, 0xFF); }
else if (0x06 == icoBack) { cvBack = RGB2 (0xFF, 0x00, 0x00); }
else if (0x07 == icoBack) { cvBack = RGB2 (0xFF, 0xFF, 0x00); }
else if (0x08 == icoBack) { cvBack = RGB2 (0xFF, 0xFF, 0xFF); }
else if (0x09 == icoBack) { cvBack = RGB2 (0x00, 0x00, 0x80); }
else if (0x0A == icoBack) { cvBack = RGB2 (0x00, 0x80, 0x80); }
else if (0x0B == icoBack) { cvBack = RGB2 (0x00, 0x80, 0x00); }
else if (0x0C == icoBack) { cvBack = RGB2 (0x80, 0x00, 0x80); }
else if (0x0D == icoBack) { cvBack = RGB2 (0x80, 0x00, 0x80); }
else if (0x0E == icoBack) { cvBack = RGB2 (0x80, 0x80, 0x00); }
else if (0x0F == icoBack) { cvBack = RGB2 (0x80, 0x80, 0x80); }
else if (0x10 == icoBack) { cvBack = RGB2 (0xC0, 0xC0, 0xC0); }
// .... если будут документы с такими цветовыми палитрами
//if ((cvFore == 0) && (icoFore == 0x0) && (cvBack == 0) && (icoBack == 0x0) && (ipat == Automatic))
//{
// shadingSpecialValue = shadingSpecialValueShdAuto;
//}
//else if ((cvFore == 0xFFFFFF) && (icoFore == 0x0) && (cvBack == 0xFFFFFF) && (icoBack == 0x0) && (ipat == Automatic))
//{
// shadingSpecialValue = shadingSpecialValueShdNil;
//}
}
}
else
{
}
}
}
private:
inline unsigned int RGB2 (unsigned char r, unsigned char g, unsigned char b)
{
return ( (r<<16) | (g<<8) | (b) );
}
void setDefaultValues()
{
cvBack = 0;
cvBackAuto = false;
cvFore = 0;
cvForeAuto = false;
icoBack = 0;
icoFore = 0;
ipat = Automatic;
shadingType = shadingTypeShd80;
shadingSpecialValue = shadingSpecialValueNormal;
}
};
}

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,180 +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/DocxFormat/Source/Base/SmartPtr.h"
#include "BorderCode.h"
#include "Global.h"
namespace DocFileFormat
{
struct TC80
{
TC80()
{
wWidth = horzMerge =0;
textFlow = Global::lrTb;
vertMerge = Global::fvmClear;
vertAlign = Global::top;
ftsWidth = Global::nil;
fFitText = fNoWrap = fHideMark = false;
}
/// A value from the following table that specifies how this cell merges horizontally with the neighboring cells in the same row.
/// MUST be one of the following values:
/// 0 - The cell is not merged with the cells on either side of it.
/// 1 - The cell is one of a set of horizontally merged cells. It contributes its layout region to the set and its own contents are not rendered.
/// 2, 3 - The cell is the first cell in a set of horizontally merged cells. The contents and formatting of this cell extend into any consecutive cells following it that are designated as part of the merged set.
unsigned char horzMerge;
/// A value from the TextFlow enumeration that specifies rotation settings for the text in the cell.
Global::TextFlow textFlow;
/// A value from the VerticalMergeFlag enumeration that specifies how this cell merges vertically with the cells above or below it.
Global::VerticalMergeFlag vertMerge;
/// A value from the VerticalAlign enumeration that specifies how contents inside this cell are aligned.
Global::VerticalAlign vertAlign;
/// An Fts that specifies the unit of measurement for the wWidth field in the TC80 structure.
Global::CellWidthType ftsWidth;
/// Specifies whether the contents of the cell are to be stretched out such that the full cell width is used.
bool fFitText;
/// When set, specifies that the preferred layout of the contents of this cell are as a single line,
/// and cell widths can be adjusted to accommodate long lines.
/// This preference is ignored when the preferred width of this cell is set to ftsDxa.
bool fNoWrap;
/// When set, specifies that this cell is rendered with no height if all cells in the row are empty.
bool fHideMark;
/// An integer that specifies the preferred width of the cell.
/// The width includes cell margins, but does not include cell spacing. MUST be non-negative.
/// The unit of measurement depends on ftsWidth.
/// If ftsWidth is set to ftsPercent, the value is a fraction of the width of the entire table.
short wWidth;
NSCommon::smart_ptr<BorderCode> brcTop;
NSCommon::smart_ptr<BorderCode> brcLeft;
NSCommon::smart_ptr<BorderCode> brcBottom;
NSCommon::smart_ptr<BorderCode> brcRight;
} ;
class SprmTDefTable
{
private:
friend class TableCellPropertiesMapping;
public:
SprmTDefTable (unsigned char* bytes, int size)
{
numberOfColumns = bytes[0];
int pointer = 1;
// rgdxaCenter
for (int i = 0; i < numberOfColumns + 1; ++i)
{
int pos = FormatUtils::BytesToInt16(bytes, pointer, size);
rgdxaCenter.push_back(pos);
pointer += 2;
}
// rgTc80
for (int i = 0; i < numberOfColumns; ++i)
{
if (size <= pointer)
{
for (int j = i; j < numberOfColumns; ++j)
{
TC80 oTC80;
oTC80.ftsWidth = Global::dxa;
oTC80.wWidth = 0;
oTC80.brcTop = new BorderCode();
oTC80.brcLeft = new BorderCode();
oTC80.brcBottom = new BorderCode();
oTC80.brcRight = new BorderCode();
rgTc80.push_back(oTC80);
}
break;
}
TC80 tc;
// the flags
unsigned short flags = FormatUtils::BytesToUInt16(bytes, pointer, size);
tc.horzMerge = (unsigned char)FormatUtils::BitmaskToInt((int)flags, 0x3);
tc.textFlow = (Global::TextFlow)FormatUtils::BitmaskToInt((int)flags, 0x1C);
tc.vertMerge = (Global::VerticalMergeFlag)FormatUtils::BitmaskToInt((int)flags, 0x60);
tc.vertAlign = (Global::VerticalAlign)FormatUtils::BitmaskToInt((int)flags, 0x180);
tc.ftsWidth = (Global::CellWidthType)FormatUtils::BitmaskToInt((int)flags, 0xE00);
tc.fFitText = FormatUtils::BitmaskToBool(flags, 0x1000);
tc.fNoWrap = FormatUtils::BitmaskToBool(flags, 0x2000);
tc.fHideMark = FormatUtils::BitmaskToBool(flags, 0x4000);
pointer += 2;
// cell width
tc.wWidth = FormatUtils::BytesToInt16(bytes, pointer, size);
pointer += 2;
const int borderCodeBytes = 4;
tc.brcTop = new BorderCode((bytes + pointer), borderCodeBytes);
pointer += borderCodeBytes;
tc.brcLeft = new BorderCode((bytes + pointer), borderCodeBytes);
pointer += borderCodeBytes;
tc.brcBottom = new BorderCode((bytes + pointer), borderCodeBytes);
pointer += borderCodeBytes;
tc.brcRight = new BorderCode((bytes + pointer), borderCodeBytes);
pointer += borderCodeBytes;
rgTc80.push_back(tc);
}
}
unsigned char numberOfColumns;
/// An array of 16-bit signed integer that specifies horizontal distance in twips.
/// MUST be greater than or equal to -31680 and less than or equal to 31680.
std::vector<short> rgdxaCenter;
/// An array of TC80 that specifies the default formatting for a cell in the table.
/// Each TC80 in the array corresponds to the equivalent column in the table.
/// If there are fewer TC80s than columns, the remaining columns are formatted with the default TC80 formatting.
/// If there are more TC80s than columns, the excess TC80s MUST be ignored.
std::vector<TC80> rgTc80;
};
}

View File

@ -1,219 +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 "VirtualStreamReader.h"
#include "WideString.h"
#include "IVisitable.h"
#include "../Common/FormatUtils.h"
namespace DocFileFormat
{
template<class T> class StringTable: public IVisitable
{
friend class WordDocument;
friend class CharacterPropertiesMapping;
friend class FontTableMapping;
friend class StyleSheetMapping;
friend class DocumentMapping;
friend class NumberingMapping;
private:
bool fExtend;
int cbData;
unsigned short cbExtra;
std::vector<ByteStructure*> Data;
std::vector<unsigned char*> DataExtra;
int code_page;
public:
virtual ~StringTable()
{
for ( size_t i = 0; i < this->Data.size(); ++i )
{
RELEASEOBJECT( this->Data[i] );
if (false == this->DataExtra.empty())
{
if (this->DataExtra[i])
{
delete []this->DataExtra[i];
this->DataExtra[i] = NULL;
}
}
}
}
StringTable( VirtualStreamReader *reader, int code_page_ ):
code_page(code_page_), fExtend(false), cbData(0), cbExtra(0)
{
parse( reader, (unsigned int)reader->GetPosition(), 0, false );
}
StringTable( POLE::Stream* tableStream, unsigned int fc, unsigned int lcb, int nWordVersion, bool bReadExta = false) :
code_page(1250), fExtend(false), cbData(0), cbExtra(0)
{
if ( lcb > 0 )
{
VirtualStreamReader reader( tableStream, fc, nWordVersion);
parse( &reader, fc, lcb, bReadExta ) ;
}
}
std::vector<unsigned char*> & getDataExtra() {return DataExtra;}
unsigned short getDataExtraSize() {return cbExtra;}
ByteStructure* operator [] ( size_t index ) const
{
if ( index < this->Data.size() )
{
return this->Data.at( index );
}
else
{
return NULL;
}
}
private:
void parse( VirtualStreamReader *reader, unsigned int fc, unsigned int lcb = 0, bool bReadExta = false )
{
if ( reader == NULL ) return;
if (fc > reader->GetSize()) return;
this->cbData = lcb;
int count_elements = 0;
//read fExtend
if ( reader->ReadUInt16() == 0xFFFF )
{
//if the first 2 bytes are 0xFFFF the STTB contains unicode characters
this->fExtend = true;
code_page = ENCODING_UTF16;
}
else
{
//else the STTB contains 1byte characters and the fExtend field is non-existend
//seek back to the beginning
this->fExtend = false;
code_page = ENCODING_WINDOWS_1250;
reader->Seek( (int)fc, 0/*STREAM_SEEK_SET*/ );
}
//read cData
long cDataStart = reader->GetPosition();
unsigned short cb = 0, elem_sz = 0;
//if (reader->nWordVersion == 2)
//{
// unsigned char * bytes = reader->ReadBytes(lcb, true);
// reader->Seek( (int)fc, 0/*STREAM_SEEK_SET*/ );
// delete []bytes;
//}
if (reader->nWordVersion > 0)
{
cb = reader->ReadUInt16();
this->cbData = cb; // all size
}
else if (reader->nWordVersion == 0)
{
cb = reader->ReadUInt16();
if ( cb != 0xFFFF )
{
count_elements = cb;
}
else
{
//cData is a 4byte signed Integer, so we need to seek back
reader->Seek( (int)( fc + cDataStart ), 0/*STREAM_SEEK_SET*/ );
this->cbData = reader->ReadInt32();
}
}
//read cbExtra
if (reader->nWordVersion == 0)
{
this->cbExtra = reader->ReadUInt16();
}
if (lcb > 0 && (lcb/* - fc*/) != this->cbData + this->cbExtra)
{
//????
}
while(true) //read the strings and extra datas
{
if (reader->GetPosition() >= fc + this->cbData + this->cbExtra && count_elements < 1)
break; //1995 and older
if (this->Data.size() == count_elements && count_elements > 0)
break; //1997 and newer
int cchData = 0;
int cbData = 0;
if ( this->fExtend )
{
cchData = (int)reader->ReadUInt16();
cbData = cchData * 2;
}
else
{
cchData = (int)reader->ReadByte();
cbData = cchData;
}
long posBeforeType = reader->GetPosition();
this->Data.push_back( T().ConstructObject( reader, cbData ) );
reader->Seek( (int)( posBeforeType + cbData ), 0/*STREAM_SEEK_SET */);
if (bReadExta)
{
unsigned char* pData = reader->ReadBytes( cbExtra, true );
DataExtra.push_back(pData);
}
else
{
reader->ReadBytes( cbExtra, false );
}
}
}
};
}

View File

@ -1,162 +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/3dParty/pole/pole.h"
namespace DocFileFormat
{
class StructuredStorageReader
{
public:
StructuredStorageReader () : m_pStorage(NULL)
{
}
~StructuredStorageReader()
{
if(m_pStorage)
{
delete m_pStorage;
m_pStorage = NULL;
}
}
bool SetFile (const wchar_t* filename)
{
m_pStorage = new POLE::Storage(filename);
if (m_pStorage)//return true;
{
return m_pStorage->open();
}
return false;
}
bool isDirectory( const std::wstring& name )
{
if (!m_pStorage) return false;
return m_pStorage->isDirectory(name);
}
bool GetStream (const std::wstring & path, POLE::Stream** ppStream)
{
if (( m_pStorage != NULL ) && ( !path.empty() ))
{
*ppStream = new POLE::Stream(m_pStorage, path.c_str());
}
if ((*ppStream) && ((*ppStream)->size() > 0))
return true;
return false;
}
inline POLE::Storage* GetStorage()
{
return m_pStorage;
}
void copy( int indent, std::wstring path, POLE::Storage * storageOut, bool withRoot = true)
{
std::list<std::wstring> entries, entries_sort;
entries = m_pStorage->entries_with_prefix( path );
for( std::list<std::wstring>::iterator it = entries.begin(); it != entries.end(); ++it )
{
std::wstring name = *it;
std::wstring fullname = path + name;
if( m_pStorage->isDirectory( fullname ) )
{
entries_sort.push_back(name);
}
else
{
entries_sort.push_front(name);
}
}
//for( std::list<std::string>::iterator it = entries.begin(); it != entries.end(); ++it )
for( std::list<std::wstring>::iterator it = entries_sort.begin(); it != entries_sort.end(); ++it )
{
std::wstring name = *it;
std::wstring fullname = path + name;
if( m_pStorage->isDirectory( fullname ) )
{
copy( indent + 1, fullname + L"/", storageOut, withRoot );
}
else
{
copy_stream(fullname, storageOut, withRoot);
}
}
}
private:
void copy_stream(std::wstring streamName, POLE::Storage * storageOut, bool withRoot = true)
{
POLE::Stream *stream = new POLE::Stream(m_pStorage, streamName);
if (!stream) return;
stream->seek(0);
POLE::int64 size_stream = stream->size();
if (withRoot == false)
{
int pos = (int)streamName.find(L"/");
if (pos >= 0)
streamName = streamName.substr(pos + 1);
}
POLE::Stream *streamNew = new POLE::Stream(storageOut, streamName, true, size_stream);
if (!streamNew) return;
unsigned char* data_stream = new unsigned char[(unsigned int)size_stream];
if (data_stream)
{
stream->read(data_stream, size_stream);
streamNew->write(data_stream, size_stream);
delete []data_stream;
data_stream = NULL;
}
streamNew->flush();
delete streamNew;
delete stream;
}
POLE::Storage* m_pStorage;
};
}

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
#include "ParagraphPropertyExceptions.h"
namespace DocFileFormat
{
class TableInfo
{
public:
bool fInTable;
bool fTtp;
bool fInnerTtp;
bool fInnerTableCell;
unsigned int iTap;
TableInfo( ParagraphPropertyExceptions* papx, int nWordVersion):
fInTable(false), fTtp(false), fInnerTtp(false), fInnerTableCell(false), iTap(0)
{
if ( papx != NULL )
{
for ( std::list<SinglePropertyModifier>::iterator iter = papx->grpprl->begin(); iter != papx->grpprl->end(); iter++ )
{
switch(iter->OpCode)
{
case sprmOldPFInTable:
case sprmPFInTable:
{
fInTable = ( iter->Arguments[0] == 1 ) ? (true) : (false);
if (iTap < 1 && fInTable) iTap = 1;
}break;
//case sprmOldPFTtp:
case sprmOldPTtp:
case sprmPFTtp:
{
fTtp = ( iter->Arguments[0] == 1 ) ? (true) : (false);
}break;
//case sprmOldPFInnerTableCell:
case sprmPFInnerTableCell:
{
fInnerTableCell = ( iter->Arguments[0] == 1 ) ? (true) : (false);
}break;
//case sprmOldPFInnerTtp:
case sprmPFInnerTtp:
{
fInnerTtp = ( iter->Arguments[0] == 1 ) ? (true) : (false);
}break;
//case sprmOldPItap:
case sprmPItap:
{
iTap = FormatUtils::BytesToUInt32( iter->Arguments, 0, iter->argumentsSize );
if ( iTap > 0 )
{
fInTable = true;
}
}break;
}
if ( (int)( iter->OpCode ) == sprmTCnf )//66a
{
iTap = FormatUtils::BytesToUInt32( iter->Arguments, 0, iter->argumentsSize );
if ( iTap > 0 )
{
fInTable = true;
}
}
}
}
}
};
}

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 "PropertyExceptions.h"
#include "ParagraphPropertyExceptions.h"
#include "VirtualStreamReader.h"
namespace DocFileFormat
{
class TablePropertyExceptions: public PropertyExceptions
{
public:
/// Parses the bytes to retrieve a TAPX
TablePropertyExceptions(unsigned char* bytes, int size, int nWordVersion) :
PropertyExceptions(bytes, size, nWordVersion), m_bSkipShading97 (FALSE)
{
//not yet implemented
}
virtual ~TablePropertyExceptions()
{
}
/// Extracts the TAPX SPRMs out of a PAPX
TablePropertyExceptions (ParagraphPropertyExceptions* papx, POLE::Stream* dataStream, int nWordVersion) :
PropertyExceptions()
{
VirtualStreamReader oBinReader(dataStream, 0, nWordVersion);
m_bSkipShading97 = FALSE;
for (std::list<SinglePropertyModifier>::iterator oSpmIter = papx->grpprl->begin(); oSpmIter != papx->grpprl->end(); ++oSpmIter)
{
if (oSpmIter->OpCode == sprmTDefTableShd ||
oSpmIter->OpCode == sprmTDefTableShd2nd ||
oSpmIter->OpCode == sprmTDefTableShd3rd)
{
m_bSkipShading97 = TRUE;
}
if (oSpmIter->Type == TAP)
{
grpprl->push_back(*oSpmIter);
}
else if (oSpmIter->OpCode == sprmPTableProps)
{
//there is a native TAP in the data stream
unsigned int fc = FormatUtils::BytesToUInt32(oSpmIter->Arguments, 0, oSpmIter->argumentsSize);
//get the size of the following grpprl
oBinReader.Seek(fc, 0/* STREAM_SEEK_SET*/);
unsigned char* sizebytes = oBinReader.ReadBytes(2, true);
unsigned short grpprlSize = FormatUtils::BytesToUInt16(sizebytes, 0, 2);
//read the grpprl
unsigned char* grpprlBytes = oBinReader.ReadBytes(grpprlSize, true);
//parse the grpprl
PropertyExceptions externalPx(grpprlBytes, grpprlSize, nWordVersion);
for (std::list<SinglePropertyModifier>::iterator oIter = externalPx.grpprl->begin(); oIter != externalPx.grpprl->end(); ++oIter)
{
if (oIter->Type == TAP)
{
grpprl->push_back(*oIter);
}
}
RELEASEARRAYOBJECTS(grpprlBytes);
RELEASEARRAYOBJECTS(sizebytes);
}
}
}
inline bool IsSkipShading97 ()
{
return m_bSkipShading97;
}
private:
bool m_bSkipShading97; // пропускать правило от Word97
};
}

View File

@ -1,151 +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"
namespace DocFileFormat
{
// BreaK Descriptor (BKD)
class Tbkd : public ByteStructure
{
public:
friend class TextboxMapping;
static const int STRUCTURE_SIZE = 6;
Tbkd() : ipgd(0), itxbxs(0), dcpDepend(0), icol(0), fTableBreak(false), fColumnBreak(false), fMarked(false), fUnk(false), fTextOverflow(false)
{
}
virtual ~Tbkd()
{
}
virtual ByteStructure* ConstructObject (VirtualStreamReader* reader, int length)
{
Tbkd* pTbkd = new Tbkd();
pTbkd->ipgd = reader->ReadInt16();
pTbkd->itxbxs = pTbkd->ipgd;
pTbkd->dcpDepend = reader->ReadInt16();
int flag = (int)reader->ReadInt16();
pTbkd->icol = (unsigned short)FormatUtils::BitmaskToInt(flag, 0x00FF);
pTbkd->fTableBreak = FormatUtils::BitmaskToBool(flag, 0x0100);
pTbkd->fColumnBreak = FormatUtils::BitmaskToBool(flag, 0x0200);
pTbkd->fMarked = FormatUtils::BitmaskToBool(flag, 0x0400);
pTbkd->fUnk = FormatUtils::BitmaskToBool(flag, 0x0800);
pTbkd->fTextOverflow = FormatUtils::BitmaskToBool(flag, 0x1000);
return static_cast<ByteStructure*>(pTbkd);
}
private:
bool bUsed = false;
/// Except in textbox BKD, index to PGD in plfpgd that describes the page this break is on
short ipgd;
/// In textbox BKD
short itxbxs;
/// Number of cp's considered for this break; note that the CP's described by cpDepend in this break reside in the next BKD
short dcpDepend;
unsigned short icol;
/// When true, this indicates that this is a table break.
bool fTableBreak;
/// When true, this indicates that this is a column break.
bool fColumnBreak;
/// Used temporarily while Word is running.
bool fMarked;
/// In textbox BKD, when true indicates cpLim of this textbox is not valid
bool fUnk;
/// In textbox BKD, when true indicates that text overflows the end of this textbox
bool fTextOverflow;
};
class FTXBXS : public ByteStructure
{
friend class TextboxMapping;
public:
static const int STRUCTURE_SIZE = 22;
struct FTXBXSReusable
{
int iNextReuse;
int cReusable;
};
struct FTXBXNonReusable
{
int cTxbx;
int cTxbxEdit; // This value MUST be zero and MUST be ignored.
};
FTXBXS ()
{
}
virtual ~FTXBXS()
{
}
virtual ByteStructure* ConstructObject (VirtualStreamReader* reader, int length)
{
FTXBXS* pFTXBXS = new FTXBXS();
if (!pFTXBXS) return NULL;
pFTXBXS->reusable01 = reader->ReadInt32();
pFTXBXS->reusable02 = reader->ReadInt32();
pFTXBXS->fReusable = reader->ReadInt16();
pFTXBXS->itxbxsDest = reader->ReadInt32();
pFTXBXS->lid = reader->ReadInt32();
pFTXBXS->txidUndo = reader->ReadInt32();
return static_cast<ByteStructure*>(pFTXBXS);
}
private:
int reusable01;
int reusable02;
short fReusable; // ставим в 0 потому что один TbRef привязан к одному элементу
int itxbxsDest; // This field MUST be ignored.
int lid;
int txidUndo; // This value MUST be zero and MUST be ignored.
};
}

View File

@ -1,294 +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 "IBinaryReader.h"
#include "../Common/FormatUtils.h"
#include "../../Common/3dParty/pole/pole.h"
#include "../../Common/DocxFormat/Source/Base/Types_32.h"
class VirtualStreamReader : public IBinaryReader
{
public:
VirtualStreamReader (POLE::Stream* _stream, ULONG _position , int _nWordVersion) :
nWordVersion(_nWordVersion), stream(_stream), position(_position)
{
if ( stream == NULL )return;
stream->seek(position);
}
virtual ~VirtualStreamReader()
{
}
virtual unsigned short ReadUInt16()
{
unsigned short rdUShort = 0;
if (( stream != NULL ) && (position + 2 < stream->size()))
{
stream->seek( position );
stream->read((unsigned char*)(&rdUShort), sizeof( rdUShort ));
}
position += sizeof( rdUShort );
return rdUShort;
}
virtual short ReadInt16()
{
short rdShort = 0;
if (( stream != NULL ) && (position + 2 < stream->size()))
{
stream->seek( position );
stream->read((unsigned char*)(&rdShort), sizeof( rdShort ));
}
position += sizeof( rdShort );
return rdShort;
}
virtual int ReadInt32()
{
_INT32 rdInt = 0;
if (( stream != NULL ) && (position + 4 < stream->size()))
{
stream->seek( position );
stream->read( (unsigned char*) &rdInt, sizeof( rdInt ) );
}
position += sizeof( rdInt );
return rdInt;
}
virtual unsigned int ReadUInt32()
{
_UINT32 rdUInt = 0;
if (( stream != NULL ) && (position + 4 < stream->size()))
{
stream->seek( position );
stream->read((unsigned char*) &rdUInt, sizeof( rdUInt ) );
}
position += sizeof( rdUInt );
return rdUInt;
}
virtual unsigned char ReadByte()
{
unsigned char rdByte = 0;
if (( stream != NULL ) && (position + 1 < stream->size()))
{
stream->seek( position);
stream->read( (unsigned char*)&rdByte, sizeof( rdByte ) );
}
position += sizeof( rdByte );
return rdByte;
}
virtual unsigned char* ReadBytes( unsigned int count, bool isResultNeeded )
{
unsigned char *rdBytes = NULL;
if ( count > 0 && isResultNeeded)
{
if (position + count > stream->size())
{
if (position > stream->size()) count = 0;
else count = (unsigned int)(stream->size() - position);
}
rdBytes = new unsigned char[count];
}
if ( stream != NULL && rdBytes != NULL )
{
stream->seek( position );
count = (unsigned int)stream->read( rdBytes, count );
}
position += count;
return rdBytes;
}
virtual unsigned long GetPosition() const
{
return (unsigned long)this->position;
}
virtual unsigned long GetSize() const
{
unsigned long size = 0;
if ( stream != NULL )
{
size = (unsigned long)stream->size();
}
return size;
}
virtual int Seek( int offset, int origin )
{
if ( stream != NULL )
{
if (origin > 1)
{
}
stream->seek( offset );
position = offset;
return offset;
}
else
{
return 0;
}
}
std::wstring ReadXst()
{
if (!stream) return L"";
std::wstring wstrResult;
unsigned char* xstz = NULL;
unsigned char* cch = NULL;
if (nWordVersion > 0)
{
int cchSize = 1;
cch = ReadBytes( cchSize, true );
int xstzSize = DocFileFormat::FormatUtils::BytesToUChar( cch, 0, cchSize ) * 1;
xstz = ReadBytes(xstzSize, true);
DocFileFormat::FormatUtils::GetSTLCollectionFromBytes<std::wstring>( &wstrResult, xstz, xstzSize, ENCODING_WINDOWS_1250 );
}
else
{
int cchSize = 2;
cch = ReadBytes( cchSize, true );
int xstzSize = DocFileFormat::FormatUtils::BytesToInt16( cch, 0, cchSize ) * 2;
xstz = ReadBytes(xstzSize, true);
DocFileFormat::FormatUtils::GetSTLCollectionFromBytes<std::wstring>( &wstrResult, xstz, xstzSize, ENCODING_UTF16 );
}
RELEASEARRAYOBJECTS(xstz);
RELEASEARRAYOBJECTS(cch);
return wstrResult;
}
/// Read a length prefixed Unicode string from the given stream.
/// The string must have the following structure:
/// unsigned char 1 - 4: Character count (cch)
/// unsigned char 5 - (cch*2)+4: Unicode characters terminated by \0
std::wstring ReadLengthPrefixedUnicodeString()
{
std::wstring result;
int cch = ReadInt32();
if ( cch > 0 )
{
//dont read the terminating zero
unsigned char* stringBytes = ReadBytes( ( cch * 2 ), true );
DocFileFormat::FormatUtils::GetSTLCollectionFromBytes<std::wstring>( &result, stringBytes, ( ( cch * 2 ) - 2 ), ENCODING_UTF16 );
RELEASEARRAYOBJECTS( stringBytes );
}
return result;
}
/// Read a length prefixed ANSI string from the given stream.
/// The string must have the following structure:
/// unsigned char 1-4: Character count (cch)
/// unsigned char 5-cch+4: ANSI characters terminated by \0
std::wstring ReadLengthPrefixedAnsiString(unsigned int max_size)
{
std::wstring result;
unsigned int cch = ReadUInt32();
unsigned char* stringBytes = NULL;
if (cch > max_size)
{
//error ... skip to 0
unsigned int pos_orinal = GetPosition();
unsigned int pos = 0;
stringBytes = ReadBytes( max_size, true );
if (stringBytes)
{
while(pos < max_size)
{
if (stringBytes[pos] == 0)
break;
pos++;
}
}
Seek(pos_orinal + pos - 1, 0);
}else
if ( cch > 0 )
{
//dont read the terminating zero
stringBytes = ReadBytes( cch, true );
DocFileFormat::FormatUtils::GetSTLCollectionFromBytes<std::wstring>( &result, stringBytes, ( cch - 1 ), ENCODING_WINDOWS_1250);
}
RELEASEARRAYOBJECTS( stringBytes );
return result;
}
int nWordVersion;
private:
POLE::uint64 position;
POLE::Stream* stream;
};

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 "VirtualStreamReader.h"
#include "ByteStructure.h"
namespace DocFileFormat
{
class WideString: public std::wstring, public ByteStructure
{
public:
WideString( VirtualStreamReader reader, int length ): std::wstring()
{
}
WideString(): std::wstring()
{
}
virtual ~WideString()
{
}
virtual ByteStructure* ConstructObject( VirtualStreamReader* reader, int length )
{
WideString* newObject = new WideString();
unsigned char *bytes = NULL;
bytes = reader->ReadBytes( length, true );
//It's a real string table
if (reader->nWordVersion > 0)
{
FormatUtils::GetSTLCollectionFromBytes<WideString>( newObject, bytes, length, ENCODING_WINDOWS_1250 );
}
else
{
FormatUtils::GetSTLCollectionFromBytes<WideString>( newObject, bytes, length, ENCODING_UTF16 );
}
RELEASEARRAYOBJECTS( bytes );
return static_cast<ByteStructure*>( newObject );
}
};
}

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);
}
};
}

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