mirror of
https://github.com/react/react-native-devtools-frontend.git
synced 2026-10-11 06:04:55 +08:00
This saves 103 bytes:
$ wc -c front_end/Images/resourcesTimeGraphIcon.*
1291 front_end/Images/resourcesTimeGraphIcon.avif
1394 front_end/Images/resourcesTimeGraphIcon.png
Bug: chromium:1161667
Change-Id: Ifcecfaa4498fc5e7a50f29a7d04f13647c8238eb
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2606334
Auto-Submit: Mathias Bynens <mathias@chromium.org>
Commit-Queue: Benedikt Meurer <bmeurer@chromium.org>
Reviewed-by: Benedikt Meurer <bmeurer@chromium.org>
Adding new icons:
-
Out of a spritesheet (if you have a separately saved icon already go to 2.):
- Open a spritesheet with the icon of interest, like
largeIcons.svgin Inkscape. - Make sure it's the
src/version of the spritesheet. - Copy-paste the icon to a new page. Make sure it preserved its original size and aspect ratio, and isn't otherwise altered.
- To make sure step (3) below doesn't destroy the icon, it might be necessary to resize it. Just select everything and use the elements in the top toolbar to resize the icon (make sure the aspect ratio is preserved).
- Set the size of the page to match the icon. You may use Inkscape's Edit>Resize Page to Selection command to accomplish this.
- If you chose to include padding in the icon, make sure the icon is centered within the page.
- Save the icon with
_icon.svgsuffix. For instancelist_icon.svg.
- Open a spritesheet with the icon of interest, like
-
Add respective entries to
.gnifiles.- Update the
devtols_image_fileslist indevtools_image_files.gni. - Update the
grd_files_release_sourceslist indevtools_grd_files.gni.
- Update the
-
Optimize:
./scripts/optimize_svg_images.py.- This script produces, for example,
Images/list_icon.svgfromImages/src/list_icon.svgby rounding numbers and removing hopefully unnecessary content. However, it might end up distorting/destroying the icon, especially if it is too small. Make sure to open the output of the optimiztion process (e.g.Images/list_icon.svg) in Inkscape and inspect it for damage. Enlarging the input image, as desribed in step (1) usually circumvents this.
-
Use Icon component in the DevTools front-end:
- Visit https://docs.google.com/document/d/1EA--IokG6YW51y7unS8dIKUx6EtyjETT0uglmvIpfsg/edit#heading=h.xgjl2srtytjt for more information on that.