public Image getTransformationImage( Device device, int x, int y, float magnificationFactor ) {
GCInterface gc = new SWTGC( device, new Point( x, y ), iconsize );
int gridSize =
PropsUI.getInstance().isShowCanvasGridEnabled() ? PropsUI.getInstance().getCanvasGridSize() : 1;
TransPainter transPainter =
new TransPainter( gc, transMeta, new Point( x, y ), new SwtScrollBar( hori ), new SwtScrollBar( vert ),
candidate, drop_candidate, selectionRegion, areaOwners, mouseOverSteps,
PropsUI.getInstance().getIconSize(), PropsUI.getInstance().getLineWidth(), gridSize,
PropsUI.getInstance().getShadowSize(), PropsUI.getInstance()
.isAntiAliasingEnabled(), PropsUI.getInstance().getNoteFont().getName(), PropsUI.getInstance()
.getNoteFont().getHeight(), trans, PropsUI.getInstance().isIndicateSlowTransStepsEnabled() );
transPainter.setMagnification( magnificationFactor );
transPainter.setStepLogMap( stepLogMap );
transPainter.setStartHopStep( startHopStep );
transPainter.setEndHopLocation( endHopLocation );
transPainter.setNoInputStep( noInputStep );
transPainter.setEndHopStep( endHopStep );
transPainter.setCandidateHopType( candidateHopType );
transPainter.setStartErrorHopStep( startErrorHopStep );
transPainter.setShowTargetStreamsStep( showTargetStreamsStep );
transPainter.buildTransformationImage();
Image img = (Image) gc.getImage();
gc.dispose();
return img;
}