Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file modified Resources/AddText-16-symbolic.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified Resources/AddText-22-symbolic.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified Resources/AddText-24-symbolic.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified Resources/AddText-32-symbolic.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified Resources/AddText-44-symbolic.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified Resources/AddText-48-symbolic.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified Resources/AddText-64-symbolic.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified Resources/AddText-symbolic.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified Resources/Arrow-16-symbolic.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified Resources/Arrow-22-symbolic.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified Resources/Arrow-24-symbolic.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified Resources/Arrow-32-symbolic.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified Resources/Arrow-44-symbolic.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified Resources/Arrow-48-symbolic.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified Resources/Arrow-64-symbolic.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified Resources/Arrow-symbolic.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified Resources/CopyImage-16-symbolic.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified Resources/CopyImage-22-symbolic.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified Resources/CopyImage-24-symbolic.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified Resources/CopyImage-32-symbolic.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified Resources/CopyImage-44-symbolic.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified Resources/CopyImage-48-symbolic.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified Resources/CopyImage-64-symbolic.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified Resources/CopyImage-symbolic.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified Resources/Eraser-16-symbolic.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified Resources/Eraser-22-symbolic.png
Binary file modified Resources/Eraser-24-symbolic.png
Binary file modified Resources/Eraser-32-symbolic.png
Binary file modified Resources/Eraser-44-symbolic.png
Binary file modified Resources/Eraser-48-symbolic.png
Binary file modified Resources/Eraser-64-symbolic.png
Binary file modified Resources/Eraser-symbolic.png
Binary file modified Resources/Highligher-16-symbolic.png
Binary file modified Resources/Highligher-22-symbolic.png
Binary file modified Resources/Highligher-24-symbolic.png
Binary file modified Resources/Highligher-32-symbolic.png
Binary file modified Resources/Highligher-44-symbolic.png
Binary file modified Resources/Highligher-48-symbolic.png
Binary file modified Resources/Highligher-64-symbolic.png
Binary file modified Resources/Highligher-symbolic.png
8 changes: 0 additions & 8 deletions Resources/Icons/NumberedStep-16.svg
Diff not rendered.
4 changes: 0 additions & 4 deletions Resources/Icons/Rectangle-16.svg
Diff not rendered.
Binary file modified Resources/MarqueeTool-16-symbolic.png
Binary file modified Resources/MarqueeTool-22-symbolic.png
Binary file modified Resources/MarqueeTool-24-symbolic.png
Binary file modified Resources/MarqueeTool-32-symbolic.png
Binary file modified Resources/MarqueeTool-44-symbolic.png
Binary file modified Resources/MarqueeTool-48-symbolic.png
Binary file modified Resources/MarqueeTool-64-symbolic.png
Binary file modified Resources/MarqueeTool-symbolic.png
Binary file modified Resources/More-16-symbolic.png
Binary file modified Resources/More-22-symbolic.png
Binary file modified Resources/More-24-symbolic.png
Binary file modified Resources/More-32-symbolic.png
Binary file modified Resources/More-44-symbolic.png
Binary file modified Resources/More-48-symbolic.png
Binary file modified Resources/More-64-symbolic.png
Binary file modified Resources/More-symbolic.png
Binary file modified Resources/NumberedStep-16-symbolic.png
Binary file modified Resources/NumberedStep-22-symbolic.png
Binary file modified Resources/NumberedStep-24-symbolic.png
Binary file modified Resources/NumberedStep-32-symbolic.png
Binary file modified Resources/NumberedStep-44-symbolic.png
Binary file modified Resources/NumberedStep-48-symbolic.png
Binary file modified Resources/NumberedStep-64-symbolic.png
Binary file modified Resources/NumberedStep-symbolic.png
Binary file modified Resources/PenTool-16-symbolic.png
Binary file modified Resources/PenTool-22-symbolic.png
Binary file modified Resources/PenTool-24-symbolic.png
Binary file modified Resources/PenTool-32-symbolic.png
Binary file modified Resources/PenTool-44-symbolic.png
Binary file modified Resources/PenTool-48-symbolic.png
Binary file modified Resources/PenTool-64-symbolic.png
Binary file modified Resources/PenTool-symbolic.png
Binary file modified Resources/Preferences-16-symbolic.png
Binary file modified Resources/Preferences-22-symbolic.png
Binary file modified Resources/Preferences-24-symbolic.png
Binary file modified Resources/Preferences-32-symbolic.png
Binary file modified Resources/Preferences-44-symbolic.png
Binary file modified Resources/Preferences-48-symbolic.png
Binary file modified Resources/Preferences-64-symbolic.png
Binary file modified Resources/Preferences-symbolic.png
Binary file modified Resources/Rectangle-16-symbolic.png
Binary file modified Resources/Rectangle-22-symbolic.png
Binary file modified Resources/Rectangle-24-symbolic.png
Binary file modified Resources/Rectangle-32-symbolic.png
Binary file modified Resources/Rectangle-44-symbolic.png
Binary file modified Resources/Rectangle-48-symbolic.png
Binary file modified Resources/Rectangle-64-symbolic.png
Binary file modified Resources/Rectangle-symbolic.png
Binary file modified Resources/Redact-16-symbolic.png
Binary file modified Resources/Redact-22-symbolic.png
Binary file modified Resources/Redact-24-symbolic.png
Binary file modified Resources/Redact-32-symbolic.png
Binary file modified Resources/Redact-44-symbolic.png
Binary file modified Resources/Redact-48-symbolic.png
Binary file modified Resources/Redact-64-symbolic.png
Binary file modified Resources/Redact-symbolic.png
Binary file modified Resources/Redo-16-symbolic.png
Binary file modified Resources/Redo-22-symbolic.png
Binary file modified Resources/Redo-24-symbolic.png
Binary file modified Resources/Redo-32-symbolic.png
Binary file modified Resources/Redo-44-symbolic.png
Binary file modified Resources/Redo-48-symbolic.png
Binary file modified Resources/Redo-64-symbolic.png
Binary file modified Resources/Redo-symbolic.png
Binary file modified Resources/Save-16-symbolic.png
Binary file modified Resources/Save-22-symbolic.png
Binary file modified Resources/Save-24-symbolic.png
Binary file modified Resources/Save-32-symbolic.png
Binary file modified Resources/Save-44-symbolic.png
Binary file modified Resources/Save-48-symbolic.png
Binary file modified Resources/Save-64-symbolic.png
Binary file modified Resources/Save-symbolic.png
Binary file modified Resources/Share-16-symbolic.png
Binary file modified Resources/Share-22-symbolic.png
Binary file modified Resources/Share-24-symbolic.png
Binary file modified Resources/Share-32-symbolic.png
Binary file modified Resources/Share-44-symbolic.png
Binary file modified Resources/Share-48-symbolic.png
Binary file modified Resources/Share-64-symbolic.png
Binary file modified Resources/Share-symbolic.png
Binary file modified Resources/Undo-16-symbolic.png
Binary file modified Resources/Undo-22-symbolic.png
Binary file modified Resources/Undo-24-symbolic.png
Binary file modified Resources/Undo-32-symbolic.png
Binary file modified Resources/Undo-44-symbolic.png
Binary file modified Resources/Undo-48-symbolic.png
Binary file modified Resources/Undo-64-symbolic.png
Binary file modified Resources/Undo-symbolic.png
35 changes: 15 additions & 20 deletions scripts/render_toolbar_icons.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,11 +10,12 @@
#
"""Render the toolbar icons from Resources/Icons/*.svg to the PNGs the app loads.

Each icon is drawn on a 24-unit grid, its art inside 1 to 23. It's rendered at every size the
toolbar draws it at, so no icon is resampled on screen: <Stem>-<px>-symbolic.png for 16, 24 and 32
px (and 48 and 64, their 2x), and 22 and 44 px cut from the 24 and 48 px renderings (the tool
switcher's size, the grid's 1-unit margin left off, so its lines stay on whole pixels). The
24 px rendering is also <Stem>-symbolic.png, the name older code and packaging look for.
Each icon is drawn on a 24-unit grid, its art inside 3 to 21. Only that middle 18 units is
rendered, so the glyph fills about 85% of the icon, as Fluent's and Adwaita's do. Drawn whole,
the grid left the glyph at about 62%, and 10 px in WinUITheme's 16 px toolbar icon. It's rendered
at every size the toolbar draws it at, so no icon is resampled on screen:
<Stem>-<px>-symbolic.png for 16, 22, 24 and 32 px, and 44, 48 and 64, their 2x. The 24 px
rendering is also <Stem>-symbolic.png, the name older code and packaging look for.

<Stem>-<px>.svg, when there is one, replaces <Stem>.svg at that size: a drawing hinted to that
size's pixels, still on the 24-unit grid.
Expand All @@ -36,23 +37,17 @@
SOURCES = os.path.join(ROOT, "Resources", "Icons")
OUTPUT = os.path.join(ROOT, "Resources")

# Pixel size -> (scale from the 24-unit grid, units cut from each edge).
SIZES = {
16: (16 / 24, 0),
22: (1, 1),
24: (1, 0),
32: (32 / 24, 0),
44: (2, 1),
48: (2, 0),
64: (64 / 24, 0),
}
SIZES = (16, 22, 24, 32, 44, 48, 64)
# The part of the 24-unit grid an icon shows: the 18 units in the middle.
MARGIN = 3
SHOWN = 24 - 2 * MARGIN


def render(handle, pixels, scale, margin):
def render(handle, pixels):
surface = cairo.ImageSurface(cairo.FORMAT_ARGB32, pixels, pixels)
context = cairo.Context(surface)
context.scale(scale, scale)
context.translate(-margin, -margin)
context.scale(pixels / SHOWN, pixels / SHOWN)
context.translate(-MARGIN, -MARGIN)
viewport = Rsvg.Rectangle()
viewport.x, viewport.y, viewport.width, viewport.height = 0, 0, 24, 24
handle.render_document(context, viewport)
Expand All @@ -69,10 +64,10 @@ def main():
continue
stem = name[:-len(".svg")]
handle = Rsvg.Handle.new_from_file(os.path.join(SOURCES, name))
for pixels, (scale, margin) in SIZES.items():
for pixels in SIZES:
override = os.path.join(SOURCES, "%s-%d.svg" % (stem, pixels))
source = Rsvg.Handle.new_from_file(override) if os.path.exists(override) else handle
surface = render(source, pixels, scale, margin)
surface = render(source, pixels)
surface.write_to_png(os.path.join(OUTPUT, "%s-%d-symbolic.png" % (stem, pixels)))
if pixels == 24:
surface.write_to_png(os.path.join(OUTPUT, "%s-symbolic.png" % stem))
Expand Down
Loading