mirror of
https://github.com/react/react-native-devtools-frontend.git
synced 2026-10-08 12:53:45 +08:00
The icons rotate depending on flex-direction to indicate how the wraping would work. Bug: chromium:1175699 Change-Id: I0cbb32c6d810ac82ad3afc85209e38d857fab3b9 Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2678694 Reviewed-by: Jan Scheffler <janscheffler@chromium.org> Reviewed-by: Patrick Brosset <patrick.brosset@microsoft.com> Commit-Queue: Alex Rudenko <alexrudenko@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.