Skip to content

[virtualx] use win context for CopyPixmap and SetOpacity methods#21924

Draft
linev wants to merge 8 commits intoroot-project:masterfrom
linev:x11_context
Draft

[virtualx] use win context for CopyPixmap and SetOpacity methods#21924
linev wants to merge 8 commits intoroot-project:masterfrom
linev:x11_context

Conversation

@linev
Copy link
Copy Markdown
Member

@linev linev commented Apr 15, 2026

These two methods used to emulate transparency of the sub-pads on X11.

Therefore provide SetOpacityW and CopyPixmapW methods for all platforms.
And use these methods from TPadPainter class

TGLPadPainter use absolutely different approach and not invoke these methods directly

IMPORTANT!
Move handling of pad opacity fill styles 4000..4100 from TPad::PaintBox to TPad::PaintBorder.
Remove all pad-special fill styles handling from TPad::PaintBox - now it only dedicated for normal painting.
Makes logic much clear now.

Probably peace of the code emulating transparency can be moved later to TPadPainter class.

@linev linev self-assigned this Apr 15, 2026
@linev linev requested review from couet, dpiparo and pcanal as code owners April 15, 2026 15:39
@linev linev marked this pull request as draft April 15, 2026 15:39
@github-actions
Copy link
Copy Markdown

github-actions bot commented Apr 15, 2026

Test Results

    22 files      22 suites   3d 6h 56m 39s ⏱️
 3 833 tests  3 782 ✅  1 💤 50 ❌
76 555 runs  76 487 ✅ 18 💤 50 ❌

For more details on these failures, see this check.

Results for commit 227e00b.

♻️ This comment has been updated with latest results.

There are several pad fill attributes which only relevant for pad.
It is fill style 4000..4100 or fillcolor 10 for fillstyle 3000..3100

Move all these special attribute only to TPad::PaintBorder
to exclude misuse of these attributes in different classes
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant