OLD | NEW |
(Empty) | |
| 1 var path = require('path'); |
| 2 |
| 3 var licenseHeader = [ |
| 4 '// Copyright 2017 The Chromium Authors. All rights reserved.', |
| 5 '// Use of this source code is governed by a BSD-style license that can be', '
// found in the LICENSE file.' |
| 6 ].join('\n'); |
| 7 |
| 8 var generatedFileNotice = ['/**', ' * NOTICE: This file was generated by sprites
heet_assembler.', ' */'].join('\n'); |
| 9 |
| 10 |
| 11 var DevToolsDescriptors = { |
| 12 /** |
| 13 * @param {!SVGSpriteSheet} spriteSheet |
| 14 * @return {string} |
| 15 */ |
| 16 generateJS: function(spriteSheet) { |
| 17 // Manually craft json which alines with our style. |
| 18 var json = 'UI.Icon.setSpriteSheet({'; |
| 19 json += `\n size: '${spriteSheet.width()}px ${spriteSheet.height()}px',`; |
| 20 json += '\n descriptors: {'; |
| 21 for (var sprite of spriteSheet.sprites()) { |
| 22 var extension = path.extname(sprite.filePath); |
| 23 var spriteName = path.basename(sprite.filePath, extension); |
| 24 var isMask = false; |
| 25 if (spriteName.endsWith('-mask')) { |
| 26 spriteName = spriteName.replace(/-mask$/, ''); |
| 27 isMask = true; |
| 28 } |
| 29 var descriptor = `'${spriteName}': {`; |
| 30 var position = spriteSheet.spritePosition(sprite); |
| 31 descriptor += 'x: ' + (-position.x); |
| 32 descriptor += ', y: ' + (-position.y); |
| 33 descriptor += ', width: ' + sprite.width; |
| 34 descriptor += ', height: ' + sprite.height; |
| 35 if (isMask) |
| 36 descriptor += ', isMask: ' + isMask; |
| 37 descriptor += '},'; |
| 38 json += '\n ' + descriptor; |
| 39 } |
| 40 json += '\n }'; |
| 41 json += '\n});'; |
| 42 var fileHeader = licenseHeader + '\n\n' + generatedFileNotice + '\n\n'; |
| 43 return fileHeader + json; |
| 44 }, |
| 45 }; |
| 46 |
| 47 module.exports = DevToolsDescriptors; |
OLD | NEW |