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

Windows gdi skija #136

Draft
wants to merge 339 commits into
base: master
Choose a base branch
from
Draft

Windows gdi skija #136

wants to merge 339 commits into from

Conversation

DenisUngemach
Copy link

No description provided.

fedejeanne and others added 30 commits November 16, 2024 11:05
Signed-off-by: Denis Ungemach <denis.ungemach@sap.com>
Dieter Mai and others added 20 commits February 28, 2025 10:33
The isScrolled-method is not longer needed and thus removed
one universal method that triggers a redraw only if the control's
isEnabled state changes
because x and y from the bounds are irrelevant for drawing and encourage
to use the rect incorrectly for filling
and delegates to .computeDefaultSize()
if the selection started at the beginning, pressing Left did not unselect it (same for end/Right)
First PoC:
Execute the class window and check the feature.
-------------------------------------------
Explanation
In windows create a memory device context (dc) and point a skija surface
to this dc. Basically it would always be possible to draw to the
surface.
In the paint method, use OS.BitBlt to push the memory area to the
window.
Ideas:
-> It would also be possible to push only specific areas to the window.
So redraw of specific areas is thinkable.
-> Also multiple memory dcs could be used.
- The best alternative in windows GDI to vsync is the call of DwmFlush
before BitBlt
@DenisUngemach
Copy link
Author

Maven Build: Build-SWT-native-binaries-for-running-platform
necessary.

I had to add a new OS call: OS.DwmFlush()

Copy link

github-actions bot commented Mar 3, 2025

Test Results

   329 files  ±0     329 suites  ±0   5m 23s ⏱️ +2s
 4 102 tests ±0   3 811 ✅ ±0  291 💤 ±0  0 ❌ ±0 
12 172 runs  ±0  11 251 ✅ ±0  921 💤 ±0  0 ❌ ±0 

Results for commit 637b781. ± Comparison against base commit 405fc07.

♻️ This comment has been updated with latest results.

Ungemach added 2 commits March 3, 2025 11:49
- now the PoC seems fine. It should be possible now to use it in SWT as
base drawing feature. Of course for this all the eventing etc must be
added.
@HeikoKlare HeikoKlare force-pushed the master branch 4 times, most recently from a9f24e5 to d2109d6 Compare March 4, 2025 16:50
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.

6 participants