1. 23 Feb, 2023 3 commits
  2. 21 Feb, 2023 1 commit
    • Andrew Kolos's avatar
      Speed up first asset load by using the binary-formatted asset manifest for... · e3db0488
      Andrew Kolos authored
      Speed up first asset load by using the binary-formatted asset manifest for image resolution (#118782)
      
      * add asset manifest bin loading and asset manifest api
      
      * use new api for image resolution
      
      * remove upfront smc data casting
      
      * fix typecasting issue
      
      * remove unused import
      
      * fix tests
      
      * lints
      
      * lints
      
      * fix import
      
      * fix outdated type name
      
      * restore AssetManifest docstrings
      
      * update test
      
      * update other test
      
      * make error message for invalid keys more useful
      e3db0488
  3. 03 Feb, 2023 1 commit
  4. 26 Jan, 2023 1 commit
    • Todd Volkert's avatar
      Add more flexible image API (#118966) · b319938e
      Todd Volkert authored
      This updates the framework to provide higher level wrappers around ui.instantiateImageCodecWithSize(). Functionally, this doesn't change anything (other than deprecating the older loadBuffer() method in favor of loadImage()), but it sets the stage for a simpler change that will allow us to provide a more flexible way to load sized images.
      
      #118543
      b319938e
  5. 20 Jan, 2023 1 commit
  6. 18 Jan, 2023 2 commits
    • Michael Goderbauer's avatar
      remove single-view assumption from `paintImage` (#118721) · ae1cc18c
      Michael Goderbauer authored
      * remove single-view assumption from paintImage
      
      * dpr
      
      * fix test for web
      ae1cc18c
    • Paul Berry's avatar
      Fix applyBoxFit's handling of fitWidth and fitHeight. (#117185) · 997d4361
      Paul Berry authored
      * Fix applyBoxFit's handling of fitWidth and fitHeight.
      
      Previously, in `fitWidth` mode, if the input size had a wider aspect
      ratio than the output size, `applyBoxFit` would make the source rect
      taller than the input size in order to match the aspect ratio of the
      destination rect.  Similarly, in `fitHeight` mode, if the input size
      had a taller aspect ratio than the output size, `applyBoxFit` would
      make the source rect wider than the input size in to match the aspect
      ratio of the destination rect.  This is in contrast to all the other
      modes, which never output a source rect that's larger than the input
      size.
      
      Most of the time this worked as intended (since attempting to blit
      pixels that are outside the source image has no effect), however it
      meant that if a user attempted to create a `BoxDecoration` that used
      both `fitWidth` and `repeatY` (e.g. in an attempt to tile a background
      image), the image would not actually appear to repeat, since the logic
      in `paintImage` for determining the proper tiling stride is based on
      the destination image size, meaning that the entire destination rect
      would be covered in a single tile.
      
      This change modifies `applyBoxFit` so that in `fitWidth` mode, if the
      input size has a wider aspect ratio than the output size, it uses
      formulas that are equivalent to `contain`, whereas if the input size
      has a taller aspect ratio than the output size, it uses formulas that
      are equivalent to `cover`.  And vice versa for `fitHeight` mode.  This
      produces source and destination rects that match the behaviour
      specified in https://api.flutter.dev/flutter/painting/BoxFit.html.
      
      * Apply suggestions from code review
      Co-authored-by: 's avatarMichael Goderbauer <goderbauer@google.com>
      997d4361
  7. 13 Jan, 2023 2 commits
  8. 21 Dec, 2022 1 commit
  9. 16 Dec, 2022 1 commit
  10. 13 Dec, 2022 1 commit
  11. 07 Dec, 2022 2 commits
  12. 05 Dec, 2022 1 commit
  13. 07 Nov, 2022 1 commit
  14. 25 Oct, 2022 1 commit
  15. 18 Oct, 2022 1 commit
  16. 14 Oct, 2022 1 commit
  17. 07 Oct, 2022 2 commits
  18. 06 Oct, 2022 2 commits
  19. 04 Oct, 2022 1 commit
  20. 01 Oct, 2022 1 commit
  21. 29 Sep, 2022 1 commit
  22. 27 Sep, 2022 1 commit
  23. 23 Sep, 2022 1 commit
  24. 19 Sep, 2022 1 commit
  25. 13 Sep, 2022 1 commit
  26. 07 Sep, 2022 1 commit
  27. 06 Sep, 2022 1 commit
  28. 29 Aug, 2022 1 commit
  29. 25 Aug, 2022 1 commit
  30. 21 Aug, 2022 1 commit
  31. 19 Aug, 2022 1 commit
  32. 17 Aug, 2022 1 commit
  33. 16 Aug, 2022 1 commit