bfg-common 1.5.211 → 1.5.212

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (192) hide show
  1. package/CODE_STYLE.md +109 -109
  2. package/assets/img/icons/icons-sprite-dark-3.svg +227 -227
  3. package/assets/img/icons/icons-sprite-dark-5.svg +488 -488
  4. package/assets/img/icons/icons-sprite-light-3.svg +227 -227
  5. package/assets/img/icons/icons-sprite-light-5.svg +488 -488
  6. package/components/atoms/TheIcon3.vue +50 -50
  7. package/components/atoms/perPage/PerPage.vue +58 -58
  8. package/components/atoms/table/dataGrid/lib/config/settingsTable.ts +94 -94
  9. package/components/atoms/table/dataGrid/lib/utils/export.ts +16 -16
  10. package/components/atoms/tabs/VerticalTabs.vue +105 -105
  11. package/components/common/backup/lib/utils/getBackupOrBackupStorageId.ts +29 -0
  12. package/components/common/backup/storage/actions/add/Add.vue +36 -0
  13. package/components/common/backup/storage/actions/add/temp/Add.vue +508 -0
  14. package/components/common/backup/storage/actions/add/temp/lib/config/stepItems.ts +203 -0
  15. package/components/common/backup/storage/actions/add/temp/lib/models/interfaces.ts +58 -0
  16. package/components/common/backup/storage/actions/add/temp/lib/models/types.ts +14 -0
  17. package/components/common/backup/storage/actions/add/temp/lib/utils.ts +70 -0
  18. package/components/common/backup/storage/actions/add/temp/local/Local.vue +65 -0
  19. package/components/common/backup/storage/actions/add/temp/local/createName/CreateName.vue +158 -0
  20. package/components/common/backup/storage/actions/add/temp/local/createName/lib/config/defaultForm.ts +15 -0
  21. package/components/common/backup/storage/actions/add/temp/nfs/Nfs.vue +106 -0
  22. package/components/common/backup/storage/actions/add/temp/nfs/accessibility/Accessibility.vue +104 -0
  23. package/components/common/backup/storage/actions/add/temp/nfs/accessibility/lib/config/tabsPannel.ts +25 -0
  24. package/components/common/backup/storage/actions/add/temp/nfs/accessibility/lib/models/interfaces.ts +9 -0
  25. package/components/common/backup/storage/actions/add/temp/nfs/accessibility/lib/models/types.ts +5 -0
  26. package/components/common/backup/storage/actions/add/temp/nfs/accessibility/tablesView/TablesView.vue +141 -0
  27. package/components/common/backup/storage/actions/add/temp/nfs/accessibility/tablesView/lib/config/compatibleTable.ts +62 -0
  28. package/components/common/backup/storage/actions/add/temp/nfs/accessibility/tablesView/lib/config/hostsTableItems.ts +53 -0
  29. package/components/common/backup/storage/actions/add/temp/nfs/accessibility/tablesView/lib/config/incompatibleTable.ts +68 -0
  30. package/components/common/backup/storage/actions/add/temp/nfs/accessibility/tablesView/lib/config/tableKeys.ts +15 -0
  31. package/components/common/backup/storage/actions/add/temp/nfs/configuration/Configuration.vue +469 -0
  32. package/components/common/backup/storage/actions/add/temp/nfs/configuration/lib/config/defaultForm.ts +51 -0
  33. package/components/common/backup/storage/actions/add/temp/nfs/configuration/lib/models/interfaces.ts +14 -0
  34. package/components/common/backup/storage/actions/add/temp/nfs/configuration/serversList/DeletePopover.vue +99 -0
  35. package/components/common/backup/storage/actions/add/temp/nfs/configuration/serversList/ServersList.vue +125 -0
  36. package/components/common/backup/storage/actions/add/temp/nfs/configuration/serversList/lib/config/serversListConfig.ts +40 -0
  37. package/components/common/backup/storage/actions/add/temp/nfs/configuration/serversList/lib/config/tableKeys.ts +3 -0
  38. package/components/common/backup/storage/actions/add/temp/nfs/configuration/serversList/lib/models/interfaces.ts +13 -0
  39. package/components/common/backup/storage/actions/add/temp/nfs/configuration/serversList/lib/models/types.ts +1 -0
  40. package/components/common/backup/storage/actions/add/temp/nfs/kerberosAuthentication/KerberosAuthentication.vue +55 -0
  41. package/components/common/backup/storage/actions/add/temp/nfs/kerberosAuthentication/lib/config/radioOptions.ts +27 -0
  42. package/components/common/backup/storage/actions/add/temp/nfs/version/Version.vue +42 -0
  43. package/components/common/backup/storage/actions/add/temp/nfs/version/lib/config/versionOptions.ts +22 -0
  44. package/components/common/backup/storage/actions/add/temp/readyComplete/ReadyComplete.vue +85 -0
  45. package/components/common/backup/storage/actions/add/temp/readyComplete/lib/config/propertiesDetails.ts +139 -0
  46. package/components/common/backup/storage/actions/add/temp/readyComplete/lib/models/interfaces.ts +4 -0
  47. package/components/common/backup/storage/actions/add/temp/samba/Samba.vue +95 -0
  48. package/components/common/backup/storage/actions/add/temp/samba/accessibility/Accessibility.vue +104 -0
  49. package/components/common/backup/storage/actions/add/temp/samba/accessibility/lib/config/tabsPannel.ts +25 -0
  50. package/components/common/backup/storage/actions/add/temp/samba/accessibility/lib/models/interfaces.ts +9 -0
  51. package/components/common/backup/storage/actions/add/temp/samba/accessibility/lib/models/types.ts +5 -0
  52. package/components/common/backup/storage/actions/add/temp/samba/accessibility/tablesView/TablesView.vue +141 -0
  53. package/components/common/backup/storage/actions/add/temp/samba/accessibility/tablesView/lib/config/compatibleTable.ts +62 -0
  54. package/components/common/backup/storage/actions/add/temp/samba/accessibility/tablesView/lib/config/hostsTableItems.ts +53 -0
  55. package/components/common/backup/storage/actions/add/temp/samba/accessibility/tablesView/lib/config/incompatibleTable.ts +68 -0
  56. package/components/common/backup/storage/actions/add/temp/samba/accessibility/tablesView/lib/config/tableKeys.ts +15 -0
  57. package/components/common/backup/storage/actions/add/temp/samba/configuration/Configuration.vue +470 -0
  58. package/components/common/backup/storage/actions/add/temp/samba/configuration/lib/config/defaultForm.ts +51 -0
  59. package/components/common/backup/storage/actions/add/temp/samba/configuration/lib/models/interfaces.ts +14 -0
  60. package/components/common/backup/storage/actions/add/temp/samba/configuration/serversList/DeletePopover.vue +99 -0
  61. package/components/common/backup/storage/actions/add/temp/samba/configuration/serversList/ServersList.vue +124 -0
  62. package/components/common/backup/storage/actions/add/temp/samba/configuration/serversList/lib/config/serversListConfig.ts +40 -0
  63. package/components/common/backup/storage/actions/add/temp/samba/configuration/serversList/lib/config/tableKeys.ts +3 -0
  64. package/components/common/backup/storage/actions/add/temp/samba/configuration/serversList/lib/models/interfaces.ts +13 -0
  65. package/components/common/backup/storage/actions/add/temp/samba/configuration/serversList/lib/models/types.ts +1 -0
  66. package/components/common/backup/storage/actions/add/temp/samba/kerberosAuthentication/KerberosAuthentication.vue +55 -0
  67. package/components/common/backup/storage/actions/add/temp/samba/kerberosAuthentication/lib/config/radioOptions.ts +27 -0
  68. package/components/common/backup/storage/actions/add/temp/sharedStorm/SharedStorm.vue +80 -0
  69. package/components/common/backup/storage/actions/add/temp/sharedStorm/createName/CreateName.vue +156 -0
  70. package/components/common/backup/storage/actions/add/temp/sharedStorm/createName/lib/config/defaultForm.ts +15 -0
  71. package/components/common/backup/storage/actions/add/temp/sharedStorm/storage/Storage.vue +71 -0
  72. package/components/common/backup/storage/actions/add/temp/sharedStorm/storage/lib/config/defaultForm.ts +15 -0
  73. package/components/common/backup/storage/actions/add/temp/types/Types.vue +78 -0
  74. package/components/common/backup/storage/actions/add/temp/types/lib/config/typeOptions.ts +52 -0
  75. package/components/common/backup/storage/actions/delete/Delete.vue +65 -0
  76. package/components/common/backup/storage/actions/delete/lib/models/interfaces.ts +5 -0
  77. package/components/common/browse/blocks/contents/filesNew/Skeleton.vue +18 -18
  78. package/components/common/context/lib/models/interfaces.ts +31 -31
  79. package/components/common/diagramMain/DiagramMain.vue +897 -897
  80. package/components/common/diagramMain/Header.vue +214 -214
  81. package/components/common/layout/theHeader/helpMenu/About.vue +82 -82
  82. package/components/common/layout/theHeader/userMenu/modals/preferences/view/ViewOld.vue +112 -112
  83. package/components/common/monitor/overview/OverviewOld.vue +139 -139
  84. package/components/common/pages/home/headline/Headline.vue +45 -45
  85. package/components/common/pages/home/headline/HeadlineOld.vue +42 -42
  86. package/components/common/pages/home/lib/models/interfaces.ts +48 -48
  87. package/components/common/pages/home/widgets/Widgets.vue +49 -49
  88. package/components/common/pages/home/widgets/WidgetsNew.vue +86 -86
  89. package/components/common/pages/home/widgets/WidgetsOld.vue +34 -34
  90. package/components/common/pages/home/widgets/hosts/Hosts.vue +27 -27
  91. package/components/common/pages/home/widgets/hosts/lib/config/items.ts +23 -23
  92. package/components/common/pages/home/widgets/vms/Vms.vue +26 -26
  93. package/components/common/pages/home/widgets/vms/VmsOld.vue +35 -35
  94. package/components/common/pages/home/widgets/vms/lib/config/items.ts +19 -19
  95. package/components/common/pages/packages/Packages.vue +208 -208
  96. package/components/common/pages/shortcuts/block/BlockNew.vue +2 -7
  97. package/components/common/pages/shortcuts/block/BlockOld.vue +68 -68
  98. package/components/common/readyToComplete/ReadyToComplete.vue +17 -17
  99. package/components/common/recursionTree/RecursionTree.vue +223 -223
  100. package/components/common/select/button/ButtonDropdown.vue +108 -108
  101. package/components/common/spiceConsole/Drawer.vue +377 -377
  102. package/components/common/spiceConsole/lib/models/interfaces.ts +5 -5
  103. package/components/common/vm/actions/add/folderTreeView/FolderTreeView.vue +72 -72
  104. package/components/common/vm/actions/add/folderTreeView/New.vue +40 -40
  105. package/components/common/vm/actions/add/folderTreeView/Old.vue +50 -50
  106. package/components/common/vm/actions/add/lib/config/steps.ts +263 -263
  107. package/components/common/vm/actions/clone/lib/config/steps.ts +291 -291
  108. package/components/common/vm/actions/clone/toTemplate/lib/config/steps.ts +116 -116
  109. package/components/common/vm/actions/common/customizeHardware/CustomizeHardwareNew.vue +337 -337
  110. package/components/common/vm/actions/common/customizeHardware/virtualHardware/VirtualHardwareNew.vue +480 -480
  111. package/components/common/vm/actions/common/customizeHardware/virtualHardware/VirtualHardwareOld.vue +319 -319
  112. package/components/common/vm/actions/common/customizeHardware/virtualHardware/browseView/BrowseView.vue +219 -219
  113. package/components/common/vm/actions/common/customizeHardware/virtualHardware/bus/Bus.vue +100 -100
  114. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/CdDvdDrive.vue +232 -232
  115. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/CdDvdDriveOld.vue +168 -168
  116. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/media/Media.vue +25 -25
  117. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/media/MediaNew.vue +78 -78
  118. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/media/MediaOld.vue +50 -50
  119. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/CpuNew.vue +190 -190
  120. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/model/ModelNew.vue +237 -237
  121. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/shares/Shares.vue +140 -140
  122. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/shares/lib/config/options.ts +28 -28
  123. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/tooltip/TooltipNew.vue +154 -154
  124. package/components/common/vm/actions/common/customizeHardware/virtualHardware/limit/Limit.vue +220 -220
  125. package/components/common/vm/actions/common/customizeHardware/virtualHardware/memory/Memory.vue +307 -307
  126. package/components/common/vm/actions/common/customizeHardware/virtualHardware/memory/MemoryNew.vue +154 -154
  127. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/NewHardDisk.vue +382 -382
  128. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/location/Location.vue +151 -151
  129. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/location/LocationNew.vue +73 -73
  130. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/location/LocationOld.vue +83 -83
  131. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/NewNetwork.vue +288 -288
  132. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/location/new/table/lib/config/config.ts +94 -94
  133. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/macAddress/MacAddress.vue +119 -119
  134. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/NewPciDevice.vue +205 -205
  135. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/directPathIo/DirectPathIoNew.vue +66 -66
  136. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/directPathIo/DirectPathIoOld.vue +62 -62
  137. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/dynamicDirectPathIo/DynamicDirectPathIo.vue +31 -31
  138. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/dynamicDirectPathIo/DynamicDirectPathIoOld.vue +76 -76
  139. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/note/Note.vue +15 -15
  140. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/note/NoteNew.vue +42 -42
  141. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/note/NoteOld.vue +30 -30
  142. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/nvidiaGrid/NvidiaGridOld.vue +84 -84
  143. package/components/common/vm/actions/common/customizeHardware/virtualHardware/other/Other.vue +16 -16
  144. package/components/common/vm/actions/common/customizeHardware/virtualHardware/other/OtherNew.vue +30 -30
  145. package/components/common/vm/actions/common/customizeHardware/virtualHardware/other/inputDevices/InputDevicesNew.vue +40 -40
  146. package/components/common/vm/actions/common/customizeHardware/vmoptions/Vmoptions.vue +145 -145
  147. package/components/common/vm/actions/common/customizeHardware/vmoptions/VmoptionsNew.vue +106 -106
  148. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/BootOptionsNew.vue +81 -81
  149. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/delay/Delay.vue +32 -32
  150. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/firmware/Firmware.vue +60 -60
  151. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/order/Order.vue +174 -174
  152. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/order/OrderNew.vue +67 -67
  153. package/components/common/vm/actions/common/customizeHardware/vmoptions/generalOptions/GeneralOptionsNew.vue +149 -149
  154. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/New.vue +140 -140
  155. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/copyPaste/CopyPasteNew.vue +31 -31
  156. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/fileTransfer/FileTransferNew.vue +31 -31
  157. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/keymap/Keymap.vue +32 -32
  158. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/password/Password.vue +103 -103
  159. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/password/PasswordNew.vue +128 -128
  160. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/usbRedirection/UsbRedirection.vue +28 -28
  161. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/usbRedirection/UsbRedirectionNew.vue +39 -39
  162. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/usbRedirection/UsbRedirectionOld.vue +44 -44
  163. package/components/common/vm/actions/common/lib/utils/capabilities.ts +52 -52
  164. package/components/common/vm/actions/common/select/compatibility/Old.vue +107 -107
  165. package/components/common/vm/actions/common/select/computeResource/ComputeResource.vue +134 -134
  166. package/components/common/vm/actions/common/select/computeResource/treeView/New.vue +44 -44
  167. package/components/common/vm/actions/common/select/computeResource/treeView/TreeView.vue +118 -118
  168. package/components/common/vm/actions/common/select/createType/CreateType.vue +38 -38
  169. package/components/common/vm/actions/common/select/createType/New.vue +84 -84
  170. package/components/common/vm/actions/common/select/createType/lib/models/interfaces.ts +5 -5
  171. package/components/common/vm/actions/common/select/name/Name.vue +167 -167
  172. package/components/common/vm/actions/common/select/os/New.vue +122 -122
  173. package/components/common/vm/actions/common/select/os/Old.vue +152 -152
  174. package/components/common/vm/actions/common/select/os/Os.vue +139 -139
  175. package/components/common/vm/actions/common/select/storage/new/lib/models/interfaces.ts +5 -5
  176. package/components/common/vm/actions/common/select/storage/new/lib/utils/utils.ts +21 -21
  177. package/components/common/vm/actions/editSettings/new/Skeleton.vue +88 -88
  178. package/components/common/wizards/vm/migrate/lib/config/constructDataReady.ts +220 -220
  179. package/components/common/wizards/vm/migrate/lib/config/steps.ts +157 -157
  180. package/components/common/wizards/vm/migrate/lib/validations.ts +68 -68
  181. package/components/common/wizards/vm/migrate/select/computeResource/tableView/TableView.vue +137 -137
  182. package/components/common/wizards/vm/migrate/select/network/Network.vue +103 -103
  183. package/components/common/wizards/vm/migrate/select/network/table/network/lib/config/advancedTable.ts +91 -91
  184. package/composables/productNameLocal.ts +30 -30
  185. package/composables/useAppVersion.ts +21 -21
  186. package/package.json +1 -1
  187. package/plugins/date.ts +233 -233
  188. package/public/spice-console/lib/images/bitmap.js +203 -203
  189. package/public/spice-console/network/spicechannel.js +387 -387
  190. package/store/main/mutations.ts +7 -7
  191. package/store/main/state.ts +7 -7
  192. package/store/tasks/mappers/recentTasks.ts +64 -64
@@ -1,203 +1,203 @@
1
- /*
2
- Copyright (c) 2016 eyeOS
3
-
4
- This file is part of Open365.
5
-
6
- Open365 is free software: you can redistribute it and/or modify
7
- it under the terms of the GNU Affero General Public License as
8
- published by the Free Software Foundation, either version 3 of the
9
- License, or (at your option) any later version.
10
-
11
- This program is distributed in the hope that it will be useful,
12
- but WITHOUT ANY WARRANTY; without even the implied warranty of
13
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14
- GNU Affero General Public License for more details.
15
-
16
- You should have received a copy of the GNU Affero General Public License
17
- along with this program. If not, see <http://www.gnu.org/licenses/>.
18
- */
19
-
20
- wdi.BMP2 = $.spcExtend(wdi.SpiceObject, {
21
- objectSize: 0,
22
- mapper: [0, 1, 1, 4, 4, 8, 16, 24, 32, 32],
23
-
24
- init: function(imageData) {
25
- var type = this.bytesToInt8(imageData);
26
- var flags = this.bytesToInt8(imageData); // bit 1 => normal, bit 2 => palette cache (...)
27
- var width = this.bytesToInt32(imageData); // width in pixels
28
- var height = this.bytesToInt32(imageData); // height in pixels
29
- var stride = this.bytesToInt32(imageData); // width in bytes including padding
30
- var len;
31
- var bpp = this.mapper[type];
32
- var i;
33
-
34
-
35
- var paletteSize = 0, unique, paletteData, numEnts = 0;
36
- if (bpp <= 8 && bpp > 0) {
37
- var palette = [];
38
- if (flags & 1) {
39
- var paletteOffset = this.bytesToInt32(imageData); // From the begininig of the spice packet?
40
- len = imageData.length;
41
- paletteSize = 4*Math.pow(2,bpp);
42
- var paletteDataSize = paletteSize + 8 + 2; //palette + unique(64b) + numEnts (16b)
43
- len -= paletteDataSize;
44
- paletteData = imageData.splice(len, paletteDataSize);
45
- unique = this.bytesToInt64(paletteData);
46
- numEnts = this.bytesToInt16(paletteData);
47
- var queue;
48
-
49
- for (i = 0; i < numEnts*4; i+=4) {
50
- queue = new wdi.Queue();
51
- queue.setData(paletteData.slice(i, i+4));
52
- palette.push(new wdi.SpiceColor().demarshall(queue));
53
- }
54
- wdi.ImageCache.addPalette(unique, palette);
55
- } else {
56
- //get palette from cache
57
- unique = this.bytesToInt64(imageData);
58
- len = imageData.length;
59
- palette = wdi.ImageCache.getPalette(unique);
60
- var spiceColors;
61
- paletteData = [];
62
- numEnts = palette.length;
63
- for (i =0; i < numEnts; i++ ) {
64
- spiceColors = palette[i].marshall();
65
- spiceColors.push(0);
66
- paletteData = paletteData.concat(spiceColors);
67
- }
68
-
69
- }
70
- // imageData = paletteData.concat(imageData);
71
-
72
- } else {
73
- // Removing 4 bytes from the image data to fix index out of range error.
74
- var unknown = this.bytesToInt32(imageData);
75
- }
76
-
77
- this.setContent({
78
- imageSize: len,
79
- width: width,
80
- height: height,
81
- bpp: bpp,
82
- imageData: imageData,
83
- paletteSize: numEnts * 4,
84
- palette: palette,
85
- stride: stride,
86
- flags: flags,
87
- type: type
88
- });
89
- },
90
-
91
- setContent: function(c) {
92
- this.imageSize = c.imageSize;
93
- this.width = c.width;
94
- this.height = c.height;
95
- this.bpp = c.bpp;
96
- this.imageData = c.imageData;
97
- this.palette = c.palette;
98
- this.offset = c.paletteSize + 0x36; //0x36 === Current harcoded header size (BMP + DIB)
99
- this.size = this.offset + this.imageSize;
100
- this.stride = c.stride;
101
- this.flags = c.flags;
102
- // this.type = c.type;
103
- // console.log(`тип не 9, тип: ${c.type}`)
104
- this.type = 9;
105
- },
106
-
107
- marshall: function(context) {
108
- var type = this.type;
109
- var palette = this.palette;
110
- var width = this.width;
111
- var height = this.height;
112
- var stride = this.stride;
113
- var data = this.imageData;
114
- var flags = this.flags;
115
- var size = data.length;
116
-
117
- var pixelsStride = stride * 8/this.bpp;
118
- var bytesStride = pixelsStride * 4;
119
- var buf = new ArrayBuffer(bytesStride * height);
120
- var buf8 = new Uint8ClampedArray(buf);
121
- var buf32 = new Uint32Array(buf);
122
- var topdown = data[1];
123
-
124
- var oct, i, pos, buffPos, spiceColor;
125
- var b;
126
- if (palette) {
127
- buffPos = 0
128
- if (type === wdi.SpiceBitmapFmt.SPICE_BITMAP_FMT_1BIT_BE) {
129
- spiceColor = palette[1];
130
- var foreColor = spiceColor.r << 24 | spiceColor.g << 16 | spiceColor.b << 8 | 255;
131
-
132
- spiceColor = palette[0];
133
- var backColor = spiceColor.r << 24 | spiceColor.g << 16 | spiceColor.b << 8 | 255;
134
-
135
- var PLT1_MASK = [1, 2, 4, 8, 16, 32, 64, 128];
136
-
137
- for (pos = 0; pos < size; pos++) {
138
- oct = data[pos];
139
-
140
- for (i = 7; i >= 0; i--) {
141
- if (oct & PLT1_MASK[i]) {
142
- buf32[buffPos++] = foreColor;
143
- } else {
144
- buf32[buffPos++] = backColor;
145
- }
146
- }
147
- }
148
- } else if (type === wdi.SpiceBitmapFmt.SPICE_BITMAP_FMT_4BIT_BE) {
149
- for (pos = 0; pos < size; pos++) {
150
- oct = data[pos];
151
- spiceColor = palette[oct >>> 4];
152
- buf32[buffPos++] = spiceColor.r << 24 | spiceColor.g << 16 | spiceColor.b << 8 | 255;
153
- spiceColor = palette[oct & 0x0f];
154
- buf32[buffPos++] = spiceColor.r << 24 | spiceColor.g << 16 | spiceColor.b << 8 | 255;
155
- }
156
- }
157
-
158
- } else {
159
- if (type === wdi.SpiceBitmapFmt.SPICE_BITMAP_FMT_32BIT || type === wdi.SpiceBitmapFmt.SPICE_BITMAP_FMT_RGBA) {
160
- for (pos = 0; pos < size; pos += 4) {
161
- let b,g,r
162
- b = data[pos];
163
- g = data[pos+1];
164
- r = data[pos+2];
165
-
166
- data[pos] = r;
167
- data[pos + 1] = g;
168
- data[pos + 2] = b;
169
- data[pos + 3] = 255;
170
- }
171
- } else if (type === wdi.SpiceBitmapFmt.SPICE_BITMAP_FMT_24BIT) {
172
- for (pos = 0; pos < size; pos+=3) {
173
- b = data[pos];
174
- data[pos] = data[pos+2];
175
- data[pos+2] = b;
176
- }
177
- }
178
- buf8 = new Uint8ClampedArray(data);
179
- }
180
-
181
- var ret = new ImageData(buf8, pixelsStride, height);
182
-
183
- var tmpCanvas = wdi.graphics.getNewTmpCanvas(width, height);
184
- tmpCanvas.getContext('2d').putImageData(ret, 0, 0, 0, 0, width, height);
185
- ret = tmpCanvas;
186
-
187
- if(flags&4 === 0) {
188
- ret = wdi.RasterOperation.flip(ret);
189
- }
190
-
191
- return ret;
192
-
193
- }
194
- });
195
- function intToByteArray(value) {
196
- // Создаем массив из одного байта
197
- let byteArray = new Uint8Array(1);
198
-
199
- // Устанавливаем значение в массиве байтов
200
- byteArray[0] = value & 0xFF; // Маскирование, чтобы значение поместилось в один байт
201
-
202
- return byteArray;
203
- }
1
+ /*
2
+ Copyright (c) 2016 eyeOS
3
+
4
+ This file is part of Open365.
5
+
6
+ Open365 is free software: you can redistribute it and/or modify
7
+ it under the terms of the GNU Affero General Public License as
8
+ published by the Free Software Foundation, either version 3 of the
9
+ License, or (at your option) any later version.
10
+
11
+ This program is distributed in the hope that it will be useful,
12
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
13
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14
+ GNU Affero General Public License for more details.
15
+
16
+ You should have received a copy of the GNU Affero General Public License
17
+ along with this program. If not, see <http://www.gnu.org/licenses/>.
18
+ */
19
+
20
+ wdi.BMP2 = $.spcExtend(wdi.SpiceObject, {
21
+ objectSize: 0,
22
+ mapper: [0, 1, 1, 4, 4, 8, 16, 24, 32, 32],
23
+
24
+ init: function(imageData) {
25
+ var type = this.bytesToInt8(imageData);
26
+ var flags = this.bytesToInt8(imageData); // bit 1 => normal, bit 2 => palette cache (...)
27
+ var width = this.bytesToInt32(imageData); // width in pixels
28
+ var height = this.bytesToInt32(imageData); // height in pixels
29
+ var stride = this.bytesToInt32(imageData); // width in bytes including padding
30
+ var len;
31
+ var bpp = this.mapper[type];
32
+ var i;
33
+
34
+
35
+ var paletteSize = 0, unique, paletteData, numEnts = 0;
36
+ if (bpp <= 8 && bpp > 0) {
37
+ var palette = [];
38
+ if (flags & 1) {
39
+ var paletteOffset = this.bytesToInt32(imageData); // From the begininig of the spice packet?
40
+ len = imageData.length;
41
+ paletteSize = 4*Math.pow(2,bpp);
42
+ var paletteDataSize = paletteSize + 8 + 2; //palette + unique(64b) + numEnts (16b)
43
+ len -= paletteDataSize;
44
+ paletteData = imageData.splice(len, paletteDataSize);
45
+ unique = this.bytesToInt64(paletteData);
46
+ numEnts = this.bytesToInt16(paletteData);
47
+ var queue;
48
+
49
+ for (i = 0; i < numEnts*4; i+=4) {
50
+ queue = new wdi.Queue();
51
+ queue.setData(paletteData.slice(i, i+4));
52
+ palette.push(new wdi.SpiceColor().demarshall(queue));
53
+ }
54
+ wdi.ImageCache.addPalette(unique, palette);
55
+ } else {
56
+ //get palette from cache
57
+ unique = this.bytesToInt64(imageData);
58
+ len = imageData.length;
59
+ palette = wdi.ImageCache.getPalette(unique);
60
+ var spiceColors;
61
+ paletteData = [];
62
+ numEnts = palette.length;
63
+ for (i =0; i < numEnts; i++ ) {
64
+ spiceColors = palette[i].marshall();
65
+ spiceColors.push(0);
66
+ paletteData = paletteData.concat(spiceColors);
67
+ }
68
+
69
+ }
70
+ // imageData = paletteData.concat(imageData);
71
+
72
+ } else {
73
+ // Removing 4 bytes from the image data to fix index out of range error.
74
+ var unknown = this.bytesToInt32(imageData);
75
+ }
76
+
77
+ this.setContent({
78
+ imageSize: len,
79
+ width: width,
80
+ height: height,
81
+ bpp: bpp,
82
+ imageData: imageData,
83
+ paletteSize: numEnts * 4,
84
+ palette: palette,
85
+ stride: stride,
86
+ flags: flags,
87
+ type: type
88
+ });
89
+ },
90
+
91
+ setContent: function(c) {
92
+ this.imageSize = c.imageSize;
93
+ this.width = c.width;
94
+ this.height = c.height;
95
+ this.bpp = c.bpp;
96
+ this.imageData = c.imageData;
97
+ this.palette = c.palette;
98
+ this.offset = c.paletteSize + 0x36; //0x36 === Current harcoded header size (BMP + DIB)
99
+ this.size = this.offset + this.imageSize;
100
+ this.stride = c.stride;
101
+ this.flags = c.flags;
102
+ // this.type = c.type;
103
+ // console.log(`тип не 9, тип: ${c.type}`)
104
+ this.type = 9;
105
+ },
106
+
107
+ marshall: function(context) {
108
+ var type = this.type;
109
+ var palette = this.palette;
110
+ var width = this.width;
111
+ var height = this.height;
112
+ var stride = this.stride;
113
+ var data = this.imageData;
114
+ var flags = this.flags;
115
+ var size = data.length;
116
+
117
+ var pixelsStride = stride * 8/this.bpp;
118
+ var bytesStride = pixelsStride * 4;
119
+ var buf = new ArrayBuffer(bytesStride * height);
120
+ var buf8 = new Uint8ClampedArray(buf);
121
+ var buf32 = new Uint32Array(buf);
122
+ var topdown = data[1];
123
+
124
+ var oct, i, pos, buffPos, spiceColor;
125
+ var b;
126
+ if (palette) {
127
+ buffPos = 0
128
+ if (type === wdi.SpiceBitmapFmt.SPICE_BITMAP_FMT_1BIT_BE) {
129
+ spiceColor = palette[1];
130
+ var foreColor = spiceColor.r << 24 | spiceColor.g << 16 | spiceColor.b << 8 | 255;
131
+
132
+ spiceColor = palette[0];
133
+ var backColor = spiceColor.r << 24 | spiceColor.g << 16 | spiceColor.b << 8 | 255;
134
+
135
+ var PLT1_MASK = [1, 2, 4, 8, 16, 32, 64, 128];
136
+
137
+ for (pos = 0; pos < size; pos++) {
138
+ oct = data[pos];
139
+
140
+ for (i = 7; i >= 0; i--) {
141
+ if (oct & PLT1_MASK[i]) {
142
+ buf32[buffPos++] = foreColor;
143
+ } else {
144
+ buf32[buffPos++] = backColor;
145
+ }
146
+ }
147
+ }
148
+ } else if (type === wdi.SpiceBitmapFmt.SPICE_BITMAP_FMT_4BIT_BE) {
149
+ for (pos = 0; pos < size; pos++) {
150
+ oct = data[pos];
151
+ spiceColor = palette[oct >>> 4];
152
+ buf32[buffPos++] = spiceColor.r << 24 | spiceColor.g << 16 | spiceColor.b << 8 | 255;
153
+ spiceColor = palette[oct & 0x0f];
154
+ buf32[buffPos++] = spiceColor.r << 24 | spiceColor.g << 16 | spiceColor.b << 8 | 255;
155
+ }
156
+ }
157
+
158
+ } else {
159
+ if (type === wdi.SpiceBitmapFmt.SPICE_BITMAP_FMT_32BIT || type === wdi.SpiceBitmapFmt.SPICE_BITMAP_FMT_RGBA) {
160
+ for (pos = 0; pos < size; pos += 4) {
161
+ let b,g,r
162
+ b = data[pos];
163
+ g = data[pos+1];
164
+ r = data[pos+2];
165
+
166
+ data[pos] = r;
167
+ data[pos + 1] = g;
168
+ data[pos + 2] = b;
169
+ data[pos + 3] = 255;
170
+ }
171
+ } else if (type === wdi.SpiceBitmapFmt.SPICE_BITMAP_FMT_24BIT) {
172
+ for (pos = 0; pos < size; pos+=3) {
173
+ b = data[pos];
174
+ data[pos] = data[pos+2];
175
+ data[pos+2] = b;
176
+ }
177
+ }
178
+ buf8 = new Uint8ClampedArray(data);
179
+ }
180
+
181
+ var ret = new ImageData(buf8, pixelsStride, height);
182
+
183
+ var tmpCanvas = wdi.graphics.getNewTmpCanvas(width, height);
184
+ tmpCanvas.getContext('2d').putImageData(ret, 0, 0, 0, 0, width, height);
185
+ ret = tmpCanvas;
186
+
187
+ if(flags&4 === 0) {
188
+ ret = wdi.RasterOperation.flip(ret);
189
+ }
190
+
191
+ return ret;
192
+
193
+ }
194
+ });
195
+ function intToByteArray(value) {
196
+ // Создаем массив из одного байта
197
+ let byteArray = new Uint8Array(1);
198
+
199
+ // Устанавливаем значение в массиве байтов
200
+ byteArray[0] = value & 0xFF; // Маскирование, чтобы значение поместилось в один байт
201
+
202
+ return byteArray;
203
+ }