saket / telephoto

Building blocks for designing media experiences in Compose UI
https://saket.github.io/telephoto/
Apache License 2.0
869 stars 28 forks source link

Compose Multiplatform support #9

Open saket opened 1 year ago

saket commented 1 year ago

Migrating Modifier.zoomable() to multiplatform ~should be easy~ is done, but SubSamplingImage() will need to be decoupled from Android's BitmapRegionDecoder for lazy loading of bitmap tiles.

Target platforms

JVM

Apple

For loading of images, @colinrtwhite plans to migrate Coil to multiplatform in v3.

saket commented 1 year ago

Thanks to @DSteve595, Modifier.zoomable() will be available as a multiplatform library in the next release 🎉

Phaestion commented 9 months ago

Hi @saket! From what I can gather multiplatform in this context means Android and Desktop right? I can only see the Android and Desktop versions of the zoomable library published. I do see you have a reference to Apple in the original description of the issue, is this part still outstanding?

saket commented 9 months ago

I do see you have a reference to Apple in the original description of the issue, is this part still outstanding?

Yep! Wanna help out by sending a PR? 😊

saket commented 4 months ago

For folks following this issue, Coil has started publishing experimental builds with multiplatform support. I'm going to wait a bit for its APIs and maven coordinates to settle before integrating it with telephoto.

LOOHP commented 4 months ago

Hi, does it mean telephoto will support wasm target soon as well?

saket commented 4 months ago

@LOOHP I don't have any plans for the web yet. Are you actually displaying large images on the web that require subsampling?

LOOHP commented 4 months ago

I'm working on displaying a large railway system map with each station being clickable to perform some action. So it needs to stay HD when it is zoomed in. If telephoto supports wasm as well, it would be fantastic as I will be able to use it for Android, IOS, JVM & Web all in the same Compose Multiplatform code.