bfg-common 1.5.42 → 1.5.43

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 (196) 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/assets/scss/common/normalize.scss +339 -339
  7. package/components/atoms/TheIcon3.vue +50 -50
  8. package/components/atoms/collapse/CollapseNav.vue +165 -165
  9. package/components/atoms/dropdown/dropdown/Dropdown.vue +168 -168
  10. package/components/atoms/modal/bySteps/BySteps.vue +253 -253
  11. package/components/atoms/perPage/PerPage.vue +58 -58
  12. package/components/atoms/stack/StackBlock.vue +185 -185
  13. package/components/atoms/table/dataGrid/DataGridColumnSwitch.vue +222 -222
  14. package/components/atoms/table/dataGrid/lib/config/settingsTable.ts +94 -94
  15. package/components/atoms/table/dataGrid/lib/utils/export.ts +16 -16
  16. package/components/atoms/tabs/VerticalTabs.vue +105 -105
  17. package/components/atoms/tooltip/Signpost.vue +227 -227
  18. package/components/common/accordion/Recursion.vue +222 -222
  19. package/components/common/browse/BrowseNew.vue +237 -237
  20. package/components/common/browse/BrowseOld.vue +217 -217
  21. package/components/common/browse/blocks/contents/Files.vue +37 -37
  22. package/components/common/browse/blocks/contents/FilesOld.vue +72 -72
  23. package/components/common/browse/blocks/contents/filesNew/FilesNew.vue +96 -96
  24. package/components/common/browse/blocks/contents/filesNew/Skeleton.vue +18 -18
  25. package/components/common/browse/blocks/lib/models/types.ts +1 -1
  26. package/components/common/browse/lib/models/interfaces.ts +5 -5
  27. package/components/common/context/Context.vue +111 -111
  28. package/components/common/context/lib/models/interfaces.ts +31 -31
  29. package/components/common/context/recursion/Recursion.vue +87 -87
  30. package/components/common/context/recursion/RecursionNew.vue +238 -238
  31. package/components/common/context/recursion/RecursionOld.vue +228 -228
  32. package/components/common/details/DetailsItem.vue +109 -109
  33. package/components/common/diagramMain/DiagramMain.vue +897 -897
  34. package/components/common/diagramMain/Header.vue +214 -214
  35. package/components/common/diagramMain/adapter/AdapterItems.vue +61 -61
  36. package/components/common/diagramMain/lib/config/initial.ts +50 -50
  37. package/components/common/diagramMain/lib/models/types.ts +21 -21
  38. package/components/common/diagramMain/lib/utils/utils.ts +331 -331
  39. package/components/common/diagramMain/modals/editSettings/ConfirmTeamingSettingsModal.vue +40 -40
  40. package/components/common/diagramMain/modals/editSettings/tabs/NetworkProperties.vue +214 -214
  41. package/components/common/diagramMain/modals/editSettings/tabs/Security.vue +189 -189
  42. package/components/common/diagramMain/modals/editSettings/tabs/SwitchProperties.vue +163 -163
  43. package/components/common/diagramMain/modals/editSettings/tabs/TeamingFailover.vue +175 -175
  44. package/components/common/diagramMain/modals/editSettings/tabs/port/IpvFourSettings.vue +346 -346
  45. package/components/common/diagramMain/modals/editSettings/tabs/port/PortProperties.vue +205 -205
  46. package/components/common/diagramMain/modals/lib/config/initial.ts +180 -180
  47. package/components/common/diagramMain/modals/lib/config/vmKernelAdapter.ts +90 -90
  48. package/components/common/diagramMain/modals/lib/mappers/mappers.ts +87 -87
  49. package/components/common/diagramMain/modals/lib/utils/index.ts +24 -24
  50. package/components/common/diagramMain/modals/migrateVmkernelAdapter/lib/config/steps.ts +114 -114
  51. package/components/common/diagramMain/modals/migrateVmkernelAdapter/steps/ConnectionSettings.vue +169 -169
  52. package/components/common/diagramMain/modals/migrateVmkernelAdapter/steps/SelectVmkernelAdapter.vue +159 -159
  53. package/components/common/diagramMain/modals/migrateVmkernelAdapter/validations/common.ts +14 -14
  54. package/components/common/diagramMain/modals/migrateVmkernelAdapter/validations/connectionSettings.ts +137 -137
  55. package/components/common/diagramMain/modals/migrateVmkernelAdapter/validations/selectVmkernelAdapter.ts +52 -52
  56. package/components/common/diagramMain/modals/migrateVmkernelAdapter/validations/validations.ts +19 -19
  57. package/components/common/diagramMain/port/Ports.vue +47 -47
  58. package/components/common/layout/theHeader/helpMenu/About.vue +82 -82
  59. package/components/common/layout/theHeader/helpMenu/aboutNew/AboutNew.vue +103 -103
  60. package/components/common/layout/theHeader/userMenu/modals/preferences/view/ViewOld.vue +112 -112
  61. package/components/common/mainNavigationPanel/MainNavigationPanelNew.vue +336 -336
  62. package/components/common/mainNavigationPanel/MainNavigationPanelOld.vue +311 -311
  63. package/components/common/modals/unsavedChanges/UnsavedChanges.vue +56 -56
  64. package/components/common/monitor/overview/OverviewOld.vue +139 -139
  65. package/components/common/pages/home/StatusContent.vue +49 -49
  66. package/components/common/pages/home/headline/Headline.vue +45 -45
  67. package/components/common/pages/home/headline/HeadlineOld.vue +42 -42
  68. package/components/common/pages/home/lib/models/interfaces.ts +48 -48
  69. package/components/common/pages/home/widgets/Widgets.vue +49 -49
  70. package/components/common/pages/home/widgets/WidgetsNew.vue +86 -86
  71. package/components/common/pages/home/widgets/WidgetsOld.vue +34 -34
  72. package/components/common/pages/home/widgets/hosts/Hosts.vue +27 -27
  73. package/components/common/pages/home/widgets/hosts/lib/config/items.ts +23 -23
  74. package/components/common/pages/home/widgets/vms/Vms.vue +26 -26
  75. package/components/common/pages/home/widgets/vms/VmsOld.vue +35 -35
  76. package/components/common/pages/home/widgets/vms/lib/config/items.ts +19 -19
  77. package/components/common/pages/packages/Packages.vue +208 -208
  78. package/components/common/pages/shortcuts/block/BlockNew.vue +96 -96
  79. package/components/common/pages/shortcuts/block/BlockOld.vue +68 -68
  80. package/components/common/portlets/customAttributes/Portlet.vue +667 -667
  81. package/components/common/portlets/tag/Portlet.vue +433 -433
  82. package/components/common/recursionTree/RecursionTree.vue +223 -223
  83. package/components/common/select/button/ButtonDropdown.vue +108 -108
  84. package/components/common/spiceConsole/Drawer.vue +370 -370
  85. package/components/common/spiceConsole/lib/models/interfaces.ts +5 -5
  86. package/components/common/split/horizontal/HorizontalNew.vue +376 -376
  87. package/components/common/split/horizontal/HorizontalOld.vue +337 -337
  88. package/components/common/split/vertical/Vertical.vue +160 -160
  89. package/components/common/tools/Actions.vue +188 -188
  90. package/components/common/vm/actions/add/Add.vue +774 -772
  91. package/components/common/vm/actions/add/lib/config/steps.ts +247 -247
  92. package/components/common/vm/actions/clone/Clone.vue +798 -668
  93. package/components/common/vm/actions/clone/lib/config/steps.ts +291 -178
  94. package/components/common/vm/actions/clone/toTemplate/ToTemplate.vue +634 -634
  95. package/components/common/vm/actions/clone/toTemplate/lib/config/steps.ts +116 -116
  96. package/components/common/vm/actions/common/customizeHardware/CustomizeHardware.vue +275 -275
  97. package/components/common/vm/actions/common/customizeHardware/CustomizeHardwareNew.vue +274 -274
  98. package/components/common/vm/actions/common/customizeHardware/CustomizeHardwareOld.vue +177 -177
  99. package/components/common/vm/actions/common/customizeHardware/virtualHardware/VirtualHardware.vue +698 -698
  100. package/components/common/vm/actions/common/customizeHardware/virtualHardware/VirtualHardwareNew.vue +410 -410
  101. package/components/common/vm/actions/common/customizeHardware/virtualHardware/VirtualHardwareOld.vue +319 -319
  102. package/components/common/vm/actions/common/customizeHardware/virtualHardware/browseView/BrowseView.vue +219 -219
  103. package/components/common/vm/actions/common/customizeHardware/virtualHardware/bus/Bus.vue +99 -99
  104. package/components/common/vm/actions/common/customizeHardware/virtualHardware/bus/BusNew.vue +117 -117
  105. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/CdDvdDrive.vue +232 -232
  106. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/CdDvdDriveNew.vue +164 -164
  107. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/CdDvdDriveOld.vue +168 -168
  108. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/media/Media.vue +25 -25
  109. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/media/MediaNew.vue +70 -70
  110. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/media/MediaOld.vue +50 -50
  111. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/Cpu.vue +338 -338
  112. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/shares/Shares.vue +140 -140
  113. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/shares/lib/config/options.ts +28 -28
  114. package/components/common/vm/actions/common/customizeHardware/virtualHardware/limit/Limit.vue +220 -220
  115. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/NewHardDisk.vue +368 -368
  116. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/NewHardDiskNew.vue +232 -232
  117. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/NewHardDiskOld.vue +250 -250
  118. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/mode/ModeOld.vue +56 -56
  119. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/sharing/SharingNew.vue +44 -44
  120. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/NewNetwork.vue +286 -286
  121. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/NewNetworkNew.vue +124 -124
  122. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/location/LocationOld.vue +134 -134
  123. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/location/new/New.vue +63 -63
  124. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/location/new/table/lib/config/config.ts +95 -95
  125. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/macAddress/MacAddress.vue +119 -119
  126. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/macAddress/MacAddressNew.vue +69 -69
  127. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/macAddress/MacAddressOld.vue +83 -83
  128. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/NewPciDevice.vue +205 -205
  129. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/directPathIo/DirectPathIoNew.vue +66 -66
  130. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/directPathIo/DirectPathIoOld.vue +62 -62
  131. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/dynamicDirectPathIo/DynamicDirectPathIo.vue +31 -31
  132. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/dynamicDirectPathIo/DynamicDirectPathIoNew.vue +84 -84
  133. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/dynamicDirectPathIo/DynamicDirectPathIoOld.vue +76 -76
  134. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/note/Note.vue +15 -15
  135. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/note/NoteNew.vue +42 -42
  136. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/note/NoteOld.vue +30 -30
  137. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/nvidiaGrid/NvidiaGrid.vue +41 -41
  138. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/nvidiaGrid/NvidiaGridNew.vue +81 -81
  139. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/nvidiaGrid/NvidiaGridOld.vue +84 -84
  140. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newUsbController/NewUsbControllerNew.vue +56 -56
  141. package/components/common/vm/actions/common/customizeHardware/virtualHardware/other/Other.vue +16 -16
  142. package/components/common/vm/actions/common/customizeHardware/virtualHardware/other/OtherNew.vue +30 -30
  143. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/VideoCardNew.vue +104 -104
  144. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/VideoCardOld.vue +112 -112
  145. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/totalVideoMemory/TotalVideoMemoryNew.vue +54 -54
  146. package/components/common/vm/actions/common/customizeHardware/vmoptions/Vmoptions.vue +145 -145
  147. package/components/common/vm/actions/common/customizeHardware/vmoptions/VmoptionsNew.vue +102 -102
  148. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/BootOptionsNew.vue +75 -75
  149. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/delay/Delay.vue +26 -26
  150. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/firmware/Firmware.vue +57 -57
  151. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/firmware/FirmwareNew.vue +42 -42
  152. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/menu/MenuNew.vue +25 -25
  153. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/order/Order.vue +171 -171
  154. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/order/OrderNew.vue +50 -50
  155. package/components/common/vm/actions/common/customizeHardware/vmoptions/generalOptions/GeneralOptionsNew.vue +141 -141
  156. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/New.vue +140 -140
  157. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/copyPaste/CopyPasteNew.vue +30 -30
  158. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/fileTransfer/FileTransferNew.vue +30 -30
  159. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/folderSharing/FolderSharingNew.vue +30 -30
  160. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/keymap/Keymap.vue +32 -32
  161. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/keymap/KeymapNew.vue +39 -39
  162. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/password/Password.vue +103 -103
  163. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/password/PasswordNew.vue +102 -102
  164. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/password/PasswordOld.vue +94 -94
  165. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/usbRedirection/UsbRedirection.vue +28 -28
  166. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/usbRedirection/UsbRedirectionNew.vue +38 -38
  167. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/usbRedirection/UsbRedirectionOld.vue +44 -44
  168. package/components/common/vm/actions/common/lib/models/interfaces.ts +1 -0
  169. package/components/common/vm/actions/common/lib/utils/capabilities.ts +52 -51
  170. package/components/common/vm/actions/common/select/createType/CreateType.vue +74 -74
  171. package/components/common/vm/actions/common/select/storage/Storage.vue +130 -130
  172. package/components/common/vm/actions/common/select/storage/StorageOld.vue +129 -129
  173. package/components/common/vm/actions/common/select/template/Template.vue +65 -65
  174. package/components/common/vm/actions/common/select/template/TemplateTreeView.vue +88 -88
  175. package/components/common/vm/actions/editSettings/new/Skeleton.vue +88 -88
  176. package/components/common/wizards/datastore/add/lib/config/steps.ts +138 -138
  177. package/components/common/wizards/datastore/add/nfs/accessibility/Accessibility.vue +60 -60
  178. package/components/common/wizards/datastore/add/readyComplete/ReadyComplete.vue +92 -92
  179. package/components/common/wizards/network/add/steps/SelectConnectionType.vue +105 -105
  180. package/components/common/wizards/vm/migrate/lib/config/constructDataReady.ts +220 -220
  181. package/components/common/wizards/vm/migrate/select/network/Network.vue +103 -103
  182. package/components/common/wizards/vm/migrate/select/network/table/network/Network.vue +150 -150
  183. package/components/common/wizards/vm/migrate/select/network/table/network/lib/config/advancedTable.ts +91 -91
  184. package/components/common/wizards/vm/migrate/select/priority/Priority.vue +43 -43
  185. package/composables/productNameLocal.ts +30 -30
  186. package/composables/useAppVersion.ts +21 -21
  187. package/lib/models/store/interfaces.ts +1 -0
  188. package/lib/models/store/vm/interfaces.ts +2 -0
  189. package/package.json +1 -1
  190. package/plugins/date.ts +233 -233
  191. package/plugins/directives.ts +24 -24
  192. package/public/spice-console/lib/images/bitmap.js +203 -203
  193. package/public/spice-console/network/spicechannel.js +383 -383
  194. package/store/main/mutations.ts +7 -7
  195. package/store/main/state.ts +7 -7
  196. 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
+ }