Update UI layout code to use new SVG icons

- Add IconWidget, use it for icons instead of ImageWidget.
  Specify icons by name only, look for them (with either
  .svg or .png suffixes) in multiple directories (including
  koreader/settings/icons/ to allow customizing them).
  Don't crash when icon name not found, shown a black
  background warning icon instead.
- Don't trust the icons' native sizes: replace
  scale_for_dpi=true with width/height=DGENERIC_ICON_SIZE,
  so all icons get the same (tunable) size - except in
  a few specific use cases.
- Top and bottom menu bars: normalize, and have icons
  properly centered in them, extend vertical line
  separators up to the edges.
- TOC: adjust expand/collapse icons size to items size
This commit is contained in:
poire-z
2020-12-19 12:18:30 +01:00
parent f0b09fb4b3
commit 24424e505e
41 changed files with 379 additions and 228 deletions

View File

@@ -248,7 +248,7 @@ function RenderImage:renderSVGImageFileWithNanoSVG(filename, width, height, zoom
local bb = Blitbuffer.new(width, height, Blitbuffer.TYPE_BBRGB32)
svg_image:drawTo(bb, zoom, offset_x, offset_y)
svg_image:free()
return bb
return bb, true -- is_straight_alpha=true
end
function RenderImage:renderSVGImageFileWithMupdf(filename, width, height, zoom)
@@ -293,7 +293,7 @@ function RenderImage:renderSVGImageFileWithMupdf(filename, width, height, zoom)
end
page:close()
document:close()
return bb
return bb -- pre-multiplied alpha: no is_straight_alpha=true
end
return RenderImage