-
Notifications
You must be signed in to change notification settings - Fork 22
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
Bug? in SkiaControl.Shared.AdaptCachedLayout is doubling Left/Top offsets. TBD under what circumstances. #94
Comments
Thanks, Steve! Sorry for slow reaction, sick these days, will get in ranks soon. |
I think I know where this might come from. |
One thing to know is that we land inside Arrange either when the parent measures us, either for "self-measure" that happens for top views on the canvas AND occasionally for any view when it's marked as dirty but for reason it's redrawing BEFORE the parent had the luck to measure it as due. |
Failing to reproduce :/ Would need to see your custom SkiaLayout specifics that are causing this. |
Related to #102, at first approach reproducible with parent container not taking full canvas width and children centered. |
Must be resolved with #105 |
I believe I have surfaced a latent problem in
AdaptCachedLayout
.I need to determine exactly what in my layout of SkiaControls causes this.
This is when scrolling
SkiaScroll
. It has become a problem because on one path through DrawnUI code, the doubling occurs, BUT on a different path, the doubling does not occur. As a result, my content draws in one of two different positions (offsets), depending on ...[I'll add a comment when I know more]...What I see so far:
AdaptCachedLayout
is called for my customSkiaLayout
, which isContent
of aSkiaScroll
.AdaptCachedLayout
is called withdestination
that hasLeft, Top
offsets.ArrangedDestination
ALSO has those offsets!Example:
Workaround:
I override AdaptCachedLayout to remove
newDestination.Offset(...);
line.UPDATE
Given workaround, no longer have "doubled" values.
BUT my control is still drawn in two different positions, when it has been scrolled.
Now instead of "correct offset" and "doubled offset", the two positions are:
"zero offset", as if Scroll = (0,0), and "correct offset".
Investigating.
The text was updated successfully, but these errors were encountered: