}
@Override
- public void arrangeSkin(int scale, short rotationId) {
+ public void arrangeSkin(final int scale, final short rotationId) {
//TODO: eject the calculation from UI thread
/* calculate display bounds */
public abstract void composeInternal(DisplayCanvas DisplayCanvas,
int x, int y, int scale, short rotationId);
- public abstract void arrangeSkin(int scale, short rotationId);
+ public abstract void arrangeSkin(final int scale, final short rotationId);
public abstract void updateSkin();
public abstract Rectangle adjustDisplayGeometry(
}
@Override
- public void arrangeSkin(int scale, short rotationId) {
+ public void arrangeSkin(final int scale, final short rotationId) {
super.arrangeSkin(scale, rotationId);
- rotary.arrange(scale, rotationId);
-
shell.getDisplay().syncExec(new Runnable() {
@Override
public void run() {
logger.info("arrange a rotary");
- Image rotaryImage = rotary.getImage();
+ rotary.arrange(scale, rotationId);
+
+ final Image rotaryImage = rotary.getImage();
if (rotaryImage != null) {
final int rotaryW = rotaryImage.getImageData().width;
final int rotaryH = rotaryImage.getImageData().height;
/* calculate rotary bounds */
- Rectangle displayBounds = currentState.getDisplayBounds();
+ final Rectangle displayBounds = currentState.getDisplayBounds();
final int offsetX = (rotaryW - displayBounds.width) / 2;
final int offsetY = (rotaryH - displayBounds.height) / 2;
rotary.setBounds(
Region displayRegion = displayCanvas.getRegion();
displayRegion.translate(offsetX, offsetY);
rotaryRegion.subtract(displayRegion);
- displayRegion.translate(-offsetX, -offsetY);
rotary.setRegion(rotaryRegion);
} else {
}
@Override
- public void arrangeSkin(int scale, short rotationId) {
+ public void arrangeSkin(final int scale, final short rotationId) {
//TODO: eject the calculation from UI thread
/* calculate display bounds */
public void arrange(final int scale, final short rotationId) {
logger.info("scale : " + scale + ", rotate : " + rotationId);
- parent.getDisplay().syncExec(new Runnable() {
- @Override
- public void run() {
- if (image != null) {
- image.dispose();
- image = null;
- }
-
- Image imageRotary = imageRegistry.getSkinImage(
- rotationId, SkinImageType.DISPLAY_ROTARY_IMAGE);
- if (imageRotary != null) {
- image = SkinUtil.createScaledImage(
- parent.getDisplay(), imageRotary, rotationId, scale);
- }
-
- redraw();
- }
- });
+ if (image != null) {
+ image.dispose();
+ image = null;
+ }
+
+ final Image imageRotary = imageRegistry.getSkinImage(
+ rotationId, SkinImageType.DISPLAY_ROTARY_IMAGE);
+ if (imageRotary != null) {
+ image = SkinUtil.createScaledImage(
+ parent.getDisplay(), imageRotary, rotationId, scale);
+ }
+
+ redraw();
}
private void addListeners() {
}
ImageData imageData = image.getImageData();
- int width = imageData.width;
- int height = imageData.height;
+ final int width = imageData.width;
+ final int height = imageData.height;
Region region = new Region();
region.add(new Rectangle(0, 0, width, height));
}
ImageData imageData = image.getImageData();
- int right = left + width;
- int bottom = top + height;
+ final int right = left + width;
+ final int bottom = top + height;
Region region = shell.getRegion();
if (region == null) {
return null;
}
- ImageData imageDataSrc = imageOrigin.getImageData();
+ final ImageData imageDataSrc = imageOrigin.getImageData();
ImageData imageDataDst = (ImageData) imageDataSrc.clone();
float convertedScale = convertScale(scale);
- int width = (int) (imageDataSrc.width * convertedScale);
- int height = (int) (imageDataSrc.height * convertedScale);
+ final int width = (int) (imageDataSrc.width * convertedScale);
+ final int height = (int) (imageDataSrc.height * convertedScale);
imageDataDst = imageDataDst.scaledTo(width, height);
return new Image(display, imageDataDst);