mirror of
https://github.com/ONLYOFFICE/core.git
synced 2026-03-07 04:02:36 +08:00
Compare commits
870 Commits
v7.2.2.32
...
feature/co
| Author | SHA1 | Date | |
|---|---|---|---|
| 47e5501de7 | |||
| e83e025748 | |||
| 66ac071c58 | |||
| cd8ce24a70 | |||
| a7c70687c9 | |||
| 5d0f0875be | |||
| 365d8bf95a | |||
| 313af0b405 | |||
| 4aa56f8aa0 | |||
| ffe2806bc8 | |||
| 7dcbd57aa7 | |||
| cdb72bab80 | |||
| b15aff55d1 | |||
| d3423f93eb | |||
| 0f9cc64520 | |||
| 2309f915b4 | |||
| 60bae43495 | |||
| 77297aedc8 | |||
| ecd2a5eba1 | |||
| 698def3934 | |||
| 00e9550927 | |||
| 8e36d60e4b | |||
| daa392556a | |||
| eea5608399 | |||
| a03b876269 | |||
| eecf268ac9 | |||
| 7e767f0f3f | |||
| cf37e1edef | |||
| eedcaa9768 | |||
| c615afa80e | |||
| 93435fce9f | |||
| c6d767d8d9 | |||
| 8a9861a583 | |||
| e71e4068e4 | |||
| 29804158f9 | |||
| 9683d6e78c | |||
| 4cfe02a387 | |||
| f79ad969a4 | |||
| 916635782d | |||
| 96ff2246fa | |||
| 1b10918258 | |||
| 11099d2575 | |||
| 52071831de | |||
| a133ce4714 | |||
| 608b04ca26 | |||
| 2b6ad83b36 | |||
| 0b9dc3c296 | |||
| 47e0ccbe29 | |||
| 5d720e75f5 | |||
| ad03ae0390 | |||
| 90d709972d | |||
| f77d3440f6 | |||
| 1b84274673 | |||
| f601d95d27 | |||
| c16d63c011 | |||
| 4e0e0265d0 | |||
| bbf661e74e | |||
| e5253bbf35 | |||
| c2591eea02 | |||
| cf0e9febe5 | |||
| a3696b07df | |||
| 32e1be7493 | |||
| 46a37c9199 | |||
| aea4996a45 | |||
| 28257fca25 | |||
| f846881e88 | |||
| 961e955ee4 | |||
| ac7569bc51 | |||
| 1cd49c52d2 | |||
| 8338ff75c8 | |||
| a215476303 | |||
| 7e765011b8 | |||
| c2e4fcfebd | |||
| e649ecb7a0 | |||
| fc45ed4aaf | |||
| 5c6956b5d5 | |||
| 8a728e2ec9 | |||
| 9a515fc99e | |||
| 71ab0560f2 | |||
| 255c8cd547 | |||
| e36b2bcd93 | |||
| 79aede17c6 | |||
| 23afcb430c | |||
| 5d4d2d817c | |||
| 8a2234d2b5 | |||
| 3526b286c3 | |||
| d0b9a8e052 | |||
| 497ec9b2f1 | |||
| 7a4353bc4a | |||
| 0b2fa174d5 | |||
| 9b0cd732e3 | |||
| 062e410efc | |||
| 1faa2c3f77 | |||
| 70c7635af6 | |||
| 7ae87cf15a | |||
| c73e91094f | |||
| 98df4659b5 | |||
| b2e2b06fc2 | |||
| a039a36b8f | |||
| d6c4b2b95c | |||
| eb34cb7e23 | |||
| bc26f0bda4 | |||
| 210d5ef30d | |||
| b174c2c601 | |||
| fa075d0224 | |||
| 4a6c0e340b | |||
| 65604849ac | |||
| 276de3c7b0 | |||
| 0ccd31865d | |||
| ab2f79bd19 | |||
| 33ac9e4f5e | |||
| 7f1e2370d2 | |||
| a2aec43d22 | |||
| aaae4d7728 | |||
| 2d1e08fbd1 | |||
| de4e27f5d7 | |||
| 60e79db7b0 | |||
| 00114714d1 | |||
| 62f98a8cc5 | |||
| c6d9a22d16 | |||
| fab1c09db3 | |||
| 1911f11e51 | |||
| dfec7cb0bb | |||
| 8f11112c43 | |||
| 5071a61692 | |||
| bd2736ab09 | |||
| 04196de46e | |||
| e4c334e84c | |||
| 6214f187e0 | |||
| 55857b803a | |||
| d1c68f38d7 | |||
| ab80f5e399 | |||
| 457e4dadce | |||
| f556fcf3fc | |||
| fd88dbd7df | |||
| 97f440ebab | |||
| 3dcc8e916d | |||
| a1a7b903b6 | |||
| a9a7c3fb22 | |||
| c76f50a2f8 | |||
| 55c2b426f4 | |||
| c5729090b3 | |||
| d3a98c0164 | |||
| 2bd9d2fdf3 | |||
| 7065c1a563 | |||
| 866a36448f | |||
| 02155b0b97 | |||
| 8e15985b83 | |||
| 96b5eae285 | |||
| 898844453d | |||
| e9e87d89c9 | |||
| 5f31790f7a | |||
| ff9884b73d | |||
| 27bf69fd98 | |||
| e71d04bd9d | |||
| 3b802bac97 | |||
| 2129ed7492 | |||
| 96a7298071 | |||
| da6c775fb8 | |||
| a445b973c2 | |||
| 8f5a7218b8 | |||
| c4ea1ee198 | |||
| 4d678fc7a7 | |||
| 738fea25e6 | |||
| 349bed9dbc | |||
| 032ec1dffd | |||
| b04bd26758 | |||
| d67a10268a | |||
| 0d1877efb7 | |||
| d43ff48bc6 | |||
| e02c6e81be | |||
| d23d795160 | |||
| 2b5ffd05a2 | |||
| e297f32b31 | |||
| 0f64eadedb | |||
| 13d1d3d3e9 | |||
| 1204a9a501 | |||
| 8e7e317e4b | |||
| 05ffb10eaa | |||
| b1474a84c4 | |||
| 454ef30d56 | |||
| 0570672f95 | |||
| cf8b06f9c2 | |||
| ba77b4632c | |||
| 40c65b46be | |||
| a4ec604b1b | |||
| 9ae3d1623c | |||
| 551d356b79 | |||
| 931e81a8a0 | |||
| 64a1fd5e7b | |||
| 25b61c9838 | |||
| d1dde6f1a0 | |||
| 57427336fa | |||
| c2ef4a871c | |||
| cd1e176b1d | |||
| de1339af79 | |||
| 2171b5530b | |||
| 1a6a9b5cb5 | |||
| 3001b0b6d2 | |||
| 2011bf6464 | |||
| f70be27826 | |||
| 27b407ba48 | |||
| ee22dd9b26 | |||
| 3941d51d1e | |||
| be7a75c7c9 | |||
| a8e5a98d5f | |||
| cac8df19c1 | |||
| fe04849ca4 | |||
| 419437b1fa | |||
| 6e78bc880d | |||
| 29ec077815 | |||
| 8a054f5cdf | |||
| 4310394fc7 | |||
| bc7aa9d328 | |||
| 1cd73fd770 | |||
| 11ddc810d7 | |||
| 69ff1ca505 | |||
| 848a1762f9 | |||
| 492d86393e | |||
| a70e9c63bc | |||
| a90cdc2cdb | |||
| 37d77e458b | |||
| 2b1db43259 | |||
| 5f80804661 | |||
| fba86b7071 | |||
| 539d067dc4 | |||
| 54b8c99431 | |||
| 69e0524960 | |||
| 36810c9127 | |||
| e4fa81b16b | |||
| 3c2f982bb2 | |||
| c6930b4ffd | |||
| abec59d9bf | |||
| 86edbdf9a5 | |||
| b7fc8748d2 | |||
| e9a116c1c8 | |||
| cd3b39581d | |||
| 24e04314d8 | |||
| 0368fa0f36 | |||
| eb169b49ed | |||
| eaf3b7fd9f | |||
| cba1724045 | |||
| 77529ecc7e | |||
| 902f7a33d1 | |||
| 48ae9df1cf | |||
| 06668af052 | |||
| a6e7d21f80 | |||
| 84d1d8a68d | |||
| 5890849e42 | |||
| 086c0e71cc | |||
| 3404bea247 | |||
| a5756e42ce | |||
| fb2e149f95 | |||
| 2c0c356371 | |||
| a7c9bf8f1d | |||
| 7b1715cfcf | |||
| 22b709b4d7 | |||
| f0ffe097da | |||
| 27c918d810 | |||
| de8746898a | |||
| 7f2e1ed97d | |||
| 4cd3b71c07 | |||
| 791c786bf7 | |||
| 41a358764f | |||
| 3d077122c6 | |||
| f3a393080c | |||
| 71553d5aa4 | |||
| e97569a4bb | |||
| cd56cb6dc8 | |||
| 162e96cebd | |||
| 6d29cda8ea | |||
| f215c343b4 | |||
| f3b8e8158a | |||
| 9d31985ae0 | |||
| 28c99c4d4f | |||
| b31ceac8c9 | |||
| e9a17f9593 | |||
| 35b301b382 | |||
| fdb49b7b69 | |||
| 7f47ac262c | |||
| 4325e5f9d3 | |||
| 0e604235fb | |||
| 4551f1eadc | |||
| eb5180471e | |||
| 796190157a | |||
| 297f963990 | |||
| fdf39011dd | |||
| 044c8b59c2 | |||
| f69aab7562 | |||
| d79a6977dc | |||
| aa20538015 | |||
| 36b6e4b5ff | |||
| 4eae0651d6 | |||
| 2fd4e80650 | |||
| 99fee71d3a | |||
| 291dbbe0bb | |||
| 8a49166605 | |||
| 8d649c370b | |||
| baf917818c | |||
| 585d2e5a4a | |||
| 6ca66fa683 | |||
| ddc20afc2c | |||
| cd7f4e5c1f | |||
| d5dbf1b8eb | |||
| 676cdaf04a | |||
| 3cd9e6d397 | |||
| ab6424731c | |||
| 3870d16cbc | |||
| e802ed01e1 | |||
| 74bac4cec6 | |||
| 85a5dcd7ee | |||
| aeaa86c88f | |||
| 0da7b35757 | |||
| 690a75022c | |||
| 5d57702985 | |||
| 2d0baac6fe | |||
| b1c9245223 | |||
| 3685bb311c | |||
| 4673d68387 | |||
| 98175e438f | |||
| 8d01de861f | |||
| 5aa6386249 | |||
| 2341689208 | |||
| 6823e0e241 | |||
| 31b5771a19 | |||
| c1b84ee96f | |||
| 237d20eed2 | |||
| dd988ad3cf | |||
| c609c616f0 | |||
| 93cb4b1be3 | |||
| 4b1190f54b | |||
| 664c14b894 | |||
| dbb4b67491 | |||
| 1c10b51ec2 | |||
| a280d5822c | |||
| bf6747d362 | |||
| b96ab6bd1f | |||
| 1d61dba795 | |||
| cc522274b6 | |||
| 7bf7e80100 | |||
| 528e3e3e15 | |||
| d69ff8e495 | |||
| 59153b1a38 | |||
| f1499aeae4 | |||
| 657d04adb2 | |||
| c46f81630d | |||
| 55d5573e17 | |||
| 2aed22cd6b | |||
| 8796dacf93 | |||
| 24fc302a32 | |||
| 5dbfc32c3e | |||
| 90283fab8a | |||
| d809afc62a | |||
| 5a7ed95b7e | |||
| eb73c4592b | |||
| aa55140bd7 | |||
| b4f7005f7b | |||
| c085828e02 | |||
| 147fd5de04 | |||
| e38498ecba | |||
| fbea298e13 | |||
| e0eecd44cb | |||
| a214c3a7cd | |||
| ce07772680 | |||
| f38ddc22f1 | |||
| b2e5f6a039 | |||
| 86dc8b5eb0 | |||
| 83060ec8a0 | |||
| fab394f33f | |||
| 6506542e35 | |||
| d5fa2f3070 | |||
| 73116f6375 | |||
| e2d2aba8e5 | |||
| b4820e0e05 | |||
| 46ab617a67 | |||
| 3541a01301 | |||
| bddf255598 | |||
| 9b58a31759 | |||
| 6d27258090 | |||
| 0507f52a84 | |||
| 2203b9a98e | |||
| 96380b314e | |||
| 8502c3cea3 | |||
| c1673b148c | |||
| 04c84c7a9a | |||
| 53dfc2f2d1 | |||
| 2e77b8ef2f | |||
| 62d6f365cb | |||
| eb67c01e34 | |||
| 0a72a6d1c8 | |||
| d7d64cbead | |||
| 519e950218 | |||
| fb3152fe65 | |||
| 4130df7b6c | |||
| d529009e26 | |||
| 5362ad02db | |||
| 98e3fc20d5 | |||
| 15f10641aa | |||
| 572dfd97ce | |||
| d6022efefb | |||
| de0146e007 | |||
| 837b4d5d9b | |||
| 472677cc61 | |||
| 641b77da3b | |||
| 583eb8d41e | |||
| ce17a08b17 | |||
| 6cf6013fd6 | |||
| e5812bb7c7 | |||
| 239fb5115a | |||
| 7f22fa5ce2 | |||
| 712014cfd8 | |||
| a2ac053f85 | |||
| 446b8da69a | |||
| 27fbc6fa06 | |||
| cc160a50c8 | |||
| ce3aa935d4 | |||
| 8828e9c678 | |||
| 10365d431a | |||
| def2fb7f85 | |||
| b77268485d | |||
| 21046acdd7 | |||
| 4a86601909 | |||
| 246e62242c | |||
| 9bddef6976 | |||
| 5f9526d4a0 | |||
| f382bc9bc8 | |||
| 9363fb6e68 | |||
| 566c44a74b | |||
| a327e4e1fe | |||
| 5e37534f4f | |||
| e1acff706f | |||
| a87e1d3467 | |||
| 7dc713d4fb | |||
| 958badadf9 | |||
| 30f804bfd9 | |||
| 5399478419 | |||
| b0fe9d0c5b | |||
| adfdac39ef | |||
| 9edbe9fee2 | |||
| 502f612aa2 | |||
| eb5eb69be3 | |||
| ad3faa301d | |||
| dba6f3c705 | |||
| a44a287ca9 | |||
| 1b2a57a220 | |||
| 663d780b77 | |||
| 0f929b4a88 | |||
| 92aa553740 | |||
| f7e0d6e004 | |||
| 56fb02d113 | |||
| 8958e6e28b | |||
| 624ed0e449 | |||
| 46a71964d1 | |||
| 3f1cc2707d | |||
| 566b612613 | |||
| da33dda7dc | |||
| df7390ad2a | |||
| cc0baaafec | |||
| 810f7dc592 | |||
| 783aa4c7be | |||
| 16280f1957 | |||
| 6593ff5fac | |||
| 47679d47ba | |||
| 524f4cc285 | |||
| 4a74b4a934 | |||
| 0caa98998f | |||
| 01d99fec57 | |||
| 919ab72ece | |||
| d7d7596b10 | |||
| f03a7584dc | |||
| 782c8aad32 | |||
| 6cf47b33f4 | |||
| 1dd6e91180 | |||
| 92742e8b69 | |||
| d15762cb36 | |||
| 5fc0a26c59 | |||
| 12e2413944 | |||
| e51258029d | |||
| 78dcd9065c | |||
| 404139b8d0 | |||
| 86ac3febbb | |||
| f3da6a7f1b | |||
| 7edc38716f | |||
| 4608620da8 | |||
| 7307376d43 | |||
| 244dc8e33f | |||
| 00d9ed438b | |||
| 93f935237d | |||
| 5029172e12 | |||
| cb52f87188 | |||
| b3cbcbf7ad | |||
| 8ee5b43ce0 | |||
| d2dbd64a21 | |||
| 2fe7f309af | |||
| 1cd225e279 | |||
| 71226b6b37 | |||
| 6a1e2a8e05 | |||
| 27cc65a08a | |||
| 07f1c63459 | |||
| 0f50633f87 | |||
| 37daa3f56a | |||
| bae1da1f1e | |||
| 53a33cfb19 | |||
| 7e515862a5 | |||
| 194f2f6b26 | |||
| b2665a2e68 | |||
| 4fa833bac2 | |||
| 6275bc8fa2 | |||
| 34afdf71e3 | |||
| 968002fb2a | |||
| 6035597060 | |||
| 5e8e20fbed | |||
| 6430a9394f | |||
| 513301aeae | |||
| edd5d6aead | |||
| 4b0ca24396 | |||
| 14541b9ee4 | |||
| b3b0a158a7 | |||
| d36b6038a2 | |||
| 45e89465d1 | |||
| 4cef6d3f68 | |||
| 9ecee62d94 | |||
| 8f5baab348 | |||
| d090b6cd70 | |||
| b8b98795b4 | |||
| 3fb845fc97 | |||
| e0c0166faf | |||
| 64308d7cf0 | |||
| 06d0754982 | |||
| 9af65f4e39 | |||
| 8085865daa | |||
| 687836b781 | |||
| e7854cdf40 | |||
| 9a91a1695b | |||
| 6b8804ec27 | |||
| bbe72674e2 | |||
| 12c93209a3 | |||
| 101b79ea49 | |||
| abab3dc3d6 | |||
| 4f19fca2ed | |||
| c667dd6624 | |||
| b1831a0467 | |||
| ab849cc03d | |||
| a267039f5b | |||
| 75ac8dae17 | |||
| cc7644bc36 | |||
| f6cc44d386 | |||
| 6a61318513 | |||
| 0d5a478949 | |||
| aee82236cc | |||
| 559f274677 | |||
| 13c6b18c3f | |||
| ecd3aeed88 | |||
| d2f8669552 | |||
| 8ba3ab030d | |||
| 503f916d54 | |||
| 7aca8b1d7b | |||
| f28221336c | |||
| ed07e856e4 | |||
| 9b5c153e64 | |||
| c937c57160 | |||
| 1dab4b08d5 | |||
| 2db34852ea | |||
| de62b3b383 | |||
| a83cdd6e7f | |||
| 805f1d1214 | |||
| 3f1960eee3 | |||
| 1e7c85d310 | |||
| 6fd694af1f | |||
| 3c570883e0 | |||
| e8a134c14a | |||
| bb85447946 | |||
| 703893e3f3 | |||
| 94cbb259cf | |||
| 8b4aae06e6 | |||
| e025ec2b8e | |||
| 3b7454007a | |||
| 3f446a7e47 | |||
| 8b45546ebd | |||
| 1ce6307a56 | |||
| a989422bca | |||
| acce41ba3e | |||
| 88bab0600c | |||
| 14cb9c60c1 | |||
| e2aad28114 | |||
| f60727c480 | |||
| a757b69f03 | |||
| 31c852f4f0 | |||
| 4264dfdf67 | |||
| 49095378d7 | |||
| 057c217457 | |||
| 558c0ea251 | |||
| ffbc5d2baf | |||
| e756e269a4 | |||
| ddb082e106 | |||
| 08b93a69af | |||
| 12960e474e | |||
| ad0b19caf4 | |||
| aec81dd7dd | |||
| 875eca3fc0 | |||
| cb30e1362c | |||
| 70e07e3ce1 | |||
| 6ea4d86ab2 | |||
| da26208a1f | |||
| 75b406e010 | |||
| a3491ee217 | |||
| 133d86fff5 | |||
| 9d2bd72cfd | |||
| b7bd889049 | |||
| acb46e412d | |||
| 4be596506d | |||
| 420d8170dc | |||
| bdfcbe65bb | |||
| c3d5a5a886 | |||
| 52d7a1d14f | |||
| 4564f4302a | |||
| 9e29ea719e | |||
| d7ccf0b95e | |||
| 15c931783f | |||
| 0fd3ea574e | |||
| a7137cfc4d | |||
| 0c5d24171a | |||
| dffe7aa55e | |||
| 42d7ee8d8f | |||
| 53814fddbf | |||
| 3ecd57c8b4 | |||
| 69a40508b7 | |||
| 71d875e0b5 | |||
| af2f11bff2 | |||
| 80f2dce1b3 | |||
| 70225b2ca6 | |||
| f44d81f706 | |||
| d70d4d50f0 | |||
| 4a898653ae | |||
| e1168478cd | |||
| e27a20f9ae | |||
| d89679d394 | |||
| b0a891c7ba | |||
| 2764479c11 | |||
| 5be41c5892 | |||
| ad3a1dbd8f | |||
| 2da365690e | |||
| c2f6f2d1b5 | |||
| 21470d1711 | |||
| 58d3c2a914 | |||
| ed3cfd6c55 | |||
| de35674fdc | |||
| a36e31ab0f | |||
| 24c136c1e1 | |||
| 77132ec0a2 | |||
| b5bec4339f | |||
| 0daf5042d9 | |||
| 675b6a2acc | |||
| ed3a8f7916 | |||
| df48636232 | |||
| 445850393f | |||
| c9f2320e39 | |||
| c66424204d | |||
| b607481860 | |||
| fb6f0ac83d | |||
| 7da913775f | |||
| 941ec4b354 | |||
| bda5c3bbb9 | |||
| 32d0357e1f | |||
| 6f18cc2c60 | |||
| f936175708 | |||
| 96d5940126 | |||
| 6803651681 | |||
| 5ea8a3ba5e | |||
| a090c47c05 | |||
| f83cbee774 | |||
| 23d500eca4 | |||
| addabe9fca | |||
| a8d819694d | |||
| 5a3a5a37ab | |||
| f1fe7ea410 | |||
| d39df6d82d | |||
| f4326c0cd7 | |||
| be08660d01 | |||
| 33890472f3 | |||
| 0f9730814b | |||
| b28acbabe8 | |||
| fbb533200f | |||
| f5f2a38c7e | |||
| 71768d09a6 | |||
| bb0d3e72e9 | |||
| 780c66ef5b | |||
| 4e63672518 | |||
| d985f924a3 | |||
| 4a587e96d4 | |||
| aa490d4dd3 | |||
| 99a4f2f5df | |||
| 515cde9544 | |||
| 8959a61c33 | |||
| 8f368ad64c | |||
| 3e1f2135f5 | |||
| ce7eec890b | |||
| ab4eba01a3 | |||
| 968b8b6ec6 | |||
| 50db6f16cb | |||
| 8f161b09ee | |||
| 1d118aa59d | |||
| 60a5242758 | |||
| 3b7ea8504f | |||
| 15e001ee35 | |||
| a20e5fe003 | |||
| 2f20d4a3c7 | |||
| 0c91d6b648 | |||
| f4eb7ac3d0 | |||
| d3231b89ec | |||
| 12f6d9407c | |||
| 28ab074cbe | |||
| 13d4f7e8b7 | |||
| 200fba5615 | |||
| b85f72b992 | |||
| 1d25169cc6 | |||
| e36a0296c8 | |||
| 0960534d01 | |||
| 8887978540 | |||
| 1d60f40d03 | |||
| 613a3a8507 | |||
| 04fdec16ca | |||
| dd1bbb7c01 | |||
| 5acf726115 | |||
| f1e45a5ab9 | |||
| 9f77442c23 | |||
| 42db0d787e | |||
| ce87bb8461 | |||
| 117131b03d | |||
| 56521b789f | |||
| 6c4b0c9c86 | |||
| c785e7f3a7 | |||
| ae26d32681 | |||
| ed962804e3 | |||
| eb323157f2 | |||
| dd7573a745 | |||
| e15a1a92fe | |||
| 9cee4a6696 | |||
| 08073f5c08 | |||
| b49d7331ff | |||
| 58fc9d7bcb | |||
| 2f553229a9 | |||
| 6d3729a132 | |||
| 7132984ebf | |||
| bb8c58c84b | |||
| 81535011fb | |||
| a97e7ef52d | |||
| 96f6c8a510 | |||
| d06c4a5104 | |||
| 9d47eef3e9 | |||
| 38b693c7fd | |||
| 40d2f8d11d | |||
| 30a36f315c | |||
| d77af73a75 | |||
| b6cdf0e002 | |||
| 63cd907eba | |||
| 56e02231db | |||
| 42518d300e | |||
| a2a8d85cd4 | |||
| bb1dc3c8b4 | |||
| 5750ef2687 | |||
| 290531e5d4 | |||
| 9b963ae9cf | |||
| 8e70be5415 | |||
| 8beb92191c | |||
| 5dca22470f | |||
| a9e7c6794b | |||
| b9c467142f | |||
| aca965565e | |||
| 08c9874687 | |||
| e273f78465 | |||
| fd6259fed4 | |||
| 9e95aece26 | |||
| 6f93961f67 | |||
| a2c4b69bae | |||
| 2e952f0550 | |||
| 83ba081ebb | |||
| c9d77f53da | |||
| 93caa36664 | |||
| cb27880fd0 | |||
| c591ed20cc | |||
| f94e98e09d | |||
| 029908f8a1 | |||
| 71929b726e | |||
| 8669c75795 | |||
| 35cbbe2fb1 | |||
| a0970d0963 | |||
| 14756b05b7 | |||
| 316c85f0ce | |||
| 98798e39c6 | |||
| 82b5b08dfc | |||
| 9205100eb3 | |||
| af318a7c79 | |||
| 8f043e88fd | |||
| 212c1466f7 | |||
| 046e54f3f5 | |||
| 62f1eb1967 | |||
| de4c288490 | |||
| 3e06b085b7 | |||
| 3344987b6e | |||
| 07dd157167 | |||
| 50870e499b | |||
| 59cad91a22 | |||
| 1eaefde012 | |||
| a3d82f82de | |||
| 433656c178 | |||
| 40033e4482 | |||
| cb90b1d92a | |||
| b01dd7eefc | |||
| 34a2091dfc | |||
| fef9e77478 | |||
| 4716b633e2 | |||
| d90357944e | |||
| bdb90074b0 | |||
| e489ec84de | |||
| aee00012ab | |||
| 81b6f331c6 | |||
| 0655ef49e5 | |||
| 179ad9a61e | |||
| e48072bcae | |||
| 1d0e88553e | |||
| 85b3ccafc4 | |||
| 5ff9863b8d | |||
| 287f3b39e0 | |||
| 36ce9c0be6 | |||
| b52466e4c7 | |||
| b5431fab8f | |||
| 97bde00af7 | |||
| 998ef28451 | |||
| 17fdfc6741 | |||
| c3143cbd79 | |||
| 89afbf2bc1 | |||
| 0949f112d0 | |||
| 04ea2ce07d | |||
| e91e1d7f71 | |||
| dc358d4244 | |||
| 58f2b9d3f0 | |||
| ad10681ba0 | |||
| 7e56083ec9 | |||
| 8f74b9362a | |||
| 54261fd1a1 | |||
| fa16a17aec | |||
| c6fb020fda | |||
| 7859d6ef03 | |||
| d29966342b | |||
| bbb8b19ee3 | |||
| 42b155cd92 | |||
| a34aa4109a | |||
| 26e21b5207 | |||
| 975f73115d | |||
| 274976815c | |||
| ae4ecd4667 | |||
| f42206b55f | |||
| f78048d617 | |||
| 1ce32462e0 | |||
| ff99d9bbb9 | |||
| b739a465a5 | |||
| 98c72833c4 | |||
| 9e948c0c37 | |||
| 446d694b1d | |||
| f4991f5e0d | |||
| 98cd78c3a4 | |||
| c3e060d13b | |||
| 014c219089 | |||
| d0a03fa9aa | |||
| e25a2b267d | |||
| e049cff2ed | |||
| 87c3d6cf9d | |||
| e49127b686 | |||
| b72955c5db |
4
.gitignore
vendored
4
.gitignore
vendored
@ -42,3 +42,7 @@ Thumbs.db
|
||||
.vs
|
||||
|
||||
DesktopEditor/fontengine/js/common/freetype-2.10.4
|
||||
*_resource.rc
|
||||
|
||||
.qtc_clangd
|
||||
Common/3dParty/openssl/openssl/
|
||||
|
||||
@ -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"\"");
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
}
|
||||
@ -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");
|
||||
}
|
||||
}
|
||||
};
|
||||
}
|
||||
@ -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 );
|
||||
}
|
||||
};
|
||||
}
|
||||
@ -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 );
|
||||
}
|
||||
};
|
||||
}
|
||||
@ -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
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
}
|
||||
@ -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());
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
}
|
||||
@ -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";
|
||||
}
|
||||
@ -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;
|
||||
}
|
||||
}
|
||||
@ -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);
|
||||
};
|
||||
}
|
||||
@ -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;
|
||||
}
|
||||
};
|
||||
}
|
||||
@ -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");
|
||||
}
|
||||
}
|
||||
};
|
||||
}
|
||||
@ -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 don‘t 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 don‘t 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");
|
||||
}
|
||||
}
|
||||
};
|
||||
}
|
||||
@ -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
@ -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 ) );
|
||||
}
|
||||
};
|
||||
}
|
||||
@ -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;
|
||||
};
|
||||
}
|
||||
@ -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());
|
||||
}
|
||||
}
|
||||
};
|
||||
}
|
||||
@ -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;
|
||||
};
|
||||
}
|
||||
@ -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 );
|
||||
}
|
||||
}
|
||||
};
|
||||
}
|
||||
@ -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 );
|
||||
}
|
||||
}
|
||||
};
|
||||
}
|
||||
@ -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;
|
||||
};
|
||||
@ -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;
|
||||
};
|
||||
}
|
||||
@ -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;
|
||||
};
|
||||
}
|
||||
@ -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 );
|
||||
}
|
||||
};
|
||||
}
|
||||
@ -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 );
|
||||
}
|
||||
};
|
||||
}
|
||||
@ -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;
|
||||
};
|
||||
}
|
||||
@ -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;
|
||||
};
|
||||
}
|
||||
@ -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 );
|
||||
}
|
||||
};
|
||||
}
|
||||
@ -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);
|
||||
}
|
||||
};
|
||||
}
|
||||
@ -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 );
|
||||
}
|
||||
};
|
||||
}
|
||||
@ -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 );
|
||||
}
|
||||
};
|
||||
}
|
||||
@ -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;
|
||||
};
|
||||
}
|
||||
@ -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;
|
||||
}
|
||||
};
|
||||
}
|
||||
@ -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;
|
||||
};
|
||||
}
|
||||
@ -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 );
|
||||
}
|
||||
};
|
||||
}
|
||||
@ -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 );
|
||||
}
|
||||
}
|
||||
@ -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;
|
||||
}
|
||||
};
|
||||
}
|
||||
@ -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;
|
||||
}
|
||||
};
|
||||
}
|
||||
@ -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 shape’s path.
|
||||
/// This string describes both the pSegmentInfo array and pVertices array in the shape’s 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 doesn’t 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 shape’s 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 shape’s 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 geometry’s 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;
|
||||
};
|
||||
}
|
||||
@ -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");
|
||||
}
|
||||
};
|
||||
}
|
||||
@ -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);
|
||||
}
|
||||
};
|
||||
}
|
||||
@ -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()
|
||||
{
|
||||
}
|
||||
};
|
||||
}
|
||||
@ -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()
|
||||
{
|
||||
}
|
||||
};
|
||||
}
|
||||
@ -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()
|
||||
{
|
||||
}
|
||||
};
|
||||
}
|
||||
@ -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);
|
||||
}
|
||||
};
|
||||
}
|
||||
@ -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" );
|
||||
}
|
||||
};
|
||||
}
|
||||
@ -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()
|
||||
{
|
||||
}
|
||||
};
|
||||
}
|
||||
@ -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()
|
||||
{
|
||||
}
|
||||
};
|
||||
}
|
||||
@ -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";
|
||||
}
|
||||
};
|
||||
}
|
||||
@ -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()
|
||||
{
|
||||
}
|
||||
};
|
||||
}
|
||||
@ -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);
|
||||
}
|
||||
};
|
||||
}
|
||||
@ -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);
|
||||
}
|
||||
};
|
||||
}
|
||||
@ -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()
|
||||
{
|
||||
}
|
||||
};
|
||||
}
|
||||
@ -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()
|
||||
{
|
||||
}
|
||||
};
|
||||
}
|
||||
@ -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()
|
||||
{
|
||||
}
|
||||
};
|
||||
}
|
||||
@ -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()
|
||||
{
|
||||
}
|
||||
};
|
||||
}
|
||||
@ -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()
|
||||
{
|
||||
}
|
||||
};
|
||||
}
|
||||
@ -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()
|
||||
{
|
||||
}
|
||||
};
|
||||
}
|
||||
@ -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()
|
||||
{
|
||||
}
|
||||
};
|
||||
}
|
||||
@ -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()
|
||||
{
|
||||
|
||||
}
|
||||
};
|
||||
}
|
||||
@ -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);
|
||||
}
|
||||
};
|
||||
}
|
||||
@ -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);
|
||||
}
|
||||
};
|
||||
}
|
||||
@ -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()
|
||||
{
|
||||
|
||||
}
|
||||
};
|
||||
}
|
||||
@ -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()
|
||||
{
|
||||
}
|
||||
};
|
||||
}
|
||||
@ -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 );
|
||||
}
|
||||
};
|
||||
}
|
||||
@ -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;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@ -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 );
|
||||
};
|
||||
}
|
||||
@ -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;
|
||||
};
|
||||
}
|
||||
@ -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;
|
||||
};
|
||||
}
|
||||
@ -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();
|
||||
}
|
||||
}
|
||||
};
|
||||
}
|
||||
@ -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 );
|
||||
}
|
||||
};
|
||||
}
|
||||
@ -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;
|
||||
}
|
||||
};
|
||||
}
|
||||
@ -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 doesn‘t 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);
|
||||
};
|
||||
}
|
||||
@ -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;
|
||||
};
|
||||
}
|
||||
@ -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 );
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
}
|
||||
@ -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;
|
||||
};
|
||||
}
|
||||
@ -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;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
}
|
||||
@ -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
|
||||
};
|
||||
}
|
||||
@ -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.
|
||||
};
|
||||
}
|
||||
@ -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;
|
||||
};
|
||||
@ -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 );
|
||||
}
|
||||
};
|
||||
}
|
||||
@ -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
|
||||
@ -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"
|
||||
@ -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 */;
|
||||
}
|
||||
@ -1,7 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Workspace
|
||||
version = "1.0">
|
||||
<FileRef
|
||||
location = "self:DocFormatLib.xcodeproj">
|
||||
</FileRef>
|
||||
</Workspace>
|
||||
@ -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>
|
||||
@ -1 +0,0 @@
|
||||
DO NOT REMOVE FOLDER FOR XCODE
|
||||
@ -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>
|
||||
@ -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>
|
||||
@ -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>;
|
||||
};
|
||||
}
|
||||
@ -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;
|
||||
};
|
||||
}
|
||||
@ -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;
|
||||
};
|
||||
}
|
||||
@ -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);
|
||||
}
|
||||
};
|
||||
}
|
||||
@ -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;
|
||||
}
|
||||
};
|
||||
}
|
||||
@ -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;
|
||||
}
|
||||
};
|
||||
}
|
||||
@ -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];
|
||||
};
|
||||
}
|
||||
@ -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;
|
||||
}
|
||||
};
|
||||
}
|
||||
@ -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 );
|
||||
}
|
||||
};
|
||||
}
|
||||
@ -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
Reference in New Issue
Block a user