Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 351751 - Unable to paint over OS theme tree expansion controls
Summary: Unable to paint over OS theme tree expansion controls
Status: CLOSED WONTFIX
Alias: None
Product: Platform
Classification: Eclipse Project
Component: SWT (show other bugs)
Version: 3.6.2   Edit
Hardware: PC Linux
: P3 normal (vote)
Target Milestone: ---   Edit
Assignee: Platform-SWT-Inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords: triaged
Depends on:
Blocks:
 
Reported: 2011-07-11 16:38 EDT by Chris Williams CLA
Modified: 2018-08-16 11:08 EDT (History)
2 users (show)

See Also:


Attachments
Drawing over top OS controls doesn't seem to work properly, seen here (283.27 KB, image/png)
2011-07-11 16:39 EDT, Chris Williams CLA
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Chris Williams CLA 2011-07-11 16:38:31 EDT
Build Identifier: I20110428-0848

The arrows/boxes on the left of tree items used for expanding/collapsing the tree are being drawn by the OS according to the OS theme. We're unable to use low-level SWT Paint listeners to paint/draw over top those controls (to provide our own) by "erasing" them drawing the background color and then drawing a fg color over. Instead we see our drawing on top of the OS drawing, rather than "erasing" the OS one with our bg color and then drawing over that.

Reproducible: Always
Comment 1 Chris Williams CLA 2011-07-11 16:39:24 EDT
Created attachment 199445 [details]
Drawing over top OS controls doesn't seem to work properly, seen here
Comment 2 Chris Williams CLA 2011-07-11 16:40:02 EDT
This is somewhat related to https://bugs.eclipse.org/bugs/show_bug.cgi?id=345798
Comment 3 Alexander Kurtakov CLA 2018-07-13 09:07:07 EDT
Do you still face this issue? If yes, please attach a pure swt snippet to ease testing.
Comment 4 Eric Williams CLA 2018-08-16 11:08:30 EDT
GTK doesn't allow you to paint over the expander arrows, this is a platform limitation we cannot work around.