+ double dx = -content.getX();
+ double dy = -content.getY();
+ if (width > 0.0 && height > 0.0) {
+ if (ax == SWT.LEFT) {
+ dx = -content.getX();
+ } else if (ax == SWT.RIGHT) {
+ double t = ((width - 2*offset)/scale - content.getWidth());
+ dx = -content.getX() + t;
+ } else {
+ double t = ((width - 2*offset)/scale - content.getWidth()) *0.5;
+ dx = -content.getX() + t;
+ }
+ if (ay == SWT.TOP) {
+ dy = -content.getY();
+ } else if (ay == SWT.BOTTOM) {
+ double t = ((height - 2*offset)/scale - content.getHeight());
+ dy = -content.getY() + t;
+ } else {
+ double t = ((height - 2*offset)/scale - content.getHeight()) * 0.5;
+ dy = -content.getY() + t;
+ }
+ }
+ tr.translate(dx, dy);