Skip to content

slint-sc: blend translucent rectangles - #12810

Draft
tronical wants to merge 2 commits into
masterfrom
simon/sc-blend
Draft

slint-sc: blend translucent rectangles#12810
tronical wants to merge 2 commits into
masterfrom
simon/sc-blend

Conversation

@tronical

@tronical tronical commented Aug 6, 2026

Copy link
Copy Markdown
Member

A Rectangle background with an alpha channel below 0xff now composites over
what the frame buffer already holds, instead of overwriting it. Color gains a
public composite_over, the Porter-Duff over operation.

The Window background must now be an opaque colour literal, so a rendered
frame doesn't depend on what the buffer held before. It can no longer be set by
the application at all — a property reference can't be proven opaque.
Rectangles keep that freedom.

The Color channel accessors were the only ones missing a doc comment.
A rectangle background with an alpha channel below 0xff now composites over
what the frame buffer holds instead of overwriting it. Color gains a public
composite_over implementing the Porter-Duff over operation.

The window background must be a color literal with an alpha channel of 0xff,
so that a rendered frame doesn't depend on what the buffer held beforehand.
The check runs after inlining, so it sees a background inherited from a base
component, and before ensure_window, which would otherwise give a non-Window
root a synthetic background from the style.
@tronical
tronical marked this pull request as draft August 6, 2026 15:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant