Bug 577878 - [GTK] Adjust coordinate system when rendering Tree/Table drag image

Some SWT.EraseItem/SWT.PaintItem completely ignore `event.getBounds()`
and instead use `event.item.getBounds()`, which returns item rect in
control instead of item rect in current paint GC.

On example of it is Eclipse's
`org.eclipse.jface.viewers.StyledCellLabelProvider#paint`

I would say that this is a bug in Eclipse.

However, macOS has a workaround for it, where it adjusts GC's coordinate
system so that GC's coordinates match Control's coordinates (see
`transform.translateXBy()` in `Table.drawInteriorWithFrame_inView()`).
This patch adds a similar workaround for GTK.

Change-Id: I3fed4aacdc28a389e36453f7ede5e62291a95278
Signed-off-by: Alexandr Miloslavskiy <alexandr.miloslavskiy@syntevo.com>
Reviewed-on: https://git.eclipse.org/r/c/platform/eclipse.platform.swt/+/192263
Tested-by: Platform Bot <platform-bot@eclipse.org>
Reviewed-by: Alexander Kurtakov <akurtako@redhat.com>
2 files changed
tree: 7885cf078b9cdac72a8ee5b41357b0b87e67ef6d
  1. bundles/
  2. container/
  3. examples/
  4. features/
  5. local-build/
  6. tests/
  7. .gitattributes
  8. .gitignore
  9. CONTRIBUTING
  10. Jenkinsfile
  11. LICENSE
  12. NOTICE
  13. pom.xml
  14. README.md
README.md

Contributing to SWT

Thanks for your interest in this project.

Developer resources:

See the following description for how to contribute a feature or a bug fix to SWT.

Information regarding source code management, builds, coding standards, and more and be found under the following link.

Contributor License Agreement:

Before your contribution can be accepted by the project, you need to create and electronically sign the Eclipse Foundation Contributor License Agreement (CLA).

Contact:

Contact the project developers via the project's “dev” list.

Search for bugs:

This project uses Bugzilla to track ongoing development and issues.

Create a new bug:

Be sure to search for existing bugs before you create another one. Remember that contributions are always welcome!