Bug 567898 - [JFace][HiDPI] ImageDescriptor support alternative naming
scheme for high dpi

Currently ImageDescriptor automatically provides higher DPI images if a
resource exits that ends with @x2 or @1.5

This works well if only one resolution is used across the application
(e.g. 16x16 pixel icons) but rapidly blows up if multiple resolutions
are used as there are duplications. The second limitation is that only
two fixed zoom levels are supported at the moment.

The current approach can be enhanced to support another common scheme
where icon resources are organized in folders holding the resolution in
folder-name (e.g. icons/16x16/icon1.png, icons/32x32/icon1.png and so
on). This also has the advantage that it is possible to implement other
scaling factors beside the currently fixed ones without any code
changes.

This commit includes the following:

- add/extend test cases for both schemes (current + fallback) to ensure
compatibility with both schemes
- add proposed alternative naming scheme for high-dpi icons as a
fallback if the @x2/@x1.5 does not find a suitable resource


Change-Id: Ib156aedf9db8ef115ab8dd566731124f3c6e1d48
Signed-off-by: Christoph Läubrich <laeubi@laeubi-soft.de>
8 files changed
tree: a05aa3b0b0ba02fd2865f964dfe94c0af6344e8f
  1. .mvn/
  2. bundles/
  3. examples/
  4. features/
  5. releng/
  6. tests/
  7. .gitignore
  8. CONTRIBUTING
  9. CONTRIBUTING.md
  10. LICENSE
  11. NOTICE
  12. pom.xml
  13. README.md
README.md

Contributing to Eclipse Platform UI project

Thanks for your interest in this project.

Project description:

Platform UI provides the basic building blocks for user interfaces built with Eclipse.

Some of these form the Eclipse Rich Client Platform (RCP) and can be used for arbitrary rich client applications, while others are specific to the Eclipse IDE. The Platform UI codebase is built on top of the Eclipse Standard Widget Toolkit (SWT), which is developed as an independent project.

Website: http://www.eclipse.org/platform/ui/

For more information, refer to the Platform UI wiki page.

How to contribute:

Contributions to Platform UI are most welcome. There are many ways to contribute, from entering high quality bug reports, to contributing code or documentation changes. For a complete guide, see the Platform UI - How to contribute wiki page page on the team wiki.

Test dependencies

Several test plug-ins have a dependency to the Mockito and Hamcrest libraries. Please install them from the Orbit Download page]3:

Currently the following plug-ins are required:

  • net.bytebuddy.byte-buddy
  • net.bytebuddy.byte-buddy-agent
  • org.hamcrest.core
  • org.mockito
  • org.objenesis

How to build on the command line

You need Maven 3.3.1 installed. After this you can run the build via the following command:

mvn clean verify -Pbuild-individual-bundles

Developer resources:

Information regarding source code management, builds, coding standards, and more.

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).

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!

Contact:

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

License

Eclipse Public License (EPL) 2.0