Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Composables with Modifier.zoomable() aren't drawn on first frame #8

Closed
DSteve595 opened this issue May 14, 2023 · 1 comment
Closed
Assignees
Labels
enhancement New feature or request

Comments

@DSteve595
Copy link
Collaborator

This breaks static previews, though interactive ones work.
Maybe check for ZoomableContentLocation.SameAsLayoutBounds, and if present, fallback to ScaleFactor(1, 1) rather than ScaleFactor.Zero?

@DSteve595 DSteve595 added the bug Something isn't working label May 14, 2023
@saket saket self-assigned this Jan 21, 2024
@saket saket added enhancement New feature or request and removed bug Something isn't working labels Jan 21, 2024
saket added a commit that referenced this issue Jan 22, 2024
@saket
Copy link
Owner

saket commented Jan 22, 2024

7d3a13c fixes this partially by making layout previews work for Modifier.zoomable(). I tried to remove the 1 frame lag as well, but it is slightly involved and may not be worth the effort considering that placeholder images are already displayed without any frame delays.

@saket saket closed this as completed Jan 22, 2024
github-merge-queue bot pushed a commit to slackhq/circuit that referenced this issue Feb 18, 2024
…1215)

This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
|
[me.saket.telephoto:zoomable-image-coil](https://togithub.com/saket/telephoto)
| dependencies | minor | `0.7.1` -> `0.8.0` |

---

> [!WARNING]
> Some dependencies could not be looked up. Check the Dependency
Dashboard for more information.

---

### Release Notes

<details>
<summary>saket/telephoto
(me.saket.telephoto:zoomable-image-coil)</summary>

### [`v0.8.0`](https://togithub.com/saket/telephoto/releases/tag/0.8.0)

[Compare
Source](https://togithub.com/saket/telephoto/compare/0.7.1...0.8.0)

Breaking changes

- Reordered `SubSamplingImage()`'s parameters to move `Modifier` below
all required parameters.

New changes

- Update Compose UI to `1.6.1` and Compose Multiplatform to `1.6.0-rc02`
- Introduced
[ZoomableState#transformedContentBounds](https://togithub.com/saket/telephoto/blob/706cf08cb976c0d9d9c6d0f95e4e64fc4efbf4ef/zoomable/src/commonMain/kotlin/me/saket/telephoto/zoomable/ZoomableState.kt#L88-L96)
for observing transformed content bounds. This can be used for drawing
decorations around the content or performing hit tests.
- Placeholder images now respond to click listeners. Additionally, they
will swallow all other zoom gestures instead of ignoring them.
-
[saket/telephoto#3:
Read color space of bitmaps from Coil and Glide.

Bug fixes

-
[saket/telephoto#60,
[saket/telephoto#65:
Improved detection of pinch-to-zoom gestures.
-
[saket/telephoto#8:
Composables with `Modifier.zoomable()` are now drawn on the first frame.
This fixes their broken layout preview.
-
[saket/telephoto#58:
Fixed a resource leak when an image's EXIF metadata is read.
- `ZoomableState#resetZoom()` now calculates the content's position on
the same UI frame.
- Images no longer flicker on start when they can't zoom-in any further.

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Renovate
Bot](https://togithub.com/renovatebot/renovate).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4xOTQuMyIsInVwZGF0ZWRJblZlciI6IjM3LjE5NC4zIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9-->
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants